{"version":3,"sources":["node_modules/@angular/common/fesm2022/dom_tokens-rA0ACyx7.mjs","node_modules/@angular/common/fesm2022/location-Dq4mJT-A.mjs","node_modules/@angular/common/fesm2022/common_module-Dx7dWex5.mjs","node_modules/@angular/common/fesm2022/xhr-BfNfxNDv.mjs","node_modules/@angular/common/fesm2022/common.mjs","node_modules/@angular/ssr/fesm2022/validation-DhKAntwS.mjs","node_modules/@angular/platform-browser/fesm2022/dom_renderer-DGKzginR.mjs","node_modules/@angular/platform-browser/fesm2022/browser-0WrrQdE0.mjs","node_modules/@angular/common/fesm2022/module-JS82OH2B.mjs","node_modules/@angular/common/fesm2022/http.mjs","node_modules/@angular/platform-browser/fesm2022/platform-browser.mjs","node_modules/@angular/router/fesm2022/router-Dwfin5Au.mjs","node_modules/@angular/router/fesm2022/router_module-DTJgGWLd.mjs","node_modules/@angular/platform-server/fesm2022/server-hHJ05Ji8.mjs","node_modules/@angular/platform-server/fesm2022/platform-server.mjs","node_modules/@angular/ssr/third_party/beasties/index.js","node_modules/@angular/ssr/fesm2022/ssr.mjs","node_modules/@lucide/angular/fesm2022/lucide-angular.mjs","src/app/core/components/header/header.component.ts","src/app/core/components/header/header.component.html","src/app/core/services/google-analytics.service.ts","src/app/core/data/my-data.ts","src/app/core/load-script.ts","src/environment/environment.prod.ts","src/app/core/services/tarteaucitron.service.ts","src/app/core/components/footer/footer.component.ts","src/app/core/components/footer/footer.component.html","src/app/core/components/floating-helper/floating-helper.component.ts","src/app/core/components/floating-helper/floating-helper.component.html","node_modules/@angular/common/locales/fr.js","src/app/app.component.ts","src/app/app.component.html","node_modules/@angular/cdk/fesm2022/fake-event-detection-DWOdFTFz.mjs","node_modules/@angular/cdk/fesm2022/shadow-dom-B0oHn41l.mjs","node_modules/@angular/cdk/fesm2022/backwards-compatibility-DHR38MsD.mjs","node_modules/@angular/cdk/fesm2022/platform-DmdVEw_C.mjs","node_modules/@angular/cdk/fesm2022/passive-listeners-esHZRgIN.mjs","node_modules/@angular/cdk/fesm2022/element-x4z00URv.mjs","node_modules/@angular/cdk/fesm2022/focus-monitor-e2l_RpN3.mjs","node_modules/@angular/cdk/fesm2022/style-loader-Cu9AvjH9.mjs","node_modules/@angular/cdk/fesm2022/private.mjs","node_modules/@angular/cdk/fesm2022/array-I1yfCXUO.mjs","node_modules/@angular/cdk/fesm2022/breakpoints-observer-CljOfYGy.mjs","node_modules/@angular/cdk/fesm2022/observers.mjs","node_modules/@angular/cdk/fesm2022/a11y-module-BYox5gpI.mjs","node_modules/@angular/cdk/fesm2022/id-generator-Dw_9dSDu.mjs","node_modules/@angular/cdk/fesm2022/typeahead-9ZW4Dtsf.mjs","node_modules/@angular/cdk/fesm2022/keycodes.mjs","node_modules/@angular/cdk/fesm2022/list-key-manager-CyOIXo8P.mjs","node_modules/@angular/cdk/fesm2022/focus-key-manager-C1rAQJ5z.mjs","node_modules/@angular/cdk/fesm2022/a11y.mjs","node_modules/@angular/cdk/fesm2022/directionality-CBXD4hga.mjs","node_modules/@angular/cdk/fesm2022/bidi.mjs","node_modules/@angular/material/fesm2022/common-module-WayjW0Pb.mjs","node_modules/@angular/material/fesm2022/card.mjs","node_modules/@angular/cdk/fesm2022/test-environment-CT0XxPyp.mjs","node_modules/@angular/cdk/fesm2022/css-pixel-value-C_HEqLhI.mjs","node_modules/@angular/cdk/fesm2022/scrolling-BkvA05C8.mjs","node_modules/@angular/cdk/fesm2022/scrolling.mjs","node_modules/@angular/cdk/fesm2022/portal-directives-Bw5woq8I.mjs","node_modules/@angular/cdk/fesm2022/overlay-module-BUj0D19H.mjs","node_modules/@angular/cdk/fesm2022/boolean-property-DaaVhX5A.mjs","node_modules/@angular/material/fesm2022/module-C9K6ZqpI.mjs","node_modules/@angular/material/fesm2022/ripple-BT3tzh6F.mjs","node_modules/@angular/material/fesm2022/structural-styles-BQUT6wsL.mjs","node_modules/@angular/material/fesm2022/divider.mjs","node_modules/@angular/cdk/fesm2022/unique-selection-dispatcher-DtHZDqyJ.mjs","node_modules/@angular/forms/fesm2022/forms.mjs","node_modules/@angular/material/fesm2022/index-SYVYjXwK.mjs","node_modules/@angular/material/fesm2022/pseudo-checkbox-module-CAX2sutq.mjs","node_modules/@angular/material/fesm2022/list.mjs","node_modules/@angular/cdk/fesm2022/text-field.mjs","node_modules/@angular/cdk/fesm2022/observers/private.mjs","node_modules/@angular/material/fesm2022/error-options-Dm2JJUbF.mjs","node_modules/@angular/material/fesm2022/module-BXZhw7pQ.mjs","node_modules/@angular/material/fesm2022/input.mjs","src/app/pages/home/sections/hero/hero.component.ts","src/app/pages/home/sections/hero/hero.component.html","src/app/pages/home/sections/about/about.component.ts","src/app/pages/home/sections/about/about.component.html","src/app/core/data/my-services.ts","src/app/pages/home/sections/services/services.component.ts","src/app/pages/home/sections/services/services.component.html","src/app/core/data/projects-data.ts","src/app/pages/home/sections/portfolio/portfolio.component.ts","src/app/pages/home/sections/portfolio/portfolio.component.html","src/app/core/data/offres-tarifs.ts","src/app/pages/home/sections/tarifs/tarifs.component.ts","src/app/pages/home/sections/tarifs/tarifs.component.html","src/app/pages/home/services/contact.service.ts","node_modules/@angular/material/fesm2022/ripple-loader-Ce3DAhPW.mjs","node_modules/@angular/material/fesm2022/icon-button-D1J0zeqv.mjs","node_modules/@angular/material/fesm2022/button.mjs","node_modules/@angular/cdk/fesm2022/layout.mjs","node_modules/@angular/material/fesm2022/snack-bar.mjs","src/app/core/services/tools.service.ts","src/app/core/components/contact-form/contact-form.component.ts","src/app/core/components/contact-form/contact-form.component.html","src/app/core/components/contact-info/contact-info.component.ts","src/app/core/components/contact-info/contact-info.component.html","src/app/pages/home/sections/contact/contact.component.ts","src/app/pages/home/sections/contact/contact.component.html","node_modules/@angular/cdk/fesm2022/accordion.mjs","node_modules/@angular/material/fesm2022/expansion.mjs","src/app/core/data/faq-questions.ts","src/app/pages/faq-page/services/faq.service.ts","src/app/pages/home/sections/faq-section/faq-section.component.ts","src/app/pages/home/sections/faq-section/faq-section.component.html","src/app/pages/home/home.component.ts","src/app/pages/home/home.component.html","node_modules/@angular/material/fesm2022/tabs.mjs","src/app/pages/faq-page/faq-page.component.ts","src/app/pages/faq-page/faq-page.component.html","src/app/pages/mentions-legales/mentions-legales.component.ts","src/app/pages/mentions-legales/mentions-legales.component.html","src/app/pages/politique-de-confidentialite/politique-de-confidentialite.component.ts","src/app/pages/politique-de-confidentialite/politique-de-confidentialite.component.html","src/app/pages/conditions-generales-prestation/conditions-generales-prestation.component.ts","src/app/pages/conditions-generales-prestation/conditions-generales-prestation.component.html","src/app/pages/landing-pages/components/tarif-card/tarif-card.component.ts","src/app/pages/landing-pages/components/tarif-card/tarif-card.component.html","src/app/core/components/landing-header/landing-header.component.ts","src/app/core/components/landing-header/landing-header.component.html","src/app/pages/landing-pages/google-ads-landing-page/google-ads-landing-page.component.ts","src/app/pages/landing-pages/google-ads-landing-page/google-ads-landing-page.component.html","node_modules/@angular/material/fesm2022/chips.mjs","src/app/core/data/blog-categories.ts","src/app/pages/blog/services/blog.service.ts","src/app/pages/blog/components/blog-article/article-card.component.ts","src/app/pages/blog/components/blog-article/article-card.component.html","src/app/pages/blog/components/featured-article/featured-article.component.ts","src/app/pages/blog/components/featured-article/featured-article.component.html","src/app/pages/blog/components/newsletter/newsletter.component.ts","src/app/pages/blog/components/newsletter/newsletter.component.html","src/app/pages/blog/components/project-cta/project-cta.component.ts","src/app/pages/blog/components/project-cta/project-cta.component.html","src/app/pages/blog/components/featured-article-skeleton/featured-article-skeleton.component.ts","src/app/pages/blog/components/featured-article-skeleton/featured-article-skeleton.component.html","src/app/pages/blog/components/article-card-skeleton/article-card-skeleton.component.ts","src/app/pages/blog/components/article-card-skeleton/article-card-skeleton.component.html","src/app/pages/blog/pages/blog-list/blog.component.ts","src/app/pages/blog/pages/blog-list/blog.component.html","node_modules/marked/lib/marked.esm.js","node_modules/ngx-markdown/fesm2022/ngx-markdown.mjs","src/app/core/services/seo.service.ts","src/app/pages/blog/pages/blog-detail/blog-detail.component.ts","src/app/pages/blog/pages/blog-detail/blog-detail.component.html","src/app/pages/blog/resolvers/article.resolver.ts","src/app/app.routes.ts","node_modules/@angular/platform-browser/fesm2022/animations.mjs","node_modules/@angular/platform-browser/fesm2022/animations/async.mjs","src/app/app.config.ts","src/app/app.config.server.ts","src/main.server.ts"],"sourcesContent":["/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { InjectionToken } from '@angular/core';\n\n/**\n * A DI Token representing the main rendering context.\n * In a browser and SSR this is the DOM Document.\n * When using SSR, that document is created by [Domino](https://github.com/angular/domino).\n *\n * @publicApi\n */\nconst DOCUMENT = /*#__PURE__*/new InjectionToken(ngDevMode ? 'DocumentToken' : '');\nexport { DOCUMENT };\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { InjectionToken, inject, Injectable, Optional, Inject, ɵɵinject as __inject } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { DOCUMENT } from './dom_tokens-rA0ACyx7.mjs';\nlet _DOM = null;\nfunction getDOM() {\n  return _DOM;\n}\nfunction setRootDomAdapter(adapter) {\n  _DOM ??= adapter;\n}\n/**\n * Provides DOM operations in an environment-agnostic way.\n *\n * @security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n */\nclass DomAdapter {}\n\n/**\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n *\n * `PlatformLocation` encapsulates all calls to DOM APIs, which allows the Router to be\n * platform-agnostic.\n * This means that we can have different implementation of `PlatformLocation` for the different\n * platforms that Angular supports. For example, `@angular/platform-browser` provides an\n * implementation specific to the browser environment, while `@angular/platform-server` provides\n * one suitable for use with server-side rendering.\n *\n * The `PlatformLocation` class is used directly by all implementations of {@link LocationStrategy}\n * when they need to interact with the DOM APIs like pushState, popState, etc.\n *\n * {@link LocationStrategy} in turn is used by the {@link Location} service which is used directly\n * by the {@link /api/router/Router Router} in order to navigate between routes. Since all interactions between\n * {@link /api/router/Router Router} /\n * {@link Location} / {@link LocationStrategy} and DOM APIs flow through the `PlatformLocation`\n * class, they are all platform-agnostic.\n *\n * @publicApi\n */\nlet PlatformLocation = /*#__PURE__*/(() => {\n  class PlatformLocation {\n    historyGo(relativePosition) {\n      throw new Error(ngDevMode ? 'Not implemented' : '');\n    }\n    static ɵfac = function PlatformLocation_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || PlatformLocation)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: PlatformLocation,\n      factory: () => (() => inject(BrowserPlatformLocation))(),\n      providedIn: 'platform'\n    });\n  }\n  return PlatformLocation;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n * Indicates when a location is initialized.\n *\n * @publicApi\n */\nconst LOCATION_INITIALIZED = /*#__PURE__*/new InjectionToken(ngDevMode ? 'Location Initialized' : '');\n/**\n * `PlatformLocation` encapsulates all of the direct calls to platform APIs.\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n *\n * @publicApi\n */\nlet BrowserPlatformLocation = /*#__PURE__*/(() => {\n  class BrowserPlatformLocation extends PlatformLocation {\n    _location;\n    _history;\n    _doc = inject(DOCUMENT);\n    constructor() {\n      super();\n      this._location = window.location;\n      this._history = window.history;\n    }\n    getBaseHrefFromDOM() {\n      return getDOM().getBaseHref(this._doc);\n    }\n    onPopState(fn) {\n      const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n      window.addEventListener('popstate', fn, false);\n      return () => window.removeEventListener('popstate', fn);\n    }\n    onHashChange(fn) {\n      const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n      window.addEventListener('hashchange', fn, false);\n      return () => window.removeEventListener('hashchange', fn);\n    }\n    get href() {\n      return this._location.href;\n    }\n    get protocol() {\n      return this._location.protocol;\n    }\n    get hostname() {\n      return this._location.hostname;\n    }\n    get port() {\n      return this._location.port;\n    }\n    get pathname() {\n      return this._location.pathname;\n    }\n    get search() {\n      return this._location.search;\n    }\n    get hash() {\n      return this._location.hash;\n    }\n    set pathname(newPath) {\n      this._location.pathname = newPath;\n    }\n    pushState(state, title, url) {\n      this._history.pushState(state, title, url);\n    }\n    replaceState(state, title, url) {\n      this._history.replaceState(state, title, url);\n    }\n    forward() {\n      this._history.forward();\n    }\n    back() {\n      this._history.back();\n    }\n    historyGo(relativePosition = 0) {\n      this._history.go(relativePosition);\n    }\n    getState() {\n      return this._history.state;\n    }\n    static ɵfac = function BrowserPlatformLocation_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || BrowserPlatformLocation)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: BrowserPlatformLocation,\n      factory: () => (() => new BrowserPlatformLocation())(),\n      providedIn: 'platform'\n    });\n  }\n  return BrowserPlatformLocation;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start  URL string\n * @param end    URL string\n *\n *\n * @returns The joined URL string.\n */\nfunction joinWithSlash(start, end) {\n  // If `start` is an empty string, return `end` as the result.\n  if (!start) return end;\n  // If `end` is an empty string, return `start` as the result.\n  if (!end) return start;\n  // If `start` ends with a slash, remove the leading slash from `end`.\n  if (start.endsWith('/')) {\n    return end.startsWith('/') ? start + end.slice(1) : start + end;\n  }\n  // If `start` doesn't end with a slash, add one if `end` doesn't start with a slash.\n  return end.startsWith('/') ? start + end : `${start}/${end}`;\n}\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nfunction stripTrailingSlash(url) {\n  // Find the index of the first occurrence of `#`, `?`, or the end of the string.\n  // This marks the start of the query string, fragment, or the end of the URL path.\n  const pathEndIdx = url.search(/#|\\?|$/);\n  // Check if the character before `pathEndIdx` is a trailing slash.\n  // If it is, remove the trailing slash and return the modified URL.\n  // Otherwise, return the URL as is.\n  return url[pathEndIdx - 1] === '/' ? url.slice(0, pathEndIdx - 1) + url.slice(pathEndIdx) : url;\n}\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param  params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nfunction normalizeQueryParams(params) {\n  return params && params[0] !== '?' ? `?${params}` : params;\n}\n\n/**\n * Enables the `Location` service to read route state from the browser's URL.\n * Angular provides two strategies:\n * `HashLocationStrategy` and `PathLocationStrategy`.\n *\n * Applications should use the `Router` or `Location` services to\n * interact with application route state.\n *\n * For instance, `HashLocationStrategy` produces URLs like\n * <code class=\"no-auto-link\">http://example.com/#/foo</code>,\n * and `PathLocationStrategy` produces\n * <code class=\"no-auto-link\">http://example.com/foo</code> as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @publicApi\n */\nlet LocationStrategy = /*#__PURE__*/(() => {\n  class LocationStrategy {\n    historyGo(relativePosition) {\n      throw new Error(ngDevMode ? 'Not implemented' : '');\n    }\n    static ɵfac = function LocationStrategy_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || LocationStrategy)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: LocationStrategy,\n      factory: () => (() => inject(PathLocationStrategy))(),\n      providedIn: 'root'\n    });\n  }\n  return LocationStrategy;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * A predefined DI token for the base href\n * to be used with the `PathLocationStrategy`.\n * The base href is the URL prefix that should be preserved when generating\n * and recognizing URLs.\n *\n * @usageNotes\n *\n * The following example shows how to use this token to configure the root app injector\n * with a base href value, so that the DI framework can supply the dependency anywhere in the app.\n *\n * ```ts\n * import {NgModule} from '@angular/core';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @NgModule({\n *   providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * @publicApi\n */\nconst APP_BASE_HREF = /*#__PURE__*/new InjectionToken(ngDevMode ? 'appBaseHref' : '');\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you may provide a {@link APP_BASE_HREF}\n * or add a `<base href>` element to the document to override the default.\n *\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app/'` and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`. To ensure all relative URIs resolve correctly,\n * the `<base href>` and/or `APP_BASE_HREF` should end with a `/`.\n *\n * Similarly, if you add `<base href='/my/app/'/>` to the document and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * Note that when using `PathLocationStrategy`, neither the query nor\n * the fragment in the `<base href>` will be preserved, as outlined\n * by the [RFC](https://tools.ietf.org/html/rfc3986#section-5.2.2).\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nlet PathLocationStrategy = /*#__PURE__*/(() => {\n  class PathLocationStrategy extends LocationStrategy {\n    _platformLocation;\n    _baseHref;\n    _removeListenerFns = [];\n    constructor(_platformLocation, href) {\n      super();\n      this._platformLocation = _platformLocation;\n      this._baseHref = href ?? this._platformLocation.getBaseHrefFromDOM() ?? inject(DOCUMENT).location?.origin ?? '';\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      while (this._removeListenerFns.length) {\n        this._removeListenerFns.pop()();\n      }\n    }\n    onPopState(fn) {\n      this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n    }\n    getBaseHref() {\n      return this._baseHref;\n    }\n    prepareExternalUrl(internal) {\n      return joinWithSlash(this._baseHref, internal);\n    }\n    path(includeHash = false) {\n      const pathname = this._platformLocation.pathname + normalizeQueryParams(this._platformLocation.search);\n      const hash = this._platformLocation.hash;\n      return hash && includeHash ? `${pathname}${hash}` : pathname;\n    }\n    pushState(state, title, url, queryParams) {\n      const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n      this._platformLocation.pushState(state, title, externalUrl);\n    }\n    replaceState(state, title, url, queryParams) {\n      const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n      this._platformLocation.replaceState(state, title, externalUrl);\n    }\n    forward() {\n      this._platformLocation.forward();\n    }\n    back() {\n      this._platformLocation.back();\n    }\n    getState() {\n      return this._platformLocation.getState();\n    }\n    historyGo(relativePosition = 0) {\n      this._platformLocation.historyGo?.(relativePosition);\n    }\n    static ɵfac = function PathLocationStrategy_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || PathLocationStrategy)(i0.ɵɵinject(PlatformLocation), i0.ɵɵinject(APP_BASE_HREF, 8));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: PathLocationStrategy,\n      factory: PathLocationStrategy.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return PathLocationStrategy;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @description\n *\n * A service that applications can use to interact with a browser's URL.\n *\n * Depending on the `LocationStrategy` used, `Location` persists\n * to the URL's path or the URL's hash segment.\n *\n * @usageNotes\n *\n * It's better to use the `Router.navigate()` service to trigger route changes. Use\n * `Location` only if you need to interact with or create normalized URLs outside of\n * routing.\n *\n * `Location` is responsible for normalizing the URL against the application's base href.\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\n * trailing slash:\n * - `/my/app/user/123` is normalized\n * - `my/app/user/123` **is not** normalized\n * - `/my/app/user/123/` **is not** normalized\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nlet Location = /*#__PURE__*/(() => {\n  class Location {\n    /** @internal */\n    _subject = new Subject();\n    /** @internal */\n    _basePath;\n    /** @internal */\n    _locationStrategy;\n    /** @internal */\n    _urlChangeListeners = [];\n    /** @internal */\n    _urlChangeSubscription = null;\n    constructor(locationStrategy) {\n      this._locationStrategy = locationStrategy;\n      const baseHref = this._locationStrategy.getBaseHref();\n      // Note: This class's interaction with base HREF does not fully follow the rules\n      // outlined in the spec https://www.freesoft.org/CIE/RFC/1808/18.htm.\n      // Instead of trying to fix individual bugs with more and more code, we should\n      // investigate using the URL constructor and providing the base as a second\n      // argument.\n      // https://developer.mozilla.org/en-US/docs/Web/API/URL/URL#parameters\n      this._basePath = _stripOrigin(stripTrailingSlash(_stripIndexHtml(baseHref)));\n      this._locationStrategy.onPopState(ev => {\n        this._subject.next({\n          'url': this.path(true),\n          'pop': true,\n          'state': ev.state,\n          'type': ev.type\n        });\n      });\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      this._urlChangeSubscription?.unsubscribe();\n      this._urlChangeListeners = [];\n    }\n    /**\n     * Normalizes the URL path for this location.\n     *\n     * @param includeHash True to include an anchor fragment in the path.\n     *\n     * @returns The normalized URL path.\n     */\n    // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n    // removed.\n    path(includeHash = false) {\n      return this.normalize(this._locationStrategy.path(includeHash));\n    }\n    /**\n     * Reports the current state of the location history.\n     * @returns The current value of the `history.state` object.\n     */\n    getState() {\n      return this._locationStrategy.getState();\n    }\n    /**\n     * Normalizes the given path and compares to the current normalized path.\n     *\n     * @param path The given URL path.\n     * @param query Query parameters.\n     *\n     * @returns True if the given URL path is equal to the current normalized path, false\n     * otherwise.\n     */\n    isCurrentPathEqualTo(path, query = '') {\n      return this.path() == this.normalize(path + normalizeQueryParams(query));\n    }\n    /**\n     * Normalizes a URL path by stripping any trailing slashes.\n     *\n     * @param url String representing a URL.\n     *\n     * @returns The normalized URL string.\n     */\n    normalize(url) {\n      return Location.stripTrailingSlash(_stripBasePath(this._basePath, _stripIndexHtml(url)));\n    }\n    /**\n     * Normalizes an external URL path.\n     * If the given URL doesn't begin with a leading slash (`'/'`), adds one\n     * before normalizing. Adds a hash if `HashLocationStrategy` is\n     * in use, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n     *\n     * @param url String representing a URL.\n     *\n     * @returns  A normalized platform-specific URL.\n     */\n    prepareExternalUrl(url) {\n      if (url && url[0] !== '/') {\n        url = '/' + url;\n      }\n      return this._locationStrategy.prepareExternalUrl(url);\n    }\n    // TODO: rename this method to pushState\n    /**\n     * Changes the browser's URL to a normalized version of a given URL, and pushes a\n     * new item onto the platform's history.\n     *\n     * @param path  URL path to normalize.\n     * @param query Query parameters.\n     * @param state Location history state.\n     *\n     */\n    go(path, query = '', state = null) {\n      this._locationStrategy.pushState(state, '', path, query);\n      this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n    }\n    /**\n     * Changes the browser's URL to a normalized version of the given URL, and replaces\n     * the top item on the platform's history stack.\n     *\n     * @param path  URL path to normalize.\n     * @param query Query parameters.\n     * @param state Location history state.\n     */\n    replaceState(path, query = '', state = null) {\n      this._locationStrategy.replaceState(state, '', path, query);\n      this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n    }\n    /**\n     * Navigates forward in the platform's history.\n     */\n    forward() {\n      this._locationStrategy.forward();\n    }\n    /**\n     * Navigates back in the platform's history.\n     */\n    back() {\n      this._locationStrategy.back();\n    }\n    /**\n     * Navigate to a specific page from session history, identified by its relative position to the\n     * current page.\n     *\n     * @param relativePosition  Position of the target page in the history relative to the current\n     *     page.\n     * A negative value moves backwards, a positive value moves forwards, e.g. `location.historyGo(2)`\n     * moves forward two pages and `location.historyGo(-2)` moves back two pages. When we try to go\n     * beyond what's stored in the history session, we stay in the current page. Same behaviour occurs\n     * when `relativePosition` equals 0.\n     * @see https://developer.mozilla.org/en-US/docs/Web/API/History_API#Moving_to_a_specific_point_in_history\n     */\n    historyGo(relativePosition = 0) {\n      this._locationStrategy.historyGo?.(relativePosition);\n    }\n    /**\n     * Registers a URL change listener. Use to catch updates performed by the Angular\n     * framework that are not detectible through \"popstate\" or \"hashchange\" events.\n     *\n     * @param fn The change handler function, which take a URL and a location history state.\n     * @returns A function that, when executed, unregisters a URL change listener.\n     */\n    onUrlChange(fn) {\n      this._urlChangeListeners.push(fn);\n      this._urlChangeSubscription ??= this.subscribe(v => {\n        this._notifyUrlChangeListeners(v.url, v.state);\n      });\n      return () => {\n        const fnIndex = this._urlChangeListeners.indexOf(fn);\n        this._urlChangeListeners.splice(fnIndex, 1);\n        if (this._urlChangeListeners.length === 0) {\n          this._urlChangeSubscription?.unsubscribe();\n          this._urlChangeSubscription = null;\n        }\n      };\n    }\n    /** @internal */\n    _notifyUrlChangeListeners(url = '', state) {\n      this._urlChangeListeners.forEach(fn => fn(url, state));\n    }\n    /**\n     * Subscribes to the platform's `popState` events.\n     *\n     * Note: `Location.go()` does not trigger the `popState` event in the browser. Use\n     * `Location.onUrlChange()` to subscribe to URL changes instead.\n     *\n     * @param value Event that is triggered when the state history changes.\n     * @param exception The exception to throw.\n     *\n     * @see [onpopstate](https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate)\n     *\n     * @returns Subscribed events.\n     */\n    subscribe(onNext, onThrow, onReturn) {\n      return this._subject.subscribe({\n        next: onNext,\n        error: onThrow ?? undefined,\n        complete: onReturn ?? undefined\n      });\n    }\n    /**\n     * Normalizes URL parameters by prepending with `?` if needed.\n     *\n     * @param  params String of URL parameters.\n     *\n     * @returns The normalized URL parameters string.\n     */\n    static normalizeQueryParams = normalizeQueryParams;\n    /**\n     * Joins two parts of a URL with a slash if needed.\n     *\n     * @param start  URL string\n     * @param end    URL string\n     *\n     *\n     * @returns The joined URL string.\n     */\n    static joinWithSlash = joinWithSlash;\n    /**\n     * Removes a trailing slash from a URL string if needed.\n     * Looks for the first occurrence of either `#`, `?`, or the end of the\n     * line as `/` characters and removes the trailing slash if one exists.\n     *\n     * @param url URL string.\n     *\n     * @returns The URL string, modified if needed.\n     */\n    static stripTrailingSlash = stripTrailingSlash;\n    static ɵfac = function Location_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || Location)(i0.ɵɵinject(LocationStrategy));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: Location,\n      factory: () => createLocation(),\n      providedIn: 'root'\n    });\n  }\n  return Location;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction createLocation() {\n  return new Location(__inject(LocationStrategy));\n}\nfunction _stripBasePath(basePath, url) {\n  if (!basePath || !url.startsWith(basePath)) {\n    return url;\n  }\n  const strippedUrl = url.substring(basePath.length);\n  if (strippedUrl === '' || ['/', ';', '?', '#'].includes(strippedUrl[0])) {\n    return strippedUrl;\n  }\n  return url;\n}\nfunction _stripIndexHtml(url) {\n  return url.replace(/\\/index.html$/, '');\n}\nfunction _stripOrigin(baseHref) {\n  // DO NOT REFACTOR! Previously, this check looked like this:\n  // `/^(https?:)?\\/\\//.test(baseHref)`, but that resulted in\n  // syntactically incorrect code after Closure Compiler minification.\n  // This was likely caused by a bug in Closure Compiler, but\n  // for now, the check is rewritten to use `new RegExp` instead.\n  const isAbsoluteUrl = new RegExp('^(https?:)?//').test(baseHref);\n  if (isAbsoluteUrl) {\n    const [, pathname] = baseHref.split(/\\/\\/[^\\/]+/);\n    return pathname;\n  }\n  return baseHref;\n}\nexport { APP_BASE_HREF, BrowserPlatformLocation, DomAdapter, LOCATION_INITIALIZED, Location, LocationStrategy, PathLocationStrategy, PlatformLocation, getDOM, joinWithSlash, normalizeQueryParams, setRootDomAdapter };\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { Optional, Inject, Injectable, ɵgetLocalePluralCase as _getLocalePluralCase, ɵfindLocaleData as _findLocaleData, ɵLocaleDataIndex as _LocaleDataIndex, ɵgetLocaleCurrencyCode as _getLocaleCurrencyCode, LOCALE_ID, ɵstringify as _stringify, Input, Directive, createNgModule, NgModuleRef, ɵRuntimeError as _RuntimeError, Host, Attribute, RendererStyleFlags2, ɵisPromise as _isPromise, ɵisSubscribable as _isSubscribable, untracked, Pipe, InjectionToken, DEFAULT_CURRENCY_CODE, NgModule } from '@angular/core';\nimport { LocationStrategy, joinWithSlash, normalizeQueryParams, PlatformLocation, APP_BASE_HREF } from './location-Dq4mJT-A.mjs';\n\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [hash fragment](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax)\n * of the browser's URL.\n *\n * For instance, if you call `location.go('/foo')`, the browser's URL will become\n * `example.com#/foo`.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/hash_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nlet HashLocationStrategy = /*#__PURE__*/(() => {\n  class HashLocationStrategy extends LocationStrategy {\n    _platformLocation;\n    _baseHref = '';\n    _removeListenerFns = [];\n    constructor(_platformLocation, _baseHref) {\n      super();\n      this._platformLocation = _platformLocation;\n      if (_baseHref != null) {\n        this._baseHref = _baseHref;\n      }\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      while (this._removeListenerFns.length) {\n        this._removeListenerFns.pop()();\n      }\n    }\n    onPopState(fn) {\n      this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n    }\n    getBaseHref() {\n      return this._baseHref;\n    }\n    path(includeHash = false) {\n      // the hash value is always prefixed with a `#`\n      // and if it is empty then it will stay empty\n      const path = this._platformLocation.hash ?? '#';\n      return path.length > 0 ? path.substring(1) : path;\n    }\n    prepareExternalUrl(internal) {\n      const url = joinWithSlash(this._baseHref, internal);\n      return url.length > 0 ? '#' + url : url;\n    }\n    pushState(state, title, path, queryParams) {\n      const url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams)) || this._platformLocation.pathname;\n      this._platformLocation.pushState(state, title, url);\n    }\n    replaceState(state, title, path, queryParams) {\n      const url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams)) || this._platformLocation.pathname;\n      this._platformLocation.replaceState(state, title, url);\n    }\n    forward() {\n      this._platformLocation.forward();\n    }\n    back() {\n      this._platformLocation.back();\n    }\n    getState() {\n      return this._platformLocation.getState();\n    }\n    historyGo(relativePosition = 0) {\n      this._platformLocation.historyGo?.(relativePosition);\n    }\n    static ɵfac = function HashLocationStrategy_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || HashLocationStrategy)(i0.ɵɵinject(PlatformLocation), i0.ɵɵinject(APP_BASE_HREF, 8));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: HashLocationStrategy,\n      factory: HashLocationStrategy.ɵfac\n    });\n  }\n  return HashLocationStrategy;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** @internal */\nconst CURRENCIES_EN = {\n  \"ADP\": [undefined, undefined, 0],\n  \"AFN\": [undefined, \"؋\", 0],\n  \"ALL\": [undefined, undefined, 0],\n  \"AMD\": [undefined, \"֏\", 2],\n  \"AOA\": [undefined, \"Kz\"],\n  \"ARS\": [undefined, \"$\"],\n  \"AUD\": [\"A$\", \"$\"],\n  \"AZN\": [undefined, \"₼\"],\n  \"BAM\": [undefined, \"KM\"],\n  \"BBD\": [undefined, \"$\"],\n  \"BDT\": [undefined, \"৳\"],\n  \"BHD\": [undefined, undefined, 3],\n  \"BIF\": [undefined, undefined, 0],\n  \"BMD\": [undefined, \"$\"],\n  \"BND\": [undefined, \"$\"],\n  \"BOB\": [undefined, \"Bs\"],\n  \"BRL\": [\"R$\"],\n  \"BSD\": [undefined, \"$\"],\n  \"BWP\": [undefined, \"P\"],\n  \"BYN\": [undefined, undefined, 2],\n  \"BYR\": [undefined, undefined, 0],\n  \"BZD\": [undefined, \"$\"],\n  \"CAD\": [\"CA$\", \"$\", 2],\n  \"CHF\": [undefined, undefined, 2],\n  \"CLF\": [undefined, undefined, 4],\n  \"CLP\": [undefined, \"$\", 0],\n  \"CNY\": [\"CN¥\", \"¥\"],\n  \"COP\": [undefined, \"$\", 2],\n  \"CRC\": [undefined, \"₡\", 2],\n  \"CUC\": [undefined, \"$\"],\n  \"CUP\": [undefined, \"$\"],\n  \"CZK\": [undefined, \"Kč\", 2],\n  \"DJF\": [undefined, undefined, 0],\n  \"DKK\": [undefined, \"kr\", 2],\n  \"DOP\": [undefined, \"$\"],\n  \"EGP\": [undefined, \"E£\"],\n  \"ESP\": [undefined, \"₧\", 0],\n  \"EUR\": [\"€\"],\n  \"FJD\": [undefined, \"$\"],\n  \"FKP\": [undefined, \"£\"],\n  \"GBP\": [\"£\"],\n  \"GEL\": [undefined, \"₾\"],\n  \"GHS\": [undefined, \"GH₵\"],\n  \"GIP\": [undefined, \"£\"],\n  \"GNF\": [undefined, \"FG\", 0],\n  \"GTQ\": [undefined, \"Q\"],\n  \"GYD\": [undefined, \"$\", 2],\n  \"HKD\": [\"HK$\", \"$\"],\n  \"HNL\": [undefined, \"L\"],\n  \"HRK\": [undefined, \"kn\"],\n  \"HUF\": [undefined, \"Ft\", 2],\n  \"IDR\": [undefined, \"Rp\", 2],\n  \"ILS\": [\"₪\"],\n  \"INR\": [\"₹\"],\n  \"IQD\": [undefined, undefined, 0],\n  \"IRR\": [undefined, undefined, 0],\n  \"ISK\": [undefined, \"kr\", 0],\n  \"ITL\": [undefined, undefined, 0],\n  \"JMD\": [undefined, \"$\"],\n  \"JOD\": [undefined, undefined, 3],\n  \"JPY\": [\"¥\", undefined, 0],\n  \"KHR\": [undefined, \"៛\"],\n  \"KMF\": [undefined, \"CF\", 0],\n  \"KPW\": [undefined, \"₩\", 0],\n  \"KRW\": [\"₩\", undefined, 0],\n  \"KWD\": [undefined, undefined, 3],\n  \"KYD\": [undefined, \"$\"],\n  \"KZT\": [undefined, \"₸\"],\n  \"LAK\": [undefined, \"₭\", 0],\n  \"LBP\": [undefined, \"L£\", 0],\n  \"LKR\": [undefined, \"Rs\"],\n  \"LRD\": [undefined, \"$\"],\n  \"LTL\": [undefined, \"Lt\"],\n  \"LUF\": [undefined, undefined, 0],\n  \"LVL\": [undefined, \"Ls\"],\n  \"LYD\": [undefined, undefined, 3],\n  \"MGA\": [undefined, \"Ar\", 0],\n  \"MGF\": [undefined, undefined, 0],\n  \"MMK\": [undefined, \"K\", 0],\n  \"MNT\": [undefined, \"₮\", 2],\n  \"MRO\": [undefined, undefined, 0],\n  \"MUR\": [undefined, \"Rs\", 2],\n  \"MXN\": [\"MX$\", \"$\"],\n  \"MYR\": [undefined, \"RM\"],\n  \"NAD\": [undefined, \"$\"],\n  \"NGN\": [undefined, \"₦\"],\n  \"NIO\": [undefined, \"C$\"],\n  \"NOK\": [undefined, \"kr\", 2],\n  \"NPR\": [undefined, \"Rs\"],\n  \"NZD\": [\"NZ$\", \"$\"],\n  \"OMR\": [undefined, undefined, 3],\n  \"PHP\": [\"₱\"],\n  \"PKR\": [undefined, \"Rs\", 2],\n  \"PLN\": [undefined, \"zł\"],\n  \"PYG\": [undefined, \"₲\", 0],\n  \"RON\": [undefined, \"lei\"],\n  \"RSD\": [undefined, undefined, 0],\n  \"RUB\": [undefined, \"₽\"],\n  \"RWF\": [undefined, \"RF\", 0],\n  \"SBD\": [undefined, \"$\"],\n  \"SEK\": [undefined, \"kr\", 2],\n  \"SGD\": [undefined, \"$\"],\n  \"SHP\": [undefined, \"£\"],\n  \"SLE\": [undefined, undefined, 2],\n  \"SLL\": [undefined, undefined, 0],\n  \"SOS\": [undefined, undefined, 0],\n  \"SRD\": [undefined, \"$\"],\n  \"SSP\": [undefined, \"£\"],\n  \"STD\": [undefined, undefined, 0],\n  \"STN\": [undefined, \"Db\"],\n  \"SYP\": [undefined, \"£\", 0],\n  \"THB\": [undefined, \"฿\"],\n  \"TMM\": [undefined, undefined, 0],\n  \"TND\": [undefined, undefined, 3],\n  \"TOP\": [undefined, \"T$\"],\n  \"TRL\": [undefined, undefined, 0],\n  \"TRY\": [undefined, \"₺\"],\n  \"TTD\": [undefined, \"$\"],\n  \"TWD\": [\"NT$\", \"$\", 2],\n  \"TZS\": [undefined, undefined, 2],\n  \"UAH\": [undefined, \"₴\"],\n  \"UGX\": [undefined, undefined, 0],\n  \"USD\": [\"$\"],\n  \"UYI\": [undefined, undefined, 0],\n  \"UYU\": [undefined, \"$\"],\n  \"UYW\": [undefined, undefined, 4],\n  \"UZS\": [undefined, undefined, 2],\n  \"VEF\": [undefined, \"Bs\", 2],\n  \"VND\": [\"₫\", undefined, 0],\n  \"VUV\": [undefined, undefined, 0],\n  \"XAF\": [\"FCFA\", undefined, 0],\n  \"XCD\": [\"EC$\", \"$\"],\n  \"XOF\": [\"F CFA\", undefined, 0],\n  \"XPF\": [\"CFPF\", undefined, 0],\n  \"XXX\": [\"¤\"],\n  \"YER\": [undefined, undefined, 0],\n  \"ZAR\": [undefined, \"R\"],\n  \"ZMK\": [undefined, undefined, 0],\n  \"ZMW\": [undefined, \"ZK\"],\n  \"ZWD\": [undefined, undefined, 0]\n};\n\n/**\n * Format styles that can be used to represent numbers.\n * @see {@link getLocaleNumberFormat}\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated `getLocaleNumberFormat` is deprecated\n */\nvar NumberFormatStyle = /*#__PURE__*/function (NumberFormatStyle) {\n  NumberFormatStyle[NumberFormatStyle[\"Decimal\"] = 0] = \"Decimal\";\n  NumberFormatStyle[NumberFormatStyle[\"Percent\"] = 1] = \"Percent\";\n  NumberFormatStyle[NumberFormatStyle[\"Currency\"] = 2] = \"Currency\";\n  NumberFormatStyle[NumberFormatStyle[\"Scientific\"] = 3] = \"Scientific\";\n  return NumberFormatStyle;\n}(NumberFormatStyle || {});\n/**\n * Plurality cases used for translating plurals to different languages.\n *\n * @see {@link NgPlural}\n * @see {@link NgPluralCase}\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated `getLocalePluralCase` is deprecated\n */\nvar Plural = /*#__PURE__*/function (Plural) {\n  Plural[Plural[\"Zero\"] = 0] = \"Zero\";\n  Plural[Plural[\"One\"] = 1] = \"One\";\n  Plural[Plural[\"Two\"] = 2] = \"Two\";\n  Plural[Plural[\"Few\"] = 3] = \"Few\";\n  Plural[Plural[\"Many\"] = 4] = \"Many\";\n  Plural[Plural[\"Other\"] = 5] = \"Other\";\n  return Plural;\n}(Plural || {});\n/**\n * Context-dependant translation forms for strings.\n * Typically the standalone version is for the nominative form of the word,\n * and the format version is used for the genitive case.\n * @see [CLDR website](http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles)\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated locale data getters are deprecated\n */\nvar FormStyle = /*#__PURE__*/function (FormStyle) {\n  FormStyle[FormStyle[\"Format\"] = 0] = \"Format\";\n  FormStyle[FormStyle[\"Standalone\"] = 1] = \"Standalone\";\n  return FormStyle;\n}(FormStyle || {});\n/**\n * String widths available for translations.\n * The specific character widths are locale-specific.\n * Examples are given for the word \"Sunday\" in English.\n *\n * @publicApi\n *\n * @deprecated locale data getters are deprecated\n */\nvar TranslationWidth = /*#__PURE__*/function (TranslationWidth) {\n  /** 1 character for `en-US`. For example: 'S' */\n  TranslationWidth[TranslationWidth[\"Narrow\"] = 0] = \"Narrow\";\n  /** 3 characters for `en-US`. For example: 'Sun' */\n  TranslationWidth[TranslationWidth[\"Abbreviated\"] = 1] = \"Abbreviated\";\n  /** Full length for `en-US`. For example: \"Sunday\" */\n  TranslationWidth[TranslationWidth[\"Wide\"] = 2] = \"Wide\";\n  /** 2 characters for `en-US`, For example: \"Su\" */\n  TranslationWidth[TranslationWidth[\"Short\"] = 3] = \"Short\";\n  return TranslationWidth;\n}(TranslationWidth || {});\n/**\n * String widths available for date-time formats.\n * The specific character widths are locale-specific.\n * Examples are given for `en-US`.\n *\n * @see {@link getLocaleDateFormat}\n * @see {@link getLocaleTimeFormat}\n * @see {@link getLocaleDateTimeFormat}\n * @see [Internationalization (i18n) Guide](guide/i18n)\n * @publicApi\n *\n * @deprecated Date locale data getters are deprecated\n */\nvar FormatWidth = /*#__PURE__*/function (FormatWidth) {\n  /**\n   * For `en-US`, `'M/d/yy, h:mm a'`\n   * (Example: `6/15/15, 9:03 AM`)\n   */\n  FormatWidth[FormatWidth[\"Short\"] = 0] = \"Short\";\n  /**\n   * For `en-US`, `'MMM d, y, h:mm:ss a'`\n   * (Example: `Jun 15, 2015, 9:03:01 AM`)\n   */\n  FormatWidth[FormatWidth[\"Medium\"] = 1] = \"Medium\";\n  /**\n   * For `en-US`, `'MMMM d, y, h:mm:ss a z'`\n   * (Example: `June 15, 2015 at 9:03:01 AM GMT+1`)\n   */\n  FormatWidth[FormatWidth[\"Long\"] = 2] = \"Long\";\n  /**\n   * For `en-US`, `'EEEE, MMMM d, y, h:mm:ss a zzzz'`\n   * (Example: `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00`)\n   */\n  FormatWidth[FormatWidth[\"Full\"] = 3] = \"Full\";\n  return FormatWidth;\n}(FormatWidth || {});\n// This needs to be an object literal, rather than an enum, because TypeScript 5.4+\n// doesn't allow numeric keys and we have `Infinity` and `NaN`.\n/**\n * Symbols that can be used to replace placeholders in number patterns.\n * Examples are based on `en-US` values.\n *\n * @see {@link getLocaleNumberSymbol}\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated `getLocaleNumberSymbol` is deprecated\n *\n * @object-literal-as-enum\n */\nconst NumberSymbol = {\n  /**\n   * Decimal separator.\n   * For `en-US`, the dot character.\n   * Example: 2,345`.`67\n   */\n  Decimal: 0,\n  /**\n   * Grouping separator, typically for thousands.\n   * For `en-US`, the comma character.\n   * Example: 2`,`345.67\n   */\n  Group: 1,\n  /**\n   * List-item separator.\n   * Example: \"one, two, and three\"\n   */\n  List: 2,\n  /**\n   * Sign for percentage (out of 100).\n   * Example: 23.4%\n   */\n  PercentSign: 3,\n  /**\n   * Sign for positive numbers.\n   * Example: +23\n   */\n  PlusSign: 4,\n  /**\n   * Sign for negative numbers.\n   * Example: -23\n   */\n  MinusSign: 5,\n  /**\n   * Computer notation for exponential value (n times a power of 10).\n   * Example: 1.2E3\n   */\n  Exponential: 6,\n  /**\n   * Human-readable format of exponential.\n   * Example: 1.2x103\n   */\n  SuperscriptingExponent: 7,\n  /**\n   * Sign for permille (out of 1000).\n   * Example: 23.4‰\n   */\n  PerMille: 8,\n  /**\n   * Infinity, can be used with plus and minus.\n   * Example: ∞, +∞, -∞\n   */\n  Infinity: 9,\n  /**\n   * Not a number.\n   * Example: NaN\n   */\n  NaN: 10,\n  /**\n   * Symbol used between time units.\n   * Example: 10:52\n   */\n  TimeSeparator: 11,\n  /**\n   * Decimal separator for currency values (fallback to `Decimal`).\n   * Example: $2,345.67\n   */\n  CurrencyDecimal: 12,\n  /**\n   * Group separator for currency values (fallback to `Group`).\n   * Example: $2,345.67\n   */\n  CurrencyGroup: 13\n};\n/**\n * The value for each day of the week, based on the `en-US` locale\n *\n * @publicApi\n *\n * @deprecated Week locale getters are deprecated\n */\nvar WeekDay = /*#__PURE__*/function (WeekDay) {\n  WeekDay[WeekDay[\"Sunday\"] = 0] = \"Sunday\";\n  WeekDay[WeekDay[\"Monday\"] = 1] = \"Monday\";\n  WeekDay[WeekDay[\"Tuesday\"] = 2] = \"Tuesday\";\n  WeekDay[WeekDay[\"Wednesday\"] = 3] = \"Wednesday\";\n  WeekDay[WeekDay[\"Thursday\"] = 4] = \"Thursday\";\n  WeekDay[WeekDay[\"Friday\"] = 5] = \"Friday\";\n  WeekDay[WeekDay[\"Saturday\"] = 6] = \"Saturday\";\n  return WeekDay;\n}(WeekDay || {});\n/**\n * Retrieves the locale ID from the currently loaded locale.\n * The loaded locale could be, for example, a global one rather than a regional one.\n * @param locale A locale code, such as `fr-FR`.\n * @returns The locale code. For example, `fr`.\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * This function serves no purpose when relying on the `Intl` API.\n */\nfunction getLocaleId(locale) {\n  return _findLocaleData(locale)[_LocaleDataIndex.LocaleId];\n}\n/**\n * Retrieves day period strings for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized period strings. For example, `[AM, PM]` for `en-US`.\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * Use `Intl.DateTimeFormat` for date formating instead.\n */\nfunction getLocaleDayPeriods(locale, formStyle, width) {\n  const data = _findLocaleData(locale);\n  const amPmData = [data[_LocaleDataIndex.DayPeriodsFormat], data[_LocaleDataIndex.DayPeriodsStandalone]];\n  const amPm = getLastDefinedValue(amPmData, formStyle);\n  return getLastDefinedValue(amPm, width);\n}\n/**\n * Retrieves days of the week for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example,`[Sunday, Monday, ... Saturday]` for `en-US`.\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * Use `Intl.DateTimeFormat` for date formating instead.\n */\nfunction getLocaleDayNames(locale, formStyle, width) {\n  const data = _findLocaleData(locale);\n  const daysData = [data[_LocaleDataIndex.DaysFormat], data[_LocaleDataIndex.DaysStandalone]];\n  const days = getLastDefinedValue(daysData, formStyle);\n  return getLastDefinedValue(days, width);\n}\n/**\n * Retrieves months of the year for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example,  `[January, February, ...]` for `en-US`.\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * Use `Intl.DateTimeFormat` for date formating instead.\n */\nfunction getLocaleMonthNames(locale, formStyle, width) {\n  const data = _findLocaleData(locale);\n  const monthsData = [data[_LocaleDataIndex.MonthsFormat], data[_LocaleDataIndex.MonthsStandalone]];\n  const months = getLastDefinedValue(monthsData, formStyle);\n  return getLastDefinedValue(months, width);\n}\n/**\n * Retrieves Gregorian-calendar eras for the given locale.\n * @param locale A locale code for the locale format rules to use.\n * @param width The required character width.\n\n * @returns An array of localized era strings.\n * For example, `[AD, BC]` for `en-US`.\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * Use `Intl.DateTimeFormat` for date formating instead.\n */\nfunction getLocaleEraNames(locale, width) {\n  const data = _findLocaleData(locale);\n  const erasData = data[_LocaleDataIndex.Eras];\n  return getLastDefinedValue(erasData, width);\n}\n/**\n * Retrieves the first day of the week for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns A day index number, using the 0-based week-day index for `en-US`\n * (Sunday = 0, Monday = 1, ...).\n * For example, for `fr-FR`, returns 1 to indicate that the first day is Monday.\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * Intl's [`getWeekInfo`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/getWeekInfo) has partial support (Chromium M99 & Safari 17).\n * You may want to rely on the following alternatives:\n * - Libraries like [`Luxon`](https://moment.github.io/luxon/#/) rely on `Intl` but fallback on the ISO 8601 definition (monday) if `getWeekInfo` is not supported.\n * - Other librairies like [`date-fns`](https://date-fns.org/), [`day.js`](https://day.js.org/en/) or [`weekstart`](https://www.npmjs.com/package/weekstart) library provide their own locale based data for the first day of the week.\n */\nfunction getLocaleFirstDayOfWeek(locale) {\n  const data = _findLocaleData(locale);\n  return data[_LocaleDataIndex.FirstDayOfWeek];\n}\n/**\n * Range of week days that are considered the week-end for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The range of day values, `[startDay, endDay]`.\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * Intl's [`getWeekInfo`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/getWeekInfo) has partial support (Chromium M99 & Safari 17).\n * Libraries like [`Luxon`](https://moment.github.io/luxon/#/) rely on `Intl` but fallback on the ISO 8601 definition (Saturday+Sunday) if `getWeekInfo` is not supported .\n */\nfunction getLocaleWeekEndRange(locale) {\n  const data = _findLocaleData(locale);\n  return data[_LocaleDataIndex.WeekendRange];\n}\n/**\n * Retrieves a localized date-value formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see {@link FormatWidth}\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * Use `Intl.DateTimeFormat` for date formating instead.\n */\nfunction getLocaleDateFormat(locale, width) {\n  const data = _findLocaleData(locale);\n  return getLastDefinedValue(data[_LocaleDataIndex.DateFormat], width);\n}\n/**\n * Retrieves a localized time-value formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see {@link FormatWidth}\n * @see [Internationalization (i18n) Guide](guide/i18n)\n\n * @publicApi\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * Use `Intl.DateTimeFormat` for date formating instead.\n */\nfunction getLocaleTimeFormat(locale, width) {\n  const data = _findLocaleData(locale);\n  return getLastDefinedValue(data[_LocaleDataIndex.TimeFormat], width);\n}\n/**\n * Retrieves a localized date-time formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see {@link FormatWidth}\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * Use `Intl.DateTimeFormat` for date formating instead.\n */\nfunction getLocaleDateTimeFormat(locale, width) {\n  const data = _findLocaleData(locale);\n  const dateTimeFormatData = data[_LocaleDataIndex.DateTimeFormat];\n  return getLastDefinedValue(dateTimeFormatData, width);\n}\n/**\n * Retrieves a localized number symbol that can be used to replace placeholders in number formats.\n * @param locale The locale code.\n * @param symbol The symbol to localize. Must be one of `NumberSymbol`.\n * @returns The character for the localized symbol.\n * @see {@link NumberSymbol}\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * Use `Intl.NumberFormat` to format numbers instead.\n */\nfunction getLocaleNumberSymbol(locale, symbol) {\n  const data = _findLocaleData(locale);\n  const res = data[_LocaleDataIndex.NumberSymbols][symbol];\n  if (typeof res === 'undefined') {\n    if (symbol === NumberSymbol.CurrencyDecimal) {\n      return data[_LocaleDataIndex.NumberSymbols][NumberSymbol.Decimal];\n    } else if (symbol === NumberSymbol.CurrencyGroup) {\n      return data[_LocaleDataIndex.NumberSymbols][NumberSymbol.Group];\n    }\n  }\n  return res;\n}\n/**\n * Retrieves a number format for a given locale.\n *\n * Numbers are formatted using patterns, like `#,###.00`. For example, the pattern `#,###.00`\n * when used to format the number 12345.678 could result in \"12'345,678\". That would happen if the\n * grouping separator for your language is an apostrophe, and the decimal separator is a comma.\n *\n * <b>Important:</b> The characters `.` `,` `0` `#` (and others below) are special placeholders\n * that stand for the decimal separator, and so on, and are NOT real characters.\n * You must NOT \"translate\" the placeholders. For example, don't change `.` to `,` even though in\n * your language the decimal point is written with a comma. The symbols should be replaced by the\n * local equivalents, using the appropriate `NumberSymbol` for your language.\n *\n * Here are the special characters used in number patterns:\n *\n * | Symbol | Meaning |\n * |--------|---------|\n * | . | Replaced automatically by the character used for the decimal point. |\n * | , | Replaced by the \"grouping\" (thousands) separator. |\n * | 0 | Replaced by a digit (or zero if there aren't enough digits). |\n * | # | Replaced by a digit (or nothing if there aren't enough). |\n * | ¤ | Replaced by a currency symbol, such as $ or USD. |\n * | % | Marks a percent format. The % symbol may change position, but must be retained. |\n * | E | Marks a scientific format. The E symbol may change position, but must be retained. |\n * | ' | Special characters used as literal characters are quoted with ASCII single quotes. |\n *\n * @param locale A locale code for the locale format rules to use.\n * @param type The type of numeric value to be formatted (such as `Decimal` or `Currency`.)\n * @returns The localized format string.\n * @see {@link NumberFormatStyle}\n * @see [CLDR website](http://cldr.unicode.org/translation/number-patterns)\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * Let `Intl.NumberFormat` determine the number format instead\n */\nfunction getLocaleNumberFormat(locale, type) {\n  const data = _findLocaleData(locale);\n  return data[_LocaleDataIndex.NumberFormats][type];\n}\n/**\n * Retrieves the symbol used to represent the currency for the main country\n * corresponding to a given locale. For example, '$' for `en-US`.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The localized symbol character,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Use the `Intl` API to format a currency with from currency code\n */\nfunction getLocaleCurrencySymbol(locale) {\n  const data = _findLocaleData(locale);\n  return data[_LocaleDataIndex.CurrencySymbol] || null;\n}\n/**\n * Retrieves the name of the currency for the main country corresponding\n * to a given locale. For example, 'US Dollar' for `en-US`.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency name,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Use the `Intl` API to format a currency with from currency code\n */\nfunction getLocaleCurrencyName(locale) {\n  const data = _findLocaleData(locale);\n  return data[_LocaleDataIndex.CurrencyName] || null;\n}\n/**\n * Retrieves the default currency code for the given locale.\n *\n * The default is defined as the first currency which is still in use.\n *\n * @param locale The code of the locale whose currency code we want.\n * @returns The code of the default currency for the given locale.\n *\n * @publicApi\n *\n * @deprecated We recommend you create a map of locale to ISO 4217 currency codes.\n * Time relative currency data is provided by the CLDR project. See https://www.unicode.org/cldr/charts/44/supplemental/detailed_territory_currency_information.html\n */\nfunction getLocaleCurrencyCode(locale) {\n  return _getLocaleCurrencyCode(locale);\n}\n/**\n * Retrieves the currency values for a given locale.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency values.\n * @see [Internationalization (i18n) Guide](guide/i18n)\n */\nfunction getLocaleCurrencies(locale) {\n  const data = _findLocaleData(locale);\n  return data[_LocaleDataIndex.Currencies];\n}\n/**\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * Use `Intl.PluralRules` instead\n */\nconst getLocalePluralCase = _getLocalePluralCase;\nfunction checkFullData(data) {\n  if (!data[_LocaleDataIndex.ExtraData]) {\n    throw new Error(`Missing extra locale data for the locale \"${data[_LocaleDataIndex.LocaleId]}\". Use \"registerLocaleData\" to load new data. See the \"I18n guide\" on angular.io to know more.`);\n  }\n}\n/**\n * Retrieves locale-specific rules used to determine which day period to use\n * when more than one period is defined for a locale.\n *\n * There is a rule for each defined day period. The\n * first rule is applied to the first day period and so on.\n * Fall back to AM/PM when no rules are available.\n *\n * A rule can specify a period as time range, or as a single time value.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n/format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The rules for the locale, a single time value or array of *from-time, to-time*,\n * or null if no periods are available.\n *\n * @see {@link getLocaleExtraDayPeriods}\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * Let `Intl.DateTimeFormat` determine the day period instead.\n */\nfunction getLocaleExtraDayPeriodRules(locale) {\n  const data = _findLocaleData(locale);\n  checkFullData(data);\n  const rules = data[_LocaleDataIndex.ExtraData][2 /* ɵExtraLocaleDataIndex.ExtraDayPeriodsRules */] || [];\n  return rules.map(rule => {\n    if (typeof rule === 'string') {\n      return extractTime(rule);\n    }\n    return [extractTime(rule[0]), extractTime(rule[1])];\n  });\n}\n/**\n * Retrieves locale-specific day periods, which indicate roughly how a day is broken up\n * in different languages.\n * For example, for `en-US`, periods are morning, noon, afternoon, evening, and midnight.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n/format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns The translated day-period strings.\n * @see {@link getLocaleExtraDayPeriodRules}\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * To extract a day period use `Intl.DateTimeFormat` with the `dayPeriod` option instead.\n */\nfunction getLocaleExtraDayPeriods(locale, formStyle, width) {\n  const data = _findLocaleData(locale);\n  checkFullData(data);\n  const dayPeriodsData = [data[_LocaleDataIndex.ExtraData][0 /* ɵExtraLocaleDataIndex.ExtraDayPeriodFormats */], data[_LocaleDataIndex.ExtraData][1 /* ɵExtraLocaleDataIndex.ExtraDayPeriodStandalone */]];\n  const dayPeriods = getLastDefinedValue(dayPeriodsData, formStyle) || [];\n  return getLastDefinedValue(dayPeriods, width) || [];\n}\n/**\n * Retrieves the writing direction of a specified locale\n * @param locale A locale code for the locale format rules to use.\n * @publicApi\n * @returns 'rtl' or 'ltr'\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * For dates and numbers, let `Intl.DateTimeFormat()` and `Intl.NumberFormat()` determine the writing direction.\n * The `Intl` alternative [`getTextInfo`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/getTextInfo).\n * has only partial support (Chromium M99 & Safari 17).\n * 3rd party alternatives like [`rtl-detect`](https://www.npmjs.com/package/rtl-detect) can work around this issue.\n */\nfunction getLocaleDirection(locale) {\n  const data = _findLocaleData(locale);\n  return data[_LocaleDataIndex.Directionality];\n}\n/**\n * Retrieves the first value that is defined in an array, going backwards from an index position.\n *\n * To avoid repeating the same data (as when the \"format\" and \"standalone\" forms are the same)\n * add the first value to the locale data arrays, and add other values only if they are different.\n *\n * @param data The data array to retrieve from.\n * @param index A 0-based index into the array to start from.\n * @returns The value immediately before the given index position.\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n */\nfunction getLastDefinedValue(data, index) {\n  for (let i = index; i > -1; i--) {\n    if (typeof data[i] !== 'undefined') {\n      return data[i];\n    }\n  }\n  throw new Error('Locale data API: locale data undefined');\n}\n/**\n * Extracts the hours and minutes from a string like \"15:45\"\n */\nfunction extractTime(time) {\n  const [h, m] = time.split(':');\n  return {\n    hours: +h,\n    minutes: +m\n  };\n}\n/**\n * Retrieves the currency symbol for a given currency code.\n *\n * For example, for the default `en-US` locale, the code `USD` can\n * be represented by the narrow symbol `$` or the wide symbol `US$`.\n *\n * @param code The currency code.\n * @param format The format, `wide` or `narrow`.\n * @param locale A locale code for the locale format rules to use.\n *\n * @returns The symbol, or the currency code if no symbol is available.\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * You can use `Intl.NumberFormat().formatToParts()` to extract the currency symbol.\n * For example: `Intl.NumberFormat('en', {style:'currency', currency: 'USD'}).formatToParts().find(part => part.type === 'currency').value`\n * returns `$` for USD currency code in the `en` locale.\n * Note: `US$` is a currency symbol for the `en-ca` locale but not the `en-us` locale.\n */\nfunction getCurrencySymbol(code, format, locale = 'en') {\n  const currency = getLocaleCurrencies(locale)[code] || CURRENCIES_EN[code] || [];\n  const symbolNarrow = currency[1 /* ɵCurrencyIndex.SymbolNarrow */];\n  if (format === 'narrow' && typeof symbolNarrow === 'string') {\n    return symbolNarrow;\n  }\n  return currency[0 /* ɵCurrencyIndex.Symbol */] || code;\n}\n// Most currencies have cents, that's why the default is 2\nconst DEFAULT_NB_OF_CURRENCY_DIGITS = 2;\n/**\n * Reports the number of decimal digits for a given currency.\n * The value depends upon the presence of cents in that particular currency.\n *\n * @param code The currency code.\n * @returns The number of decimal digits, typically 0 or 2.\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n *\n * @deprecated Angular recommends relying on the `Intl` API for i18n.\n * This function should not be used anymore. Let `Intl.NumberFormat` determine the number of digits to display for the currency\n */\nfunction getNumberOfCurrencyDigits(code) {\n  let digits;\n  const currency = CURRENCIES_EN[code];\n  if (currency) {\n    digits = currency[2 /* ɵCurrencyIndex.NbOfDigits */];\n  }\n  return typeof digits === 'number' ? digits : DEFAULT_NB_OF_CURRENCY_DIGITS;\n}\nconst ISO8601_DATE_REGEX = /^(\\d{4,})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n//    1        2       3         4          5          6          7          8  9     10      11\nconst NAMED_FORMATS = {};\nconst DATE_FORMATS_SPLIT = /((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\\s\\S]*)/;\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date according to locale rules.\n *\n * @param value The date to format, as a Date, or a number (milliseconds since UTC epoch)\n * or an [ISO date-time string](https://www.w3.org/TR/NOTE-datetime).\n * @param format The date-time components to include. See `DatePipe` for details.\n * @param locale A locale code for the locale format rules to use.\n * @param timezone The time zone. A time zone offset from GMT (such as `'+0430'`).\n * If not specified, uses host system settings.\n *\n * @returns The formatted date string.\n *\n * @see {@link DatePipe}\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n */\nfunction formatDate(value, format, locale, timezone) {\n  let date = toDate(value);\n  const namedFormat = getNamedFormat(locale, format);\n  format = namedFormat || format;\n  let parts = [];\n  let match;\n  while (format) {\n    match = DATE_FORMATS_SPLIT.exec(format);\n    if (match) {\n      parts = parts.concat(match.slice(1));\n      const part = parts.pop();\n      if (!part) {\n        break;\n      }\n      format = part;\n    } else {\n      parts.push(format);\n      break;\n    }\n  }\n  let dateTimezoneOffset = date.getTimezoneOffset();\n  if (timezone) {\n    dateTimezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n    date = convertTimezoneToLocal(date, timezone);\n  }\n  let text = '';\n  parts.forEach(value => {\n    const dateFormatter = getDateFormatter(value);\n    text += dateFormatter ? dateFormatter(date, locale, dateTimezoneOffset) : value === \"''\" ? \"'\" : value.replace(/(^'|'$)/g, '').replace(/''/g, \"'\");\n  });\n  return text;\n}\n/**\n * Create a new Date object with the given date value, and the time set to midnight.\n *\n * We cannot use `new Date(year, month, date)` because it maps years between 0 and 99 to 1900-1999.\n * See: https://github.com/angular/angular/issues/40377\n *\n * Note that this function returns a Date object whose time is midnight in the current locale's\n * timezone. In the future we might want to change this to be midnight in UTC, but this would be a\n * considerable breaking change.\n */\nfunction createDate(year, month, date) {\n  // The `newDate` is set to midnight (UTC) on January 1st 1970.\n  // - In PST this will be December 31st 1969 at 4pm.\n  // - In GMT this will be January 1st 1970 at 1am.\n  // Note that they even have different years, dates and months!\n  const newDate = new Date(0);\n  // `setFullYear()` allows years like 0001 to be set correctly. This function does not\n  // change the internal time of the date.\n  // Consider calling `setFullYear(2019, 8, 20)` (September 20, 2019).\n  // - In PST this will now be September 20, 2019 at 4pm\n  // - In GMT this will now be September 20, 2019 at 1am\n  newDate.setFullYear(year, month, date);\n  // We want the final date to be at local midnight, so we reset the time.\n  // - In PST this will now be September 20, 2019 at 12am\n  // - In GMT this will now be September 20, 2019 at 12am\n  newDate.setHours(0, 0, 0);\n  return newDate;\n}\nfunction getNamedFormat(locale, format) {\n  const localeId = getLocaleId(locale);\n  NAMED_FORMATS[localeId] ??= {};\n  if (NAMED_FORMATS[localeId][format]) {\n    return NAMED_FORMATS[localeId][format];\n  }\n  let formatValue = '';\n  switch (format) {\n    case 'shortDate':\n      formatValue = getLocaleDateFormat(locale, FormatWidth.Short);\n      break;\n    case 'mediumDate':\n      formatValue = getLocaleDateFormat(locale, FormatWidth.Medium);\n      break;\n    case 'longDate':\n      formatValue = getLocaleDateFormat(locale, FormatWidth.Long);\n      break;\n    case 'fullDate':\n      formatValue = getLocaleDateFormat(locale, FormatWidth.Full);\n      break;\n    case 'shortTime':\n      formatValue = getLocaleTimeFormat(locale, FormatWidth.Short);\n      break;\n    case 'mediumTime':\n      formatValue = getLocaleTimeFormat(locale, FormatWidth.Medium);\n      break;\n    case 'longTime':\n      formatValue = getLocaleTimeFormat(locale, FormatWidth.Long);\n      break;\n    case 'fullTime':\n      formatValue = getLocaleTimeFormat(locale, FormatWidth.Full);\n      break;\n    case 'short':\n      const shortTime = getNamedFormat(locale, 'shortTime');\n      const shortDate = getNamedFormat(locale, 'shortDate');\n      formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Short), [shortTime, shortDate]);\n      break;\n    case 'medium':\n      const mediumTime = getNamedFormat(locale, 'mediumTime');\n      const mediumDate = getNamedFormat(locale, 'mediumDate');\n      formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Medium), [mediumTime, mediumDate]);\n      break;\n    case 'long':\n      const longTime = getNamedFormat(locale, 'longTime');\n      const longDate = getNamedFormat(locale, 'longDate');\n      formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Long), [longTime, longDate]);\n      break;\n    case 'full':\n      const fullTime = getNamedFormat(locale, 'fullTime');\n      const fullDate = getNamedFormat(locale, 'fullDate');\n      formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Full), [fullTime, fullDate]);\n      break;\n  }\n  if (formatValue) {\n    NAMED_FORMATS[localeId][format] = formatValue;\n  }\n  return formatValue;\n}\nfunction formatDateTime(str, opt_values) {\n  if (opt_values) {\n    str = str.replace(/\\{([^}]+)}/g, function (match, key) {\n      return opt_values != null && key in opt_values ? opt_values[key] : match;\n    });\n  }\n  return str;\n}\nfunction padNumber(num, digits, minusSign = '-', trim, negWrap) {\n  let neg = '';\n  if (num < 0 || negWrap && num <= 0) {\n    if (negWrap) {\n      num = -num + 1;\n    } else {\n      num = -num;\n      neg = minusSign;\n    }\n  }\n  let strNum = String(num);\n  while (strNum.length < digits) {\n    strNum = '0' + strNum;\n  }\n  if (trim) {\n    strNum = strNum.slice(strNum.length - digits);\n  }\n  return neg + strNum;\n}\nfunction formatFractionalSeconds(milliseconds, digits) {\n  const strMs = padNumber(milliseconds, 3);\n  return strMs.substring(0, digits);\n}\n/**\n * Returns a date formatter that transforms a date into its locale digit representation\n */\nfunction dateGetter(name, size, offset = 0, trim = false, negWrap = false) {\n  return function (date, locale) {\n    let part = getDatePart(name, date);\n    if (offset > 0 || part > -offset) {\n      part += offset;\n    }\n    if (name === 3 /* DateType.Hours */) {\n      if (part === 0 && offset === -12) {\n        part = 12;\n      }\n    } else if (name === 6 /* DateType.FractionalSeconds */) {\n      return formatFractionalSeconds(part, size);\n    }\n    const localeMinus = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n    return padNumber(part, size, localeMinus, trim, negWrap);\n  };\n}\nfunction getDatePart(part, date) {\n  switch (part) {\n    case 0 /* DateType.FullYear */:\n      return date.getFullYear();\n    case 1 /* DateType.Month */:\n      return date.getMonth();\n    case 2 /* DateType.Date */:\n      return date.getDate();\n    case 3 /* DateType.Hours */:\n      return date.getHours();\n    case 4 /* DateType.Minutes */:\n      return date.getMinutes();\n    case 5 /* DateType.Seconds */:\n      return date.getSeconds();\n    case 6 /* DateType.FractionalSeconds */:\n      return date.getMilliseconds();\n    case 7 /* DateType.Day */:\n      return date.getDay();\n    default:\n      throw new Error(`Unknown DateType value \"${part}\".`);\n  }\n}\n/**\n * Returns a date formatter that transforms a date into its locale string representation\n */\nfunction dateStrGetter(name, width, form = FormStyle.Format, extended = false) {\n  return function (date, locale) {\n    return getDateTranslation(date, locale, name, width, form, extended);\n  };\n}\n/**\n * Returns the locale translation of a date for a given form, type and width\n */\nfunction getDateTranslation(date, locale, name, width, form, extended) {\n  switch (name) {\n    case 2 /* TranslationType.Months */:\n      return getLocaleMonthNames(locale, form, width)[date.getMonth()];\n    case 1 /* TranslationType.Days */:\n      return getLocaleDayNames(locale, form, width)[date.getDay()];\n    case 0 /* TranslationType.DayPeriods */:\n      const currentHours = date.getHours();\n      const currentMinutes = date.getMinutes();\n      if (extended) {\n        const rules = getLocaleExtraDayPeriodRules(locale);\n        const dayPeriods = getLocaleExtraDayPeriods(locale, form, width);\n        const index = rules.findIndex(rule => {\n          if (Array.isArray(rule)) {\n            // morning, afternoon, evening, night\n            const [from, to] = rule;\n            const afterFrom = currentHours >= from.hours && currentMinutes >= from.minutes;\n            const beforeTo = currentHours < to.hours || currentHours === to.hours && currentMinutes < to.minutes;\n            // We must account for normal rules that span a period during the day (e.g. 6am-9am)\n            // where `from` is less (earlier) than `to`. But also rules that span midnight (e.g.\n            // 10pm - 5am) where `from` is greater (later!) than `to`.\n            //\n            // In the first case the current time must be BOTH after `from` AND before `to`\n            // (e.g. 8am is after 6am AND before 10am).\n            //\n            // In the second case the current time must be EITHER after `from` OR before `to`\n            // (e.g. 4am is before 5am but not after 10pm; and 11pm is not before 5am but it is\n            // after 10pm).\n            if (from.hours < to.hours) {\n              if (afterFrom && beforeTo) {\n                return true;\n              }\n            } else if (afterFrom || beforeTo) {\n              return true;\n            }\n          } else {\n            // noon or midnight\n            if (rule.hours === currentHours && rule.minutes === currentMinutes) {\n              return true;\n            }\n          }\n          return false;\n        });\n        if (index !== -1) {\n          return dayPeriods[index];\n        }\n      }\n      // if no rules for the day periods, we use am/pm by default\n      return getLocaleDayPeriods(locale, form, width)[currentHours < 12 ? 0 : 1];\n    case 3 /* TranslationType.Eras */:\n      return getLocaleEraNames(locale, width)[date.getFullYear() <= 0 ? 0 : 1];\n    default:\n      // This default case is not needed by TypeScript compiler, as the switch is exhaustive.\n      // However Closure Compiler does not understand that and reports an error in typed mode.\n      // The `throw new Error` below works around the problem, and the unexpected: never variable\n      // makes sure tsc still checks this code is unreachable.\n      const unexpected = name;\n      throw new Error(`unexpected translation type ${unexpected}`);\n  }\n}\n/**\n * Returns a date formatter that transforms a date and an offset into a timezone with ISO8601 or\n * GMT format depending on the width (eg: short = +0430, short:GMT = GMT+4, long = GMT+04:30,\n * extended = +04:30)\n */\nfunction timeZoneGetter(width) {\n  return function (date, locale, offset) {\n    const zone = -1 * offset;\n    const minusSign = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n    const hours = zone > 0 ? Math.floor(zone / 60) : Math.ceil(zone / 60);\n    switch (width) {\n      case 0 /* ZoneWidth.Short */:\n        return (zone >= 0 ? '+' : '') + padNumber(hours, 2, minusSign) + padNumber(Math.abs(zone % 60), 2, minusSign);\n      case 1 /* ZoneWidth.ShortGMT */:\n        return 'GMT' + (zone >= 0 ? '+' : '') + padNumber(hours, 1, minusSign);\n      case 2 /* ZoneWidth.Long */:\n        return 'GMT' + (zone >= 0 ? '+' : '') + padNumber(hours, 2, minusSign) + ':' + padNumber(Math.abs(zone % 60), 2, minusSign);\n      case 3 /* ZoneWidth.Extended */:\n        if (offset === 0) {\n          return 'Z';\n        } else {\n          return (zone >= 0 ? '+' : '') + padNumber(hours, 2, minusSign) + ':' + padNumber(Math.abs(zone % 60), 2, minusSign);\n        }\n      default:\n        throw new Error(`Unknown zone width \"${width}\"`);\n    }\n  };\n}\nconst JANUARY = 0;\nconst THURSDAY = 4;\nfunction getFirstThursdayOfYear(year) {\n  const firstDayOfYear = createDate(year, JANUARY, 1).getDay();\n  return createDate(year, 0, 1 + (firstDayOfYear <= THURSDAY ? THURSDAY : THURSDAY + 7) - firstDayOfYear);\n}\n/**\n *  ISO Week starts on day 1 (Monday) and ends with day 0 (Sunday)\n */\nfunction getThursdayThisIsoWeek(datetime) {\n  // getDay returns 0-6 range with sunday as 0.\n  const currentDay = datetime.getDay();\n  // On a Sunday, read the previous Thursday since ISO weeks start on Monday.\n  const deltaToThursday = currentDay === 0 ? -3 : THURSDAY - currentDay;\n  return createDate(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() + deltaToThursday);\n}\nfunction weekGetter(size, monthBased = false) {\n  return function (date, locale) {\n    let result;\n    if (monthBased) {\n      const nbDaysBefore1stDayOfMonth = new Date(date.getFullYear(), date.getMonth(), 1).getDay() - 1;\n      const today = date.getDate();\n      result = 1 + Math.floor((today + nbDaysBefore1stDayOfMonth) / 7);\n    } else {\n      const thisThurs = getThursdayThisIsoWeek(date);\n      // Some days of a year are part of next year according to ISO 8601.\n      // Compute the firstThurs from the year of this week's Thursday\n      const firstThurs = getFirstThursdayOfYear(thisThurs.getFullYear());\n      const diff = thisThurs.getTime() - firstThurs.getTime();\n      result = 1 + Math.round(diff / 6.048e8); // 6.048e8 ms per week\n    }\n    return padNumber(result, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n  };\n}\n/**\n * Returns a date formatter that provides the week-numbering year for the input date.\n */\nfunction weekNumberingYearGetter(size, trim = false) {\n  return function (date, locale) {\n    const thisThurs = getThursdayThisIsoWeek(date);\n    const weekNumberingYear = thisThurs.getFullYear();\n    return padNumber(weekNumberingYear, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign), trim);\n  };\n}\nconst DATE_FORMATS = {};\n// Based on CLDR formats:\n// See complete list: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n// See also explanations: http://cldr.unicode.org/translation/date-time\n// TODO(ocombe): support all missing cldr formats: U, Q, D, F, e, j, J, C, A, v, V, X, x\nfunction getDateFormatter(format) {\n  if (DATE_FORMATS[format]) {\n    return DATE_FORMATS[format];\n  }\n  let formatter;\n  switch (format) {\n    // Era name (AD/BC)\n    case 'G':\n    case 'GG':\n    case 'GGG':\n      formatter = dateStrGetter(3 /* TranslationType.Eras */, TranslationWidth.Abbreviated);\n      break;\n    case 'GGGG':\n      formatter = dateStrGetter(3 /* TranslationType.Eras */, TranslationWidth.Wide);\n      break;\n    case 'GGGGG':\n      formatter = dateStrGetter(3 /* TranslationType.Eras */, TranslationWidth.Narrow);\n      break;\n    // 1 digit representation of the year, e.g. (AD 1 => 1, AD 199 => 199)\n    case 'y':\n      formatter = dateGetter(0 /* DateType.FullYear */, 1, 0, false, true);\n      break;\n    // 2 digit representation of the year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)\n    case 'yy':\n      formatter = dateGetter(0 /* DateType.FullYear */, 2, 0, true, true);\n      break;\n    // 3 digit representation of the year, padded (000-999). (e.g. AD 2001 => 01, AD 2010 => 10)\n    case 'yyy':\n      formatter = dateGetter(0 /* DateType.FullYear */, 3, 0, false, true);\n      break;\n    // 4 digit representation of the year (e.g. AD 1 => 0001, AD 2010 => 2010)\n    case 'yyyy':\n      formatter = dateGetter(0 /* DateType.FullYear */, 4, 0, false, true);\n      break;\n    // 1 digit representation of the week-numbering year, e.g. (AD 1 => 1, AD 199 => 199)\n    case 'Y':\n      formatter = weekNumberingYearGetter(1);\n      break;\n    // 2 digit representation of the week-numbering year, padded (00-99). (e.g. AD 2001 => 01, AD\n    // 2010 => 10)\n    case 'YY':\n      formatter = weekNumberingYearGetter(2, true);\n      break;\n    // 3 digit representation of the week-numbering year, padded (000-999). (e.g. AD 1 => 001, AD\n    // 2010 => 2010)\n    case 'YYY':\n      formatter = weekNumberingYearGetter(3);\n      break;\n    // 4 digit representation of the week-numbering year (e.g. AD 1 => 0001, AD 2010 => 2010)\n    case 'YYYY':\n      formatter = weekNumberingYearGetter(4);\n      break;\n    // Month of the year (1-12), numeric\n    case 'M':\n    case 'L':\n      formatter = dateGetter(1 /* DateType.Month */, 1, 1);\n      break;\n    case 'MM':\n    case 'LL':\n      formatter = dateGetter(1 /* DateType.Month */, 2, 1);\n      break;\n    // Month of the year (January, ...), string, format\n    case 'MMM':\n      formatter = dateStrGetter(2 /* TranslationType.Months */, TranslationWidth.Abbreviated);\n      break;\n    case 'MMMM':\n      formatter = dateStrGetter(2 /* TranslationType.Months */, TranslationWidth.Wide);\n      break;\n    case 'MMMMM':\n      formatter = dateStrGetter(2 /* TranslationType.Months */, TranslationWidth.Narrow);\n      break;\n    // Month of the year (January, ...), string, standalone\n    case 'LLL':\n      formatter = dateStrGetter(2 /* TranslationType.Months */, TranslationWidth.Abbreviated, FormStyle.Standalone);\n      break;\n    case 'LLLL':\n      formatter = dateStrGetter(2 /* TranslationType.Months */, TranslationWidth.Wide, FormStyle.Standalone);\n      break;\n    case 'LLLLL':\n      formatter = dateStrGetter(2 /* TranslationType.Months */, TranslationWidth.Narrow, FormStyle.Standalone);\n      break;\n    // Week of the year (1, ... 52)\n    case 'w':\n      formatter = weekGetter(1);\n      break;\n    case 'ww':\n      formatter = weekGetter(2);\n      break;\n    // Week of the month (1, ...)\n    case 'W':\n      formatter = weekGetter(1, true);\n      break;\n    // Day of the month (1-31)\n    case 'd':\n      formatter = dateGetter(2 /* DateType.Date */, 1);\n      break;\n    case 'dd':\n      formatter = dateGetter(2 /* DateType.Date */, 2);\n      break;\n    // Day of the Week StandAlone (1, 1, Mon, Monday, M, Mo)\n    case 'c':\n    case 'cc':\n      formatter = dateGetter(7 /* DateType.Day */, 1);\n      break;\n    case 'ccc':\n      formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Abbreviated, FormStyle.Standalone);\n      break;\n    case 'cccc':\n      formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Wide, FormStyle.Standalone);\n      break;\n    case 'ccccc':\n      formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Narrow, FormStyle.Standalone);\n      break;\n    case 'cccccc':\n      formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Short, FormStyle.Standalone);\n      break;\n    // Day of the Week\n    case 'E':\n    case 'EE':\n    case 'EEE':\n      formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Abbreviated);\n      break;\n    case 'EEEE':\n      formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Wide);\n      break;\n    case 'EEEEE':\n      formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Narrow);\n      break;\n    case 'EEEEEE':\n      formatter = dateStrGetter(1 /* TranslationType.Days */, TranslationWidth.Short);\n      break;\n    // Generic period of the day (am-pm)\n    case 'a':\n    case 'aa':\n    case 'aaa':\n      formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Abbreviated);\n      break;\n    case 'aaaa':\n      formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Wide);\n      break;\n    case 'aaaaa':\n      formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Narrow);\n      break;\n    // Extended period of the day (midnight, at night, ...), standalone\n    case 'b':\n    case 'bb':\n    case 'bbb':\n      formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Abbreviated, FormStyle.Standalone, true);\n      break;\n    case 'bbbb':\n      formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Wide, FormStyle.Standalone, true);\n      break;\n    case 'bbbbb':\n      formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Narrow, FormStyle.Standalone, true);\n      break;\n    // Extended period of the day (midnight, night, ...), standalone\n    case 'B':\n    case 'BB':\n    case 'BBB':\n      formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Abbreviated, FormStyle.Format, true);\n      break;\n    case 'BBBB':\n      formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Wide, FormStyle.Format, true);\n      break;\n    case 'BBBBB':\n      formatter = dateStrGetter(0 /* TranslationType.DayPeriods */, TranslationWidth.Narrow, FormStyle.Format, true);\n      break;\n    // Hour in AM/PM, (1-12)\n    case 'h':\n      formatter = dateGetter(3 /* DateType.Hours */, 1, -12);\n      break;\n    case 'hh':\n      formatter = dateGetter(3 /* DateType.Hours */, 2, -12);\n      break;\n    // Hour of the day (0-23)\n    case 'H':\n      formatter = dateGetter(3 /* DateType.Hours */, 1);\n      break;\n    // Hour in day, padded (00-23)\n    case 'HH':\n      formatter = dateGetter(3 /* DateType.Hours */, 2);\n      break;\n    // Minute of the hour (0-59)\n    case 'm':\n      formatter = dateGetter(4 /* DateType.Minutes */, 1);\n      break;\n    case 'mm':\n      formatter = dateGetter(4 /* DateType.Minutes */, 2);\n      break;\n    // Second of the minute (0-59)\n    case 's':\n      formatter = dateGetter(5 /* DateType.Seconds */, 1);\n      break;\n    case 'ss':\n      formatter = dateGetter(5 /* DateType.Seconds */, 2);\n      break;\n    // Fractional second\n    case 'S':\n      formatter = dateGetter(6 /* DateType.FractionalSeconds */, 1);\n      break;\n    case 'SS':\n      formatter = dateGetter(6 /* DateType.FractionalSeconds */, 2);\n      break;\n    case 'SSS':\n      formatter = dateGetter(6 /* DateType.FractionalSeconds */, 3);\n      break;\n    // Timezone ISO8601 short format (-0430)\n    case 'Z':\n    case 'ZZ':\n    case 'ZZZ':\n      formatter = timeZoneGetter(0 /* ZoneWidth.Short */);\n      break;\n    // Timezone ISO8601 extended format (-04:30)\n    case 'ZZZZZ':\n      formatter = timeZoneGetter(3 /* ZoneWidth.Extended */);\n      break;\n    // Timezone GMT short format (GMT+4)\n    case 'O':\n    case 'OO':\n    case 'OOO':\n    // Should be location, but fallback to format O instead because we don't have the data yet\n    case 'z':\n    case 'zz':\n    case 'zzz':\n      formatter = timeZoneGetter(1 /* ZoneWidth.ShortGMT */);\n      break;\n    // Timezone GMT long format (GMT+0430)\n    case 'OOOO':\n    case 'ZZZZ':\n    // Should be location, but fallback to format O instead because we don't have the data yet\n    case 'zzzz':\n      formatter = timeZoneGetter(2 /* ZoneWidth.Long */);\n      break;\n    default:\n      return null;\n  }\n  DATE_FORMATS[format] = formatter;\n  return formatter;\n}\nfunction timezoneToOffset(timezone, fallback) {\n  // Support: IE 11 only, Edge 13-15+\n  // IE/Edge do not \"understand\" colon (`:`) in timezone\n  timezone = timezone.replace(/:/g, '');\n  const requestedTimezoneOffset = Date.parse('Jan 01, 1970 00:00:00 ' + timezone) / 60000;\n  return isNaN(requestedTimezoneOffset) ? fallback : requestedTimezoneOffset;\n}\nfunction addDateMinutes(date, minutes) {\n  date = new Date(date.getTime());\n  date.setMinutes(date.getMinutes() + minutes);\n  return date;\n}\nfunction convertTimezoneToLocal(date, timezone, reverse) {\n  const reverseValue = -1;\n  const dateTimezoneOffset = date.getTimezoneOffset();\n  const timezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n  return addDateMinutes(date, reverseValue * (timezoneOffset - dateTimezoneOffset));\n}\n/**\n * Converts a value to date.\n *\n * Supported input formats:\n * - `Date`\n * - number: timestamp\n * - string: numeric (e.g. \"1234\"), ISO and date strings in a format supported by\n *   [Date.parse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\n *   Note: ISO strings without time return a date without timeoffset.\n *\n * Throws if unable to convert to a date.\n */\nfunction toDate(value) {\n  if (isDate(value)) {\n    return value;\n  }\n  if (typeof value === 'number' && !isNaN(value)) {\n    return new Date(value);\n  }\n  if (typeof value === 'string') {\n    value = value.trim();\n    if (/^(\\d{4}(-\\d{1,2}(-\\d{1,2})?)?)$/.test(value)) {\n      /* For ISO Strings without time the day, month and year must be extracted from the ISO String\n      before Date creation to avoid time offset and errors in the new Date.\n      If we only replace '-' with ',' in the ISO String (\"2015,01,01\"), and try to create a new\n      date, some browsers (e.g. IE 9) will throw an invalid Date error.\n      If we leave the '-' (\"2015-01-01\") and try to create a new Date(\"2015-01-01\") the timeoffset\n      is applied.\n      Note: ISO months are 0 for January, 1 for February, ... */\n      const [y, m = 1, d = 1] = value.split('-').map(val => +val);\n      return createDate(y, m - 1, d);\n    }\n    const parsedNb = parseFloat(value);\n    // any string that only contains numbers, like \"1234\" but not like \"1234hello\"\n    if (!isNaN(value - parsedNb)) {\n      return new Date(parsedNb);\n    }\n    let match;\n    if (match = value.match(ISO8601_DATE_REGEX)) {\n      return isoStringToDate(match);\n    }\n  }\n  const date = new Date(value);\n  if (!isDate(date)) {\n    throw new Error(`Unable to convert \"${value}\" into a date`);\n  }\n  return date;\n}\n/**\n * Converts a date in ISO8601 to a Date.\n * Used instead of `Date.parse` because of browser discrepancies.\n */\nfunction isoStringToDate(match) {\n  const date = new Date(0);\n  let tzHour = 0;\n  let tzMin = 0;\n  // match[8] means that the string contains \"Z\" (UTC) or a timezone like \"+01:00\" or \"+0100\"\n  const dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear;\n  const timeSetter = match[8] ? date.setUTCHours : date.setHours;\n  // if there is a timezone defined like \"+01:00\" or \"+0100\"\n  if (match[9]) {\n    tzHour = Number(match[9] + match[10]);\n    tzMin = Number(match[9] + match[11]);\n  }\n  dateSetter.call(date, Number(match[1]), Number(match[2]) - 1, Number(match[3]));\n  const h = Number(match[4] || 0) - tzHour;\n  const m = Number(match[5] || 0) - tzMin;\n  const s = Number(match[6] || 0);\n  // The ECMAScript specification (https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.11)\n  // defines that `DateTime` milliseconds should always be rounded down, so that `999.9ms`\n  // becomes `999ms`.\n  const ms = Math.floor(parseFloat('0.' + (match[7] || 0)) * 1000);\n  timeSetter.call(date, h, m, s, ms);\n  return date;\n}\nfunction isDate(value) {\n  return value instanceof Date && !isNaN(value.valueOf());\n}\nconst NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\nconst MAX_DIGITS = 22;\nconst DECIMAL_SEP = '.';\nconst ZERO_CHAR = '0';\nconst PATTERN_SEP = ';';\nconst GROUP_SEP = ',';\nconst DIGIT_CHAR = '#';\nconst CURRENCY_CHAR = '¤';\nconst PERCENT_CHAR = '%';\n/**\n * Transforms a number to a locale string based on a style and a format.\n */\nfunction formatNumberToLocaleString(value, pattern, locale, groupSymbol, decimalSymbol, digitsInfo, isPercent = false) {\n  let formattedText = '';\n  let isZero = false;\n  if (!isFinite(value)) {\n    formattedText = getLocaleNumberSymbol(locale, NumberSymbol.Infinity);\n  } else {\n    let parsedNumber = parseNumber(value);\n    if (isPercent) {\n      parsedNumber = toPercent(parsedNumber);\n    }\n    let minInt = pattern.minInt;\n    let minFraction = pattern.minFrac;\n    let maxFraction = pattern.maxFrac;\n    if (digitsInfo) {\n      const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n      if (parts === null) {\n        throw new Error(`${digitsInfo} is not a valid digit info`);\n      }\n      const minIntPart = parts[1];\n      const minFractionPart = parts[3];\n      const maxFractionPart = parts[5];\n      if (minIntPart != null) {\n        minInt = parseIntAutoRadix(minIntPart);\n      }\n      if (minFractionPart != null) {\n        minFraction = parseIntAutoRadix(minFractionPart);\n      }\n      if (maxFractionPart != null) {\n        maxFraction = parseIntAutoRadix(maxFractionPart);\n      } else if (minFractionPart != null && minFraction > maxFraction) {\n        maxFraction = minFraction;\n      }\n    }\n    roundNumber(parsedNumber, minFraction, maxFraction);\n    let digits = parsedNumber.digits;\n    let integerLen = parsedNumber.integerLen;\n    const exponent = parsedNumber.exponent;\n    let decimals = [];\n    isZero = digits.every(d => !d);\n    // pad zeros for small numbers\n    for (; integerLen < minInt; integerLen++) {\n      digits.unshift(0);\n    }\n    // pad zeros for small numbers\n    for (; integerLen < 0; integerLen++) {\n      digits.unshift(0);\n    }\n    // extract decimals digits\n    if (integerLen > 0) {\n      decimals = digits.splice(integerLen, digits.length);\n    } else {\n      decimals = digits;\n      digits = [0];\n    }\n    // format the integer digits with grouping separators\n    const groups = [];\n    if (digits.length >= pattern.lgSize) {\n      groups.unshift(digits.splice(-pattern.lgSize, digits.length).join(''));\n    }\n    while (digits.length > pattern.gSize) {\n      groups.unshift(digits.splice(-pattern.gSize, digits.length).join(''));\n    }\n    if (digits.length) {\n      groups.unshift(digits.join(''));\n    }\n    formattedText = groups.join(getLocaleNumberSymbol(locale, groupSymbol));\n    // append the decimal digits\n    if (decimals.length) {\n      formattedText += getLocaleNumberSymbol(locale, decimalSymbol) + decimals.join('');\n    }\n    if (exponent) {\n      formattedText += getLocaleNumberSymbol(locale, NumberSymbol.Exponential) + '+' + exponent;\n    }\n  }\n  if (value < 0 && !isZero) {\n    formattedText = pattern.negPre + formattedText + pattern.negSuf;\n  } else {\n    formattedText = pattern.posPre + formattedText + pattern.posSuf;\n  }\n  return formattedText;\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as currency using locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param currency A string containing the currency symbol or its name,\n * such as \"$\" or \"Canadian Dollar\". Used in output string, but does not affect the operation\n * of the function.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)\n * currency code, such as `USD` for the US dollar and `EUR` for the euro.\n * Used to determine the number of digits in the decimal part.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted currency value.\n *\n * @see {@link formatNumber}\n * @see {@link DecimalPipe}\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n */\nfunction formatCurrency(value, locale, currency, currencyCode, digitsInfo) {\n  const format = getLocaleNumberFormat(locale, NumberFormatStyle.Currency);\n  const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n  pattern.minFrac = getNumberOfCurrencyDigits(currencyCode);\n  pattern.maxFrac = pattern.minFrac;\n  const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.CurrencyGroup, NumberSymbol.CurrencyDecimal, digitsInfo);\n  return res.replace(CURRENCY_CHAR, currency)\n  // if we have 2 time the currency character, the second one is ignored\n  .replace(CURRENCY_CHAR, '')\n  // If there is a spacing between currency character and the value and\n  // the currency character is suppressed by passing an empty string, the\n  // spacing character would remain as part of the string. Then we\n  // should remove it.\n  .trim();\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as a percentage according to locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted percentage value.\n *\n * @see {@link formatNumber}\n * @see {@link DecimalPipe}\n * @see [Internationalization (i18n) Guide](guide/i18n)\n * @publicApi\n *\n */\nfunction formatPercent(value, locale, digitsInfo) {\n  const format = getLocaleNumberFormat(locale, NumberFormatStyle.Percent);\n  const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n  const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo, true);\n  return res.replace(new RegExp(PERCENT_CHAR, 'g'), getLocaleNumberSymbol(locale, NumberSymbol.PercentSign));\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as text, with group sizing, separator, and other\n * parameters based on the locale.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted text string.\n * @see [Internationalization (i18n) Guide](guide/i18n)\n *\n * @publicApi\n */\nfunction formatNumber(value, locale, digitsInfo) {\n  const format = getLocaleNumberFormat(locale, NumberFormatStyle.Decimal);\n  const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n  return formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo);\n}\nfunction parseNumberFormat(format, minusSign = '-') {\n  const p = {\n    minInt: 1,\n    minFrac: 0,\n    maxFrac: 0,\n    posPre: '',\n    posSuf: '',\n    negPre: '',\n    negSuf: '',\n    gSize: 0,\n    lgSize: 0\n  };\n  const patternParts = format.split(PATTERN_SEP);\n  const positive = patternParts[0];\n  const negative = patternParts[1];\n  const positiveParts = positive.indexOf(DECIMAL_SEP) !== -1 ? positive.split(DECIMAL_SEP) : [positive.substring(0, positive.lastIndexOf(ZERO_CHAR) + 1), positive.substring(positive.lastIndexOf(ZERO_CHAR) + 1)],\n    integer = positiveParts[0],\n    fraction = positiveParts[1] || '';\n  p.posPre = integer.substring(0, integer.indexOf(DIGIT_CHAR));\n  for (let i = 0; i < fraction.length; i++) {\n    const ch = fraction.charAt(i);\n    if (ch === ZERO_CHAR) {\n      p.minFrac = p.maxFrac = i + 1;\n    } else if (ch === DIGIT_CHAR) {\n      p.maxFrac = i + 1;\n    } else {\n      p.posSuf += ch;\n    }\n  }\n  const groups = integer.split(GROUP_SEP);\n  p.gSize = groups[1] ? groups[1].length : 0;\n  p.lgSize = groups[2] || groups[1] ? (groups[2] || groups[1]).length : 0;\n  if (negative) {\n    const trunkLen = positive.length - p.posPre.length - p.posSuf.length,\n      pos = negative.indexOf(DIGIT_CHAR);\n    p.negPre = negative.substring(0, pos).replace(/'/g, '');\n    p.negSuf = negative.slice(pos + trunkLen).replace(/'/g, '');\n  } else {\n    p.negPre = minusSign + p.posPre;\n    p.negSuf = p.posSuf;\n  }\n  return p;\n}\n// Transforms a parsed number into a percentage by multiplying it by 100\nfunction toPercent(parsedNumber) {\n  // if the number is 0, don't do anything\n  if (parsedNumber.digits[0] === 0) {\n    return parsedNumber;\n  }\n  // Getting the current number of decimals\n  const fractionLen = parsedNumber.digits.length - parsedNumber.integerLen;\n  if (parsedNumber.exponent) {\n    parsedNumber.exponent += 2;\n  } else {\n    if (fractionLen === 0) {\n      parsedNumber.digits.push(0, 0);\n    } else if (fractionLen === 1) {\n      parsedNumber.digits.push(0);\n    }\n    parsedNumber.integerLen += 2;\n  }\n  return parsedNumber;\n}\n/**\n * Parses a number.\n * Significant bits of this parse algorithm came from https://github.com/MikeMcl/big.js/\n */\nfunction parseNumber(num) {\n  let numStr = Math.abs(num) + '';\n  let exponent = 0,\n    digits,\n    integerLen;\n  let i, j, zeros;\n  // Decimal point?\n  if ((integerLen = numStr.indexOf(DECIMAL_SEP)) > -1) {\n    numStr = numStr.replace(DECIMAL_SEP, '');\n  }\n  // Exponential form?\n  if ((i = numStr.search(/e/i)) > 0) {\n    // Work out the exponent.\n    if (integerLen < 0) integerLen = i;\n    integerLen += +numStr.slice(i + 1);\n    numStr = numStr.substring(0, i);\n  } else if (integerLen < 0) {\n    // There was no decimal point or exponent so it is an integer.\n    integerLen = numStr.length;\n  }\n  // Count the number of leading zeros.\n  for (i = 0; numStr.charAt(i) === ZERO_CHAR; i++) {\n    /* empty */\n  }\n  if (i === (zeros = numStr.length)) {\n    // The digits are all zero.\n    digits = [0];\n    integerLen = 1;\n  } else {\n    // Count the number of trailing zeros\n    zeros--;\n    while (numStr.charAt(zeros) === ZERO_CHAR) zeros--;\n    // Trailing zeros are insignificant so ignore them\n    integerLen -= i;\n    digits = [];\n    // Convert string to array of digits without leading/trailing zeros.\n    for (j = 0; i <= zeros; i++, j++) {\n      digits[j] = Number(numStr.charAt(i));\n    }\n  }\n  // If the number overflows the maximum allowed digits then use an exponent.\n  if (integerLen > MAX_DIGITS) {\n    digits = digits.splice(0, MAX_DIGITS - 1);\n    exponent = integerLen - 1;\n    integerLen = 1;\n  }\n  return {\n    digits,\n    exponent,\n    integerLen\n  };\n}\n/**\n * Round the parsed number to the specified number of decimal places\n * This function changes the parsedNumber in-place\n */\nfunction roundNumber(parsedNumber, minFrac, maxFrac) {\n  if (minFrac > maxFrac) {\n    throw new Error(`The minimum number of digits after fraction (${minFrac}) is higher than the maximum (${maxFrac}).`);\n  }\n  let digits = parsedNumber.digits;\n  let fractionLen = digits.length - parsedNumber.integerLen;\n  const fractionSize = Math.min(Math.max(minFrac, fractionLen), maxFrac);\n  // The index of the digit to where rounding is to occur\n  let roundAt = fractionSize + parsedNumber.integerLen;\n  let digit = digits[roundAt];\n  if (roundAt > 0) {\n    // Drop fractional digits beyond `roundAt`\n    digits.splice(Math.max(parsedNumber.integerLen, roundAt));\n    // Set non-fractional digits beyond `roundAt` to 0\n    for (let j = roundAt; j < digits.length; j++) {\n      digits[j] = 0;\n    }\n  } else {\n    // We rounded to zero so reset the parsedNumber\n    fractionLen = Math.max(0, fractionLen);\n    parsedNumber.integerLen = 1;\n    digits.length = Math.max(1, roundAt = fractionSize + 1);\n    digits[0] = 0;\n    for (let i = 1; i < roundAt; i++) digits[i] = 0;\n  }\n  if (digit >= 5) {\n    if (roundAt - 1 < 0) {\n      for (let k = 0; k > roundAt; k--) {\n        digits.unshift(0);\n        parsedNumber.integerLen++;\n      }\n      digits.unshift(1);\n      parsedNumber.integerLen++;\n    } else {\n      digits[roundAt - 1]++;\n    }\n  }\n  // Pad out with zeros to get the required fraction length\n  for (; fractionLen < Math.max(0, fractionSize); fractionLen++) digits.push(0);\n  let dropTrailingZeros = fractionSize !== 0;\n  // Minimal length = nb of decimals required + current nb of integers\n  // Any number besides that is optional and can be removed if it's a trailing 0\n  const minLen = minFrac + parsedNumber.integerLen;\n  // Do any carrying, e.g. a digit was rounded up to 10\n  const carry = digits.reduceRight(function (carry, d, i, digits) {\n    d = d + carry;\n    digits[i] = d < 10 ? d : d - 10; // d % 10\n    if (dropTrailingZeros) {\n      // Do not keep meaningless fractional trailing zeros (e.g. 15.52000 --> 15.52)\n      if (digits[i] === 0 && i >= minLen) {\n        digits.pop();\n      } else {\n        dropTrailingZeros = false;\n      }\n    }\n    return d >= 10 ? 1 : 0; // Math.floor(d / 10);\n  }, 0);\n  if (carry) {\n    digits.unshift(carry);\n    parsedNumber.integerLen++;\n  }\n}\nfunction parseIntAutoRadix(text) {\n  const result = parseInt(text);\n  if (isNaN(result)) {\n    throw new Error('Invalid integer literal when parsing ' + text);\n  }\n  return result;\n}\n\n/**\n * @publicApi\n */\nlet NgLocalization = /*#__PURE__*/(() => {\n  class NgLocalization {\n    static ɵfac = function NgLocalization_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgLocalization)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: NgLocalization,\n      factory: function NgLocalization_Factory(__ngFactoryType__) {\n        let __ngConditionalFactory__ = null;\n        if (__ngFactoryType__) {\n          __ngConditionalFactory__ = new __ngFactoryType__();\n        } else {\n          __ngConditionalFactory__ = (locale => new NgLocaleLocalization(locale))(i0.ɵɵinject(LOCALE_ID));\n        }\n        return __ngConditionalFactory__;\n      },\n      providedIn: 'root'\n    });\n  }\n  return NgLocalization;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Returns the plural category for a given value.\n * - \"=value\" when the case exists,\n * - the plural category otherwise\n */\nfunction getPluralCategory(value, cases, ngLocalization, locale) {\n  let key = `=${value}`;\n  if (cases.indexOf(key) > -1) {\n    return key;\n  }\n  key = ngLocalization.getPluralCategory(value, locale);\n  if (cases.indexOf(key) > -1) {\n    return key;\n  }\n  if (cases.indexOf('other') > -1) {\n    return 'other';\n  }\n  throw new Error(`No plural message found for value \"${value}\"`);\n}\n/**\n * Returns the plural case based on the locale\n *\n * @publicApi\n */\nlet NgLocaleLocalization = /*#__PURE__*/(() => {\n  class NgLocaleLocalization extends NgLocalization {\n    locale;\n    constructor(locale) {\n      super();\n      this.locale = locale;\n    }\n    getPluralCategory(value, locale) {\n      const plural = getLocalePluralCase(locale || this.locale)(value);\n      switch (plural) {\n        case Plural.Zero:\n          return 'zero';\n        case Plural.One:\n          return 'one';\n        case Plural.Two:\n          return 'two';\n        case Plural.Few:\n          return 'few';\n        case Plural.Many:\n          return 'many';\n        default:\n          return 'other';\n      }\n    }\n    static ɵfac = function NgLocaleLocalization_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgLocaleLocalization)(i0.ɵɵinject(LOCALE_ID));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: NgLocaleLocalization,\n      factory: NgLocaleLocalization.ɵfac\n    });\n  }\n  return NgLocaleLocalization;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst WS_REGEXP = /\\s+/;\nconst EMPTY_ARRAY = [];\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```html\n * <some-element [ngClass]=\"stringExp|arrayExp|objExp|Set\">...</some-element>\n *\n * <some-element [ngClass]=\"{'class1 class2 class3' : true}\">...</some-element>\n * ```\n *\n * For more simple use cases you can use the [class bindings](/guide/templates/binding#css-class-and-style-property-bindings) directly.\n * It doesn't require importing a directive.\n *\n * ```html\n * <some-element [class]=\"'first second'\">...</some-element>\n *\n * <some-element [class.expanded]=\"isExpanded\">...</some-element>\n *\n * <some-element [class]=\"['first', 'second']\">...</some-element>\n *\n * <some-element [class]=\"{'first': true, 'second': true, 'third': false}\">...</some-element>\n * ```\n * @description\n *\n * Adds and removes CSS classes on an HTML element.\n *\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\n * - `string` - the CSS classes listed in the string (space delimited) are added,\n * - `Array` - the CSS classes declared as Array elements are added,\n * - `Object` - keys are CSS classes that get added when the expression given in the value\n *              evaluates to a truthy value, otherwise they are removed.\n *\n *\n * @see [Class bindings](/guide/templates/binding#css-class-and-style-property-bindings)\n *\n * @publicApi\n */\nlet NgClass = /*#__PURE__*/(() => {\n  class NgClass {\n    _ngEl;\n    _renderer;\n    initialClasses = EMPTY_ARRAY;\n    rawClass;\n    stateMap = new Map();\n    constructor(_ngEl, _renderer) {\n      this._ngEl = _ngEl;\n      this._renderer = _renderer;\n    }\n    set klass(value) {\n      this.initialClasses = value != null ? value.trim().split(WS_REGEXP) : EMPTY_ARRAY;\n    }\n    set ngClass(value) {\n      this.rawClass = typeof value === 'string' ? value.trim().split(WS_REGEXP) : value;\n    }\n    /*\n    The NgClass directive uses the custom change detection algorithm for its inputs. The custom\n    algorithm is necessary since inputs are represented as complex object or arrays that need to be\n    deeply-compared.\n       This algorithm is perf-sensitive since NgClass is used very frequently and its poor performance\n    might negatively impact runtime performance of the entire change detection cycle. The design of\n    this algorithm is making sure that:\n    - there is no unnecessary DOM manipulation (CSS classes are added / removed from the DOM only when\n    needed), even if references to bound objects change;\n    - there is no memory allocation if nothing changes (even relatively modest memory allocation\n    during the change detection cycle can result in GC pauses for some of the CD cycles).\n       The algorithm works by iterating over the set of bound classes, staring with [class] binding and\n    then going over [ngClass] binding. For each CSS class name:\n    - check if it was seen before (this information is tracked in the state map) and if its value\n    changed;\n    - mark it as \"touched\" - names that are not marked are not present in the latest set of binding\n    and we can remove such class name from the internal data structures;\n       After iteration over all the CSS class names we've got data structure with all the information\n    necessary to synchronize changes to the DOM - it is enough to iterate over the state map, flush\n    changes to the DOM and reset internal data structures so those are ready for the next change\n    detection cycle.\n     */\n    ngDoCheck() {\n      // classes from the [class] binding\n      for (const klass of this.initialClasses) {\n        this._updateState(klass, true);\n      }\n      // classes from the [ngClass] binding\n      const rawClass = this.rawClass;\n      if (Array.isArray(rawClass) || rawClass instanceof Set) {\n        for (const klass of rawClass) {\n          this._updateState(klass, true);\n        }\n      } else if (rawClass != null) {\n        for (const klass of Object.keys(rawClass)) {\n          this._updateState(klass, Boolean(rawClass[klass]));\n        }\n      }\n      this._applyStateDiff();\n    }\n    _updateState(klass, nextEnabled) {\n      const state = this.stateMap.get(klass);\n      if (state !== undefined) {\n        if (state.enabled !== nextEnabled) {\n          state.changed = true;\n          state.enabled = nextEnabled;\n        }\n        state.touched = true;\n      } else {\n        this.stateMap.set(klass, {\n          enabled: nextEnabled,\n          changed: true,\n          touched: true\n        });\n      }\n    }\n    _applyStateDiff() {\n      for (const stateEntry of this.stateMap) {\n        const klass = stateEntry[0];\n        const state = stateEntry[1];\n        if (state.changed) {\n          this._toggleClass(klass, state.enabled);\n          state.changed = false;\n        } else if (!state.touched) {\n          // A class that was previously active got removed from the new collection of classes -\n          // remove from the DOM as well.\n          if (state.enabled) {\n            this._toggleClass(klass, false);\n          }\n          this.stateMap.delete(klass);\n        }\n        state.touched = false;\n      }\n    }\n    _toggleClass(klass, enabled) {\n      if (ngDevMode) {\n        if (typeof klass !== 'string') {\n          throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${_stringify(klass)}`);\n        }\n      }\n      klass = klass.trim();\n      if (klass.length > 0) {\n        klass.split(WS_REGEXP).forEach(klass => {\n          if (enabled) {\n            this._renderer.addClass(this._ngEl.nativeElement, klass);\n          } else {\n            this._renderer.removeClass(this._ngEl.nativeElement, klass);\n          }\n        });\n      }\n    }\n    static ɵfac = function NgClass_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgClass)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgClass,\n      selectors: [[\"\", \"ngClass\", \"\"]],\n      inputs: {\n        klass: [0, \"class\", \"klass\"],\n        ngClass: \"ngClass\"\n      }\n    });\n  }\n  return NgClass;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Instantiates a {@link /api/core/Component Component} type and inserts its Host View into the current View.\n * `NgComponentOutlet` provides a declarative approach for dynamic component creation.\n *\n * `NgComponentOutlet` requires a component type, if a falsy value is set the view will clear and\n * any existing component will be destroyed.\n *\n * @usageNotes\n *\n * ### Fine tune control\n *\n * You can control the component creation process by using the following optional attributes:\n *\n * * `ngComponentOutletInputs`: Optional component inputs object, which will be bind to the\n * component.\n *\n * * `ngComponentOutletInjector`: Optional custom {@link Injector} that will be used as parent for\n * the Component. Defaults to the injector of the current view container.\n *\n * * `ngComponentOutletContent`: Optional list of projectable nodes to insert into the content\n * section of the component, if it exists.\n *\n * * `ngComponentOutletNgModule`: Optional NgModule class reference to allow loading another\n * module dynamically, then loading a component from that module.\n *\n * * `ngComponentOutletNgModuleFactory`: Deprecated config option that allows providing optional\n * NgModule factory to allow loading another module dynamically, then loading a component from that\n * module. Use `ngComponentOutletNgModule` instead.\n *\n * ### Syntax\n *\n * Simple\n * ```html\n * <ng-container *ngComponentOutlet=\"componentTypeExpression\"></ng-container>\n * ```\n *\n * With inputs\n * ```html\n * <ng-container *ngComponentOutlet=\"componentTypeExpression;\n *                                   inputs: inputsExpression;\">\n * </ng-container>\n * ```\n *\n * Customized injector/content\n * ```html\n * <ng-container *ngComponentOutlet=\"componentTypeExpression;\n *                                   injector: injectorExpression;\n *                                   content: contentNodesExpression;\">\n * </ng-container>\n * ```\n *\n * Customized NgModule reference\n * ```html\n * <ng-container *ngComponentOutlet=\"componentTypeExpression;\n *                                   ngModule: ngModuleClass;\">\n * </ng-container>\n * ```\n *\n * ### A simple example\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='SimpleExample'}\n *\n * A more complete example with additional options:\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='CompleteExample'}\n *\n * @publicApi\n * @ngModule CommonModule\n */\nlet NgComponentOutlet = /*#__PURE__*/(() => {\n  class NgComponentOutlet {\n    _viewContainerRef;\n    // TODO(crisbeto): this should be `Type<T>`, but doing so broke a few\n    // targets in a TGP so we need to do it in a major version.\n    /** Component that should be rendered in the outlet. */\n    ngComponentOutlet = null;\n    ngComponentOutletInputs;\n    ngComponentOutletInjector;\n    ngComponentOutletContent;\n    ngComponentOutletNgModule;\n    /**\n     * @deprecated This input is deprecated, use `ngComponentOutletNgModule` instead.\n     */\n    ngComponentOutletNgModuleFactory;\n    _componentRef;\n    _moduleRef;\n    /**\n     * A helper data structure that allows us to track inputs that were part of the\n     * ngComponentOutletInputs expression. Tracking inputs is necessary for proper removal of ones\n     * that are no longer referenced.\n     */\n    _inputsUsed = new Map();\n    /**\n     * Gets the instance of the currently-rendered component.\n     * Will be null if no component has been rendered.\n     */\n    get componentInstance() {\n      return this._componentRef?.instance ?? null;\n    }\n    constructor(_viewContainerRef) {\n      this._viewContainerRef = _viewContainerRef;\n    }\n    _needToReCreateNgModuleInstance(changes) {\n      // Note: square brackets property accessor is safe for Closure compiler optimizations (the\n      // `changes` argument of the `ngOnChanges` lifecycle hook retains the names of the fields that\n      // were changed).\n      return changes['ngComponentOutletNgModule'] !== undefined || changes['ngComponentOutletNgModuleFactory'] !== undefined;\n    }\n    _needToReCreateComponentInstance(changes) {\n      // Note: square brackets property accessor is safe for Closure compiler optimizations (the\n      // `changes` argument of the `ngOnChanges` lifecycle hook retains the names of the fields that\n      // were changed).\n      return changes['ngComponentOutlet'] !== undefined || changes['ngComponentOutletContent'] !== undefined || changes['ngComponentOutletInjector'] !== undefined || this._needToReCreateNgModuleInstance(changes);\n    }\n    /** @docs-private */\n    ngOnChanges(changes) {\n      if (this._needToReCreateComponentInstance(changes)) {\n        this._viewContainerRef.clear();\n        this._inputsUsed.clear();\n        this._componentRef = undefined;\n        if (this.ngComponentOutlet) {\n          const injector = this.ngComponentOutletInjector || this._viewContainerRef.parentInjector;\n          if (this._needToReCreateNgModuleInstance(changes)) {\n            this._moduleRef?.destroy();\n            if (this.ngComponentOutletNgModule) {\n              this._moduleRef = createNgModule(this.ngComponentOutletNgModule, getParentInjector(injector));\n            } else if (this.ngComponentOutletNgModuleFactory) {\n              this._moduleRef = this.ngComponentOutletNgModuleFactory.create(getParentInjector(injector));\n            } else {\n              this._moduleRef = undefined;\n            }\n          }\n          this._componentRef = this._viewContainerRef.createComponent(this.ngComponentOutlet, {\n            injector,\n            ngModuleRef: this._moduleRef,\n            projectableNodes: this.ngComponentOutletContent\n          });\n        }\n      }\n    }\n    /** @docs-private */\n    ngDoCheck() {\n      if (this._componentRef) {\n        if (this.ngComponentOutletInputs) {\n          for (const inputName of Object.keys(this.ngComponentOutletInputs)) {\n            this._inputsUsed.set(inputName, true);\n          }\n        }\n        this._applyInputStateDiff(this._componentRef);\n      }\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      this._moduleRef?.destroy();\n    }\n    _applyInputStateDiff(componentRef) {\n      for (const [inputName, touched] of this._inputsUsed) {\n        if (!touched) {\n          // The input that was previously active no longer exists and needs to be set to undefined.\n          componentRef.setInput(inputName, undefined);\n          this._inputsUsed.delete(inputName);\n        } else {\n          // Since touched is true, it can be asserted that the inputs object is not empty.\n          componentRef.setInput(inputName, this.ngComponentOutletInputs[inputName]);\n          this._inputsUsed.set(inputName, false);\n        }\n      }\n    }\n    static ɵfac = function NgComponentOutlet_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgComponentOutlet)(i0.ɵɵdirectiveInject(i0.ViewContainerRef));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgComponentOutlet,\n      selectors: [[\"\", \"ngComponentOutlet\", \"\"]],\n      inputs: {\n        ngComponentOutlet: \"ngComponentOutlet\",\n        ngComponentOutletInputs: \"ngComponentOutletInputs\",\n        ngComponentOutletInjector: \"ngComponentOutletInjector\",\n        ngComponentOutletContent: \"ngComponentOutletContent\",\n        ngComponentOutletNgModule: \"ngComponentOutletNgModule\",\n        ngComponentOutletNgModuleFactory: \"ngComponentOutletNgModuleFactory\"\n      },\n      exportAs: [\"ngComponentOutlet\"],\n      features: [i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return NgComponentOutlet;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n// Helper function that returns an Injector instance of a parent NgModule.\nfunction getParentInjector(injector) {\n  const parentNgModule = injector.get(NgModuleRef);\n  return parentNgModule.injector;\n}\n\n/**\n * @publicApi\n */\nclass NgForOfContext {\n  $implicit;\n  ngForOf;\n  index;\n  count;\n  constructor(/** Reference to the current item from the collection. */\n  $implicit,\n  /**\n   * The value of the iterable expression. Useful when the expression is\n   * more complex then a property access, for example when using the async pipe\n   * (`userStreams | async`).\n   */\n  ngForOf, /** Returns an index of the current item in the collection. */\n  index, /** Returns total amount of items in the collection. */\n  count) {\n    this.$implicit = $implicit;\n    this.ngForOf = ngForOf;\n    this.index = index;\n    this.count = count;\n  }\n  // Indicates whether this is the first item in the collection.\n  get first() {\n    return this.index === 0;\n  }\n  // Indicates whether this is the last item in the collection.\n  get last() {\n    return this.index === this.count - 1;\n  }\n  // Indicates whether an index of this item in the collection is even.\n  get even() {\n    return this.index % 2 === 0;\n  }\n  // Indicates whether an index of this item in the collection is odd.\n  get odd() {\n    return !this.even;\n  }\n}\n/**\n * A [structural directive](guide/directives/structural-directives) that renders\n * a template for each item in a collection.\n * The directive is placed on an element, which becomes the parent\n * of the cloned templates.\n *\n * The `ngForOf` directive is generally used in the\n * [shorthand form](guide/directives/structural-directives#asterisk) `*ngFor`.\n * In this form, the template to be rendered for each iteration is the content\n * of an anchor element containing the directive.\n *\n * The following example shows the shorthand syntax with some options,\n * contained in an `<li>` element.\n *\n * ```html\n * <li *ngFor=\"let item of items; index as i; trackBy: trackByFn\">...</li>\n * ```\n *\n * The shorthand form expands into a long form that uses the `ngForOf` selector\n * on an `<ng-template>` element.\n * The content of the `<ng-template>` element is the `<li>` element that held the\n * short-form directive.\n *\n * Here is the expanded version of the short-form example.\n *\n * ```html\n * <ng-template ngFor let-item [ngForOf]=\"items\" let-i=\"index\" [ngForTrackBy]=\"trackByFn\">\n *   <li>...</li>\n * </ng-template>\n * ```\n *\n * Angular automatically expands the shorthand syntax as it compiles the template.\n * The context for each embedded view is logically merged to the current component\n * context according to its lexical position.\n *\n * When using the shorthand syntax, Angular allows only [one structural directive\n * on an element](guide/directives/structural-directives#one-per-element).\n * If you want to iterate conditionally, for example,\n * put the `*ngIf` on a container element that wraps the `*ngFor` element.\n * For further discussion, see\n * [Structural Directives](guide/directives/structural-directives#one-per-element).\n *\n * @usageNotes\n *\n * ### Local variables\n *\n * `NgForOf` provides exported values that can be aliased to local variables.\n * For example:\n *\n *  ```html\n * <li *ngFor=\"let user of users; index as i; first as isFirst\">\n *    {{i}}/{{users.length}}. {{user}} <span *ngIf=\"isFirst\">default</span>\n * </li>\n * ```\n *\n * The following exported values can be aliased to local variables:\n *\n * - `$implicit: T`: The value of the individual items in the iterable (`ngForOf`).\n * - `ngForOf: NgIterable<T>`: The value of the iterable expression. Useful when the expression is\n * more complex then a property access, for example when using the async pipe (`userStreams |\n * async`).\n * - `index: number`: The index of the current item in the iterable.\n * - `count: number`: The length of the iterable.\n * - `first: boolean`: True when the item is the first item in the iterable.\n * - `last: boolean`: True when the item is the last item in the iterable.\n * - `even: boolean`: True when the item has an even index in the iterable.\n * - `odd: boolean`: True when the item has an odd index in the iterable.\n *\n * ### Change propagation\n *\n * When the contents of the iterator changes, `NgForOf` makes the corresponding changes to the DOM:\n *\n * * When an item is added, a new instance of the template is added to the DOM.\n * * When an item is removed, its template instance is removed from the DOM.\n * * When items are reordered, their respective templates are reordered in the DOM.\n *\n * Angular uses object identity to track insertions and deletions within the iterator and reproduce\n * those changes in the DOM. This has important implications for animations and any stateful\n * controls that are present, such as `<input>` elements that accept user input. Inserted rows can\n * be animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state\n * such as user input.\n * For more on animations, see [Transitions and Triggers](guide/animations/transition-and-triggers).\n *\n * The identities of elements in the iterator can change while the data does not.\n * This can happen, for example, if the iterator is produced from an RPC to the server, and that\n * RPC is re-run. Even if the data hasn't changed, the second response produces objects with\n * different identities, and Angular must tear down the entire DOM and rebuild it (as if all old\n * elements were deleted and all new elements inserted).\n *\n * To avoid this expensive operation, you can customize the default tracking algorithm.\n * by supplying the `trackBy` option to `NgForOf`.\n * `trackBy` takes a function that has two arguments: `index` and `item`.\n * If `trackBy` is given, Angular tracks changes by the return value of the function.\n *\n * @see [Structural Directives](guide/directives/structural-directives)\n * @ngModule CommonModule\n * @publicApi\n */\nlet NgForOf = /*#__PURE__*/(() => {\n  class NgForOf {\n    _viewContainer;\n    _template;\n    _differs;\n    /**\n     * The value of the iterable expression, which can be used as a\n     * [template input variable](guide/directives/structural-directives#shorthand).\n     */\n    set ngForOf(ngForOf) {\n      this._ngForOf = ngForOf;\n      this._ngForOfDirty = true;\n    }\n    /**\n     * Specifies a custom `TrackByFunction` to compute the identity of items in an iterable.\n     *\n     * If a custom `TrackByFunction` is not provided, `NgForOf` will use the item's [object\n     * identity](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)\n     * as the key.\n     *\n     * `NgForOf` uses the computed key to associate items in an iterable with DOM elements\n     * it produces for these items.\n     *\n     * A custom `TrackByFunction` is useful to provide good user experience in cases when items in an\n     * iterable rendered using `NgForOf` have a natural identifier (for example, custom ID or a\n     * primary key), and this iterable could be updated with new object instances that still\n     * represent the same underlying entity (for example, when data is re-fetched from the server,\n     * and the iterable is recreated and re-rendered, but most of the data is still the same).\n     *\n     * @see {@link TrackByFunction}\n     */\n    set ngForTrackBy(fn) {\n      if ((typeof ngDevMode === 'undefined' || ngDevMode) && fn != null && typeof fn !== 'function') {\n        console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}. ` + `See https://angular.io/api/common/NgForOf#change-propagation for more information.`);\n      }\n      this._trackByFn = fn;\n    }\n    get ngForTrackBy() {\n      return this._trackByFn;\n    }\n    _ngForOf = null;\n    _ngForOfDirty = true;\n    _differ = null;\n    // waiting for microsoft/typescript#43662 to allow the return type `TrackByFunction|undefined` for\n    // the getter\n    _trackByFn;\n    constructor(_viewContainer, _template, _differs) {\n      this._viewContainer = _viewContainer;\n      this._template = _template;\n      this._differs = _differs;\n    }\n    /**\n     * A reference to the template that is stamped out for each item in the iterable.\n     * @see [template reference variable](guide/templates/variables#template-reference-variables)\n     */\n    set ngForTemplate(value) {\n      // TODO(TS2.1): make TemplateRef<Partial<NgForRowOf<T>>> once we move to TS v2.1\n      // The current type is too restrictive; a template that just uses index, for example,\n      // should be acceptable.\n      if (value) {\n        this._template = value;\n      }\n    }\n    /**\n     * Applies the changes when needed.\n     * @docs-private\n     */\n    ngDoCheck() {\n      if (this._ngForOfDirty) {\n        this._ngForOfDirty = false;\n        // React on ngForOf changes only once all inputs have been initialized\n        const value = this._ngForOf;\n        if (!this._differ && value) {\n          if (typeof ngDevMode === 'undefined' || ngDevMode) {\n            try {\n              // CAUTION: this logic is duplicated for production mode below, as the try-catch\n              // is only present in development builds.\n              this._differ = this._differs.find(value).create(this.ngForTrackBy);\n            } catch {\n              let errorMessage = `Cannot find a differ supporting object '${value}' of type '` + `${getTypeName(value)}'. NgFor only supports binding to Iterables, such as Arrays.`;\n              if (typeof value === 'object') {\n                errorMessage += ' Did you mean to use the keyvalue pipe?';\n              }\n              throw new _RuntimeError(-2200 /* RuntimeErrorCode.NG_FOR_MISSING_DIFFER */, errorMessage);\n            }\n          } else {\n            // CAUTION: this logic is duplicated for development mode above, as the try-catch\n            // is only present in development builds.\n            this._differ = this._differs.find(value).create(this.ngForTrackBy);\n          }\n        }\n      }\n      if (this._differ) {\n        const changes = this._differ.diff(this._ngForOf);\n        if (changes) this._applyChanges(changes);\n      }\n    }\n    _applyChanges(changes) {\n      const viewContainer = this._viewContainer;\n      changes.forEachOperation((item, adjustedPreviousIndex, currentIndex) => {\n        if (item.previousIndex == null) {\n          // NgForOf is never \"null\" or \"undefined\" here because the differ detected\n          // that a new item needs to be inserted from the iterable. This implies that\n          // there is an iterable value for \"_ngForOf\".\n          viewContainer.createEmbeddedView(this._template, new NgForOfContext(item.item, this._ngForOf, -1, -1), currentIndex === null ? undefined : currentIndex);\n        } else if (currentIndex == null) {\n          viewContainer.remove(adjustedPreviousIndex === null ? undefined : adjustedPreviousIndex);\n        } else if (adjustedPreviousIndex !== null) {\n          const view = viewContainer.get(adjustedPreviousIndex);\n          viewContainer.move(view, currentIndex);\n          applyViewChange(view, item);\n        }\n      });\n      for (let i = 0, ilen = viewContainer.length; i < ilen; i++) {\n        const viewRef = viewContainer.get(i);\n        const context = viewRef.context;\n        context.index = i;\n        context.count = ilen;\n        context.ngForOf = this._ngForOf;\n      }\n      changes.forEachIdentityChange(record => {\n        const viewRef = viewContainer.get(record.currentIndex);\n        applyViewChange(viewRef, record);\n      });\n    }\n    /**\n     * Asserts the correct type of the context for the template that `NgForOf` will render.\n     *\n     * The presence of this method is a signal to the Ivy template type-check compiler that the\n     * `NgForOf` structural directive renders its template with a specific context type.\n     */\n    static ngTemplateContextGuard(dir, ctx) {\n      return true;\n    }\n    static ɵfac = function NgForOf_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgForOf)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(i0.IterableDiffers));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgForOf,\n      selectors: [[\"\", \"ngFor\", \"\", \"ngForOf\", \"\"]],\n      inputs: {\n        ngForOf: \"ngForOf\",\n        ngForTrackBy: \"ngForTrackBy\",\n        ngForTemplate: \"ngForTemplate\"\n      }\n    });\n  }\n  return NgForOf;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction applyViewChange(view, record) {\n  view.context.$implicit = record.item;\n}\nfunction getTypeName(type) {\n  return type['name'] || typeof type;\n}\n\n/**\n * A structural directive that conditionally includes a template based on the value of\n * an expression coerced to Boolean.\n * When the expression evaluates to true, Angular renders the template\n * provided in a `then` clause, and when  false or null,\n * Angular renders the template provided in an optional `else` clause. The default\n * template for the `else` clause is blank.\n *\n * A [shorthand form](guide/directives/structural-directives#asterisk) of the directive,\n * `*ngIf=\"condition\"`, is generally used, provided\n * as an attribute of the anchor element for the inserted template.\n * Angular expands this into a more explicit version, in which the anchor element\n * is contained in an `<ng-template>` element.\n *\n * Simple form with shorthand syntax:\n *\n * ```html\n * <div *ngIf=\"condition\">Content to render when condition is true.</div>\n * ```\n *\n * Simple form with expanded syntax:\n *\n * ```html\n * <ng-template [ngIf]=\"condition\"><div>Content to render when condition is\n * true.</div></ng-template>\n * ```\n *\n * Form with an \"else\" block:\n *\n * ```html\n * <div *ngIf=\"condition; else elseBlock\">Content to render when condition is true.</div>\n * <ng-template #elseBlock>Content to render when condition is false.</ng-template>\n * ```\n *\n * Shorthand form with \"then\" and \"else\" blocks:\n *\n * ```html\n * <div *ngIf=\"condition; then thenBlock else elseBlock\"></div>\n * <ng-template #thenBlock>Content to render when condition is true.</ng-template>\n * <ng-template #elseBlock>Content to render when condition is false.</ng-template>\n * ```\n *\n * Form with storing the value locally:\n *\n * ```html\n * <div *ngIf=\"condition as value; else elseBlock\">{{value}}</div>\n * <ng-template #elseBlock>Content to render when value is null.</ng-template>\n * ```\n *\n * @usageNotes\n *\n * The `*ngIf` directive is most commonly used to conditionally show an inline template,\n * as seen in the following  example.\n * The default `else` template is blank.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfSimple'}\n *\n * ### Showing an alternative template using `else`\n *\n * To display a template when `expression` evaluates to false, use an `else` template\n * binding as shown in the following example.\n * The `else` binding points to an `<ng-template>`  element labeled `#elseBlock`.\n * The template can be defined anywhere in the component view, but is typically placed right after\n * `ngIf` for readability.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfElse'}\n *\n * ### Using an external `then` template\n *\n * In the previous example, the then-clause template is specified inline, as the content of the\n * tag that contains the `ngIf` directive. You can also specify a template that is defined\n * externally, by referencing a labeled `<ng-template>` element. When you do this, you can\n * change which template to use at runtime, as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfThenElse'}\n *\n * ### Storing a conditional result in a variable\n *\n * You might want to show a set of properties from the same object. If you are waiting\n * for asynchronous data, the object can be undefined.\n * In this case, you can use `ngIf` and store the result of the condition in a local\n * variable as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfAs'}\n *\n * This code uses only one `AsyncPipe`, so only one subscription is created.\n * The conditional statement stores the result of `userStream|async` in the local variable `user`.\n * You can then bind the local `user` repeatedly.\n *\n * The conditional displays the data only if `userStream` returns a value,\n * so you don't need to use the\n * safe-navigation-operator (`?.`)\n * to guard against null values when accessing properties.\n * You can display an alternative template while waiting for the data.\n *\n * ### Shorthand syntax\n *\n * The shorthand syntax `*ngIf` expands into two separate template specifications\n * for the \"then\" and \"else\" clauses. For example, consider the following shorthand statement,\n * that is meant to show a loading page while waiting for data to be loaded.\n *\n * ```html\n * <div class=\"hero-list\" *ngIf=\"heroes else loading\">\n *  ...\n * </div>\n *\n * <ng-template #loading>\n *  <div>Loading...</div>\n * </ng-template>\n * ```\n *\n * You can see that the \"else\" clause references the `<ng-template>`\n * with the `#loading` label, and the template for the \"then\" clause\n * is provided as the content of the anchor element.\n *\n * However, when Angular expands the shorthand syntax, it creates\n * another `<ng-template>` tag, with `ngIf` and `ngIfElse` directives.\n * The anchor element containing the template for the \"then\" clause becomes\n * the content of this unlabeled `<ng-template>` tag.\n *\n * ```html\n * <ng-template [ngIf]=\"heroes\" [ngIfElse]=\"loading\">\n *  <div class=\"hero-list\">\n *   ...\n *  </div>\n * </ng-template>\n *\n * <ng-template #loading>\n *  <div>Loading...</div>\n * </ng-template>\n * ```\n *\n * The presence of the implicit template object has implications for the nesting of\n * structural directives. For more on this subject, see\n * [Structural Directives](guide/directives/structural-directives#one-per-element).\n *\n * @ngModule CommonModule\n * @publicApi\n */\nlet NgIf = /*#__PURE__*/(() => {\n  class NgIf {\n    _viewContainer;\n    _context = new NgIfContext();\n    _thenTemplateRef = null;\n    _elseTemplateRef = null;\n    _thenViewRef = null;\n    _elseViewRef = null;\n    constructor(_viewContainer, templateRef) {\n      this._viewContainer = _viewContainer;\n      this._thenTemplateRef = templateRef;\n    }\n    /**\n     * The Boolean expression to evaluate as the condition for showing a template.\n     */\n    set ngIf(condition) {\n      this._context.$implicit = this._context.ngIf = condition;\n      this._updateView();\n    }\n    /**\n     * A template to show if the condition expression evaluates to true.\n     */\n    set ngIfThen(templateRef) {\n      assertTemplate(templateRef, (typeof ngDevMode === 'undefined' || ngDevMode) && 'ngIfThen');\n      this._thenTemplateRef = templateRef;\n      this._thenViewRef = null; // clear previous view if any.\n      this._updateView();\n    }\n    /**\n     * A template to show if the condition expression evaluates to false.\n     */\n    set ngIfElse(templateRef) {\n      assertTemplate(templateRef, (typeof ngDevMode === 'undefined' || ngDevMode) && 'ngIfElse');\n      this._elseTemplateRef = templateRef;\n      this._elseViewRef = null; // clear previous view if any.\n      this._updateView();\n    }\n    _updateView() {\n      if (this._context.$implicit) {\n        if (!this._thenViewRef) {\n          this._viewContainer.clear();\n          this._elseViewRef = null;\n          if (this._thenTemplateRef) {\n            this._thenViewRef = this._viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);\n          }\n        }\n      } else {\n        if (!this._elseViewRef) {\n          this._viewContainer.clear();\n          this._thenViewRef = null;\n          if (this._elseTemplateRef) {\n            this._elseViewRef = this._viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);\n          }\n        }\n      }\n    }\n    /** @internal */\n    static ngIfUseIfTypeGuard;\n    /**\n     * Assert the correct type of the expression bound to the `ngIf` input within the template.\n     *\n     * The presence of this static field is a signal to the Ivy template type check compiler that\n     * when the `NgIf` structural directive renders its template, the type of the expression bound\n     * to `ngIf` should be narrowed in some way. For `NgIf`, the binding expression itself is used to\n     * narrow its type, which allows the strictNullChecks feature of TypeScript to work with `NgIf`.\n     */\n    static ngTemplateGuard_ngIf;\n    /**\n     * Asserts the correct type of the context for the template that `NgIf` will render.\n     *\n     * The presence of this method is a signal to the Ivy template type-check compiler that the\n     * `NgIf` structural directive renders its template with a specific context type.\n     */\n    static ngTemplateContextGuard(dir, ctx) {\n      return true;\n    }\n    static ɵfac = function NgIf_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgIf)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.TemplateRef));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgIf,\n      selectors: [[\"\", \"ngIf\", \"\"]],\n      inputs: {\n        ngIf: \"ngIf\",\n        ngIfThen: \"ngIfThen\",\n        ngIfElse: \"ngIfElse\"\n      }\n    });\n  }\n  return NgIf;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @publicApi\n */\nclass NgIfContext {\n  $implicit = null;\n  ngIf = null;\n}\nfunction assertTemplate(templateRef, property) {\n  if (templateRef && !templateRef.createEmbeddedView) {\n    throw new _RuntimeError(2020 /* RuntimeErrorCode.NG_IF_NOT_A_TEMPLATE_REF */, (typeof ngDevMode === 'undefined' || ngDevMode) && `${property} must be a TemplateRef, but received '${_stringify(templateRef)}'.`);\n  }\n}\nclass SwitchView {\n  _viewContainerRef;\n  _templateRef;\n  _created = false;\n  constructor(_viewContainerRef, _templateRef) {\n    this._viewContainerRef = _viewContainerRef;\n    this._templateRef = _templateRef;\n  }\n  create() {\n    this._created = true;\n    this._viewContainerRef.createEmbeddedView(this._templateRef);\n  }\n  destroy() {\n    this._created = false;\n    this._viewContainerRef.clear();\n  }\n  enforceState(created) {\n    if (created && !this._created) {\n      this.create();\n    } else if (!created && this._created) {\n      this.destroy();\n    }\n  }\n}\n/**\n * @ngModule CommonModule\n *\n * @description\n * The `[ngSwitch]` directive on a container specifies an expression to match against.\n * The expressions to match are provided by `ngSwitchCase` directives on views within the container.\n * - Every view that matches is rendered.\n * - If there are no matches, a view with the `ngSwitchDefault` directive is rendered.\n * - Elements within the `[NgSwitch]` statement but outside of any `NgSwitchCase`\n * or `ngSwitchDefault` directive are preserved at the location.\n *\n * @usageNotes\n * Define a container element for the directive, and specify the switch expression\n * to match against as an attribute:\n *\n * ```html\n * <container-element [ngSwitch]=\"switch_expression\">\n * ```\n *\n * Within the container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```html\n * <container-element [ngSwitch]=\"switch_expression\">\n *    <some-element *ngSwitchCase=\"match_expression_1\">...</some-element>\n * ...\n *    <some-element *ngSwitchDefault>...</some-element>\n * </container-element>\n * ```\n *\n * ### Usage Examples\n *\n * The following example shows how to use more than one case to display the same view:\n *\n * ```html\n * <container-element [ngSwitch]=\"switch_expression\">\n *   <!-- the same view can be shown in more than one case -->\n *   <some-element *ngSwitchCase=\"match_expression_1\">...</some-element>\n *   <some-element *ngSwitchCase=\"match_expression_2\">...</some-element>\n *   <some-other-element *ngSwitchCase=\"match_expression_3\">...</some-other-element>\n *   <!--default case when there are no matches -->\n *   <some-element *ngSwitchDefault>...</some-element>\n * </container-element>\n * ```\n *\n * The following example shows how cases can be nested:\n * ```html\n * <container-element [ngSwitch]=\"switch_expression\">\n *       <some-element *ngSwitchCase=\"match_expression_1\">...</some-element>\n *       <some-element *ngSwitchCase=\"match_expression_2\">...</some-element>\n *       <some-other-element *ngSwitchCase=\"match_expression_3\">...</some-other-element>\n *       <ng-container *ngSwitchCase=\"match_expression_3\">\n *         <!-- use a ng-container to group multiple root nodes -->\n *         <inner-element></inner-element>\n *         <inner-other-element></inner-other-element>\n *       </ng-container>\n *       <some-element *ngSwitchDefault>...</some-element>\n *     </container-element>\n * ```\n *\n * @publicApi\n * @see {@link NgSwitchCase}\n * @see {@link NgSwitchDefault}\n * @see [Structural Directives](guide/directives/structural-directives)\n *\n */\nlet NgSwitch = /*#__PURE__*/(() => {\n  class NgSwitch {\n    _defaultViews = [];\n    _defaultUsed = false;\n    _caseCount = 0;\n    _lastCaseCheckIndex = 0;\n    _lastCasesMatched = false;\n    _ngSwitch;\n    set ngSwitch(newValue) {\n      this._ngSwitch = newValue;\n      if (this._caseCount === 0) {\n        this._updateDefaultCases(true);\n      }\n    }\n    /** @internal */\n    _addCase() {\n      return this._caseCount++;\n    }\n    /** @internal */\n    _addDefault(view) {\n      this._defaultViews.push(view);\n    }\n    /** @internal */\n    _matchCase(value) {\n      const matched = value === this._ngSwitch;\n      this._lastCasesMatched ||= matched;\n      this._lastCaseCheckIndex++;\n      if (this._lastCaseCheckIndex === this._caseCount) {\n        this._updateDefaultCases(!this._lastCasesMatched);\n        this._lastCaseCheckIndex = 0;\n        this._lastCasesMatched = false;\n      }\n      return matched;\n    }\n    _updateDefaultCases(useDefault) {\n      if (this._defaultViews.length > 0 && useDefault !== this._defaultUsed) {\n        this._defaultUsed = useDefault;\n        for (const defaultView of this._defaultViews) {\n          defaultView.enforceState(useDefault);\n        }\n      }\n    }\n    static ɵfac = function NgSwitch_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgSwitch)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgSwitch,\n      selectors: [[\"\", \"ngSwitch\", \"\"]],\n      inputs: {\n        ngSwitch: \"ngSwitch\"\n      }\n    });\n  }\n  return NgSwitch;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @ngModule CommonModule\n *\n * @description\n * Provides a switch case expression to match against an enclosing `ngSwitch` expression.\n * When the expressions match, the given `NgSwitchCase` template is rendered.\n * If multiple match expressions match the switch expression value, all of them are displayed.\n *\n * @usageNotes\n *\n * Within a switch container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```html\n * <container-element [ngSwitch]=\"switch_expression\">\n *   <some-element *ngSwitchCase=\"match_expression_1\">...</some-element>\n *   ...\n *   <some-element *ngSwitchDefault>...</some-element>\n * </container-element>\n * ```\n *\n * Each switch-case statement contains an in-line HTML template or template reference\n * that defines the subtree to be selected if the value of the match expression\n * matches the value of the switch expression.\n *\n * As of Angular v17 the NgSwitch directive uses strict equality comparison (`===`) instead of\n * loose equality (`==`) to match different cases.\n *\n * @publicApi\n * @see {@link NgSwitch}\n * @see {@link NgSwitchDefault}\n *\n */\nlet NgSwitchCase = /*#__PURE__*/(() => {\n  class NgSwitchCase {\n    ngSwitch;\n    _view;\n    /**\n     * Stores the HTML template to be selected on match.\n     */\n    ngSwitchCase;\n    constructor(viewContainer, templateRef, ngSwitch) {\n      this.ngSwitch = ngSwitch;\n      if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n        throwNgSwitchProviderNotFoundError('ngSwitchCase', 'NgSwitchCase');\n      }\n      ngSwitch._addCase();\n      this._view = new SwitchView(viewContainer, templateRef);\n    }\n    /**\n     * Performs case matching. For internal use only.\n     * @docs-private\n     */\n    ngDoCheck() {\n      this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));\n    }\n    static ɵfac = function NgSwitchCase_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgSwitchCase)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(NgSwitch, 9));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgSwitchCase,\n      selectors: [[\"\", \"ngSwitchCase\", \"\"]],\n      inputs: {\n        ngSwitchCase: \"ngSwitchCase\"\n      }\n    });\n  }\n  return NgSwitchCase;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that is rendered when no `NgSwitchCase` expressions\n * match the `NgSwitch` expression.\n * This statement should be the final case in an `NgSwitch`.\n *\n * @publicApi\n * @see {@link NgSwitch}\n * @see {@link NgSwitchCase}\n *\n */\nlet NgSwitchDefault = /*#__PURE__*/(() => {\n  class NgSwitchDefault {\n    constructor(viewContainer, templateRef, ngSwitch) {\n      if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n        throwNgSwitchProviderNotFoundError('ngSwitchDefault', 'NgSwitchDefault');\n      }\n      ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));\n    }\n    static ɵfac = function NgSwitchDefault_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgSwitchDefault)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(NgSwitch, 9));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgSwitchDefault,\n      selectors: [[\"\", \"ngSwitchDefault\", \"\"]]\n    });\n  }\n  return NgSwitchDefault;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction throwNgSwitchProviderNotFoundError(attrName, directiveName) {\n  throw new _RuntimeError(2000 /* RuntimeErrorCode.PARENT_NG_SWITCH_NOT_FOUND */, `An element with the \"${attrName}\" attribute ` + `(matching the \"${directiveName}\" directive) must be located inside an element with the \"ngSwitch\" attribute ` + `(matching \"NgSwitch\" directive)`);\n}\n\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```html\n * <some-element [ngPlural]=\"value\">\n *   <ng-template ngPluralCase=\"=0\">there is nothing</ng-template>\n *   <ng-template ngPluralCase=\"=1\">there is one</ng-template>\n *   <ng-template ngPluralCase=\"few\">there are a few</ng-template>\n * </some-element>\n * ```\n *\n * @description\n *\n * Adds / removes DOM sub-trees based on a numeric value. Tailored for pluralization.\n *\n * Displays DOM sub-trees that match the switch expression value, or failing that, DOM sub-trees\n * that match the switch expression's pluralization category.\n *\n * To use this directive you must provide a container element that sets the `[ngPlural]` attribute\n * to a switch expression. Inner elements with a `[ngPluralCase]` will display based on their\n * expression:\n * - if `[ngPluralCase]` is set to a value starting with `=`, it will only display if the value\n *   matches the switch expression exactly,\n * - otherwise, the view will be treated as a \"category match\", and will only display if exact\n *   value matches aren't found and the value maps to its category for the defined locale.\n *\n * See http://cldr.unicode.org/index/cldr-spec/plural-rules\n *\n * @publicApi\n */\nlet NgPlural = /*#__PURE__*/(() => {\n  class NgPlural {\n    _localization;\n    _activeView;\n    _caseViews = {};\n    constructor(_localization) {\n      this._localization = _localization;\n    }\n    set ngPlural(value) {\n      this._updateView(value);\n    }\n    addCase(value, switchView) {\n      this._caseViews[value] = switchView;\n    }\n    _updateView(switchValue) {\n      this._clearViews();\n      const cases = Object.keys(this._caseViews);\n      const key = getPluralCategory(switchValue, cases, this._localization);\n      this._activateView(this._caseViews[key]);\n    }\n    _clearViews() {\n      if (this._activeView) this._activeView.destroy();\n    }\n    _activateView(view) {\n      if (view) {\n        this._activeView = view;\n        this._activeView.create();\n      }\n    }\n    static ɵfac = function NgPlural_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgPlural)(i0.ɵɵdirectiveInject(NgLocalization));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgPlural,\n      selectors: [[\"\", \"ngPlural\", \"\"]],\n      inputs: {\n        ngPlural: \"ngPlural\"\n      }\n    });\n  }\n  return NgPlural;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that will be added/removed from the parent {@link NgPlural} when the\n * given expression matches the plural expression according to CLDR rules.\n *\n * @usageNotes\n * ```html\n * <some-element [ngPlural]=\"value\">\n *   <ng-template ngPluralCase=\"=0\">...</ng-template>\n *   <ng-template ngPluralCase=\"other\">...</ng-template>\n * </some-element>\n *```\n *\n * See {@link NgPlural} for more details and example.\n *\n * @publicApi\n */\nlet NgPluralCase = /*#__PURE__*/(() => {\n  class NgPluralCase {\n    value;\n    constructor(value, template, viewContainer, ngPlural) {\n      this.value = value;\n      const isANumber = !isNaN(Number(value));\n      ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));\n    }\n    static ɵfac = function NgPluralCase_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgPluralCase)(i0.ɵɵinjectAttribute('ngPluralCase'), i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(NgPlural, 1));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgPluralCase,\n      selectors: [[\"\", \"ngPluralCase\", \"\"]]\n    });\n  }\n  return NgPluralCase;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n *\n * Set the width of the containing element to a pixel value returned by an expression.\n *\n * ```html\n * <some-element [ngStyle]=\"{'max-width.px': widthExp}\">...</some-element>\n * ```\n *\n * Set a collection of style values using an expression that returns key-value pairs.\n *\n * ```html\n * <some-element [ngStyle]=\"objExp\">...</some-element>\n * ```\n *\n * For more simple use cases you can use the [style bindings](/guide/templates/binding#css-class-and-style-property-bindings) directly.\n * It doesn't require importing a directive.\n *\n * Set the font of the containing element to the result of an expression.\n *\n * ```html\n * <some-element [style]=\"{'font-style': styleExp}\">...</some-element>\n * ```\n *\n * @description\n *\n * An attribute directive that updates styles for the containing HTML element.\n * Sets one or more style properties, specified as colon-separated key-value pairs.\n * The key is a style name, with an optional `.<unit>` suffix\n * (such as 'top.px', 'font-style.em').\n * The value is an expression to be evaluated.\n * The resulting non-null value, expressed in the given unit,\n * is assigned to the given style property.\n * If the result of evaluation is null, the corresponding style is removed.\n *\n * @see [Style bindings](/guide/templates/binding#css-class-and-style-property-bindings)\n *\n * @publicApi\n */\nlet NgStyle = /*#__PURE__*/(() => {\n  class NgStyle {\n    _ngEl;\n    _differs;\n    _renderer;\n    _ngStyle = null;\n    _differ = null;\n    constructor(_ngEl, _differs, _renderer) {\n      this._ngEl = _ngEl;\n      this._differs = _differs;\n      this._renderer = _renderer;\n    }\n    set ngStyle(values) {\n      this._ngStyle = values;\n      if (!this._differ && values) {\n        this._differ = this._differs.find(values).create();\n      }\n    }\n    ngDoCheck() {\n      if (this._differ) {\n        const changes = this._differ.diff(this._ngStyle);\n        if (changes) {\n          this._applyChanges(changes);\n        }\n      }\n    }\n    _setStyle(nameAndUnit, value) {\n      const [name, unit] = nameAndUnit.split('.');\n      const flags = name.indexOf('-') === -1 ? undefined : RendererStyleFlags2.DashCase;\n      if (value != null) {\n        this._renderer.setStyle(this._ngEl.nativeElement, name, unit ? `${value}${unit}` : value, flags);\n      } else {\n        this._renderer.removeStyle(this._ngEl.nativeElement, name, flags);\n      }\n    }\n    _applyChanges(changes) {\n      changes.forEachRemovedItem(record => this._setStyle(record.key, null));\n      changes.forEachAddedItem(record => this._setStyle(record.key, record.currentValue));\n      changes.forEachChangedItem(record => this._setStyle(record.key, record.currentValue));\n    }\n    static ɵfac = function NgStyle_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgStyle)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.KeyValueDiffers), i0.ɵɵdirectiveInject(i0.Renderer2));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgStyle,\n      selectors: [[\"\", \"ngStyle\", \"\"]],\n      inputs: {\n        ngStyle: \"ngStyle\"\n      }\n    });\n  }\n  return NgStyle;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Inserts an embedded view from a prepared `TemplateRef`.\n *\n * You can attach a context object to the `EmbeddedViewRef` by setting `[ngTemplateOutletContext]`.\n * `[ngTemplateOutletContext]` should be an object, the object's keys will be available for binding\n * by the local template `let` declarations.\n *\n * @usageNotes\n * ```html\n * <ng-container *ngTemplateOutlet=\"templateRefExp; context: contextExp\"></ng-container>\n * ```\n *\n * Using the key `$implicit` in the context object will set its value as default.\n *\n * ### Example\n *\n * {@example common/ngTemplateOutlet/ts/module.ts region='NgTemplateOutlet'}\n *\n * @publicApi\n */\nlet NgTemplateOutlet = /*#__PURE__*/(() => {\n  class NgTemplateOutlet {\n    _viewContainerRef;\n    _viewRef = null;\n    /**\n     * A context object to attach to the {@link EmbeddedViewRef}. This should be an\n     * object, the object's keys will be available for binding by the local template `let`\n     * declarations.\n     * Using the key `$implicit` in the context object will set its value as default.\n     */\n    ngTemplateOutletContext = null;\n    /**\n     * A string defining the template reference and optionally the context object for the template.\n     */\n    ngTemplateOutlet = null;\n    /** Injector to be used within the embedded view. */\n    ngTemplateOutletInjector = null;\n    constructor(_viewContainerRef) {\n      this._viewContainerRef = _viewContainerRef;\n    }\n    ngOnChanges(changes) {\n      if (this._shouldRecreateView(changes)) {\n        const viewContainerRef = this._viewContainerRef;\n        if (this._viewRef) {\n          viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef));\n        }\n        // If there is no outlet, clear the destroyed view ref.\n        if (!this.ngTemplateOutlet) {\n          this._viewRef = null;\n          return;\n        }\n        // Create a context forward `Proxy` that will always bind to the user-specified context,\n        // without having to destroy and re-create views whenever the context changes.\n        const viewContext = this._createContextForwardProxy();\n        this._viewRef = viewContainerRef.createEmbeddedView(this.ngTemplateOutlet, viewContext, {\n          injector: this.ngTemplateOutletInjector ?? undefined\n        });\n      }\n    }\n    /**\n     * We need to re-create existing embedded view if either is true:\n     * - the outlet changed.\n     * - the injector changed.\n     */\n    _shouldRecreateView(changes) {\n      return !!changes['ngTemplateOutlet'] || !!changes['ngTemplateOutletInjector'];\n    }\n    /**\n     * For a given outlet instance, we create a proxy object that delegates\n     * to the user-specified context. This allows changing, or swapping out\n     * the context object completely without having to destroy/re-create the view.\n     */\n    _createContextForwardProxy() {\n      return new Proxy({}, {\n        set: (_target, prop, newValue) => {\n          if (!this.ngTemplateOutletContext) {\n            return false;\n          }\n          return Reflect.set(this.ngTemplateOutletContext, prop, newValue);\n        },\n        get: (_target, prop, receiver) => {\n          if (!this.ngTemplateOutletContext) {\n            return undefined;\n          }\n          return Reflect.get(this.ngTemplateOutletContext, prop, receiver);\n        }\n      });\n    }\n    static ɵfac = function NgTemplateOutlet_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgTemplateOutlet)(i0.ɵɵdirectiveInject(i0.ViewContainerRef));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgTemplateOutlet,\n      selectors: [[\"\", \"ngTemplateOutlet\", \"\"]],\n      inputs: {\n        ngTemplateOutletContext: \"ngTemplateOutletContext\",\n        ngTemplateOutlet: \"ngTemplateOutlet\",\n        ngTemplateOutletInjector: \"ngTemplateOutletInjector\"\n      },\n      features: [i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return NgTemplateOutlet;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * A collection of Angular directives that are likely to be used in each and every Angular\n * application.\n */\nconst COMMON_DIRECTIVES = [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase];\nfunction invalidPipeArgumentError(type, value) {\n  return new _RuntimeError(2100 /* RuntimeErrorCode.INVALID_PIPE_ARGUMENT */, ngDevMode && `InvalidPipeArgument: '${value}' for pipe '${_stringify(type)}'`);\n}\nclass SubscribableStrategy {\n  createSubscription(async, updateLatestValue) {\n    // Subscription can be side-effectful, and we don't want any signal reads which happen in the\n    // side effect of the subscription to be tracked by a component's template when that\n    // subscription is triggered via the async pipe. So we wrap the subscription in `untracked` to\n    // decouple from the current reactive context.\n    //\n    // `untracked` also prevents signal _writes_ which happen in the subscription side effect from\n    // being treated as signal writes during the template evaluation (which throws errors).\n    return untracked(() => async.subscribe({\n      next: updateLatestValue,\n      error: e => {\n        throw e;\n      }\n    }));\n  }\n  dispose(subscription) {\n    // See the comment in `createSubscription` above on the use of `untracked`.\n    untracked(() => subscription.unsubscribe());\n  }\n}\nclass PromiseStrategy {\n  createSubscription(async, updateLatestValue) {\n    // According to the promise specification, promises are not cancellable by default.\n    // Once a promise is created, it will either resolve or reject, and it doesn't\n    // provide a built-in mechanism to cancel it.\n    // There may be situations where a promise is provided, and it either resolves after\n    // the pipe has been destroyed or never resolves at all. If the promise never\n    // resolves — potentially due to factors beyond our control, such as third-party\n    // libraries — this can lead to a memory leak.\n    // When we use `async.then(updateLatestValue)`, the engine captures a reference to the\n    // `updateLatestValue` function. This allows the promise to invoke that function when it\n    // resolves. In this case, the promise directly captures a reference to the\n    // `updateLatestValue` function. If the promise resolves later, it retains a reference\n    // to the original `updateLatestValue`, meaning that even if the context where\n    // `updateLatestValue` was defined has been destroyed, the function reference remains in memory.\n    // This can lead to memory leaks if `updateLatestValue` is no longer needed or if it holds\n    // onto resources that should be released.\n    // When we do `async.then(v => ...)` the promise captures a reference to the lambda\n    // function (the arrow function).\n    // When we assign `updateLatestValue = null` within the context of an `unsubscribe` function,\n    // we're changing the reference of `updateLatestValue` in the current scope to `null`.\n    // The lambda will no longer have access to it after the assignment, effectively\n    // preventing any further calls to the original function and allowing it to be garbage collected.\n    async.then(\n    // Using optional chaining because we may have set it to `null`; since the promise\n    // is async, the view might be destroyed by the time the promise resolves.\n    v => updateLatestValue?.(v), e => {\n      throw e;\n    });\n    return {\n      unsubscribe: () => {\n        updateLatestValue = null;\n      }\n    };\n  }\n  dispose(subscription) {\n    subscription.unsubscribe();\n  }\n}\nconst _promiseStrategy = /*#__PURE__*/new PromiseStrategy();\nconst _subscribableStrategy = /*#__PURE__*/new SubscribableStrategy();\n/**\n * @ngModule CommonModule\n * @description\n *\n * Unwraps a value from an asynchronous primitive.\n *\n * The `async` pipe subscribes to an `Observable` or `Promise` and returns the latest value it has\n * emitted. When a new value is emitted, the `async` pipe marks the component to be checked for\n * changes. When the component gets destroyed, the `async` pipe unsubscribes automatically to avoid\n * potential memory leaks. When the reference of the expression changes, the `async` pipe\n * automatically unsubscribes from the old `Observable` or `Promise` and subscribes to the new one.\n *\n * @usageNotes\n *\n * ### Examples\n *\n * This example binds a `Promise` to the view. Clicking the `Resolve` button resolves the\n * promise.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipePromise'}\n *\n * It's also possible to use `async` with Observables. The example below binds the `time` Observable\n * to the view. The Observable continuously updates the view with the current time.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipeObservable'}\n *\n * @publicApi\n */\nlet AsyncPipe = /*#__PURE__*/(() => {\n  class AsyncPipe {\n    _ref;\n    _latestValue = null;\n    markForCheckOnValueUpdate = true;\n    _subscription = null;\n    _obj = null;\n    _strategy = null;\n    constructor(ref) {\n      // Assign `ref` into `this._ref` manually instead of declaring `_ref` in the constructor\n      // parameter list, as the type of `this._ref` includes `null` unlike the type of `ref`.\n      this._ref = ref;\n    }\n    ngOnDestroy() {\n      if (this._subscription) {\n        this._dispose();\n      }\n      // Clear the `ChangeDetectorRef` and its association with the view data, to mitigate\n      // potential memory leaks in Observables that could otherwise cause the view data to\n      // be retained.\n      // https://github.com/angular/angular/issues/17624\n      this._ref = null;\n    }\n    transform(obj) {\n      if (!this._obj) {\n        if (obj) {\n          try {\n            // Only call `markForCheck` if the value is updated asynchronously.\n            // Synchronous updates _during_ subscription should not wastefully mark for check -\n            // this value is already going to be returned from the transform function.\n            this.markForCheckOnValueUpdate = false;\n            this._subscribe(obj);\n          } finally {\n            this.markForCheckOnValueUpdate = true;\n          }\n        }\n        return this._latestValue;\n      }\n      if (obj !== this._obj) {\n        this._dispose();\n        return this.transform(obj);\n      }\n      return this._latestValue;\n    }\n    _subscribe(obj) {\n      this._obj = obj;\n      this._strategy = this._selectStrategy(obj);\n      this._subscription = this._strategy.createSubscription(obj, value => this._updateLatestValue(obj, value));\n    }\n    _selectStrategy(obj) {\n      if (_isPromise(obj)) {\n        return _promiseStrategy;\n      }\n      if (_isSubscribable(obj)) {\n        return _subscribableStrategy;\n      }\n      throw invalidPipeArgumentError(AsyncPipe, obj);\n    }\n    _dispose() {\n      // Note: `dispose` is only called if a subscription has been initialized before, indicating\n      // that `this._strategy` is also available.\n      this._strategy.dispose(this._subscription);\n      this._latestValue = null;\n      this._subscription = null;\n      this._obj = null;\n    }\n    _updateLatestValue(async, value) {\n      if (async === this._obj) {\n        this._latestValue = value;\n        if (this.markForCheckOnValueUpdate) {\n          this._ref?.markForCheck();\n        }\n      }\n    }\n    static ɵfac = function AsyncPipe_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || AsyncPipe)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef, 16));\n    };\n    static ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n      name: \"async\",\n      type: AsyncPipe,\n      pure: false\n    });\n  }\n  return AsyncPipe;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Transforms text to all lower case.\n *\n * @see {@link UpperCasePipe}\n * @see {@link TitleCasePipe}\n * @usageNotes\n *\n * The following example defines a view that allows the user to enter\n * text, and then uses the pipe to convert the input text to all lower case.\n *\n * {@example common/pipes/ts/lowerupper_pipe.ts region='LowerUpperPipe'}\n *\n * @ngModule CommonModule\n * @publicApi\n */\nlet LowerCasePipe = /*#__PURE__*/(() => {\n  class LowerCasePipe {\n    transform(value) {\n      if (value == null) return null;\n      if (typeof value !== 'string') {\n        throw invalidPipeArgumentError(LowerCasePipe, value);\n      }\n      return value.toLowerCase();\n    }\n    static ɵfac = function LowerCasePipe_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || LowerCasePipe)();\n    };\n    static ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n      name: \"lowercase\",\n      type: LowerCasePipe,\n      pure: true\n    });\n  }\n  return LowerCasePipe;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n//\n// Regex below matches any Unicode word and number compatible with ES5. In ES2018 the same result\n// can be achieved by using /[0-9\\p{L}]\\S*/gu and also known as Unicode Property Escapes\n// (https://2ality.com/2017/07/regexp-unicode-property-escapes.html). Since there is no\n// transpilation of this functionality down to ES5 without external tool, the only solution is\n// to use already transpiled form. Example can be found here -\n// https://mothereff.in/regexpu#input=var+regex+%3D+%2F%5B0-9%5Cp%7BL%7D%5D%5CS*%2Fgu%3B%0A%0A&unicodePropertyEscape=1\n//\nconst unicodeWordMatch = /(?:[0-9A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF38\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])\\S*/g;\n/**\n * Transforms text to title case.\n * Capitalizes the first letter of each word and transforms the\n * rest of the word to lower case.\n * Words are delimited by any whitespace character, such as a space, tab, or line-feed character.\n *\n * @see {@link LowerCasePipe}\n * @see {@link UpperCasePipe}\n *\n * @usageNotes\n * The following example shows the result of transforming various strings into title case.\n *\n * {@example common/pipes/ts/titlecase_pipe.ts region='TitleCasePipe'}\n *\n * @ngModule CommonModule\n * @publicApi\n */\nlet TitleCasePipe = /*#__PURE__*/(() => {\n  class TitleCasePipe {\n    transform(value) {\n      if (value == null) return null;\n      if (typeof value !== 'string') {\n        throw invalidPipeArgumentError(TitleCasePipe, value);\n      }\n      return value.replace(unicodeWordMatch, txt => txt[0].toUpperCase() + txt.slice(1).toLowerCase());\n    }\n    static ɵfac = function TitleCasePipe_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || TitleCasePipe)();\n    };\n    static ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n      name: \"titlecase\",\n      type: TitleCasePipe,\n      pure: true\n    });\n  }\n  return TitleCasePipe;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Transforms text to all upper case.\n * @see {@link LowerCasePipe}\n * @see {@link TitleCasePipe}\n *\n * @ngModule CommonModule\n * @publicApi\n */\nlet UpperCasePipe = /*#__PURE__*/(() => {\n  class UpperCasePipe {\n    transform(value) {\n      if (value == null) return null;\n      if (typeof value !== 'string') {\n        throw invalidPipeArgumentError(UpperCasePipe, value);\n      }\n      return value.toUpperCase();\n    }\n    static ɵfac = function UpperCasePipe_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || UpperCasePipe)();\n    };\n    static ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n      name: \"uppercase\",\n      type: UpperCasePipe,\n      pure: true\n    });\n  }\n  return UpperCasePipe;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * The default date format of Angular date pipe, which corresponds to the following format:\n * `'MMM d,y'` (e.g. `Jun 15, 2015`)\n */\nconst DEFAULT_DATE_FORMAT = 'mediumDate';\n\n/**\n * Optionally-provided default timezone to use for all instances of `DatePipe` (such as `'+0430'`).\n * If the value isn't provided, the `DatePipe` will use the end-user's local system timezone.\n *\n * @deprecated use DATE_PIPE_DEFAULT_OPTIONS token to configure DatePipe\n */\nconst DATE_PIPE_DEFAULT_TIMEZONE = /*#__PURE__*/new InjectionToken(ngDevMode ? 'DATE_PIPE_DEFAULT_TIMEZONE' : '');\n/**\n * DI token that allows to provide default configuration for the `DatePipe` instances in an\n * application. The value is an object which can include the following fields:\n * - `dateFormat`: configures the default date format. If not provided, the `DatePipe`\n * will use the 'mediumDate' as a value.\n * - `timezone`: configures the default timezone. If not provided, the `DatePipe` will\n * use the end-user's local system timezone.\n *\n * @see {@link DatePipeConfig}\n *\n * @usageNotes\n *\n * Various date pipe default values can be overwritten by providing this token with\n * the value that has this interface.\n *\n * For example:\n *\n * Override the default date format by providing a value using the token:\n * ```ts\n * providers: [\n *   {provide: DATE_PIPE_DEFAULT_OPTIONS, useValue: {dateFormat: 'shortDate'}}\n * ]\n * ```\n *\n * Override the default timezone by providing a value using the token:\n * ```ts\n * providers: [\n *   {provide: DATE_PIPE_DEFAULT_OPTIONS, useValue: {timezone: '-1200'}}\n * ]\n * ```\n */\nconst DATE_PIPE_DEFAULT_OPTIONS = /*#__PURE__*/new InjectionToken(ngDevMode ? 'DATE_PIPE_DEFAULT_OPTIONS' : '');\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date value according to locale rules.\n *\n * `DatePipe` is executed only when it detects a pure change to the input value.\n * A pure change is either a change to a primitive input value\n * (such as `String`, `Number`, `Boolean`, or `Symbol`),\n * or a changed object reference (such as `Date`, `Array`, `Function`, or `Object`).\n *\n * Note that mutating a `Date` object does not cause the pipe to be rendered again.\n * To ensure that the pipe is executed, you must create a new `Date` object.\n *\n * Only the `en-US` locale data comes with Angular. To localize dates\n * in another language, you must import the corresponding locale data.\n * See the [I18n guide](guide/i18n/format-data-locale) for more information.\n *\n * The time zone of the formatted value can be specified either by passing it in as the second\n * parameter of the pipe, or by setting the default through the `DATE_PIPE_DEFAULT_OPTIONS`\n * injection token. The value that is passed in as the second parameter takes precedence over\n * the one defined using the injection token.\n *\n * @see {@link formatDate}\n *\n *\n * @usageNotes\n *\n * The result of this pipe is not reevaluated when the input is mutated. To avoid the need to\n * reformat the date on every change-detection cycle, treat the date as an immutable object\n * and change the reference when the pipe needs to run again.\n *\n * ### Pre-defined format options\n *\n * | Option        | Equivalent to                       | Examples (given in `en-US` locale)              |\n * |---------------|-------------------------------------|-------------------------------------------------|\n * | `'short'`     | `'M/d/yy, h:mm a'`                  | `6/15/15, 9:03 AM`                              |\n * | `'medium'`    | `'MMM d, y, h:mm:ss a'`             | `Jun 15, 2015, 9:03:01 AM`                      |\n * | `'long'`      | `'MMMM d, y, h:mm:ss a z'`          | `June 15, 2015 at 9:03:01 AM GMT+1`             |\n * | `'full'`      | `'EEEE, MMMM d, y, h:mm:ss a zzzz'` | `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00` |\n * | `'shortDate'` | `'M/d/yy'`                          | `6/15/15`                                       |\n * | `'mediumDate'`| `'MMM d, y'`                        | `Jun 15, 2015`                                  |\n * | `'longDate'`  | `'MMMM d, y'`                       | `June 15, 2015`                                 |\n * | `'fullDate'`  | `'EEEE, MMMM d, y'`                 | `Monday, June 15, 2015`                         |\n * | `'shortTime'` | `'h:mm a'`                          | `9:03 AM`                                       |\n * | `'mediumTime'`| `'h:mm:ss a'`                       | `9:03:01 AM`                                    |\n * | `'longTime'`  | `'h:mm:ss a z'`                     | `9:03:01 AM GMT+1`                              |\n * | `'fullTime'`  | `'h:mm:ss a zzzz'`                  | `9:03:01 AM GMT+01:00`                          |\n *\n * ### Custom format options\n *\n * You can construct a format string using symbols to specify the components\n * of a date-time value, as described in the following table.\n * Format details depend on the locale.\n * Fields marked with (*) are only available in the extra data set for the given locale.\n *\n *  | Field type              | Format      | Description                                                   | Example Value                                              |\n *  |-------------------------|-------------|---------------------------------------------------------------|------------------------------------------------------------|\n *  | Era                     | G, GG & GGG | Abbreviated                                                   | AD                                                         |\n *  |                         | GGGG        | Wide                                                          | Anno Domini                                                |\n *  |                         | GGGGG       | Narrow                                                        | A                                                          |\n *  | Year                    | y           | Numeric: minimum digits                                       | 2, 20, 201, 2017, 20173                                    |\n *  |                         | yy          | Numeric: 2 digits + zero padded                               | 02, 20, 01, 17, 73                                         |\n *  |                         | yyy         | Numeric: 3 digits + zero padded                               | 002, 020, 201, 2017, 20173                                 |\n *  |                         | yyyy        | Numeric: 4 digits or more + zero padded                       | 0002, 0020, 0201, 2017, 20173                              |\n *  | ISO Week-numbering year | Y           | Numeric: minimum digits                                       | 2, 20, 201, 2017, 20173                                    |\n *  |                         | YY          | Numeric: 2 digits + zero padded                               | 02, 20, 01, 17, 73                                         |\n *  |                         | YYY         | Numeric: 3 digits + zero padded                               | 002, 020, 201, 2017, 20173                                 |\n *  |                         | YYYY        | Numeric: 4 digits or more + zero padded                       | 0002, 0020, 0201, 2017, 20173                              |\n *  | Month                   | M           | Numeric: 1 digit                                              | 9, 12                                                      |\n *  |                         | MM          | Numeric: 2 digits + zero padded                               | 09, 12                                                     |\n *  |                         | MMM         | Abbreviated                                                   | Sep                                                        |\n *  |                         | MMMM        | Wide                                                          | September                                                  |\n *  |                         | MMMMM       | Narrow                                                        | S                                                          |\n *  | Month standalone        | L           | Numeric: 1 digit                                              | 9, 12                                                      |\n *  |                         | LL          | Numeric: 2 digits + zero padded                               | 09, 12                                                     |\n *  |                         | LLL         | Abbreviated                                                   | Sep                                                        |\n *  |                         | LLLL        | Wide                                                          | September                                                  |\n *  |                         | LLLLL       | Narrow                                                        | S                                                          |\n *  | ISO Week of year        | w           | Numeric: minimum digits                                       | 1... 53                                                    |\n *  |                         | ww          | Numeric: 2 digits + zero padded                               | 01... 53                                                   |\n *  | Week of month           | W           | Numeric: 1 digit                                              | 1... 5                                                     |\n *  | Day of month            | d           | Numeric: minimum digits                                       | 1                                                          |\n *  |                         | dd          | Numeric: 2 digits + zero padded                               | 01                                                         |\n *  | Week day                | E, EE & EEE | Abbreviated                                                   | Tue                                                        |\n *  |                         | EEEE        | Wide                                                          | Tuesday                                                    |\n *  |                         | EEEEE       | Narrow                                                        | T                                                          |\n *  |                         | EEEEEE      | Short                                                         | Tu                                                         |\n *  | Week day standalone     | c, cc       | Numeric: 1 digit                                              | 2                                                          |\n *  |                         | ccc         | Abbreviated                                                   | Tue                                                        |\n *  |                         | cccc        | Wide                                                          | Tuesday                                                    |\n *  |                         | ccccc       | Narrow                                                        | T                                                          |\n *  |                         | cccccc      | Short                                                         | Tu                                                         |\n *  | Period                  | a, aa & aaa | Abbreviated                                                   | am/pm or AM/PM                                             |\n *  |                         | aaaa        | Wide (fallback to `a` when missing)                           | ante meridiem/post meridiem                                |\n *  |                         | aaaaa       | Narrow                                                        | a/p                                                        |\n *  | Period*                 | B, BB & BBB | Abbreviated                                                   | mid.                                                       |\n *  |                         | BBBB        | Wide                                                          | am, pm, midnight, noon, morning, afternoon, evening, night |\n *  |                         | BBBBB       | Narrow                                                        | md                                                         |\n *  | Period standalone*      | b, bb & bbb | Abbreviated                                                   | mid.                                                       |\n *  |                         | bbbb        | Wide                                                          | am, pm, midnight, noon, morning, afternoon, evening, night |\n *  |                         | bbbbb       | Narrow                                                        | md                                                         |\n *  | Hour 1-12               | h           | Numeric: minimum digits                                       | 1, 12                                                      |\n *  |                         | hh          | Numeric: 2 digits + zero padded                               | 01, 12                                                     |\n *  | Hour 0-23               | H           | Numeric: minimum digits                                       | 0, 23                                                      |\n *  |                         | HH          | Numeric: 2 digits + zero padded                               | 00, 23                                                     |\n *  | Minute                  | m           | Numeric: minimum digits                                       | 8, 59                                                      |\n *  |                         | mm          | Numeric: 2 digits + zero padded                               | 08, 59                                                     |\n *  | Second                  | s           | Numeric: minimum digits                                       | 0... 59                                                    |\n *  |                         | ss          | Numeric: 2 digits + zero padded                               | 00... 59                                                   |\n *  | Fractional seconds      | S           | Numeric: 1 digit                                              | 0... 9                                                     |\n *  |                         | SS          | Numeric: 2 digits + zero padded                               | 00... 99                                                   |\n *  |                         | SSS         | Numeric: 3 digits + zero padded (= milliseconds)              | 000... 999                                                 |\n *  | Zone                    | z, zz & zzz | Short specific non location format (fallback to O)            | GMT-8                                                      |\n *  |                         | zzzz        | Long specific non location format (fallback to OOOO)          | GMT-08:00                                                  |\n *  |                         | Z, ZZ & ZZZ | ISO8601 basic format                                          | -0800                                                      |\n *  |                         | ZZZZ        | Long localized GMT format                                     | GMT-8:00                                                   |\n *  |                         | ZZZZZ       | ISO8601 extended format + Z indicator for offset 0 (= XXXXX)  | -08:00                                                     |\n *  |                         | O, OO & OOO | Short localized GMT format                                    | GMT-8                                                      |\n *  |                         | OOOO        | Long localized GMT format                                     | GMT-08:00                                                  |\n *\n *\n * ### Format examples\n *\n * These examples transform a date into various formats,\n * assuming that `dateObj` is a JavaScript `Date` object for\n * year: 2015, month: 6, day: 15, hour: 21, minute: 43, second: 11,\n * given in the local time for the `en-US` locale.\n *\n * ```\n * {{ dateObj | date }}               // output is 'Jun 15, 2015'\n * {{ dateObj | date:'medium' }}      // output is 'Jun 15, 2015, 9:43:11 PM'\n * {{ dateObj | date:'shortTime' }}   // output is '9:43 PM'\n * {{ dateObj | date:'mm:ss' }}       // output is '43:11'\n * {{ dateObj | date:\"MMM dd, yyyy 'at' hh:mm a\" }}  // output is 'Jun 15, 2015 at 09:43 PM'\n * ```\n *\n * ### Usage example\n *\n * The following component uses a date pipe to display the current date in different formats.\n *\n * ```angular-ts\n * @Component({\n *  selector: 'date-pipe',\n *  template: `<div>\n *    <p>Today is {{today | date}}</p>\n *    <p>Or if you prefer, {{today | date:'fullDate'}}</p>\n *    <p>The time is {{today | date:'h:mm a z'}}</p>\n *  </div>`\n * })\n * // Get the current date and time as a date-time value.\n * export class DatePipeComponent {\n *   today: number = Date.now();\n * }\n * ```\n *\n * @publicApi\n */\nlet DatePipe = /*#__PURE__*/(() => {\n  class DatePipe {\n    locale;\n    defaultTimezone;\n    defaultOptions;\n    constructor(locale, defaultTimezone, defaultOptions) {\n      this.locale = locale;\n      this.defaultTimezone = defaultTimezone;\n      this.defaultOptions = defaultOptions;\n    }\n    transform(value, format, timezone, locale) {\n      if (value == null || value === '' || value !== value) return null;\n      try {\n        const _format = format ?? this.defaultOptions?.dateFormat ?? DEFAULT_DATE_FORMAT;\n        const _timezone = timezone ?? this.defaultOptions?.timezone ?? this.defaultTimezone ?? undefined;\n        return formatDate(value, _format, locale || this.locale, _timezone);\n      } catch (error) {\n        throw invalidPipeArgumentError(DatePipe, error.message);\n      }\n    }\n    static ɵfac = function DatePipe_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || DatePipe)(i0.ɵɵdirectiveInject(LOCALE_ID, 16), i0.ɵɵdirectiveInject(DATE_PIPE_DEFAULT_TIMEZONE, 24), i0.ɵɵdirectiveInject(DATE_PIPE_DEFAULT_OPTIONS, 24));\n    };\n    static ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n      name: \"date\",\n      type: DatePipe,\n      pure: true\n    });\n  }\n  return DatePipe;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst _INTERPOLATION_REGEXP = /#/g;\n/**\n * @ngModule CommonModule\n * @description\n *\n * Maps a value to a string that pluralizes the value according to locale rules.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}\n *\n * @publicApi\n */\nlet I18nPluralPipe = /*#__PURE__*/(() => {\n  class I18nPluralPipe {\n    _localization;\n    constructor(_localization) {\n      this._localization = _localization;\n    }\n    /**\n     * @param value the number to be formatted\n     * @param pluralMap an object that mimics the ICU format, see\n     * https://unicode-org.github.io/icu/userguide/format_parse/messages/.\n     * @param locale a `string` defining the locale to use (uses the current {@link LOCALE_ID} by\n     * default).\n     */\n    transform(value, pluralMap, locale) {\n      if (value == null) return '';\n      if (typeof pluralMap !== 'object' || pluralMap === null) {\n        throw invalidPipeArgumentError(I18nPluralPipe, pluralMap);\n      }\n      const key = getPluralCategory(value, Object.keys(pluralMap), this._localization, locale);\n      return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());\n    }\n    static ɵfac = function I18nPluralPipe_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || I18nPluralPipe)(i0.ɵɵdirectiveInject(NgLocalization, 16));\n    };\n    static ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n      name: \"i18nPlural\",\n      type: I18nPluralPipe,\n      pure: true\n    });\n  }\n  return I18nPluralPipe;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Generic selector that displays the string that matches the current value.\n *\n * If none of the keys of the `mapping` match the `value`, then the content\n * of the `other` key is returned when present, otherwise an empty string is returned.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}\n *\n * @publicApi\n */\nlet I18nSelectPipe = /*#__PURE__*/(() => {\n  class I18nSelectPipe {\n    /**\n     * @param value a string to be internationalized.\n     * @param mapping an object that indicates the text that should be displayed\n     * for different values of the provided `value`.\n     */\n    transform(value, mapping) {\n      if (value == null) return '';\n      if (typeof mapping !== 'object' || typeof value !== 'string') {\n        throw invalidPipeArgumentError(I18nSelectPipe, mapping);\n      }\n      if (mapping.hasOwnProperty(value)) {\n        return mapping[value];\n      }\n      if (mapping.hasOwnProperty('other')) {\n        return mapping['other'];\n      }\n      return '';\n    }\n    static ɵfac = function I18nSelectPipe_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || I18nSelectPipe)();\n    };\n    static ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n      name: \"i18nSelect\",\n      type: I18nSelectPipe,\n      pure: true\n    });\n  }\n  return I18nSelectPipe;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Converts a value into its JSON-format representation.  Useful for debugging.\n *\n * @usageNotes\n *\n * The following component uses a JSON pipe to convert an object\n * to JSON format, and displays the string in both formats for comparison.\n *\n * {@example common/pipes/ts/json_pipe.ts region='JsonPipe'}\n *\n * @publicApi\n */\nlet JsonPipe = /*#__PURE__*/(() => {\n  class JsonPipe {\n    /**\n     * @param value A value of any type to convert into a JSON-format string.\n     */\n    transform(value) {\n      return JSON.stringify(value, null, 2);\n    }\n    static ɵfac = function JsonPipe_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || JsonPipe)();\n    };\n    static ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n      name: \"json\",\n      type: JsonPipe,\n      pure: false\n    });\n  }\n  return JsonPipe;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction makeKeyValuePair(key, value) {\n  return {\n    key: key,\n    value: value\n  };\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms Object or Map into an array of key value pairs.\n *\n * The output array will be ordered by keys.\n * By default the comparator will be by Unicode point value.\n * You can optionally pass a compareFn if your keys are complex types.\n * Passing `null` as the compareFn will use natural ordering of the input.\n *\n * @usageNotes\n * ### Examples\n *\n * This examples show how an Object or a Map can be iterated by ngFor with the use of this\n * keyvalue pipe.\n *\n * {@example common/pipes/ts/keyvalue_pipe.ts region='KeyValuePipe'}\n *\n * @publicApi\n */\nlet KeyValuePipe = /*#__PURE__*/(() => {\n  class KeyValuePipe {\n    differs;\n    constructor(differs) {\n      this.differs = differs;\n    }\n    differ;\n    keyValues = [];\n    compareFn = defaultComparator;\n    transform(input, compareFn = defaultComparator) {\n      if (!input || !(input instanceof Map) && typeof input !== 'object') {\n        return null;\n      }\n      // make a differ for whatever type we've been passed in\n      this.differ ??= this.differs.find(input).create();\n      const differChanges = this.differ.diff(input);\n      const compareFnChanged = compareFn !== this.compareFn;\n      if (differChanges) {\n        this.keyValues = [];\n        differChanges.forEachItem(r => {\n          this.keyValues.push(makeKeyValuePair(r.key, r.currentValue));\n        });\n      }\n      if (differChanges || compareFnChanged) {\n        if (compareFn) {\n          this.keyValues.sort(compareFn);\n        }\n        this.compareFn = compareFn;\n      }\n      return this.keyValues;\n    }\n    static ɵfac = function KeyValuePipe_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || KeyValuePipe)(i0.ɵɵdirectiveInject(i0.KeyValueDiffers, 16));\n    };\n    static ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n      name: \"keyvalue\",\n      type: KeyValuePipe,\n      pure: false\n    });\n  }\n  return KeyValuePipe;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction defaultComparator(keyValueA, keyValueB) {\n  const a = keyValueA.key;\n  const b = keyValueB.key;\n  // If both keys are the same, return 0 (no sorting needed).\n  if (a === b) return 0;\n  // If one of the keys is `null` or `undefined`, place it at the end of the sort.\n  if (a == null) return 1; // `a` comes after `b`.\n  if (b == null) return -1; // `b` comes after `a`.\n  // If both keys are strings, compare them lexicographically.\n  if (typeof a == 'string' && typeof b == 'string') {\n    return a < b ? -1 : 1;\n  }\n  // If both keys are numbers, sort them numerically.\n  if (typeof a == 'number' && typeof b == 'number') {\n    return a - b;\n  }\n  // If both keys are booleans, sort `false` before `true`.\n  if (typeof a == 'boolean' && typeof b == 'boolean') {\n    return a < b ? -1 : 1;\n  }\n  // Fallback case: if keys are of different types, compare their string representations.\n  const aString = String(a);\n  const bString = String(b);\n  // Compare the string representations lexicographically.\n  return aString == bString ? 0 : aString < bString ? -1 : 1;\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a value according to digit options and locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * @see {@link formatNumber}\n *\n * @usageNotes\n *\n * ### digitsInfo\n *\n * The value's decimal representation is specified by the `digitsInfo`\n * parameter, written in the following format:<br>\n *\n * ```\n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}\n * ```\n *\n *  - `minIntegerDigits`:\n * The minimum number of integer digits before the decimal point.\n * Default is 1.\n *\n * - `minFractionDigits`:\n * The minimum number of digits after the decimal point.\n * Default is 0.\n *\n *  - `maxFractionDigits`:\n * The maximum number of digits after the decimal point.\n * Default is 3.\n *\n * If the formatted value is truncated it will be rounded using the \"to-nearest\" method:\n *\n * ```\n * {{3.6 | number: '1.0-0'}}\n * <!--will output '4'-->\n *\n * {{-3.6 | number:'1.0-0'}}\n * <!--will output '-4'-->\n * ```\n *\n * ### locale\n *\n * `locale` will format a value according to locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n *\n * See [Setting your app locale](guide/i18n/locale-id).\n *\n * ### Example\n *\n * The following code shows how the pipe transforms values\n * according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * {@example common/pipes/ts/number_pipe.ts region='NumberPipe'}\n *\n * @publicApi\n */\nlet DecimalPipe = /*#__PURE__*/(() => {\n  class DecimalPipe {\n    _locale;\n    constructor(_locale) {\n      this._locale = _locale;\n    }\n    transform(value, digitsInfo, locale) {\n      if (!isValue(value)) return null;\n      locale ||= this._locale;\n      try {\n        const num = strToNumber(value);\n        return formatNumber(num, locale, digitsInfo);\n      } catch (error) {\n        throw invalidPipeArgumentError(DecimalPipe, error.message);\n      }\n    }\n    static ɵfac = function DecimalPipe_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || DecimalPipe)(i0.ɵɵdirectiveInject(LOCALE_ID, 16));\n    };\n    static ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n      name: \"number\",\n      type: DecimalPipe,\n      pure: true\n    });\n  }\n  return DecimalPipe;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a percentage\n * string, formatted according to locale rules that determine group sizing and\n * separator, decimal-point character, and other locale-specific\n * configurations.\n *\n * @see {@link formatPercent}\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * {@example common/pipes/ts/percent_pipe.ts region='PercentPipe'}\n *\n * @publicApi\n */\nlet PercentPipe = /*#__PURE__*/(() => {\n  class PercentPipe {\n    _locale;\n    constructor(_locale) {\n      this._locale = _locale;\n    }\n    /**\n     *\n     * @param value The number to be formatted as a percentage.\n     * @param digitsInfo Decimal representation options, specified by a string\n     * in the following format:<br>\n     * <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>.\n     *   - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n     * Default is `1`.\n     *   - `minFractionDigits`: The minimum number of digits after the decimal point.\n     * Default is `0`.\n     *   - `maxFractionDigits`: The maximum number of digits after the decimal point.\n     * Default is `0`.\n     * @param locale A locale code for the locale format rules to use.\n     * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n     * See [Setting your app locale](guide/i18n/locale-id).\n     */\n    transform(value, digitsInfo, locale) {\n      if (!isValue(value)) return null;\n      locale ||= this._locale;\n      try {\n        const num = strToNumber(value);\n        return formatPercent(num, locale, digitsInfo);\n      } catch (error) {\n        throw invalidPipeArgumentError(PercentPipe, error.message);\n      }\n    }\n    static ɵfac = function PercentPipe_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || PercentPipe)(i0.ɵɵdirectiveInject(LOCALE_ID, 16));\n    };\n    static ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n      name: \"percent\",\n      type: PercentPipe,\n      pure: true\n    });\n  }\n  return PercentPipe;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a currency string, formatted according to locale rules\n * that determine group sizing and separator, decimal-point character,\n * and other locale-specific configurations.\n *\n *\n * @see {@link getCurrencySymbol}\n * @see {@link formatCurrency}\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * {@example common/pipes/ts/currency_pipe.ts region='CurrencyPipe'}\n *\n * @publicApi\n */\nlet CurrencyPipe = /*#__PURE__*/(() => {\n  class CurrencyPipe {\n    _locale;\n    _defaultCurrencyCode;\n    constructor(_locale, _defaultCurrencyCode = 'USD') {\n      this._locale = _locale;\n      this._defaultCurrencyCode = _defaultCurrencyCode;\n    }\n    transform(value, currencyCode = this._defaultCurrencyCode, display = 'symbol', digitsInfo, locale) {\n      if (!isValue(value)) return null;\n      locale ||= this._locale;\n      if (typeof display === 'boolean') {\n        if ((typeof ngDevMode === 'undefined' || ngDevMode) && console && console.warn) {\n          console.warn(`Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are \"code\", \"symbol\" or \"symbol-narrow\".`);\n        }\n        display = display ? 'symbol' : 'code';\n      }\n      let currency = currencyCode || this._defaultCurrencyCode;\n      if (display !== 'code') {\n        if (display === 'symbol' || display === 'symbol-narrow') {\n          currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow', locale);\n        } else {\n          currency = display;\n        }\n      }\n      try {\n        const num = strToNumber(value);\n        return formatCurrency(num, locale, currency, currencyCode, digitsInfo);\n      } catch (error) {\n        throw invalidPipeArgumentError(CurrencyPipe, error.message);\n      }\n    }\n    static ɵfac = function CurrencyPipe_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CurrencyPipe)(i0.ɵɵdirectiveInject(LOCALE_ID, 16), i0.ɵɵdirectiveInject(DEFAULT_CURRENCY_CODE, 16));\n    };\n    static ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n      name: \"currency\",\n      type: CurrencyPipe,\n      pure: true\n    });\n  }\n  return CurrencyPipe;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction isValue(value) {\n  return !(value == null || value === '' || value !== value);\n}\n/**\n * Transforms a string into a number (if needed).\n */\nfunction strToNumber(value) {\n  // Convert strings to numbers\n  if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {\n    return Number(value);\n  }\n  if (typeof value !== 'number') {\n    throw new Error(`${value} is not a number`);\n  }\n  return value;\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Creates a new `Array` or `String` containing a subset (slice) of the elements.\n *\n * @usageNotes\n *\n * All behavior is based on the expected behavior of the JavaScript API `Array.prototype.slice()`\n * and `String.prototype.slice()`.\n *\n * When operating on an `Array`, the returned `Array` is always a copy even when all\n * the elements are being returned.\n *\n * When operating on a blank value, the pipe returns the blank value.\n *\n * ### List Example\n *\n * This `ngFor` example:\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_list'}\n *\n * produces the following:\n *\n * ```html\n * <li>b</li>\n * <li>c</li>\n * ```\n *\n * ### String Examples\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_string'}\n *\n * @publicApi\n */\nlet SlicePipe = /*#__PURE__*/(() => {\n  class SlicePipe {\n    transform(value, start, end) {\n      if (value == null) return null;\n      const supports = typeof value === 'string' || Array.isArray(value);\n      if (!supports) {\n        throw invalidPipeArgumentError(SlicePipe, value);\n      }\n      return value.slice(start, end);\n    }\n    static ɵfac = function SlicePipe_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || SlicePipe)();\n    };\n    static ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n      name: \"slice\",\n      type: SlicePipe,\n      pure: false\n    });\n  }\n  return SlicePipe;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @module\n * @description\n * This module provides a set of common Pipes.\n */\n/**\n * A collection of Angular pipes that are likely to be used in each and every application.\n */\nconst COMMON_PIPES = [AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe];\n\n// Note: This does not contain the location providers,\n// as they need some platform specific implementations to work.\n/**\n * Exports all the basic Angular directives and pipes,\n * such as `NgIf`, `NgForOf`, `DecimalPipe`, and so on.\n * Re-exported by `BrowserModule`, which is included automatically in the root\n * `AppModule` when you create a new app with the CLI `new` command.\n *\n * @publicApi\n */\nlet CommonModule = /*#__PURE__*/(() => {\n  class CommonModule {\n    static ɵfac = function CommonModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CommonModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: CommonModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n  }\n  return CommonModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { AsyncPipe, CommonModule, CurrencyPipe, DATE_PIPE_DEFAULT_OPTIONS, DATE_PIPE_DEFAULT_TIMEZONE, DatePipe, DecimalPipe, FormStyle, FormatWidth, HashLocationStrategy, I18nPluralPipe, I18nSelectPipe, JsonPipe, KeyValuePipe, LowerCasePipe, NgClass, NgComponentOutlet, NgForOf, NgForOfContext, NgIf, NgIfContext, NgLocaleLocalization, NgLocalization, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NumberFormatStyle, NumberSymbol, PercentPipe, Plural, SlicePipe, TitleCasePipe, TranslationWidth, UpperCasePipe, WeekDay, formatCurrency, formatDate, formatNumber, formatPercent, getCurrencySymbol, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleDirection, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleFirstDayOfWeek, getLocaleId, getLocaleMonthNames, getLocaleNumberFormat, getLocaleNumberSymbol, getLocalePluralCase, getLocaleTimeFormat, getLocaleWeekEndRange, getNumberOfCurrencyDigits };\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nfunction parseCookieValue(cookieStr, name) {\n  name = encodeURIComponent(name);\n  for (const cookie of cookieStr.split(';')) {\n    const eqIndex = cookie.indexOf('=');\n    const [cookieName, cookieValue] = eqIndex == -1 ? [cookie, ''] : [cookie.slice(0, eqIndex), cookie.slice(eqIndex + 1)];\n    if (cookieName.trim() === name) {\n      return decodeURIComponent(cookieValue);\n    }\n  }\n  return null;\n}\nconst PLATFORM_BROWSER_ID = 'browser';\nconst PLATFORM_SERVER_ID = 'server';\n/**\n * Returns whether a platform id represents a browser platform.\n * @publicApi\n */\nfunction isPlatformBrowser(platformId) {\n  return platformId === PLATFORM_BROWSER_ID;\n}\n/**\n * Returns whether a platform id represents a server platform.\n * @publicApi\n */\nfunction isPlatformServer(platformId) {\n  return platformId === PLATFORM_SERVER_ID;\n}\n\n/**\n * A wrapper around the `XMLHttpRequest` constructor.\n *\n * @publicApi\n */\nclass XhrFactory {}\nexport { PLATFORM_BROWSER_ID, PLATFORM_SERVER_ID, XhrFactory, isPlatformBrowser, isPlatformServer, parseCookieValue };\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nexport { AsyncPipe, CommonModule, CurrencyPipe, DATE_PIPE_DEFAULT_OPTIONS, DATE_PIPE_DEFAULT_TIMEZONE, DatePipe, DecimalPipe, FormStyle, FormatWidth, HashLocationStrategy, I18nPluralPipe, I18nSelectPipe, JsonPipe, KeyValuePipe, LowerCasePipe, NgClass, NgComponentOutlet, NgForOf as NgFor, NgForOf, NgForOfContext, NgIf, NgIfContext, NgLocaleLocalization, NgLocalization, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NumberFormatStyle, NumberSymbol, PercentPipe, Plural, SlicePipe, TitleCasePipe, TranslationWidth, UpperCasePipe, WeekDay, formatCurrency, formatDate, formatNumber, formatPercent, getCurrencySymbol, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleDirection, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleFirstDayOfWeek, getLocaleId, getLocaleMonthNames, getLocaleNumberFormat, getLocaleNumberSymbol, getLocalePluralCase, getLocaleTimeFormat, getLocaleWeekEndRange, getNumberOfCurrencyDigits } from './common_module-Dx7dWex5.mjs';\nimport * as i0 from '@angular/core';\nimport { ɵregisterLocaleData as _registerLocaleData, Version, ɵɵdefineInjectable as __defineInjectable, inject, InjectionToken, ɵRuntimeError as _RuntimeError, ɵformatRuntimeError as _formatRuntimeError, PLATFORM_ID, Injectable, ɵIMAGE_CONFIG as _IMAGE_CONFIG, Renderer2, ElementRef, Injector, DestroyRef, ɵperformanceMarkFeature as _performanceMarkFeature, NgZone, ApplicationRef, booleanAttribute, numberAttribute, ChangeDetectorRef, ɵIMAGE_CONFIG_DEFAULTS as _IMAGE_CONFIG_DEFAULTS, ɵunwrapSafeValue as _unwrapSafeValue, Input, Directive } from '@angular/core';\nexport { ɵIMAGE_CONFIG as IMAGE_CONFIG } from '@angular/core';\nimport { isPlatformBrowser } from './xhr-BfNfxNDv.mjs';\nexport { XhrFactory, isPlatformServer, PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, parseCookieValue as ɵparseCookieValue } from './xhr-BfNfxNDv.mjs';\nimport { DOCUMENT } from './dom_tokens-rA0ACyx7.mjs';\nexport { APP_BASE_HREF, BrowserPlatformLocation, LOCATION_INITIALIZED, Location, LocationStrategy, PathLocationStrategy, PlatformLocation, DomAdapter as ɵDomAdapter, getDOM as ɵgetDOM, normalizeQueryParams as ɵnormalizeQueryParams, setRootDomAdapter as ɵsetRootDomAdapter } from './location-Dq4mJT-A.mjs';\nexport { PlatformNavigation as ɵPlatformNavigation } from './platform_navigation-B45Jeakb.mjs';\nimport 'rxjs';\n\n/**\n * Register global data to be used internally by Angular. See the\n * [\"I18n guide\"](guide/i18n/format-data-locale) to know how to import additional locale\n * data.\n *\n * The signature registerLocaleData(data: any, extraData?: any) is deprecated since v5.1\n *\n * @publicApi\n */\nfunction registerLocaleData(data, localeId, extraData) {\n  return _registerLocaleData(data, localeId, extraData);\n}\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of the common package.\n */\n/**\n * @publicApi\n */\nconst VERSION = /*#__PURE__*/new Version('19.2.20');\n\n/**\n * Defines a scroll position manager. Implemented by `BrowserViewportScroller`.\n *\n * @publicApi\n */\nlet ViewportScroller = /*#__PURE__*/(() => {\n  class ViewportScroller {\n    // De-sugared tree-shakable injection\n    // See #23917\n    /** @nocollapse */\n    static ɵprov = /** @pureOrBreakMyCode */ /* @__PURE__ */__defineInjectable({\n      token: ViewportScroller,\n      providedIn: 'root',\n      factory: () => typeof ngServerMode !== 'undefined' && ngServerMode ? new NullViewportScroller() : new BrowserViewportScroller(inject(DOCUMENT), window)\n    });\n  }\n  return ViewportScroller;\n})();\n/**\n * Manages the scroll position for a browser window.\n */\nclass BrowserViewportScroller {\n  document;\n  window;\n  offset = () => [0, 0];\n  constructor(document, window) {\n    this.document = document;\n    this.window = window;\n  }\n  /**\n   * Configures the top offset used when scrolling to an anchor.\n   * @param offset A position in screen coordinates (a tuple with x and y values)\n   * or a function that returns the top offset position.\n   *\n   */\n  setOffset(offset) {\n    if (Array.isArray(offset)) {\n      this.offset = () => offset;\n    } else {\n      this.offset = offset;\n    }\n  }\n  /**\n   * Retrieves the current scroll position.\n   * @returns The position in screen coordinates.\n   */\n  getScrollPosition() {\n    return [this.window.scrollX, this.window.scrollY];\n  }\n  /**\n   * Sets the scroll position.\n   * @param position The new position in screen coordinates.\n   */\n  scrollToPosition(position) {\n    this.window.scrollTo(position[0], position[1]);\n  }\n  /**\n   * Scrolls to an element and attempts to focus the element.\n   *\n   * Note that the function name here is misleading in that the target string may be an ID for a\n   * non-anchor element.\n   *\n   * @param target The ID of an element or name of the anchor.\n   *\n   * @see https://html.spec.whatwg.org/#the-indicated-part-of-the-document\n   * @see https://html.spec.whatwg.org/#scroll-to-fragid\n   */\n  scrollToAnchor(target) {\n    const elSelected = findAnchorFromDocument(this.document, target);\n    if (elSelected) {\n      this.scrollToElement(elSelected);\n      // After scrolling to the element, the spec dictates that we follow the focus steps for the\n      // target. Rather than following the robust steps, simply attempt focus.\n      //\n      // @see https://html.spec.whatwg.org/#get-the-focusable-area\n      // @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus\n      // @see https://html.spec.whatwg.org/#focusable-area\n      elSelected.focus();\n    }\n  }\n  /**\n   * Disables automatic scroll restoration provided by the browser.\n   */\n  setHistoryScrollRestoration(scrollRestoration) {\n    this.window.history.scrollRestoration = scrollRestoration;\n  }\n  /**\n   * Scrolls to an element using the native offset and the specified offset set on this scroller.\n   *\n   * The offset can be used when we know that there is a floating header and scrolling naively to an\n   * element (ex: `scrollIntoView`) leaves the element hidden behind the floating header.\n   */\n  scrollToElement(el) {\n    const rect = el.getBoundingClientRect();\n    const left = rect.left + this.window.pageXOffset;\n    const top = rect.top + this.window.pageYOffset;\n    const offset = this.offset();\n    this.window.scrollTo(left - offset[0], top - offset[1]);\n  }\n}\nfunction findAnchorFromDocument(document, target) {\n  const documentResult = document.getElementById(target) || document.getElementsByName(target)[0];\n  if (documentResult) {\n    return documentResult;\n  }\n  // `getElementById` and `getElementsByName` won't pierce through the shadow DOM so we\n  // have to traverse the DOM manually and do the lookup through the shadow roots.\n  if (typeof document.createTreeWalker === 'function' && document.body && typeof document.body.attachShadow === 'function') {\n    const treeWalker = document.createTreeWalker(document.body, NodeFilter.SHOW_ELEMENT);\n    let currentNode = treeWalker.currentNode;\n    while (currentNode) {\n      const shadowRoot = currentNode.shadowRoot;\n      if (shadowRoot) {\n        // Note that `ShadowRoot` doesn't support `getElementsByName`\n        // so we have to fall back to `querySelector`.\n        const result = shadowRoot.getElementById(target) || shadowRoot.querySelector(`[name=\"${target}\"]`);\n        if (result) {\n          return result;\n        }\n      }\n      currentNode = treeWalker.nextNode();\n    }\n  }\n  return null;\n}\n/**\n * Provides an empty implementation of the viewport scroller.\n */\nclass NullViewportScroller {\n  /**\n   * Empty implementation\n   */\n  setOffset(offset) {}\n  /**\n   * Empty implementation\n   */\n  getScrollPosition() {\n    return [0, 0];\n  }\n  /**\n   * Empty implementation\n   */\n  scrollToPosition(position) {}\n  /**\n   * Empty implementation\n   */\n  scrollToAnchor(anchor) {}\n  /**\n   * Empty implementation\n   */\n  setHistoryScrollRestoration(scrollRestoration) {}\n}\n\n/**\n * Value (out of 100) of the requested quality for placeholder images.\n */\nconst PLACEHOLDER_QUALITY = '20';\n\n// Converts a string that represents a URL into a URL class instance.\nfunction getUrl(src, win) {\n  // Don't use a base URL is the URL is absolute.\n  return isAbsoluteUrl(src) ? new URL(src) : new URL(src, win.location.href);\n}\n// Checks whether a URL is absolute (i.e. starts with `http://` or `https://`).\nfunction isAbsoluteUrl(src) {\n  return /^https?:\\/\\//.test(src);\n}\n// Given a URL, extract the hostname part.\n// If a URL is a relative one - the URL is returned as is.\nfunction extractHostname(url) {\n  return isAbsoluteUrl(url) ? new URL(url).hostname : url;\n}\nfunction isValidPath(path) {\n  const isString = typeof path === 'string';\n  if (!isString || path.trim() === '') {\n    return false;\n  }\n  // Calling new URL() will throw if the path string is malformed\n  try {\n    const url = new URL(path);\n    return true;\n  } catch {\n    return false;\n  }\n}\nfunction normalizePath(path) {\n  return path.endsWith('/') ? path.slice(0, -1) : path;\n}\nfunction normalizeSrc(src) {\n  return src.startsWith('/') ? src.slice(1) : src;\n}\n\n/**\n * Noop image loader that does no transformation to the original src and just returns it as is.\n * This loader is used as a default one if more specific logic is not provided in an app config.\n *\n * @see {@link ImageLoader}\n * @see {@link NgOptimizedImage}\n */\nconst noopImageLoader = config => config.src;\n/**\n * Injection token that configures the image loader function.\n *\n * @see {@link ImageLoader}\n * @see {@link NgOptimizedImage}\n * @publicApi\n */\nconst IMAGE_LOADER = /*#__PURE__*/new InjectionToken(ngDevMode ? 'ImageLoader' : '', {\n  providedIn: 'root',\n  factory: () => noopImageLoader\n});\n/**\n * Internal helper function that makes it easier to introduce custom image loaders for the\n * `NgOptimizedImage` directive. It is enough to specify a URL builder function to obtain full DI\n * configuration for a given loader: a DI token corresponding to the actual loader function, plus DI\n * tokens managing preconnect check functionality.\n * @param buildUrlFn a function returning a full URL based on loader's configuration\n * @param exampleUrls example of full URLs for a given loader (used in error messages)\n * @returns a set of DI providers corresponding to the configured image loader\n */\nfunction createImageLoader(buildUrlFn, exampleUrls) {\n  return function provideImageLoader(path) {\n    if (!isValidPath(path)) {\n      throwInvalidPathError(path, exampleUrls || []);\n    }\n    // The trailing / is stripped (if provided) to make URL construction (concatenation) easier in\n    // the individual loader functions.\n    path = normalizePath(path);\n    const loaderFn = config => {\n      if (isAbsoluteUrl(config.src)) {\n        // Image loader functions expect an image file name (e.g. `my-image.png`)\n        // or a relative path + a file name (e.g. `/a/b/c/my-image.png`) as an input,\n        // so the final absolute URL can be constructed.\n        // When an absolute URL is provided instead - the loader can not\n        // build a final URL, thus the error is thrown to indicate that.\n        throwUnexpectedAbsoluteUrlError(path, config.src);\n      }\n      return buildUrlFn(path, {\n        ...config,\n        src: normalizeSrc(config.src)\n      });\n    };\n    const providers = [{\n      provide: IMAGE_LOADER,\n      useValue: loaderFn\n    }];\n    return providers;\n  };\n}\nfunction throwInvalidPathError(path, exampleUrls) {\n  throw new _RuntimeError(2959 /* RuntimeErrorCode.INVALID_LOADER_ARGUMENTS */, ngDevMode && `Image loader has detected an invalid path (\\`${path}\\`). ` + `To fix this, supply a path using one of the following formats: ${exampleUrls.join(' or ')}`);\n}\nfunction throwUnexpectedAbsoluteUrlError(path, url) {\n  throw new _RuntimeError(2959 /* RuntimeErrorCode.INVALID_LOADER_ARGUMENTS */, ngDevMode && `Image loader has detected a \\`<img>\\` tag with an invalid \\`ngSrc\\` attribute: ${url}. ` + `This image loader expects \\`ngSrc\\` to be a relative URL - ` + `however the provided value is an absolute URL. ` + `To fix this, provide \\`ngSrc\\` as a path relative to the base URL ` + `configured for this loader (\\`${path}\\`).`);\n}\n\n/**\n * Function that generates an ImageLoader for [Cloudflare Image\n * Resizing](https://developers.cloudflare.com/images/image-resizing/) and turns it into an Angular\n * provider. Note: Cloudflare has multiple image products - this provider is specifically for\n * Cloudflare Image Resizing; it will not work with Cloudflare Images or Cloudflare Polish.\n *\n * @param path Your domain name, e.g. https://mysite.com\n * @returns Provider that provides an ImageLoader function\n *\n * @publicApi\n */\nconst provideCloudflareLoader = /*#__PURE__*/createImageLoader(createCloudflareUrl, ngDevMode ? ['https://<ZONE>/cdn-cgi/image/<OPTIONS>/<SOURCE-IMAGE>'] : undefined);\nfunction createCloudflareUrl(path, config) {\n  let params = `format=auto`;\n  if (config.width) {\n    params += `,width=${config.width}`;\n  }\n  // When requesting a placeholder image we ask for a low quality image to reduce the load time.\n  if (config.isPlaceholder) {\n    params += `,quality=${PLACEHOLDER_QUALITY}`;\n  }\n  // Cloudflare image URLs format:\n  // https://developers.cloudflare.com/images/image-resizing/url-format/\n  return `${path}/cdn-cgi/image/${params}/${config.src}`;\n}\n\n/**\n * Name and URL tester for Cloudinary.\n */\nconst cloudinaryLoaderInfo = {\n  name: 'Cloudinary',\n  testUrl: isCloudinaryUrl\n};\nconst CLOUDINARY_LOADER_REGEX = /https?\\:\\/\\/[^\\/]+\\.cloudinary\\.com\\/.+/;\n/**\n * Tests whether a URL is from Cloudinary CDN.\n */\nfunction isCloudinaryUrl(url) {\n  return CLOUDINARY_LOADER_REGEX.test(url);\n}\n/**\n * Function that generates an ImageLoader for Cloudinary and turns it into an Angular provider.\n *\n * @param path Base URL of your Cloudinary images\n * This URL should match one of the following formats:\n * https://res.cloudinary.com/mysite\n * https://mysite.cloudinary.com\n * https://subdomain.mysite.com\n * @returns Set of providers to configure the Cloudinary loader.\n *\n * @publicApi\n */\nconst provideCloudinaryLoader = /*#__PURE__*/createImageLoader(createCloudinaryUrl, ngDevMode ? ['https://res.cloudinary.com/mysite', 'https://mysite.cloudinary.com', 'https://subdomain.mysite.com'] : undefined);\nfunction createCloudinaryUrl(path, config) {\n  // Cloudinary image URLformat:\n  // https://cloudinary.com/documentation/image_transformations#transformation_url_structure\n  // Example of a Cloudinary image URL:\n  // https://res.cloudinary.com/mysite/image/upload/c_scale,f_auto,q_auto,w_600/marketing/tile-topics-m.png\n  // For a placeholder image, we use the lowest image setting available to reduce the load time\n  // else we use the auto size\n  const quality = config.isPlaceholder ? 'q_auto:low' : 'q_auto';\n  let params = `f_auto,${quality}`;\n  if (config.width) {\n    params += `,w_${config.width}`;\n  }\n  if (config.loaderParams?.['rounded']) {\n    params += `,r_max`;\n  }\n  return `${path}/image/upload/${params}/${config.src}`;\n}\n\n/**\n * Name and URL tester for ImageKit.\n */\nconst imageKitLoaderInfo = {\n  name: 'ImageKit',\n  testUrl: isImageKitUrl\n};\nconst IMAGE_KIT_LOADER_REGEX = /https?\\:\\/\\/[^\\/]+\\.imagekit\\.io\\/.+/;\n/**\n * Tests whether a URL is from ImageKit CDN.\n */\nfunction isImageKitUrl(url) {\n  return IMAGE_KIT_LOADER_REGEX.test(url);\n}\n/**\n * Function that generates an ImageLoader for ImageKit and turns it into an Angular provider.\n *\n * @param path Base URL of your ImageKit images\n * This URL should match one of the following formats:\n * https://ik.imagekit.io/myaccount\n * https://subdomain.mysite.com\n * @returns Set of providers to configure the ImageKit loader.\n *\n * @publicApi\n */\nconst provideImageKitLoader = /*#__PURE__*/createImageLoader(createImagekitUrl, ngDevMode ? ['https://ik.imagekit.io/mysite', 'https://subdomain.mysite.com'] : undefined);\nfunction createImagekitUrl(path, config) {\n  // Example of an ImageKit image URL:\n  // https://ik.imagekit.io/demo/tr:w-300,h-300/medium_cafe_B1iTdD0C.jpg\n  const {\n    src,\n    width\n  } = config;\n  const params = [];\n  if (width) {\n    params.push(`w-${width}`);\n  }\n  // When requesting a placeholder image we ask for a low quality image to reduce the load time.\n  if (config.isPlaceholder) {\n    params.push(`q-${PLACEHOLDER_QUALITY}`);\n  }\n  const urlSegments = params.length ? [path, `tr:${params.join(',')}`, src] : [path, src];\n  const url = new URL(urlSegments.join('/'));\n  return url.href;\n}\n\n/**\n * Name and URL tester for Imgix.\n */\nconst imgixLoaderInfo = {\n  name: 'Imgix',\n  testUrl: isImgixUrl\n};\nconst IMGIX_LOADER_REGEX = /https?\\:\\/\\/[^\\/]+\\.imgix\\.net\\/.+/;\n/**\n * Tests whether a URL is from Imgix CDN.\n */\nfunction isImgixUrl(url) {\n  return IMGIX_LOADER_REGEX.test(url);\n}\n/**\n * Function that generates an ImageLoader for Imgix and turns it into an Angular provider.\n *\n * @param path path to the desired Imgix origin,\n * e.g. https://somepath.imgix.net or https://images.mysite.com\n * @returns Set of providers to configure the Imgix loader.\n *\n * @publicApi\n */\nconst provideImgixLoader = /*#__PURE__*/createImageLoader(createImgixUrl, ngDevMode ? ['https://somepath.imgix.net/'] : undefined);\nfunction createImgixUrl(path, config) {\n  const url = new URL(`${path}/${config.src}`);\n  // This setting ensures the smallest allowable format is set.\n  url.searchParams.set('auto', 'format');\n  if (config.width) {\n    url.searchParams.set('w', config.width.toString());\n  }\n  // When requesting a placeholder image we ask a low quality image to reduce the load time.\n  if (config.isPlaceholder) {\n    url.searchParams.set('q', PLACEHOLDER_QUALITY);\n  }\n  return url.href;\n}\n\n/**\n * Name and URL tester for Netlify.\n */\nconst netlifyLoaderInfo = {\n  name: 'Netlify',\n  testUrl: isNetlifyUrl\n};\nconst NETLIFY_LOADER_REGEX = /https?\\:\\/\\/[^\\/]+\\.netlify\\.app\\/.+/;\n/**\n * Tests whether a URL is from a Netlify site. This won't catch sites with a custom domain,\n * but it's a good start for sites in development. This is only used to warn users who haven't\n * configured an image loader.\n */\nfunction isNetlifyUrl(url) {\n  return NETLIFY_LOADER_REGEX.test(url);\n}\n/**\n * Function that generates an ImageLoader for Netlify and turns it into an Angular provider.\n *\n * @param path optional URL of the desired Netlify site. Defaults to the current site.\n * @returns Set of providers to configure the Netlify loader.\n *\n * @publicApi\n */\nfunction provideNetlifyLoader(path) {\n  if (path && !isValidPath(path)) {\n    throw new _RuntimeError(2959 /* RuntimeErrorCode.INVALID_LOADER_ARGUMENTS */, ngDevMode && `Image loader has detected an invalid path (\\`${path}\\`). ` + `To fix this, supply either the full URL to the Netlify site, or leave it empty to use the current site.`);\n  }\n  if (path) {\n    const url = new URL(path);\n    path = url.origin;\n  }\n  const loaderFn = config => {\n    return createNetlifyUrl(config, path);\n  };\n  const providers = [{\n    provide: IMAGE_LOADER,\n    useValue: loaderFn\n  }];\n  return providers;\n}\nconst validParams = /*#__PURE__*/new Map([['height', 'h'], ['fit', 'fit'], ['quality', 'q'], ['q', 'q'], ['position', 'position']]);\nfunction createNetlifyUrl(config, path) {\n  // Note: `path` can be undefined, in which case we use a fake one to construct a `URL` instance.\n  const url = new URL(path ?? 'https://a/');\n  url.pathname = '/.netlify/images';\n  if (!isAbsoluteUrl(config.src) && !config.src.startsWith('/')) {\n    config.src = '/' + config.src;\n  }\n  url.searchParams.set('url', config.src);\n  if (config.width) {\n    url.searchParams.set('w', config.width.toString());\n  }\n  // When requesting a placeholder image we ask for a low quality image to reduce the load time.\n  // If the quality is specified in the loader config - always use provided value.\n  const configQuality = config.loaderParams?.['quality'] ?? config.loaderParams?.['q'];\n  if (config.isPlaceholder && !configQuality) {\n    url.searchParams.set('q', PLACEHOLDER_QUALITY);\n  }\n  for (const [param, value] of Object.entries(config.loaderParams ?? {})) {\n    if (validParams.has(param)) {\n      url.searchParams.set(validParams.get(param), value.toString());\n    } else {\n      if (ngDevMode) {\n        console.warn(_formatRuntimeError(2959 /* RuntimeErrorCode.INVALID_LOADER_ARGUMENTS */, `The Netlify image loader has detected an \\`<img>\\` tag with the unsupported attribute \"\\`${param}\\`\".`));\n      }\n    }\n  }\n  // The \"a\" hostname is used for relative URLs, so we can remove it from the final URL.\n  return url.hostname === 'a' ? url.href.replace(url.origin, '') : url.href;\n}\n\n// Assembles directive details string, useful for error messages.\nfunction imgDirectiveDetails(ngSrc, includeNgSrc = true) {\n  const ngSrcInfo = includeNgSrc ? `(activated on an <img> element with the \\`ngSrc=\"${ngSrc}\"\\`) ` : '';\n  return `The NgOptimizedImage directive ${ngSrcInfo}has detected that`;\n}\n\n/**\n * Asserts that the application is in development mode. Throws an error if the application is in\n * production mode. This assert can be used to make sure that there is no dev-mode code invoked in\n * the prod mode accidentally.\n */\nfunction assertDevMode(checkName) {\n  if (!ngDevMode) {\n    throw new _RuntimeError(2958 /* RuntimeErrorCode.UNEXPECTED_DEV_MODE_CHECK_IN_PROD_MODE */, `Unexpected invocation of the ${checkName} in the prod mode. ` + `Please make sure that the prod mode is enabled for production builds.`);\n  }\n}\n\n/**\n * Observer that detects whether an image with `NgOptimizedImage`\n * is treated as a Largest Contentful Paint (LCP) element. If so,\n * asserts that the image has the `priority` attribute.\n *\n * Note: this is a dev-mode only class and it does not appear in prod bundles,\n * thus there is no `ngDevMode` use in the code.\n *\n * Based on https://web.dev/lcp/#measure-lcp-in-javascript.\n */\nlet LCPImageObserver = /*#__PURE__*/(() => {\n  class LCPImageObserver {\n    // Map of full image URLs -> original `ngSrc` values.\n    images = new Map();\n    window = null;\n    observer = null;\n    constructor() {\n      const isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n      assertDevMode('LCP checker');\n      const win = inject(DOCUMENT).defaultView;\n      if (isBrowser && typeof PerformanceObserver !== 'undefined') {\n        this.window = win;\n        this.observer = this.initPerformanceObserver();\n      }\n    }\n    /**\n     * Inits PerformanceObserver and subscribes to LCP events.\n     * Based on https://web.dev/lcp/#measure-lcp-in-javascript\n     */\n    initPerformanceObserver() {\n      const observer = new PerformanceObserver(entryList => {\n        const entries = entryList.getEntries();\n        if (entries.length === 0) return;\n        // We use the latest entry produced by the `PerformanceObserver` as the best\n        // signal on which element is actually an LCP one. As an example, the first image to load on\n        // a page, by virtue of being the only thing on the page so far, is often a LCP candidate\n        // and gets reported by PerformanceObserver, but isn't necessarily the LCP element.\n        const lcpElement = entries[entries.length - 1];\n        // Cast to `any` due to missing `element` on the `LargestContentfulPaint` type of entry.\n        // See https://developer.mozilla.org/en-US/docs/Web/API/LargestContentfulPaint\n        const imgSrc = lcpElement.element?.src ?? '';\n        // Exclude `data:` and `blob:` URLs, since they are not supported by the directive.\n        if (imgSrc.startsWith('data:') || imgSrc.startsWith('blob:')) return;\n        const img = this.images.get(imgSrc);\n        if (!img) return;\n        if (!img.priority && !img.alreadyWarnedPriority) {\n          img.alreadyWarnedPriority = true;\n          logMissingPriorityError(imgSrc);\n        }\n        if (img.modified && !img.alreadyWarnedModified) {\n          img.alreadyWarnedModified = true;\n          logModifiedWarning(imgSrc);\n        }\n      });\n      observer.observe({\n        type: 'largest-contentful-paint',\n        buffered: true\n      });\n      return observer;\n    }\n    registerImage(rewrittenSrc, originalNgSrc, isPriority) {\n      if (!this.observer) return;\n      const newObservedImageState = {\n        priority: isPriority,\n        modified: false,\n        alreadyWarnedModified: false,\n        alreadyWarnedPriority: false\n      };\n      this.images.set(getUrl(rewrittenSrc, this.window).href, newObservedImageState);\n    }\n    unregisterImage(rewrittenSrc) {\n      if (!this.observer) return;\n      this.images.delete(getUrl(rewrittenSrc, this.window).href);\n    }\n    updateImage(originalSrc, newSrc) {\n      if (!this.observer) return;\n      const originalUrl = getUrl(originalSrc, this.window).href;\n      const img = this.images.get(originalUrl);\n      if (img) {\n        img.modified = true;\n        this.images.set(getUrl(newSrc, this.window).href, img);\n        this.images.delete(originalUrl);\n      }\n    }\n    ngOnDestroy() {\n      if (!this.observer) return;\n      this.observer.disconnect();\n      this.images.clear();\n    }\n    static ɵfac = function LCPImageObserver_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || LCPImageObserver)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: LCPImageObserver,\n      factory: LCPImageObserver.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return LCPImageObserver;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction logMissingPriorityError(ngSrc) {\n  const directiveDetails = imgDirectiveDetails(ngSrc);\n  console.error(_formatRuntimeError(2955 /* RuntimeErrorCode.LCP_IMG_MISSING_PRIORITY */, `${directiveDetails} this image is the Largest Contentful Paint (LCP) ` + `element but was not marked \"priority\". This image should be marked ` + `\"priority\" in order to prioritize its loading. ` + `To fix this, add the \"priority\" attribute.`));\n}\nfunction logModifiedWarning(ngSrc) {\n  const directiveDetails = imgDirectiveDetails(ngSrc);\n  console.warn(_formatRuntimeError(2964 /* RuntimeErrorCode.LCP_IMG_NGSRC_MODIFIED */, `${directiveDetails} this image is the Largest Contentful Paint (LCP) ` + `element and has had its \"ngSrc\" attribute modified. This can cause ` + `slower loading performance. It is recommended not to modify the \"ngSrc\" ` + `property on any image which could be the LCP element.`));\n}\n\n// Set of origins that are always excluded from the preconnect checks.\nconst INTERNAL_PRECONNECT_CHECK_BLOCKLIST = /*#__PURE__*/new Set(['localhost', '127.0.0.1', '0.0.0.0']);\n/**\n * Injection token to configure which origins should be excluded\n * from the preconnect checks. It can either be a single string or an array of strings\n * to represent a group of origins, for example:\n *\n * ```ts\n *  {provide: PRECONNECT_CHECK_BLOCKLIST, useValue: 'https://your-domain.com'}\n * ```\n *\n * or:\n *\n * ```ts\n *  {provide: PRECONNECT_CHECK_BLOCKLIST,\n *   useValue: ['https://your-domain-1.com', 'https://your-domain-2.com']}\n * ```\n *\n * @publicApi\n */\nconst PRECONNECT_CHECK_BLOCKLIST = /*#__PURE__*/new InjectionToken(ngDevMode ? 'PRECONNECT_CHECK_BLOCKLIST' : '');\n/**\n * Contains the logic to detect whether an image, marked with the \"priority\" attribute\n * has a corresponding `<link rel=\"preconnect\">` tag in the `document.head`.\n *\n * Note: this is a dev-mode only class, which should not appear in prod bundles,\n * thus there is no `ngDevMode` use in the code.\n */\nlet PreconnectLinkChecker = /*#__PURE__*/(() => {\n  class PreconnectLinkChecker {\n    document = inject(DOCUMENT);\n    /**\n     * Set of <link rel=\"preconnect\"> tags found on this page.\n     * The `null` value indicates that there was no DOM query operation performed.\n     */\n    preconnectLinks = null;\n    /*\n     * Keep track of all already seen origin URLs to avoid repeating the same check.\n     */\n    alreadySeen = new Set();\n    window = this.document.defaultView;\n    blocklist = new Set(INTERNAL_PRECONNECT_CHECK_BLOCKLIST);\n    constructor() {\n      assertDevMode('preconnect link checker');\n      const blocklist = inject(PRECONNECT_CHECK_BLOCKLIST, {\n        optional: true\n      });\n      if (blocklist) {\n        this.populateBlocklist(blocklist);\n      }\n    }\n    populateBlocklist(origins) {\n      if (Array.isArray(origins)) {\n        deepForEach(origins, origin => {\n          this.blocklist.add(extractHostname(origin));\n        });\n      } else {\n        this.blocklist.add(extractHostname(origins));\n      }\n    }\n    /**\n     * Checks that a preconnect resource hint exists in the head for the\n     * given src.\n     *\n     * @param rewrittenSrc src formatted with loader\n     * @param originalNgSrc ngSrc value\n     */\n    assertPreconnect(rewrittenSrc, originalNgSrc) {\n      if (typeof ngServerMode !== 'undefined' && ngServerMode) return;\n      const imgUrl = getUrl(rewrittenSrc, this.window);\n      if (this.blocklist.has(imgUrl.hostname) || this.alreadySeen.has(imgUrl.origin)) return;\n      // Register this origin as seen, so we don't check it again later.\n      this.alreadySeen.add(imgUrl.origin);\n      // Note: we query for preconnect links only *once* and cache the results\n      // for the entire lifespan of an application, since it's unlikely that the\n      // list would change frequently. This allows to make sure there are no\n      // performance implications of making extra DOM lookups for each image.\n      this.preconnectLinks ??= this.queryPreconnectLinks();\n      if (!this.preconnectLinks.has(imgUrl.origin)) {\n        console.warn(_formatRuntimeError(2956 /* RuntimeErrorCode.PRIORITY_IMG_MISSING_PRECONNECT_TAG */, `${imgDirectiveDetails(originalNgSrc)} there is no preconnect tag present for this ` + `image. Preconnecting to the origin(s) that serve priority images ensures that these ` + `images are delivered as soon as possible. To fix this, please add the following ` + `element into the <head> of the document:\\n` + `  <link rel=\"preconnect\" href=\"${imgUrl.origin}\">`));\n      }\n    }\n    queryPreconnectLinks() {\n      const preconnectUrls = new Set();\n      const links = this.document.querySelectorAll('link[rel=preconnect]');\n      for (const link of links) {\n        const url = getUrl(link.href, this.window);\n        preconnectUrls.add(url.origin);\n      }\n      return preconnectUrls;\n    }\n    ngOnDestroy() {\n      this.preconnectLinks?.clear();\n      this.alreadySeen.clear();\n    }\n    static ɵfac = function PreconnectLinkChecker_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || PreconnectLinkChecker)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: PreconnectLinkChecker,\n      factory: PreconnectLinkChecker.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return PreconnectLinkChecker;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Invokes a callback for each element in the array. Also invokes a callback\n * recursively for each nested array.\n */\nfunction deepForEach(input, fn) {\n  for (let value of input) {\n    Array.isArray(value) ? deepForEach(value, fn) : fn(value);\n  }\n}\n\n/**\n * In SSR scenarios, a preload `<link>` element is generated for priority images.\n * Having a large number of preload tags may negatively affect the performance,\n * so we warn developers (by throwing an error) if the number of preloaded images\n * is above a certain threshold. This const specifies this threshold.\n */\nconst DEFAULT_PRELOADED_IMAGES_LIMIT = 5;\n/**\n * Helps to keep track of priority images that already have a corresponding\n * preload tag (to avoid generating multiple preload tags with the same URL).\n *\n * This Set tracks the original src passed into the `ngSrc` input not the src after it has been\n * run through the specified `IMAGE_LOADER`.\n */\nconst PRELOADED_IMAGES = /*#__PURE__*/new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'NG_OPTIMIZED_PRELOADED_IMAGES' : '', {\n  providedIn: 'root',\n  factory: () => new Set()\n});\n\n/**\n * @description Contains the logic needed to track and add preload link tags to the `<head>` tag. It\n * will also track what images have already had preload link tags added so as to not duplicate link\n * tags.\n *\n * In dev mode this service will validate that the number of preloaded images does not exceed the\n * configured default preloaded images limit: {@link DEFAULT_PRELOADED_IMAGES_LIMIT}.\n */\nlet PreloadLinkCreator = /*#__PURE__*/(() => {\n  class PreloadLinkCreator {\n    preloadedImages = inject(PRELOADED_IMAGES);\n    document = inject(DOCUMENT);\n    errorShown = false;\n    /**\n     * @description Add a preload `<link>` to the `<head>` of the `index.html` that is served from the\n     * server while using Angular Universal and SSR to kick off image loads for high priority images.\n     *\n     * The `sizes` (passed in from the user) and `srcset` (parsed and formatted from `ngSrcset`)\n     * properties used to set the corresponding attributes, `imagesizes` and `imagesrcset`\n     * respectively, on the preload `<link>` tag so that the correctly sized image is preloaded from\n     * the CDN.\n     *\n     * {@link https://web.dev/preload-responsive-images/#imagesrcset-and-imagesizes}\n     *\n     * @param renderer The `Renderer2` passed in from the directive\n     * @param src The original src of the image that is set on the `ngSrc` input.\n     * @param srcset The parsed and formatted srcset created from the `ngSrcset` input\n     * @param sizes The value of the `sizes` attribute passed in to the `<img>` tag\n     */\n    createPreloadLinkTag(renderer, src, srcset, sizes) {\n      if (ngDevMode && !this.errorShown && this.preloadedImages.size >= DEFAULT_PRELOADED_IMAGES_LIMIT) {\n        this.errorShown = true;\n        console.warn(_formatRuntimeError(2961 /* RuntimeErrorCode.TOO_MANY_PRELOADED_IMAGES */, `The \\`NgOptimizedImage\\` directive has detected that more than ` + `${DEFAULT_PRELOADED_IMAGES_LIMIT} images were marked as priority. ` + `This might negatively affect an overall performance of the page. ` + `To fix this, remove the \"priority\" attribute from images with less priority.`));\n      }\n      if (this.preloadedImages.has(src)) {\n        return;\n      }\n      this.preloadedImages.add(src);\n      const preload = renderer.createElement('link');\n      renderer.setAttribute(preload, 'as', 'image');\n      renderer.setAttribute(preload, 'href', src);\n      renderer.setAttribute(preload, 'rel', 'preload');\n      renderer.setAttribute(preload, 'fetchpriority', 'high');\n      if (sizes) {\n        renderer.setAttribute(preload, 'imageSizes', sizes);\n      }\n      if (srcset) {\n        renderer.setAttribute(preload, 'imageSrcset', srcset);\n      }\n      renderer.appendChild(this.document.head, preload);\n    }\n    static ɵfac = function PreloadLinkCreator_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || PreloadLinkCreator)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: PreloadLinkCreator,\n      factory: PreloadLinkCreator.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return PreloadLinkCreator;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * When a Base64-encoded image is passed as an input to the `NgOptimizedImage` directive,\n * an error is thrown. The image content (as a string) might be very long, thus making\n * it hard to read an error message if the entire string is included. This const defines\n * the number of characters that should be included into the error message. The rest\n * of the content is truncated.\n */\nconst BASE64_IMG_MAX_LENGTH_IN_ERROR = 50;\n/**\n * RegExpr to determine whether a src in a srcset is using width descriptors.\n * Should match something like: \"100w, 200w\".\n */\nconst VALID_WIDTH_DESCRIPTOR_SRCSET = /^((\\s*\\d+w\\s*(,|$)){1,})$/;\n/**\n * RegExpr to determine whether a src in a srcset is using density descriptors.\n * Should match something like: \"1x, 2x, 50x\". Also supports decimals like \"1.5x, 1.50x\".\n */\nconst VALID_DENSITY_DESCRIPTOR_SRCSET = /^((\\s*\\d+(\\.\\d+)?x\\s*(,|$)){1,})$/;\n/**\n * Srcset values with a density descriptor higher than this value will actively\n * throw an error. Such densities are not permitted as they cause image sizes\n * to be unreasonably large and slow down LCP.\n */\nconst ABSOLUTE_SRCSET_DENSITY_CAP = 3;\n/**\n * Used only in error message text to communicate best practices, as we will\n * only throw based on the slightly more conservative ABSOLUTE_SRCSET_DENSITY_CAP.\n */\nconst RECOMMENDED_SRCSET_DENSITY_CAP = 2;\n/**\n * Used in generating automatic density-based srcsets\n */\nconst DENSITY_SRCSET_MULTIPLIERS = [1, 2];\n/**\n * Used to determine which breakpoints to use on full-width images\n */\nconst VIEWPORT_BREAKPOINT_CUTOFF = 640;\n/**\n * Used to determine whether two aspect ratios are similar in value.\n */\nconst ASPECT_RATIO_TOLERANCE = 0.1;\n/**\n * Used to determine whether the image has been requested at an overly\n * large size compared to the actual rendered image size (after taking\n * into account a typical device pixel ratio). In pixels.\n */\nconst OVERSIZED_IMAGE_TOLERANCE = 1000;\n/**\n * Used to limit automatic srcset generation of very large sources for\n * fixed-size images. In pixels.\n */\nconst FIXED_SRCSET_WIDTH_LIMIT = 1920;\nconst FIXED_SRCSET_HEIGHT_LIMIT = 1080;\n/**\n * Default blur radius of the CSS filter used on placeholder images, in pixels\n */\nconst PLACEHOLDER_BLUR_AMOUNT = 15;\n/**\n * Placeholder dimension (height or width) limit in pixels. Angular produces a warning\n * when this limit is crossed.\n */\nconst PLACEHOLDER_DIMENSION_LIMIT = 1000;\n/**\n * Used to warn or error when the user provides an overly large dataURL for the placeholder\n * attribute.\n * Character count of Base64 images is 1 character per byte, and base64 encoding is approximately\n * 33% larger than base images, so 4000 characters is around 3KB on disk and 10000 characters is\n * around 7.7KB. Experimentally, 4000 characters is about 20x20px in PNG or medium-quality JPEG\n * format, and 10,000 is around 50x50px, but there's quite a bit of variation depending on how the\n * image is saved.\n */\nconst DATA_URL_WARN_LIMIT = 4000;\nconst DATA_URL_ERROR_LIMIT = 10000;\n/** Info about built-in loaders we can test for. */\nconst BUILT_IN_LOADERS = [imgixLoaderInfo, imageKitLoaderInfo, cloudinaryLoaderInfo, netlifyLoaderInfo];\n/**\n * Threshold for the PRIORITY_TRUE_COUNT\n */\nconst PRIORITY_COUNT_THRESHOLD = 10;\n/**\n * This count is used to log a devMode warning\n * when the count of directive instances with priority=true\n * exceeds the threshold PRIORITY_COUNT_THRESHOLD\n */\nlet IMGS_WITH_PRIORITY_ATTR_COUNT = 0;\n/**\n * Directive that improves image loading performance by enforcing best practices.\n *\n * `NgOptimizedImage` ensures that the loading of the Largest Contentful Paint (LCP) image is\n * prioritized by:\n * - Automatically setting the `fetchpriority` attribute on the `<img>` tag\n * - Lazy loading non-priority images by default\n * - Automatically generating a preconnect link tag in the document head\n *\n * In addition, the directive:\n * - Generates appropriate asset URLs if a corresponding `ImageLoader` function is provided\n * - Automatically generates a srcset\n * - Requires that `width` and `height` are set\n * - Warns if `width` or `height` have been set incorrectly\n * - Warns if the image will be visually distorted when rendered\n *\n * @usageNotes\n * The `NgOptimizedImage` directive is marked as [standalone](guide/components/importing) and can\n * be imported directly.\n *\n * Follow the steps below to enable and use the directive:\n * 1. Import it into the necessary NgModule or a standalone Component.\n * 2. Optionally provide an `ImageLoader` if you use an image hosting service.\n * 3. Update the necessary `<img>` tags in templates and replace `src` attributes with `ngSrc`.\n * Using a `ngSrc` allows the directive to control when the `src` gets set, which triggers an image\n * download.\n *\n * Step 1: import the `NgOptimizedImage` directive.\n *\n * ```ts\n * import { NgOptimizedImage } from '@angular/common';\n *\n * // Include it into the necessary NgModule\n * @NgModule({\n *   imports: [NgOptimizedImage],\n * })\n * class AppModule {}\n *\n * // ... or a standalone Component\n * @Component({\n *   imports: [NgOptimizedImage],\n * })\n * class MyStandaloneComponent {}\n * ```\n *\n * Step 2: configure a loader.\n *\n * To use the **default loader**: no additional code changes are necessary. The URL returned by the\n * generic loader will always match the value of \"src\". In other words, this loader applies no\n * transformations to the resource URL and the value of the `ngSrc` attribute will be used as is.\n *\n * To use an existing loader for a **third-party image service**: add the provider factory for your\n * chosen service to the `providers` array. In the example below, the Imgix loader is used:\n *\n * ```ts\n * import {provideImgixLoader} from '@angular/common';\n *\n * // Call the function and add the result to the `providers` array:\n * providers: [\n *   provideImgixLoader(\"https://my.base.url/\"),\n * ],\n * ```\n *\n * The `NgOptimizedImage` directive provides the following functions:\n * - `provideCloudflareLoader`\n * - `provideCloudinaryLoader`\n * - `provideImageKitLoader`\n * - `provideImgixLoader`\n *\n * If you use a different image provider, you can create a custom loader function as described\n * below.\n *\n * To use a **custom loader**: provide your loader function as a value for the `IMAGE_LOADER` DI\n * token.\n *\n * ```ts\n * import {IMAGE_LOADER, ImageLoaderConfig} from '@angular/common';\n *\n * // Configure the loader using the `IMAGE_LOADER` token.\n * providers: [\n *   {\n *      provide: IMAGE_LOADER,\n *      useValue: (config: ImageLoaderConfig) => {\n *        return `https://example.com/${config.src}-${config.width}.jpg`;\n *      }\n *   },\n * ],\n * ```\n *\n * Step 3: update `<img>` tags in templates to use `ngSrc` instead of `src`.\n *\n * ```html\n * <img ngSrc=\"logo.png\" width=\"200\" height=\"100\">\n * ```\n *\n * @publicApi\n */\nlet NgOptimizedImage = /*#__PURE__*/(() => {\n  class NgOptimizedImage {\n    imageLoader = inject(IMAGE_LOADER);\n    config = processConfig(inject(_IMAGE_CONFIG));\n    renderer = inject(Renderer2);\n    imgElement = inject(ElementRef).nativeElement;\n    injector = inject(Injector);\n    // An LCP image observer should be injected only in development mode.\n    // Do not assign it to `null` to avoid having a redundant property in the production bundle.\n    lcpObserver;\n    /**\n     * Calculate the rewritten `src` once and store it.\n     * This is needed to avoid repetitive calculations and make sure the directive cleanup in the\n     * `ngOnDestroy` does not rely on the `IMAGE_LOADER` logic (which in turn can rely on some other\n     * instance that might be already destroyed).\n     */\n    _renderedSrc = null;\n    /**\n     * Name of the source image.\n     * Image name will be processed by the image loader and the final URL will be applied as the `src`\n     * property of the image.\n     */\n    ngSrc;\n    /**\n     * A comma separated list of width or density descriptors.\n     * The image name will be taken from `ngSrc` and combined with the list of width or density\n     * descriptors to generate the final `srcset` property of the image.\n     *\n     * Example:\n     * ```html\n     * <img ngSrc=\"hello.jpg\" ngSrcset=\"100w, 200w\" />  =>\n     * <img src=\"path/hello.jpg\" srcset=\"path/hello.jpg?w=100 100w, path/hello.jpg?w=200 200w\" />\n     * ```\n     */\n    ngSrcset;\n    /**\n     * The base `sizes` attribute passed through to the `<img>` element.\n     * Providing sizes causes the image to create an automatic responsive srcset.\n     */\n    sizes;\n    /**\n     * For responsive images: the intrinsic width of the image in pixels.\n     * For fixed size images: the desired rendered width of the image in pixels.\n     */\n    width;\n    /**\n     * For responsive images: the intrinsic height of the image in pixels.\n     * For fixed size images: the desired rendered height of the image in pixels.\n     */\n    height;\n    /**\n     * The desired loading behavior (lazy, eager, or auto). Defaults to `lazy`,\n     * which is recommended for most images.\n     *\n     * Warning: Setting images as loading=\"eager\" or loading=\"auto\" marks them\n     * as non-priority images and can hurt loading performance. For images which\n     * may be the LCP element, use the `priority` attribute instead of `loading`.\n     */\n    loading;\n    /**\n     * Indicates whether this image should have a high priority.\n     */\n    priority = false;\n    /**\n     * Data to pass through to custom loaders.\n     */\n    loaderParams;\n    /**\n     * Disables automatic srcset generation for this image.\n     */\n    disableOptimizedSrcset = false;\n    /**\n     * Sets the image to \"fill mode\", which eliminates the height/width requirement and adds\n     * styles such that the image fills its containing element.\n     */\n    fill = false;\n    /**\n     * A URL or data URL for an image to be used as a placeholder while this image loads.\n     */\n    placeholder;\n    /**\n     * Configuration object for placeholder settings. Options:\n     *   * blur: Setting this to false disables the automatic CSS blur.\n     */\n    placeholderConfig;\n    /**\n     * Value of the `src` attribute if set on the host `<img>` element.\n     * This input is exclusively read to assert that `src` is not set in conflict\n     * with `ngSrc` and that images don't start to load until a lazy loading strategy is set.\n     * @internal\n     */\n    src;\n    /**\n     * Value of the `srcset` attribute if set on the host `<img>` element.\n     * This input is exclusively read to assert that `srcset` is not set in conflict\n     * with `ngSrcset` and that images don't start to load until a lazy loading strategy is set.\n     * @internal\n     */\n    srcset;\n    constructor() {\n      if (ngDevMode) {\n        this.lcpObserver = this.injector.get(LCPImageObserver);\n        // Using `DestroyRef` to avoid having an empty `ngOnDestroy` method since this\n        // is only run in development mode.\n        const destroyRef = inject(DestroyRef);\n        destroyRef.onDestroy(() => {\n          if (!this.priority && this._renderedSrc !== null) {\n            this.lcpObserver.unregisterImage(this._renderedSrc);\n          }\n        });\n      }\n    }\n    /** @docs-private */\n    ngOnInit() {\n      _performanceMarkFeature('NgOptimizedImage');\n      if (ngDevMode) {\n        const ngZone = this.injector.get(NgZone);\n        assertNonEmptyInput(this, 'ngSrc', this.ngSrc);\n        assertValidNgSrcset(this, this.ngSrcset);\n        assertNoConflictingSrc(this);\n        if (this.ngSrcset) {\n          assertNoConflictingSrcset(this);\n        }\n        assertNotBase64Image(this);\n        assertNotBlobUrl(this);\n        if (this.fill) {\n          assertEmptyWidthAndHeight(this);\n          // This leaves the Angular zone to avoid triggering unnecessary change detection cycles when\n          // `load` tasks are invoked on images.\n          ngZone.runOutsideAngular(() => assertNonZeroRenderedHeight(this, this.imgElement, this.renderer));\n        } else {\n          assertNonEmptyWidthAndHeight(this);\n          if (this.height !== undefined) {\n            assertGreaterThanZero(this, this.height, 'height');\n          }\n          if (this.width !== undefined) {\n            assertGreaterThanZero(this, this.width, 'width');\n          }\n          // Only check for distorted images when not in fill mode, where\n          // images may be intentionally stretched, cropped or letterboxed.\n          ngZone.runOutsideAngular(() => assertNoImageDistortion(this, this.imgElement, this.renderer));\n        }\n        assertValidLoadingInput(this);\n        if (!this.ngSrcset) {\n          assertNoComplexSizes(this);\n        }\n        assertValidPlaceholder(this, this.imageLoader);\n        assertNotMissingBuiltInLoader(this.ngSrc, this.imageLoader);\n        assertNoNgSrcsetWithoutLoader(this, this.imageLoader);\n        assertNoLoaderParamsWithoutLoader(this, this.imageLoader);\n        ngZone.runOutsideAngular(() => {\n          this.lcpObserver.registerImage(this.getRewrittenSrc(), this.ngSrc, this.priority);\n        });\n        if (this.priority) {\n          const checker = this.injector.get(PreconnectLinkChecker);\n          checker.assertPreconnect(this.getRewrittenSrc(), this.ngSrc);\n          if (typeof ngServerMode !== 'undefined' && !ngServerMode) {\n            const applicationRef = this.injector.get(ApplicationRef);\n            assetPriorityCountBelowThreshold(applicationRef);\n          }\n        }\n      }\n      if (this.placeholder) {\n        this.removePlaceholderOnLoad(this.imgElement);\n      }\n      this.setHostAttributes();\n    }\n    setHostAttributes() {\n      // Must set width/height explicitly in case they are bound (in which case they will\n      // only be reflected and not found by the browser)\n      if (this.fill) {\n        this.sizes ||= '100vw';\n      } else {\n        this.setHostAttribute('width', this.width.toString());\n        this.setHostAttribute('height', this.height.toString());\n      }\n      this.setHostAttribute('loading', this.getLoadingBehavior());\n      this.setHostAttribute('fetchpriority', this.getFetchPriority());\n      // The `data-ng-img` attribute flags an image as using the directive, to allow\n      // for analysis of the directive's performance.\n      this.setHostAttribute('ng-img', 'true');\n      // The `src` and `srcset` attributes should be set last since other attributes\n      // could affect the image's loading behavior.\n      const rewrittenSrcset = this.updateSrcAndSrcset();\n      if (this.sizes) {\n        if (this.getLoadingBehavior() === 'lazy') {\n          this.setHostAttribute('sizes', 'auto, ' + this.sizes);\n        } else {\n          this.setHostAttribute('sizes', this.sizes);\n        }\n      } else {\n        if (this.ngSrcset && VALID_WIDTH_DESCRIPTOR_SRCSET.test(this.ngSrcset) && this.getLoadingBehavior() === 'lazy') {\n          this.setHostAttribute('sizes', 'auto, 100vw');\n        }\n      }\n      if (typeof ngServerMode !== 'undefined' && ngServerMode && this.priority) {\n        const preloadLinkCreator = this.injector.get(PreloadLinkCreator);\n        preloadLinkCreator.createPreloadLinkTag(this.renderer, this.getRewrittenSrc(), rewrittenSrcset, this.sizes);\n      }\n    }\n    /** @docs-private */\n    ngOnChanges(changes) {\n      if (ngDevMode) {\n        assertNoPostInitInputChange(this, changes, ['ngSrcset', 'width', 'height', 'priority', 'fill', 'loading', 'sizes', 'loaderParams', 'disableOptimizedSrcset']);\n      }\n      if (changes['ngSrc'] && !changes['ngSrc'].isFirstChange()) {\n        const oldSrc = this._renderedSrc;\n        this.updateSrcAndSrcset(true);\n        if (ngDevMode) {\n          const newSrc = this._renderedSrc;\n          if (oldSrc && newSrc && oldSrc !== newSrc) {\n            const ngZone = this.injector.get(NgZone);\n            ngZone.runOutsideAngular(() => {\n              this.lcpObserver.updateImage(oldSrc, newSrc);\n            });\n          }\n        }\n      }\n      if (ngDevMode && changes['placeholder']?.currentValue && typeof ngServerMode !== 'undefined' && !ngServerMode) {\n        assertPlaceholderDimensions(this, this.imgElement);\n      }\n    }\n    callImageLoader(configWithoutCustomParams) {\n      let augmentedConfig = configWithoutCustomParams;\n      if (this.loaderParams) {\n        augmentedConfig.loaderParams = this.loaderParams;\n      }\n      return this.imageLoader(augmentedConfig);\n    }\n    getLoadingBehavior() {\n      if (!this.priority && this.loading !== undefined) {\n        return this.loading;\n      }\n      return this.priority ? 'eager' : 'lazy';\n    }\n    getFetchPriority() {\n      return this.priority ? 'high' : 'auto';\n    }\n    getRewrittenSrc() {\n      // ImageLoaderConfig supports setting a width property. However, we're not setting width here\n      // because if the developer uses rendered width instead of intrinsic width in the HTML width\n      // attribute, the image requested may be too small for 2x+ screens.\n      if (!this._renderedSrc) {\n        const imgConfig = {\n          src: this.ngSrc\n        };\n        // Cache calculated image src to reuse it later in the code.\n        this._renderedSrc = this.callImageLoader(imgConfig);\n      }\n      return this._renderedSrc;\n    }\n    getRewrittenSrcset() {\n      const widthSrcSet = VALID_WIDTH_DESCRIPTOR_SRCSET.test(this.ngSrcset);\n      const finalSrcs = this.ngSrcset.split(',').filter(src => src !== '').map(srcStr => {\n        srcStr = srcStr.trim();\n        const width = widthSrcSet ? parseFloat(srcStr) : parseFloat(srcStr) * this.width;\n        return `${this.callImageLoader({\n          src: this.ngSrc,\n          width\n        })} ${srcStr}`;\n      });\n      return finalSrcs.join(', ');\n    }\n    getAutomaticSrcset() {\n      if (this.sizes) {\n        return this.getResponsiveSrcset();\n      } else {\n        return this.getFixedSrcset();\n      }\n    }\n    getResponsiveSrcset() {\n      const {\n        breakpoints\n      } = this.config;\n      let filteredBreakpoints = breakpoints;\n      if (this.sizes?.trim() === '100vw') {\n        // Since this is a full-screen-width image, our srcset only needs to include\n        // breakpoints with full viewport widths.\n        filteredBreakpoints = breakpoints.filter(bp => bp >= VIEWPORT_BREAKPOINT_CUTOFF);\n      }\n      const finalSrcs = filteredBreakpoints.map(bp => `${this.callImageLoader({\n        src: this.ngSrc,\n        width: bp\n      })} ${bp}w`);\n      return finalSrcs.join(', ');\n    }\n    updateSrcAndSrcset(forceSrcRecalc = false) {\n      if (forceSrcRecalc) {\n        // Reset cached value, so that the followup `getRewrittenSrc()` call\n        // will recalculate it and update the cache.\n        this._renderedSrc = null;\n      }\n      const rewrittenSrc = this.getRewrittenSrc();\n      this.setHostAttribute('src', rewrittenSrc);\n      let rewrittenSrcset = undefined;\n      if (this.ngSrcset) {\n        rewrittenSrcset = this.getRewrittenSrcset();\n      } else if (this.shouldGenerateAutomaticSrcset()) {\n        rewrittenSrcset = this.getAutomaticSrcset();\n      }\n      if (rewrittenSrcset) {\n        this.setHostAttribute('srcset', rewrittenSrcset);\n      }\n      return rewrittenSrcset;\n    }\n    getFixedSrcset() {\n      const finalSrcs = DENSITY_SRCSET_MULTIPLIERS.map(multiplier => `${this.callImageLoader({\n        src: this.ngSrc,\n        width: this.width * multiplier\n      })} ${multiplier}x`);\n      return finalSrcs.join(', ');\n    }\n    shouldGenerateAutomaticSrcset() {\n      let oversizedImage = false;\n      if (!this.sizes) {\n        oversizedImage = this.width > FIXED_SRCSET_WIDTH_LIMIT || this.height > FIXED_SRCSET_HEIGHT_LIMIT;\n      }\n      return !this.disableOptimizedSrcset && !this.srcset && this.imageLoader !== noopImageLoader && !oversizedImage;\n    }\n    /**\n     * Returns an image url formatted for use with the CSS background-image property. Expects one of:\n     * * A base64 encoded image, which is wrapped and passed through.\n     * * A boolean. If true, calls the image loader to generate a small placeholder url.\n     */\n    generatePlaceholder(placeholderInput) {\n      const {\n        placeholderResolution\n      } = this.config;\n      if (placeholderInput === true) {\n        return `url(${this.callImageLoader({\n          src: this.ngSrc,\n          width: placeholderResolution,\n          isPlaceholder: true\n        })})`;\n      } else if (typeof placeholderInput === 'string') {\n        return `url(${placeholderInput})`;\n      }\n      return null;\n    }\n    /**\n     * Determines if blur should be applied, based on an optional boolean\n     * property `blur` within the optional configuration object `placeholderConfig`.\n     */\n    shouldBlurPlaceholder(placeholderConfig) {\n      if (!placeholderConfig || !placeholderConfig.hasOwnProperty('blur')) {\n        return true;\n      }\n      return Boolean(placeholderConfig.blur);\n    }\n    removePlaceholderOnLoad(img) {\n      const callback = () => {\n        const changeDetectorRef = this.injector.get(ChangeDetectorRef);\n        removeLoadListenerFn();\n        removeErrorListenerFn();\n        this.placeholder = false;\n        changeDetectorRef.markForCheck();\n      };\n      const removeLoadListenerFn = this.renderer.listen(img, 'load', callback);\n      const removeErrorListenerFn = this.renderer.listen(img, 'error', callback);\n      callOnLoadIfImageIsLoaded(img, callback);\n    }\n    setHostAttribute(name, value) {\n      this.renderer.setAttribute(this.imgElement, name, value);\n    }\n    static ɵfac = function NgOptimizedImage_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgOptimizedImage)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgOptimizedImage,\n      selectors: [[\"img\", \"ngSrc\", \"\"]],\n      hostVars: 18,\n      hostBindings: function NgOptimizedImage_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵstyleProp(\"position\", ctx.fill ? \"absolute\" : null)(\"width\", ctx.fill ? \"100%\" : null)(\"height\", ctx.fill ? \"100%\" : null)(\"inset\", ctx.fill ? \"0\" : null)(\"background-size\", ctx.placeholder ? \"cover\" : null)(\"background-position\", ctx.placeholder ? \"50% 50%\" : null)(\"background-repeat\", ctx.placeholder ? \"no-repeat\" : null)(\"background-image\", ctx.placeholder ? ctx.generatePlaceholder(ctx.placeholder) : null)(\"filter\", ctx.placeholder && ctx.shouldBlurPlaceholder(ctx.placeholderConfig) ? \"blur(15px)\" : null);\n        }\n      },\n      inputs: {\n        ngSrc: [2, \"ngSrc\", \"ngSrc\", unwrapSafeUrl],\n        ngSrcset: \"ngSrcset\",\n        sizes: \"sizes\",\n        width: [2, \"width\", \"width\", numberAttribute],\n        height: [2, \"height\", \"height\", numberAttribute],\n        loading: \"loading\",\n        priority: [2, \"priority\", \"priority\", booleanAttribute],\n        loaderParams: \"loaderParams\",\n        disableOptimizedSrcset: [2, \"disableOptimizedSrcset\", \"disableOptimizedSrcset\", booleanAttribute],\n        fill: [2, \"fill\", \"fill\", booleanAttribute],\n        placeholder: [2, \"placeholder\", \"placeholder\", booleanOrUrlAttribute],\n        placeholderConfig: \"placeholderConfig\",\n        src: \"src\",\n        srcset: \"srcset\"\n      },\n      features: [i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return NgOptimizedImage;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/***** Helpers *****/\n/**\n * Sorts provided config breakpoints and uses defaults.\n */\nfunction processConfig(config) {\n  let sortedBreakpoints = {};\n  if (config.breakpoints) {\n    sortedBreakpoints.breakpoints = config.breakpoints.sort((a, b) => a - b);\n  }\n  return Object.assign({}, _IMAGE_CONFIG_DEFAULTS, config, sortedBreakpoints);\n}\n/***** Assert functions *****/\n/**\n * Verifies that there is no `src` set on a host element.\n */\nfunction assertNoConflictingSrc(dir) {\n  if (dir.src) {\n    throw new _RuntimeError(2950 /* RuntimeErrorCode.UNEXPECTED_SRC_ATTR */, `${imgDirectiveDetails(dir.ngSrc)} both \\`src\\` and \\`ngSrc\\` have been set. ` + `Supplying both of these attributes breaks lazy loading. ` + `The NgOptimizedImage directive sets \\`src\\` itself based on the value of \\`ngSrc\\`. ` + `To fix this, please remove the \\`src\\` attribute.`);\n  }\n}\n/**\n * Verifies that there is no `srcset` set on a host element.\n */\nfunction assertNoConflictingSrcset(dir) {\n  if (dir.srcset) {\n    throw new _RuntimeError(2951 /* RuntimeErrorCode.UNEXPECTED_SRCSET_ATTR */, `${imgDirectiveDetails(dir.ngSrc)} both \\`srcset\\` and \\`ngSrcset\\` have been set. ` + `Supplying both of these attributes breaks lazy loading. ` + `The NgOptimizedImage directive sets \\`srcset\\` itself based on the value of ` + `\\`ngSrcset\\`. To fix this, please remove the \\`srcset\\` attribute.`);\n  }\n}\n/**\n * Verifies that the `ngSrc` is not a Base64-encoded image.\n */\nfunction assertNotBase64Image(dir) {\n  let ngSrc = dir.ngSrc.trim();\n  if (ngSrc.startsWith('data:')) {\n    if (ngSrc.length > BASE64_IMG_MAX_LENGTH_IN_ERROR) {\n      ngSrc = ngSrc.substring(0, BASE64_IMG_MAX_LENGTH_IN_ERROR) + '...';\n    }\n    throw new _RuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc, false)} \\`ngSrc\\` is a Base64-encoded string ` + `(${ngSrc}). NgOptimizedImage does not support Base64-encoded strings. ` + `To fix this, disable the NgOptimizedImage directive for this element ` + `by removing \\`ngSrc\\` and using a standard \\`src\\` attribute instead.`);\n  }\n}\n/**\n * Verifies that the 'sizes' only includes responsive values.\n */\nfunction assertNoComplexSizes(dir) {\n  let sizes = dir.sizes;\n  if (sizes?.match(/((\\)|,)\\s|^)\\d+px/)) {\n    throw new _RuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc, false)} \\`sizes\\` was set to a string including ` + `pixel values. For automatic \\`srcset\\` generation, \\`sizes\\` must only include responsive ` + `values, such as \\`sizes=\"50vw\"\\` or \\`sizes=\"(min-width: 768px) 50vw, 100vw\"\\`. ` + `To fix this, modify the \\`sizes\\` attribute, or provide your own \\`ngSrcset\\` value directly.`);\n  }\n}\nfunction assertValidPlaceholder(dir, imageLoader) {\n  assertNoPlaceholderConfigWithoutPlaceholder(dir);\n  assertNoRelativePlaceholderWithoutLoader(dir, imageLoader);\n  assertNoOversizedDataUrl(dir);\n}\n/**\n * Verifies that placeholderConfig isn't being used without placeholder\n */\nfunction assertNoPlaceholderConfigWithoutPlaceholder(dir) {\n  if (dir.placeholderConfig && !dir.placeholder) {\n    throw new _RuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc, false)} \\`placeholderConfig\\` options were provided for an ` + `image that does not use the \\`placeholder\\` attribute, and will have no effect.`);\n  }\n}\n/**\n * Warns if a relative URL placeholder is specified, but no loader is present to provide the small\n * image.\n */\nfunction assertNoRelativePlaceholderWithoutLoader(dir, imageLoader) {\n  if (dir.placeholder === true && imageLoader === noopImageLoader) {\n    throw new _RuntimeError(2963 /* RuntimeErrorCode.MISSING_NECESSARY_LOADER */, `${imgDirectiveDetails(dir.ngSrc)} the \\`placeholder\\` attribute is set to true but ` + `no image loader is configured (i.e. the default one is being used), ` + `which would result in the same image being used for the primary image and its placeholder. ` + `To fix this, provide a loader or remove the \\`placeholder\\` attribute from the image.`);\n  }\n}\n/**\n * Warns or throws an error if an oversized dataURL placeholder is provided.\n */\nfunction assertNoOversizedDataUrl(dir) {\n  if (dir.placeholder && typeof dir.placeholder === 'string' && dir.placeholder.startsWith('data:')) {\n    if (dir.placeholder.length > DATA_URL_ERROR_LIMIT) {\n      throw new _RuntimeError(2965 /* RuntimeErrorCode.OVERSIZED_PLACEHOLDER */, `${imgDirectiveDetails(dir.ngSrc)} the \\`placeholder\\` attribute is set to a data URL which is longer ` + `than ${DATA_URL_ERROR_LIMIT} characters. This is strongly discouraged, as large inline placeholders ` + `directly increase the bundle size of Angular and hurt page load performance. To fix this, generate ` + `a smaller data URL placeholder.`);\n    }\n    if (dir.placeholder.length > DATA_URL_WARN_LIMIT) {\n      console.warn(_formatRuntimeError(2965 /* RuntimeErrorCode.OVERSIZED_PLACEHOLDER */, `${imgDirectiveDetails(dir.ngSrc)} the \\`placeholder\\` attribute is set to a data URL which is longer ` + `than ${DATA_URL_WARN_LIMIT} characters. This is discouraged, as large inline placeholders ` + `directly increase the bundle size of Angular and hurt page load performance. For better loading performance, ` + `generate a smaller data URL placeholder.`));\n    }\n  }\n}\n/**\n * Verifies that the `ngSrc` is not a Blob URL.\n */\nfunction assertNotBlobUrl(dir) {\n  const ngSrc = dir.ngSrc.trim();\n  if (ngSrc.startsWith('blob:')) {\n    throw new _RuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`ngSrc\\` was set to a blob URL (${ngSrc}). ` + `Blob URLs are not supported by the NgOptimizedImage directive. ` + `To fix this, disable the NgOptimizedImage directive for this element ` + `by removing \\`ngSrc\\` and using a regular \\`src\\` attribute instead.`);\n  }\n}\n/**\n * Verifies that the input is set to a non-empty string.\n */\nfunction assertNonEmptyInput(dir, name, value) {\n  const isString = typeof value === 'string';\n  const isEmptyString = isString && value.trim() === '';\n  if (!isString || isEmptyString) {\n    throw new _RuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`${name}\\` has an invalid value ` + `(\\`${value}\\`). To fix this, change the value to a non-empty string.`);\n  }\n}\n/**\n * Verifies that the `ngSrcset` is in a valid format, e.g. \"100w, 200w\" or \"1x, 2x\".\n */\nfunction assertValidNgSrcset(dir, value) {\n  if (value == null) return;\n  assertNonEmptyInput(dir, 'ngSrcset', value);\n  const stringVal = value;\n  const isValidWidthDescriptor = VALID_WIDTH_DESCRIPTOR_SRCSET.test(stringVal);\n  const isValidDensityDescriptor = VALID_DENSITY_DESCRIPTOR_SRCSET.test(stringVal);\n  if (isValidDensityDescriptor) {\n    assertUnderDensityCap(dir, stringVal);\n  }\n  const isValidSrcset = isValidWidthDescriptor || isValidDensityDescriptor;\n  if (!isValidSrcset) {\n    throw new _RuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`ngSrcset\\` has an invalid value (\\`${value}\\`). ` + `To fix this, supply \\`ngSrcset\\` using a comma-separated list of one or more width ` + `descriptors (e.g. \"100w, 200w\") or density descriptors (e.g. \"1x, 2x\").`);\n  }\n}\nfunction assertUnderDensityCap(dir, value) {\n  const underDensityCap = value.split(',').every(num => num === '' || parseFloat(num) <= ABSOLUTE_SRCSET_DENSITY_CAP);\n  if (!underDensityCap) {\n    throw new _RuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \\`ngSrcset\\` contains an unsupported image density:` + `\\`${value}\\`. NgOptimizedImage generally recommends a max image density of ` + `${RECOMMENDED_SRCSET_DENSITY_CAP}x but supports image densities up to ` + `${ABSOLUTE_SRCSET_DENSITY_CAP}x. The human eye cannot distinguish between image densities ` + `greater than ${RECOMMENDED_SRCSET_DENSITY_CAP}x - which makes them unnecessary for ` + `most use cases. Images that will be pinch-zoomed are typically the primary use case for ` + `${ABSOLUTE_SRCSET_DENSITY_CAP}x images. Please remove the high density descriptor and try again.`);\n  }\n}\n/**\n * Creates a `RuntimeError` instance to represent a situation when an input is set after\n * the directive has initialized.\n */\nfunction postInitInputChangeError(dir, inputName) {\n  let reason;\n  if (inputName === 'width' || inputName === 'height') {\n    reason = `Changing \\`${inputName}\\` may result in different attribute value ` + `applied to the underlying image element and cause layout shifts on a page.`;\n  } else {\n    reason = `Changing the \\`${inputName}\\` would have no effect on the underlying ` + `image element, because the resource loading has already occurred.`;\n  }\n  return new _RuntimeError(2953 /* RuntimeErrorCode.UNEXPECTED_INPUT_CHANGE */, `${imgDirectiveDetails(dir.ngSrc)} \\`${inputName}\\` was updated after initialization. ` + `The NgOptimizedImage directive will not react to this input change. ${reason} ` + `To fix this, either switch \\`${inputName}\\` to a static value ` + `or wrap the image element in an @if that is gated on the necessary value.`);\n}\n/**\n * Verify that none of the listed inputs has changed.\n */\nfunction assertNoPostInitInputChange(dir, changes, inputs) {\n  inputs.forEach(input => {\n    const isUpdated = changes.hasOwnProperty(input);\n    if (isUpdated && !changes[input].isFirstChange()) {\n      if (input === 'ngSrc') {\n        // When the `ngSrc` input changes, we detect that only in the\n        // `ngOnChanges` hook, thus the `ngSrc` is already set. We use\n        // `ngSrc` in the error message, so we use a previous value, but\n        // not the updated one in it.\n        dir = {\n          ngSrc: changes[input].previousValue\n        };\n      }\n      throw postInitInputChangeError(dir, input);\n    }\n  });\n}\n/**\n * Verifies that a specified input is a number greater than 0.\n */\nfunction assertGreaterThanZero(dir, inputValue, inputName) {\n  const validNumber = typeof inputValue === 'number' && inputValue > 0;\n  const validString = typeof inputValue === 'string' && /^\\d+$/.test(inputValue.trim()) && parseInt(inputValue) > 0;\n  if (!validNumber && !validString) {\n    throw new _RuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`${inputName}\\` has an invalid value. ` + `To fix this, provide \\`${inputName}\\` as a number greater than 0.`);\n  }\n}\n/**\n * Verifies that the rendered image is not visually distorted. Effectively this is checking:\n * - Whether the \"width\" and \"height\" attributes reflect the actual dimensions of the image.\n * - Whether image styling is \"correct\" (see below for a longer explanation).\n */\nfunction assertNoImageDistortion(dir, img, renderer) {\n  const callback = () => {\n    removeLoadListenerFn();\n    removeErrorListenerFn();\n    const computedStyle = window.getComputedStyle(img);\n    let renderedWidth = parseFloat(computedStyle.getPropertyValue('width'));\n    let renderedHeight = parseFloat(computedStyle.getPropertyValue('height'));\n    const boxSizing = computedStyle.getPropertyValue('box-sizing');\n    if (boxSizing === 'border-box') {\n      const paddingTop = computedStyle.getPropertyValue('padding-top');\n      const paddingRight = computedStyle.getPropertyValue('padding-right');\n      const paddingBottom = computedStyle.getPropertyValue('padding-bottom');\n      const paddingLeft = computedStyle.getPropertyValue('padding-left');\n      renderedWidth -= parseFloat(paddingRight) + parseFloat(paddingLeft);\n      renderedHeight -= parseFloat(paddingTop) + parseFloat(paddingBottom);\n    }\n    const renderedAspectRatio = renderedWidth / renderedHeight;\n    const nonZeroRenderedDimensions = renderedWidth !== 0 && renderedHeight !== 0;\n    const intrinsicWidth = img.naturalWidth;\n    const intrinsicHeight = img.naturalHeight;\n    const intrinsicAspectRatio = intrinsicWidth / intrinsicHeight;\n    const suppliedWidth = dir.width;\n    const suppliedHeight = dir.height;\n    const suppliedAspectRatio = suppliedWidth / suppliedHeight;\n    // Tolerance is used to account for the impact of subpixel rendering.\n    // Due to subpixel rendering, the rendered, intrinsic, and supplied\n    // aspect ratios of a correctly configured image may not exactly match.\n    // For example, a `width=4030 height=3020` image might have a rendered\n    // size of \"1062w, 796.48h\". (An aspect ratio of 1.334... vs. 1.333...)\n    const inaccurateDimensions = Math.abs(suppliedAspectRatio - intrinsicAspectRatio) > ASPECT_RATIO_TOLERANCE;\n    const stylingDistortion = nonZeroRenderedDimensions && Math.abs(intrinsicAspectRatio - renderedAspectRatio) > ASPECT_RATIO_TOLERANCE;\n    if (inaccurateDimensions) {\n      console.warn(_formatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the aspect ratio of the image does not match ` + `the aspect ratio indicated by the width and height attributes. ` + `\\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h ` + `(aspect-ratio: ${round(intrinsicAspectRatio)}). \\nSupplied width and height attributes: ` + `${suppliedWidth}w x ${suppliedHeight}h (aspect-ratio: ${round(suppliedAspectRatio)}). ` + `\\nTo fix this, update the width and height attributes.`));\n    } else if (stylingDistortion) {\n      console.warn(_formatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the aspect ratio of the rendered image ` + `does not match the image's intrinsic aspect ratio. ` + `\\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h ` + `(aspect-ratio: ${round(intrinsicAspectRatio)}). \\nRendered image size: ` + `${renderedWidth}w x ${renderedHeight}h (aspect-ratio: ` + `${round(renderedAspectRatio)}). \\nThis issue can occur if \"width\" and \"height\" ` + `attributes are added to an image without updating the corresponding ` + `image styling. To fix this, adjust image styling. In most cases, ` + `adding \"height: auto\" or \"width: auto\" to the image styling will fix ` + `this issue.`));\n    } else if (!dir.ngSrcset && nonZeroRenderedDimensions) {\n      // If `ngSrcset` hasn't been set, sanity check the intrinsic size.\n      const recommendedWidth = RECOMMENDED_SRCSET_DENSITY_CAP * renderedWidth;\n      const recommendedHeight = RECOMMENDED_SRCSET_DENSITY_CAP * renderedHeight;\n      const oversizedWidth = intrinsicWidth - recommendedWidth >= OVERSIZED_IMAGE_TOLERANCE;\n      const oversizedHeight = intrinsicHeight - recommendedHeight >= OVERSIZED_IMAGE_TOLERANCE;\n      if (oversizedWidth || oversizedHeight) {\n        console.warn(_formatRuntimeError(2960 /* RuntimeErrorCode.OVERSIZED_IMAGE */, `${imgDirectiveDetails(dir.ngSrc)} the intrinsic image is significantly ` + `larger than necessary. ` + `\\nRendered image size: ${renderedWidth}w x ${renderedHeight}h. ` + `\\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h. ` + `\\nRecommended intrinsic image size: ${recommendedWidth}w x ${recommendedHeight}h. ` + `\\nNote: Recommended intrinsic image size is calculated assuming a maximum DPR of ` + `${RECOMMENDED_SRCSET_DENSITY_CAP}. To improve loading time, resize the image ` + `or consider using the \"ngSrcset\" and \"sizes\" attributes.`));\n      }\n    }\n  };\n  const removeLoadListenerFn = renderer.listen(img, 'load', callback);\n  // We only listen to the `error` event to remove the `load` event listener because it will not be\n  // fired if the image fails to load. This is done to prevent memory leaks in development mode\n  // because image elements aren't garbage-collected properly. It happens because zone.js stores the\n  // event listener directly on the element and closures capture `dir`.\n  const removeErrorListenerFn = renderer.listen(img, 'error', () => {\n    removeLoadListenerFn();\n    removeErrorListenerFn();\n  });\n  callOnLoadIfImageIsLoaded(img, callback);\n}\n/**\n * Verifies that a specified input is set.\n */\nfunction assertNonEmptyWidthAndHeight(dir) {\n  let missingAttributes = [];\n  if (dir.width === undefined) missingAttributes.push('width');\n  if (dir.height === undefined) missingAttributes.push('height');\n  if (missingAttributes.length > 0) {\n    throw new _RuntimeError(2954 /* RuntimeErrorCode.REQUIRED_INPUT_MISSING */, `${imgDirectiveDetails(dir.ngSrc)} these required attributes ` + `are missing: ${missingAttributes.map(attr => `\"${attr}\"`).join(', ')}. ` + `Including \"width\" and \"height\" attributes will prevent image-related layout shifts. ` + `To fix this, include \"width\" and \"height\" attributes on the image tag or turn on ` + `\"fill\" mode with the \\`fill\\` attribute.`);\n  }\n}\n/**\n * Verifies that width and height are not set. Used in fill mode, where those attributes don't make\n * sense.\n */\nfunction assertEmptyWidthAndHeight(dir) {\n  if (dir.width || dir.height) {\n    throw new _RuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the attributes \\`height\\` and/or \\`width\\` are present ` + `along with the \\`fill\\` attribute. Because \\`fill\\` mode causes an image to fill its containing ` + `element, the size attributes have no effect and should be removed.`);\n  }\n}\n/**\n * Verifies that the rendered image has a nonzero height. If the image is in fill mode, provides\n * guidance that this can be caused by the containing element's CSS position property.\n */\nfunction assertNonZeroRenderedHeight(dir, img, renderer) {\n  const callback = () => {\n    removeLoadListenerFn();\n    removeErrorListenerFn();\n    const renderedHeight = img.clientHeight;\n    if (dir.fill && renderedHeight === 0) {\n      console.warn(_formatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the height of the fill-mode image is zero. ` + `This is likely because the containing element does not have the CSS 'position' ` + `property set to one of the following: \"relative\", \"fixed\", or \"absolute\". ` + `To fix this problem, make sure the container element has the CSS 'position' ` + `property defined and the height of the element is not zero.`));\n    }\n  };\n  const removeLoadListenerFn = renderer.listen(img, 'load', callback);\n  // See comments in the `assertNoImageDistortion`.\n  const removeErrorListenerFn = renderer.listen(img, 'error', () => {\n    removeLoadListenerFn();\n    removeErrorListenerFn();\n  });\n  callOnLoadIfImageIsLoaded(img, callback);\n}\n/**\n * Verifies that the `loading` attribute is set to a valid input &\n * is not used on priority images.\n */\nfunction assertValidLoadingInput(dir) {\n  if (dir.loading && dir.priority) {\n    throw new _RuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \\`loading\\` attribute ` + `was used on an image that was marked \"priority\". ` + `Setting \\`loading\\` on priority images is not allowed ` + `because these images will always be eagerly loaded. ` + `To fix this, remove the “loading” attribute from the priority image.`);\n  }\n  const validInputs = ['auto', 'eager', 'lazy'];\n  if (typeof dir.loading === 'string' && !validInputs.includes(dir.loading)) {\n    throw new _RuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \\`loading\\` attribute ` + `has an invalid value (\\`${dir.loading}\\`). ` + `To fix this, provide a valid value (\"lazy\", \"eager\", or \"auto\").`);\n  }\n}\n/**\n * Warns if NOT using a loader (falling back to the generic loader) and\n * the image appears to be hosted on one of the image CDNs for which\n * we do have a built-in image loader. Suggests switching to the\n * built-in loader.\n *\n * @param ngSrc Value of the ngSrc attribute\n * @param imageLoader ImageLoader provided\n */\nfunction assertNotMissingBuiltInLoader(ngSrc, imageLoader) {\n  if (imageLoader === noopImageLoader) {\n    let builtInLoaderName = '';\n    for (const loader of BUILT_IN_LOADERS) {\n      if (loader.testUrl(ngSrc)) {\n        builtInLoaderName = loader.name;\n        break;\n      }\n    }\n    if (builtInLoaderName) {\n      console.warn(_formatRuntimeError(2962 /* RuntimeErrorCode.MISSING_BUILTIN_LOADER */, `NgOptimizedImage: It looks like your images may be hosted on the ` + `${builtInLoaderName} CDN, but your app is not using Angular's ` + `built-in loader for that CDN. We recommend switching to use ` + `the built-in by calling \\`provide${builtInLoaderName}Loader()\\` ` + `in your \\`providers\\` and passing it your instance's base URL. ` + `If you don't want to use the built-in loader, define a custom ` + `loader function using IMAGE_LOADER to silence this warning.`));\n    }\n  }\n}\n/**\n * Warns if ngSrcset is present and no loader is configured (i.e. the default one is being used).\n */\nfunction assertNoNgSrcsetWithoutLoader(dir, imageLoader) {\n  if (dir.ngSrcset && imageLoader === noopImageLoader) {\n    console.warn(_formatRuntimeError(2963 /* RuntimeErrorCode.MISSING_NECESSARY_LOADER */, `${imgDirectiveDetails(dir.ngSrc)} the \\`ngSrcset\\` attribute is present but ` + `no image loader is configured (i.e. the default one is being used), ` + `which would result in the same image being used for all configured sizes. ` + `To fix this, provide a loader or remove the \\`ngSrcset\\` attribute from the image.`));\n  }\n}\n/**\n * Warns if loaderParams is present and no loader is configured (i.e. the default one is being\n * used).\n */\nfunction assertNoLoaderParamsWithoutLoader(dir, imageLoader) {\n  if (dir.loaderParams && imageLoader === noopImageLoader) {\n    console.warn(_formatRuntimeError(2963 /* RuntimeErrorCode.MISSING_NECESSARY_LOADER */, `${imgDirectiveDetails(dir.ngSrc)} the \\`loaderParams\\` attribute is present but ` + `no image loader is configured (i.e. the default one is being used), ` + `which means that the loaderParams data will not be consumed and will not affect the URL. ` + `To fix this, provide a custom loader or remove the \\`loaderParams\\` attribute from the image.`));\n  }\n}\n/**\n * Warns if the priority attribute is used too often on page load\n */\nasync function assetPriorityCountBelowThreshold(appRef) {\n  if (IMGS_WITH_PRIORITY_ATTR_COUNT === 0) {\n    IMGS_WITH_PRIORITY_ATTR_COUNT++;\n    await appRef.whenStable();\n    if (IMGS_WITH_PRIORITY_ATTR_COUNT > PRIORITY_COUNT_THRESHOLD) {\n      console.warn(_formatRuntimeError(2966 /* RuntimeErrorCode.TOO_MANY_PRIORITY_ATTRIBUTES */, `NgOptimizedImage: The \"priority\" attribute is set to true more than ${PRIORITY_COUNT_THRESHOLD} times (${IMGS_WITH_PRIORITY_ATTR_COUNT} times). ` + `Marking too many images as \"high\" priority can hurt your application's LCP (https://web.dev/lcp). ` + `\"Priority\" should only be set on the image expected to be the page's LCP element.`));\n    }\n  } else {\n    IMGS_WITH_PRIORITY_ATTR_COUNT++;\n  }\n}\n/**\n * Warns if placeholder's dimension are over a threshold.\n *\n * This assert function is meant to only run on the browser.\n */\nfunction assertPlaceholderDimensions(dir, imgElement) {\n  const computedStyle = window.getComputedStyle(imgElement);\n  let renderedWidth = parseFloat(computedStyle.getPropertyValue('width'));\n  let renderedHeight = parseFloat(computedStyle.getPropertyValue('height'));\n  if (renderedWidth > PLACEHOLDER_DIMENSION_LIMIT || renderedHeight > PLACEHOLDER_DIMENSION_LIMIT) {\n    console.warn(_formatRuntimeError(2967 /* RuntimeErrorCode.PLACEHOLDER_DIMENSION_LIMIT_EXCEEDED */, `${imgDirectiveDetails(dir.ngSrc)} it uses a placeholder image, but at least one ` + `of the dimensions attribute (height or width) exceeds the limit of ${PLACEHOLDER_DIMENSION_LIMIT}px. ` + `To fix this, use a smaller image as a placeholder.`));\n  }\n}\nfunction callOnLoadIfImageIsLoaded(img, callback) {\n  // https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-complete\n  // The spec defines that `complete` is truthy once its request state is fully available.\n  // The image may already be available if it’s loaded from the browser cache.\n  // In that case, the `load` event will not fire at all, meaning that all setup\n  // callbacks listening for the `load` event will not be invoked.\n  // In Safari, there is a known behavior where the `complete` property of an\n  // `HTMLImageElement` may sometimes return `true` even when the image is not fully loaded.\n  // Checking both `img.complete` and `img.naturalWidth` is the most reliable way to\n  // determine if an image has been fully loaded, especially in browsers where the\n  // `complete` property may return `true` prematurely.\n  if (img.complete && img.naturalWidth) {\n    callback();\n  }\n}\nfunction round(input) {\n  return Number.isInteger(input) ? input : input.toFixed(2);\n}\n// Transform function to handle SafeValue input for ngSrc. This doesn't do any sanitization,\n// as that is not needed for img.src and img.srcset. This transform is purely for compatibility.\nfunction unwrapSafeUrl(value) {\n  if (typeof value === 'string') {\n    return value;\n  }\n  return _unwrapSafeValue(value);\n}\n// Transform function to handle inputs which may be booleans, strings, or string representations\n// of boolean values. Used for the placeholder attribute.\nfunction booleanOrUrlAttribute(value) {\n  if (typeof value === 'string' && value !== 'true' && value !== 'false' && value !== '') {\n    return value;\n  }\n  return booleanAttribute(value);\n}\nexport { DOCUMENT, IMAGE_LOADER, NgOptimizedImage, PRECONNECT_CHECK_BLOCKLIST, VERSION, ViewportScroller, isPlatformBrowser, provideCloudflareLoader, provideCloudinaryLoader, provideImageKitLoader, provideImgixLoader, provideNetlifyLoader, registerLocaleData, NullViewportScroller as ɵNullViewportScroller };\n","/**\n * The set of headers that should be validated for host header injection attacks.\n */\nconst HOST_HEADERS_TO_VALIDATE = /*#__PURE__*/new Set(['host', 'x-forwarded-host']);\n/**\n * Regular expression to validate that the port is a numeric value.\n */\nconst VALID_PORT_REGEX = /^\\d+$/;\n/**\n * Regular expression to validate that the protocol is either http or https (case-insensitive).\n */\nconst VALID_PROTO_REGEX = /^https?$/i;\n/**\n * Regular expression to validate that the host is a valid hostname.\n */\nconst VALID_HOST_REGEX = /^[a-z0-9.:-]+$/i;\n/**\n * Regular expression to validate that the prefix is valid.\n */\nconst INVALID_PREFIX_REGEX = /^[/\\\\]{2}|(?:^|[/\\\\])\\.\\.?(?:[/\\\\]|$)/;\n/**\n * Extracts the first value from a multi-value header string.\n *\n * @param value - A string or an array of strings representing the header values.\n *                If it's a string, values are expected to be comma-separated.\n * @returns The first trimmed value from the multi-value header, or `undefined` if the input is invalid or empty.\n *\n * @example\n * ```typescript\n * getFirstHeaderValue(\"value1, value2, value3\"); // \"value1\"\n * getFirstHeaderValue([\"value1\", \"value2\"]); // \"value1\"\n * getFirstHeaderValue(undefined); // undefined\n * ```\n */\nfunction getFirstHeaderValue(value) {\n  return value?.toString().split(',', 1)[0]?.trim();\n}\n/**\n * Validates a request.\n *\n * @param request - The incoming `Request` object to validate.\n * @param allowedHosts - A set of allowed hostnames.\n * @throws Error if any of the validated headers contain invalid values.\n */\nfunction validateRequest(request, allowedHosts) {\n  validateHeaders(request);\n  validateUrl(new URL(request.url), allowedHosts);\n}\n/**\n * Validates that the hostname of a given URL is allowed.\n *\n * @param url - The URL object to validate.\n * @param allowedHosts - A set of allowed hostnames.\n * @throws Error if the hostname is not in the allowlist.\n */\nfunction validateUrl(url, allowedHosts) {\n  const {\n    hostname\n  } = url;\n  if (!isHostAllowed(hostname, allowedHosts)) {\n    throw new Error(`URL with hostname \"${hostname}\" is not allowed.`);\n  }\n}\n/**\n * Clones a request and patches the `get` method of the request headers to validate the host headers.\n * @param request - The request to validate.\n * @param allowedHosts - A set of allowed hostnames.\n * @returns An object containing the cloned request and a promise that resolves to an error\n * if any of the validated headers contain invalid values.\n */\nfunction cloneRequestAndPatchHeaders(request, allowedHosts) {\n  let onError;\n  const onErrorPromise = new Promise(resolve => {\n    onError = resolve;\n  });\n  const clonedReq = new Request(request.clone(), {\n    signal: request.signal\n  });\n  const headers = clonedReq.headers;\n  const originalGet = headers.get;\n  // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n  headers.get = function (name) {\n    const value = originalGet.call(headers, name);\n    if (!value) {\n      return value;\n    }\n    validateHeader(name, value, allowedHosts, onError);\n    return value;\n  };\n  const originalValues = headers.values;\n  // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n  headers.values = function () {\n    for (const name of HOST_HEADERS_TO_VALIDATE) {\n      validateHeader(name, originalGet.call(headers, name), allowedHosts, onError);\n    }\n    return originalValues.call(headers);\n  };\n  const originalEntries = headers.entries;\n  // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n  headers.entries = function () {\n    const iterator = originalEntries.call(headers);\n    return {\n      next() {\n        const result = iterator.next();\n        if (!result.done) {\n          const [key, value] = result.value;\n          validateHeader(key, value, allowedHosts, onError);\n        }\n        return result;\n      },\n      [Symbol.iterator]() {\n        return this;\n      }\n    };\n  };\n  // Ensure for...of loops use the new patched entries\n  headers[Symbol.iterator] = headers.entries;\n  return {\n    request: clonedReq,\n    onError: onErrorPromise\n  };\n}\n/**\n * Validates a specific header value against the allowed hosts.\n * @param name - The name of the header to validate.\n * @param value - The value of the header to validate.\n * @param allowedHosts - A set of allowed hostnames.\n * @param onError - A callback function to call if the header value is invalid.\n * @throws Error if the header value is invalid.\n */\nfunction validateHeader(name, value, allowedHosts, onError) {\n  if (!value) {\n    return;\n  }\n  if (!HOST_HEADERS_TO_VALIDATE.has(name.toLowerCase())) {\n    return;\n  }\n  try {\n    verifyHostAllowed(name, value, allowedHosts);\n  } catch (error) {\n    onError(error);\n    throw error;\n  }\n}\n/**\n * Validates a specific host header value against the allowed hosts.\n *\n * @param headerName - The name of the header to validate (e.g., 'host', 'x-forwarded-host').\n * @param headerValue - The value of the header to validate.\n * @param allowedHosts - A set of allowed hostnames.\n * @throws Error if the header value is invalid or the hostname is not in the allowlist.\n */\nfunction verifyHostAllowed(headerName, headerValue, allowedHosts) {\n  const value = getFirstHeaderValue(headerValue);\n  if (!value) {\n    return;\n  }\n  const url = `http://${value}`;\n  if (!URL.canParse(url)) {\n    throw new Error(`Header \"${headerName}\" contains an invalid value and cannot be parsed.`);\n  }\n  const {\n    hostname\n  } = new URL(url);\n  if (!isHostAllowed(hostname, allowedHosts)) {\n    throw new Error(`Header \"${headerName}\" with value \"${value}\" is not allowed.`);\n  }\n}\n/**\n * Checks if the hostname is allowed.\n * @param hostname - The hostname to check.\n * @param allowedHosts - A set of allowed hostnames.\n * @returns `true` if the hostname is allowed, `false` otherwise.\n */\nfunction isHostAllowed(hostname, allowedHosts) {\n  if (allowedHosts.has(hostname)) {\n    return true;\n  }\n  for (const allowedHost of allowedHosts) {\n    if (!allowedHost.startsWith('*.')) {\n      continue;\n    }\n    const domain = allowedHost.slice(1);\n    if (hostname.endsWith(domain)) {\n      return true;\n    }\n  }\n  return false;\n}\n/**\n * Validates the headers of an incoming request.\n *\n * @param request - The incoming `Request` object containing the headers to validate.\n * @throws Error if any of the validated headers contain invalid values.\n */\nfunction validateHeaders(request) {\n  const headers = request.headers;\n  for (const headerName of HOST_HEADERS_TO_VALIDATE) {\n    const headerValue = getFirstHeaderValue(headers.get(headerName));\n    if (headerValue && !VALID_HOST_REGEX.test(headerValue)) {\n      throw new Error(`Header \"${headerName}\" contains characters that are not allowed.`);\n    }\n  }\n  const xForwardedPort = getFirstHeaderValue(headers.get('x-forwarded-port'));\n  if (xForwardedPort && !VALID_PORT_REGEX.test(xForwardedPort)) {\n    throw new Error('Header \"x-forwarded-port\" must be a numeric value.');\n  }\n  const xForwardedProto = getFirstHeaderValue(headers.get('x-forwarded-proto'));\n  if (xForwardedProto && !VALID_PROTO_REGEX.test(xForwardedProto)) {\n    throw new Error('Header \"x-forwarded-proto\" must be either \"http\" or \"https\".');\n  }\n  const xForwardedPrefix = getFirstHeaderValue(headers.get('x-forwarded-prefix'));\n  if (xForwardedPrefix && INVALID_PREFIX_REGEX.test(xForwardedPrefix)) {\n    throw new Error('Header \"x-forwarded-prefix\" must not start with multiple \"/\" or \"\\\\\" or contain \".\", \"..\" path segments.');\n  }\n}\nexport { validateUrl as a, cloneRequestAndPatchHeaders as c, getFirstHeaderValue as g, validateRequest as v };\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { isPlatformServer, DOCUMENT, ɵgetDOM as _getDOM } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, ɵRuntimeError as _RuntimeError, Inject, Injectable, APP_ID, CSP_NONCE, PLATFORM_ID, Optional, ViewEncapsulation, ɵTracingService as _TracingService, RendererStyleFlags2 } from '@angular/core';\n\n/**\n * The injection token for plugins of the `EventManager` service.\n *\n * @publicApi\n */\nconst EVENT_MANAGER_PLUGINS = /*#__PURE__*/new InjectionToken(ngDevMode ? 'EventManagerPlugins' : '');\n/**\n * An injectable service that provides event management for Angular\n * through a browser plug-in.\n *\n * @publicApi\n */\nlet EventManager = /*#__PURE__*/(() => {\n  class EventManager {\n    _zone;\n    _plugins;\n    _eventNameToPlugin = new Map();\n    /**\n     * Initializes an instance of the event-manager service.\n     */\n    constructor(plugins, _zone) {\n      this._zone = _zone;\n      plugins.forEach(plugin => {\n        plugin.manager = this;\n      });\n      this._plugins = plugins.slice().reverse();\n    }\n    /**\n     * Registers a handler for a specific element and event.\n     *\n     * @param element The HTML element to receive event notifications.\n     * @param eventName The name of the event to listen for.\n     * @param handler A function to call when the notification occurs. Receives the\n     * event object as an argument.\n     * @param options Options that configure how the event listener is bound.\n     * @returns  A callback function that can be used to remove the handler.\n     */\n    addEventListener(element, eventName, handler, options) {\n      const plugin = this._findPluginFor(eventName);\n      return plugin.addEventListener(element, eventName, handler, options);\n    }\n    /**\n     * Retrieves the compilation zone in which event listeners are registered.\n     */\n    getZone() {\n      return this._zone;\n    }\n    /** @internal */\n    _findPluginFor(eventName) {\n      let plugin = this._eventNameToPlugin.get(eventName);\n      if (plugin) {\n        return plugin;\n      }\n      const plugins = this._plugins;\n      plugin = plugins.find(plugin => plugin.supports(eventName));\n      if (!plugin) {\n        throw new _RuntimeError(5101 /* RuntimeErrorCode.NO_PLUGIN_FOR_EVENT */, (typeof ngDevMode === 'undefined' || ngDevMode) && `No event manager plugin found for event ${eventName}`);\n      }\n      this._eventNameToPlugin.set(eventName, plugin);\n      return plugin;\n    }\n    static ɵfac = function EventManager_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || EventManager)(i0.ɵɵinject(EVENT_MANAGER_PLUGINS), i0.ɵɵinject(i0.NgZone));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: EventManager,\n      factory: EventManager.ɵfac\n    });\n  }\n  return EventManager;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * The plugin definition for the `EventManager` class\n *\n * It can be used as a base class to create custom manager plugins, i.e. you can create your own\n * class that extends the `EventManagerPlugin` one.\n *\n * @publicApi\n */\nclass EventManagerPlugin {\n  _doc;\n  // TODO: remove (has some usage in G3)\n  constructor(_doc) {\n    this._doc = _doc;\n  }\n  // Using non-null assertion because it's set by EventManager's constructor\n  manager;\n}\n\n/** The style elements attribute name used to set value of `APP_ID` token. */\nconst APP_ID_ATTRIBUTE_NAME = 'ng-app-id';\n/**\n * Removes all provided elements from the document.\n * @param elements An array of HTML Elements.\n */\nfunction removeElements(elements) {\n  for (const element of elements) {\n    element.remove();\n  }\n}\n/**\n * Creates a `style` element with the provided inline style content.\n * @param style A string of the inline style content.\n * @param doc A DOM Document to use to create the element.\n * @returns An HTMLStyleElement instance.\n */\nfunction createStyleElement(style, doc) {\n  const styleElement = doc.createElement('style');\n  styleElement.textContent = style;\n  return styleElement;\n}\n/**\n * Searches a DOM document's head element for style elements with a matching application\n * identifier attribute (`ng-app-id`) to the provide identifier and adds usage records for each.\n * @param doc An HTML DOM document instance.\n * @param appId A string containing an Angular application identifer.\n * @param inline A Map object for tracking inline (defined via `styles` in component decorator) style usage.\n * @param external A Map object for tracking external (defined via `styleUrls` in component decorator) style usage.\n */\nfunction addServerStyles(doc, appId, inline, external) {\n  const elements = doc.head?.querySelectorAll(`style[${APP_ID_ATTRIBUTE_NAME}=\"${appId}\"],link[${APP_ID_ATTRIBUTE_NAME}=\"${appId}\"]`);\n  if (elements) {\n    for (const styleElement of elements) {\n      styleElement.removeAttribute(APP_ID_ATTRIBUTE_NAME);\n      if (styleElement instanceof HTMLLinkElement) {\n        // Only use filename from href\n        // The href is build time generated with a unique value to prevent duplicates.\n        external.set(styleElement.href.slice(styleElement.href.lastIndexOf('/') + 1), {\n          usage: 0,\n          elements: [styleElement]\n        });\n      } else if (styleElement.textContent) {\n        inline.set(styleElement.textContent, {\n          usage: 0,\n          elements: [styleElement]\n        });\n      }\n    }\n  }\n}\n/**\n * Creates a `link` element for the provided external style URL.\n * @param url A string of the URL for the stylesheet.\n * @param doc A DOM Document to use to create the element.\n * @returns An HTMLLinkElement instance.\n */\nfunction createLinkElement(url, doc) {\n  const linkElement = doc.createElement('link');\n  linkElement.setAttribute('rel', 'stylesheet');\n  linkElement.setAttribute('href', url);\n  return linkElement;\n}\nlet SharedStylesHost = /*#__PURE__*/(() => {\n  class SharedStylesHost {\n    doc;\n    appId;\n    nonce;\n    /**\n     * Provides usage information for active inline style content and associated HTML <style> elements.\n     * Embedded styles typically originate from the `styles` metadata of a rendered component.\n     */\n    inline = new Map();\n    /**\n     * Provides usage information for active external style URLs and the associated HTML <link> elements.\n     * External styles typically originate from the `ɵɵExternalStylesFeature` of a rendered component.\n     */\n    external = new Map();\n    /**\n     * Set of host DOM nodes that will have styles attached.\n     */\n    hosts = new Set();\n    /**\n     * Whether the application code is currently executing on a server.\n     */\n    isServer;\n    constructor(doc, appId, nonce, platformId = {}) {\n      this.doc = doc;\n      this.appId = appId;\n      this.nonce = nonce;\n      this.isServer = isPlatformServer(platformId);\n      addServerStyles(doc, appId, this.inline, this.external);\n      this.hosts.add(doc.head);\n    }\n    /**\n     * Adds embedded styles to the DOM via HTML `style` elements.\n     * @param styles An array of style content strings.\n     */\n    addStyles(styles, urls) {\n      for (const value of styles) {\n        this.addUsage(value, this.inline, createStyleElement);\n      }\n      urls?.forEach(value => this.addUsage(value, this.external, createLinkElement));\n    }\n    /**\n     * Removes embedded styles from the DOM that were added as HTML `style` elements.\n     * @param styles An array of style content strings.\n     */\n    removeStyles(styles, urls) {\n      for (const value of styles) {\n        this.removeUsage(value, this.inline);\n      }\n      urls?.forEach(value => this.removeUsage(value, this.external));\n    }\n    addUsage(value, usages, creator) {\n      // Attempt to get any current usage of the value\n      const record = usages.get(value);\n      // If existing, just increment the usage count\n      if (record) {\n        if ((typeof ngDevMode === 'undefined' || ngDevMode) && record.usage === 0) {\n          // A usage count of zero indicates a preexisting server generated style.\n          // This attribute is solely used for debugging purposes of SSR style reuse.\n          record.elements.forEach(element => element.setAttribute('ng-style-reused', ''));\n        }\n        record.usage++;\n      } else {\n        // Otherwise, create an entry to track the elements and add element for each host\n        usages.set(value, {\n          usage: 1,\n          elements: [...this.hosts].map(host => this.addElement(host, creator(value, this.doc)))\n        });\n      }\n    }\n    removeUsage(value, usages) {\n      // Attempt to get any current usage of the value\n      const record = usages.get(value);\n      // If there is a record, reduce the usage count and if no longer used,\n      // remove from DOM and delete usage record.\n      if (record) {\n        record.usage--;\n        if (record.usage <= 0) {\n          removeElements(record.elements);\n          usages.delete(value);\n        }\n      }\n    }\n    ngOnDestroy() {\n      for (const [, {\n        elements\n      }] of [...this.inline, ...this.external]) {\n        removeElements(elements);\n      }\n      this.hosts.clear();\n    }\n    /**\n     * Adds a host node to the set of style hosts and adds all existing style usage to\n     * the newly added host node.\n     *\n     * This is currently only used for Shadow DOM encapsulation mode.\n     */\n    addHost(hostNode) {\n      this.hosts.add(hostNode);\n      // Add existing styles to new host\n      for (const [style, {\n        elements\n      }] of this.inline) {\n        elements.push(this.addElement(hostNode, createStyleElement(style, this.doc)));\n      }\n      for (const [url, {\n        elements\n      }] of this.external) {\n        elements.push(this.addElement(hostNode, createLinkElement(url, this.doc)));\n      }\n    }\n    removeHost(hostNode) {\n      this.hosts.delete(hostNode);\n    }\n    addElement(host, element) {\n      // Add a nonce if present\n      if (this.nonce) {\n        element.setAttribute('nonce', this.nonce);\n      }\n      // Add application identifier when on the server to support client-side reuse\n      if (this.isServer) {\n        element.setAttribute(APP_ID_ATTRIBUTE_NAME, this.appId);\n      }\n      // Insert the element into the DOM with the host node as parent\n      return host.appendChild(element);\n    }\n    static ɵfac = function SharedStylesHost_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || SharedStylesHost)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(APP_ID), i0.ɵɵinject(CSP_NONCE, 8), i0.ɵɵinject(PLATFORM_ID));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: SharedStylesHost,\n      factory: SharedStylesHost.ɵfac\n    });\n  }\n  return SharedStylesHost;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst NAMESPACE_URIS = {\n  'svg': 'http://www.w3.org/2000/svg',\n  'xhtml': 'http://www.w3.org/1999/xhtml',\n  'xlink': 'http://www.w3.org/1999/xlink',\n  'xml': 'http://www.w3.org/XML/1998/namespace',\n  'xmlns': 'http://www.w3.org/2000/xmlns/',\n  'math': 'http://www.w3.org/1998/Math/MathML'\n};\nconst COMPONENT_REGEX = /%COMP%/g;\nconst SOURCEMAP_URL_REGEXP = /\\/\\*#\\s*sourceMappingURL=(.+?)\\s*\\*\\//;\nconst PROTOCOL_REGEXP = /^https?:/;\nconst COMPONENT_VARIABLE = '%COMP%';\nconst HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;\nconst CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;\n/**\n * The default value for the `REMOVE_STYLES_ON_COMPONENT_DESTROY` DI token.\n */\nconst REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT = true;\n/**\n * A DI token that indicates whether styles\n * of destroyed components should be removed from DOM.\n *\n * By default, the value is set to `true`.\n * @publicApi\n */\nconst REMOVE_STYLES_ON_COMPONENT_DESTROY = /*#__PURE__*/new InjectionToken(ngDevMode ? 'RemoveStylesOnCompDestroy' : '', {\n  providedIn: 'root',\n  factory: () => REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT\n});\nfunction shimContentAttribute(componentShortId) {\n  return CONTENT_ATTR.replace(COMPONENT_REGEX, componentShortId);\n}\nfunction shimHostAttribute(componentShortId) {\n  return HOST_ATTR.replace(COMPONENT_REGEX, componentShortId);\n}\nfunction shimStylesContent(compId, styles) {\n  return styles.map(s => s.replace(COMPONENT_REGEX, compId));\n}\n/**\n * Prepends a baseHref to the `sourceMappingURL` within the provided CSS content.\n * If the `sourceMappingURL` contains an inline (encoded) map, the function skips processing.\n *\n * @note For inline stylesheets, the `sourceMappingURL` is relative to the page's origin\n * and not the provided baseHref. This function is needed as when accessing the page with a URL\n * containing two or more segments.\n * For example, if the baseHref is set to `/`, and you visit a URL like `http://localhost/foo/bar`,\n * the map would be requested from `http://localhost/foo/bar/comp.css.map` instead of what you'd expect,\n * which is `http://localhost/comp.css.map`. This behavior is corrected by modifying the `sourceMappingURL`\n * to ensure external source maps are loaded relative to the baseHref.\n *\n\n * @param baseHref - The base URL to prepend to the `sourceMappingURL`.\n * @param styles - An array of CSS content strings, each potentially containing a `sourceMappingURL`.\n * @returns The updated array of CSS content strings with modified `sourceMappingURL` values,\n * or the original content if no modification is needed.\n */\nfunction addBaseHrefToCssSourceMap(baseHref, styles) {\n  if (!baseHref) {\n    return styles;\n  }\n  const absoluteBaseHrefUrl = new URL(baseHref, 'http://localhost');\n  return styles.map(cssContent => {\n    if (!cssContent.includes('sourceMappingURL=')) {\n      return cssContent;\n    }\n    return cssContent.replace(SOURCEMAP_URL_REGEXP, (_, sourceMapUrl) => {\n      if (sourceMapUrl[0] === '/' || sourceMapUrl.startsWith('data:') || PROTOCOL_REGEXP.test(sourceMapUrl)) {\n        return `/*# sourceMappingURL=${sourceMapUrl} */`;\n      }\n      const {\n        pathname: resolvedSourceMapUrl\n      } = new URL(sourceMapUrl, absoluteBaseHrefUrl);\n      return `/*# sourceMappingURL=${resolvedSourceMapUrl} */`;\n    });\n  });\n}\nlet DomRendererFactory2 = /*#__PURE__*/(() => {\n  class DomRendererFactory2 {\n    eventManager;\n    sharedStylesHost;\n    appId;\n    removeStylesOnCompDestroy;\n    doc;\n    platformId;\n    ngZone;\n    nonce;\n    tracingService;\n    rendererByCompId = new Map();\n    defaultRenderer;\n    platformIsServer;\n    constructor(eventManager, sharedStylesHost, appId, removeStylesOnCompDestroy, doc, platformId, ngZone, nonce = null, tracingService = null) {\n      this.eventManager = eventManager;\n      this.sharedStylesHost = sharedStylesHost;\n      this.appId = appId;\n      this.removeStylesOnCompDestroy = removeStylesOnCompDestroy;\n      this.doc = doc;\n      this.platformId = platformId;\n      this.ngZone = ngZone;\n      this.nonce = nonce;\n      this.tracingService = tracingService;\n      this.platformIsServer = isPlatformServer(platformId);\n      this.defaultRenderer = new DefaultDomRenderer2(eventManager, doc, ngZone, this.platformIsServer, this.tracingService);\n    }\n    createRenderer(element, type) {\n      if (!element || !type) {\n        return this.defaultRenderer;\n      }\n      if (this.platformIsServer && type.encapsulation === ViewEncapsulation.ShadowDom) {\n        // Domino does not support shadow DOM.\n        type = {\n          ...type,\n          encapsulation: ViewEncapsulation.Emulated\n        };\n      }\n      const renderer = this.getOrCreateRenderer(element, type);\n      // Renderers have different logic due to different encapsulation behaviours.\n      // Ex: for emulated, an attribute is added to the element.\n      if (renderer instanceof EmulatedEncapsulationDomRenderer2) {\n        renderer.applyToHost(element);\n      } else if (renderer instanceof NoneEncapsulationDomRenderer) {\n        renderer.applyStyles();\n      }\n      return renderer;\n    }\n    getOrCreateRenderer(element, type) {\n      const rendererByCompId = this.rendererByCompId;\n      let renderer = rendererByCompId.get(type.id);\n      if (!renderer) {\n        const doc = this.doc;\n        const ngZone = this.ngZone;\n        const eventManager = this.eventManager;\n        const sharedStylesHost = this.sharedStylesHost;\n        const removeStylesOnCompDestroy = this.removeStylesOnCompDestroy;\n        const platformIsServer = this.platformIsServer;\n        const tracingService = this.tracingService;\n        switch (type.encapsulation) {\n          case ViewEncapsulation.Emulated:\n            renderer = new EmulatedEncapsulationDomRenderer2(eventManager, sharedStylesHost, type, this.appId, removeStylesOnCompDestroy, doc, ngZone, platformIsServer, tracingService);\n            break;\n          case ViewEncapsulation.ShadowDom:\n            return new ShadowDomRenderer(eventManager, sharedStylesHost, element, type, doc, ngZone, this.nonce, platformIsServer, tracingService);\n          default:\n            renderer = new NoneEncapsulationDomRenderer(eventManager, sharedStylesHost, type, removeStylesOnCompDestroy, doc, ngZone, platformIsServer, tracingService);\n            break;\n        }\n        rendererByCompId.set(type.id, renderer);\n      }\n      return renderer;\n    }\n    ngOnDestroy() {\n      this.rendererByCompId.clear();\n    }\n    /**\n     * Used during HMR to clear any cached data about a component.\n     * @param componentId ID of the component that is being replaced.\n     */\n    componentReplaced(componentId) {\n      this.rendererByCompId.delete(componentId);\n    }\n    static ɵfac = function DomRendererFactory2_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || DomRendererFactory2)(i0.ɵɵinject(EventManager), i0.ɵɵinject(SharedStylesHost), i0.ɵɵinject(APP_ID), i0.ɵɵinject(REMOVE_STYLES_ON_COMPONENT_DESTROY), i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(PLATFORM_ID), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(CSP_NONCE), i0.ɵɵinject(_TracingService, 8));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: DomRendererFactory2,\n      factory: DomRendererFactory2.ɵfac\n    });\n  }\n  return DomRendererFactory2;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nclass DefaultDomRenderer2 {\n  eventManager;\n  doc;\n  ngZone;\n  platformIsServer;\n  tracingService;\n  data = /*#__PURE__*/Object.create(null);\n  /**\n   * By default this renderer throws when encountering synthetic properties\n   * This can be disabled for example by the AsyncAnimationRendererFactory\n   */\n  throwOnSyntheticProps = true;\n  constructor(eventManager, doc, ngZone, platformIsServer, tracingService) {\n    this.eventManager = eventManager;\n    this.doc = doc;\n    this.ngZone = ngZone;\n    this.platformIsServer = platformIsServer;\n    this.tracingService = tracingService;\n  }\n  destroy() {}\n  destroyNode = null;\n  createElement(name, namespace) {\n    if (namespace) {\n      // TODO: `|| namespace` was added in\n      // https://github.com/angular/angular/commit/2b9cc8503d48173492c29f5a271b61126104fbdb to\n      // support how Ivy passed around the namespace URI rather than short name at the time. It did\n      // not, however extend the support to other parts of the system (setAttribute, setAttribute,\n      // and the ServerRenderer). We should decide what exactly the semantics for dealing with\n      // namespaces should be and make it consistent.\n      // Related issues:\n      // https://github.com/angular/angular/issues/44028\n      // https://github.com/angular/angular/issues/44883\n      return this.doc.createElementNS(NAMESPACE_URIS[namespace] || namespace, name);\n    }\n    return this.doc.createElement(name);\n  }\n  createComment(value) {\n    return this.doc.createComment(value);\n  }\n  createText(value) {\n    return this.doc.createTextNode(value);\n  }\n  appendChild(parent, newChild) {\n    const targetParent = isTemplateNode(parent) ? parent.content : parent;\n    targetParent.appendChild(newChild);\n  }\n  insertBefore(parent, newChild, refChild) {\n    if (parent) {\n      const targetParent = isTemplateNode(parent) ? parent.content : parent;\n      targetParent.insertBefore(newChild, refChild);\n    }\n  }\n  removeChild(_parent, oldChild) {\n    oldChild.remove();\n  }\n  selectRootElement(selectorOrNode, preserveContent) {\n    let el = typeof selectorOrNode === 'string' ? this.doc.querySelector(selectorOrNode) : selectorOrNode;\n    if (!el) {\n      throw new _RuntimeError(-5104 /* RuntimeErrorCode.ROOT_NODE_NOT_FOUND */, (typeof ngDevMode === 'undefined' || ngDevMode) && `The selector \"${selectorOrNode}\" did not match any elements`);\n    }\n    if (!preserveContent) {\n      el.textContent = '';\n    }\n    return el;\n  }\n  parentNode(node) {\n    return node.parentNode;\n  }\n  nextSibling(node) {\n    return node.nextSibling;\n  }\n  setAttribute(el, name, value, namespace) {\n    if (namespace) {\n      name = namespace + ':' + name;\n      const namespaceUri = NAMESPACE_URIS[namespace];\n      if (namespaceUri) {\n        el.setAttributeNS(namespaceUri, name, value);\n      } else {\n        el.setAttribute(name, value);\n      }\n    } else {\n      el.setAttribute(name, value);\n    }\n  }\n  removeAttribute(el, name, namespace) {\n    if (namespace) {\n      const namespaceUri = NAMESPACE_URIS[namespace];\n      if (namespaceUri) {\n        el.removeAttributeNS(namespaceUri, name);\n      } else {\n        el.removeAttribute(`${namespace}:${name}`);\n      }\n    } else {\n      el.removeAttribute(name);\n    }\n  }\n  addClass(el, name) {\n    el.classList.add(name);\n  }\n  removeClass(el, name) {\n    el.classList.remove(name);\n  }\n  setStyle(el, style, value, flags) {\n    if (flags & (RendererStyleFlags2.DashCase | RendererStyleFlags2.Important)) {\n      el.style.setProperty(style, value, flags & RendererStyleFlags2.Important ? 'important' : '');\n    } else {\n      el.style[style] = value;\n    }\n  }\n  removeStyle(el, style, flags) {\n    if (flags & RendererStyleFlags2.DashCase) {\n      // removeProperty has no effect when used on camelCased properties.\n      el.style.removeProperty(style);\n    } else {\n      el.style[style] = '';\n    }\n  }\n  setProperty(el, name, value) {\n    if (el == null) {\n      return;\n    }\n    (typeof ngDevMode === 'undefined' || ngDevMode) && this.throwOnSyntheticProps && checkNoSyntheticProp(name, 'property');\n    el[name] = value;\n  }\n  setValue(node, value) {\n    node.nodeValue = value;\n  }\n  listen(target, event, callback, options) {\n    (typeof ngDevMode === 'undefined' || ngDevMode) && this.throwOnSyntheticProps && checkNoSyntheticProp(event, 'listener');\n    if (typeof target === 'string') {\n      target = _getDOM().getGlobalEventTarget(this.doc, target);\n      if (!target) {\n        throw new _RuntimeError(5102 /* RuntimeErrorCode.UNSUPPORTED_EVENT_TARGET */, (typeof ngDevMode === 'undefined' || ngDevMode) && `Unsupported event target ${target} for event ${event}`);\n      }\n    }\n    let wrappedCallback = this.decoratePreventDefault(callback);\n    if (this.tracingService?.wrapEventListener) {\n      wrappedCallback = this.tracingService.wrapEventListener(target, event, wrappedCallback);\n    }\n    return this.eventManager.addEventListener(target, event, wrappedCallback, options);\n  }\n  decoratePreventDefault(eventHandler) {\n    // `DebugNode.triggerEventHandler` needs to know if the listener was created with\n    // decoratePreventDefault or is a listener added outside the Angular context so it can handle\n    // the two differently. In the first case, the special '__ngUnwrap__' token is passed to the\n    // unwrap the listener (see below).\n    return event => {\n      // Ivy uses '__ngUnwrap__' as a special token that allows us to unwrap the function\n      // so that it can be invoked programmatically by `DebugNode.triggerEventHandler`. The\n      // debug_node can inspect the listener toString contents for the existence of this special\n      // token. Because the token is a string literal, it is ensured to not be modified by compiled\n      // code.\n      if (event === '__ngUnwrap__') {\n        return eventHandler;\n      }\n      // Run the event handler inside the ngZone because event handlers are not patched\n      // by Zone on the server. This is required only for tests.\n      const allowDefaultBehavior = this.platformIsServer ? this.ngZone.runGuarded(() => eventHandler(event)) : eventHandler(event);\n      if (allowDefaultBehavior === false) {\n        event.preventDefault();\n      }\n      return undefined;\n    };\n  }\n}\nconst AT_CHARCODE = /*#__PURE__*/(() => '@'.charCodeAt(0))();\nfunction checkNoSyntheticProp(name, nameKind) {\n  if (name.charCodeAt(0) === AT_CHARCODE) {\n    throw new _RuntimeError(5105 /* RuntimeErrorCode.UNEXPECTED_SYNTHETIC_PROPERTY */, `Unexpected synthetic ${nameKind} ${name} found. Please make sure that:\n  - Make sure \\`provideAnimationsAsync()\\`, \\`provideAnimations()\\` or \\`provideNoopAnimations()\\` call was added to a list of providers used to bootstrap an application.\n  - There is a corresponding animation configuration named \\`${name}\\` defined in the \\`animations\\` field of the \\`@Component\\` decorator (see https://angular.dev/api/core/Component#animations).`);\n  }\n}\nfunction isTemplateNode(node) {\n  return node.tagName === 'TEMPLATE' && node.content !== undefined;\n}\nclass ShadowDomRenderer extends DefaultDomRenderer2 {\n  sharedStylesHost;\n  hostEl;\n  shadowRoot;\n  constructor(eventManager, sharedStylesHost, hostEl, component, doc, ngZone, nonce, platformIsServer, tracingService) {\n    super(eventManager, doc, ngZone, platformIsServer, tracingService);\n    this.sharedStylesHost = sharedStylesHost;\n    this.hostEl = hostEl;\n    this.shadowRoot = hostEl.attachShadow({\n      mode: 'open'\n    });\n    this.sharedStylesHost.addHost(this.shadowRoot);\n    let styles = component.styles;\n    if (ngDevMode) {\n      // We only do this in development, as for production users should not add CSS sourcemaps to components.\n      const baseHref = _getDOM().getBaseHref(doc) ?? '';\n      styles = addBaseHrefToCssSourceMap(baseHref, styles);\n    }\n    styles = shimStylesContent(component.id, styles);\n    for (const style of styles) {\n      const styleEl = document.createElement('style');\n      if (nonce) {\n        styleEl.setAttribute('nonce', nonce);\n      }\n      styleEl.textContent = style;\n      this.shadowRoot.appendChild(styleEl);\n    }\n    // Apply any external component styles to the shadow root for the component's element.\n    // The ShadowDOM renderer uses an alternative execution path for component styles that\n    // does not use the SharedStylesHost that other encapsulation modes leverage. Much like\n    // the manual addition of embedded styles directly above, any external stylesheets\n    // must be manually added here to ensure ShadowDOM components are correctly styled.\n    // TODO: Consider reworking the DOM Renderers to consolidate style handling.\n    const styleUrls = component.getExternalStyles?.();\n    if (styleUrls) {\n      for (const styleUrl of styleUrls) {\n        const linkEl = createLinkElement(styleUrl, doc);\n        if (nonce) {\n          linkEl.setAttribute('nonce', nonce);\n        }\n        this.shadowRoot.appendChild(linkEl);\n      }\n    }\n  }\n  nodeOrShadowRoot(node) {\n    return node === this.hostEl ? this.shadowRoot : node;\n  }\n  appendChild(parent, newChild) {\n    return super.appendChild(this.nodeOrShadowRoot(parent), newChild);\n  }\n  insertBefore(parent, newChild, refChild) {\n    return super.insertBefore(this.nodeOrShadowRoot(parent), newChild, refChild);\n  }\n  removeChild(_parent, oldChild) {\n    return super.removeChild(null, oldChild);\n  }\n  parentNode(node) {\n    return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(node)));\n  }\n  destroy() {\n    this.sharedStylesHost.removeHost(this.shadowRoot);\n  }\n}\nclass NoneEncapsulationDomRenderer extends DefaultDomRenderer2 {\n  sharedStylesHost;\n  removeStylesOnCompDestroy;\n  styles;\n  styleUrls;\n  constructor(eventManager, sharedStylesHost, component, removeStylesOnCompDestroy, doc, ngZone, platformIsServer, tracingService, compId) {\n    super(eventManager, doc, ngZone, platformIsServer, tracingService);\n    this.sharedStylesHost = sharedStylesHost;\n    this.removeStylesOnCompDestroy = removeStylesOnCompDestroy;\n    let styles = component.styles;\n    if (ngDevMode) {\n      // We only do this in development, as for production users should not add CSS sourcemaps to components.\n      const baseHref = _getDOM().getBaseHref(doc) ?? '';\n      styles = addBaseHrefToCssSourceMap(baseHref, styles);\n    }\n    this.styles = compId ? shimStylesContent(compId, styles) : styles;\n    this.styleUrls = component.getExternalStyles?.(compId);\n  }\n  applyStyles() {\n    this.sharedStylesHost.addStyles(this.styles, this.styleUrls);\n  }\n  destroy() {\n    if (!this.removeStylesOnCompDestroy) {\n      return;\n    }\n    this.sharedStylesHost.removeStyles(this.styles, this.styleUrls);\n  }\n}\nclass EmulatedEncapsulationDomRenderer2 extends NoneEncapsulationDomRenderer {\n  contentAttr;\n  hostAttr;\n  constructor(eventManager, sharedStylesHost, component, appId, removeStylesOnCompDestroy, doc, ngZone, platformIsServer, tracingService) {\n    const compId = appId + '-' + component.id;\n    super(eventManager, sharedStylesHost, component, removeStylesOnCompDestroy, doc, ngZone, platformIsServer, tracingService, compId);\n    this.contentAttr = shimContentAttribute(compId);\n    this.hostAttr = shimHostAttribute(compId);\n  }\n  applyToHost(element) {\n    this.applyStyles();\n    this.setAttribute(element, this.hostAttr, '');\n  }\n  createElement(parent, name) {\n    const el = super.createElement(parent, name);\n    super.setAttribute(el, this.contentAttr, '');\n    return el;\n  }\n}\nexport { DomRendererFactory2, EVENT_MANAGER_PLUGINS, EventManager, EventManagerPlugin, REMOVE_STYLES_ON_COMPONENT_DESTROY, SharedStylesHost };\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵDomAdapter as _DomAdapter, ɵsetRootDomAdapter as _setRootDomAdapter, ɵparseCookieValue as _parseCookieValue, ɵgetDOM as _getDOM, DOCUMENT, CommonModule, XhrFactory, ɵPLATFORM_BROWSER_ID as _PLATFORM_BROWSER_ID } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { ɵglobal as _global, ɵRuntimeError as _RuntimeError, Injectable, Inject, createPlatformFactory, ɵinternalCreateApplication as _internalCreateApplication, inject, InjectionToken, ApplicationModule, ɵINJECTOR_SCOPE as _INJECTOR_SCOPE, ErrorHandler, RendererFactory2, ɵTESTABILITY_GETTER as _TESTABILITY_GETTER, NgZone, TestabilityRegistry, Testability, ɵTESTABILITY as _TESTABILITY, platformCore, PLATFORM_ID, PLATFORM_INITIALIZER, ɵsetDocument as _setDocument, NgModule } from '@angular/core';\nimport { EventManagerPlugin, EVENT_MANAGER_PLUGINS, DomRendererFactory2, SharedStylesHost, EventManager } from './dom_renderer-DGKzginR.mjs';\n\n/**\n * A `DomAdapter` powered by full browser DOM APIs.\n *\n * @security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n */\nclass BrowserDomAdapter extends _DomAdapter {\n  supportsDOMEvents = true;\n  static makeCurrent() {\n    _setRootDomAdapter(new BrowserDomAdapter());\n  }\n  onAndCancel(el, evt, listener, options) {\n    el.addEventListener(evt, listener, options);\n    return () => {\n      el.removeEventListener(evt, listener, options);\n    };\n  }\n  dispatchEvent(el, evt) {\n    el.dispatchEvent(evt);\n  }\n  remove(node) {\n    node.remove();\n  }\n  createElement(tagName, doc) {\n    doc = doc || this.getDefaultDocument();\n    return doc.createElement(tagName);\n  }\n  createHtmlDocument() {\n    return document.implementation.createHTMLDocument('fakeTitle');\n  }\n  getDefaultDocument() {\n    return document;\n  }\n  isElementNode(node) {\n    return node.nodeType === Node.ELEMENT_NODE;\n  }\n  isShadowRoot(node) {\n    return node instanceof DocumentFragment;\n  }\n  /** @deprecated No longer being used in Ivy code. To be removed in version 14. */\n  getGlobalEventTarget(doc, target) {\n    if (target === 'window') {\n      return window;\n    }\n    if (target === 'document') {\n      return doc;\n    }\n    if (target === 'body') {\n      return doc.body;\n    }\n    return null;\n  }\n  getBaseHref(doc) {\n    const href = getBaseElementHref();\n    return href == null ? null : relativePath(href);\n  }\n  resetBaseElement() {\n    baseElement = null;\n  }\n  getUserAgent() {\n    return window.navigator.userAgent;\n  }\n  getCookie(name) {\n    return _parseCookieValue(document.cookie, name);\n  }\n}\nlet baseElement = null;\nfunction getBaseElementHref() {\n  baseElement = baseElement || document.head.querySelector('base');\n  return baseElement ? baseElement.getAttribute('href') : null;\n}\nfunction relativePath(url) {\n  // The base URL doesn't really matter, we just need it so relative paths have something\n  // to resolve against. In the browser `HTMLBaseElement.href` is always absolute.\n  return new URL(url, document.baseURI).pathname;\n}\nclass BrowserGetTestability {\n  addToWindow(registry) {\n    _global['getAngularTestability'] = (elem, findInAncestors = true) => {\n      const testability = registry.findTestabilityInTree(elem, findInAncestors);\n      if (testability == null) {\n        throw new _RuntimeError(5103 /* RuntimeErrorCode.TESTABILITY_NOT_FOUND */, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Could not find testability for element.');\n      }\n      return testability;\n    };\n    _global['getAllAngularTestabilities'] = () => registry.getAllTestabilities();\n    _global['getAllAngularRootElements'] = () => registry.getAllRootElements();\n    const whenAllStable = callback => {\n      const testabilities = _global['getAllAngularTestabilities']();\n      let count = testabilities.length;\n      const decrement = function () {\n        count--;\n        if (count == 0) {\n          callback();\n        }\n      };\n      testabilities.forEach(testability => {\n        testability.whenStable(decrement);\n      });\n    };\n    if (!_global['frameworkStabilizers']) {\n      _global['frameworkStabilizers'] = [];\n    }\n    _global['frameworkStabilizers'].push(whenAllStable);\n  }\n  findTestabilityInTree(registry, elem, findInAncestors) {\n    if (elem == null) {\n      return null;\n    }\n    const t = registry.getTestability(elem);\n    if (t != null) {\n      return t;\n    } else if (!findInAncestors) {\n      return null;\n    }\n    if (_getDOM().isShadowRoot(elem)) {\n      return this.findTestabilityInTree(registry, elem.host, true);\n    }\n    return this.findTestabilityInTree(registry, elem.parentElement, true);\n  }\n}\n\n/**\n * A factory for `HttpXhrBackend` that uses the `XMLHttpRequest` browser API.\n */\nlet BrowserXhr = /*#__PURE__*/(() => {\n  class BrowserXhr {\n    build() {\n      return new XMLHttpRequest();\n    }\n    static ɵfac = function BrowserXhr_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || BrowserXhr)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: BrowserXhr,\n      factory: BrowserXhr.ɵfac\n    });\n  }\n  return BrowserXhr;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet DomEventsPlugin = /*#__PURE__*/(() => {\n  class DomEventsPlugin extends EventManagerPlugin {\n    constructor(doc) {\n      super(doc);\n    }\n    // This plugin should come last in the list of plugins, because it accepts all\n    // events.\n    supports(eventName) {\n      return true;\n    }\n    addEventListener(element, eventName, handler, options) {\n      element.addEventListener(eventName, handler, options);\n      return () => this.removeEventListener(element, eventName, handler, options);\n    }\n    removeEventListener(target, eventName, callback, options) {\n      return target.removeEventListener(eventName, callback, options);\n    }\n    static ɵfac = function DomEventsPlugin_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || DomEventsPlugin)(i0.ɵɵinject(DOCUMENT));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: DomEventsPlugin,\n      factory: DomEventsPlugin.ɵfac\n    });\n  }\n  return DomEventsPlugin;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Defines supported modifiers for key events.\n */\nconst MODIFIER_KEYS = ['alt', 'control', 'meta', 'shift'];\n// The following values are here for cross-browser compatibility and to match the W3C standard\n// cf https://www.w3.org/TR/DOM-Level-3-Events-key/\nconst _keyMap = {\n  '\\b': 'Backspace',\n  '\\t': 'Tab',\n  '\\x7F': 'Delete',\n  '\\x1B': 'Escape',\n  'Del': 'Delete',\n  'Esc': 'Escape',\n  'Left': 'ArrowLeft',\n  'Right': 'ArrowRight',\n  'Up': 'ArrowUp',\n  'Down': 'ArrowDown',\n  'Menu': 'ContextMenu',\n  'Scroll': 'ScrollLock',\n  'Win': 'OS'\n};\n/**\n * Retrieves modifiers from key-event objects.\n */\nconst MODIFIER_KEY_GETTERS = {\n  'alt': event => event.altKey,\n  'control': event => event.ctrlKey,\n  'meta': event => event.metaKey,\n  'shift': event => event.shiftKey\n};\n/**\n * A browser plug-in that provides support for handling of key events in Angular.\n */\nlet KeyEventsPlugin = /*#__PURE__*/(() => {\n  class KeyEventsPlugin extends EventManagerPlugin {\n    /**\n     * Initializes an instance of the browser plug-in.\n     * @param doc The document in which key events will be detected.\n     */\n    constructor(doc) {\n      super(doc);\n    }\n    /**\n     * Reports whether a named key event is supported.\n     * @param eventName The event name to query.\n     * @return True if the named key event is supported.\n     */\n    supports(eventName) {\n      return KeyEventsPlugin.parseEventName(eventName) != null;\n    }\n    /**\n     * Registers a handler for a specific element and key event.\n     * @param element The HTML element to receive event notifications.\n     * @param eventName The name of the key event to listen for.\n     * @param handler A function to call when the notification occurs. Receives the\n     * event object as an argument.\n     * @returns The key event that was registered.\n     */\n    addEventListener(element, eventName, handler, options) {\n      const parsedEvent = KeyEventsPlugin.parseEventName(eventName);\n      const outsideHandler = KeyEventsPlugin.eventCallback(parsedEvent['fullKey'], handler, this.manager.getZone());\n      return this.manager.getZone().runOutsideAngular(() => {\n        return _getDOM().onAndCancel(element, parsedEvent['domEventName'], outsideHandler, options);\n      });\n    }\n    /**\n     * Parses the user provided full keyboard event definition and normalizes it for\n     * later internal use. It ensures the string is all lowercase, converts special\n     * characters to a standard spelling, and orders all the values consistently.\n     *\n     * @param eventName The name of the key event to listen for.\n     * @returns an object with the full, normalized string, and the dom event name\n     * or null in the case when the event doesn't match a keyboard event.\n     */\n    static parseEventName(eventName) {\n      const parts = eventName.toLowerCase().split('.');\n      const domEventName = parts.shift();\n      if (parts.length === 0 || !(domEventName === 'keydown' || domEventName === 'keyup')) {\n        return null;\n      }\n      const key = KeyEventsPlugin._normalizeKey(parts.pop());\n      let fullKey = '';\n      let codeIX = parts.indexOf('code');\n      if (codeIX > -1) {\n        parts.splice(codeIX, 1);\n        fullKey = 'code.';\n      }\n      MODIFIER_KEYS.forEach(modifierName => {\n        const index = parts.indexOf(modifierName);\n        if (index > -1) {\n          parts.splice(index, 1);\n          fullKey += modifierName + '.';\n        }\n      });\n      fullKey += key;\n      if (parts.length != 0 || key.length === 0) {\n        // returning null instead of throwing to let another plugin process the event\n        return null;\n      }\n      // NOTE: Please don't rewrite this as so, as it will break JSCompiler property renaming.\n      //       The code must remain in the `result['domEventName']` form.\n      // return {domEventName, fullKey};\n      const result = {};\n      result['domEventName'] = domEventName;\n      result['fullKey'] = fullKey;\n      return result;\n    }\n    /**\n     * Determines whether the actual keys pressed match the configured key code string.\n     * The `fullKeyCode` event is normalized in the `parseEventName` method when the\n     * event is attached to the DOM during the `addEventListener` call. This is unseen\n     * by the end user and is normalized for internal consistency and parsing.\n     *\n     * @param event The keyboard event.\n     * @param fullKeyCode The normalized user defined expected key event string\n     * @returns boolean.\n     */\n    static matchEventFullKeyCode(event, fullKeyCode) {\n      let keycode = _keyMap[event.key] || event.key;\n      let key = '';\n      if (fullKeyCode.indexOf('code.') > -1) {\n        keycode = event.code;\n        key = 'code.';\n      }\n      // the keycode could be unidentified so we have to check here\n      if (keycode == null || !keycode) return false;\n      keycode = keycode.toLowerCase();\n      if (keycode === ' ') {\n        keycode = 'space'; // for readability\n      } else if (keycode === '.') {\n        keycode = 'dot'; // because '.' is used as a separator in event names\n      }\n      MODIFIER_KEYS.forEach(modifierName => {\n        if (modifierName !== keycode) {\n          const modifierGetter = MODIFIER_KEY_GETTERS[modifierName];\n          if (modifierGetter(event)) {\n            key += modifierName + '.';\n          }\n        }\n      });\n      key += keycode;\n      return key === fullKeyCode;\n    }\n    /**\n     * Configures a handler callback for a key event.\n     * @param fullKey The event name that combines all simultaneous keystrokes.\n     * @param handler The function that responds to the key event.\n     * @param zone The zone in which the event occurred.\n     * @returns A callback function.\n     */\n    static eventCallback(fullKey, handler, zone) {\n      return event => {\n        if (KeyEventsPlugin.matchEventFullKeyCode(event, fullKey)) {\n          zone.runGuarded(() => handler(event));\n        }\n      };\n    }\n    /** @internal */\n    static _normalizeKey(keyName) {\n      return keyName === 'esc' ? 'escape' : keyName;\n    }\n    static ɵfac = function KeyEventsPlugin_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || KeyEventsPlugin)(i0.ɵɵinject(DOCUMENT));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: KeyEventsPlugin,\n      factory: KeyEventsPlugin.ɵfac\n    });\n  }\n  return KeyEventsPlugin;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Bootstraps an instance of an Angular application and renders a standalone component as the\n * application's root component. More information about standalone components can be found in [this\n * guide](guide/components/importing).\n *\n * @usageNotes\n * The root component passed into this function *must* be a standalone one (should have the\n * `standalone: true` flag in the `@Component` decorator config).\n *\n * ```angular-ts\n * @Component({\n *   standalone: true,\n *   template: 'Hello world!'\n * })\n * class RootComponent {}\n *\n * const appRef: ApplicationRef = await bootstrapApplication(RootComponent);\n * ```\n *\n * You can add the list of providers that should be available in the application injector by\n * specifying the `providers` field in an object passed as the second argument:\n *\n * ```ts\n * await bootstrapApplication(RootComponent, {\n *   providers: [\n *     {provide: BACKEND_URL, useValue: 'https://yourdomain.com/api'}\n *   ]\n * });\n * ```\n *\n * The `importProvidersFrom` helper method can be used to collect all providers from any\n * existing NgModule (and transitively from all NgModules that it imports):\n *\n * ```ts\n * await bootstrapApplication(RootComponent, {\n *   providers: [\n *     importProvidersFrom(SomeNgModule)\n *   ]\n * });\n * ```\n *\n * Note: the `bootstrapApplication` method doesn't include [Testability](api/core/Testability) by\n * default. You can add [Testability](api/core/Testability) by getting the list of necessary\n * providers using `provideProtractorTestingSupport()` function and adding them into the `providers`\n * array, for example:\n *\n * ```ts\n * import {provideProtractorTestingSupport} from '@angular/platform-browser';\n *\n * await bootstrapApplication(RootComponent, {providers: [provideProtractorTestingSupport()]});\n * ```\n *\n * @param rootComponent A reference to a standalone component that should be rendered.\n * @param options Extra configuration for the bootstrap operation, see `ApplicationConfig` for\n *     additional info.\n * @param context Optional context object that can be used to provide a pre-existing\n *     platform injector. This is useful for advanced use-cases, for example, server-side\n *     rendering, where the platform is created for each request.\n * @returns A promise that returns an `ApplicationRef` instance once resolved.\n *\n * @publicApi\n */\nfunction bootstrapApplication(rootComponent, options, context) {\n  return _internalCreateApplication({\n    rootComponent,\n    platformRef: context?.platformRef,\n    ...createProvidersConfig(options)\n  });\n}\n/**\n * Create an instance of an Angular application without bootstrapping any components. This is useful\n * for the situation where one wants to decouple application environment creation (a platform and\n * associated injectors) from rendering components on a screen. Components can be subsequently\n * bootstrapped on the returned `ApplicationRef`.\n *\n * @param options Extra configuration for the application environment, see `ApplicationConfig` for\n *     additional info.\n * @returns A promise that returns an `ApplicationRef` instance once resolved.\n *\n * @publicApi\n */\nfunction createApplication(options) {\n  return _internalCreateApplication(createProvidersConfig(options));\n}\nfunction createProvidersConfig(options) {\n  return {\n    appProviders: [...BROWSER_MODULE_PROVIDERS, ...(options?.providers ?? [])],\n    platformProviders: INTERNAL_BROWSER_PLATFORM_PROVIDERS\n  };\n}\n/**\n * Returns a set of providers required to setup [Testability](api/core/Testability) for an\n * application bootstrapped using the `bootstrapApplication` function. The set of providers is\n * needed to support testing an application with Protractor (which relies on the Testability APIs\n * to be present).\n *\n * @returns An array of providers required to setup Testability for an application and make it\n *     available for testing using Protractor.\n *\n * @publicApi\n */\nfunction provideProtractorTestingSupport() {\n  // Return a copy to prevent changes to the original array in case any in-place\n  // alterations are performed to the `provideProtractorTestingSupport` call results in app\n  // code.\n  return [...TESTABILITY_PROVIDERS];\n}\nfunction initDomAdapter() {\n  BrowserDomAdapter.makeCurrent();\n}\nfunction errorHandler() {\n  return new ErrorHandler();\n}\nfunction _document() {\n  // Tell ivy about the global document\n  _setDocument(document);\n  return document;\n}\nconst INTERNAL_BROWSER_PLATFORM_PROVIDERS = [{\n  provide: PLATFORM_ID,\n  useValue: _PLATFORM_BROWSER_ID\n}, {\n  provide: PLATFORM_INITIALIZER,\n  useValue: initDomAdapter,\n  multi: true\n}, {\n  provide: DOCUMENT,\n  useFactory: _document\n}];\n/**\n * A factory function that returns a `PlatformRef` instance associated with browser service\n * providers.\n *\n * @publicApi\n */\nconst platformBrowser = /*#__PURE__*/createPlatformFactory(platformCore, 'browser', INTERNAL_BROWSER_PLATFORM_PROVIDERS);\n/**\n * Internal marker to signal whether providers from the `BrowserModule` are already present in DI.\n * This is needed to avoid loading `BrowserModule` providers twice. We can't rely on the\n * `BrowserModule` presence itself, since the standalone-based bootstrap just imports\n * `BrowserModule` providers without referencing the module itself.\n */\nconst BROWSER_MODULE_PROVIDERS_MARKER = /*#__PURE__*/new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'BrowserModule Providers Marker' : '');\nconst TESTABILITY_PROVIDERS = [{\n  provide: _TESTABILITY_GETTER,\n  useClass: BrowserGetTestability\n}, {\n  provide: _TESTABILITY,\n  useClass: Testability,\n  deps: [NgZone, TestabilityRegistry, _TESTABILITY_GETTER]\n}, {\n  provide: Testability,\n  // Also provide as `Testability` for backwards-compatibility.\n  useClass: Testability,\n  deps: [NgZone, TestabilityRegistry, _TESTABILITY_GETTER]\n}];\nconst BROWSER_MODULE_PROVIDERS = [{\n  provide: _INJECTOR_SCOPE,\n  useValue: 'root'\n}, {\n  provide: ErrorHandler,\n  useFactory: errorHandler\n}, {\n  provide: EVENT_MANAGER_PLUGINS,\n  useClass: DomEventsPlugin,\n  multi: true,\n  deps: [DOCUMENT]\n}, {\n  provide: EVENT_MANAGER_PLUGINS,\n  useClass: KeyEventsPlugin,\n  multi: true,\n  deps: [DOCUMENT]\n}, DomRendererFactory2, SharedStylesHost, EventManager, {\n  provide: RendererFactory2,\n  useExisting: DomRendererFactory2\n}, {\n  provide: XhrFactory,\n  useClass: BrowserXhr\n}, typeof ngDevMode === 'undefined' || ngDevMode ? {\n  provide: BROWSER_MODULE_PROVIDERS_MARKER,\n  useValue: true\n} : []];\n/**\n * Exports required infrastructure for all Angular apps.\n * Included by default in all Angular apps created with the CLI\n * `new` command.\n * Re-exports `CommonModule` and `ApplicationModule`, making their\n * exports and providers available to all apps.\n *\n * @publicApi\n */\nlet BrowserModule = /*#__PURE__*/(() => {\n  class BrowserModule {\n    constructor() {\n      if (typeof ngDevMode === 'undefined' || ngDevMode) {\n        const providersAlreadyPresent = inject(BROWSER_MODULE_PROVIDERS_MARKER, {\n          optional: true,\n          skipSelf: true\n        });\n        if (providersAlreadyPresent) {\n          throw new _RuntimeError(5100 /* RuntimeErrorCode.BROWSER_MODULE_ALREADY_LOADED */, `Providers from the \\`BrowserModule\\` have already been loaded. If you need access ` + `to common directives such as NgIf and NgFor, import the \\`CommonModule\\` instead.`);\n        }\n      }\n    }\n    static ɵfac = function BrowserModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || BrowserModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: BrowserModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      providers: [...BROWSER_MODULE_PROVIDERS, ...TESTABILITY_PROVIDERS],\n      imports: [CommonModule, ApplicationModule]\n    });\n  }\n  return BrowserModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { BrowserDomAdapter, BrowserGetTestability, BrowserModule, DomEventsPlugin, KeyEventsPlugin, bootstrapApplication, createApplication, platformBrowser, provideProtractorTestingSupport };\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { ɵRuntimeError as _RuntimeError, Injectable, inject, NgZone, DestroyRef, InjectionToken, ɵPendingTasksInternal as _PendingTasksInternal, PLATFORM_ID, ɵConsole as _Console, ɵformatRuntimeError as _formatRuntimeError, runInInjectionContext, Inject, makeEnvironmentProviders, NgModule } from '@angular/core';\nimport { concatMap, filter, map, finalize, switchMap } from 'rxjs/operators';\nimport { of, Observable, from } from 'rxjs';\nimport { isPlatformServer, XhrFactory, parseCookieValue } from './xhr-BfNfxNDv.mjs';\nimport { DOCUMENT } from './dom_tokens-rA0ACyx7.mjs';\n\n/**\n * Transforms an `HttpRequest` into a stream of `HttpEvent`s, one of which will likely be a\n * `HttpResponse`.\n *\n * `HttpHandler` is injectable. When injected, the handler instance dispatches requests to the\n * first interceptor in the chain, which dispatches to the second, etc, eventually reaching the\n * `HttpBackend`.\n *\n * In an `HttpInterceptor`, the `HttpHandler` parameter is the next interceptor in the chain.\n *\n * @publicApi\n */\nclass HttpHandler {}\n/**\n * A final `HttpHandler` which will dispatch the request via browser HTTP APIs to a backend.\n *\n * Interceptors sit between the `HttpClient` interface and the `HttpBackend`.\n *\n * When injected, `HttpBackend` dispatches requests directly to the backend, without going\n * through the interceptor chain.\n *\n * @publicApi\n */\nclass HttpBackend {}\n\n/**\n * Represents the header configuration options for an HTTP request.\n * Instances are immutable. Modifying methods return a cloned\n * instance with the change. The original object is never changed.\n *\n * @publicApi\n */\nclass HttpHeaders {\n  /**\n   * Internal map of lowercase header names to values.\n   */\n  headers;\n  /**\n   * Internal map of lowercased header names to the normalized\n   * form of the name (the form seen first).\n   */\n  normalizedNames = /*#__PURE__*/new Map();\n  /**\n   * Complete the lazy initialization of this object (needed before reading).\n   */\n  lazyInit;\n  /**\n   * Queued updates to be materialized the next initialization.\n   */\n  lazyUpdate = null;\n  /**  Constructs a new HTTP header object with the given values.*/\n  constructor(headers) {\n    if (!headers) {\n      this.headers = new Map();\n    } else if (typeof headers === 'string') {\n      this.lazyInit = () => {\n        this.headers = new Map();\n        headers.split('\\n').forEach(line => {\n          const index = line.indexOf(':');\n          if (index > 0) {\n            const name = line.slice(0, index);\n            const value = line.slice(index + 1).trim();\n            this.addHeaderEntry(name, value);\n          }\n        });\n      };\n    } else if (typeof Headers !== 'undefined' && headers instanceof Headers) {\n      this.headers = new Map();\n      headers.forEach((value, name) => {\n        this.addHeaderEntry(name, value);\n      });\n    } else {\n      this.lazyInit = () => {\n        if (typeof ngDevMode === 'undefined' || ngDevMode) {\n          assertValidHeaders(headers);\n        }\n        this.headers = new Map();\n        Object.entries(headers).forEach(([name, values]) => {\n          this.setHeaderEntries(name, values);\n        });\n      };\n    }\n  }\n  /**\n   * Checks for existence of a given header.\n   *\n   * @param name The header name to check for existence.\n   *\n   * @returns True if the header exists, false otherwise.\n   */\n  has(name) {\n    this.init();\n    return this.headers.has(name.toLowerCase());\n  }\n  /**\n   * Retrieves the first value of a given header.\n   *\n   * @param name The header name.\n   *\n   * @returns The value string if the header exists, null otherwise\n   */\n  get(name) {\n    this.init();\n    const values = this.headers.get(name.toLowerCase());\n    return values && values.length > 0 ? values[0] : null;\n  }\n  /**\n   * Retrieves the names of the headers.\n   *\n   * @returns A list of header names.\n   */\n  keys() {\n    this.init();\n    return Array.from(this.normalizedNames.values());\n  }\n  /**\n   * Retrieves a list of values for a given header.\n   *\n   * @param name The header name from which to retrieve values.\n   *\n   * @returns A string of values if the header exists, null otherwise.\n   */\n  getAll(name) {\n    this.init();\n    return this.headers.get(name.toLowerCase()) || null;\n  }\n  /**\n   * Appends a new value to the existing set of values for a header\n   * and returns them in a clone of the original instance.\n   *\n   * @param name The header name for which to append the values.\n   * @param value The value to append.\n   *\n   * @returns A clone of the HTTP headers object with the value appended to the given header.\n   */\n  append(name, value) {\n    return this.clone({\n      name,\n      value,\n      op: 'a'\n    });\n  }\n  /**\n   * Sets or modifies a value for a given header in a clone of the original instance.\n   * If the header already exists, its value is replaced with the given value\n   * in the returned object.\n   *\n   * @param name The header name.\n   * @param value The value or values to set or override for the given header.\n   *\n   * @returns A clone of the HTTP headers object with the newly set header value.\n   */\n  set(name, value) {\n    return this.clone({\n      name,\n      value,\n      op: 's'\n    });\n  }\n  /**\n   * Deletes values for a given header in a clone of the original instance.\n   *\n   * @param name The header name.\n   * @param value The value or values to delete for the given header.\n   *\n   * @returns A clone of the HTTP headers object with the given value deleted.\n   */\n  delete(name, value) {\n    return this.clone({\n      name,\n      value,\n      op: 'd'\n    });\n  }\n  maybeSetNormalizedName(name, lcName) {\n    if (!this.normalizedNames.has(lcName)) {\n      this.normalizedNames.set(lcName, name);\n    }\n  }\n  init() {\n    if (!!this.lazyInit) {\n      if (this.lazyInit instanceof HttpHeaders) {\n        this.copyFrom(this.lazyInit);\n      } else {\n        this.lazyInit();\n      }\n      this.lazyInit = null;\n      if (!!this.lazyUpdate) {\n        this.lazyUpdate.forEach(update => this.applyUpdate(update));\n        this.lazyUpdate = null;\n      }\n    }\n  }\n  copyFrom(other) {\n    other.init();\n    Array.from(other.headers.keys()).forEach(key => {\n      this.headers.set(key, other.headers.get(key));\n      this.normalizedNames.set(key, other.normalizedNames.get(key));\n    });\n  }\n  clone(update) {\n    const clone = new HttpHeaders();\n    clone.lazyInit = !!this.lazyInit && this.lazyInit instanceof HttpHeaders ? this.lazyInit : this;\n    clone.lazyUpdate = (this.lazyUpdate || []).concat([update]);\n    return clone;\n  }\n  applyUpdate(update) {\n    const key = update.name.toLowerCase();\n    switch (update.op) {\n      case 'a':\n      case 's':\n        let value = update.value;\n        if (typeof value === 'string') {\n          value = [value];\n        }\n        if (value.length === 0) {\n          return;\n        }\n        this.maybeSetNormalizedName(update.name, key);\n        const base = (update.op === 'a' ? this.headers.get(key) : undefined) || [];\n        base.push(...value);\n        this.headers.set(key, base);\n        break;\n      case 'd':\n        const toDelete = update.value;\n        if (!toDelete) {\n          this.headers.delete(key);\n          this.normalizedNames.delete(key);\n        } else {\n          let existing = this.headers.get(key);\n          if (!existing) {\n            return;\n          }\n          existing = existing.filter(value => toDelete.indexOf(value) === -1);\n          if (existing.length === 0) {\n            this.headers.delete(key);\n            this.normalizedNames.delete(key);\n          } else {\n            this.headers.set(key, existing);\n          }\n        }\n        break;\n    }\n  }\n  addHeaderEntry(name, value) {\n    const key = name.toLowerCase();\n    this.maybeSetNormalizedName(name, key);\n    if (this.headers.has(key)) {\n      this.headers.get(key).push(value);\n    } else {\n      this.headers.set(key, [value]);\n    }\n  }\n  setHeaderEntries(name, values) {\n    const headerValues = (Array.isArray(values) ? values : [values]).map(value => value.toString());\n    const key = name.toLowerCase();\n    this.headers.set(key, headerValues);\n    this.maybeSetNormalizedName(name, key);\n  }\n  /**\n   * @internal\n   */\n  forEach(fn) {\n    this.init();\n    Array.from(this.normalizedNames.keys()).forEach(key => fn(this.normalizedNames.get(key), this.headers.get(key)));\n  }\n}\n/**\n * Verifies that the headers object has the right shape: the values\n * must be either strings, numbers or arrays. Throws an error if an invalid\n * header value is present.\n */\nfunction assertValidHeaders(headers) {\n  for (const [key, value] of Object.entries(headers)) {\n    if (!(typeof value === 'string' || typeof value === 'number') && !Array.isArray(value)) {\n      throw new Error(`Unexpected value of the \\`${key}\\` header provided. ` + `Expecting either a string, a number or an array, but got: \\`${value}\\`.`);\n    }\n  }\n}\n\n/**\n * Provides encoding and decoding of URL parameter and query-string values.\n *\n * Serializes and parses URL parameter keys and values to encode and decode them.\n * If you pass URL query parameters without encoding,\n * the query parameters can be misinterpreted at the receiving end.\n *\n *\n * @publicApi\n */\nclass HttpUrlEncodingCodec {\n  /**\n   * Encodes a key name for a URL parameter or query-string.\n   * @param key The key name.\n   * @returns The encoded key name.\n   */\n  encodeKey(key) {\n    return standardEncoding(key);\n  }\n  /**\n   * Encodes the value of a URL parameter or query-string.\n   * @param value The value.\n   * @returns The encoded value.\n   */\n  encodeValue(value) {\n    return standardEncoding(value);\n  }\n  /**\n   * Decodes an encoded URL parameter or query-string key.\n   * @param key The encoded key name.\n   * @returns The decoded key name.\n   */\n  decodeKey(key) {\n    return decodeURIComponent(key);\n  }\n  /**\n   * Decodes an encoded URL parameter or query-string value.\n   * @param value The encoded value.\n   * @returns The decoded value.\n   */\n  decodeValue(value) {\n    return decodeURIComponent(value);\n  }\n}\nfunction paramParser(rawParams, codec) {\n  const map = new Map();\n  if (rawParams.length > 0) {\n    // The `window.location.search` can be used while creating an instance of the `HttpParams` class\n    // (e.g. `new HttpParams({ fromString: window.location.search })`). The `window.location.search`\n    // may start with the `?` char, so we strip it if it's present.\n    const params = rawParams.replace(/^\\?/, '').split('&');\n    params.forEach(param => {\n      const eqIdx = param.indexOf('=');\n      const [key, val] = eqIdx == -1 ? [codec.decodeKey(param), ''] : [codec.decodeKey(param.slice(0, eqIdx)), codec.decodeValue(param.slice(eqIdx + 1))];\n      const list = map.get(key) || [];\n      list.push(val);\n      map.set(key, list);\n    });\n  }\n  return map;\n}\n/**\n * Encode input string with standard encodeURIComponent and then un-encode specific characters.\n */\nconst STANDARD_ENCODING_REGEX = /%(\\d[a-f0-9])/gi;\nconst STANDARD_ENCODING_REPLACEMENTS = {\n  '40': '@',\n  '3A': ':',\n  '24': '$',\n  '2C': ',',\n  '3B': ';',\n  '3D': '=',\n  '3F': '?',\n  '2F': '/'\n};\nfunction standardEncoding(v) {\n  return encodeURIComponent(v).replace(STANDARD_ENCODING_REGEX, (s, t) => STANDARD_ENCODING_REPLACEMENTS[t] ?? s);\n}\nfunction valueToString(value) {\n  return `${value}`;\n}\n/**\n * An HTTP request/response body that represents serialized parameters,\n * per the MIME type `application/x-www-form-urlencoded`.\n *\n * This class is immutable; all mutation operations return a new instance.\n *\n * @publicApi\n */\nclass HttpParams {\n  map;\n  encoder;\n  updates = null;\n  cloneFrom = null;\n  constructor(options = {}) {\n    this.encoder = options.encoder || new HttpUrlEncodingCodec();\n    if (options.fromString) {\n      if (options.fromObject) {\n        throw new _RuntimeError(2805 /* RuntimeErrorCode.CANNOT_SPECIFY_BOTH_FROM_STRING_AND_FROM_OBJECT */, ngDevMode && 'Cannot specify both fromString and fromObject.');\n      }\n      this.map = paramParser(options.fromString, this.encoder);\n    } else if (!!options.fromObject) {\n      this.map = new Map();\n      Object.keys(options.fromObject).forEach(key => {\n        const value = options.fromObject[key];\n        // convert the values to strings\n        const values = Array.isArray(value) ? value.map(valueToString) : [valueToString(value)];\n        this.map.set(key, values);\n      });\n    } else {\n      this.map = null;\n    }\n  }\n  /**\n   * Reports whether the body includes one or more values for a given parameter.\n   * @param param The parameter name.\n   * @returns True if the parameter has one or more values,\n   * false if it has no value or is not present.\n   */\n  has(param) {\n    this.init();\n    return this.map.has(param);\n  }\n  /**\n   * Retrieves the first value for a parameter.\n   * @param param The parameter name.\n   * @returns The first value of the given parameter,\n   * or `null` if the parameter is not present.\n   */\n  get(param) {\n    this.init();\n    const res = this.map.get(param);\n    return !!res ? res[0] : null;\n  }\n  /**\n   * Retrieves all values for a  parameter.\n   * @param param The parameter name.\n   * @returns All values in a string array,\n   * or `null` if the parameter not present.\n   */\n  getAll(param) {\n    this.init();\n    return this.map.get(param) || null;\n  }\n  /**\n   * Retrieves all the parameters for this body.\n   * @returns The parameter names in a string array.\n   */\n  keys() {\n    this.init();\n    return Array.from(this.map.keys());\n  }\n  /**\n   * Appends a new value to existing values for a parameter.\n   * @param param The parameter name.\n   * @param value The new value to add.\n   * @return A new body with the appended value.\n   */\n  append(param, value) {\n    return this.clone({\n      param,\n      value,\n      op: 'a'\n    });\n  }\n  /**\n   * Constructs a new body with appended values for the given parameter name.\n   * @param params parameters and values\n   * @return A new body with the new value.\n   */\n  appendAll(params) {\n    const updates = [];\n    Object.keys(params).forEach(param => {\n      const value = params[param];\n      if (Array.isArray(value)) {\n        value.forEach(_value => {\n          updates.push({\n            param,\n            value: _value,\n            op: 'a'\n          });\n        });\n      } else {\n        updates.push({\n          param,\n          value: value,\n          op: 'a'\n        });\n      }\n    });\n    return this.clone(updates);\n  }\n  /**\n   * Replaces the value for a parameter.\n   * @param param The parameter name.\n   * @param value The new value.\n   * @return A new body with the new value.\n   */\n  set(param, value) {\n    return this.clone({\n      param,\n      value,\n      op: 's'\n    });\n  }\n  /**\n   * Removes a given value or all values from a parameter.\n   * @param param The parameter name.\n   * @param value The value to remove, if provided.\n   * @return A new body with the given value removed, or with all values\n   * removed if no value is specified.\n   */\n  delete(param, value) {\n    return this.clone({\n      param,\n      value,\n      op: 'd'\n    });\n  }\n  /**\n   * Serializes the body to an encoded string, where key-value pairs (separated by `=`) are\n   * separated by `&`s.\n   */\n  toString() {\n    this.init();\n    return this.keys().map(key => {\n      const eKey = this.encoder.encodeKey(key);\n      // `a: ['1']` produces `'a=1'`\n      // `b: []` produces `''`\n      // `c: ['1', '2']` produces `'c=1&c=2'`\n      return this.map.get(key).map(value => eKey + '=' + this.encoder.encodeValue(value)).join('&');\n    })\n    // filter out empty values because `b: []` produces `''`\n    // which results in `a=1&&c=1&c=2` instead of `a=1&c=1&c=2` if we don't\n    .filter(param => param !== '').join('&');\n  }\n  clone(update) {\n    const clone = new HttpParams({\n      encoder: this.encoder\n    });\n    clone.cloneFrom = this.cloneFrom || this;\n    clone.updates = (this.updates || []).concat(update);\n    return clone;\n  }\n  init() {\n    if (this.map === null) {\n      this.map = new Map();\n    }\n    if (this.cloneFrom !== null) {\n      this.cloneFrom.init();\n      this.cloneFrom.keys().forEach(key => this.map.set(key, this.cloneFrom.map.get(key)));\n      this.updates.forEach(update => {\n        switch (update.op) {\n          case 'a':\n          case 's':\n            const base = (update.op === 'a' ? this.map.get(update.param) : undefined) || [];\n            base.push(valueToString(update.value));\n            this.map.set(update.param, base);\n            break;\n          case 'd':\n            if (update.value !== undefined) {\n              let base = this.map.get(update.param) || [];\n              const idx = base.indexOf(valueToString(update.value));\n              if (idx !== -1) {\n                base.splice(idx, 1);\n              }\n              if (base.length > 0) {\n                this.map.set(update.param, base);\n              } else {\n                this.map.delete(update.param);\n              }\n            } else {\n              this.map.delete(update.param);\n              break;\n            }\n        }\n      });\n      this.cloneFrom = this.updates = null;\n    }\n  }\n}\n\n/**\n * A token used to manipulate and access values stored in `HttpContext`.\n *\n * @publicApi\n */\nclass HttpContextToken {\n  defaultValue;\n  constructor(defaultValue) {\n    this.defaultValue = defaultValue;\n  }\n}\n/**\n * Http context stores arbitrary user defined values and ensures type safety without\n * actually knowing the types. It is backed by a `Map` and guarantees that keys do not clash.\n *\n * This context is mutable and is shared between cloned requests unless explicitly specified.\n *\n * @usageNotes\n *\n * ### Usage Example\n *\n * ```ts\n * // inside cache.interceptors.ts\n * export const IS_CACHE_ENABLED = new HttpContextToken<boolean>(() => false);\n *\n * export class CacheInterceptor implements HttpInterceptor {\n *\n *   intercept(req: HttpRequest<any>, delegate: HttpHandler): Observable<HttpEvent<any>> {\n *     if (req.context.get(IS_CACHE_ENABLED) === true) {\n *       return ...;\n *     }\n *     return delegate.handle(req);\n *   }\n * }\n *\n * // inside a service\n *\n * this.httpClient.get('/api/weather', {\n *   context: new HttpContext().set(IS_CACHE_ENABLED, true)\n * }).subscribe(...);\n * ```\n *\n * @publicApi\n */\nclass HttpContext {\n  map = /*#__PURE__*/new Map();\n  /**\n   * Store a value in the context. If a value is already present it will be overwritten.\n   *\n   * @param token The reference to an instance of `HttpContextToken`.\n   * @param value The value to store.\n   *\n   * @returns A reference to itself for easy chaining.\n   */\n  set(token, value) {\n    this.map.set(token, value);\n    return this;\n  }\n  /**\n   * Retrieve the value associated with the given token.\n   *\n   * @param token The reference to an instance of `HttpContextToken`.\n   *\n   * @returns The stored value or default if one is defined.\n   */\n  get(token) {\n    if (!this.map.has(token)) {\n      this.map.set(token, token.defaultValue());\n    }\n    return this.map.get(token);\n  }\n  /**\n   * Delete the value associated with the given token.\n   *\n   * @param token The reference to an instance of `HttpContextToken`.\n   *\n   * @returns A reference to itself for easy chaining.\n   */\n  delete(token) {\n    this.map.delete(token);\n    return this;\n  }\n  /**\n   * Checks for existence of a given token.\n   *\n   * @param token The reference to an instance of `HttpContextToken`.\n   *\n   * @returns True if the token exists, false otherwise.\n   */\n  has(token) {\n    return this.map.has(token);\n  }\n  /**\n   * @returns a list of tokens currently stored in the context.\n   */\n  keys() {\n    return this.map.keys();\n  }\n}\n\n/**\n * Determine whether the given HTTP method may include a body.\n */\nfunction mightHaveBody(method) {\n  switch (method) {\n    case 'DELETE':\n    case 'GET':\n    case 'HEAD':\n    case 'OPTIONS':\n    case 'JSONP':\n      return false;\n    default:\n      return true;\n  }\n}\n/**\n * Safely assert whether the given value is an ArrayBuffer.\n *\n * In some execution environments ArrayBuffer is not defined.\n */\nfunction isArrayBuffer(value) {\n  return typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer;\n}\n/**\n * Safely assert whether the given value is a Blob.\n *\n * In some execution environments Blob is not defined.\n */\nfunction isBlob(value) {\n  return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n/**\n * Safely assert whether the given value is a FormData instance.\n *\n * In some execution environments FormData is not defined.\n */\nfunction isFormData(value) {\n  return typeof FormData !== 'undefined' && value instanceof FormData;\n}\n/**\n * Safely assert whether the given value is a URLSearchParams instance.\n *\n * In some execution environments URLSearchParams is not defined.\n */\nfunction isUrlSearchParams(value) {\n  return typeof URLSearchParams !== 'undefined' && value instanceof URLSearchParams;\n}\n/**\n * `Content-Type` is an HTTP header used to indicate the media type\n * (also known as MIME type) of the resource being sent to the client\n * or received from the server.\n */\nconst CONTENT_TYPE_HEADER = 'Content-Type';\n/**\n * The `Accept` header is an HTTP request header that indicates the media types\n * (or content types) the client is willing to receive from the server.\n */\nconst ACCEPT_HEADER = 'Accept';\n/**\n * `X-Request-URL` is a custom HTTP header used in older browser versions,\n * including Firefox (< 32), Chrome (< 37), Safari (< 8), and Internet Explorer,\n * to include the full URL of the request in cross-origin requests.\n */\nconst X_REQUEST_URL_HEADER = 'X-Request-URL';\n/**\n * `text/plain` is a content type used to indicate that the content being\n * sent is plain text with no special formatting or structured data\n * like HTML, XML, or JSON.\n */\nconst TEXT_CONTENT_TYPE = 'text/plain';\n/**\n * `application/json` is a content type used to indicate that the content\n * being sent is in the JSON format.\n */\nconst JSON_CONTENT_TYPE = 'application/json';\n/**\n * `application/json, text/plain, *\\/*` is a content negotiation string often seen in the\n * Accept header of HTTP requests. It indicates the types of content the client is willing\n * to accept from the server, with a preference for `application/json` and `text/plain`,\n * but also accepting any other type (*\\/*).\n */\nconst ACCEPT_HEADER_VALUE = `${JSON_CONTENT_TYPE}, ${TEXT_CONTENT_TYPE}, */*`;\n/**\n * An outgoing HTTP request with an optional typed body.\n *\n * `HttpRequest` represents an outgoing request, including URL, method,\n * headers, body, and other request configuration options. Instances should be\n * assumed to be immutable. To modify a `HttpRequest`, the `clone`\n * method should be used.\n *\n * @publicApi\n */\nclass HttpRequest {\n  url;\n  /**\n   * The request body, or `null` if one isn't set.\n   *\n   * Bodies are not enforced to be immutable, as they can include a reference to any\n   * user-defined data type. However, interceptors should take care to preserve\n   * idempotence by treating them as such.\n   */\n  body = null;\n  /**\n   * Outgoing headers for this request.\n   */\n  headers;\n  /**\n   * Shared and mutable context that can be used by interceptors\n   */\n  context;\n  /**\n   * Whether this request should be made in a way that exposes progress events.\n   *\n   * Progress events are expensive (change detection runs on each event) and so\n   * they should only be requested if the consumer intends to monitor them.\n   *\n   * Note: The `FetchBackend` doesn't support progress report on uploads.\n   */\n  reportProgress = false;\n  /**\n   * Whether this request should be sent with outgoing credentials (cookies).\n   */\n  withCredentials = false;\n  /**\n   * The expected response type of the server.\n   *\n   * This is used to parse the response appropriately before returning it to\n   * the requestee.\n   */\n  responseType = 'json';\n  /**\n   * The outgoing HTTP request method.\n   */\n  method;\n  /**\n   * Outgoing URL parameters.\n   *\n   * To pass a string representation of HTTP parameters in the URL-query-string format,\n   * the `HttpParamsOptions`' `fromString` may be used. For example:\n   *\n   * ```ts\n   * new HttpParams({fromString: 'angular=awesome'})\n   * ```\n   */\n  params;\n  /**\n   * The outgoing URL with all URL parameters set.\n   */\n  urlWithParams;\n  /**\n   * The HttpTransferCache option for the request\n   */\n  transferCache;\n  constructor(method, url, third, fourth) {\n    this.url = url;\n    this.method = method.toUpperCase();\n    // Next, need to figure out which argument holds the HttpRequestInit\n    // options, if any.\n    let options;\n    // Check whether a body argument is expected. The only valid way to omit\n    // the body argument is to use a known no-body method like GET.\n    if (mightHaveBody(this.method) || !!fourth) {\n      // Body is the third argument, options are the fourth.\n      this.body = third !== undefined ? third : null;\n      options = fourth;\n    } else {\n      // No body required, options are the third argument. The body stays null.\n      options = third;\n    }\n    // If options have been passed, interpret them.\n    if (options) {\n      // Normalize reportProgress and withCredentials.\n      this.reportProgress = !!options.reportProgress;\n      this.withCredentials = !!options.withCredentials;\n      // Override default response type of 'json' if one is provided.\n      if (!!options.responseType) {\n        this.responseType = options.responseType;\n      }\n      // Override headers if they're provided.\n      if (!!options.headers) {\n        this.headers = options.headers;\n      }\n      if (!!options.context) {\n        this.context = options.context;\n      }\n      if (!!options.params) {\n        this.params = options.params;\n      }\n      // We do want to assign transferCache even if it's falsy (false is valid value)\n      this.transferCache = options.transferCache;\n    }\n    // If no headers have been passed in, construct a new HttpHeaders instance.\n    this.headers ??= new HttpHeaders();\n    // If no context have been passed in, construct a new HttpContext instance.\n    this.context ??= new HttpContext();\n    // If no parameters have been passed in, construct a new HttpUrlEncodedParams instance.\n    if (!this.params) {\n      this.params = new HttpParams();\n      this.urlWithParams = url;\n    } else {\n      // Encode the parameters to a string in preparation for inclusion in the URL.\n      const params = this.params.toString();\n      if (params.length === 0) {\n        // No parameters, the visible URL is just the URL given at creation time.\n        this.urlWithParams = url;\n      } else {\n        // Does the URL already have query parameters? Look for '?'.\n        const qIdx = url.indexOf('?');\n        // There are 3 cases to handle:\n        // 1) No existing parameters -> append '?' followed by params.\n        // 2) '?' exists and is followed by existing query string ->\n        //    append '&' followed by params.\n        // 3) '?' exists at the end of the url -> append params directly.\n        // This basically amounts to determining the character, if any, with\n        // which to join the URL and parameters.\n        const sep = qIdx === -1 ? '?' : qIdx < url.length - 1 ? '&' : '';\n        this.urlWithParams = url + sep + params;\n      }\n    }\n  }\n  /**\n   * Transform the free-form body into a serialized format suitable for\n   * transmission to the server.\n   */\n  serializeBody() {\n    // If no body is present, no need to serialize it.\n    if (this.body === null) {\n      return null;\n    }\n    // Check whether the body is already in a serialized form. If so,\n    // it can just be returned directly.\n    if (typeof this.body === 'string' || isArrayBuffer(this.body) || isBlob(this.body) || isFormData(this.body) || isUrlSearchParams(this.body)) {\n      return this.body;\n    }\n    // Check whether the body is an instance of HttpUrlEncodedParams.\n    if (this.body instanceof HttpParams) {\n      return this.body.toString();\n    }\n    // Check whether the body is an object or array, and serialize with JSON if so.\n    if (typeof this.body === 'object' || typeof this.body === 'boolean' || Array.isArray(this.body)) {\n      return JSON.stringify(this.body);\n    }\n    // Fall back on toString() for everything else.\n    return this.body.toString();\n  }\n  /**\n   * Examine the body and attempt to infer an appropriate MIME type\n   * for it.\n   *\n   * If no such type can be inferred, this method will return `null`.\n   */\n  detectContentTypeHeader() {\n    // An empty body has no content type.\n    if (this.body === null) {\n      return null;\n    }\n    // FormData bodies rely on the browser's content type assignment.\n    if (isFormData(this.body)) {\n      return null;\n    }\n    // Blobs usually have their own content type. If it doesn't, then\n    // no type can be inferred.\n    if (isBlob(this.body)) {\n      return this.body.type || null;\n    }\n    // Array buffers have unknown contents and thus no type can be inferred.\n    if (isArrayBuffer(this.body)) {\n      return null;\n    }\n    // Technically, strings could be a form of JSON data, but it's safe enough\n    // to assume they're plain strings.\n    if (typeof this.body === 'string') {\n      return TEXT_CONTENT_TYPE;\n    }\n    // `HttpUrlEncodedParams` has its own content-type.\n    if (this.body instanceof HttpParams) {\n      return 'application/x-www-form-urlencoded;charset=UTF-8';\n    }\n    // Arrays, objects, boolean and numbers will be encoded as JSON.\n    if (typeof this.body === 'object' || typeof this.body === 'number' || typeof this.body === 'boolean') {\n      return JSON_CONTENT_TYPE;\n    }\n    // No type could be inferred.\n    return null;\n  }\n  clone(update = {}) {\n    // For method, url, and responseType, take the current value unless\n    // it is overridden in the update hash.\n    const method = update.method || this.method;\n    const url = update.url || this.url;\n    const responseType = update.responseType || this.responseType;\n    // Carefully handle the transferCache to differentiate between\n    // `false` and `undefined` in the update args.\n    const transferCache = update.transferCache ?? this.transferCache;\n    // The body is somewhat special - a `null` value in update.body means\n    // whatever current body is present is being overridden with an empty\n    // body, whereas an `undefined` value in update.body implies no\n    // override.\n    const body = update.body !== undefined ? update.body : this.body;\n    // Carefully handle the boolean options to differentiate between\n    // `false` and `undefined` in the update args.\n    const withCredentials = update.withCredentials ?? this.withCredentials;\n    const reportProgress = update.reportProgress ?? this.reportProgress;\n    // Headers and params may be appended to if `setHeaders` or\n    // `setParams` are used.\n    let headers = update.headers || this.headers;\n    let params = update.params || this.params;\n    // Pass on context if needed\n    const context = update.context ?? this.context;\n    // Check whether the caller has asked to add headers.\n    if (update.setHeaders !== undefined) {\n      // Set every requested header.\n      headers = Object.keys(update.setHeaders).reduce((headers, name) => headers.set(name, update.setHeaders[name]), headers);\n    }\n    // Check whether the caller has asked to set params.\n    if (update.setParams) {\n      // Set every requested param.\n      params = Object.keys(update.setParams).reduce((params, param) => params.set(param, update.setParams[param]), params);\n    }\n    // Finally, construct the new HttpRequest using the pieces from above.\n    return new HttpRequest(method, url, body, {\n      params,\n      headers,\n      context,\n      reportProgress,\n      responseType,\n      withCredentials,\n      transferCache\n    });\n  }\n}\n\n/**\n * Type enumeration for the different kinds of `HttpEvent`.\n *\n * @publicApi\n */\nvar HttpEventType = /*#__PURE__*/function (HttpEventType) {\n  /**\n   * The request was sent out over the wire.\n   */\n  HttpEventType[HttpEventType[\"Sent\"] = 0] = \"Sent\";\n  /**\n   * An upload progress event was received.\n   *\n   * Note: The `FetchBackend` doesn't support progress report on uploads.\n   */\n  HttpEventType[HttpEventType[\"UploadProgress\"] = 1] = \"UploadProgress\";\n  /**\n   * The response status code and headers were received.\n   */\n  HttpEventType[HttpEventType[\"ResponseHeader\"] = 2] = \"ResponseHeader\";\n  /**\n   * A download progress event was received.\n   */\n  HttpEventType[HttpEventType[\"DownloadProgress\"] = 3] = \"DownloadProgress\";\n  /**\n   * The full response including the body was received.\n   */\n  HttpEventType[HttpEventType[\"Response\"] = 4] = \"Response\";\n  /**\n   * A custom event from an interceptor or a backend.\n   */\n  HttpEventType[HttpEventType[\"User\"] = 5] = \"User\";\n  return HttpEventType;\n}(HttpEventType || {});\n/**\n * Base class for both `HttpResponse` and `HttpHeaderResponse`.\n *\n * @publicApi\n */\nclass HttpResponseBase {\n  /**\n   * All response headers.\n   */\n  headers;\n  /**\n   * Response status code.\n   */\n  status;\n  /**\n   * Textual description of response status code, defaults to OK.\n   *\n   * Do not depend on this.\n   */\n  statusText;\n  /**\n   * URL of the resource retrieved, or null if not available.\n   */\n  url;\n  /**\n   * Whether the status code falls in the 2xx range.\n   */\n  ok;\n  /**\n   * Type of the response, narrowed to either the full response or the header.\n   */\n  type;\n  /**\n   * Super-constructor for all responses.\n   *\n   * The single parameter accepted is an initialization hash. Any properties\n   * of the response passed there will override the default values.\n   */\n  constructor(init, defaultStatus = 200, defaultStatusText = 'OK') {\n    // If the hash has values passed, use them to initialize the response.\n    // Otherwise use the default values.\n    this.headers = init.headers || new HttpHeaders();\n    this.status = init.status !== undefined ? init.status : defaultStatus;\n    this.statusText = init.statusText || defaultStatusText;\n    this.url = init.url || null;\n    // Cache the ok value to avoid defining a getter.\n    this.ok = this.status >= 200 && this.status < 300;\n  }\n}\n/**\n * A partial HTTP response which only includes the status and header data,\n * but no response body.\n *\n * `HttpHeaderResponse` is a `HttpEvent` available on the response\n * event stream, only when progress events are requested.\n *\n * @publicApi\n */\nclass HttpHeaderResponse extends HttpResponseBase {\n  /**\n   * Create a new `HttpHeaderResponse` with the given parameters.\n   */\n  constructor(init = {}) {\n    super(init);\n  }\n  type = HttpEventType.ResponseHeader;\n  /**\n   * Copy this `HttpHeaderResponse`, overriding its contents with the\n   * given parameter hash.\n   */\n  clone(update = {}) {\n    // Perform a straightforward initialization of the new HttpHeaderResponse,\n    // overriding the current parameters with new ones if given.\n    return new HttpHeaderResponse({\n      headers: update.headers || this.headers,\n      status: update.status !== undefined ? update.status : this.status,\n      statusText: update.statusText || this.statusText,\n      url: update.url || this.url || undefined\n    });\n  }\n}\n/**\n * A full HTTP response, including a typed response body (which may be `null`\n * if one was not returned).\n *\n * `HttpResponse` is a `HttpEvent` available on the response event\n * stream.\n *\n * @publicApi\n */\nclass HttpResponse extends HttpResponseBase {\n  /**\n   * The response body, or `null` if one was not returned.\n   */\n  body;\n  /**\n   * Construct a new `HttpResponse`.\n   */\n  constructor(init = {}) {\n    super(init);\n    this.body = init.body !== undefined ? init.body : null;\n  }\n  type = HttpEventType.Response;\n  clone(update = {}) {\n    return new HttpResponse({\n      body: update.body !== undefined ? update.body : this.body,\n      headers: update.headers || this.headers,\n      status: update.status !== undefined ? update.status : this.status,\n      statusText: update.statusText || this.statusText,\n      url: update.url || this.url || undefined\n    });\n  }\n}\n/**\n * A response that represents an error or failure, either from a\n * non-successful HTTP status, an error while executing the request,\n * or some other failure which occurred during the parsing of the response.\n *\n * Any error returned on the `Observable` response stream will be\n * wrapped in an `HttpErrorResponse` to provide additional context about\n * the state of the HTTP layer when the error occurred. The error property\n * will contain either a wrapped Error object or the error response returned\n * from the server.\n *\n * @publicApi\n */\nclass HttpErrorResponse extends HttpResponseBase {\n  name = 'HttpErrorResponse';\n  message;\n  error;\n  /**\n   * Errors are never okay, even when the status code is in the 2xx success range.\n   */\n  ok = false;\n  constructor(init) {\n    // Initialize with a default status of 0 / Unknown Error.\n    super(init, 0, 'Unknown Error');\n    // If the response was successful, then this was a parse error. Otherwise, it was\n    // a protocol-level failure of some sort. Either the request failed in transit\n    // or the server returned an unsuccessful status code.\n    if (this.status >= 200 && this.status < 300) {\n      this.message = `Http failure during parsing for ${init.url || '(unknown url)'}`;\n    } else {\n      this.message = `Http failure response for ${init.url || '(unknown url)'}: ${init.status} ${init.statusText}`;\n    }\n    this.error = init.error || null;\n  }\n}\n/**\n * We use these constant to prevent pulling the whole HttpStatusCode enum\n * Those are the only ones referenced directly by the framework\n */\nconst HTTP_STATUS_CODE_OK = 200;\nconst HTTP_STATUS_CODE_NO_CONTENT = 204;\n/**\n * Http status codes.\n * As per https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml\n * @publicApi\n */\nvar HttpStatusCode = /*#__PURE__*/function (HttpStatusCode) {\n  HttpStatusCode[HttpStatusCode[\"Continue\"] = 100] = \"Continue\";\n  HttpStatusCode[HttpStatusCode[\"SwitchingProtocols\"] = 101] = \"SwitchingProtocols\";\n  HttpStatusCode[HttpStatusCode[\"Processing\"] = 102] = \"Processing\";\n  HttpStatusCode[HttpStatusCode[\"EarlyHints\"] = 103] = \"EarlyHints\";\n  HttpStatusCode[HttpStatusCode[\"Ok\"] = 200] = \"Ok\";\n  HttpStatusCode[HttpStatusCode[\"Created\"] = 201] = \"Created\";\n  HttpStatusCode[HttpStatusCode[\"Accepted\"] = 202] = \"Accepted\";\n  HttpStatusCode[HttpStatusCode[\"NonAuthoritativeInformation\"] = 203] = \"NonAuthoritativeInformation\";\n  HttpStatusCode[HttpStatusCode[\"NoContent\"] = 204] = \"NoContent\";\n  HttpStatusCode[HttpStatusCode[\"ResetContent\"] = 205] = \"ResetContent\";\n  HttpStatusCode[HttpStatusCode[\"PartialContent\"] = 206] = \"PartialContent\";\n  HttpStatusCode[HttpStatusCode[\"MultiStatus\"] = 207] = \"MultiStatus\";\n  HttpStatusCode[HttpStatusCode[\"AlreadyReported\"] = 208] = \"AlreadyReported\";\n  HttpStatusCode[HttpStatusCode[\"ImUsed\"] = 226] = \"ImUsed\";\n  HttpStatusCode[HttpStatusCode[\"MultipleChoices\"] = 300] = \"MultipleChoices\";\n  HttpStatusCode[HttpStatusCode[\"MovedPermanently\"] = 301] = \"MovedPermanently\";\n  HttpStatusCode[HttpStatusCode[\"Found\"] = 302] = \"Found\";\n  HttpStatusCode[HttpStatusCode[\"SeeOther\"] = 303] = \"SeeOther\";\n  HttpStatusCode[HttpStatusCode[\"NotModified\"] = 304] = \"NotModified\";\n  HttpStatusCode[HttpStatusCode[\"UseProxy\"] = 305] = \"UseProxy\";\n  HttpStatusCode[HttpStatusCode[\"Unused\"] = 306] = \"Unused\";\n  HttpStatusCode[HttpStatusCode[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n  HttpStatusCode[HttpStatusCode[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n  HttpStatusCode[HttpStatusCode[\"BadRequest\"] = 400] = \"BadRequest\";\n  HttpStatusCode[HttpStatusCode[\"Unauthorized\"] = 401] = \"Unauthorized\";\n  HttpStatusCode[HttpStatusCode[\"PaymentRequired\"] = 402] = \"PaymentRequired\";\n  HttpStatusCode[HttpStatusCode[\"Forbidden\"] = 403] = \"Forbidden\";\n  HttpStatusCode[HttpStatusCode[\"NotFound\"] = 404] = \"NotFound\";\n  HttpStatusCode[HttpStatusCode[\"MethodNotAllowed\"] = 405] = \"MethodNotAllowed\";\n  HttpStatusCode[HttpStatusCode[\"NotAcceptable\"] = 406] = \"NotAcceptable\";\n  HttpStatusCode[HttpStatusCode[\"ProxyAuthenticationRequired\"] = 407] = \"ProxyAuthenticationRequired\";\n  HttpStatusCode[HttpStatusCode[\"RequestTimeout\"] = 408] = \"RequestTimeout\";\n  HttpStatusCode[HttpStatusCode[\"Conflict\"] = 409] = \"Conflict\";\n  HttpStatusCode[HttpStatusCode[\"Gone\"] = 410] = \"Gone\";\n  HttpStatusCode[HttpStatusCode[\"LengthRequired\"] = 411] = \"LengthRequired\";\n  HttpStatusCode[HttpStatusCode[\"PreconditionFailed\"] = 412] = \"PreconditionFailed\";\n  HttpStatusCode[HttpStatusCode[\"PayloadTooLarge\"] = 413] = \"PayloadTooLarge\";\n  HttpStatusCode[HttpStatusCode[\"UriTooLong\"] = 414] = \"UriTooLong\";\n  HttpStatusCode[HttpStatusCode[\"UnsupportedMediaType\"] = 415] = \"UnsupportedMediaType\";\n  HttpStatusCode[HttpStatusCode[\"RangeNotSatisfiable\"] = 416] = \"RangeNotSatisfiable\";\n  HttpStatusCode[HttpStatusCode[\"ExpectationFailed\"] = 417] = \"ExpectationFailed\";\n  HttpStatusCode[HttpStatusCode[\"ImATeapot\"] = 418] = \"ImATeapot\";\n  HttpStatusCode[HttpStatusCode[\"MisdirectedRequest\"] = 421] = \"MisdirectedRequest\";\n  HttpStatusCode[HttpStatusCode[\"UnprocessableEntity\"] = 422] = \"UnprocessableEntity\";\n  HttpStatusCode[HttpStatusCode[\"Locked\"] = 423] = \"Locked\";\n  HttpStatusCode[HttpStatusCode[\"FailedDependency\"] = 424] = \"FailedDependency\";\n  HttpStatusCode[HttpStatusCode[\"TooEarly\"] = 425] = \"TooEarly\";\n  HttpStatusCode[HttpStatusCode[\"UpgradeRequired\"] = 426] = \"UpgradeRequired\";\n  HttpStatusCode[HttpStatusCode[\"PreconditionRequired\"] = 428] = \"PreconditionRequired\";\n  HttpStatusCode[HttpStatusCode[\"TooManyRequests\"] = 429] = \"TooManyRequests\";\n  HttpStatusCode[HttpStatusCode[\"RequestHeaderFieldsTooLarge\"] = 431] = \"RequestHeaderFieldsTooLarge\";\n  HttpStatusCode[HttpStatusCode[\"UnavailableForLegalReasons\"] = 451] = \"UnavailableForLegalReasons\";\n  HttpStatusCode[HttpStatusCode[\"InternalServerError\"] = 500] = \"InternalServerError\";\n  HttpStatusCode[HttpStatusCode[\"NotImplemented\"] = 501] = \"NotImplemented\";\n  HttpStatusCode[HttpStatusCode[\"BadGateway\"] = 502] = \"BadGateway\";\n  HttpStatusCode[HttpStatusCode[\"ServiceUnavailable\"] = 503] = \"ServiceUnavailable\";\n  HttpStatusCode[HttpStatusCode[\"GatewayTimeout\"] = 504] = \"GatewayTimeout\";\n  HttpStatusCode[HttpStatusCode[\"HttpVersionNotSupported\"] = 505] = \"HttpVersionNotSupported\";\n  HttpStatusCode[HttpStatusCode[\"VariantAlsoNegotiates\"] = 506] = \"VariantAlsoNegotiates\";\n  HttpStatusCode[HttpStatusCode[\"InsufficientStorage\"] = 507] = \"InsufficientStorage\";\n  HttpStatusCode[HttpStatusCode[\"LoopDetected\"] = 508] = \"LoopDetected\";\n  HttpStatusCode[HttpStatusCode[\"NotExtended\"] = 510] = \"NotExtended\";\n  HttpStatusCode[HttpStatusCode[\"NetworkAuthenticationRequired\"] = 511] = \"NetworkAuthenticationRequired\";\n  return HttpStatusCode;\n}(HttpStatusCode || {});\n/**\n * Constructs an instance of `HttpRequestOptions<T>` from a source `HttpMethodOptions` and\n * the given `body`. This function clones the object and adds the body.\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n *\n */\nfunction addBody(options, body) {\n  return {\n    body,\n    headers: options.headers,\n    context: options.context,\n    observe: options.observe,\n    params: options.params,\n    reportProgress: options.reportProgress,\n    responseType: options.responseType,\n    withCredentials: options.withCredentials,\n    transferCache: options.transferCache\n  };\n}\n/**\n * Performs HTTP requests.\n * This service is available as an injectable class, with methods to perform HTTP requests.\n * Each request method has multiple signatures, and the return type varies based on\n * the signature that is called (mainly the values of `observe` and `responseType`).\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n *\n * @usageNotes\n *\n * ### HTTP Request Example\n *\n * ```ts\n *  // GET heroes whose name contains search term\n * searchHeroes(term: string): observable<Hero[]>{\n *\n *  const params = new HttpParams({fromString: 'name=term'});\n *    return this.httpClient.request('GET', this.heroesUrl, {responseType:'json', params});\n * }\n * ```\n *\n * Alternatively, the parameter string can be used without invoking HttpParams\n * by directly joining to the URL.\n * ```ts\n * this.httpClient.request('GET', this.heroesUrl + '?' + 'name=term', {responseType:'json'});\n * ```\n *\n *\n * ### JSONP Example\n * ```ts\n * requestJsonp(url, callback = 'callback') {\n *  return this.httpClient.jsonp(this.heroesURL, callback);\n * }\n * ```\n *\n * ### PATCH Example\n * ```ts\n * // PATCH one of the heroes' name\n * patchHero (id: number, heroName: string): Observable<{}> {\n * const url = `${this.heroesUrl}/${id}`;   // PATCH api/heroes/42\n *  return this.httpClient.patch(url, {name: heroName}, httpOptions)\n *    .pipe(catchError(this.handleError('patchHero')));\n * }\n * ```\n *\n * @see [HTTP Guide](guide/http)\n * @see [HTTP Request](api/common/http/HttpRequest)\n *\n * @publicApi\n */\nlet HttpClient = /*#__PURE__*/(() => {\n  class HttpClient {\n    handler;\n    constructor(handler) {\n      this.handler = handler;\n    }\n    /**\n     * Constructs an observable for a generic HTTP request that, when subscribed,\n     * fires the request through the chain of registered interceptors and on to the\n     * server.\n     *\n     * You can pass an `HttpRequest` directly as the only parameter. In this case,\n     * the call returns an observable of the raw `HttpEvent` stream.\n     *\n     * Alternatively you can pass an HTTP method as the first parameter,\n     * a URL string as the second, and an options hash containing the request body as the third.\n     * See `addBody()`. In this case, the specified `responseType` and `observe` options determine the\n     * type of returned observable.\n     *   * The `responseType` value determines how a successful response body is parsed.\n     *   * If `responseType` is the default `json`, you can pass a type interface for the resulting\n     * object as a type parameter to the call.\n     *\n     * The `observe` value determines the return type, according to what you are interested in\n     * observing.\n     *   * An `observe` value of events returns an observable of the raw `HttpEvent` stream, including\n     * progress events by default.\n     *   * An `observe` value of response returns an observable of `HttpResponse<T>`,\n     * where the `T` parameter depends on the `responseType` and any optionally provided type\n     * parameter.\n     *   * An `observe` value of body returns an observable of `<T>` with the same `T` body type.\n     *\n     */\n    request(first, url, options = {}) {\n      let req;\n      // First, check whether the primary argument is an instance of `HttpRequest`.\n      if (first instanceof HttpRequest) {\n        // It is. The other arguments must be undefined (per the signatures) and can be\n        // ignored.\n        req = first;\n      } else {\n        // It's a string, so it represents a URL. Construct a request based on it,\n        // and incorporate the remaining arguments (assuming `GET` unless a method is\n        // provided.\n        // Figure out the headers.\n        let headers = undefined;\n        if (options.headers instanceof HttpHeaders) {\n          headers = options.headers;\n        } else {\n          headers = new HttpHeaders(options.headers);\n        }\n        // Sort out parameters.\n        let params = undefined;\n        if (!!options.params) {\n          if (options.params instanceof HttpParams) {\n            params = options.params;\n          } else {\n            params = new HttpParams({\n              fromObject: options.params\n            });\n          }\n        }\n        // Construct the request.\n        req = new HttpRequest(first, url, options.body !== undefined ? options.body : null, {\n          headers,\n          context: options.context,\n          params,\n          reportProgress: options.reportProgress,\n          // By default, JSON is assumed to be returned for all calls.\n          responseType: options.responseType || 'json',\n          withCredentials: options.withCredentials,\n          transferCache: options.transferCache\n        });\n      }\n      // Start with an Observable.of() the initial request, and run the handler (which\n      // includes all interceptors) inside a concatMap(). This way, the handler runs\n      // inside an Observable chain, which causes interceptors to be re-run on every\n      // subscription (this also makes retries re-run the handler, including interceptors).\n      const events$ = of(req).pipe(concatMap(req => this.handler.handle(req)));\n      // If coming via the API signature which accepts a previously constructed HttpRequest,\n      // the only option is to get the event stream. Otherwise, return the event stream if\n      // that is what was requested.\n      if (first instanceof HttpRequest || options.observe === 'events') {\n        return events$;\n      }\n      // The requested stream contains either the full response or the body. In either\n      // case, the first step is to filter the event stream to extract a stream of\n      // responses(s).\n      const res$ = events$.pipe(filter(event => event instanceof HttpResponse));\n      // Decide which stream to return.\n      switch (options.observe || 'body') {\n        case 'body':\n          // The requested stream is the body. Map the response stream to the response\n          // body. This could be done more simply, but a misbehaving interceptor might\n          // transform the response body into a different format and ignore the requested\n          // responseType. Guard against this by validating that the response is of the\n          // requested type.\n          switch (req.responseType) {\n            case 'arraybuffer':\n              return res$.pipe(map(res => {\n                // Validate that the body is an ArrayBuffer.\n                if (res.body !== null && !(res.body instanceof ArrayBuffer)) {\n                  throw new _RuntimeError(2806 /* RuntimeErrorCode.RESPONSE_IS_NOT_AN_ARRAY_BUFFER */, ngDevMode && 'Response is not an ArrayBuffer.');\n                }\n                return res.body;\n              }));\n            case 'blob':\n              return res$.pipe(map(res => {\n                // Validate that the body is a Blob.\n                if (res.body !== null && !(res.body instanceof Blob)) {\n                  throw new _RuntimeError(2807 /* RuntimeErrorCode.RESPONSE_IS_NOT_A_BLOB */, ngDevMode && 'Response is not a Blob.');\n                }\n                return res.body;\n              }));\n            case 'text':\n              return res$.pipe(map(res => {\n                // Validate that the body is a string.\n                if (res.body !== null && typeof res.body !== 'string') {\n                  throw new _RuntimeError(2808 /* RuntimeErrorCode.RESPONSE_IS_NOT_A_STRING */, ngDevMode && 'Response is not a string.');\n                }\n                return res.body;\n              }));\n            case 'json':\n            default:\n              // No validation needed for JSON responses, as they can be of any type.\n              return res$.pipe(map(res => res.body));\n          }\n        case 'response':\n          // The response stream was requested directly, so return it.\n          return res$;\n        default:\n          // Guard against new future observe types being added.\n          throw new _RuntimeError(2809 /* RuntimeErrorCode.UNHANDLED_OBSERVE_TYPE */, ngDevMode && `Unreachable: unhandled observe type ${options.observe}}`);\n      }\n    }\n    /**\n     * Constructs an observable that, when subscribed, causes the configured\n     * `DELETE` request to execute on the server. See the individual overloads for\n     * details on the return type.\n     *\n     * @param url     The endpoint URL.\n     * @param options The HTTP options to send with the request.\n     *\n     */\n    delete(url, options = {}) {\n      return this.request('DELETE', url, options);\n    }\n    /**\n     * Constructs an observable that, when subscribed, causes the configured\n     * `GET` request to execute on the server. See the individual overloads for\n     * details on the return type.\n     */\n    get(url, options = {}) {\n      return this.request('GET', url, options);\n    }\n    /**\n     * Constructs an observable that, when subscribed, causes the configured\n     * `HEAD` request to execute on the server. The `HEAD` method returns\n     * meta information about the resource without transferring the\n     * resource itself. See the individual overloads for\n     * details on the return type.\n     */\n    head(url, options = {}) {\n      return this.request('HEAD', url, options);\n    }\n    /**\n     * Constructs an `Observable` that, when subscribed, causes a request with the special method\n     * `JSONP` to be dispatched via the interceptor pipeline.\n     * The [JSONP pattern](https://en.wikipedia.org/wiki/JSONP) works around limitations of certain\n     * API endpoints that don't support newer,\n     * and preferable [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) protocol.\n     * JSONP treats the endpoint API as a JavaScript file and tricks the browser to process the\n     * requests even if the API endpoint is not located on the same domain (origin) as the client-side\n     * application making the request.\n     * The endpoint API must support JSONP callback for JSONP requests to work.\n     * The resource API returns the JSON response wrapped in a callback function.\n     * You can pass the callback function name as one of the query parameters.\n     * Note that JSONP requests can only be used with `GET` requests.\n     *\n     * @param url The resource URL.\n     * @param callbackParam The callback function name.\n     *\n     */\n    jsonp(url, callbackParam) {\n      return this.request('JSONP', url, {\n        params: new HttpParams().append(callbackParam, 'JSONP_CALLBACK'),\n        observe: 'body',\n        responseType: 'json'\n      });\n    }\n    /**\n     * Constructs an `Observable` that, when subscribed, causes the configured\n     * `OPTIONS` request to execute on the server. This method allows the client\n     * to determine the supported HTTP methods and other capabilities of an endpoint,\n     * without implying a resource action. See the individual overloads for\n     * details on the return type.\n     */\n    options(url, options = {}) {\n      return this.request('OPTIONS', url, options);\n    }\n    /**\n     * Constructs an observable that, when subscribed, causes the configured\n     * `PATCH` request to execute on the server. See the individual overloads for\n     * details on the return type.\n     */\n    patch(url, body, options = {}) {\n      return this.request('PATCH', url, addBody(options, body));\n    }\n    /**\n     * Constructs an observable that, when subscribed, causes the configured\n     * `POST` request to execute on the server. The server responds with the location of\n     * the replaced resource. See the individual overloads for\n     * details on the return type.\n     */\n    post(url, body, options = {}) {\n      return this.request('POST', url, addBody(options, body));\n    }\n    /**\n     * Constructs an observable that, when subscribed, causes the configured\n     * `PUT` request to execute on the server. The `PUT` method replaces an existing resource\n     * with a new set of values.\n     * See the individual overloads for details on the return type.\n     */\n    put(url, body, options = {}) {\n      return this.request('PUT', url, addBody(options, body));\n    }\n    static ɵfac = function HttpClient_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || HttpClient)(i0.ɵɵinject(HttpHandler));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: HttpClient,\n      factory: HttpClient.ɵfac\n    });\n  }\n  return HttpClient;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst XSSI_PREFIX$1 = /^\\)\\]\\}',?\\n/;\n/**\n * Determine an appropriate URL for the response, by checking either\n * response url or the X-Request-URL header.\n */\nfunction getResponseUrl$1(response) {\n  if (response.url) {\n    return response.url;\n  }\n  // stored as lowercase in the map\n  const xRequestUrl = X_REQUEST_URL_HEADER.toLocaleLowerCase();\n  return response.headers.get(xRequestUrl);\n}\n/**\n * An internal injection token to reference `FetchBackend` implementation\n * in a tree-shakable way.\n */\nconst FETCH_BACKEND = /*#__PURE__*/new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'FETCH_BACKEND' : '');\n/**\n * Uses `fetch` to send requests to a backend server.\n *\n * This `FetchBackend` requires the support of the\n * [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) which is available on all\n * supported browsers and on Node.js v18 or later.\n *\n * @see {@link HttpHandler}\n *\n * @publicApi\n */\nlet FetchBackend = /*#__PURE__*/(() => {\n  class FetchBackend {\n    // We use an arrow function to always reference the current global implementation of `fetch`.\n    // This is helpful for cases when the global `fetch` implementation is modified by external code,\n    // see https://github.com/angular/angular/issues/57527.\n    fetchImpl = inject(FetchFactory, {\n      optional: true\n    })?.fetch ?? ((...args) => globalThis.fetch(...args));\n    ngZone = inject(NgZone);\n    destroyRef = inject(DestroyRef);\n    destroyed = false;\n    constructor() {\n      this.destroyRef.onDestroy(() => {\n        this.destroyed = true;\n      });\n    }\n    handle(request) {\n      return new Observable(observer => {\n        const aborter = new AbortController();\n        this.doRequest(request, aborter.signal, observer).then(noop, error => observer.error(new HttpErrorResponse({\n          error\n        })));\n        return () => aborter.abort();\n      });\n    }\n    async doRequest(request, signal, observer) {\n      const init = this.createRequestInit(request);\n      let response;\n      try {\n        // Run fetch outside of Angular zone.\n        // This is due to Node.js fetch implementation (Undici) which uses a number of setTimeouts to check if\n        // the response should eventually timeout which causes extra CD cycles every 500ms\n        const fetchPromise = this.ngZone.runOutsideAngular(() => this.fetchImpl(request.urlWithParams, {\n          signal,\n          ...init\n        }));\n        // Make sure Zone.js doesn't trigger false-positive unhandled promise\n        // error in case the Promise is rejected synchronously. See function\n        // description for additional information.\n        silenceSuperfluousUnhandledPromiseRejection(fetchPromise);\n        // Send the `Sent` event before awaiting the response.\n        observer.next({\n          type: HttpEventType.Sent\n        });\n        response = await fetchPromise;\n      } catch (error) {\n        observer.error(new HttpErrorResponse({\n          error,\n          status: error.status ?? 0,\n          statusText: error.statusText,\n          url: request.urlWithParams,\n          headers: error.headers\n        }));\n        return;\n      }\n      const headers = new HttpHeaders(response.headers);\n      const statusText = response.statusText;\n      const url = getResponseUrl$1(response) ?? request.urlWithParams;\n      let status = response.status;\n      let body = null;\n      if (request.reportProgress) {\n        observer.next(new HttpHeaderResponse({\n          headers,\n          status,\n          statusText,\n          url\n        }));\n      }\n      if (response.body) {\n        // Read Progress\n        const contentLength = response.headers.get('content-length');\n        const chunks = [];\n        const reader = response.body.getReader();\n        let receivedLength = 0;\n        let decoder;\n        let partialText;\n        // We have to check whether the Zone is defined in the global scope because this may be called\n        // when the zone is nooped.\n        const reqZone = typeof Zone !== 'undefined' && Zone.current;\n        let canceled = false;\n        // Perform response processing outside of Angular zone to\n        // ensure no excessive change detection runs are executed\n        // Here calling the async ReadableStreamDefaultReader.read() is responsible for triggering CD\n        await this.ngZone.runOutsideAngular(async () => {\n          while (true) {\n            // Prevent reading chunks if the app is destroyed. Otherwise, we risk doing\n            // unnecessary work or triggering side effects after teardown.\n            // This may happen if the app was explicitly destroyed before\n            // the response returned entirely.\n            if (this.destroyed) {\n              // Streams left in a pending state (due to `break` without cancel) may\n              // continue consuming or holding onto data behind the scenes.\n              // Calling `reader.cancel()` allows the browser or the underlying\n              // system to release any network or memory resources associated with the stream.\n              await reader.cancel();\n              canceled = true;\n              break;\n            }\n            const {\n              done,\n              value\n            } = await reader.read();\n            if (done) {\n              break;\n            }\n            chunks.push(value);\n            receivedLength += value.length;\n            if (request.reportProgress) {\n              partialText = request.responseType === 'text' ? (partialText ?? '') + (decoder ??= new TextDecoder()).decode(value, {\n                stream: true\n              }) : undefined;\n              const reportProgress = () => observer.next({\n                type: HttpEventType.DownloadProgress,\n                total: contentLength ? +contentLength : undefined,\n                loaded: receivedLength,\n                partialText\n              });\n              reqZone ? reqZone.run(reportProgress) : reportProgress();\n            }\n          }\n        });\n        // We need to manage the canceled state — because the Streams API does not\n        // expose a direct `.state` property on the reader.\n        // We need to `return` because `parseBody` may not be able to parse chunks\n        // that were only partially read (due to cancellation caused by app destruction).\n        if (canceled) {\n          observer.complete();\n          return;\n        }\n        // Combine all chunks.\n        const chunksAll = this.concatChunks(chunks, receivedLength);\n        try {\n          const contentType = response.headers.get(CONTENT_TYPE_HEADER) ?? '';\n          body = this.parseBody(request, chunksAll, contentType);\n        } catch (error) {\n          // Body loading or parsing failed\n          observer.error(new HttpErrorResponse({\n            error,\n            headers: new HttpHeaders(response.headers),\n            status: response.status,\n            statusText: response.statusText,\n            url: getResponseUrl$1(response) ?? request.urlWithParams\n          }));\n          return;\n        }\n      }\n      // Same behavior as the XhrBackend\n      if (status === 0) {\n        status = body ? HTTP_STATUS_CODE_OK : 0;\n      }\n      // ok determines whether the response will be transmitted on the event or\n      // error channel. Unsuccessful status codes (not 2xx) will always be errors,\n      // but a successful status code can still result in an error if the user\n      // asked for JSON data and the body cannot be parsed as such.\n      const ok = status >= 200 && status < 300;\n      if (ok) {\n        observer.next(new HttpResponse({\n          body,\n          headers,\n          status,\n          statusText,\n          url\n        }));\n        // The full body has been received and delivered, no further events\n        // are possible. This request is complete.\n        observer.complete();\n      } else {\n        observer.error(new HttpErrorResponse({\n          error: body,\n          headers,\n          status,\n          statusText,\n          url\n        }));\n      }\n    }\n    parseBody(request, binContent, contentType) {\n      switch (request.responseType) {\n        case 'json':\n          // stripping the XSSI when present\n          const text = new TextDecoder().decode(binContent).replace(XSSI_PREFIX$1, '');\n          return text === '' ? null : JSON.parse(text);\n        case 'text':\n          return new TextDecoder().decode(binContent);\n        case 'blob':\n          return new Blob([binContent], {\n            type: contentType\n          });\n        case 'arraybuffer':\n          return binContent.buffer;\n      }\n    }\n    createRequestInit(req) {\n      // We could share some of this logic with the XhrBackend\n      const headers = {};\n      const credentials = req.withCredentials ? 'include' : undefined;\n      // Setting all the requested headers.\n      req.headers.forEach((name, values) => headers[name] = values.join(','));\n      // Add an Accept header if one isn't present already.\n      if (!req.headers.has(ACCEPT_HEADER)) {\n        headers[ACCEPT_HEADER] = ACCEPT_HEADER_VALUE;\n      }\n      // Auto-detect the Content-Type header if one isn't present already.\n      if (!req.headers.has(CONTENT_TYPE_HEADER)) {\n        const detectedType = req.detectContentTypeHeader();\n        // Sometimes Content-Type detection fails.\n        if (detectedType !== null) {\n          headers[CONTENT_TYPE_HEADER] = detectedType;\n        }\n      }\n      return {\n        body: req.serializeBody(),\n        method: req.method,\n        headers,\n        credentials\n      };\n    }\n    concatChunks(chunks, totalLength) {\n      const chunksAll = new Uint8Array(totalLength);\n      let position = 0;\n      for (const chunk of chunks) {\n        chunksAll.set(chunk, position);\n        position += chunk.length;\n      }\n      return chunksAll;\n    }\n    static ɵfac = function FetchBackend_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || FetchBackend)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: FetchBackend,\n      factory: FetchBackend.ɵfac\n    });\n  }\n  return FetchBackend;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Abstract class to provide a mocked implementation of `fetch()`\n */\nclass FetchFactory {}\nfunction noop() {}\n/**\n * Zone.js treats a rejected promise that has not yet been awaited\n * as an unhandled error. This function adds a noop `.then` to make\n * sure that Zone.js doesn't throw an error if the Promise is rejected\n * synchronously.\n */\nfunction silenceSuperfluousUnhandledPromiseRejection(promise) {\n  promise.then(noop, noop);\n}\nfunction interceptorChainEndFn(req, finalHandlerFn) {\n  return finalHandlerFn(req);\n}\n/**\n * Constructs a `ChainedInterceptorFn` which adapts a legacy `HttpInterceptor` to the\n * `ChainedInterceptorFn` interface.\n */\nfunction adaptLegacyInterceptorToChain(chainTailFn, interceptor) {\n  return (initialRequest, finalHandlerFn) => interceptor.intercept(initialRequest, {\n    handle: downstreamRequest => chainTailFn(downstreamRequest, finalHandlerFn)\n  });\n}\n/**\n * Constructs a `ChainedInterceptorFn` which wraps and invokes a functional interceptor in the given\n * injector.\n */\nfunction chainedInterceptorFn(chainTailFn, interceptorFn, injector) {\n  return (initialRequest, finalHandlerFn) => runInInjectionContext(injector, () => interceptorFn(initialRequest, downstreamRequest => chainTailFn(downstreamRequest, finalHandlerFn)));\n}\n/**\n * A multi-provider token that represents the array of registered\n * `HttpInterceptor` objects.\n *\n * @publicApi\n */\nconst HTTP_INTERCEPTORS = /*#__PURE__*/new InjectionToken(ngDevMode ? 'HTTP_INTERCEPTORS' : '');\n/**\n * A multi-provided token of `HttpInterceptorFn`s.\n */\nconst HTTP_INTERCEPTOR_FNS = /*#__PURE__*/new InjectionToken(ngDevMode ? 'HTTP_INTERCEPTOR_FNS' : '');\n/**\n * A multi-provided token of `HttpInterceptorFn`s that are only set in root.\n */\nconst HTTP_ROOT_INTERCEPTOR_FNS = /*#__PURE__*/new InjectionToken(ngDevMode ? 'HTTP_ROOT_INTERCEPTOR_FNS' : '');\n// TODO(atscott): We need a larger discussion about stability and what should contribute to stability.\n// Should the whole interceptor chain contribute to stability or just the backend request #55075?\n// Should HttpClient contribute to stability automatically at all?\nconst REQUESTS_CONTRIBUTE_TO_STABILITY = /*#__PURE__*/new InjectionToken(ngDevMode ? 'REQUESTS_CONTRIBUTE_TO_STABILITY' : '', {\n  providedIn: 'root',\n  factory: () => true\n});\n/**\n * Creates an `HttpInterceptorFn` which lazily initializes an interceptor chain from the legacy\n * class-based interceptors and runs the request through it.\n */\nfunction legacyInterceptorFnFactory() {\n  let chain = null;\n  return (req, handler) => {\n    if (chain === null) {\n      const interceptors = inject(HTTP_INTERCEPTORS, {\n        optional: true\n      }) ?? [];\n      // Note: interceptors are wrapped right-to-left so that final execution order is\n      // left-to-right. That is, if `interceptors` is the array `[a, b, c]`, we want to\n      // produce a chain that is conceptually `c(b(a(end)))`, which we build from the inside\n      // out.\n      chain = interceptors.reduceRight(adaptLegacyInterceptorToChain, interceptorChainEndFn);\n    }\n    const pendingTasks = inject(_PendingTasksInternal);\n    const contributeToStability = inject(REQUESTS_CONTRIBUTE_TO_STABILITY);\n    if (contributeToStability) {\n      const taskId = pendingTasks.add();\n      return chain(req, handler).pipe(finalize(() => pendingTasks.remove(taskId)));\n    } else {\n      return chain(req, handler);\n    }\n  };\n}\nlet fetchBackendWarningDisplayed = false;\nlet HttpInterceptorHandler = /*#__PURE__*/(() => {\n  class HttpInterceptorHandler extends HttpHandler {\n    backend;\n    injector;\n    chain = null;\n    pendingTasks = inject(_PendingTasksInternal);\n    contributeToStability = inject(REQUESTS_CONTRIBUTE_TO_STABILITY);\n    constructor(backend, injector) {\n      super();\n      this.backend = backend;\n      this.injector = injector;\n      // We strongly recommend using fetch backend for HTTP calls when SSR is used\n      // for an application. The logic below checks if that's the case and produces\n      // a warning otherwise.\n      if ((typeof ngDevMode === 'undefined' || ngDevMode) && !fetchBackendWarningDisplayed) {\n        const isServer = isPlatformServer(injector.get(PLATFORM_ID));\n        // This flag is necessary because provideHttpClientTesting() overrides the backend\n        // even if `withFetch()` is used within the test. When the testing HTTP backend is provided,\n        // no HTTP calls are actually performed during the test, so producing a warning would be\n        // misleading.\n        const isTestingBackend = this.backend.isTestingBackend;\n        if (isServer && !(this.backend instanceof FetchBackend) && !isTestingBackend) {\n          fetchBackendWarningDisplayed = true;\n          injector.get(_Console).warn(_formatRuntimeError(2801 /* RuntimeErrorCode.NOT_USING_FETCH_BACKEND_IN_SSR */, 'Angular detected that `HttpClient` is not configured ' + \"to use `fetch` APIs. It's strongly recommended to \" + 'enable `fetch` for applications that use Server-Side Rendering ' + 'for better performance and compatibility. ' + 'To enable `fetch`, add the `withFetch()` to the `provideHttpClient()` ' + 'call at the root of the application.'));\n        }\n      }\n    }\n    handle(initialRequest) {\n      if (this.chain === null) {\n        const dedupedInterceptorFns = Array.from(new Set([...this.injector.get(HTTP_INTERCEPTOR_FNS), ...this.injector.get(HTTP_ROOT_INTERCEPTOR_FNS, [])]));\n        // Note: interceptors are wrapped right-to-left so that final execution order is\n        // left-to-right. That is, if `dedupedInterceptorFns` is the array `[a, b, c]`, we want to\n        // produce a chain that is conceptually `c(b(a(end)))`, which we build from the inside\n        // out.\n        this.chain = dedupedInterceptorFns.reduceRight((nextSequencedFn, interceptorFn) => chainedInterceptorFn(nextSequencedFn, interceptorFn, this.injector), interceptorChainEndFn);\n      }\n      if (this.contributeToStability) {\n        const taskId = this.pendingTasks.add();\n        return this.chain(initialRequest, downstreamRequest => this.backend.handle(downstreamRequest)).pipe(finalize(() => this.pendingTasks.remove(taskId)));\n      } else {\n        return this.chain(initialRequest, downstreamRequest => this.backend.handle(downstreamRequest));\n      }\n    }\n    static ɵfac = function HttpInterceptorHandler_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || HttpInterceptorHandler)(i0.ɵɵinject(HttpBackend), i0.ɵɵinject(i0.EnvironmentInjector));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: HttpInterceptorHandler,\n      factory: HttpInterceptorHandler.ɵfac\n    });\n  }\n  return HttpInterceptorHandler;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// Every request made through JSONP needs a callback name that's unique across the\n// whole page. Each request is assigned an id and the callback name is constructed\n// from that. The next id to be assigned is tracked in a global variable here that\n// is shared among all applications on the page.\nlet nextRequestId = 0;\n/**\n * When a pending <script> is unsubscribed we'll move it to this document, so it won't be\n * executed.\n */\nlet foreignDocument;\n// Error text given when a JSONP script is injected, but doesn't invoke the callback\n// passed in its URL.\nconst JSONP_ERR_NO_CALLBACK = 'JSONP injected script did not invoke callback.';\n// Error text given when a request is passed to the JsonpClientBackend that doesn't\n// have a request method JSONP.\nconst JSONP_ERR_WRONG_METHOD = 'JSONP requests must use JSONP request method.';\nconst JSONP_ERR_WRONG_RESPONSE_TYPE = 'JSONP requests must use Json response type.';\n// Error text given when a request is passed to the JsonpClientBackend that has\n// headers set\nconst JSONP_ERR_HEADERS_NOT_SUPPORTED = 'JSONP requests do not support headers.';\n/**\n * DI token/abstract type representing a map of JSONP callbacks.\n *\n * In the browser, this should always be the `window` object.\n *\n *\n */\nclass JsonpCallbackContext {}\n/**\n * Factory function that determines where to store JSONP callbacks.\n *\n * Ordinarily JSONP callbacks are stored on the `window` object, but this may not exist\n * in test environments. In that case, callbacks are stored on an anonymous object instead.\n *\n *\n */\nfunction jsonpCallbackContext() {\n  if (typeof window === 'object') {\n    return window;\n  }\n  return {};\n}\n/**\n * Processes an `HttpRequest` with the JSONP method,\n * by performing JSONP style requests.\n * @see {@link HttpHandler}\n * @see {@link HttpXhrBackend}\n *\n * @publicApi\n */\nlet JsonpClientBackend = /*#__PURE__*/(() => {\n  class JsonpClientBackend {\n    callbackMap;\n    document;\n    /**\n     * A resolved promise that can be used to schedule microtasks in the event handlers.\n     */\n    resolvedPromise = Promise.resolve();\n    constructor(callbackMap, document) {\n      this.callbackMap = callbackMap;\n      this.document = document;\n    }\n    /**\n     * Get the name of the next callback method, by incrementing the global `nextRequestId`.\n     */\n    nextCallback() {\n      return `ng_jsonp_callback_${nextRequestId++}`;\n    }\n    /**\n     * Processes a JSONP request and returns an event stream of the results.\n     * @param req The request object.\n     * @returns An observable of the response events.\n     *\n     */\n    handle(req) {\n      // Firstly, check both the method and response type. If either doesn't match\n      // then the request was improperly routed here and cannot be handled.\n      if (req.method !== 'JSONP') {\n        throw new Error(JSONP_ERR_WRONG_METHOD);\n      } else if (req.responseType !== 'json') {\n        throw new Error(JSONP_ERR_WRONG_RESPONSE_TYPE);\n      }\n      // Check the request headers. JSONP doesn't support headers and\n      // cannot set any that were supplied.\n      if (req.headers.keys().length > 0) {\n        throw new Error(JSONP_ERR_HEADERS_NOT_SUPPORTED);\n      }\n      // Everything else happens inside the Observable boundary.\n      return new Observable(observer => {\n        // The first step to make a request is to generate the callback name, and replace the\n        // callback placeholder in the URL with the name. Care has to be taken here to ensure\n        // a trailing &, if matched, gets inserted back into the URL in the correct place.\n        const callback = this.nextCallback();\n        const url = req.urlWithParams.replace(/=JSONP_CALLBACK(&|$)/, `=${callback}$1`);\n        // Construct the <script> tag and point it at the URL.\n        const node = this.document.createElement('script');\n        node.src = url;\n        // A JSONP request requires waiting for multiple callbacks. These variables\n        // are closed over and track state across those callbacks.\n        // The response object, if one has been received, or null otherwise.\n        let body = null;\n        // Whether the response callback has been called.\n        let finished = false;\n        // Set the response callback in this.callbackMap (which will be the window\n        // object in the browser. The script being loaded via the <script> tag will\n        // eventually call this callback.\n        this.callbackMap[callback] = data => {\n          // Data has been received from the JSONP script. Firstly, delete this callback.\n          delete this.callbackMap[callback];\n          // Set state to indicate data was received.\n          body = data;\n          finished = true;\n        };\n        // cleanup() is a utility closure that removes the <script> from the page and\n        // the response callback from the window. This logic is used in both the\n        // success, error, and cancellation paths, so it's extracted out for convenience.\n        const cleanup = () => {\n          node.removeEventListener('load', onLoad);\n          node.removeEventListener('error', onError);\n          // Remove the <script> tag if it's still on the page.\n          node.remove();\n          // Remove the response callback from the callbackMap (window object in the\n          // browser).\n          delete this.callbackMap[callback];\n        };\n        // onLoad() is the success callback which runs after the response callback\n        // if the JSONP script loads successfully. The event itself is unimportant.\n        // If something went wrong, onLoad() may run without the response callback\n        // having been invoked.\n        const onLoad = event => {\n          // We wrap it in an extra Promise, to ensure the microtask\n          // is scheduled after the loaded endpoint has executed any potential microtask itself,\n          // which is not guaranteed in Internet Explorer and EdgeHTML. See issue #39496\n          this.resolvedPromise.then(() => {\n            // Cleanup the page.\n            cleanup();\n            // Check whether the response callback has run.\n            if (!finished) {\n              // It hasn't, something went wrong with the request. Return an error via\n              // the Observable error path. All JSONP errors have status 0.\n              observer.error(new HttpErrorResponse({\n                url,\n                status: 0,\n                statusText: 'JSONP Error',\n                error: new Error(JSONP_ERR_NO_CALLBACK)\n              }));\n              return;\n            }\n            // Success. body either contains the response body or null if none was\n            // returned.\n            observer.next(new HttpResponse({\n              body,\n              status: HTTP_STATUS_CODE_OK,\n              statusText: 'OK',\n              url\n            }));\n            // Complete the stream, the response is over.\n            observer.complete();\n          });\n        };\n        // onError() is the error callback, which runs if the script returned generates\n        // a Javascript error. It emits the error via the Observable error channel as\n        // a HttpErrorResponse.\n        const onError = error => {\n          cleanup();\n          // Wrap the error in a HttpErrorResponse.\n          observer.error(new HttpErrorResponse({\n            error,\n            status: 0,\n            statusText: 'JSONP Error',\n            url\n          }));\n        };\n        // Subscribe to both the success (load) and error events on the <script> tag,\n        // and add it to the page.\n        node.addEventListener('load', onLoad);\n        node.addEventListener('error', onError);\n        this.document.body.appendChild(node);\n        // The request has now been successfully sent.\n        observer.next({\n          type: HttpEventType.Sent\n        });\n        // Cancellation handler.\n        return () => {\n          if (!finished) {\n            this.removeListeners(node);\n          }\n          // And finally, clean up the page.\n          cleanup();\n        };\n      });\n    }\n    removeListeners(script) {\n      // Issue #34818\n      // Changing <script>'s ownerDocument will prevent it from execution.\n      // https://html.spec.whatwg.org/multipage/scripting.html#execute-the-script-block\n      foreignDocument ??= this.document.implementation.createHTMLDocument();\n      foreignDocument.adoptNode(script);\n    }\n    static ɵfac = function JsonpClientBackend_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || JsonpClientBackend)(i0.ɵɵinject(JsonpCallbackContext), i0.ɵɵinject(DOCUMENT));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: JsonpClientBackend,\n      factory: JsonpClientBackend.ɵfac\n    });\n  }\n  return JsonpClientBackend;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Identifies requests with the method JSONP and shifts them to the `JsonpClientBackend`.\n */\nfunction jsonpInterceptorFn(req, next) {\n  if (req.method === 'JSONP') {\n    return inject(JsonpClientBackend).handle(req);\n  }\n  // Fall through for normal HTTP requests.\n  return next(req);\n}\n/**\n * Identifies requests with the method JSONP and\n * shifts them to the `JsonpClientBackend`.\n *\n * @see {@link HttpInterceptor}\n *\n * @publicApi\n */\nlet JsonpInterceptor = /*#__PURE__*/(() => {\n  class JsonpInterceptor {\n    injector;\n    constructor(injector) {\n      this.injector = injector;\n    }\n    /**\n     * Identifies and handles a given JSONP request.\n     * @param initialRequest The outgoing request object to handle.\n     * @param next The next interceptor in the chain, or the backend\n     * if no interceptors remain in the chain.\n     * @returns An observable of the event stream.\n     */\n    intercept(initialRequest, next) {\n      return runInInjectionContext(this.injector, () => jsonpInterceptorFn(initialRequest, downstreamRequest => next.handle(downstreamRequest)));\n    }\n    static ɵfac = function JsonpInterceptor_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || JsonpInterceptor)(i0.ɵɵinject(i0.EnvironmentInjector));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: JsonpInterceptor,\n      factory: JsonpInterceptor.ɵfac\n    });\n  }\n  return JsonpInterceptor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst XSSI_PREFIX = /^\\)\\]\\}',?\\n/;\nconst X_REQUEST_URL_REGEXP = /*#__PURE__*/RegExp(`^${X_REQUEST_URL_HEADER}:`, 'm');\n/**\n * Determine an appropriate URL for the response, by checking either\n * XMLHttpRequest.responseURL or the X-Request-URL header.\n */\nfunction getResponseUrl(xhr) {\n  if ('responseURL' in xhr && xhr.responseURL) {\n    return xhr.responseURL;\n  }\n  if (X_REQUEST_URL_REGEXP.test(xhr.getAllResponseHeaders())) {\n    return xhr.getResponseHeader(X_REQUEST_URL_HEADER);\n  }\n  return null;\n}\n/**\n * Uses `XMLHttpRequest` to send requests to a backend server.\n * @see {@link HttpHandler}\n * @see {@link JsonpClientBackend}\n *\n * @publicApi\n */\nlet HttpXhrBackend = /*#__PURE__*/(() => {\n  class HttpXhrBackend {\n    xhrFactory;\n    constructor(xhrFactory) {\n      this.xhrFactory = xhrFactory;\n    }\n    /**\n     * Processes a request and returns a stream of response events.\n     * @param req The request object.\n     * @returns An observable of the response events.\n     */\n    handle(req) {\n      // Quick check to give a better error message when a user attempts to use\n      // HttpClient.jsonp() without installing the HttpClientJsonpModule\n      if (req.method === 'JSONP') {\n        throw new _RuntimeError(-2800 /* RuntimeErrorCode.MISSING_JSONP_MODULE */, (typeof ngDevMode === 'undefined' || ngDevMode) && `Cannot make a JSONP request without JSONP support. To fix the problem, either add the \\`withJsonpSupport()\\` call (if \\`provideHttpClient()\\` is used) or import the \\`HttpClientJsonpModule\\` in the root NgModule.`);\n      }\n      // Check whether this factory has a special function to load an XHR implementation\n      // for various non-browser environments. We currently limit it to only `ServerXhr`\n      // class, which needs to load an XHR implementation.\n      const xhrFactory = this.xhrFactory;\n      const source = xhrFactory.ɵloadImpl ? from(xhrFactory.ɵloadImpl()) : of(null);\n      return source.pipe(switchMap(() => {\n        // Everything happens on Observable subscription.\n        return new Observable(observer => {\n          // Start by setting up the XHR object with request method, URL, and withCredentials\n          // flag.\n          const xhr = xhrFactory.build();\n          xhr.open(req.method, req.urlWithParams);\n          if (req.withCredentials) {\n            xhr.withCredentials = true;\n          }\n          // Add all the requested headers.\n          req.headers.forEach((name, values) => xhr.setRequestHeader(name, values.join(',')));\n          // Add an Accept header if one isn't present already.\n          if (!req.headers.has(ACCEPT_HEADER)) {\n            xhr.setRequestHeader(ACCEPT_HEADER, ACCEPT_HEADER_VALUE);\n          }\n          // Auto-detect the Content-Type header if one isn't present already.\n          if (!req.headers.has(CONTENT_TYPE_HEADER)) {\n            const detectedType = req.detectContentTypeHeader();\n            // Sometimes Content-Type detection fails.\n            if (detectedType !== null) {\n              xhr.setRequestHeader(CONTENT_TYPE_HEADER, detectedType);\n            }\n          }\n          // Set the responseType if one was requested.\n          if (req.responseType) {\n            const responseType = req.responseType.toLowerCase();\n            // JSON responses need to be processed as text. This is because if the server\n            // returns an XSSI-prefixed JSON response, the browser will fail to parse it,\n            // xhr.response will be null, and xhr.responseText cannot be accessed to\n            // retrieve the prefixed JSON data in order to strip the prefix. Thus, all JSON\n            // is parsed by first requesting text and then applying JSON.parse.\n            xhr.responseType = responseType !== 'json' ? responseType : 'text';\n          }\n          // Serialize the request body if one is present. If not, this will be set to null.\n          const reqBody = req.serializeBody();\n          // If progress events are enabled, response headers will be delivered\n          // in two events - the HttpHeaderResponse event and the full HttpResponse\n          // event. However, since response headers don't change in between these\n          // two events, it doesn't make sense to parse them twice. So headerResponse\n          // caches the data extracted from the response whenever it's first parsed,\n          // to ensure parsing isn't duplicated.\n          let headerResponse = null;\n          // partialFromXhr extracts the HttpHeaderResponse from the current XMLHttpRequest\n          // state, and memoizes it into headerResponse.\n          const partialFromXhr = () => {\n            if (headerResponse !== null) {\n              return headerResponse;\n            }\n            const statusText = xhr.statusText || 'OK';\n            // Parse headers from XMLHttpRequest - this step is lazy.\n            const headers = new HttpHeaders(xhr.getAllResponseHeaders());\n            // Read the response URL from the XMLHttpResponse instance and fall back on the\n            // request URL.\n            const url = getResponseUrl(xhr) || req.url;\n            // Construct the HttpHeaderResponse and memoize it.\n            headerResponse = new HttpHeaderResponse({\n              headers,\n              status: xhr.status,\n              statusText,\n              url\n            });\n            return headerResponse;\n          };\n          // Next, a few closures are defined for the various events which XMLHttpRequest can\n          // emit. This allows them to be unregistered as event listeners later.\n          // First up is the load event, which represents a response being fully available.\n          const onLoad = () => {\n            // Read response state from the memoized partial data.\n            let {\n              headers,\n              status,\n              statusText,\n              url\n            } = partialFromXhr();\n            // The body will be read out if present.\n            let body = null;\n            if (status !== HTTP_STATUS_CODE_NO_CONTENT) {\n              // Use XMLHttpRequest.response if set, responseText otherwise.\n              body = typeof xhr.response === 'undefined' ? xhr.responseText : xhr.response;\n            }\n            // Normalize another potential bug (this one comes from CORS).\n            if (status === 0) {\n              status = !!body ? HTTP_STATUS_CODE_OK : 0;\n            }\n            // ok determines whether the response will be transmitted on the event or\n            // error channel. Unsuccessful status codes (not 2xx) will always be errors,\n            // but a successful status code can still result in an error if the user\n            // asked for JSON data and the body cannot be parsed as such.\n            let ok = status >= 200 && status < 300;\n            // Check whether the body needs to be parsed as JSON (in many cases the browser\n            // will have done that already).\n            if (req.responseType === 'json' && typeof body === 'string') {\n              // Save the original body, before attempting XSSI prefix stripping.\n              const originalBody = body;\n              body = body.replace(XSSI_PREFIX, '');\n              try {\n                // Attempt the parse. If it fails, a parse error should be delivered to the\n                // user.\n                body = body !== '' ? JSON.parse(body) : null;\n              } catch (error) {\n                // Since the JSON.parse failed, it's reasonable to assume this might not have\n                // been a JSON response. Restore the original body (including any XSSI prefix)\n                // to deliver a better error response.\n                body = originalBody;\n                // If this was an error request to begin with, leave it as a string, it\n                // probably just isn't JSON. Otherwise, deliver the parsing error to the user.\n                if (ok) {\n                  // Even though the response status was 2xx, this is still an error.\n                  ok = false;\n                  // The parse error contains the text of the body that failed to parse.\n                  body = {\n                    error,\n                    text: body\n                  };\n                }\n              }\n            }\n            if (ok) {\n              // A successful response is delivered on the event stream.\n              observer.next(new HttpResponse({\n                body,\n                headers,\n                status,\n                statusText,\n                url: url || undefined\n              }));\n              // The full body has been received and delivered, no further events\n              // are possible. This request is complete.\n              observer.complete();\n            } else {\n              // An unsuccessful request is delivered on the error channel.\n              observer.error(new HttpErrorResponse({\n                // The error in this case is the response body (error from the server).\n                error: body,\n                headers,\n                status,\n                statusText,\n                url: url || undefined\n              }));\n            }\n          };\n          // The onError callback is called when something goes wrong at the network level.\n          // Connection timeout, DNS error, offline, etc. These are actual errors, and are\n          // transmitted on the error channel.\n          const onError = error => {\n            const {\n              url\n            } = partialFromXhr();\n            const res = new HttpErrorResponse({\n              error,\n              status: xhr.status || 0,\n              statusText: xhr.statusText || 'Unknown Error',\n              url: url || undefined\n            });\n            observer.error(res);\n          };\n          // The sentHeaders flag tracks whether the HttpResponseHeaders event\n          // has been sent on the stream. This is necessary to track if progress\n          // is enabled since the event will be sent on only the first download\n          // progress event.\n          let sentHeaders = false;\n          // The download progress event handler, which is only registered if\n          // progress events are enabled.\n          const onDownProgress = event => {\n            // Send the HttpResponseHeaders event if it hasn't been sent already.\n            if (!sentHeaders) {\n              observer.next(partialFromXhr());\n              sentHeaders = true;\n            }\n            // Start building the download progress event to deliver on the response\n            // event stream.\n            let progressEvent = {\n              type: HttpEventType.DownloadProgress,\n              loaded: event.loaded\n            };\n            // Set the total number of bytes in the event if it's available.\n            if (event.lengthComputable) {\n              progressEvent.total = event.total;\n            }\n            // If the request was for text content and a partial response is\n            // available on XMLHttpRequest, include it in the progress event\n            // to allow for streaming reads.\n            if (req.responseType === 'text' && !!xhr.responseText) {\n              progressEvent.partialText = xhr.responseText;\n            }\n            // Finally, fire the event.\n            observer.next(progressEvent);\n          };\n          // The upload progress event handler, which is only registered if\n          // progress events are enabled.\n          const onUpProgress = event => {\n            // Upload progress events are simpler. Begin building the progress\n            // event.\n            let progress = {\n              type: HttpEventType.UploadProgress,\n              loaded: event.loaded\n            };\n            // If the total number of bytes being uploaded is available, include\n            // it.\n            if (event.lengthComputable) {\n              progress.total = event.total;\n            }\n            // Send the event.\n            observer.next(progress);\n          };\n          // By default, register for load and error events.\n          xhr.addEventListener('load', onLoad);\n          xhr.addEventListener('error', onError);\n          xhr.addEventListener('timeout', onError);\n          xhr.addEventListener('abort', onError);\n          // Progress events are only enabled if requested.\n          if (req.reportProgress) {\n            // Download progress is always enabled if requested.\n            xhr.addEventListener('progress', onDownProgress);\n            // Upload progress depends on whether there is a body to upload.\n            if (reqBody !== null && xhr.upload) {\n              xhr.upload.addEventListener('progress', onUpProgress);\n            }\n          }\n          // Fire the request, and notify the event stream that it was fired.\n          xhr.send(reqBody);\n          observer.next({\n            type: HttpEventType.Sent\n          });\n          // This is the return from the Observable function, which is the\n          // request cancellation handler.\n          return () => {\n            // On a cancellation, remove all registered event listeners.\n            xhr.removeEventListener('error', onError);\n            xhr.removeEventListener('abort', onError);\n            xhr.removeEventListener('load', onLoad);\n            xhr.removeEventListener('timeout', onError);\n            if (req.reportProgress) {\n              xhr.removeEventListener('progress', onDownProgress);\n              if (reqBody !== null && xhr.upload) {\n                xhr.upload.removeEventListener('progress', onUpProgress);\n              }\n            }\n            // Finally, abort the in-flight request.\n            if (xhr.readyState !== xhr.DONE) {\n              xhr.abort();\n            }\n          };\n        });\n      }));\n    }\n    static ɵfac = function HttpXhrBackend_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || HttpXhrBackend)(i0.ɵɵinject(XhrFactory));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: HttpXhrBackend,\n      factory: HttpXhrBackend.ɵfac\n    });\n  }\n  return HttpXhrBackend;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst XSRF_ENABLED = /*#__PURE__*/new InjectionToken(ngDevMode ? 'XSRF_ENABLED' : '');\nconst XSRF_DEFAULT_COOKIE_NAME = 'XSRF-TOKEN';\nconst XSRF_COOKIE_NAME = /*#__PURE__*/new InjectionToken(ngDevMode ? 'XSRF_COOKIE_NAME' : '', {\n  providedIn: 'root',\n  factory: () => XSRF_DEFAULT_COOKIE_NAME\n});\nconst XSRF_DEFAULT_HEADER_NAME = 'X-XSRF-TOKEN';\nconst XSRF_HEADER_NAME = /*#__PURE__*/new InjectionToken(ngDevMode ? 'XSRF_HEADER_NAME' : '', {\n  providedIn: 'root',\n  factory: () => XSRF_DEFAULT_HEADER_NAME\n});\n/**\n * Retrieves the current XSRF token to use with the next outgoing request.\n *\n * @publicApi\n */\nclass HttpXsrfTokenExtractor {}\n/**\n * `HttpXsrfTokenExtractor` which retrieves the token from a cookie.\n */\nlet HttpXsrfCookieExtractor = /*#__PURE__*/(() => {\n  class HttpXsrfCookieExtractor {\n    doc;\n    cookieName;\n    lastCookieString = '';\n    lastToken = null;\n    /**\n     * @internal for testing\n     */\n    parseCount = 0;\n    constructor(doc, cookieName) {\n      this.doc = doc;\n      this.cookieName = cookieName;\n    }\n    getToken() {\n      if (typeof ngServerMode !== 'undefined' && ngServerMode) {\n        return null;\n      }\n      const cookieString = this.doc.cookie || '';\n      if (cookieString !== this.lastCookieString) {\n        this.parseCount++;\n        this.lastToken = parseCookieValue(cookieString, this.cookieName);\n        this.lastCookieString = cookieString;\n      }\n      return this.lastToken;\n    }\n    static ɵfac = function HttpXsrfCookieExtractor_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || HttpXsrfCookieExtractor)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(XSRF_COOKIE_NAME));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: HttpXsrfCookieExtractor,\n      factory: HttpXsrfCookieExtractor.ɵfac\n    });\n  }\n  return HttpXsrfCookieExtractor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Regex to match absolute URLs, including protocol-relative URLs.\n */\nconst ABSOLUTE_URL_REGEX = /^(?:https?:)?\\/\\//i;\nfunction xsrfInterceptorFn(req, next) {\n  // Skip both non-mutating requests and absolute URLs.\n  // Non-mutating requests don't require a token, and absolute URLs require special handling\n  // anyway as the cookie set\n  // on our origin is not the same as the token expected by another origin.\n  if (!inject(XSRF_ENABLED) || req.method === 'GET' || req.method === 'HEAD' || ABSOLUTE_URL_REGEX.test(req.url)) {\n    return next(req);\n  }\n  const token = inject(HttpXsrfTokenExtractor).getToken();\n  const headerName = inject(XSRF_HEADER_NAME);\n  // Be careful not to overwrite an existing header of the same name.\n  if (token != null && !req.headers.has(headerName)) {\n    req = req.clone({\n      headers: req.headers.set(headerName, token)\n    });\n  }\n  return next(req);\n}\n/**\n * `HttpInterceptor` which adds an XSRF token to eligible outgoing requests.\n */\nlet HttpXsrfInterceptor = /*#__PURE__*/(() => {\n  class HttpXsrfInterceptor {\n    injector;\n    constructor(injector) {\n      this.injector = injector;\n    }\n    intercept(initialRequest, next) {\n      return runInInjectionContext(this.injector, () => xsrfInterceptorFn(initialRequest, downstreamRequest => next.handle(downstreamRequest)));\n    }\n    static ɵfac = function HttpXsrfInterceptor_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || HttpXsrfInterceptor)(i0.ɵɵinject(i0.EnvironmentInjector));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: HttpXsrfInterceptor,\n      factory: HttpXsrfInterceptor.ɵfac\n    });\n  }\n  return HttpXsrfInterceptor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Identifies a particular kind of `HttpFeature`.\n *\n * @publicApi\n */\nvar HttpFeatureKind = /*#__PURE__*/function (HttpFeatureKind) {\n  HttpFeatureKind[HttpFeatureKind[\"Interceptors\"] = 0] = \"Interceptors\";\n  HttpFeatureKind[HttpFeatureKind[\"LegacyInterceptors\"] = 1] = \"LegacyInterceptors\";\n  HttpFeatureKind[HttpFeatureKind[\"CustomXsrfConfiguration\"] = 2] = \"CustomXsrfConfiguration\";\n  HttpFeatureKind[HttpFeatureKind[\"NoXsrfProtection\"] = 3] = \"NoXsrfProtection\";\n  HttpFeatureKind[HttpFeatureKind[\"JsonpSupport\"] = 4] = \"JsonpSupport\";\n  HttpFeatureKind[HttpFeatureKind[\"RequestsMadeViaParent\"] = 5] = \"RequestsMadeViaParent\";\n  HttpFeatureKind[HttpFeatureKind[\"Fetch\"] = 6] = \"Fetch\";\n  return HttpFeatureKind;\n}(HttpFeatureKind || {});\nfunction makeHttpFeature(kind, providers) {\n  return {\n    ɵkind: kind,\n    ɵproviders: providers\n  };\n}\n/**\n * Configures Angular's `HttpClient` service to be available for injection.\n *\n * By default, `HttpClient` will be configured for injection with its default options for XSRF\n * protection of outgoing requests. Additional configuration options can be provided by passing\n * feature functions to `provideHttpClient`. For example, HTTP interceptors can be added using the\n * `withInterceptors(...)` feature.\n *\n * <div class=\"docs-alert docs-alert-helpful\">\n *\n * It's strongly recommended to enable\n * [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) for applications that use\n * Server-Side Rendering for better performance and compatibility. To enable `fetch`, add\n * `withFetch()` feature to the `provideHttpClient()` call at the root of the application:\n *\n * ```ts\n * provideHttpClient(withFetch());\n * ```\n *\n * </div>\n *\n * @see {@link withInterceptors}\n * @see {@link withInterceptorsFromDi}\n * @see {@link withXsrfConfiguration}\n * @see {@link withNoXsrfProtection}\n * @see {@link withJsonpSupport}\n * @see {@link withRequestsMadeViaParent}\n * @see {@link withFetch}\n */\nfunction provideHttpClient(...features) {\n  if (ngDevMode) {\n    const featureKinds = new Set(features.map(f => f.ɵkind));\n    if (featureKinds.has(HttpFeatureKind.NoXsrfProtection) && featureKinds.has(HttpFeatureKind.CustomXsrfConfiguration)) {\n      throw new Error(ngDevMode ? `Configuration error: found both withXsrfConfiguration() and withNoXsrfProtection() in the same call to provideHttpClient(), which is a contradiction.` : '');\n    }\n  }\n  const providers = [HttpClient, HttpXhrBackend, HttpInterceptorHandler, {\n    provide: HttpHandler,\n    useExisting: HttpInterceptorHandler\n  }, {\n    provide: HttpBackend,\n    useFactory: () => {\n      return inject(FETCH_BACKEND, {\n        optional: true\n      }) ?? inject(HttpXhrBackend);\n    }\n  }, {\n    provide: HTTP_INTERCEPTOR_FNS,\n    useValue: xsrfInterceptorFn,\n    multi: true\n  }, {\n    provide: XSRF_ENABLED,\n    useValue: true\n  }, {\n    provide: HttpXsrfTokenExtractor,\n    useClass: HttpXsrfCookieExtractor\n  }];\n  for (const feature of features) {\n    providers.push(...feature.ɵproviders);\n  }\n  return makeEnvironmentProviders(providers);\n}\n/**\n * Adds one or more functional-style HTTP interceptors to the configuration of the `HttpClient`\n * instance.\n *\n * @see {@link HttpInterceptorFn}\n * @see {@link provideHttpClient}\n * @publicApi\n */\nfunction withInterceptors(interceptorFns) {\n  return makeHttpFeature(HttpFeatureKind.Interceptors, interceptorFns.map(interceptorFn => {\n    return {\n      provide: HTTP_INTERCEPTOR_FNS,\n      useValue: interceptorFn,\n      multi: true\n    };\n  }));\n}\nconst LEGACY_INTERCEPTOR_FN = /*#__PURE__*/new InjectionToken(ngDevMode ? 'LEGACY_INTERCEPTOR_FN' : '');\n/**\n * Includes class-based interceptors configured using a multi-provider in the current injector into\n * the configured `HttpClient` instance.\n *\n * Prefer `withInterceptors` and functional interceptors instead, as support for DI-provided\n * interceptors may be phased out in a later release.\n *\n * @see {@link HttpInterceptor}\n * @see {@link HTTP_INTERCEPTORS}\n * @see {@link provideHttpClient}\n */\nfunction withInterceptorsFromDi() {\n  // Note: the legacy interceptor function is provided here via an intermediate token\n  // (`LEGACY_INTERCEPTOR_FN`), using a pattern which guarantees that if these providers are\n  // included multiple times, all of the multi-provider entries will have the same instance of the\n  // interceptor function. That way, the `HttpINterceptorHandler` will dedup them and legacy\n  // interceptors will not run multiple times.\n  return makeHttpFeature(HttpFeatureKind.LegacyInterceptors, [{\n    provide: LEGACY_INTERCEPTOR_FN,\n    useFactory: legacyInterceptorFnFactory\n  }, {\n    provide: HTTP_INTERCEPTOR_FNS,\n    useExisting: LEGACY_INTERCEPTOR_FN,\n    multi: true\n  }]);\n}\n/**\n * Customizes the XSRF protection for the configuration of the current `HttpClient` instance.\n *\n * This feature is incompatible with the `withNoXsrfProtection` feature.\n *\n * @see {@link provideHttpClient}\n */\nfunction withXsrfConfiguration({\n  cookieName,\n  headerName\n}) {\n  const providers = [];\n  if (cookieName !== undefined) {\n    providers.push({\n      provide: XSRF_COOKIE_NAME,\n      useValue: cookieName\n    });\n  }\n  if (headerName !== undefined) {\n    providers.push({\n      provide: XSRF_HEADER_NAME,\n      useValue: headerName\n    });\n  }\n  return makeHttpFeature(HttpFeatureKind.CustomXsrfConfiguration, providers);\n}\n/**\n * Disables XSRF protection in the configuration of the current `HttpClient` instance.\n *\n * This feature is incompatible with the `withXsrfConfiguration` feature.\n *\n * @see {@link provideHttpClient}\n */\nfunction withNoXsrfProtection() {\n  return makeHttpFeature(HttpFeatureKind.NoXsrfProtection, [{\n    provide: XSRF_ENABLED,\n    useValue: false\n  }]);\n}\n/**\n * Add JSONP support to the configuration of the current `HttpClient` instance.\n *\n * @see {@link provideHttpClient}\n */\nfunction withJsonpSupport() {\n  return makeHttpFeature(HttpFeatureKind.JsonpSupport, [JsonpClientBackend, {\n    provide: JsonpCallbackContext,\n    useFactory: jsonpCallbackContext\n  }, {\n    provide: HTTP_INTERCEPTOR_FNS,\n    useValue: jsonpInterceptorFn,\n    multi: true\n  }]);\n}\n/**\n * Configures the current `HttpClient` instance to make requests via the parent injector's\n * `HttpClient` instead of directly.\n *\n * By default, `provideHttpClient` configures `HttpClient` in its injector to be an independent\n * instance. For example, even if `HttpClient` is configured in the parent injector with\n * one or more interceptors, they will not intercept requests made via this instance.\n *\n * With this option enabled, once the request has passed through the current injector's\n * interceptors, it will be delegated to the parent injector's `HttpClient` chain instead of\n * dispatched directly, and interceptors in the parent configuration will be applied to the request.\n *\n * If there are several `HttpClient` instances in the injector hierarchy, it's possible for\n * `withRequestsMadeViaParent` to be used at multiple levels, which will cause the request to\n * \"bubble up\" until either reaching the root level or an `HttpClient` which was not configured with\n * this option.\n *\n * @see {@link provideHttpClient}\n * @publicApi\n */\nfunction withRequestsMadeViaParent() {\n  return makeHttpFeature(HttpFeatureKind.RequestsMadeViaParent, [{\n    provide: HttpBackend,\n    useFactory: () => {\n      const handlerFromParent = inject(HttpHandler, {\n        skipSelf: true,\n        optional: true\n      });\n      if (ngDevMode && handlerFromParent === null) {\n        throw new Error('withRequestsMadeViaParent() can only be used when the parent injector also configures HttpClient');\n      }\n      return handlerFromParent;\n    }\n  }]);\n}\n/**\n * Configures the current `HttpClient` instance to make requests using the fetch API.\n *\n * Note: The Fetch API doesn't support progress report on uploads.\n *\n * @publicApi\n */\nfunction withFetch() {\n  return makeHttpFeature(HttpFeatureKind.Fetch, [FetchBackend, {\n    provide: FETCH_BACKEND,\n    useExisting: FetchBackend\n  }, {\n    provide: HttpBackend,\n    useExisting: FetchBackend\n  }]);\n}\n\n/**\n * Configures XSRF protection support for outgoing requests.\n *\n * For a server that supports a cookie-based XSRF protection system,\n * use directly to configure XSRF protection with the correct\n * cookie and header names.\n *\n * If no names are supplied, the default cookie name is `XSRF-TOKEN`\n * and the default header name is `X-XSRF-TOKEN`.\n *\n * @publicApi\n * @deprecated Use withXsrfConfiguration({cookieName: 'XSRF-TOKEN', headerName: 'X-XSRF-TOKEN'}) as\n *     providers instead or `withNoXsrfProtection` if you want to disabled XSRF protection.\n */\nlet HttpClientXsrfModule = /*#__PURE__*/(() => {\n  class HttpClientXsrfModule {\n    /**\n     * Disable the default XSRF protection.\n     */\n    static disable() {\n      return {\n        ngModule: HttpClientXsrfModule,\n        providers: [withNoXsrfProtection().ɵproviders]\n      };\n    }\n    /**\n     * Configure XSRF protection.\n     * @param options An object that can specify either or both\n     * cookie name or header name.\n     * - Cookie name default is `XSRF-TOKEN`.\n     * - Header name default is `X-XSRF-TOKEN`.\n     *\n     */\n    static withOptions(options = {}) {\n      return {\n        ngModule: HttpClientXsrfModule,\n        providers: withXsrfConfiguration(options).ɵproviders\n      };\n    }\n    static ɵfac = function HttpClientXsrfModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || HttpClientXsrfModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: HttpClientXsrfModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      providers: [HttpXsrfInterceptor, {\n        provide: HTTP_INTERCEPTORS,\n        useExisting: HttpXsrfInterceptor,\n        multi: true\n      }, {\n        provide: HttpXsrfTokenExtractor,\n        useClass: HttpXsrfCookieExtractor\n      }, withXsrfConfiguration({\n        cookieName: XSRF_DEFAULT_COOKIE_NAME,\n        headerName: XSRF_DEFAULT_HEADER_NAME\n      }).ɵproviders, {\n        provide: XSRF_ENABLED,\n        useValue: true\n      }]\n    });\n  }\n  return HttpClientXsrfModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Configures the dependency injector for `HttpClient`\n * with supporting services for XSRF. Automatically imported by `HttpClientModule`.\n *\n * You can add interceptors to the chain behind `HttpClient` by binding them to the\n * multiprovider for built-in DI token `HTTP_INTERCEPTORS`.\n *\n * @publicApi\n * @deprecated use `provideHttpClient(withInterceptorsFromDi())` as providers instead\n */\nlet HttpClientModule = /*#__PURE__*/(() => {\n  class HttpClientModule {\n    static ɵfac = function HttpClientModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || HttpClientModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: HttpClientModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      providers: [provideHttpClient(withInterceptorsFromDi())]\n    });\n  }\n  return HttpClientModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Configures the dependency injector for `HttpClient`\n * with supporting services for JSONP.\n * Without this module, Jsonp requests reach the backend\n * with method JSONP, where they are rejected.\n *\n * @publicApi\n * @deprecated `withJsonpSupport()` as providers instead\n */\nlet HttpClientJsonpModule = /*#__PURE__*/(() => {\n  class HttpClientJsonpModule {\n    static ɵfac = function HttpClientJsonpModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || HttpClientJsonpModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: HttpClientJsonpModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      providers: [withJsonpSupport().ɵproviders]\n    });\n  }\n  return HttpClientJsonpModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { FetchBackend, HTTP_INTERCEPTORS, HTTP_ROOT_INTERCEPTOR_FNS, HttpBackend, HttpClient, HttpClientJsonpModule, HttpClientModule, HttpClientXsrfModule, HttpContext, HttpContextToken, HttpErrorResponse, HttpEventType, HttpFeatureKind, HttpHandler, HttpHeaderResponse, HttpHeaders, HttpInterceptorHandler, HttpParams, HttpRequest, HttpResponse, HttpResponseBase, HttpStatusCode, HttpUrlEncodingCodec, HttpXhrBackend, HttpXsrfTokenExtractor, JsonpClientBackend, JsonpInterceptor, REQUESTS_CONTRIBUTE_TO_STABILITY, provideHttpClient, withFetch, withInterceptors, withInterceptorsFromDi, withJsonpSupport, withNoXsrfProtection, withRequestsMadeViaParent, withXsrfConfiguration };\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { HttpErrorResponse, HttpEventType, HttpClient, HttpHeaders, HttpParams, HttpRequest, HTTP_ROOT_INTERCEPTOR_FNS, HttpResponse } from './module-JS82OH2B.mjs';\nexport { FetchBackend, HTTP_INTERCEPTORS, HttpBackend, HttpClientJsonpModule, HttpClientModule, HttpClientXsrfModule, HttpContext, HttpContextToken, HttpFeatureKind, HttpHandler, HttpHeaderResponse, HttpResponseBase, HttpStatusCode, HttpUrlEncodingCodec, HttpXhrBackend, HttpXsrfTokenExtractor, JsonpClientBackend, JsonpInterceptor, provideHttpClient, withFetch, withInterceptors, withInterceptorsFromDi, withJsonpSupport, withNoXsrfProtection, withRequestsMadeViaParent, withXsrfConfiguration, HttpInterceptorHandler as ɵHttpInterceptingHandler, HttpInterceptorHandler as ɵHttpInterceptorHandler, REQUESTS_CONTRIBUTE_TO_STABILITY as ɵREQUESTS_CONTRIBUTE_TO_STABILITY } from './module-JS82OH2B.mjs';\nimport { assertInInjectionContext, inject, Injector, ɵResourceImpl as _ResourceImpl, linkedSignal, computed, ResourceStatus, signal, InjectionToken, APP_BOOTSTRAP_LISTENER, ɵperformanceMarkFeature as _performanceMarkFeature, ApplicationRef, TransferState, ɵRuntimeError as _RuntimeError, makeStateKey, ɵtruncateMiddle as _truncateMiddle, ɵformatRuntimeError as _formatRuntimeError } from '@angular/core';\nimport { of } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport './xhr-BfNfxNDv.mjs';\nimport './dom_tokens-rA0ACyx7.mjs';\n\n/**\n * `httpResource` makes a reactive HTTP request and exposes the request status and response value as\n * a `WritableResource`. By default, it assumes that the backend will return JSON data. To make a\n * request that expects a different kind of data, you can use a sub-constructor of `httpResource`,\n * such as `httpResource.text`.\n *\n * @experimental\n * @initializerApiFunction\n */\nconst httpResource = /*#__PURE__*/(() => {\n  const jsonFn = makeHttpResourceFn('json');\n  jsonFn.arrayBuffer = makeHttpResourceFn('arraybuffer');\n  jsonFn.blob = makeHttpResourceFn('blob');\n  jsonFn.text = makeHttpResourceFn('text');\n  return jsonFn;\n})();\nfunction makeHttpResourceFn(responseType) {\n  return function httpResourceRef(request, options) {\n    options?.injector || assertInInjectionContext(httpResource);\n    const injector = options?.injector ?? inject(Injector);\n    return new HttpResourceImpl(injector, () => normalizeRequest(request, responseType), options?.defaultValue, options?.parse, options?.equal);\n  };\n}\nfunction normalizeRequest(request, responseType) {\n  let unwrappedRequest = typeof request === 'function' ? request() : request;\n  if (unwrappedRequest === undefined) {\n    return undefined;\n  } else if (typeof unwrappedRequest === 'string') {\n    unwrappedRequest = {\n      url: unwrappedRequest\n    };\n  }\n  const headers = unwrappedRequest.headers instanceof HttpHeaders ? unwrappedRequest.headers : new HttpHeaders(unwrappedRequest.headers);\n  const params = unwrappedRequest.params instanceof HttpParams ? unwrappedRequest.params : new HttpParams({\n    fromObject: unwrappedRequest.params\n  });\n  return new HttpRequest(unwrappedRequest.method ?? 'GET', unwrappedRequest.url, unwrappedRequest.body ?? null, {\n    headers,\n    params,\n    reportProgress: unwrappedRequest.reportProgress,\n    withCredentials: unwrappedRequest.withCredentials,\n    responseType,\n    context: unwrappedRequest.context,\n    transferCache: unwrappedRequest.transferCache\n  });\n}\nclass HttpResourceImpl extends _ResourceImpl {\n  client;\n  _headers = /*#__PURE__*/linkedSignal({\n    source: this.extRequest,\n    computation: () => undefined\n  });\n  _progress = /*#__PURE__*/linkedSignal({\n    source: this.extRequest,\n    computation: () => undefined\n  });\n  _statusCode = /*#__PURE__*/linkedSignal({\n    source: this.extRequest,\n    computation: () => undefined\n  });\n  headers = /*#__PURE__*/computed(() => this.status() === ResourceStatus.Resolved || this.status() === ResourceStatus.Error ? this._headers() : undefined);\n  progress = /*#__PURE__*/this._progress.asReadonly();\n  statusCode = /*#__PURE__*/this._statusCode.asReadonly();\n  constructor(injector, request, defaultValue, parse, equal) {\n    super(request, ({\n      request,\n      abortSignal\n    }) => {\n      let sub;\n      // Track the abort listener so it can be removed if the Observable completes (as a memory\n      // optimization).\n      const onAbort = () => sub.unsubscribe();\n      abortSignal.addEventListener('abort', onAbort);\n      // Start off stream as undefined.\n      const stream = signal({\n        value: undefined\n      });\n      let resolve;\n      const promise = new Promise(r => resolve = r);\n      const send = value => {\n        stream.set(value);\n        resolve?.(stream);\n        resolve = undefined;\n      };\n      sub = this.client.request(request).subscribe({\n        next: event => {\n          switch (event.type) {\n            case HttpEventType.Response:\n              this._headers.set(event.headers);\n              this._statusCode.set(event.status);\n              try {\n                send({\n                  value: parse ? parse(event.body) : event.body\n                });\n              } catch (error) {\n                send({\n                  error\n                });\n              }\n              break;\n            case HttpEventType.DownloadProgress:\n              this._progress.set(event);\n              break;\n          }\n        },\n        error: error => {\n          if (error instanceof HttpErrorResponse) {\n            this._headers.set(error.headers);\n            this._statusCode.set(error.status);\n          }\n          send({\n            error\n          });\n          abortSignal.removeEventListener('abort', onAbort);\n        },\n        complete: () => {\n          if (resolve) {\n            send({\n              error: new Error('Resource completed before producing a value')\n            });\n          }\n          abortSignal.removeEventListener('abort', onAbort);\n        }\n      });\n      return promise;\n    }, defaultValue, equal, injector);\n    this.client = injector.get(HttpClient);\n  }\n}\n\n/**\n * If your application uses different HTTP origins to make API calls (via `HttpClient`) on the server and\n * on the client, the `HTTP_TRANSFER_CACHE_ORIGIN_MAP` token allows you to establish a mapping\n * between those origins, so that `HttpTransferCache` feature can recognize those requests as the same\n * ones and reuse the data cached on the server during hydration on the client.\n *\n * **Important note**: the `HTTP_TRANSFER_CACHE_ORIGIN_MAP` token should *only* be provided in\n * the *server* code of your application (typically in the `app.server.config.ts` script). Angular throws an\n * error if it detects that the token is defined while running on the client.\n *\n * @usageNotes\n *\n * When the same API endpoint is accessed via `http://internal-domain.com:8080` on the server and\n * via `https://external-domain.com` on the client, you can use the following configuration:\n * ```ts\n * // in app.server.config.ts\n * {\n *     provide: HTTP_TRANSFER_CACHE_ORIGIN_MAP,\n *     useValue: {\n *         'http://internal-domain.com:8080': 'https://external-domain.com'\n *     }\n * }\n * ```\n *\n * @publicApi\n */\nconst HTTP_TRANSFER_CACHE_ORIGIN_MAP = /*#__PURE__*/new InjectionToken(ngDevMode ? 'HTTP_TRANSFER_CACHE_ORIGIN_MAP' : '');\n/**\n * Keys within cached response data structure.\n */\nconst BODY = 'b';\nconst HEADERS = 'h';\nconst STATUS = 's';\nconst STATUS_TEXT = 'st';\nconst REQ_URL = 'u';\nconst RESPONSE_TYPE = 'rt';\nconst CACHE_OPTIONS = /*#__PURE__*/new InjectionToken(ngDevMode ? 'HTTP_TRANSFER_STATE_CACHE_OPTIONS' : '');\n/**\n * A list of allowed HTTP methods to cache.\n */\nconst ALLOWED_METHODS = ['GET', 'HEAD'];\nfunction transferCacheInterceptorFn(req, next) {\n  const {\n    isCacheActive,\n    ...globalOptions\n  } = inject(CACHE_OPTIONS);\n  const {\n    transferCache: requestOptions,\n    method: requestMethod\n  } = req;\n  // In the following situations we do not want to cache the request\n  if (!isCacheActive || requestOptions === false ||\n  // POST requests are allowed either globally or at request level\n  requestMethod === 'POST' && !globalOptions.includePostRequests && !requestOptions || requestMethod !== 'POST' && !ALLOWED_METHODS.includes(requestMethod) ||\n  // Do not cache request that require authorization when includeRequestsWithAuthHeaders is falsey\n  !globalOptions.includeRequestsWithAuthHeaders && hasAuthHeaders(req) || globalOptions.filter?.(req) === false) {\n    return next(req);\n  }\n  const transferState = inject(TransferState);\n  const originMap = inject(HTTP_TRANSFER_CACHE_ORIGIN_MAP, {\n    optional: true\n  });\n  if (typeof ngServerMode !== 'undefined' && !ngServerMode && originMap) {\n    throw new _RuntimeError(2803 /* RuntimeErrorCode.HTTP_ORIGIN_MAP_USED_IN_CLIENT */, ngDevMode && 'Angular detected that the `HTTP_TRANSFER_CACHE_ORIGIN_MAP` token is configured and ' + 'present in the client side code. Please ensure that this token is only provided in the ' + 'server code of the application.');\n  }\n  const requestUrl = typeof ngServerMode !== 'undefined' && ngServerMode && originMap ? mapRequestOriginUrl(req.url, originMap) : req.url;\n  const storeKey = makeCacheKey(req, requestUrl);\n  const response = transferState.get(storeKey, null);\n  let headersToInclude = globalOptions.includeHeaders;\n  if (typeof requestOptions === 'object' && requestOptions.includeHeaders) {\n    // Request-specific config takes precedence over the global config.\n    headersToInclude = requestOptions.includeHeaders;\n  }\n  if (response) {\n    const {\n      [BODY]: undecodedBody,\n      [RESPONSE_TYPE]: responseType,\n      [HEADERS]: httpHeaders,\n      [STATUS]: status,\n      [STATUS_TEXT]: statusText,\n      [REQ_URL]: url\n    } = response;\n    // Request found in cache. Respond using it.\n    let body = undecodedBody;\n    switch (responseType) {\n      case 'arraybuffer':\n        body = new TextEncoder().encode(undecodedBody).buffer;\n        break;\n      case 'blob':\n        body = new Blob([undecodedBody]);\n        break;\n    }\n    // We want to warn users accessing a header provided from the cache\n    // That HttpTransferCache alters the headers\n    // The warning will be logged a single time by HttpHeaders instance\n    let headers = new HttpHeaders(httpHeaders);\n    if (typeof ngDevMode === 'undefined' || ngDevMode) {\n      // Append extra logic in dev mode to produce a warning when a header\n      // that was not transferred to the client is accessed in the code via `get`\n      // and `has` calls.\n      headers = appendMissingHeadersDetection(req.url, headers, headersToInclude ?? []);\n    }\n    return of(new HttpResponse({\n      body,\n      headers,\n      status,\n      statusText,\n      url\n    }));\n  }\n  // Request not found in cache. Make the request and cache it if on the server.\n  return next(req).pipe(tap(event => {\n    if (event instanceof HttpResponse && typeof ngServerMode !== 'undefined' && ngServerMode) {\n      transferState.set(storeKey, {\n        [BODY]: event.body,\n        [HEADERS]: getFilteredHeaders(event.headers, headersToInclude),\n        [STATUS]: event.status,\n        [STATUS_TEXT]: event.statusText,\n        [REQ_URL]: requestUrl,\n        [RESPONSE_TYPE]: req.responseType\n      });\n    }\n  }));\n}\n/** @returns true when the requests contains autorization related headers. */\nfunction hasAuthHeaders(req) {\n  return req.headers.has('authorization') || req.headers.has('proxy-authorization');\n}\nfunction getFilteredHeaders(headers, includeHeaders) {\n  if (!includeHeaders) {\n    return {};\n  }\n  const headersMap = {};\n  for (const key of includeHeaders) {\n    const values = headers.getAll(key);\n    if (values !== null) {\n      headersMap[key] = values;\n    }\n  }\n  return headersMap;\n}\nfunction sortAndConcatParams(params) {\n  return [...params.keys()].sort().map(k => `${k}=${params.getAll(k)}`).join('&');\n}\nfunction makeCacheKey(request, mappedRequestUrl) {\n  // make the params encoded same as a url so it's easy to identify\n  const {\n    params,\n    method,\n    responseType\n  } = request;\n  const encodedParams = sortAndConcatParams(params);\n  let serializedBody = request.serializeBody();\n  if (serializedBody instanceof URLSearchParams) {\n    serializedBody = sortAndConcatParams(serializedBody);\n  } else if (typeof serializedBody !== 'string') {\n    serializedBody = '';\n  }\n  const key = [method, responseType, mappedRequestUrl, serializedBody, encodedParams].join('|');\n  const hash = generateHash(key);\n  return makeStateKey(hash);\n}\n/**\n * A method that returns a hash representation of a string using a variant of DJB2 hash\n * algorithm.\n *\n * This is the same hashing logic that is used to generate component ids.\n */\nfunction generateHash(value) {\n  let hash = 0;\n  for (const char of value) {\n    hash = Math.imul(31, hash) + char.charCodeAt(0) << 0;\n  }\n  // Force positive number hash.\n  // 2147483647 = equivalent of Integer.MAX_VALUE.\n  hash += 2147483647 + 1;\n  return hash.toString();\n}\n/**\n * Returns the DI providers needed to enable HTTP transfer cache.\n *\n * By default, when using server rendering, requests are performed twice: once on the server and\n * other one on the browser.\n *\n * When these providers are added, requests performed on the server are cached and reused during the\n * bootstrapping of the application in the browser thus avoiding duplicate requests and reducing\n * load time.\n *\n */\nfunction withHttpTransferCache(cacheOptions) {\n  return [{\n    provide: CACHE_OPTIONS,\n    useFactory: () => {\n      _performanceMarkFeature('NgHttpTransferCache');\n      return {\n        isCacheActive: true,\n        ...cacheOptions\n      };\n    }\n  }, {\n    provide: HTTP_ROOT_INTERCEPTOR_FNS,\n    useValue: transferCacheInterceptorFn,\n    multi: true\n  }, {\n    provide: APP_BOOTSTRAP_LISTENER,\n    multi: true,\n    useFactory: () => {\n      const appRef = inject(ApplicationRef);\n      const cacheState = inject(CACHE_OPTIONS);\n      return () => {\n        appRef.whenStable().then(() => {\n          cacheState.isCacheActive = false;\n        });\n      };\n    }\n  }];\n}\n/**\n * This function will add a proxy to an HttpHeader to intercept calls to get/has\n * and log a warning if the header entry requested has been removed\n */\nfunction appendMissingHeadersDetection(url, headers, headersToInclude) {\n  const warningProduced = new Set();\n  return new Proxy(headers, {\n    get(target, prop) {\n      const value = Reflect.get(target, prop);\n      const methods = new Set(['get', 'has', 'getAll']);\n      if (typeof value !== 'function' || !methods.has(prop)) {\n        return value;\n      }\n      return headerName => {\n        // We log when the key has been removed and a warning hasn't been produced for the header\n        const key = (prop + ':' + headerName).toLowerCase(); // e.g. `get:cache-control`\n        if (!headersToInclude.includes(headerName) && !warningProduced.has(key)) {\n          warningProduced.add(key);\n          const truncatedUrl = _truncateMiddle(url);\n          // TODO: create Error guide for this warning\n          console.warn(_formatRuntimeError(2802 /* RuntimeErrorCode.HEADERS_ALTERED_BY_TRANSFER_CACHE */, `Angular detected that the \\`${headerName}\\` header is accessed, but the value of the header ` + `was not transferred from the server to the client by the HttpTransferCache. ` + `To include the value of the \\`${headerName}\\` header for the \\`${truncatedUrl}\\` request, ` + `use the \\`includeHeaders\\` list. The \\`includeHeaders\\` can be defined either ` + `on a request level by adding the \\`transferCache\\` parameter, or on an application ` + `level by adding the \\`httpCacheTransfer.includeHeaders\\` argument to the ` + `\\`provideClientHydration()\\` call. `));\n        }\n        // invoking the original method\n        return value.apply(target, [headerName]);\n      };\n    }\n  });\n}\nfunction mapRequestOriginUrl(url, originMap) {\n  const origin = new URL(url, 'resolve://').origin;\n  const mappedOrigin = originMap[origin];\n  if (!mappedOrigin) {\n    return url;\n  }\n  if (typeof ngDevMode === 'undefined' || ngDevMode) {\n    verifyMappedOrigin(mappedOrigin);\n  }\n  return url.replace(origin, mappedOrigin);\n}\nfunction verifyMappedOrigin(url) {\n  if (new URL(url, 'resolve://').pathname !== '/') {\n    throw new _RuntimeError(2804 /* RuntimeErrorCode.HTTP_ORIGIN_MAP_CONTAINS_PATH */, 'Angular detected a URL with a path segment in the value provided for the ' + `\\`HTTP_TRANSFER_CACHE_ORIGIN_MAP\\` token: ${url}. The map should only contain origins ` + 'without any other segments.');\n  }\n}\nexport { HTTP_TRANSFER_CACHE_ORIGIN_MAP, HttpClient, HttpErrorResponse, HttpEventType, HttpHeaders, HttpParams, HttpRequest, HttpResponse, httpResource, HTTP_ROOT_INTERCEPTOR_FNS as ɵHTTP_ROOT_INTERCEPTOR_FNS, withHttpTransferCache as ɵwithHttpTransferCache };\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nexport { BrowserModule, bootstrapApplication, createApplication, platformBrowser, provideProtractorTestingSupport, BrowserDomAdapter as ɵBrowserDomAdapter, BrowserGetTestability as ɵBrowserGetTestability, DomEventsPlugin as ɵDomEventsPlugin, KeyEventsPlugin as ɵKeyEventsPlugin } from './browser-0WrrQdE0.mjs';\nimport { ɵgetDOM as _getDOM, DOCUMENT } from '@angular/common';\nexport { ɵgetDOM } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Inject, Injectable, ɵglobal as _global, ApplicationRef, InjectionToken, Injector, Optional, ɵConsole as _Console, NgModule, ɵRuntimeError as _RuntimeError, ɵXSS_SECURITY_URL as _XSS_SECURITY_URL, SecurityContext, ɵallowSanitizationBypassAndThrow as _allowSanitizationBypassAndThrow, ɵunwrapSafeValue as _unwrapSafeValue, ɵ_sanitizeUrl as __sanitizeUrl, ɵ_sanitizeHtml as __sanitizeHtml, ɵbypassSanitizationTrustHtml as _bypassSanitizationTrustHtml, ɵbypassSanitizationTrustStyle as _bypassSanitizationTrustStyle, ɵbypassSanitizationTrustScript as _bypassSanitizationTrustScript, ɵbypassSanitizationTrustUrl as _bypassSanitizationTrustUrl, ɵbypassSanitizationTrustResourceUrl as _bypassSanitizationTrustResourceUrl, forwardRef, makeEnvironmentProviders, ɵwithDomHydration as _withDomHydration, ɵwithEventReplay as _withEventReplay, ɵwithI18nSupport as _withI18nSupport, ɵwithIncrementalHydration as _withIncrementalHydration, ENVIRONMENT_INITIALIZER, inject, NgZone, ɵZONELESS_ENABLED as _ZONELESS_ENABLED, ɵformatRuntimeError as _formatRuntimeError, Version } from '@angular/core';\nimport { EVENT_MANAGER_PLUGINS, EventManagerPlugin } from './dom_renderer-DGKzginR.mjs';\nexport { EventManager, REMOVE_STYLES_ON_COMPONENT_DESTROY, DomRendererFactory2 as ɵDomRendererFactory2, SharedStylesHost as ɵSharedStylesHost } from './dom_renderer-DGKzginR.mjs';\nimport { ɵwithHttpTransferCache as _withHttpTransferCache } from '@angular/common/http';\n\n/**\n * A service for managing HTML `<meta>` tags.\n *\n * Properties of the `MetaDefinition` object match the attributes of the\n * HTML `<meta>` tag. These tags define document metadata that is important for\n * things like configuring a Content Security Policy, defining browser compatibility\n * and security settings, setting HTTP Headers, defining rich content for social sharing,\n * and Search Engine Optimization (SEO).\n *\n * To identify specific `<meta>` tags in a document, use an attribute selection\n * string in the format `\"tag_attribute='value string'\"`.\n * For example, an `attrSelector` value of `\"name='description'\"` matches a tag\n * whose `name` attribute has the value `\"description\"`.\n * Selectors are used with the `querySelector()` Document method,\n * in the format `meta[{attrSelector}]`.\n *\n * @see [HTML meta tag](https://developer.mozilla.org/docs/Web/HTML/Element/meta)\n * @see [Document.querySelector()](https://developer.mozilla.org/docs/Web/API/Document/querySelector)\n *\n *\n * @publicApi\n */\nlet Meta = /*#__PURE__*/(() => {\n  class Meta {\n    _doc;\n    _dom;\n    constructor(_doc) {\n      this._doc = _doc;\n      this._dom = _getDOM();\n    }\n    /**\n     * Retrieves or creates a specific `<meta>` tag element in the current HTML document.\n     * In searching for an existing tag, Angular attempts to match the `name` or `property` attribute\n     * values in the provided tag definition, and verifies that all other attribute values are equal.\n     * If an existing element is found, it is returned and is not modified in any way.\n     * @param tag The definition of a `<meta>` element to match or create.\n     * @param forceCreation True to create a new element without checking whether one already exists.\n     * @returns The existing element with the same attributes and values if found,\n     * the new element if no match is found, or `null` if the tag parameter is not defined.\n     */\n    addTag(tag, forceCreation = false) {\n      if (!tag) return null;\n      return this._getOrCreateElement(tag, forceCreation);\n    }\n    /**\n     * Retrieves or creates a set of `<meta>` tag elements in the current HTML document.\n     * In searching for an existing tag, Angular attempts to match the `name` or `property` attribute\n     * values in the provided tag definition, and verifies that all other attribute values are equal.\n     * @param tags An array of tag definitions to match or create.\n     * @param forceCreation True to create new elements without checking whether they already exist.\n     * @returns The matching elements if found, or the new elements.\n     */\n    addTags(tags, forceCreation = false) {\n      if (!tags) return [];\n      return tags.reduce((result, tag) => {\n        if (tag) {\n          result.push(this._getOrCreateElement(tag, forceCreation));\n        }\n        return result;\n      }, []);\n    }\n    /**\n     * Retrieves a `<meta>` tag element in the current HTML document.\n     * @param attrSelector The tag attribute and value to match against, in the format\n     * `\"tag_attribute='value string'\"`.\n     * @returns The matching element, if any.\n     */\n    getTag(attrSelector) {\n      if (!attrSelector) return null;\n      return this._doc.querySelector(`meta[${attrSelector}]`) || null;\n    }\n    /**\n     * Retrieves a set of `<meta>` tag elements in the current HTML document.\n     * @param attrSelector The tag attribute and value to match against, in the format\n     * `\"tag_attribute='value string'\"`.\n     * @returns The matching elements, if any.\n     */\n    getTags(attrSelector) {\n      if (!attrSelector) return [];\n      const list /*NodeList*/ = this._doc.querySelectorAll(`meta[${attrSelector}]`);\n      return list ? [].slice.call(list) : [];\n    }\n    /**\n     * Modifies an existing `<meta>` tag element in the current HTML document.\n     * @param tag The tag description with which to replace the existing tag content.\n     * @param selector A tag attribute and value to match against, to identify\n     * an existing tag. A string in the format `\"tag_attribute=`value string`\"`.\n     * If not supplied, matches a tag with the same `name` or `property` attribute value as the\n     * replacement tag.\n     * @return The modified element.\n     */\n    updateTag(tag, selector) {\n      if (!tag) return null;\n      selector = selector || this._parseSelector(tag);\n      const meta = this.getTag(selector);\n      if (meta) {\n        return this._setMetaElementAttributes(tag, meta);\n      }\n      return this._getOrCreateElement(tag, true);\n    }\n    /**\n     * Removes an existing `<meta>` tag element from the current HTML document.\n     * @param attrSelector A tag attribute and value to match against, to identify\n     * an existing tag. A string in the format `\"tag_attribute=`value string`\"`.\n     */\n    removeTag(attrSelector) {\n      this.removeTagElement(this.getTag(attrSelector));\n    }\n    /**\n     * Removes an existing `<meta>` tag element from the current HTML document.\n     * @param meta The tag definition to match against to identify an existing tag.\n     */\n    removeTagElement(meta) {\n      if (meta) {\n        this._dom.remove(meta);\n      }\n    }\n    _getOrCreateElement(meta, forceCreation = false) {\n      if (!forceCreation) {\n        const selector = this._parseSelector(meta);\n        // It's allowed to have multiple elements with the same name so it's not enough to\n        // just check that element with the same name already present on the page. We also need to\n        // check if element has tag attributes\n        const elem = this.getTags(selector).filter(elem => this._containsAttributes(meta, elem))[0];\n        if (elem !== undefined) return elem;\n      }\n      const element = this._dom.createElement('meta');\n      this._setMetaElementAttributes(meta, element);\n      const head = this._doc.getElementsByTagName('head')[0];\n      head.appendChild(element);\n      return element;\n    }\n    _setMetaElementAttributes(tag, el) {\n      Object.keys(tag).forEach(prop => el.setAttribute(this._getMetaKeyMap(prop), tag[prop]));\n      return el;\n    }\n    _parseSelector(tag) {\n      const attr = tag.name ? 'name' : 'property';\n      return `${attr}=\"${tag[attr]}\"`;\n    }\n    _containsAttributes(tag, elem) {\n      return Object.keys(tag).every(key => elem.getAttribute(this._getMetaKeyMap(key)) === tag[key]);\n    }\n    _getMetaKeyMap(prop) {\n      return META_KEYS_MAP[prop] || prop;\n    }\n    static ɵfac = function Meta_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || Meta)(i0.ɵɵinject(DOCUMENT));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: Meta,\n      factory: Meta.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return Meta;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Mapping for MetaDefinition properties with their correct meta attribute names\n */\nconst META_KEYS_MAP = {\n  httpEquiv: 'http-equiv'\n};\n\n/**\n * A service that can be used to get and set the title of a current HTML document.\n *\n * Since an Angular application can't be bootstrapped on the entire HTML document (`<html>` tag)\n * it is not possible to bind to the `text` property of the `HTMLTitleElement` elements\n * (representing the `<title>` tag). Instead, this service can be used to set and get the current\n * title value.\n *\n * @publicApi\n */\nlet Title = /*#__PURE__*/(() => {\n  class Title {\n    _doc;\n    constructor(_doc) {\n      this._doc = _doc;\n    }\n    /**\n     * Get the title of the current HTML document.\n     */\n    getTitle() {\n      return this._doc.title;\n    }\n    /**\n     * Set the title of the current HTML document.\n     * @param newTitle\n     */\n    setTitle(newTitle) {\n      this._doc.title = newTitle || '';\n    }\n    static ɵfac = function Title_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || Title)(i0.ɵɵinject(DOCUMENT));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: Title,\n      factory: Title.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return Title;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/// <reference path=\"../../../goog.d.ts\" />\n/**\n * Exports the value under a given `name` in the global property `ng`. For example `ng.probe` if\n * `name` is `'probe'`.\n * @param name Name under which it will be exported. Keep in mind this will be a property of the\n * global `ng` object.\n * @param value The value to export.\n */\nfunction exportNgVar(name, value) {\n  if (typeof COMPILED === 'undefined' || !COMPILED) {\n    // Note: we can't export `ng` when using closure enhanced optimization as:\n    // - closure declares globals itself for minified names, which sometimes clobber our `ng` global\n    // - we can't declare a closure extern as the namespace `ng` is already used within Google\n    //   for typings for angularJS (via `goog.provide('ng....')`).\n    const ng = _global['ng'] = _global['ng'] || {};\n    ng[name] = value;\n  }\n}\nclass ChangeDetectionPerfRecord {\n  msPerTick;\n  numTicks;\n  constructor(msPerTick, numTicks) {\n    this.msPerTick = msPerTick;\n    this.numTicks = numTicks;\n  }\n}\n/**\n * Entry point for all Angular profiling-related debug tools. This object\n * corresponds to the `ng.profiler` in the dev console.\n */\nclass AngularProfiler {\n  appRef;\n  constructor(ref) {\n    this.appRef = ref.injector.get(ApplicationRef);\n  }\n  // tslint:disable:no-console\n  /**\n   * Exercises change detection in a loop and then prints the average amount of\n   * time in milliseconds how long a single round of change detection takes for\n   * the current state of the UI. It runs a minimum of 5 rounds for a minimum\n   * of 500 milliseconds.\n   *\n   * Optionally, a user may pass a `config` parameter containing a map of\n   * options. Supported options are:\n   *\n   * `record` (boolean) - causes the profiler to record a CPU profile while\n   * it exercises the change detector. Example:\n   *\n   * ```ts\n   * ng.profiler.timeChangeDetection({record: true})\n   * ```\n   */\n  timeChangeDetection(config) {\n    const record = config && config['record'];\n    const profileName = 'Change Detection';\n    // Profiler is not available in Android browsers without dev tools opened\n    if (record && 'profile' in console && typeof console.profile === 'function') {\n      console.profile(profileName);\n    }\n    const start = performance.now();\n    let numTicks = 0;\n    while (numTicks < 5 || performance.now() - start < 500) {\n      this.appRef.tick();\n      numTicks++;\n    }\n    const end = performance.now();\n    if (record && 'profileEnd' in console && typeof console.profileEnd === 'function') {\n      console.profileEnd(profileName);\n    }\n    const msPerTick = (end - start) / numTicks;\n    console.log(`ran ${numTicks} change detection cycles`);\n    console.log(`${msPerTick.toFixed(2)} ms per check`);\n    return new ChangeDetectionPerfRecord(msPerTick, numTicks);\n  }\n}\nconst PROFILER_GLOBAL_NAME = 'profiler';\n/**\n * Enabled Angular debug tools that are accessible via your browser's\n * developer console.\n *\n * Usage:\n *\n * 1. Open developer console (e.g. in Chrome Ctrl + Shift + j)\n * 1. Type `ng.` (usually the console will show auto-complete suggestion)\n * 1. Try the change detection profiler `ng.profiler.timeChangeDetection()`\n *    then hit Enter.\n *\n * @publicApi\n */\nfunction enableDebugTools(ref) {\n  exportNgVar(PROFILER_GLOBAL_NAME, new AngularProfiler(ref));\n  return ref;\n}\n/**\n * Disables Angular tools.\n *\n * @publicApi\n */\nfunction disableDebugTools() {\n  exportNgVar(PROFILER_GLOBAL_NAME, null);\n}\n\n/**\n * Predicates for use with {@link DebugElement}'s query functions.\n *\n * @publicApi\n */\nclass By {\n  /**\n   * Match all nodes.\n   *\n   * @usageNotes\n   * ### Example\n   *\n   * {@example platform-browser/dom/debug/ts/by/by.ts region='by_all'}\n   */\n  static all() {\n    return () => true;\n  }\n  /**\n   * Match elements by the given CSS selector.\n   *\n   * @usageNotes\n   * ### Example\n   *\n   * {@example platform-browser/dom/debug/ts/by/by.ts region='by_css'}\n   */\n  static css(selector) {\n    return debugElement => {\n      return debugElement.nativeElement != null ? elementMatches(debugElement.nativeElement, selector) : false;\n    };\n  }\n  /**\n   * Match nodes that have the given directive present.\n   *\n   * @usageNotes\n   * ### Example\n   *\n   * {@example platform-browser/dom/debug/ts/by/by.ts region='by_directive'}\n   */\n  static directive(type) {\n    return debugNode => debugNode.providerTokens.indexOf(type) !== -1;\n  }\n}\nfunction elementMatches(n, selector) {\n  if (_getDOM().isElementNode(n)) {\n    return n.matches && n.matches(selector) || n.msMatchesSelector && n.msMatchesSelector(selector) || n.webkitMatchesSelector && n.webkitMatchesSelector(selector);\n  }\n  return false;\n}\n\n/// <reference types=\"hammerjs\" />\n/**\n * Supported HammerJS recognizer event names.\n */\nconst EVENT_NAMES = {\n  // pan\n  'pan': true,\n  'panstart': true,\n  'panmove': true,\n  'panend': true,\n  'pancancel': true,\n  'panleft': true,\n  'panright': true,\n  'panup': true,\n  'pandown': true,\n  // pinch\n  'pinch': true,\n  'pinchstart': true,\n  'pinchmove': true,\n  'pinchend': true,\n  'pinchcancel': true,\n  'pinchin': true,\n  'pinchout': true,\n  // press\n  'press': true,\n  'pressup': true,\n  // rotate\n  'rotate': true,\n  'rotatestart': true,\n  'rotatemove': true,\n  'rotateend': true,\n  'rotatecancel': true,\n  // swipe\n  'swipe': true,\n  'swipeleft': true,\n  'swiperight': true,\n  'swipeup': true,\n  'swipedown': true,\n  // tap\n  'tap': true,\n  'doubletap': true\n};\n/**\n * DI token for providing [HammerJS](https://hammerjs.github.io/) support to Angular.\n * @see {@link HammerGestureConfig}\n *\n * @ngModule HammerModule\n * @publicApi\n */\nconst HAMMER_GESTURE_CONFIG = /*#__PURE__*/new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'HammerGestureConfig' : '');\n/**\n * Injection token used to provide a HammerLoader to Angular.\n *\n * @see {@link HammerLoader}\n *\n * @publicApi\n */\nconst HAMMER_LOADER = /*#__PURE__*/new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'HammerLoader' : '');\n/**\n * An injectable [HammerJS Manager](https://hammerjs.github.io/api/#hammermanager)\n * for gesture recognition. Configures specific event recognition.\n * @publicApi\n */\nlet HammerGestureConfig = /*#__PURE__*/(() => {\n  class HammerGestureConfig {\n    /**\n     * A set of supported event names for gestures to be used in Angular.\n     * Angular supports all built-in recognizers, as listed in\n     * [HammerJS documentation](https://hammerjs.github.io/).\n     */\n    events = [];\n    /**\n     * Maps gesture event names to a set of configuration options\n     * that specify overrides to the default values for specific properties.\n     *\n     * The key is a supported event name to be configured,\n     * and the options object contains a set of properties, with override values\n     * to be applied to the named recognizer event.\n     * For example, to disable recognition of the rotate event, specify\n     *  `{\"rotate\": {\"enable\": false}}`.\n     *\n     * Properties that are not present take the HammerJS default values.\n     * For information about which properties are supported for which events,\n     * and their allowed and default values, see\n     * [HammerJS documentation](https://hammerjs.github.io/).\n     *\n     */\n    overrides = {};\n    /**\n     * Properties whose default values can be overridden for a given event.\n     * Different sets of properties apply to different events.\n     * For information about which properties are supported for which events,\n     * and their allowed and default values, see\n     * [HammerJS documentation](https://hammerjs.github.io/).\n     */\n    options;\n    /**\n     * Creates a [HammerJS Manager](https://hammerjs.github.io/api/#hammermanager)\n     * and attaches it to a given HTML element.\n     * @param element The element that will recognize gestures.\n     * @returns A HammerJS event-manager object.\n     */\n    buildHammer(element) {\n      const mc = new Hammer(element, this.options);\n      mc.get('pinch').set({\n        enable: true\n      });\n      mc.get('rotate').set({\n        enable: true\n      });\n      for (const eventName in this.overrides) {\n        mc.get(eventName).set(this.overrides[eventName]);\n      }\n      return mc;\n    }\n    static ɵfac = function HammerGestureConfig_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || HammerGestureConfig)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: HammerGestureConfig,\n      factory: HammerGestureConfig.ɵfac\n    });\n  }\n  return HammerGestureConfig;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Event plugin that adds Hammer support to an application.\n *\n * @ngModule HammerModule\n */\nlet HammerGesturesPlugin = /*#__PURE__*/(() => {\n  class HammerGesturesPlugin extends EventManagerPlugin {\n    _config;\n    _injector;\n    loader;\n    _loaderPromise = null;\n    constructor(doc, _config, _injector, loader) {\n      super(doc);\n      this._config = _config;\n      this._injector = _injector;\n      this.loader = loader;\n    }\n    supports(eventName) {\n      if (!EVENT_NAMES.hasOwnProperty(eventName.toLowerCase()) && !this.isCustomEvent(eventName)) {\n        return false;\n      }\n      if (!window.Hammer && !this.loader) {\n        if (typeof ngDevMode === 'undefined' || ngDevMode) {\n          // Get a `Console` through an injector to tree-shake the\n          // class when it is unused in production.\n          const _console = this._injector.get(_Console);\n          _console.warn(`The \"${eventName}\" event cannot be bound because Hammer.JS is not ` + `loaded and no custom loader has been specified.`);\n        }\n        return false;\n      }\n      return true;\n    }\n    addEventListener(element, eventName, handler) {\n      const zone = this.manager.getZone();\n      eventName = eventName.toLowerCase();\n      // If Hammer is not present but a loader is specified, we defer adding the event listener\n      // until Hammer is loaded.\n      if (!window.Hammer && this.loader) {\n        this._loaderPromise = this._loaderPromise || zone.runOutsideAngular(() => this.loader());\n        // This `addEventListener` method returns a function to remove the added listener.\n        // Until Hammer is loaded, the returned function needs to *cancel* the registration rather\n        // than remove anything.\n        let cancelRegistration = false;\n        let deregister = () => {\n          cancelRegistration = true;\n        };\n        zone.runOutsideAngular(() => this._loaderPromise.then(() => {\n          // If Hammer isn't actually loaded when the custom loader resolves, give up.\n          if (!window.Hammer) {\n            if (typeof ngDevMode === 'undefined' || ngDevMode) {\n              const _console = this._injector.get(_Console);\n              _console.warn(`The custom HAMMER_LOADER completed, but Hammer.JS is not present.`);\n            }\n            deregister = () => {};\n            return;\n          }\n          if (!cancelRegistration) {\n            // Now that Hammer is loaded and the listener is being loaded for real,\n            // the deregistration function changes from canceling registration to\n            // removal.\n            deregister = this.addEventListener(element, eventName, handler);\n          }\n        }).catch(() => {\n          if (typeof ngDevMode === 'undefined' || ngDevMode) {\n            const _console = this._injector.get(_Console);\n            _console.warn(`The \"${eventName}\" event cannot be bound because the custom ` + `Hammer.JS loader failed.`);\n          }\n          deregister = () => {};\n        }));\n        // Return a function that *executes* `deregister` (and not `deregister` itself) so that we\n        // can change the behavior of `deregister` once the listener is added. Using a closure in\n        // this way allows us to avoid any additional data structures to track listener removal.\n        return () => {\n          deregister();\n        };\n      }\n      return zone.runOutsideAngular(() => {\n        // Creating the manager bind events, must be done outside of angular\n        const mc = this._config.buildHammer(element);\n        const callback = function (eventObj) {\n          zone.runGuarded(function () {\n            handler(eventObj);\n          });\n        };\n        mc.on(eventName, callback);\n        return () => {\n          mc.off(eventName, callback);\n          // destroy mc to prevent memory leak\n          if (typeof mc.destroy === 'function') {\n            mc.destroy();\n          }\n        };\n      });\n    }\n    isCustomEvent(eventName) {\n      return this._config.events.indexOf(eventName) > -1;\n    }\n    static ɵfac = function HammerGesturesPlugin_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || HammerGesturesPlugin)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(HAMMER_GESTURE_CONFIG), i0.ɵɵinject(i0.Injector), i0.ɵɵinject(HAMMER_LOADER, 8));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: HammerGesturesPlugin,\n      factory: HammerGesturesPlugin.ɵfac\n    });\n  }\n  return HammerGesturesPlugin;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Adds support for HammerJS.\n *\n * Import this module at the root of your application so that Angular can work with\n * HammerJS to detect gesture events.\n *\n * Note that applications still need to include the HammerJS script itself. This module\n * simply sets up the coordination layer between HammerJS and Angular's `EventManager`.\n *\n * @publicApi\n */\nlet HammerModule = /*#__PURE__*/(() => {\n  class HammerModule {\n    static ɵfac = function HammerModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || HammerModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: HammerModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      providers: [{\n        provide: EVENT_MANAGER_PLUGINS,\n        useClass: HammerGesturesPlugin,\n        multi: true,\n        deps: [DOCUMENT, HAMMER_GESTURE_CONFIG, Injector, [new Optional(), HAMMER_LOADER]]\n      }, {\n        provide: HAMMER_GESTURE_CONFIG,\n        useClass: HammerGestureConfig\n      }]\n    });\n  }\n  return HammerModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * DomSanitizer helps preventing Cross Site Scripting Security bugs (XSS) by sanitizing\n * values to be safe to use in the different DOM contexts.\n *\n * For example, when binding a URL in an `<a [href]=\"someValue\">` hyperlink, `someValue` will be\n * sanitized so that an attacker cannot inject e.g. a `javascript:` URL that would execute code on\n * the website.\n *\n * In specific situations, it might be necessary to disable sanitization, for example if the\n * application genuinely needs to produce a `javascript:` style link with a dynamic value in it.\n * Users can bypass security by constructing a value with one of the `bypassSecurityTrust...`\n * methods, and then binding to that value from the template.\n *\n * These situations should be very rare, and extraordinary care must be taken to avoid creating a\n * Cross Site Scripting (XSS) security bug!\n *\n * When using `bypassSecurityTrust...`, make sure to call the method as early as possible and as\n * close as possible to the source of the value, to make it easy to verify no security bug is\n * created by its use.\n *\n * It is not required (and not recommended) to bypass security if the value is safe, e.g. a URL that\n * does not start with a suspicious protocol, or an HTML snippet that does not contain dangerous\n * code. The sanitizer leaves safe values intact.\n *\n * @security Calling any of the `bypassSecurityTrust...` APIs disables Angular's built-in\n * sanitization for the value passed in. Carefully check and audit all values and code paths going\n * into this call. Make sure any user data is appropriately escaped for this security context.\n * For more detail, see the [Security Guide](https://g.co/ng/security).\n *\n * @publicApi\n */\nlet DomSanitizer = /*#__PURE__*/(() => {\n  class DomSanitizer {\n    static ɵfac = function DomSanitizer_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || DomSanitizer)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: DomSanitizer,\n      factory: function DomSanitizer_Factory(__ngFactoryType__) {\n        let __ngConditionalFactory__ = null;\n        if (__ngFactoryType__) {\n          __ngConditionalFactory__ = new (__ngFactoryType__ || DomSanitizer)();\n        } else {\n          __ngConditionalFactory__ = i0.ɵɵinject(DomSanitizerImpl);\n        }\n        return __ngConditionalFactory__;\n      },\n      providedIn: 'root'\n    });\n  }\n  return DomSanitizer;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet DomSanitizerImpl = /*#__PURE__*/(() => {\n  class DomSanitizerImpl extends DomSanitizer {\n    _doc;\n    constructor(_doc) {\n      super();\n      this._doc = _doc;\n    }\n    sanitize(ctx, value) {\n      if (value == null) return null;\n      switch (ctx) {\n        case SecurityContext.NONE:\n          return value;\n        case SecurityContext.HTML:\n          if (_allowSanitizationBypassAndThrow(value, \"HTML\" /* BypassType.Html */)) {\n            return _unwrapSafeValue(value);\n          }\n          return __sanitizeHtml(this._doc, String(value)).toString();\n        case SecurityContext.STYLE:\n          if (_allowSanitizationBypassAndThrow(value, \"Style\" /* BypassType.Style */)) {\n            return _unwrapSafeValue(value);\n          }\n          return value;\n        case SecurityContext.SCRIPT:\n          if (_allowSanitizationBypassAndThrow(value, \"Script\" /* BypassType.Script */)) {\n            return _unwrapSafeValue(value);\n          }\n          throw new _RuntimeError(5200 /* RuntimeErrorCode.SANITIZATION_UNSAFE_SCRIPT */, (typeof ngDevMode === 'undefined' || ngDevMode) && 'unsafe value used in a script context');\n        case SecurityContext.URL:\n          if (_allowSanitizationBypassAndThrow(value, \"URL\" /* BypassType.Url */)) {\n            return _unwrapSafeValue(value);\n          }\n          return __sanitizeUrl(String(value));\n        case SecurityContext.RESOURCE_URL:\n          if (_allowSanitizationBypassAndThrow(value, \"ResourceURL\" /* BypassType.ResourceUrl */)) {\n            return _unwrapSafeValue(value);\n          }\n          throw new _RuntimeError(5201 /* RuntimeErrorCode.SANITIZATION_UNSAFE_RESOURCE_URL */, (typeof ngDevMode === 'undefined' || ngDevMode) && `unsafe value used in a resource URL context (see ${_XSS_SECURITY_URL})`);\n        default:\n          throw new _RuntimeError(5202 /* RuntimeErrorCode.SANITIZATION_UNEXPECTED_CTX */, (typeof ngDevMode === 'undefined' || ngDevMode) && `Unexpected SecurityContext ${ctx} (see ${_XSS_SECURITY_URL})`);\n      }\n    }\n    bypassSecurityTrustHtml(value) {\n      return _bypassSanitizationTrustHtml(value);\n    }\n    bypassSecurityTrustStyle(value) {\n      return _bypassSanitizationTrustStyle(value);\n    }\n    bypassSecurityTrustScript(value) {\n      return _bypassSanitizationTrustScript(value);\n    }\n    bypassSecurityTrustUrl(value) {\n      return _bypassSanitizationTrustUrl(value);\n    }\n    bypassSecurityTrustResourceUrl(value) {\n      return _bypassSanitizationTrustResourceUrl(value);\n    }\n    static ɵfac = function DomSanitizerImpl_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || DomSanitizerImpl)(i0.ɵɵinject(DOCUMENT));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: DomSanitizerImpl,\n      factory: DomSanitizerImpl.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return DomSanitizerImpl;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * The list of features as an enum to uniquely type each `HydrationFeature`.\n * @see {@link HydrationFeature}\n *\n * @publicApi\n */\nvar HydrationFeatureKind = /*#__PURE__*/function (HydrationFeatureKind) {\n  HydrationFeatureKind[HydrationFeatureKind[\"NoHttpTransferCache\"] = 0] = \"NoHttpTransferCache\";\n  HydrationFeatureKind[HydrationFeatureKind[\"HttpTransferCacheOptions\"] = 1] = \"HttpTransferCacheOptions\";\n  HydrationFeatureKind[HydrationFeatureKind[\"I18nSupport\"] = 2] = \"I18nSupport\";\n  HydrationFeatureKind[HydrationFeatureKind[\"EventReplay\"] = 3] = \"EventReplay\";\n  HydrationFeatureKind[HydrationFeatureKind[\"IncrementalHydration\"] = 4] = \"IncrementalHydration\";\n  return HydrationFeatureKind;\n}(HydrationFeatureKind || {});\n/**\n * Helper function to create an object that represents a Hydration feature.\n */\nfunction hydrationFeature(ɵkind, ɵproviders = [], ɵoptions = {}) {\n  return {\n    ɵkind,\n    ɵproviders\n  };\n}\n/**\n * Disables HTTP transfer cache. Effectively causes HTTP requests to be performed twice: once on the\n * server and other one on the browser.\n *\n * @publicApi\n */\nfunction withNoHttpTransferCache() {\n  // This feature has no providers and acts as a flag that turns off\n  // HTTP transfer cache (which otherwise is turned on by default).\n  return hydrationFeature(HydrationFeatureKind.NoHttpTransferCache);\n}\n/**\n * The function accepts an object, which allows to configure cache parameters,\n * such as which headers should be included (no headers are included by default),\n * whether POST requests should be cached or a callback function to determine if a\n * particular request should be cached.\n *\n * @publicApi\n */\nfunction withHttpTransferCacheOptions(options) {\n  // This feature has no providers and acts as a flag to pass options to the HTTP transfer cache.\n  return hydrationFeature(HydrationFeatureKind.HttpTransferCacheOptions, _withHttpTransferCache(options));\n}\n/**\n * Enables support for hydrating i18n blocks.\n *\n * @developerPreview\n * @publicApi\n */\nfunction withI18nSupport() {\n  return hydrationFeature(HydrationFeatureKind.I18nSupport, _withI18nSupport());\n}\n/**\n * Enables support for replaying user events (e.g. `click`s) that happened on a page\n * before hydration logic has completed. Once an application is hydrated, all captured\n * events are replayed and relevant event listeners are executed.\n *\n * @usageNotes\n *\n * Basic example of how you can enable event replay in your application when\n * `bootstrapApplication` function is used:\n * ```ts\n * bootstrapApplication(AppComponent, {\n *   providers: [provideClientHydration(withEventReplay())]\n * });\n * ```\n * @publicApi\n * @see {@link provideClientHydration}\n */\nfunction withEventReplay() {\n  return hydrationFeature(HydrationFeatureKind.EventReplay, _withEventReplay());\n}\n/**\n * Enables support for incremental hydration using the `hydrate` trigger syntax.\n *\n * @usageNotes\n *\n * Basic example of how you can enable incremental hydration in your application when\n * the `bootstrapApplication` function is used:\n * ```ts\n * bootstrapApplication(AppComponent, {\n *   providers: [provideClientHydration(withIncrementalHydration())]\n * });\n * ```\n * @experimental\n * @publicApi\n * @see {@link provideClientHydration}\n */\nfunction withIncrementalHydration() {\n  return hydrationFeature(HydrationFeatureKind.IncrementalHydration, _withIncrementalHydration());\n}\n/**\n * Returns an `ENVIRONMENT_INITIALIZER` token setup with a function\n * that verifies whether compatible ZoneJS was used in an application\n * and logs a warning in a console if it's not the case.\n */\nfunction provideZoneJsCompatibilityDetector() {\n  return [{\n    provide: ENVIRONMENT_INITIALIZER,\n    useValue: () => {\n      const ngZone = inject(NgZone);\n      const isZoneless = inject(_ZONELESS_ENABLED);\n      // Checking `ngZone instanceof NgZone` would be insufficient here,\n      // because custom implementations might use NgZone as a base class.\n      if (!isZoneless && ngZone.constructor !== NgZone) {\n        const console = inject(_Console);\n        const message = _formatRuntimeError(-5e3 /* RuntimeErrorCode.UNSUPPORTED_ZONEJS_INSTANCE */, 'Angular detected that hydration was enabled for an application ' + 'that uses a custom or a noop Zone.js implementation. ' + 'This is not yet a fully supported configuration.');\n        console.warn(message);\n      }\n    },\n    multi: true\n  }];\n}\n/**\n * Sets up providers necessary to enable hydration functionality for the application.\n *\n * By default, the function enables the recommended set of features for the optimal\n * performance for most of the applications. It includes the following features:\n *\n * * Reconciling DOM hydration. Learn more about it [here](guide/hydration).\n * * [`HttpClient`](api/common/http/HttpClient) response caching while running on the server and\n * transferring this cache to the client to avoid extra HTTP requests. Learn more about data caching\n * [here](guide/ssr#caching-data-when-using-httpclient).\n *\n * These functions allow you to disable some of the default features or enable new ones:\n *\n * * {@link withNoHttpTransferCache} to disable HTTP transfer cache\n * * {@link withHttpTransferCacheOptions} to configure some HTTP transfer cache options\n * * {@link withI18nSupport} to enable hydration support for i18n blocks\n * * {@link withEventReplay} to enable support for replaying user events\n *\n * @usageNotes\n *\n * Basic example of how you can enable hydration in your application when\n * `bootstrapApplication` function is used:\n * ```ts\n * bootstrapApplication(AppComponent, {\n *   providers: [provideClientHydration()]\n * });\n * ```\n *\n * Alternatively if you are using NgModules, you would add `provideClientHydration`\n * to your root app module's provider list.\n * ```ts\n * @NgModule({\n *   declarations: [RootCmp],\n *   bootstrap: [RootCmp],\n *   providers: [provideClientHydration()],\n * })\n * export class AppModule {}\n * ```\n *\n * @see {@link withNoHttpTransferCache}\n * @see {@link withHttpTransferCacheOptions}\n * @see {@link withI18nSupport}\n * @see {@link withEventReplay}\n *\n * @param features Optional features to configure additional hydration behaviors.\n * @returns A set of providers to enable hydration.\n *\n * @publicApi\n */\nfunction provideClientHydration(...features) {\n  const providers = [];\n  const featuresKind = new Set();\n  for (const {\n    ɵproviders,\n    ɵkind\n  } of features) {\n    featuresKind.add(ɵkind);\n    if (ɵproviders.length) {\n      providers.push(ɵproviders);\n    }\n  }\n  const hasHttpTransferCacheOptions = featuresKind.has(HydrationFeatureKind.HttpTransferCacheOptions);\n  if (typeof ngDevMode !== 'undefined' && ngDevMode && featuresKind.has(HydrationFeatureKind.NoHttpTransferCache) && hasHttpTransferCacheOptions) {\n    // TODO: Make this a runtime error\n    throw new Error('Configuration error: found both withHttpTransferCacheOptions() and withNoHttpTransferCache() in the same call to provideClientHydration(), which is a contradiction.');\n  }\n  return makeEnvironmentProviders([typeof ngDevMode !== 'undefined' && ngDevMode ? provideZoneJsCompatibilityDetector() : [], _withDomHydration(), featuresKind.has(HydrationFeatureKind.NoHttpTransferCache) || hasHttpTransferCacheOptions ? [] : _withHttpTransferCache({}), providers]);\n}\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of the platform-browser package.\n */\n/**\n * @publicApi\n */\nconst VERSION = /*#__PURE__*/new Version('19.2.20');\nexport { By, DomSanitizer, EVENT_MANAGER_PLUGINS, EventManagerPlugin, HAMMER_GESTURE_CONFIG, HAMMER_LOADER, HammerGestureConfig, HammerModule, HydrationFeatureKind, Meta, Title, VERSION, disableDebugTools, enableDebugTools, provideClientHydration, withEventReplay, withHttpTransferCacheOptions, withI18nSupport, withIncrementalHydration, withNoHttpTransferCache, DomSanitizerImpl as ɵDomSanitizerImpl, HammerGesturesPlugin as ɵHammerGesturesPlugin };\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { DOCUMENT, Location } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { ɵisPromise as _isPromise, ɵRuntimeError as _RuntimeError, Injectable, ɵisNgModule as _isNgModule, isStandalone, createEnvironmentInjector, InjectionToken, EventEmitter, input, inject, ViewContainerRef, ChangeDetectorRef, Output, Input, Directive, reflectComponentType, Component, ɵisInjectable as _isInjectable, runInInjectionContext, NgModuleFactory, Compiler, NgZone, afterNextRender, EnvironmentInjector, DestroyRef, ɵConsole as _Console, ɵPendingTasksInternal as _PendingTasksInternal } from '@angular/core';\nimport { isObservable, from, of, BehaviorSubject, combineLatest, EmptyError, concat, defer, pipe, throwError, EMPTY, ConnectableObservable, Subject, Subscription } from 'rxjs';\nimport { map, switchMap, take, startWith, filter, mergeMap, first, concatMap, tap, catchError, scan, defaultIfEmpty, last as last$1, takeLast, finalize, refCount, takeUntil } from 'rxjs/operators';\nimport * as i1 from '@angular/platform-browser';\n\n/**\n * The primary routing outlet.\n *\n * @publicApi\n */\nconst PRIMARY_OUTLET = 'primary';\n/**\n * A private symbol used to store the value of `Route.title` inside the `Route.data` if it is a\n * static string or `Route.resolve` if anything else. This allows us to reuse the existing route\n * data/resolvers to support the title feature without new instrumentation in the `Router` pipeline.\n */\nconst RouteTitleKey = /* @__PURE__ */Symbol('RouteTitle');\nclass ParamsAsMap {\n  params;\n  constructor(params) {\n    this.params = params || {};\n  }\n  has(name) {\n    return Object.prototype.hasOwnProperty.call(this.params, name);\n  }\n  get(name) {\n    if (this.has(name)) {\n      const v = this.params[name];\n      return Array.isArray(v) ? v[0] : v;\n    }\n    return null;\n  }\n  getAll(name) {\n    if (this.has(name)) {\n      const v = this.params[name];\n      return Array.isArray(v) ? v : [v];\n    }\n    return [];\n  }\n  get keys() {\n    return Object.keys(this.params);\n  }\n}\n/**\n * Converts a `Params` instance to a `ParamMap`.\n * @param params The instance to convert.\n * @returns The new map instance.\n *\n * @publicApi\n */\nfunction convertToParamMap(params) {\n  return new ParamsAsMap(params);\n}\n/**\n * Matches the route configuration (`route`) against the actual URL (`segments`).\n *\n * When no matcher is defined on a `Route`, this is the matcher used by the Router by default.\n *\n * @param segments The remaining unmatched segments in the current navigation\n * @param segmentGroup The current segment group being matched\n * @param route The `Route` to match against.\n *\n * @see {@link UrlMatchResult}\n * @see {@link Route}\n *\n * @returns The resulting match information or `null` if the `route` should not match.\n * @publicApi\n */\nfunction defaultUrlMatcher(segments, segmentGroup, route) {\n  const parts = route.path.split('/');\n  if (parts.length > segments.length) {\n    // The actual URL is shorter than the config, no match\n    return null;\n  }\n  if (route.pathMatch === 'full' && (segmentGroup.hasChildren() || parts.length < segments.length)) {\n    // The config is longer than the actual URL but we are looking for a full match, return null\n    return null;\n  }\n  const posParams = {};\n  // Check each config part against the actual URL\n  for (let index = 0; index < parts.length; index++) {\n    const part = parts[index];\n    const segment = segments[index];\n    const isParameter = part[0] === ':';\n    if (isParameter) {\n      posParams[part.substring(1)] = segment;\n    } else if (part !== segment.path) {\n      // The actual URL part does not match the config, no match\n      return null;\n    }\n  }\n  return {\n    consumed: segments.slice(0, parts.length),\n    posParams\n  };\n}\nfunction shallowEqualArrays(a, b) {\n  if (a.length !== b.length) return false;\n  for (let i = 0; i < a.length; ++i) {\n    if (!shallowEqual(a[i], b[i])) return false;\n  }\n  return true;\n}\nfunction shallowEqual(a, b) {\n  // While `undefined` should never be possible, it would sometimes be the case in IE 11\n  // and pre-chromium Edge. The check below accounts for this edge case.\n  const k1 = a ? getDataKeys(a) : undefined;\n  const k2 = b ? getDataKeys(b) : undefined;\n  if (!k1 || !k2 || k1.length != k2.length) {\n    return false;\n  }\n  let key;\n  for (let i = 0; i < k1.length; i++) {\n    key = k1[i];\n    if (!equalArraysOrString(a[key], b[key])) {\n      return false;\n    }\n  }\n  return true;\n}\n/**\n * Gets the keys of an object, including `symbol` keys.\n */\nfunction getDataKeys(obj) {\n  return [...Object.keys(obj), ...Object.getOwnPropertySymbols(obj)];\n}\n/**\n * Test equality for arrays of strings or a string.\n */\nfunction equalArraysOrString(a, b) {\n  if (Array.isArray(a) && Array.isArray(b)) {\n    if (a.length !== b.length) return false;\n    const aSorted = [...a].sort();\n    const bSorted = [...b].sort();\n    return aSorted.every((val, index) => bSorted[index] === val);\n  } else {\n    return a === b;\n  }\n}\n/**\n * Return the last element of an array.\n */\nfunction last(a) {\n  return a.length > 0 ? a[a.length - 1] : null;\n}\nfunction wrapIntoObservable(value) {\n  if (isObservable(value)) {\n    return value;\n  }\n  if (_isPromise(value)) {\n    // Use `Promise.resolve()` to wrap promise-like instances.\n    // Required ie when a Resolver returns a AngularJS `$q` promise to correctly trigger the\n    // change detection.\n    return from(Promise.resolve(value));\n  }\n  return of(value);\n}\nconst pathCompareMap = {\n  'exact': equalSegmentGroups,\n  'subset': containsSegmentGroup\n};\nconst paramCompareMap = {\n  'exact': equalParams,\n  'subset': containsParams,\n  'ignored': () => true\n};\nfunction containsTree(container, containee, options) {\n  return pathCompareMap[options.paths](container.root, containee.root, options.matrixParams) && paramCompareMap[options.queryParams](container.queryParams, containee.queryParams) && !(options.fragment === 'exact' && container.fragment !== containee.fragment);\n}\nfunction equalParams(container, containee) {\n  // TODO: This does not handle array params correctly.\n  return shallowEqual(container, containee);\n}\nfunction equalSegmentGroups(container, containee, matrixParams) {\n  if (!equalPath(container.segments, containee.segments)) return false;\n  if (!matrixParamsMatch(container.segments, containee.segments, matrixParams)) {\n    return false;\n  }\n  if (container.numberOfChildren !== containee.numberOfChildren) return false;\n  for (const c in containee.children) {\n    if (!container.children[c]) return false;\n    if (!equalSegmentGroups(container.children[c], containee.children[c], matrixParams)) return false;\n  }\n  return true;\n}\nfunction containsParams(container, containee) {\n  return Object.keys(containee).length <= Object.keys(container).length && Object.keys(containee).every(key => equalArraysOrString(container[key], containee[key]));\n}\nfunction containsSegmentGroup(container, containee, matrixParams) {\n  return containsSegmentGroupHelper(container, containee, containee.segments, matrixParams);\n}\nfunction containsSegmentGroupHelper(container, containee, containeePaths, matrixParams) {\n  if (container.segments.length > containeePaths.length) {\n    const current = container.segments.slice(0, containeePaths.length);\n    if (!equalPath(current, containeePaths)) return false;\n    if (containee.hasChildren()) return false;\n    if (!matrixParamsMatch(current, containeePaths, matrixParams)) return false;\n    return true;\n  } else if (container.segments.length === containeePaths.length) {\n    if (!equalPath(container.segments, containeePaths)) return false;\n    if (!matrixParamsMatch(container.segments, containeePaths, matrixParams)) return false;\n    for (const c in containee.children) {\n      if (!container.children[c]) return false;\n      if (!containsSegmentGroup(container.children[c], containee.children[c], matrixParams)) {\n        return false;\n      }\n    }\n    return true;\n  } else {\n    const current = containeePaths.slice(0, container.segments.length);\n    const next = containeePaths.slice(container.segments.length);\n    if (!equalPath(container.segments, current)) return false;\n    if (!matrixParamsMatch(container.segments, current, matrixParams)) return false;\n    if (!container.children[PRIMARY_OUTLET]) return false;\n    return containsSegmentGroupHelper(container.children[PRIMARY_OUTLET], containee, next, matrixParams);\n  }\n}\nfunction matrixParamsMatch(containerPaths, containeePaths, options) {\n  return containeePaths.every((containeeSegment, i) => {\n    return paramCompareMap[options](containerPaths[i].parameters, containeeSegment.parameters);\n  });\n}\n/**\n * @description\n *\n * Represents the parsed URL.\n *\n * Since a router state is a tree, and the URL is nothing but a serialized state, the URL is a\n * serialized tree.\n * UrlTree is a data structure that provides a lot of affordances in dealing with URLs\n *\n * @usageNotes\n * ### Example\n *\n * ```ts\n * @Component({templateUrl:'template.html'})\n * class MyComponent {\n *   constructor(router: Router) {\n *     const tree: UrlTree =\n *       router.parseUrl('/team/33/(user/victor//support:help)?debug=true#fragment');\n *     const f = tree.fragment; // return 'fragment'\n *     const q = tree.queryParams; // returns {debug: 'true'}\n *     const g: UrlSegmentGroup = tree.root.children[PRIMARY_OUTLET];\n *     const s: UrlSegment[] = g.segments; // returns 2 segments 'team' and '33'\n *     g.children[PRIMARY_OUTLET].segments; // returns 2 segments 'user' and 'victor'\n *     g.children['support'].segments; // return 1 segment 'help'\n *   }\n * }\n * ```\n *\n * @publicApi\n */\nclass UrlTree {\n  root;\n  queryParams;\n  fragment;\n  /** @internal */\n  _queryParamMap;\n  constructor(/** The root segment group of the URL tree */\n  root = new UrlSegmentGroup([], {}), /** The query params of the URL */\n  queryParams = {}, /** The fragment of the URL */\n  fragment = null) {\n    this.root = root;\n    this.queryParams = queryParams;\n    this.fragment = fragment;\n    if (typeof ngDevMode === 'undefined' || ngDevMode) {\n      if (root.segments.length > 0) {\n        throw new _RuntimeError(4015 /* RuntimeErrorCode.INVALID_ROOT_URL_SEGMENT */, 'The root `UrlSegmentGroup` should not contain `segments`. ' + 'Instead, these segments belong in the `children` so they can be associated with a named outlet.');\n      }\n    }\n  }\n  get queryParamMap() {\n    this._queryParamMap ??= convertToParamMap(this.queryParams);\n    return this._queryParamMap;\n  }\n  /** @docsNotRequired */\n  toString() {\n    return DEFAULT_SERIALIZER.serialize(this);\n  }\n}\n/**\n * @description\n *\n * Represents the parsed URL segment group.\n *\n * See `UrlTree` for more information.\n *\n * @publicApi\n */\nclass UrlSegmentGroup {\n  segments;\n  children;\n  /** The parent node in the url tree */\n  parent = null;\n  constructor(/** The URL segments of this group. See `UrlSegment` for more information */\n  segments, /** The list of children of this group */\n  children) {\n    this.segments = segments;\n    this.children = children;\n    Object.values(children).forEach(v => v.parent = this);\n  }\n  /** Whether the segment has child segments */\n  hasChildren() {\n    return this.numberOfChildren > 0;\n  }\n  /** Number of child segments */\n  get numberOfChildren() {\n    return Object.keys(this.children).length;\n  }\n  /** @docsNotRequired */\n  toString() {\n    return serializePaths(this);\n  }\n}\n/**\n * @description\n *\n * Represents a single URL segment.\n *\n * A UrlSegment is a part of a URL between the two slashes. It contains a path and the matrix\n * parameters associated with the segment.\n *\n * @usageNotes\n * ### Example\n *\n * ```ts\n * @Component({templateUrl:'template.html'})\n * class MyComponent {\n *   constructor(router: Router) {\n *     const tree: UrlTree = router.parseUrl('/team;id=33');\n *     const g: UrlSegmentGroup = tree.root.children[PRIMARY_OUTLET];\n *     const s: UrlSegment[] = g.segments;\n *     s[0].path; // returns 'team'\n *     s[0].parameters; // returns {id: 33}\n *   }\n * }\n * ```\n *\n * @publicApi\n */\nclass UrlSegment {\n  path;\n  parameters;\n  /** @internal */\n  _parameterMap;\n  constructor(/** The path part of a URL segment */\n  path, /** The matrix parameters associated with a segment */\n  parameters) {\n    this.path = path;\n    this.parameters = parameters;\n  }\n  get parameterMap() {\n    this._parameterMap ??= convertToParamMap(this.parameters);\n    return this._parameterMap;\n  }\n  /** @docsNotRequired */\n  toString() {\n    return serializePath(this);\n  }\n}\nfunction equalSegments(as, bs) {\n  return equalPath(as, bs) && as.every((a, i) => shallowEqual(a.parameters, bs[i].parameters));\n}\nfunction equalPath(as, bs) {\n  if (as.length !== bs.length) return false;\n  return as.every((a, i) => a.path === bs[i].path);\n}\nfunction mapChildrenIntoArray(segment, fn) {\n  let res = [];\n  Object.entries(segment.children).forEach(([childOutlet, child]) => {\n    if (childOutlet === PRIMARY_OUTLET) {\n      res = res.concat(fn(child, childOutlet));\n    }\n  });\n  Object.entries(segment.children).forEach(([childOutlet, child]) => {\n    if (childOutlet !== PRIMARY_OUTLET) {\n      res = res.concat(fn(child, childOutlet));\n    }\n  });\n  return res;\n}\n/**\n * @description\n *\n * Serializes and deserializes a URL string into a URL tree.\n *\n * The url serialization strategy is customizable. You can\n * make all URLs case insensitive by providing a custom UrlSerializer.\n *\n * See `DefaultUrlSerializer` for an example of a URL serializer.\n *\n * @publicApi\n */\nlet UrlSerializer = /*#__PURE__*/(() => {\n  class UrlSerializer {\n    static ɵfac = function UrlSerializer_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || UrlSerializer)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: UrlSerializer,\n      factory: () => (() => new DefaultUrlSerializer())(),\n      providedIn: 'root'\n    });\n  }\n  return UrlSerializer;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n *\n * A default implementation of the `UrlSerializer`.\n *\n * Example URLs:\n *\n * ```\n * /inbox/33(popup:compose)\n * /inbox/33;open=true/messages/44\n * ```\n *\n * DefaultUrlSerializer uses parentheses to serialize secondary segments (e.g., popup:compose), the\n * colon syntax to specify the outlet, and the ';parameter=value' syntax (e.g., open=true) to\n * specify route specific parameters.\n *\n * @publicApi\n */\nclass DefaultUrlSerializer {\n  /** Parses a url into a `UrlTree` */\n  parse(url) {\n    const p = new UrlParser(url);\n    return new UrlTree(p.parseRootSegment(), p.parseQueryParams(), p.parseFragment());\n  }\n  /** Converts a `UrlTree` into a url */\n  serialize(tree) {\n    const segment = `/${serializeSegment(tree.root, true)}`;\n    const query = serializeQueryParams(tree.queryParams);\n    const fragment = typeof tree.fragment === `string` ? `#${encodeUriFragment(tree.fragment)}` : '';\n    return `${segment}${query}${fragment}`;\n  }\n}\nconst DEFAULT_SERIALIZER = /*#__PURE__*/new DefaultUrlSerializer();\nfunction serializePaths(segment) {\n  return segment.segments.map(p => serializePath(p)).join('/');\n}\nfunction serializeSegment(segment, root) {\n  if (!segment.hasChildren()) {\n    return serializePaths(segment);\n  }\n  if (root) {\n    const primary = segment.children[PRIMARY_OUTLET] ? serializeSegment(segment.children[PRIMARY_OUTLET], false) : '';\n    const children = [];\n    Object.entries(segment.children).forEach(([k, v]) => {\n      if (k !== PRIMARY_OUTLET) {\n        children.push(`${k}:${serializeSegment(v, false)}`);\n      }\n    });\n    return children.length > 0 ? `${primary}(${children.join('//')})` : primary;\n  } else {\n    const children = mapChildrenIntoArray(segment, (v, k) => {\n      if (k === PRIMARY_OUTLET) {\n        return [serializeSegment(segment.children[PRIMARY_OUTLET], false)];\n      }\n      return [`${k}:${serializeSegment(v, false)}`];\n    });\n    // use no parenthesis if the only child is a primary outlet route\n    if (Object.keys(segment.children).length === 1 && segment.children[PRIMARY_OUTLET] != null) {\n      return `${serializePaths(segment)}/${children[0]}`;\n    }\n    return `${serializePaths(segment)}/(${children.join('//')})`;\n  }\n}\n/**\n * Encodes a URI string with the default encoding. This function will only ever be called from\n * `encodeUriQuery` or `encodeUriSegment` as it's the base set of encodings to be used. We need\n * a custom encoding because encodeURIComponent is too aggressive and encodes stuff that doesn't\n * have to be encoded per https://url.spec.whatwg.org.\n */\nfunction encodeUriString(s) {\n  return encodeURIComponent(s).replace(/%40/g, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',');\n}\n/**\n * This function should be used to encode both keys and values in a query string key/value. In\n * the following URL, you need to call encodeUriQuery on \"k\" and \"v\":\n *\n * http://www.site.org/html;mk=mv?k=v#f\n */\nfunction encodeUriQuery(s) {\n  return encodeUriString(s).replace(/%3B/gi, ';');\n}\n/**\n * This function should be used to encode a URL fragment. In the following URL, you need to call\n * encodeUriFragment on \"f\":\n *\n * http://www.site.org/html;mk=mv?k=v#f\n */\nfunction encodeUriFragment(s) {\n  return encodeURI(s);\n}\n/**\n * This function should be run on any URI segment as well as the key and value in a key/value\n * pair for matrix params. In the following URL, you need to call encodeUriSegment on \"html\",\n * \"mk\", and \"mv\":\n *\n * http://www.site.org/html;mk=mv?k=v#f\n */\nfunction encodeUriSegment(s) {\n  return encodeUriString(s).replace(/\\(/g, '%28').replace(/\\)/g, '%29').replace(/%26/gi, '&');\n}\nfunction decode(s) {\n  return decodeURIComponent(s);\n}\n// Query keys/values should have the \"+\" replaced first, as \"+\" in a query string is \" \".\n// decodeURIComponent function will not decode \"+\" as a space.\nfunction decodeQuery(s) {\n  return decode(s.replace(/\\+/g, '%20'));\n}\nfunction serializePath(path) {\n  return `${encodeUriSegment(path.path)}${serializeMatrixParams(path.parameters)}`;\n}\nfunction serializeMatrixParams(params) {\n  return Object.entries(params).map(([key, value]) => `;${encodeUriSegment(key)}=${encodeUriSegment(value)}`).join('');\n}\nfunction serializeQueryParams(params) {\n  const strParams = Object.entries(params).map(([name, value]) => {\n    return Array.isArray(value) ? value.map(v => `${encodeUriQuery(name)}=${encodeUriQuery(v)}`).join('&') : `${encodeUriQuery(name)}=${encodeUriQuery(value)}`;\n  }).filter(s => s);\n  return strParams.length ? `?${strParams.join('&')}` : '';\n}\nconst SEGMENT_RE = /^[^\\/()?;#]+/;\nfunction matchSegments(str) {\n  const match = str.match(SEGMENT_RE);\n  return match ? match[0] : '';\n}\nconst MATRIX_PARAM_SEGMENT_RE = /^[^\\/()?;=#]+/;\nfunction matchMatrixKeySegments(str) {\n  const match = str.match(MATRIX_PARAM_SEGMENT_RE);\n  return match ? match[0] : '';\n}\nconst QUERY_PARAM_RE = /^[^=?&#]+/;\n// Return the name of the query param at the start of the string or an empty string\nfunction matchQueryParams(str) {\n  const match = str.match(QUERY_PARAM_RE);\n  return match ? match[0] : '';\n}\nconst QUERY_PARAM_VALUE_RE = /^[^&#]+/;\n// Return the value of the query param at the start of the string or an empty string\nfunction matchUrlQueryParamValue(str) {\n  const match = str.match(QUERY_PARAM_VALUE_RE);\n  return match ? match[0] : '';\n}\nclass UrlParser {\n  url;\n  remaining;\n  constructor(url) {\n    this.url = url;\n    this.remaining = url;\n  }\n  parseRootSegment() {\n    this.consumeOptional('/');\n    if (this.remaining === '' || this.peekStartsWith('?') || this.peekStartsWith('#')) {\n      return new UrlSegmentGroup([], {});\n    }\n    // The root segment group never has segments\n    return new UrlSegmentGroup([], this.parseChildren());\n  }\n  parseQueryParams() {\n    const params = {};\n    if (this.consumeOptional('?')) {\n      do {\n        this.parseQueryParam(params);\n      } while (this.consumeOptional('&'));\n    }\n    return params;\n  }\n  parseFragment() {\n    return this.consumeOptional('#') ? decodeURIComponent(this.remaining) : null;\n  }\n  parseChildren() {\n    if (this.remaining === '') {\n      return {};\n    }\n    this.consumeOptional('/');\n    const segments = [];\n    if (!this.peekStartsWith('(')) {\n      segments.push(this.parseSegment());\n    }\n    while (this.peekStartsWith('/') && !this.peekStartsWith('//') && !this.peekStartsWith('/(')) {\n      this.capture('/');\n      segments.push(this.parseSegment());\n    }\n    let children = {};\n    if (this.peekStartsWith('/(')) {\n      this.capture('/');\n      children = this.parseParens(true);\n    }\n    let res = {};\n    if (this.peekStartsWith('(')) {\n      res = this.parseParens(false);\n    }\n    if (segments.length > 0 || Object.keys(children).length > 0) {\n      res[PRIMARY_OUTLET] = new UrlSegmentGroup(segments, children);\n    }\n    return res;\n  }\n  // parse a segment with its matrix parameters\n  // ie `name;k1=v1;k2`\n  parseSegment() {\n    const path = matchSegments(this.remaining);\n    if (path === '' && this.peekStartsWith(';')) {\n      throw new _RuntimeError(4009 /* RuntimeErrorCode.EMPTY_PATH_WITH_PARAMS */, (typeof ngDevMode === 'undefined' || ngDevMode) && `Empty path url segment cannot have parameters: '${this.remaining}'.`);\n    }\n    this.capture(path);\n    return new UrlSegment(decode(path), this.parseMatrixParams());\n  }\n  parseMatrixParams() {\n    const params = {};\n    while (this.consumeOptional(';')) {\n      this.parseParam(params);\n    }\n    return params;\n  }\n  parseParam(params) {\n    const key = matchMatrixKeySegments(this.remaining);\n    if (!key) {\n      return;\n    }\n    this.capture(key);\n    let value = '';\n    if (this.consumeOptional('=')) {\n      const valueMatch = matchSegments(this.remaining);\n      if (valueMatch) {\n        value = valueMatch;\n        this.capture(value);\n      }\n    }\n    params[decode(key)] = decode(value);\n  }\n  // Parse a single query parameter `name[=value]`\n  parseQueryParam(params) {\n    const key = matchQueryParams(this.remaining);\n    if (!key) {\n      return;\n    }\n    this.capture(key);\n    let value = '';\n    if (this.consumeOptional('=')) {\n      const valueMatch = matchUrlQueryParamValue(this.remaining);\n      if (valueMatch) {\n        value = valueMatch;\n        this.capture(value);\n      }\n    }\n    const decodedKey = decodeQuery(key);\n    const decodedVal = decodeQuery(value);\n    if (params.hasOwnProperty(decodedKey)) {\n      // Append to existing values\n      let currentVal = params[decodedKey];\n      if (!Array.isArray(currentVal)) {\n        currentVal = [currentVal];\n        params[decodedKey] = currentVal;\n      }\n      currentVal.push(decodedVal);\n    } else {\n      // Create a new value\n      params[decodedKey] = decodedVal;\n    }\n  }\n  // parse `(a/b//outlet_name:c/d)`\n  parseParens(allowPrimary) {\n    const segments = {};\n    this.capture('(');\n    while (!this.consumeOptional(')') && this.remaining.length > 0) {\n      const path = matchSegments(this.remaining);\n      const next = this.remaining[path.length];\n      // if is is not one of these characters, then the segment was unescaped\n      // or the group was not closed\n      if (next !== '/' && next !== ')' && next !== ';') {\n        throw new _RuntimeError(4010 /* RuntimeErrorCode.UNPARSABLE_URL */, (typeof ngDevMode === 'undefined' || ngDevMode) && `Cannot parse url '${this.url}'`);\n      }\n      let outletName = undefined;\n      if (path.indexOf(':') > -1) {\n        outletName = path.slice(0, path.indexOf(':'));\n        this.capture(outletName);\n        this.capture(':');\n      } else if (allowPrimary) {\n        outletName = PRIMARY_OUTLET;\n      }\n      const children = this.parseChildren();\n      segments[outletName] = Object.keys(children).length === 1 ? children[PRIMARY_OUTLET] : new UrlSegmentGroup([], children);\n      this.consumeOptional('//');\n    }\n    return segments;\n  }\n  peekStartsWith(str) {\n    return this.remaining.startsWith(str);\n  }\n  // Consumes the prefix when it is present and returns whether it has been consumed\n  consumeOptional(str) {\n    if (this.peekStartsWith(str)) {\n      this.remaining = this.remaining.substring(str.length);\n      return true;\n    }\n    return false;\n  }\n  capture(str) {\n    if (!this.consumeOptional(str)) {\n      throw new _RuntimeError(4011 /* RuntimeErrorCode.UNEXPECTED_VALUE_IN_URL */, (typeof ngDevMode === 'undefined' || ngDevMode) && `Expected \"${str}\".`);\n    }\n  }\n}\nfunction createRoot(rootCandidate) {\n  return rootCandidate.segments.length > 0 ? new UrlSegmentGroup([], {\n    [PRIMARY_OUTLET]: rootCandidate\n  }) : rootCandidate;\n}\n/**\n * Recursively\n * - merges primary segment children into their parents\n * - drops empty children (those which have no segments and no children themselves). This latter\n * prevents serializing a group into something like `/a(aux:)`, where `aux` is an empty child\n * segment.\n * - merges named outlets without a primary segment sibling into the children. This prevents\n * serializing a URL like `//(a:a)(b:b) instead of `/(a:a//b:b)` when the aux b route lives on the\n * root but the `a` route lives under an empty path primary route.\n */\nfunction squashSegmentGroup(segmentGroup) {\n  const newChildren = {};\n  for (const [childOutlet, child] of Object.entries(segmentGroup.children)) {\n    const childCandidate = squashSegmentGroup(child);\n    // moves named children in an empty path primary child into this group\n    if (childOutlet === PRIMARY_OUTLET && childCandidate.segments.length === 0 && childCandidate.hasChildren()) {\n      for (const [grandChildOutlet, grandChild] of Object.entries(childCandidate.children)) {\n        newChildren[grandChildOutlet] = grandChild;\n      }\n    } // don't add empty children\n    else if (childCandidate.segments.length > 0 || childCandidate.hasChildren()) {\n      newChildren[childOutlet] = childCandidate;\n    }\n  }\n  const s = new UrlSegmentGroup(segmentGroup.segments, newChildren);\n  return mergeTrivialChildren(s);\n}\n/**\n * When possible, merges the primary outlet child into the parent `UrlSegmentGroup`.\n *\n * When a segment group has only one child which is a primary outlet, merges that child into the\n * parent. That is, the child segment group's segments are merged into the `s` and the child's\n * children become the children of `s`. Think of this like a 'squash', merging the child segment\n * group into the parent.\n */\nfunction mergeTrivialChildren(s) {\n  if (s.numberOfChildren === 1 && s.children[PRIMARY_OUTLET]) {\n    const c = s.children[PRIMARY_OUTLET];\n    return new UrlSegmentGroup(s.segments.concat(c.segments), c.children);\n  }\n  return s;\n}\nfunction isUrlTree(v) {\n  return v instanceof UrlTree;\n}\n\n/**\n * Creates a `UrlTree` relative to an `ActivatedRouteSnapshot`.\n *\n * @publicApi\n *\n *\n * @param relativeTo The `ActivatedRouteSnapshot` to apply the commands to\n * @param commands An array of URL fragments with which to construct the new URL tree.\n * If the path is static, can be the literal URL string. For a dynamic path, pass an array of path\n * segments, followed by the parameters for each segment.\n * The fragments are applied to the one provided in the `relativeTo` parameter.\n * @param queryParams The query parameters for the `UrlTree`. `null` if the `UrlTree` does not have\n *     any query parameters.\n * @param fragment The fragment for the `UrlTree`. `null` if the `UrlTree` does not have a fragment.\n *\n * @usageNotes\n *\n * ```ts\n * // create /team/33/user/11\n * createUrlTreeFromSnapshot(snapshot, ['/team', 33, 'user', 11]);\n *\n * // create /team/33;expand=true/user/11\n * createUrlTreeFromSnapshot(snapshot, ['/team', 33, {expand: true}, 'user', 11]);\n *\n * // you can collapse static segments like this (this works only with the first passed-in value):\n * createUrlTreeFromSnapshot(snapshot, ['/team/33/user', userId]);\n *\n * // If the first segment can contain slashes, and you do not want the router to split it,\n * // you can do the following:\n * createUrlTreeFromSnapshot(snapshot, [{segmentPath: '/one/two'}]);\n *\n * // create /team/33/(user/11//right:chat)\n * createUrlTreeFromSnapshot(snapshot, ['/team', 33, {outlets: {primary: 'user/11', right:\n * 'chat'}}], null, null);\n *\n * // remove the right secondary node\n * createUrlTreeFromSnapshot(snapshot, ['/team', 33, {outlets: {primary: 'user/11', right: null}}]);\n *\n * // For the examples below, assume the current URL is for the `/team/33/user/11` and the\n * `ActivatedRouteSnapshot` points to `user/11`:\n *\n * // navigate to /team/33/user/11/details\n * createUrlTreeFromSnapshot(snapshot, ['details']);\n *\n * // navigate to /team/33/user/22\n * createUrlTreeFromSnapshot(snapshot, ['../22']);\n *\n * // navigate to /team/44/user/22\n * createUrlTreeFromSnapshot(snapshot, ['../../team/44/user/22']);\n * ```\n */\nfunction createUrlTreeFromSnapshot(relativeTo, commands, queryParams = null, fragment = null) {\n  const relativeToUrlSegmentGroup = createSegmentGroupFromRoute(relativeTo);\n  return createUrlTreeFromSegmentGroup(relativeToUrlSegmentGroup, commands, queryParams, fragment);\n}\nfunction createSegmentGroupFromRoute(route) {\n  let targetGroup;\n  function createSegmentGroupFromRouteRecursive(currentRoute) {\n    const childOutlets = {};\n    for (const childSnapshot of currentRoute.children) {\n      const root = createSegmentGroupFromRouteRecursive(childSnapshot);\n      childOutlets[childSnapshot.outlet] = root;\n    }\n    const segmentGroup = new UrlSegmentGroup(currentRoute.url, childOutlets);\n    if (currentRoute === route) {\n      targetGroup = segmentGroup;\n    }\n    return segmentGroup;\n  }\n  const rootCandidate = createSegmentGroupFromRouteRecursive(route.root);\n  const rootSegmentGroup = createRoot(rootCandidate);\n  return targetGroup ?? rootSegmentGroup;\n}\nfunction createUrlTreeFromSegmentGroup(relativeTo, commands, queryParams, fragment) {\n  let root = relativeTo;\n  while (root.parent) {\n    root = root.parent;\n  }\n  // There are no commands so the `UrlTree` goes to the same path as the one created from the\n  // `UrlSegmentGroup`. All we need to do is update the `queryParams` and `fragment` without\n  // applying any other logic.\n  if (commands.length === 0) {\n    return tree(root, root, root, queryParams, fragment);\n  }\n  const nav = computeNavigation(commands);\n  if (nav.toRoot()) {\n    return tree(root, root, new UrlSegmentGroup([], {}), queryParams, fragment);\n  }\n  const position = findStartingPositionForTargetGroup(nav, root, relativeTo);\n  const newSegmentGroup = position.processChildren ? updateSegmentGroupChildren(position.segmentGroup, position.index, nav.commands) : updateSegmentGroup(position.segmentGroup, position.index, nav.commands);\n  return tree(root, position.segmentGroup, newSegmentGroup, queryParams, fragment);\n}\nfunction isMatrixParams(command) {\n  return typeof command === 'object' && command != null && !command.outlets && !command.segmentPath;\n}\n/**\n * Determines if a given command has an `outlets` map. When we encounter a command\n * with an outlets k/v map, we need to apply each outlet individually to the existing segment.\n */\nfunction isCommandWithOutlets(command) {\n  return typeof command === 'object' && command != null && command.outlets;\n}\nfunction tree(oldRoot, oldSegmentGroup, newSegmentGroup, queryParams, fragment) {\n  let qp = {};\n  if (queryParams) {\n    Object.entries(queryParams).forEach(([name, value]) => {\n      qp[name] = Array.isArray(value) ? value.map(v => `${v}`) : `${value}`;\n    });\n  }\n  let rootCandidate;\n  if (oldRoot === oldSegmentGroup) {\n    rootCandidate = newSegmentGroup;\n  } else {\n    rootCandidate = replaceSegment(oldRoot, oldSegmentGroup, newSegmentGroup);\n  }\n  const newRoot = createRoot(squashSegmentGroup(rootCandidate));\n  return new UrlTree(newRoot, qp, fragment);\n}\n/**\n * Replaces the `oldSegment` which is located in some child of the `current` with the `newSegment`.\n * This also has the effect of creating new `UrlSegmentGroup` copies to update references. This\n * shouldn't be necessary but the fallback logic for an invalid ActivatedRoute in the creation uses\n * the Router's current url tree. If we don't create new segment groups, we end up modifying that\n * value.\n */\nfunction replaceSegment(current, oldSegment, newSegment) {\n  const children = {};\n  Object.entries(current.children).forEach(([outletName, c]) => {\n    if (c === oldSegment) {\n      children[outletName] = newSegment;\n    } else {\n      children[outletName] = replaceSegment(c, oldSegment, newSegment);\n    }\n  });\n  return new UrlSegmentGroup(current.segments, children);\n}\nclass Navigation {\n  isAbsolute;\n  numberOfDoubleDots;\n  commands;\n  constructor(isAbsolute, numberOfDoubleDots, commands) {\n    this.isAbsolute = isAbsolute;\n    this.numberOfDoubleDots = numberOfDoubleDots;\n    this.commands = commands;\n    if (isAbsolute && commands.length > 0 && isMatrixParams(commands[0])) {\n      throw new _RuntimeError(4003 /* RuntimeErrorCode.ROOT_SEGMENT_MATRIX_PARAMS */, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Root segment cannot have matrix parameters');\n    }\n    const cmdWithOutlet = commands.find(isCommandWithOutlets);\n    if (cmdWithOutlet && cmdWithOutlet !== last(commands)) {\n      throw new _RuntimeError(4004 /* RuntimeErrorCode.MISPLACED_OUTLETS_COMMAND */, (typeof ngDevMode === 'undefined' || ngDevMode) && '{outlets:{}} has to be the last command');\n    }\n  }\n  toRoot() {\n    return this.isAbsolute && this.commands.length === 1 && this.commands[0] == '/';\n  }\n}\n/** Transforms commands to a normalized `Navigation` */\nfunction computeNavigation(commands) {\n  if (typeof commands[0] === 'string' && commands.length === 1 && commands[0] === '/') {\n    return new Navigation(true, 0, commands);\n  }\n  let numberOfDoubleDots = 0;\n  let isAbsolute = false;\n  const res = commands.reduce((res, cmd, cmdIdx) => {\n    if (typeof cmd === 'object' && cmd != null) {\n      if (cmd.outlets) {\n        const outlets = {};\n        Object.entries(cmd.outlets).forEach(([name, commands]) => {\n          outlets[name] = typeof commands === 'string' ? commands.split('/') : commands;\n        });\n        return [...res, {\n          outlets\n        }];\n      }\n      if (cmd.segmentPath) {\n        return [...res, cmd.segmentPath];\n      }\n    }\n    if (!(typeof cmd === 'string')) {\n      return [...res, cmd];\n    }\n    if (cmdIdx === 0) {\n      cmd.split('/').forEach((urlPart, partIndex) => {\n        if (partIndex == 0 && urlPart === '.') ;else if (partIndex == 0 && urlPart === '') {\n          //  '/a'\n          isAbsolute = true;\n        } else if (urlPart === '..') {\n          //  '../a'\n          numberOfDoubleDots++;\n        } else if (urlPart != '') {\n          res.push(urlPart);\n        }\n      });\n      return res;\n    }\n    return [...res, cmd];\n  }, []);\n  return new Navigation(isAbsolute, numberOfDoubleDots, res);\n}\nclass Position {\n  segmentGroup;\n  processChildren;\n  index;\n  constructor(segmentGroup, processChildren, index) {\n    this.segmentGroup = segmentGroup;\n    this.processChildren = processChildren;\n    this.index = index;\n  }\n}\nfunction findStartingPositionForTargetGroup(nav, root, target) {\n  if (nav.isAbsolute) {\n    return new Position(root, true, 0);\n  }\n  if (!target) {\n    // `NaN` is used only to maintain backwards compatibility with incorrectly mocked\n    // `ActivatedRouteSnapshot` in tests. In prior versions of this code, the position here was\n    // determined based on an internal property that was rarely mocked, resulting in `NaN`. In\n    // reality, this code path should _never_ be touched since `target` is not allowed to be falsey.\n    return new Position(root, false, NaN);\n  }\n  if (target.parent === null) {\n    return new Position(target, true, 0);\n  }\n  const modifier = isMatrixParams(nav.commands[0]) ? 0 : 1;\n  const index = target.segments.length - 1 + modifier;\n  return createPositionApplyingDoubleDots(target, index, nav.numberOfDoubleDots);\n}\nfunction createPositionApplyingDoubleDots(group, index, numberOfDoubleDots) {\n  let g = group;\n  let ci = index;\n  let dd = numberOfDoubleDots;\n  while (dd > ci) {\n    dd -= ci;\n    g = g.parent;\n    if (!g) {\n      throw new _RuntimeError(4005 /* RuntimeErrorCode.INVALID_DOUBLE_DOTS */, (typeof ngDevMode === 'undefined' || ngDevMode) && \"Invalid number of '../'\");\n    }\n    ci = g.segments.length;\n  }\n  return new Position(g, false, ci - dd);\n}\nfunction getOutlets(commands) {\n  if (isCommandWithOutlets(commands[0])) {\n    return commands[0].outlets;\n  }\n  return {\n    [PRIMARY_OUTLET]: commands\n  };\n}\nfunction updateSegmentGroup(segmentGroup, startIndex, commands) {\n  segmentGroup ??= new UrlSegmentGroup([], {});\n  if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {\n    return updateSegmentGroupChildren(segmentGroup, startIndex, commands);\n  }\n  const m = prefixedWith(segmentGroup, startIndex, commands);\n  const slicedCommands = commands.slice(m.commandIndex);\n  if (m.match && m.pathIndex < segmentGroup.segments.length) {\n    const g = new UrlSegmentGroup(segmentGroup.segments.slice(0, m.pathIndex), {});\n    g.children[PRIMARY_OUTLET] = new UrlSegmentGroup(segmentGroup.segments.slice(m.pathIndex), segmentGroup.children);\n    return updateSegmentGroupChildren(g, 0, slicedCommands);\n  } else if (m.match && slicedCommands.length === 0) {\n    return new UrlSegmentGroup(segmentGroup.segments, {});\n  } else if (m.match && !segmentGroup.hasChildren()) {\n    return createNewSegmentGroup(segmentGroup, startIndex, commands);\n  } else if (m.match) {\n    return updateSegmentGroupChildren(segmentGroup, 0, slicedCommands);\n  } else {\n    return createNewSegmentGroup(segmentGroup, startIndex, commands);\n  }\n}\nfunction updateSegmentGroupChildren(segmentGroup, startIndex, commands) {\n  if (commands.length === 0) {\n    return new UrlSegmentGroup(segmentGroup.segments, {});\n  } else {\n    const outlets = getOutlets(commands);\n    const children = {};\n    // If the set of commands applies to anything other than the primary outlet and the child\n    // segment is an empty path primary segment on its own, we want to apply the commands to the\n    // empty child path rather than here. The outcome is that the empty primary child is effectively\n    // removed from the final output UrlTree. Imagine the following config:\n    //\n    // {path: '', children: [{path: '**', outlet: 'popup'}]}.\n    //\n    // Navigation to /(popup:a) will activate the child outlet correctly Given a follow-up\n    // navigation with commands\n    // ['/', {outlets: {'popup': 'b'}}], we _would not_ want to apply the outlet commands to the\n    // root segment because that would result in\n    // //(popup:a)(popup:b) since the outlet command got applied one level above where it appears in\n    // the `ActivatedRoute` rather than updating the existing one.\n    //\n    // Because empty paths do not appear in the URL segments and the fact that the segments used in\n    // the output `UrlTree` are squashed to eliminate these empty paths where possible\n    // https://github.com/angular/angular/blob/13f10de40e25c6900ca55bd83b36bd533dacfa9e/packages/router/src/url_tree.ts#L755\n    // it can be hard to determine what is the right thing to do when applying commands to a\n    // `UrlSegmentGroup` that is created from an \"unsquashed\"/expanded `ActivatedRoute` tree.\n    // This code effectively \"squashes\" empty path primary routes when they have no siblings on\n    // the same level of the tree.\n    if (Object.keys(outlets).some(o => o !== PRIMARY_OUTLET) && segmentGroup.children[PRIMARY_OUTLET] && segmentGroup.numberOfChildren === 1 && segmentGroup.children[PRIMARY_OUTLET].segments.length === 0) {\n      const childrenOfEmptyChild = updateSegmentGroupChildren(segmentGroup.children[PRIMARY_OUTLET], startIndex, commands);\n      return new UrlSegmentGroup(segmentGroup.segments, childrenOfEmptyChild.children);\n    }\n    Object.entries(outlets).forEach(([outlet, commands]) => {\n      if (typeof commands === 'string') {\n        commands = [commands];\n      }\n      if (commands !== null) {\n        children[outlet] = updateSegmentGroup(segmentGroup.children[outlet], startIndex, commands);\n      }\n    });\n    Object.entries(segmentGroup.children).forEach(([childOutlet, child]) => {\n      if (outlets[childOutlet] === undefined) {\n        children[childOutlet] = child;\n      }\n    });\n    return new UrlSegmentGroup(segmentGroup.segments, children);\n  }\n}\nfunction prefixedWith(segmentGroup, startIndex, commands) {\n  let currentCommandIndex = 0;\n  let currentPathIndex = startIndex;\n  const noMatch = {\n    match: false,\n    pathIndex: 0,\n    commandIndex: 0\n  };\n  while (currentPathIndex < segmentGroup.segments.length) {\n    if (currentCommandIndex >= commands.length) return noMatch;\n    const path = segmentGroup.segments[currentPathIndex];\n    const command = commands[currentCommandIndex];\n    // Do not try to consume command as part of the prefixing if it has outlets because it can\n    // contain outlets other than the one being processed. Consuming the outlets command would\n    // result in other outlets being ignored.\n    if (isCommandWithOutlets(command)) {\n      break;\n    }\n    const curr = `${command}`;\n    const next = currentCommandIndex < commands.length - 1 ? commands[currentCommandIndex + 1] : null;\n    if (currentPathIndex > 0 && curr === undefined) break;\n    if (curr && next && typeof next === 'object' && next.outlets === undefined) {\n      if (!compare(curr, next, path)) return noMatch;\n      currentCommandIndex += 2;\n    } else {\n      if (!compare(curr, {}, path)) return noMatch;\n      currentCommandIndex++;\n    }\n    currentPathIndex++;\n  }\n  return {\n    match: true,\n    pathIndex: currentPathIndex,\n    commandIndex: currentCommandIndex\n  };\n}\nfunction createNewSegmentGroup(segmentGroup, startIndex, commands) {\n  const paths = segmentGroup.segments.slice(0, startIndex);\n  let i = 0;\n  while (i < commands.length) {\n    const command = commands[i];\n    if (isCommandWithOutlets(command)) {\n      const children = createNewSegmentChildren(command.outlets);\n      return new UrlSegmentGroup(paths, children);\n    }\n    // if we start with an object literal, we need to reuse the path part from the segment\n    if (i === 0 && isMatrixParams(commands[0])) {\n      const p = segmentGroup.segments[startIndex];\n      paths.push(new UrlSegment(p.path, stringify(commands[0])));\n      i++;\n      continue;\n    }\n    const curr = isCommandWithOutlets(command) ? command.outlets[PRIMARY_OUTLET] : `${command}`;\n    const next = i < commands.length - 1 ? commands[i + 1] : null;\n    if (curr && next && isMatrixParams(next)) {\n      paths.push(new UrlSegment(curr, stringify(next)));\n      i += 2;\n    } else {\n      paths.push(new UrlSegment(curr, {}));\n      i++;\n    }\n  }\n  return new UrlSegmentGroup(paths, {});\n}\nfunction createNewSegmentChildren(outlets) {\n  const children = {};\n  Object.entries(outlets).forEach(([outlet, commands]) => {\n    if (typeof commands === 'string') {\n      commands = [commands];\n    }\n    if (commands !== null) {\n      children[outlet] = createNewSegmentGroup(new UrlSegmentGroup([], {}), 0, commands);\n    }\n  });\n  return children;\n}\nfunction stringify(params) {\n  const res = {};\n  Object.entries(params).forEach(([k, v]) => res[k] = `${v}`);\n  return res;\n}\nfunction compare(path, params, segment) {\n  return path == segment.path && shallowEqual(params, segment.parameters);\n}\nconst IMPERATIVE_NAVIGATION = 'imperative';\n/**\n * Identifies the type of a router event.\n *\n * @publicApi\n */\nvar EventType = /*#__PURE__*/function (EventType) {\n  EventType[EventType[\"NavigationStart\"] = 0] = \"NavigationStart\";\n  EventType[EventType[\"NavigationEnd\"] = 1] = \"NavigationEnd\";\n  EventType[EventType[\"NavigationCancel\"] = 2] = \"NavigationCancel\";\n  EventType[EventType[\"NavigationError\"] = 3] = \"NavigationError\";\n  EventType[EventType[\"RoutesRecognized\"] = 4] = \"RoutesRecognized\";\n  EventType[EventType[\"ResolveStart\"] = 5] = \"ResolveStart\";\n  EventType[EventType[\"ResolveEnd\"] = 6] = \"ResolveEnd\";\n  EventType[EventType[\"GuardsCheckStart\"] = 7] = \"GuardsCheckStart\";\n  EventType[EventType[\"GuardsCheckEnd\"] = 8] = \"GuardsCheckEnd\";\n  EventType[EventType[\"RouteConfigLoadStart\"] = 9] = \"RouteConfigLoadStart\";\n  EventType[EventType[\"RouteConfigLoadEnd\"] = 10] = \"RouteConfigLoadEnd\";\n  EventType[EventType[\"ChildActivationStart\"] = 11] = \"ChildActivationStart\";\n  EventType[EventType[\"ChildActivationEnd\"] = 12] = \"ChildActivationEnd\";\n  EventType[EventType[\"ActivationStart\"] = 13] = \"ActivationStart\";\n  EventType[EventType[\"ActivationEnd\"] = 14] = \"ActivationEnd\";\n  EventType[EventType[\"Scroll\"] = 15] = \"Scroll\";\n  EventType[EventType[\"NavigationSkipped\"] = 16] = \"NavigationSkipped\";\n  return EventType;\n}(EventType || {});\n/**\n * Base for events the router goes through, as opposed to events tied to a specific\n * route. Fired one time for any given navigation.\n *\n * The following code shows how a class subscribes to router events.\n *\n * ```ts\n * import {Event, RouterEvent, Router} from '@angular/router';\n *\n * class MyService {\n *   constructor(public router: Router) {\n *     router.events.pipe(\n *        filter((e: Event | RouterEvent): e is RouterEvent => e instanceof RouterEvent)\n *     ).subscribe((e: RouterEvent) => {\n *       // Do something\n *     });\n *   }\n * }\n * ```\n *\n * @see {@link Event}\n * @see [Router events summary](guide/routing/router-reference#router-events)\n * @publicApi\n */\nclass RouterEvent {\n  id;\n  url;\n  constructor(/** A unique ID that the router assigns to every router navigation. */\n  id, /** The URL that is the destination for this navigation. */\n  url) {\n    this.id = id;\n    this.url = url;\n  }\n}\n/**\n * An event triggered when a navigation starts.\n *\n * @publicApi\n */\nclass NavigationStart extends RouterEvent {\n  type = EventType.NavigationStart;\n  /**\n   * Identifies the call or event that triggered the navigation.\n   * An `imperative` trigger is a call to `router.navigateByUrl()` or `router.navigate()`.\n   *\n   * @see {@link NavigationEnd}\n   * @see {@link NavigationCancel}\n   * @see {@link NavigationError}\n   */\n  navigationTrigger;\n  /**\n   * The navigation state that was previously supplied to the `pushState` call,\n   * when the navigation is triggered by a `popstate` event. Otherwise null.\n   *\n   * The state object is defined by `NavigationExtras`, and contains any\n   * developer-defined state value, as well as a unique ID that\n   * the router assigns to every router transition/navigation.\n   *\n   * From the perspective of the router, the router never \"goes back\".\n   * When the user clicks on the back button in the browser,\n   * a new navigation ID is created.\n   *\n   * Use the ID in this previous-state object to differentiate between a newly created\n   * state and one returned to by a `popstate` event, so that you can restore some\n   * remembered state, such as scroll position.\n   *\n   */\n  restoredState;\n  constructor(/** @docsNotRequired */\n  id, /** @docsNotRequired */\n  url, /** @docsNotRequired */\n  navigationTrigger = 'imperative', /** @docsNotRequired */\n  restoredState = null) {\n    super(id, url);\n    this.navigationTrigger = navigationTrigger;\n    this.restoredState = restoredState;\n  }\n  /** @docsNotRequired */\n  toString() {\n    return `NavigationStart(id: ${this.id}, url: '${this.url}')`;\n  }\n}\n/**\n * An event triggered when a navigation ends successfully.\n *\n * @see {@link NavigationStart}\n * @see {@link NavigationCancel}\n * @see {@link NavigationError}\n *\n * @publicApi\n */\nclass NavigationEnd extends RouterEvent {\n  urlAfterRedirects;\n  type = EventType.NavigationEnd;\n  constructor(/** @docsNotRequired */\n  id, /** @docsNotRequired */\n  url, /** @docsNotRequired */\n  urlAfterRedirects) {\n    super(id, url);\n    this.urlAfterRedirects = urlAfterRedirects;\n  }\n  /** @docsNotRequired */\n  toString() {\n    return `NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`;\n  }\n}\n/**\n * A code for the `NavigationCancel` event of the `Router` to indicate the\n * reason a navigation failed.\n *\n * @publicApi\n */\nvar NavigationCancellationCode = /*#__PURE__*/function (NavigationCancellationCode) {\n  /**\n   * A navigation failed because a guard returned a `UrlTree` to redirect.\n   */\n  NavigationCancellationCode[NavigationCancellationCode[\"Redirect\"] = 0] = \"Redirect\";\n  /**\n   * A navigation failed because a more recent navigation started.\n   */\n  NavigationCancellationCode[NavigationCancellationCode[\"SupersededByNewNavigation\"] = 1] = \"SupersededByNewNavigation\";\n  /**\n   * A navigation failed because one of the resolvers completed without emitting a value.\n   */\n  NavigationCancellationCode[NavigationCancellationCode[\"NoDataFromResolver\"] = 2] = \"NoDataFromResolver\";\n  /**\n   * A navigation failed because a guard returned `false`.\n   */\n  NavigationCancellationCode[NavigationCancellationCode[\"GuardRejected\"] = 3] = \"GuardRejected\";\n  return NavigationCancellationCode;\n}(NavigationCancellationCode || {});\n/**\n * A code for the `NavigationSkipped` event of the `Router` to indicate the\n * reason a navigation was skipped.\n *\n * @publicApi\n */\nvar NavigationSkippedCode = /*#__PURE__*/function (NavigationSkippedCode) {\n  /**\n   * A navigation was skipped because the navigation URL was the same as the current Router URL.\n   */\n  NavigationSkippedCode[NavigationSkippedCode[\"IgnoredSameUrlNavigation\"] = 0] = \"IgnoredSameUrlNavigation\";\n  /**\n   * A navigation was skipped because the configured `UrlHandlingStrategy` return `false` for both\n   * the current Router URL and the target of the navigation.\n   *\n   * @see {@link UrlHandlingStrategy}\n   */\n  NavigationSkippedCode[NavigationSkippedCode[\"IgnoredByUrlHandlingStrategy\"] = 1] = \"IgnoredByUrlHandlingStrategy\";\n  return NavigationSkippedCode;\n}(NavigationSkippedCode || {});\n/**\n * An event triggered when a navigation is canceled, directly or indirectly.\n * This can happen for several reasons including when a route guard\n * returns `false` or initiates a redirect by returning a `UrlTree`.\n *\n * @see {@link NavigationStart}\n * @see {@link NavigationEnd}\n * @see {@link NavigationError}\n *\n * @publicApi\n */\nclass NavigationCancel extends RouterEvent {\n  reason;\n  code;\n  type = EventType.NavigationCancel;\n  constructor(/** @docsNotRequired */\n  id, /** @docsNotRequired */\n  url,\n  /**\n   * A description of why the navigation was cancelled. For debug purposes only. Use `code`\n   * instead for a stable cancellation reason that can be used in production.\n   */\n  reason,\n  /**\n   * A code to indicate why the navigation was canceled. This cancellation code is stable for\n   * the reason and can be relied on whereas the `reason` string could change and should not be\n   * used in production.\n   */\n  code) {\n    super(id, url);\n    this.reason = reason;\n    this.code = code;\n  }\n  /** @docsNotRequired */\n  toString() {\n    return `NavigationCancel(id: ${this.id}, url: '${this.url}')`;\n  }\n}\n/**\n * An event triggered when a navigation is skipped.\n * This can happen for a couple reasons including onSameUrlHandling\n * is set to `ignore` and the navigation URL is not different than the\n * current state.\n *\n * @publicApi\n */\nclass NavigationSkipped extends RouterEvent {\n  reason;\n  code;\n  type = EventType.NavigationSkipped;\n  constructor(/** @docsNotRequired */\n  id, /** @docsNotRequired */\n  url,\n  /**\n   * A description of why the navigation was skipped. For debug purposes only. Use `code`\n   * instead for a stable skipped reason that can be used in production.\n   */\n  reason,\n  /**\n   * A code to indicate why the navigation was skipped. This code is stable for\n   * the reason and can be relied on whereas the `reason` string could change and should not be\n   * used in production.\n   */\n  code) {\n    super(id, url);\n    this.reason = reason;\n    this.code = code;\n  }\n}\n/**\n * An event triggered when a navigation fails due to an unexpected error.\n *\n * @see {@link NavigationStart}\n * @see {@link NavigationEnd}\n * @see {@link NavigationCancel}\n *\n * @publicApi\n */\nclass NavigationError extends RouterEvent {\n  error;\n  target;\n  type = EventType.NavigationError;\n  constructor(/** @docsNotRequired */\n  id, /** @docsNotRequired */\n  url, /** @docsNotRequired */\n  error,\n  /**\n   * The target of the navigation when the error occurred.\n   *\n   * Note that this can be `undefined` because an error could have occurred before the\n   * `RouterStateSnapshot` was created for the navigation.\n   */\n  target) {\n    super(id, url);\n    this.error = error;\n    this.target = target;\n  }\n  /** @docsNotRequired */\n  toString() {\n    return `NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`;\n  }\n}\n/**\n * An event triggered when routes are recognized.\n *\n * @publicApi\n */\nclass RoutesRecognized extends RouterEvent {\n  urlAfterRedirects;\n  state;\n  type = EventType.RoutesRecognized;\n  constructor(/** @docsNotRequired */\n  id, /** @docsNotRequired */\n  url, /** @docsNotRequired */\n  urlAfterRedirects, /** @docsNotRequired */\n  state) {\n    super(id, url);\n    this.urlAfterRedirects = urlAfterRedirects;\n    this.state = state;\n  }\n  /** @docsNotRequired */\n  toString() {\n    return `RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`;\n  }\n}\n/**\n * An event triggered at the start of the Guard phase of routing.\n *\n * @see {@link GuardsCheckEnd}\n *\n * @publicApi\n */\nclass GuardsCheckStart extends RouterEvent {\n  urlAfterRedirects;\n  state;\n  type = EventType.GuardsCheckStart;\n  constructor(/** @docsNotRequired */\n  id, /** @docsNotRequired */\n  url, /** @docsNotRequired */\n  urlAfterRedirects, /** @docsNotRequired */\n  state) {\n    super(id, url);\n    this.urlAfterRedirects = urlAfterRedirects;\n    this.state = state;\n  }\n  toString() {\n    return `GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`;\n  }\n}\n/**\n * An event triggered at the end of the Guard phase of routing.\n *\n * @see {@link GuardsCheckStart}\n *\n * @publicApi\n */\nclass GuardsCheckEnd extends RouterEvent {\n  urlAfterRedirects;\n  state;\n  shouldActivate;\n  type = EventType.GuardsCheckEnd;\n  constructor(/** @docsNotRequired */\n  id, /** @docsNotRequired */\n  url, /** @docsNotRequired */\n  urlAfterRedirects, /** @docsNotRequired */\n  state, /** @docsNotRequired */\n  shouldActivate) {\n    super(id, url);\n    this.urlAfterRedirects = urlAfterRedirects;\n    this.state = state;\n    this.shouldActivate = shouldActivate;\n  }\n  toString() {\n    return `GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`;\n  }\n}\n/**\n * An event triggered at the start of the Resolve phase of routing.\n *\n * Runs in the \"resolve\" phase whether or not there is anything to resolve.\n * In future, may change to only run when there are things to be resolved.\n *\n * @see {@link ResolveEnd}\n *\n * @publicApi\n */\nclass ResolveStart extends RouterEvent {\n  urlAfterRedirects;\n  state;\n  type = EventType.ResolveStart;\n  constructor(/** @docsNotRequired */\n  id, /** @docsNotRequired */\n  url, /** @docsNotRequired */\n  urlAfterRedirects, /** @docsNotRequired */\n  state) {\n    super(id, url);\n    this.urlAfterRedirects = urlAfterRedirects;\n    this.state = state;\n  }\n  toString() {\n    return `ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`;\n  }\n}\n/**\n * An event triggered at the end of the Resolve phase of routing.\n * @see {@link ResolveStart}\n *\n * @publicApi\n */\nclass ResolveEnd extends RouterEvent {\n  urlAfterRedirects;\n  state;\n  type = EventType.ResolveEnd;\n  constructor(/** @docsNotRequired */\n  id, /** @docsNotRequired */\n  url, /** @docsNotRequired */\n  urlAfterRedirects, /** @docsNotRequired */\n  state) {\n    super(id, url);\n    this.urlAfterRedirects = urlAfterRedirects;\n    this.state = state;\n  }\n  toString() {\n    return `ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`;\n  }\n}\n/**\n * An event triggered before lazy loading a route configuration.\n *\n * @see {@link RouteConfigLoadEnd}\n *\n * @publicApi\n */\nclass RouteConfigLoadStart {\n  route;\n  type = EventType.RouteConfigLoadStart;\n  constructor(/** @docsNotRequired */\n  route) {\n    this.route = route;\n  }\n  toString() {\n    return `RouteConfigLoadStart(path: ${this.route.path})`;\n  }\n}\n/**\n * An event triggered when a route has been lazy loaded.\n *\n * @see {@link RouteConfigLoadStart}\n *\n * @publicApi\n */\nclass RouteConfigLoadEnd {\n  route;\n  type = EventType.RouteConfigLoadEnd;\n  constructor(/** @docsNotRequired */\n  route) {\n    this.route = route;\n  }\n  toString() {\n    return `RouteConfigLoadEnd(path: ${this.route.path})`;\n  }\n}\n/**\n * An event triggered at the start of the child-activation\n * part of the Resolve phase of routing.\n * @see {@link ChildActivationEnd}\n * @see {@link ResolveStart}\n *\n * @publicApi\n */\nclass ChildActivationStart {\n  snapshot;\n  type = EventType.ChildActivationStart;\n  constructor(/** @docsNotRequired */\n  snapshot) {\n    this.snapshot = snapshot;\n  }\n  toString() {\n    const path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || '';\n    return `ChildActivationStart(path: '${path}')`;\n  }\n}\n/**\n * An event triggered at the end of the child-activation part\n * of the Resolve phase of routing.\n * @see {@link ChildActivationStart}\n * @see {@link ResolveStart}\n * @publicApi\n */\nclass ChildActivationEnd {\n  snapshot;\n  type = EventType.ChildActivationEnd;\n  constructor(/** @docsNotRequired */\n  snapshot) {\n    this.snapshot = snapshot;\n  }\n  toString() {\n    const path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || '';\n    return `ChildActivationEnd(path: '${path}')`;\n  }\n}\n/**\n * An event triggered at the start of the activation part\n * of the Resolve phase of routing.\n * @see {@link ActivationEnd}\n * @see {@link ResolveStart}\n *\n * @publicApi\n */\nclass ActivationStart {\n  snapshot;\n  type = EventType.ActivationStart;\n  constructor(/** @docsNotRequired */\n  snapshot) {\n    this.snapshot = snapshot;\n  }\n  toString() {\n    const path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || '';\n    return `ActivationStart(path: '${path}')`;\n  }\n}\n/**\n * An event triggered at the end of the activation part\n * of the Resolve phase of routing.\n * @see {@link ActivationStart}\n * @see {@link ResolveStart}\n *\n * @publicApi\n */\nclass ActivationEnd {\n  snapshot;\n  type = EventType.ActivationEnd;\n  constructor(/** @docsNotRequired */\n  snapshot) {\n    this.snapshot = snapshot;\n  }\n  toString() {\n    const path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || '';\n    return `ActivationEnd(path: '${path}')`;\n  }\n}\n/**\n * An event triggered by scrolling.\n *\n * @publicApi\n */\nclass Scroll {\n  routerEvent;\n  position;\n  anchor;\n  type = EventType.Scroll;\n  constructor(/** @docsNotRequired */\n  routerEvent, /** @docsNotRequired */\n  position, /** @docsNotRequired */\n  anchor) {\n    this.routerEvent = routerEvent;\n    this.position = position;\n    this.anchor = anchor;\n  }\n  toString() {\n    const pos = this.position ? `${this.position[0]}, ${this.position[1]}` : null;\n    return `Scroll(anchor: '${this.anchor}', position: '${pos}')`;\n  }\n}\nclass BeforeActivateRoutes {}\nclass RedirectRequest {\n  url;\n  navigationBehaviorOptions;\n  constructor(url, navigationBehaviorOptions) {\n    this.url = url;\n    this.navigationBehaviorOptions = navigationBehaviorOptions;\n  }\n}\nfunction stringifyEvent(routerEvent) {\n  switch (routerEvent.type) {\n    case EventType.ActivationEnd:\n      return `ActivationEnd(path: '${routerEvent.snapshot.routeConfig?.path || ''}')`;\n    case EventType.ActivationStart:\n      return `ActivationStart(path: '${routerEvent.snapshot.routeConfig?.path || ''}')`;\n    case EventType.ChildActivationEnd:\n      return `ChildActivationEnd(path: '${routerEvent.snapshot.routeConfig?.path || ''}')`;\n    case EventType.ChildActivationStart:\n      return `ChildActivationStart(path: '${routerEvent.snapshot.routeConfig?.path || ''}')`;\n    case EventType.GuardsCheckEnd:\n      return `GuardsCheckEnd(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}', state: ${routerEvent.state}, shouldActivate: ${routerEvent.shouldActivate})`;\n    case EventType.GuardsCheckStart:\n      return `GuardsCheckStart(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}', state: ${routerEvent.state})`;\n    case EventType.NavigationCancel:\n      return `NavigationCancel(id: ${routerEvent.id}, url: '${routerEvent.url}')`;\n    case EventType.NavigationSkipped:\n      return `NavigationSkipped(id: ${routerEvent.id}, url: '${routerEvent.url}')`;\n    case EventType.NavigationEnd:\n      return `NavigationEnd(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}')`;\n    case EventType.NavigationError:\n      return `NavigationError(id: ${routerEvent.id}, url: '${routerEvent.url}', error: ${routerEvent.error})`;\n    case EventType.NavigationStart:\n      return `NavigationStart(id: ${routerEvent.id}, url: '${routerEvent.url}')`;\n    case EventType.ResolveEnd:\n      return `ResolveEnd(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}', state: ${routerEvent.state})`;\n    case EventType.ResolveStart:\n      return `ResolveStart(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}', state: ${routerEvent.state})`;\n    case EventType.RouteConfigLoadEnd:\n      return `RouteConfigLoadEnd(path: ${routerEvent.route.path})`;\n    case EventType.RouteConfigLoadStart:\n      return `RouteConfigLoadStart(path: ${routerEvent.route.path})`;\n    case EventType.RoutesRecognized:\n      return `RoutesRecognized(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}', state: ${routerEvent.state})`;\n    case EventType.Scroll:\n      const pos = routerEvent.position ? `${routerEvent.position[0]}, ${routerEvent.position[1]}` : null;\n      return `Scroll(anchor: '${routerEvent.anchor}', position: '${pos}')`;\n  }\n}\n\n/**\n * Creates an `EnvironmentInjector` if the `Route` has providers and one does not already exist\n * and returns the injector. Otherwise, if the `Route` does not have `providers`, returns the\n * `currentInjector`.\n *\n * @param route The route that might have providers\n * @param currentInjector The parent injector of the `Route`\n */\nfunction getOrCreateRouteInjectorIfNeeded(route, currentInjector) {\n  if (route.providers && !route._injector) {\n    route._injector = createEnvironmentInjector(route.providers, currentInjector, `Route: ${route.path}`);\n  }\n  return route._injector ?? currentInjector;\n}\nfunction validateConfig(config, parentPath = '', requireStandaloneComponents = false) {\n  // forEach doesn't iterate undefined values\n  for (let i = 0; i < config.length; i++) {\n    const route = config[i];\n    const fullPath = getFullPath(parentPath, route);\n    validateNode(route, fullPath, requireStandaloneComponents);\n  }\n}\nfunction assertStandalone(fullPath, component) {\n  if (component && _isNgModule(component)) {\n    throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}'. You are using 'loadComponent' with a module, ` + `but it must be used with standalone components. Use 'loadChildren' instead.`);\n  } else if (component && !isStandalone(component)) {\n    throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}'. The component must be standalone.`);\n  }\n}\nfunction validateNode(route, fullPath, requireStandaloneComponents) {\n  if (typeof ngDevMode === 'undefined' || ngDevMode) {\n    if (!route) {\n      throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `\n      Invalid configuration of route '${fullPath}': Encountered undefined route.\n      The reason might be an extra comma.\n\n      Example:\n      const routes: Routes = [\n        { path: '', redirectTo: '/dashboard', pathMatch: 'full' },\n        { path: 'dashboard',  component: DashboardComponent },, << two commas\n        { path: 'detail/:id', component: HeroDetailComponent }\n      ];\n    `);\n    }\n    if (Array.isArray(route)) {\n      throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': Array cannot be specified`);\n    }\n    if (!route.redirectTo && !route.component && !route.loadComponent && !route.children && !route.loadChildren && route.outlet && route.outlet !== PRIMARY_OUTLET) {\n      throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': a componentless route without children or loadChildren cannot have a named outlet set`);\n    }\n    if (route.redirectTo && route.children) {\n      throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': redirectTo and children cannot be used together`);\n    }\n    if (route.redirectTo && route.loadChildren) {\n      throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': redirectTo and loadChildren cannot be used together`);\n    }\n    if (route.children && route.loadChildren) {\n      throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': children and loadChildren cannot be used together`);\n    }\n    if (route.redirectTo && (route.component || route.loadComponent)) {\n      throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': redirectTo and component/loadComponent cannot be used together`);\n    }\n    if (route.component && route.loadComponent) {\n      throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': component and loadComponent cannot be used together`);\n    }\n    if (route.redirectTo && route.canActivate) {\n      throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': redirectTo and canActivate cannot be used together. Redirects happen before activation ` + `so canActivate will never be executed.`);\n    }\n    if (route.path && route.matcher) {\n      throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': path and matcher cannot be used together`);\n    }\n    if (route.redirectTo === void 0 && !route.component && !route.loadComponent && !route.children && !route.loadChildren) {\n      throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}'. One of the following must be provided: component, loadComponent, redirectTo, children or loadChildren`);\n    }\n    if (route.path === void 0 && route.matcher === void 0) {\n      throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': routes must have either a path or a matcher specified`);\n    }\n    if (typeof route.path === 'string' && route.path.charAt(0) === '/') {\n      throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '${fullPath}': path cannot start with a slash`);\n    }\n    if (route.path === '' && route.redirectTo !== void 0 && route.pathMatch === void 0) {\n      const exp = `The default value of 'pathMatch' is 'prefix', but often the intent is to use 'full'.`;\n      throw new _RuntimeError(4014 /* RuntimeErrorCode.INVALID_ROUTE_CONFIG */, `Invalid configuration of route '{path: \"${fullPath}\", redirectTo: \"${route.redirectTo}\"}': please provide 'pathMatch'. ${exp}`);\n    }\n    if (requireStandaloneComponents) {\n      assertStandalone(fullPath, route.component);\n    }\n  }\n  if (route.children) {\n    validateConfig(route.children, fullPath, requireStandaloneComponents);\n  }\n}\nfunction getFullPath(parentPath, currentRoute) {\n  if (!currentRoute) {\n    return parentPath;\n  }\n  if (!parentPath && !currentRoute.path) {\n    return '';\n  } else if (parentPath && !currentRoute.path) {\n    return `${parentPath}/`;\n  } else if (!parentPath && currentRoute.path) {\n    return currentRoute.path;\n  } else {\n    return `${parentPath}/${currentRoute.path}`;\n  }\n}\n/** Returns the `route.outlet` or PRIMARY_OUTLET if none exists. */\nfunction getOutlet(route) {\n  return route.outlet || PRIMARY_OUTLET;\n}\n/**\n * Sorts the `routes` such that the ones with an outlet matching `outletName` come first.\n * The order of the configs is otherwise preserved.\n */\nfunction sortByMatchingOutlets(routes, outletName) {\n  const sortedConfig = routes.filter(r => getOutlet(r) === outletName);\n  sortedConfig.push(...routes.filter(r => getOutlet(r) !== outletName));\n  return sortedConfig;\n}\n/**\n * Gets the first injector in the snapshot's parent tree.\n *\n * If the `Route` has a static list of providers, the returned injector will be the one created from\n * those. If it does not exist, the returned injector may come from the parents, which may be from a\n * loaded config or their static providers.\n *\n * Returns `null` if there is neither this nor any parents have a stored injector.\n *\n * Generally used for retrieving the injector to use for getting tokens for guards/resolvers and\n * also used for getting the correct injector to use for creating components.\n */\nfunction getClosestRouteInjector(snapshot) {\n  if (!snapshot) return null;\n  // If the current route has its own injector, which is created from the static providers on the\n  // route itself, we should use that. Otherwise, we start at the parent since we do not want to\n  // include the lazy loaded injector from this route.\n  if (snapshot.routeConfig?._injector) {\n    return snapshot.routeConfig._injector;\n  }\n  for (let s = snapshot.parent; s; s = s.parent) {\n    const route = s.routeConfig;\n    // Note that the order here is important. `_loadedInjector` stored on the route with\n    // `loadChildren: () => NgModule` so it applies to child routes with priority. The `_injector`\n    // is created from the static providers on that parent route, so it applies to the children as\n    // well, but only if there is no lazy loaded NgModuleRef injector.\n    if (route?._loadedInjector) return route._loadedInjector;\n    if (route?._injector) return route._injector;\n  }\n  return null;\n}\n\n/**\n * Store contextual information about a `RouterOutlet`\n *\n * @publicApi\n */\nclass OutletContext {\n  rootInjector;\n  outlet = null;\n  route = null;\n  children;\n  attachRef = null;\n  get injector() {\n    return getClosestRouteInjector(this.route?.snapshot) ?? this.rootInjector;\n  }\n  constructor(rootInjector) {\n    this.rootInjector = rootInjector;\n    this.children = new ChildrenOutletContexts(this.rootInjector);\n  }\n}\n/**\n * Store contextual information about the children (= nested) `RouterOutlet`\n *\n * @publicApi\n */\nlet ChildrenOutletContexts = /*#__PURE__*/(() => {\n  class ChildrenOutletContexts {\n    rootInjector;\n    // contexts for child outlets, by name.\n    contexts = new Map();\n    /** @docs-private */\n    constructor(rootInjector) {\n      this.rootInjector = rootInjector;\n    }\n    /** Called when a `RouterOutlet` directive is instantiated */\n    onChildOutletCreated(childName, outlet) {\n      const context = this.getOrCreateContext(childName);\n      context.outlet = outlet;\n      this.contexts.set(childName, context);\n    }\n    /**\n     * Called when a `RouterOutlet` directive is destroyed.\n     * We need to keep the context as the outlet could be destroyed inside a NgIf and might be\n     * re-created later.\n     */\n    onChildOutletDestroyed(childName) {\n      const context = this.getContext(childName);\n      if (context) {\n        context.outlet = null;\n        context.attachRef = null;\n      }\n    }\n    /**\n     * Called when the corresponding route is deactivated during navigation.\n     * Because the component get destroyed, all children outlet are destroyed.\n     */\n    onOutletDeactivated() {\n      const contexts = this.contexts;\n      this.contexts = new Map();\n      return contexts;\n    }\n    onOutletReAttached(contexts) {\n      this.contexts = contexts;\n    }\n    getOrCreateContext(childName) {\n      let context = this.getContext(childName);\n      if (!context) {\n        context = new OutletContext(this.rootInjector);\n        this.contexts.set(childName, context);\n      }\n      return context;\n    }\n    getContext(childName) {\n      return this.contexts.get(childName) || null;\n    }\n    static ɵfac = function ChildrenOutletContexts_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ChildrenOutletContexts)(i0.ɵɵinject(i0.EnvironmentInjector));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: ChildrenOutletContexts,\n      factory: ChildrenOutletContexts.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return ChildrenOutletContexts;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nclass Tree {\n  /** @internal */\n  _root;\n  constructor(root) {\n    this._root = root;\n  }\n  get root() {\n    return this._root.value;\n  }\n  /**\n   * @internal\n   */\n  parent(t) {\n    const p = this.pathFromRoot(t);\n    return p.length > 1 ? p[p.length - 2] : null;\n  }\n  /**\n   * @internal\n   */\n  children(t) {\n    const n = findNode(t, this._root);\n    return n ? n.children.map(t => t.value) : [];\n  }\n  /**\n   * @internal\n   */\n  firstChild(t) {\n    const n = findNode(t, this._root);\n    return n && n.children.length > 0 ? n.children[0].value : null;\n  }\n  /**\n   * @internal\n   */\n  siblings(t) {\n    const p = findPath(t, this._root);\n    if (p.length < 2) return [];\n    const c = p[p.length - 2].children.map(c => c.value);\n    return c.filter(cc => cc !== t);\n  }\n  /**\n   * @internal\n   */\n  pathFromRoot(t) {\n    return findPath(t, this._root).map(s => s.value);\n  }\n}\n// DFS for the node matching the value\nfunction findNode(value, node) {\n  if (value === node.value) return node;\n  for (const child of node.children) {\n    const node = findNode(value, child);\n    if (node) return node;\n  }\n  return null;\n}\n// Return the path to the node with the given value using DFS\nfunction findPath(value, node) {\n  if (value === node.value) return [node];\n  for (const child of node.children) {\n    const path = findPath(value, child);\n    if (path.length) {\n      path.unshift(node);\n      return path;\n    }\n  }\n  return [];\n}\nclass TreeNode {\n  value;\n  children;\n  constructor(value, children) {\n    this.value = value;\n    this.children = children;\n  }\n  toString() {\n    return `TreeNode(${this.value})`;\n  }\n}\n// Return the list of T indexed by outlet name\nfunction nodeChildrenAsMap(node) {\n  const map = {};\n  if (node) {\n    node.children.forEach(child => map[child.value.outlet] = child);\n  }\n  return map;\n}\n\n/**\n * Represents the state of the router as a tree of activated routes.\n *\n * @usageNotes\n *\n * Every node in the route tree is an `ActivatedRoute` instance\n * that knows about the \"consumed\" URL segments, the extracted parameters,\n * and the resolved data.\n * Use the `ActivatedRoute` properties to traverse the tree from any node.\n *\n * The following fragment shows how a component gets the root node\n * of the current state to establish its own route tree:\n *\n * ```ts\n * @Component({templateUrl:'template.html'})\n * class MyComponent {\n *   constructor(router: Router) {\n *     const state: RouterState = router.routerState;\n *     const root: ActivatedRoute = state.root;\n *     const child = root.firstChild;\n *     const id: Observable<string> = child.params.map(p => p.id);\n *     //...\n *   }\n * }\n * ```\n *\n * @see {@link ActivatedRoute}\n * @see [Getting route information](guide/routing/common-router-tasks#getting-route-information)\n *\n * @publicApi\n */\nclass RouterState extends Tree {\n  snapshot;\n  /** @internal */\n  constructor(root, /** The current snapshot of the router state */\n  snapshot) {\n    super(root);\n    this.snapshot = snapshot;\n    setRouterState(this, root);\n  }\n  toString() {\n    return this.snapshot.toString();\n  }\n}\nfunction createEmptyState(rootComponent) {\n  const snapshot = createEmptyStateSnapshot(rootComponent);\n  const emptyUrl = new BehaviorSubject([new UrlSegment('', {})]);\n  const emptyParams = new BehaviorSubject({});\n  const emptyData = new BehaviorSubject({});\n  const emptyQueryParams = new BehaviorSubject({});\n  const fragment = new BehaviorSubject('');\n  const activated = new ActivatedRoute(emptyUrl, emptyParams, emptyQueryParams, fragment, emptyData, PRIMARY_OUTLET, rootComponent, snapshot.root);\n  activated.snapshot = snapshot.root;\n  return new RouterState(new TreeNode(activated, []), snapshot);\n}\nfunction createEmptyStateSnapshot(rootComponent) {\n  const emptyParams = {};\n  const emptyData = {};\n  const emptyQueryParams = {};\n  const fragment = '';\n  const activated = new ActivatedRouteSnapshot([], emptyParams, emptyQueryParams, fragment, emptyData, PRIMARY_OUTLET, rootComponent, null, {});\n  return new RouterStateSnapshot('', new TreeNode(activated, []));\n}\n/**\n * Provides access to information about a route associated with a component\n * that is loaded in an outlet.\n * Use to traverse the `RouterState` tree and extract information from nodes.\n *\n * The following example shows how to construct a component using information from a\n * currently activated route.\n *\n * Note: the observables in this class only emit when the current and previous values differ based\n * on shallow equality. For example, changing deeply nested properties in resolved `data` will not\n * cause the `ActivatedRoute.data` `Observable` to emit a new value.\n *\n * {@example router/activated-route/module.ts region=\"activated-route\"\n *     header=\"activated-route.component.ts\"}\n *\n * @see [Getting route information](guide/routing/common-router-tasks#getting-route-information)\n *\n * @publicApi\n */\nclass ActivatedRoute {\n  urlSubject;\n  paramsSubject;\n  queryParamsSubject;\n  fragmentSubject;\n  dataSubject;\n  outlet;\n  component;\n  /** The current snapshot of this route */\n  snapshot;\n  /** @internal */\n  _futureSnapshot;\n  /** @internal */\n  _routerState;\n  /** @internal */\n  _paramMap;\n  /** @internal */\n  _queryParamMap;\n  /** An Observable of the resolved route title */\n  title;\n  /** An observable of the URL segments matched by this route. */\n  url;\n  /** An observable of the matrix parameters scoped to this route. */\n  params;\n  /** An observable of the query parameters shared by all the routes. */\n  queryParams;\n  /** An observable of the URL fragment shared by all the routes. */\n  fragment;\n  /** An observable of the static and resolved data of this route. */\n  data;\n  /** @internal */\n  constructor(/** @internal */\n  urlSubject, /** @internal */\n  paramsSubject, /** @internal */\n  queryParamsSubject, /** @internal */\n  fragmentSubject, /** @internal */\n  dataSubject, /** The outlet name of the route, a constant. */\n  outlet, /** The component of the route, a constant. */\n  component, futureSnapshot) {\n    this.urlSubject = urlSubject;\n    this.paramsSubject = paramsSubject;\n    this.queryParamsSubject = queryParamsSubject;\n    this.fragmentSubject = fragmentSubject;\n    this.dataSubject = dataSubject;\n    this.outlet = outlet;\n    this.component = component;\n    this._futureSnapshot = futureSnapshot;\n    this.title = this.dataSubject?.pipe(map(d => d[RouteTitleKey])) ?? of(undefined);\n    // TODO(atscott): Verify that these can be changed to `.asObservable()` with TGP.\n    this.url = urlSubject;\n    this.params = paramsSubject;\n    this.queryParams = queryParamsSubject;\n    this.fragment = fragmentSubject;\n    this.data = dataSubject;\n  }\n  /** The configuration used to match this route. */\n  get routeConfig() {\n    return this._futureSnapshot.routeConfig;\n  }\n  /** The root of the router state. */\n  get root() {\n    return this._routerState.root;\n  }\n  /** The parent of this route in the router state tree. */\n  get parent() {\n    return this._routerState.parent(this);\n  }\n  /** The first child of this route in the router state tree. */\n  get firstChild() {\n    return this._routerState.firstChild(this);\n  }\n  /** The children of this route in the router state tree. */\n  get children() {\n    return this._routerState.children(this);\n  }\n  /** The path from the root of the router state tree to this route. */\n  get pathFromRoot() {\n    return this._routerState.pathFromRoot(this);\n  }\n  /**\n   * An Observable that contains a map of the required and optional parameters\n   * specific to the route.\n   * The map supports retrieving single and multiple values from the same parameter.\n   */\n  get paramMap() {\n    this._paramMap ??= this.params.pipe(map(p => convertToParamMap(p)));\n    return this._paramMap;\n  }\n  /**\n   * An Observable that contains a map of the query parameters available to all routes.\n   * The map supports retrieving single and multiple values from the query parameter.\n   */\n  get queryParamMap() {\n    this._queryParamMap ??= this.queryParams.pipe(map(p => convertToParamMap(p)));\n    return this._queryParamMap;\n  }\n  toString() {\n    return this.snapshot ? this.snapshot.toString() : `Future(${this._futureSnapshot})`;\n  }\n}\n/**\n * Returns the inherited params, data, and resolve for a given route.\n *\n * By default, we do not inherit parent data unless the current route is path-less or the parent\n * route is component-less.\n */\nfunction getInherited(route, parent, paramsInheritanceStrategy = 'emptyOnly') {\n  let inherited;\n  const {\n    routeConfig\n  } = route;\n  if (parent !== null && (paramsInheritanceStrategy === 'always' ||\n  // inherit parent data if route is empty path\n  routeConfig?.path === '' ||\n  // inherit parent data if parent was componentless\n  !parent.component && !parent.routeConfig?.loadComponent)) {\n    inherited = {\n      params: {\n        ...parent.params,\n        ...route.params\n      },\n      data: {\n        ...parent.data,\n        ...route.data\n      },\n      resolve: {\n        // Snapshots are created with data inherited from parent and guards (i.e. canActivate) can\n        // change data because it's not frozen...\n        // This first line could be deleted chose to break/disallow mutating the `data` object in\n        // guards.\n        // Note that data from parents still override this mutated data so anyone relying on this\n        // might be surprised that it doesn't work if parent data is inherited but otherwise does.\n        ...route.data,\n        // Ensure inherited resolved data overrides inherited static data\n        ...parent.data,\n        // static data from the current route overrides any inherited data\n        ...routeConfig?.data,\n        // resolved data from current route overrides everything\n        ...route._resolvedData\n      }\n    };\n  } else {\n    inherited = {\n      params: {\n        ...route.params\n      },\n      data: {\n        ...route.data\n      },\n      resolve: {\n        ...route.data,\n        ...(route._resolvedData ?? {})\n      }\n    };\n  }\n  if (routeConfig && hasStaticTitle(routeConfig)) {\n    inherited.resolve[RouteTitleKey] = routeConfig.title;\n  }\n  return inherited;\n}\n/**\n * @description\n *\n * Contains the information about a route associated with a component loaded in an\n * outlet at a particular moment in time. ActivatedRouteSnapshot can also be used to\n * traverse the router state tree.\n *\n * The following example initializes a component with route information extracted\n * from the snapshot of the root node at the time of creation.\n *\n * ```ts\n * @Component({templateUrl:'./my-component.html'})\n * class MyComponent {\n *   constructor(route: ActivatedRoute) {\n *     const id: string = route.snapshot.params.id;\n *     const url: string = route.snapshot.url.join('');\n *     const user = route.snapshot.data.user;\n *   }\n * }\n * ```\n *\n * @publicApi\n */\nclass ActivatedRouteSnapshot {\n  url;\n  params;\n  queryParams;\n  fragment;\n  data;\n  outlet;\n  component;\n  /** The configuration used to match this route **/\n  routeConfig;\n  /** @internal */\n  _resolve;\n  /** @internal */\n  _resolvedData;\n  /** @internal */\n  _routerState;\n  /** @internal */\n  _paramMap;\n  /** @internal */\n  _queryParamMap;\n  /** The resolved route title */\n  get title() {\n    // Note: This _must_ be a getter because the data is mutated in the resolvers. Title will not be\n    // available at the time of class instantiation.\n    return this.data?.[RouteTitleKey];\n  }\n  /** @internal */\n  constructor(/** The URL segments matched by this route */\n  url,\n  /**\n   *  The matrix parameters scoped to this route.\n   *\n   *  You can compute all params (or data) in the router state or to get params outside\n   *  of an activated component by traversing the `RouterState` tree as in the following\n   *  example:\n   *  ```ts\n   *  collectRouteParams(router: Router) {\n   *    let params = {};\n   *    let stack: ActivatedRouteSnapshot[] = [router.routerState.snapshot.root];\n   *    while (stack.length > 0) {\n   *      const route = stack.pop()!;\n   *      params = {...params, ...route.params};\n   *      stack.push(...route.children);\n   *    }\n   *    return params;\n   *  }\n   *  ```\n   */\n  params, /** The query parameters shared by all the routes */\n  queryParams, /** The URL fragment shared by all the routes */\n  fragment, /** The static and resolved data of this route */\n  data, /** The outlet name of the route */\n  outlet, /** The component of the route */\n  component, routeConfig, resolve) {\n    this.url = url;\n    this.params = params;\n    this.queryParams = queryParams;\n    this.fragment = fragment;\n    this.data = data;\n    this.outlet = outlet;\n    this.component = component;\n    this.routeConfig = routeConfig;\n    this._resolve = resolve;\n  }\n  /** The root of the router state */\n  get root() {\n    return this._routerState.root;\n  }\n  /** The parent of this route in the router state tree */\n  get parent() {\n    return this._routerState.parent(this);\n  }\n  /** The first child of this route in the router state tree */\n  get firstChild() {\n    return this._routerState.firstChild(this);\n  }\n  /** The children of this route in the router state tree */\n  get children() {\n    return this._routerState.children(this);\n  }\n  /** The path from the root of the router state tree to this route */\n  get pathFromRoot() {\n    return this._routerState.pathFromRoot(this);\n  }\n  get paramMap() {\n    this._paramMap ??= convertToParamMap(this.params);\n    return this._paramMap;\n  }\n  get queryParamMap() {\n    this._queryParamMap ??= convertToParamMap(this.queryParams);\n    return this._queryParamMap;\n  }\n  toString() {\n    const url = this.url.map(segment => segment.toString()).join('/');\n    const matched = this.routeConfig ? this.routeConfig.path : '';\n    return `Route(url:'${url}', path:'${matched}')`;\n  }\n}\n/**\n * @description\n *\n * Represents the state of the router at a moment in time.\n *\n * This is a tree of activated route snapshots. Every node in this tree knows about\n * the \"consumed\" URL segments, the extracted parameters, and the resolved data.\n *\n * The following example shows how a component is initialized with information\n * from the snapshot of the root node's state at the time of creation.\n *\n * ```ts\n * @Component({templateUrl:'template.html'})\n * class MyComponent {\n *   constructor(router: Router) {\n *     const state: RouterState = router.routerState;\n *     const snapshot: RouterStateSnapshot = state.snapshot;\n *     const root: ActivatedRouteSnapshot = snapshot.root;\n *     const child = root.firstChild;\n *     const id: Observable<string> = child.params.map(p => p.id);\n *     //...\n *   }\n * }\n * ```\n *\n * @publicApi\n */\nclass RouterStateSnapshot extends Tree {\n  url;\n  /** @internal */\n  constructor(/** The url from which this snapshot was created */\n  url, root) {\n    super(root);\n    this.url = url;\n    setRouterState(this, root);\n  }\n  toString() {\n    return serializeNode(this._root);\n  }\n}\nfunction setRouterState(state, node) {\n  node.value._routerState = state;\n  node.children.forEach(c => setRouterState(state, c));\n}\nfunction serializeNode(node) {\n  const c = node.children.length > 0 ? ` { ${node.children.map(serializeNode).join(', ')} } ` : '';\n  return `${node.value}${c}`;\n}\n/**\n * The expectation is that the activate route is created with the right set of parameters.\n * So we push new values into the observables only when they are not the initial values.\n * And we detect that by checking if the snapshot field is set.\n */\nfunction advanceActivatedRoute(route) {\n  if (route.snapshot) {\n    const currentSnapshot = route.snapshot;\n    const nextSnapshot = route._futureSnapshot;\n    route.snapshot = nextSnapshot;\n    if (!shallowEqual(currentSnapshot.queryParams, nextSnapshot.queryParams)) {\n      route.queryParamsSubject.next(nextSnapshot.queryParams);\n    }\n    if (currentSnapshot.fragment !== nextSnapshot.fragment) {\n      route.fragmentSubject.next(nextSnapshot.fragment);\n    }\n    if (!shallowEqual(currentSnapshot.params, nextSnapshot.params)) {\n      route.paramsSubject.next(nextSnapshot.params);\n    }\n    if (!shallowEqualArrays(currentSnapshot.url, nextSnapshot.url)) {\n      route.urlSubject.next(nextSnapshot.url);\n    }\n    if (!shallowEqual(currentSnapshot.data, nextSnapshot.data)) {\n      route.dataSubject.next(nextSnapshot.data);\n    }\n  } else {\n    route.snapshot = route._futureSnapshot;\n    // this is for resolved data\n    route.dataSubject.next(route._futureSnapshot.data);\n  }\n}\nfunction equalParamsAndUrlSegments(a, b) {\n  const equalUrlParams = shallowEqual(a.params, b.params) && equalSegments(a.url, b.url);\n  const parentsMismatch = !a.parent !== !b.parent;\n  return equalUrlParams && !parentsMismatch && (!a.parent || equalParamsAndUrlSegments(a.parent, b.parent));\n}\nfunction hasStaticTitle(config) {\n  return typeof config.title === 'string' || config.title === null;\n}\n\n/**\n * An `InjectionToken` provided by the `RouterOutlet` and can be set using the `routerOutletData`\n * input.\n *\n * When unset, this value is `null` by default.\n *\n * @usageNotes\n *\n * To set the data from the template of the component with `router-outlet`:\n * ```html\n * <router-outlet [routerOutletData]=\"{name: 'Angular'}\" />\n * ```\n *\n * To read the data in the routed component:\n * ```ts\n * data = inject(ROUTER_OUTLET_DATA) as Signal<{name: string}>;\n * ```\n *\n * @publicApi\n */\nconst ROUTER_OUTLET_DATA = /*#__PURE__*/new InjectionToken(ngDevMode ? 'RouterOutlet data' : '');\n/**\n * @description\n *\n * Acts as a placeholder that Angular dynamically fills based on the current router state.\n *\n * Each outlet can have a unique name, determined by the optional `name` attribute.\n * The name cannot be set or changed dynamically. If not set, default value is \"primary\".\n *\n * ```html\n * <router-outlet></router-outlet>\n * <router-outlet name='left'></router-outlet>\n * <router-outlet name='right'></router-outlet>\n * ```\n *\n * Named outlets can be the targets of secondary routes.\n * The `Route` object for a secondary route has an `outlet` property to identify the target outlet:\n *\n * `{path: <base-path>, component: <component>, outlet: <target_outlet_name>}`\n *\n * Using named outlets and secondary routes, you can target multiple outlets in\n * the same `RouterLink` directive.\n *\n * The router keeps track of separate branches in a navigation tree for each named outlet and\n * generates a representation of that tree in the URL.\n * The URL for a secondary route uses the following syntax to specify both the primary and secondary\n * routes at the same time:\n *\n * `http://base-path/primary-route-path(outlet-name:route-path)`\n *\n * A router outlet emits an activate event when a new component is instantiated,\n * deactivate event when a component is destroyed.\n * An attached event emits when the `RouteReuseStrategy` instructs the outlet to reattach the\n * subtree, and the detached event emits when the `RouteReuseStrategy` instructs the outlet to\n * detach the subtree.\n *\n * ```html\n * <router-outlet\n *   (activate)='onActivate($event)'\n *   (deactivate)='onDeactivate($event)'\n *   (attach)='onAttach($event)'\n *   (detach)='onDetach($event)'></router-outlet>\n * ```\n *\n * @see {@link RouterLink}\n * @see {@link Route}\n * @ngModule RouterModule\n *\n * @publicApi\n */\nlet RouterOutlet = /*#__PURE__*/(() => {\n  class RouterOutlet {\n    activated = null;\n    /** @internal */\n    get activatedComponentRef() {\n      return this.activated;\n    }\n    _activatedRoute = null;\n    /**\n     * The name of the outlet\n     *\n     */\n    name = PRIMARY_OUTLET;\n    activateEvents = new EventEmitter();\n    deactivateEvents = new EventEmitter();\n    /**\n     * Emits an attached component instance when the `RouteReuseStrategy` instructs to re-attach a\n     * previously detached subtree.\n     **/\n    attachEvents = new EventEmitter();\n    /**\n     * Emits a detached component instance when the `RouteReuseStrategy` instructs to detach the\n     * subtree.\n     */\n    detachEvents = new EventEmitter();\n    /**\n     * Data that will be provided to the child injector through the `ROUTER_OUTLET_DATA` token.\n     *\n     * When unset, the value of the token is `undefined` by default.\n     */\n    routerOutletData = input(undefined);\n    parentContexts = inject(ChildrenOutletContexts);\n    location = inject(ViewContainerRef);\n    changeDetector = inject(ChangeDetectorRef);\n    inputBinder = inject(INPUT_BINDER, {\n      optional: true\n    });\n    /** @docs-private */\n    supportsBindingToComponentInputs = true;\n    /** @docs-private */\n    ngOnChanges(changes) {\n      if (changes['name']) {\n        const {\n          firstChange,\n          previousValue\n        } = changes['name'];\n        if (firstChange) {\n          // The first change is handled by ngOnInit. Because ngOnChanges doesn't get called when no\n          // input is set at all, we need to centrally handle the first change there.\n          return;\n        }\n        // unregister with the old name\n        if (this.isTrackedInParentContexts(previousValue)) {\n          this.deactivate();\n          this.parentContexts.onChildOutletDestroyed(previousValue);\n        }\n        // register the new name\n        this.initializeOutletWithName();\n      }\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      // Ensure that the registered outlet is this one before removing it on the context.\n      if (this.isTrackedInParentContexts(this.name)) {\n        this.parentContexts.onChildOutletDestroyed(this.name);\n      }\n      this.inputBinder?.unsubscribeFromRouteData(this);\n    }\n    isTrackedInParentContexts(outletName) {\n      return this.parentContexts.getContext(outletName)?.outlet === this;\n    }\n    /** @docs-private */\n    ngOnInit() {\n      this.initializeOutletWithName();\n    }\n    initializeOutletWithName() {\n      this.parentContexts.onChildOutletCreated(this.name, this);\n      if (this.activated) {\n        return;\n      }\n      // If the outlet was not instantiated at the time the route got activated we need to populate\n      // the outlet when it is initialized (ie inside a NgIf)\n      const context = this.parentContexts.getContext(this.name);\n      if (context?.route) {\n        if (context.attachRef) {\n          // `attachRef` is populated when there is an existing component to mount\n          this.attach(context.attachRef, context.route);\n        } else {\n          // otherwise the component defined in the configuration is created\n          this.activateWith(context.route, context.injector);\n        }\n      }\n    }\n    get isActivated() {\n      return !!this.activated;\n    }\n    /**\n     * @returns The currently activated component instance.\n     * @throws An error if the outlet is not activated.\n     */\n    get component() {\n      if (!this.activated) throw new _RuntimeError(4012 /* RuntimeErrorCode.OUTLET_NOT_ACTIVATED */, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Outlet is not activated');\n      return this.activated.instance;\n    }\n    get activatedRoute() {\n      if (!this.activated) throw new _RuntimeError(4012 /* RuntimeErrorCode.OUTLET_NOT_ACTIVATED */, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Outlet is not activated');\n      return this._activatedRoute;\n    }\n    get activatedRouteData() {\n      if (this._activatedRoute) {\n        return this._activatedRoute.snapshot.data;\n      }\n      return {};\n    }\n    /**\n     * Called when the `RouteReuseStrategy` instructs to detach the subtree\n     */\n    detach() {\n      if (!this.activated) throw new _RuntimeError(4012 /* RuntimeErrorCode.OUTLET_NOT_ACTIVATED */, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Outlet is not activated');\n      this.location.detach();\n      const cmp = this.activated;\n      this.activated = null;\n      this._activatedRoute = null;\n      this.detachEvents.emit(cmp.instance);\n      return cmp;\n    }\n    /**\n     * Called when the `RouteReuseStrategy` instructs to re-attach a previously detached subtree\n     */\n    attach(ref, activatedRoute) {\n      this.activated = ref;\n      this._activatedRoute = activatedRoute;\n      this.location.insert(ref.hostView);\n      this.inputBinder?.bindActivatedRouteToOutletComponent(this);\n      this.attachEvents.emit(ref.instance);\n    }\n    deactivate() {\n      if (this.activated) {\n        const c = this.component;\n        this.activated.destroy();\n        this.activated = null;\n        this._activatedRoute = null;\n        this.deactivateEvents.emit(c);\n      }\n    }\n    activateWith(activatedRoute, environmentInjector) {\n      if (this.isActivated) {\n        throw new _RuntimeError(4013 /* RuntimeErrorCode.OUTLET_ALREADY_ACTIVATED */, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Cannot activate an already activated outlet');\n      }\n      this._activatedRoute = activatedRoute;\n      const location = this.location;\n      const snapshot = activatedRoute.snapshot;\n      const component = snapshot.component;\n      const childContexts = this.parentContexts.getOrCreateContext(this.name).children;\n      const injector = new OutletInjector(activatedRoute, childContexts, location.injector, this.routerOutletData);\n      this.activated = location.createComponent(component, {\n        index: location.length,\n        injector,\n        environmentInjector: environmentInjector\n      });\n      // Calling `markForCheck` to make sure we will run the change detection when the\n      // `RouterOutlet` is inside a `ChangeDetectionStrategy.OnPush` component.\n      this.changeDetector.markForCheck();\n      this.inputBinder?.bindActivatedRouteToOutletComponent(this);\n      this.activateEvents.emit(this.activated.instance);\n    }\n    static ɵfac = function RouterOutlet_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || RouterOutlet)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: RouterOutlet,\n      selectors: [[\"router-outlet\"]],\n      inputs: {\n        name: \"name\",\n        routerOutletData: [1, \"routerOutletData\"]\n      },\n      outputs: {\n        activateEvents: \"activate\",\n        deactivateEvents: \"deactivate\",\n        attachEvents: \"attach\",\n        detachEvents: \"detach\"\n      },\n      exportAs: [\"outlet\"],\n      features: [i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return RouterOutlet;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nclass OutletInjector {\n  route;\n  childContexts;\n  parent;\n  outletData;\n  constructor(route, childContexts, parent, outletData) {\n    this.route = route;\n    this.childContexts = childContexts;\n    this.parent = parent;\n    this.outletData = outletData;\n  }\n  get(token, notFoundValue) {\n    if (token === ActivatedRoute) {\n      return this.route;\n    }\n    if (token === ChildrenOutletContexts) {\n      return this.childContexts;\n    }\n    if (token === ROUTER_OUTLET_DATA) {\n      return this.outletData;\n    }\n    return this.parent.get(token, notFoundValue);\n  }\n}\nconst INPUT_BINDER = /*#__PURE__*/new InjectionToken('');\n/**\n * Injectable used as a tree-shakable provider for opting in to binding router data to component\n * inputs.\n *\n * The RouterOutlet registers itself with this service when an `ActivatedRoute` is attached or\n * activated. When this happens, the service subscribes to the `ActivatedRoute` observables (params,\n * queryParams, data) and sets the inputs of the component using `ComponentRef.setInput`.\n * Importantly, when an input does not have an item in the route data with a matching key, this\n * input is set to `undefined`. If it were not done this way, the previous information would be\n * retained if the data got removed from the route (i.e. if a query parameter is removed).\n *\n * The `RouterOutlet` should unregister itself when destroyed via `unsubscribeFromRouteData` so that\n * the subscriptions are cleaned up.\n */\nlet RoutedComponentInputBinder = /*#__PURE__*/(() => {\n  class RoutedComponentInputBinder {\n    outletDataSubscriptions = new Map();\n    bindActivatedRouteToOutletComponent(outlet) {\n      this.unsubscribeFromRouteData(outlet);\n      this.subscribeToRouteData(outlet);\n    }\n    unsubscribeFromRouteData(outlet) {\n      this.outletDataSubscriptions.get(outlet)?.unsubscribe();\n      this.outletDataSubscriptions.delete(outlet);\n    }\n    subscribeToRouteData(outlet) {\n      const {\n        activatedRoute\n      } = outlet;\n      const dataSubscription = combineLatest([activatedRoute.queryParams, activatedRoute.params, activatedRoute.data]).pipe(switchMap(([queryParams, params, data], index) => {\n        data = {\n          ...queryParams,\n          ...params,\n          ...data\n        };\n        // Get the first result from the data subscription synchronously so it's available to\n        // the component as soon as possible (and doesn't require a second change detection).\n        if (index === 0) {\n          return of(data);\n        }\n        // Promise.resolve is used to avoid synchronously writing the wrong data when\n        // two of the Observables in the `combineLatest` stream emit one after\n        // another.\n        return Promise.resolve(data);\n      })).subscribe(data => {\n        // Outlet may have been deactivated or changed names to be associated with a different\n        // route\n        if (!outlet.isActivated || !outlet.activatedComponentRef || outlet.activatedRoute !== activatedRoute || activatedRoute.component === null) {\n          this.unsubscribeFromRouteData(outlet);\n          return;\n        }\n        const mirror = reflectComponentType(activatedRoute.component);\n        if (!mirror) {\n          this.unsubscribeFromRouteData(outlet);\n          return;\n        }\n        for (const {\n          templateName\n        } of mirror.inputs) {\n          outlet.activatedComponentRef.setInput(templateName, data[templateName]);\n        }\n      });\n      this.outletDataSubscriptions.set(outlet, dataSubscription);\n    }\n    static ɵfac = function RoutedComponentInputBinder_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || RoutedComponentInputBinder)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: RoutedComponentInputBinder,\n      factory: RoutedComponentInputBinder.ɵfac\n    });\n  }\n  return RoutedComponentInputBinder;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * This component is used internally within the router to be a placeholder when an empty\n * router-outlet is needed. For example, with a config such as:\n *\n * `{path: 'parent', outlet: 'nav', children: [...]}`\n *\n * In order to render, there needs to be a component on this config, which will default\n * to this `EmptyOutletComponent`.\n */\nlet ɵEmptyOutletComponent = /*#__PURE__*/(() => {\n  class ɵEmptyOutletComponent {\n    static ɵfac = function ɵEmptyOutletComponent_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ɵEmptyOutletComponent)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: ɵEmptyOutletComponent,\n      selectors: [[\"ng-component\"]],\n      exportAs: [\"emptyRouterOutlet\"],\n      decls: 1,\n      vars: 0,\n      template: function _EmptyOutletComponent_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵelement(0, \"router-outlet\");\n        }\n      },\n      dependencies: [RouterOutlet],\n      encapsulation: 2\n    });\n  }\n  return ɵEmptyOutletComponent;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Makes a copy of the config and adds any default required properties.\n */\nfunction standardizeConfig(r) {\n  const children = r.children && r.children.map(standardizeConfig);\n  const c = children ? {\n    ...r,\n    children\n  } : {\n    ...r\n  };\n  if (!c.component && !c.loadComponent && (children || c.loadChildren) && c.outlet && c.outlet !== PRIMARY_OUTLET) {\n    c.component = ɵEmptyOutletComponent;\n  }\n  return c;\n}\nfunction createRouterState(routeReuseStrategy, curr, prevState) {\n  const root = createNode(routeReuseStrategy, curr._root, prevState ? prevState._root : undefined);\n  return new RouterState(root, curr);\n}\nfunction createNode(routeReuseStrategy, curr, prevState) {\n  // reuse an activated route that is currently displayed on the screen\n  if (prevState && routeReuseStrategy.shouldReuseRoute(curr.value, prevState.value.snapshot)) {\n    const value = prevState.value;\n    value._futureSnapshot = curr.value;\n    const children = createOrReuseChildren(routeReuseStrategy, curr, prevState);\n    return new TreeNode(value, children);\n  } else {\n    if (routeReuseStrategy.shouldAttach(curr.value)) {\n      // retrieve an activated route that is used to be displayed, but is not currently displayed\n      const detachedRouteHandle = routeReuseStrategy.retrieve(curr.value);\n      if (detachedRouteHandle !== null) {\n        const tree = detachedRouteHandle.route;\n        tree.value._futureSnapshot = curr.value;\n        tree.children = curr.children.map(c => createNode(routeReuseStrategy, c));\n        return tree;\n      }\n    }\n    const value = createActivatedRoute(curr.value);\n    const children = curr.children.map(c => createNode(routeReuseStrategy, c));\n    return new TreeNode(value, children);\n  }\n}\nfunction createOrReuseChildren(routeReuseStrategy, curr, prevState) {\n  return curr.children.map(child => {\n    for (const p of prevState.children) {\n      if (routeReuseStrategy.shouldReuseRoute(child.value, p.value.snapshot)) {\n        return createNode(routeReuseStrategy, child, p);\n      }\n    }\n    return createNode(routeReuseStrategy, child);\n  });\n}\nfunction createActivatedRoute(c) {\n  return new ActivatedRoute(new BehaviorSubject(c.url), new BehaviorSubject(c.params), new BehaviorSubject(c.queryParams), new BehaviorSubject(c.fragment), new BehaviorSubject(c.data), c.outlet, c.component, c);\n}\n\n/**\n * Can be returned by a `Router` guard to instruct the `Router` to redirect rather than continue\n * processing the path of the in-flight navigation. The `redirectTo` indicates _where_ the new\n * navigation should go to and the optional `navigationBehaviorOptions` can provide more information\n * about _how_ to perform the navigation.\n *\n * ```ts\n * const route: Route = {\n *   path: \"user/:userId\",\n *   component: User,\n *   canActivate: [\n *     () => {\n *       const router = inject(Router);\n *       const authService = inject(AuthenticationService);\n *\n *       if (!authService.isLoggedIn()) {\n *         const loginPath = router.parseUrl(\"/login\");\n *         return new RedirectCommand(loginPath, {\n *           skipLocationChange: \"true\",\n *         });\n *       }\n *\n *       return true;\n *     },\n *   ],\n * };\n * ```\n * @see [Routing guide](guide/routing/common-router-tasks#preventing-unauthorized-access)\n *\n * @publicApi\n */\nclass RedirectCommand {\n  redirectTo;\n  navigationBehaviorOptions;\n  constructor(redirectTo, navigationBehaviorOptions) {\n    this.redirectTo = redirectTo;\n    this.navigationBehaviorOptions = navigationBehaviorOptions;\n  }\n}\nconst NAVIGATION_CANCELING_ERROR = 'ngNavigationCancelingError';\nfunction redirectingNavigationError(urlSerializer, redirect) {\n  const {\n    redirectTo,\n    navigationBehaviorOptions\n  } = isUrlTree(redirect) ? {\n    redirectTo: redirect,\n    navigationBehaviorOptions: undefined\n  } : redirect;\n  const error = navigationCancelingError(ngDevMode && `Redirecting to \"${urlSerializer.serialize(redirectTo)}\"`, NavigationCancellationCode.Redirect);\n  error.url = redirectTo;\n  error.navigationBehaviorOptions = navigationBehaviorOptions;\n  return error;\n}\nfunction navigationCancelingError(message, code) {\n  const error = new Error(`NavigationCancelingError: ${message || ''}`);\n  error[NAVIGATION_CANCELING_ERROR] = true;\n  error.cancellationCode = code;\n  return error;\n}\nfunction isRedirectingNavigationCancelingError(error) {\n  return isNavigationCancelingError(error) && isUrlTree(error.url);\n}\nfunction isNavigationCancelingError(error) {\n  return !!error && error[NAVIGATION_CANCELING_ERROR];\n}\nlet warnedAboutUnsupportedInputBinding = false;\nconst activateRoutes = (rootContexts, routeReuseStrategy, forwardEvent, inputBindingEnabled) => map(t => {\n  new ActivateRoutes(routeReuseStrategy, t.targetRouterState, t.currentRouterState, forwardEvent, inputBindingEnabled).activate(rootContexts);\n  return t;\n});\nclass ActivateRoutes {\n  routeReuseStrategy;\n  futureState;\n  currState;\n  forwardEvent;\n  inputBindingEnabled;\n  constructor(routeReuseStrategy, futureState, currState, forwardEvent, inputBindingEnabled) {\n    this.routeReuseStrategy = routeReuseStrategy;\n    this.futureState = futureState;\n    this.currState = currState;\n    this.forwardEvent = forwardEvent;\n    this.inputBindingEnabled = inputBindingEnabled;\n  }\n  activate(parentContexts) {\n    const futureRoot = this.futureState._root;\n    const currRoot = this.currState ? this.currState._root : null;\n    this.deactivateChildRoutes(futureRoot, currRoot, parentContexts);\n    advanceActivatedRoute(this.futureState.root);\n    this.activateChildRoutes(futureRoot, currRoot, parentContexts);\n  }\n  // De-activate the child route that are not re-used for the future state\n  deactivateChildRoutes(futureNode, currNode, contexts) {\n    const children = nodeChildrenAsMap(currNode);\n    // Recurse on the routes active in the future state to de-activate deeper children\n    futureNode.children.forEach(futureChild => {\n      const childOutletName = futureChild.value.outlet;\n      this.deactivateRoutes(futureChild, children[childOutletName], contexts);\n      delete children[childOutletName];\n    });\n    // De-activate the routes that will not be re-used\n    Object.values(children).forEach(v => {\n      this.deactivateRouteAndItsChildren(v, contexts);\n    });\n  }\n  deactivateRoutes(futureNode, currNode, parentContext) {\n    const future = futureNode.value;\n    const curr = currNode ? currNode.value : null;\n    if (future === curr) {\n      // Reusing the node, check to see if the children need to be de-activated\n      if (future.component) {\n        // If we have a normal route, we need to go through an outlet.\n        const context = parentContext.getContext(future.outlet);\n        if (context) {\n          this.deactivateChildRoutes(futureNode, currNode, context.children);\n        }\n      } else {\n        // if we have a componentless route, we recurse but keep the same outlet map.\n        this.deactivateChildRoutes(futureNode, currNode, parentContext);\n      }\n    } else {\n      if (curr) {\n        // Deactivate the current route which will not be re-used\n        this.deactivateRouteAndItsChildren(currNode, parentContext);\n      }\n    }\n  }\n  deactivateRouteAndItsChildren(route, parentContexts) {\n    // If there is no component, the Route is never attached to an outlet (because there is no\n    // component to attach).\n    if (route.value.component && this.routeReuseStrategy.shouldDetach(route.value.snapshot)) {\n      this.detachAndStoreRouteSubtree(route, parentContexts);\n    } else {\n      this.deactivateRouteAndOutlet(route, parentContexts);\n    }\n  }\n  detachAndStoreRouteSubtree(route, parentContexts) {\n    const context = parentContexts.getContext(route.value.outlet);\n    const contexts = context && route.value.component ? context.children : parentContexts;\n    const children = nodeChildrenAsMap(route);\n    for (const treeNode of Object.values(children)) {\n      this.deactivateRouteAndItsChildren(treeNode, contexts);\n    }\n    if (context && context.outlet) {\n      const componentRef = context.outlet.detach();\n      const contexts = context.children.onOutletDeactivated();\n      this.routeReuseStrategy.store(route.value.snapshot, {\n        componentRef,\n        route,\n        contexts\n      });\n    }\n  }\n  deactivateRouteAndOutlet(route, parentContexts) {\n    const context = parentContexts.getContext(route.value.outlet);\n    // The context could be `null` if we are on a componentless route but there may still be\n    // children that need deactivating.\n    const contexts = context && route.value.component ? context.children : parentContexts;\n    const children = nodeChildrenAsMap(route);\n    for (const treeNode of Object.values(children)) {\n      this.deactivateRouteAndItsChildren(treeNode, contexts);\n    }\n    if (context) {\n      if (context.outlet) {\n        // Destroy the component\n        context.outlet.deactivate();\n        // Destroy the contexts for all the outlets that were in the component\n        context.children.onOutletDeactivated();\n      }\n      // Clear the information about the attached component on the context but keep the reference to\n      // the outlet. Clear even if outlet was not yet activated to avoid activating later with old\n      // info\n      context.attachRef = null;\n      context.route = null;\n    }\n  }\n  activateChildRoutes(futureNode, currNode, contexts) {\n    const children = nodeChildrenAsMap(currNode);\n    futureNode.children.forEach(c => {\n      this.activateRoutes(c, children[c.value.outlet], contexts);\n      this.forwardEvent(new ActivationEnd(c.value.snapshot));\n    });\n    if (futureNode.children.length) {\n      this.forwardEvent(new ChildActivationEnd(futureNode.value.snapshot));\n    }\n  }\n  activateRoutes(futureNode, currNode, parentContexts) {\n    const future = futureNode.value;\n    const curr = currNode ? currNode.value : null;\n    advanceActivatedRoute(future);\n    // reusing the node\n    if (future === curr) {\n      if (future.component) {\n        // If we have a normal route, we need to go through an outlet.\n        const context = parentContexts.getOrCreateContext(future.outlet);\n        this.activateChildRoutes(futureNode, currNode, context.children);\n      } else {\n        // if we have a componentless route, we recurse but keep the same outlet map.\n        this.activateChildRoutes(futureNode, currNode, parentContexts);\n      }\n    } else {\n      if (future.component) {\n        // if we have a normal route, we need to place the component into the outlet and recurse.\n        const context = parentContexts.getOrCreateContext(future.outlet);\n        if (this.routeReuseStrategy.shouldAttach(future.snapshot)) {\n          const stored = this.routeReuseStrategy.retrieve(future.snapshot);\n          this.routeReuseStrategy.store(future.snapshot, null);\n          context.children.onOutletReAttached(stored.contexts);\n          context.attachRef = stored.componentRef;\n          context.route = stored.route.value;\n          if (context.outlet) {\n            // Attach right away when the outlet has already been instantiated\n            // Otherwise attach from `RouterOutlet.ngOnInit` when it is instantiated\n            context.outlet.attach(stored.componentRef, stored.route.value);\n          }\n          advanceActivatedRoute(stored.route.value);\n          this.activateChildRoutes(futureNode, null, context.children);\n        } else {\n          context.attachRef = null;\n          context.route = future;\n          if (context.outlet) {\n            // Activate the outlet when it has already been instantiated\n            // Otherwise it will get activated from its `ngOnInit` when instantiated\n            context.outlet.activateWith(future, context.injector);\n          }\n          this.activateChildRoutes(futureNode, null, context.children);\n        }\n      } else {\n        // if we have a componentless route, we recurse but keep the same outlet map.\n        this.activateChildRoutes(futureNode, null, parentContexts);\n      }\n    }\n    if (typeof ngDevMode === 'undefined' || ngDevMode) {\n      const context = parentContexts.getOrCreateContext(future.outlet);\n      const outlet = context.outlet;\n      if (outlet && this.inputBindingEnabled && !outlet.supportsBindingToComponentInputs && !warnedAboutUnsupportedInputBinding) {\n        console.warn(`'withComponentInputBinding' feature is enabled but ` + `this application is using an outlet that may not support binding to component inputs.`);\n        warnedAboutUnsupportedInputBinding = true;\n      }\n    }\n  }\n}\nclass CanActivate {\n  path;\n  route;\n  constructor(path) {\n    this.path = path;\n    this.route = this.path[this.path.length - 1];\n  }\n}\nclass CanDeactivate {\n  component;\n  route;\n  constructor(component, route) {\n    this.component = component;\n    this.route = route;\n  }\n}\nfunction getAllRouteGuards(future, curr, parentContexts) {\n  const futureRoot = future._root;\n  const currRoot = curr ? curr._root : null;\n  return getChildRouteGuards(futureRoot, currRoot, parentContexts, [futureRoot.value]);\n}\nfunction getCanActivateChild(p) {\n  const canActivateChild = p.routeConfig ? p.routeConfig.canActivateChild : null;\n  if (!canActivateChild || canActivateChild.length === 0) return null;\n  return {\n    node: p,\n    guards: canActivateChild\n  };\n}\nfunction getTokenOrFunctionIdentity(tokenOrFunction, injector) {\n  const NOT_FOUND = Symbol();\n  const result = injector.get(tokenOrFunction, NOT_FOUND);\n  if (result === NOT_FOUND) {\n    if (typeof tokenOrFunction === 'function' && !_isInjectable(tokenOrFunction)) {\n      // We think the token is just a function so return it as-is\n      return tokenOrFunction;\n    } else {\n      // This will throw the not found error\n      return injector.get(tokenOrFunction);\n    }\n  }\n  return result;\n}\nfunction getChildRouteGuards(futureNode, currNode, contexts, futurePath, checks = {\n  canDeactivateChecks: [],\n  canActivateChecks: []\n}) {\n  const prevChildren = nodeChildrenAsMap(currNode);\n  // Process the children of the future route\n  futureNode.children.forEach(c => {\n    getRouteGuards(c, prevChildren[c.value.outlet], contexts, futurePath.concat([c.value]), checks);\n    delete prevChildren[c.value.outlet];\n  });\n  // Process any children left from the current route (not active for the future route)\n  Object.entries(prevChildren).forEach(([k, v]) => deactivateRouteAndItsChildren(v, contexts.getContext(k), checks));\n  return checks;\n}\nfunction getRouteGuards(futureNode, currNode, parentContexts, futurePath, checks = {\n  canDeactivateChecks: [],\n  canActivateChecks: []\n}) {\n  const future = futureNode.value;\n  const curr = currNode ? currNode.value : null;\n  const context = parentContexts ? parentContexts.getContext(futureNode.value.outlet) : null;\n  // reusing the node\n  if (curr && future.routeConfig === curr.routeConfig) {\n    const shouldRun = shouldRunGuardsAndResolvers(curr, future, future.routeConfig.runGuardsAndResolvers);\n    if (shouldRun) {\n      checks.canActivateChecks.push(new CanActivate(futurePath));\n    } else {\n      // we need to set the data\n      future.data = curr.data;\n      future._resolvedData = curr._resolvedData;\n    }\n    // If we have a component, we need to go through an outlet.\n    if (future.component) {\n      getChildRouteGuards(futureNode, currNode, context ? context.children : null, futurePath, checks);\n      // if we have a componentless route, we recurse but keep the same outlet map.\n    } else {\n      getChildRouteGuards(futureNode, currNode, parentContexts, futurePath, checks);\n    }\n    if (shouldRun && context && context.outlet && context.outlet.isActivated) {\n      checks.canDeactivateChecks.push(new CanDeactivate(context.outlet.component, curr));\n    }\n  } else {\n    if (curr) {\n      deactivateRouteAndItsChildren(currNode, context, checks);\n    }\n    checks.canActivateChecks.push(new CanActivate(futurePath));\n    // If we have a component, we need to go through an outlet.\n    if (future.component) {\n      getChildRouteGuards(futureNode, null, context ? context.children : null, futurePath, checks);\n      // if we have a componentless route, we recurse but keep the same outlet map.\n    } else {\n      getChildRouteGuards(futureNode, null, parentContexts, futurePath, checks);\n    }\n  }\n  return checks;\n}\nfunction shouldRunGuardsAndResolvers(curr, future, mode) {\n  if (typeof mode === 'function') {\n    return mode(curr, future);\n  }\n  switch (mode) {\n    case 'pathParamsChange':\n      return !equalPath(curr.url, future.url);\n    case 'pathParamsOrQueryParamsChange':\n      return !equalPath(curr.url, future.url) || !shallowEqual(curr.queryParams, future.queryParams);\n    case 'always':\n      return true;\n    case 'paramsOrQueryParamsChange':\n      return !equalParamsAndUrlSegments(curr, future) || !shallowEqual(curr.queryParams, future.queryParams);\n    case 'paramsChange':\n    default:\n      return !equalParamsAndUrlSegments(curr, future);\n  }\n}\nfunction deactivateRouteAndItsChildren(route, context, checks) {\n  const children = nodeChildrenAsMap(route);\n  const r = route.value;\n  Object.entries(children).forEach(([childName, node]) => {\n    if (!r.component) {\n      deactivateRouteAndItsChildren(node, context, checks);\n    } else if (context) {\n      deactivateRouteAndItsChildren(node, context.children.getContext(childName), checks);\n    } else {\n      deactivateRouteAndItsChildren(node, null, checks);\n    }\n  });\n  if (!r.component) {\n    checks.canDeactivateChecks.push(new CanDeactivate(null, r));\n  } else if (context && context.outlet && context.outlet.isActivated) {\n    checks.canDeactivateChecks.push(new CanDeactivate(context.outlet.component, r));\n  } else {\n    checks.canDeactivateChecks.push(new CanDeactivate(null, r));\n  }\n}\n\n/**\n * Simple function check, but generic so type inference will flow. Example:\n *\n * function product(a: number, b: number) {\n *   return a * b;\n * }\n *\n * if (isFunction<product>(fn)) {\n *   return fn(1, 2);\n * } else {\n *   throw \"Must provide the `product` function\";\n * }\n */\nfunction isFunction(v) {\n  return typeof v === 'function';\n}\nfunction isBoolean(v) {\n  return typeof v === 'boolean';\n}\nfunction isCanLoad(guard) {\n  return guard && isFunction(guard.canLoad);\n}\nfunction isCanActivate(guard) {\n  return guard && isFunction(guard.canActivate);\n}\nfunction isCanActivateChild(guard) {\n  return guard && isFunction(guard.canActivateChild);\n}\nfunction isCanDeactivate(guard) {\n  return guard && isFunction(guard.canDeactivate);\n}\nfunction isCanMatch(guard) {\n  return guard && isFunction(guard.canMatch);\n}\nfunction isEmptyError(e) {\n  return e instanceof EmptyError || e?.name === 'EmptyError';\n}\nconst INITIAL_VALUE = /* @__PURE__ */Symbol('INITIAL_VALUE');\nfunction prioritizedGuardValue() {\n  return switchMap(obs => {\n    return combineLatest(obs.map(o => o.pipe(take(1), startWith(INITIAL_VALUE)))).pipe(map(results => {\n      for (const result of results) {\n        if (result === true) {\n          // If result is true, check the next one\n          continue;\n        } else if (result === INITIAL_VALUE) {\n          // If guard has not finished, we need to stop processing.\n          return INITIAL_VALUE;\n        } else if (result === false || isRedirect(result)) {\n          // Result finished and was not true. Return the result.\n          // Note that we only allow false/UrlTree/RedirectCommand. Other values are considered invalid and\n          // ignored.\n          return result;\n        }\n      }\n      // Everything resolved to true. Return true.\n      return true;\n    }), filter(item => item !== INITIAL_VALUE), take(1));\n  });\n}\nfunction isRedirect(val) {\n  return isUrlTree(val) || val instanceof RedirectCommand;\n}\nfunction checkGuards(injector, forwardEvent) {\n  return mergeMap(t => {\n    const {\n      targetSnapshot,\n      currentSnapshot,\n      guards: {\n        canActivateChecks,\n        canDeactivateChecks\n      }\n    } = t;\n    if (canDeactivateChecks.length === 0 && canActivateChecks.length === 0) {\n      return of({\n        ...t,\n        guardsResult: true\n      });\n    }\n    return runCanDeactivateChecks(canDeactivateChecks, targetSnapshot, currentSnapshot, injector).pipe(mergeMap(canDeactivate => {\n      return canDeactivate && isBoolean(canDeactivate) ? runCanActivateChecks(targetSnapshot, canActivateChecks, injector, forwardEvent) : of(canDeactivate);\n    }), map(guardsResult => ({\n      ...t,\n      guardsResult\n    })));\n  });\n}\nfunction runCanDeactivateChecks(checks, futureRSS, currRSS, injector) {\n  return from(checks).pipe(mergeMap(check => runCanDeactivate(check.component, check.route, currRSS, futureRSS, injector)), first(result => {\n    return result !== true;\n  }, true));\n}\nfunction runCanActivateChecks(futureSnapshot, checks, injector, forwardEvent) {\n  return from(checks).pipe(concatMap(check => {\n    return concat(fireChildActivationStart(check.route.parent, forwardEvent), fireActivationStart(check.route, forwardEvent), runCanActivateChild(futureSnapshot, check.path, injector), runCanActivate(futureSnapshot, check.route, injector));\n  }), first(result => {\n    return result !== true;\n  }, true));\n}\n/**\n * This should fire off `ActivationStart` events for each route being activated at this\n * level.\n * In other words, if you're activating `a` and `b` below, `path` will contain the\n * `ActivatedRouteSnapshot`s for both and we will fire `ActivationStart` for both. Always\n * return\n * `true` so checks continue to run.\n */\nfunction fireActivationStart(snapshot, forwardEvent) {\n  if (snapshot !== null && forwardEvent) {\n    forwardEvent(new ActivationStart(snapshot));\n  }\n  return of(true);\n}\n/**\n * This should fire off `ChildActivationStart` events for each route being activated at this\n * level.\n * In other words, if you're activating `a` and `b` below, `path` will contain the\n * `ActivatedRouteSnapshot`s for both and we will fire `ChildActivationStart` for both. Always\n * return\n * `true` so checks continue to run.\n */\nfunction fireChildActivationStart(snapshot, forwardEvent) {\n  if (snapshot !== null && forwardEvent) {\n    forwardEvent(new ChildActivationStart(snapshot));\n  }\n  return of(true);\n}\nfunction runCanActivate(futureRSS, futureARS, injector) {\n  const canActivate = futureARS.routeConfig ? futureARS.routeConfig.canActivate : null;\n  if (!canActivate || canActivate.length === 0) return of(true);\n  const canActivateObservables = canActivate.map(canActivate => {\n    return defer(() => {\n      const closestInjector = getClosestRouteInjector(futureARS) ?? injector;\n      const guard = getTokenOrFunctionIdentity(canActivate, closestInjector);\n      const guardVal = isCanActivate(guard) ? guard.canActivate(futureARS, futureRSS) : runInInjectionContext(closestInjector, () => guard(futureARS, futureRSS));\n      return wrapIntoObservable(guardVal).pipe(first());\n    });\n  });\n  return of(canActivateObservables).pipe(prioritizedGuardValue());\n}\nfunction runCanActivateChild(futureRSS, path, injector) {\n  const futureARS = path[path.length - 1];\n  const canActivateChildGuards = path.slice(0, path.length - 1).reverse().map(p => getCanActivateChild(p)).filter(_ => _ !== null);\n  const canActivateChildGuardsMapped = canActivateChildGuards.map(d => {\n    return defer(() => {\n      const guardsMapped = d.guards.map(canActivateChild => {\n        const closestInjector = getClosestRouteInjector(d.node) ?? injector;\n        const guard = getTokenOrFunctionIdentity(canActivateChild, closestInjector);\n        const guardVal = isCanActivateChild(guard) ? guard.canActivateChild(futureARS, futureRSS) : runInInjectionContext(closestInjector, () => guard(futureARS, futureRSS));\n        return wrapIntoObservable(guardVal).pipe(first());\n      });\n      return of(guardsMapped).pipe(prioritizedGuardValue());\n    });\n  });\n  return of(canActivateChildGuardsMapped).pipe(prioritizedGuardValue());\n}\nfunction runCanDeactivate(component, currARS, currRSS, futureRSS, injector) {\n  const canDeactivate = currARS && currARS.routeConfig ? currARS.routeConfig.canDeactivate : null;\n  if (!canDeactivate || canDeactivate.length === 0) return of(true);\n  const canDeactivateObservables = canDeactivate.map(c => {\n    const closestInjector = getClosestRouteInjector(currARS) ?? injector;\n    const guard = getTokenOrFunctionIdentity(c, closestInjector);\n    const guardVal = isCanDeactivate(guard) ? guard.canDeactivate(component, currARS, currRSS, futureRSS) : runInInjectionContext(closestInjector, () => guard(component, currARS, currRSS, futureRSS));\n    return wrapIntoObservable(guardVal).pipe(first());\n  });\n  return of(canDeactivateObservables).pipe(prioritizedGuardValue());\n}\nfunction runCanLoadGuards(injector, route, segments, urlSerializer) {\n  const canLoad = route.canLoad;\n  if (canLoad === undefined || canLoad.length === 0) {\n    return of(true);\n  }\n  const canLoadObservables = canLoad.map(injectionToken => {\n    const guard = getTokenOrFunctionIdentity(injectionToken, injector);\n    const guardVal = isCanLoad(guard) ? guard.canLoad(route, segments) : runInInjectionContext(injector, () => guard(route, segments));\n    return wrapIntoObservable(guardVal);\n  });\n  return of(canLoadObservables).pipe(prioritizedGuardValue(), redirectIfUrlTree(urlSerializer));\n}\nfunction redirectIfUrlTree(urlSerializer) {\n  return pipe(tap(result => {\n    if (typeof result === 'boolean') return;\n    throw redirectingNavigationError(urlSerializer, result);\n  }), map(result => result === true));\n}\nfunction runCanMatchGuards(injector, route, segments, urlSerializer) {\n  const canMatch = route.canMatch;\n  if (!canMatch || canMatch.length === 0) return of(true);\n  const canMatchObservables = canMatch.map(injectionToken => {\n    const guard = getTokenOrFunctionIdentity(injectionToken, injector);\n    const guardVal = isCanMatch(guard) ? guard.canMatch(route, segments) : runInInjectionContext(injector, () => guard(route, segments));\n    return wrapIntoObservable(guardVal);\n  });\n  return of(canMatchObservables).pipe(prioritizedGuardValue(), redirectIfUrlTree(urlSerializer));\n}\nclass NoMatch {\n  segmentGroup;\n  constructor(segmentGroup) {\n    this.segmentGroup = segmentGroup || null;\n  }\n}\nclass AbsoluteRedirect extends Error {\n  urlTree;\n  constructor(urlTree) {\n    super();\n    this.urlTree = urlTree;\n  }\n}\nfunction noMatch$1(segmentGroup) {\n  return throwError(new NoMatch(segmentGroup));\n}\nfunction namedOutletsRedirect(redirectTo) {\n  return throwError(new _RuntimeError(4000 /* RuntimeErrorCode.NAMED_OUTLET_REDIRECT */, (typeof ngDevMode === 'undefined' || ngDevMode) && `Only absolute redirects can have named outlets. redirectTo: '${redirectTo}'`));\n}\nfunction canLoadFails(route) {\n  return throwError(navigationCancelingError((typeof ngDevMode === 'undefined' || ngDevMode) && `Cannot load children because the guard of the route \"path: '${route.path}'\" returned false`, NavigationCancellationCode.GuardRejected));\n}\nclass ApplyRedirects {\n  urlSerializer;\n  urlTree;\n  constructor(urlSerializer, urlTree) {\n    this.urlSerializer = urlSerializer;\n    this.urlTree = urlTree;\n  }\n  lineralizeSegments(route, urlTree) {\n    let res = [];\n    let c = urlTree.root;\n    while (true) {\n      res = res.concat(c.segments);\n      if (c.numberOfChildren === 0) {\n        return of(res);\n      }\n      if (c.numberOfChildren > 1 || !c.children[PRIMARY_OUTLET]) {\n        return namedOutletsRedirect(`${route.redirectTo}`);\n      }\n      c = c.children[PRIMARY_OUTLET];\n    }\n  }\n  applyRedirectCommands(segments, redirectTo, posParams, currentSnapshot, injector) {\n    if (typeof redirectTo !== 'string') {\n      const redirectToFn = redirectTo;\n      const {\n        queryParams,\n        fragment,\n        routeConfig,\n        url,\n        outlet,\n        params,\n        data,\n        title\n      } = currentSnapshot;\n      const newRedirect = runInInjectionContext(injector, () => redirectToFn({\n        params,\n        data,\n        queryParams,\n        fragment,\n        routeConfig,\n        url,\n        outlet,\n        title\n      }));\n      if (newRedirect instanceof UrlTree) {\n        throw new AbsoluteRedirect(newRedirect);\n      }\n      redirectTo = newRedirect;\n    }\n    const newTree = this.applyRedirectCreateUrlTree(redirectTo, this.urlSerializer.parse(redirectTo), segments, posParams);\n    if (redirectTo[0] === '/') {\n      throw new AbsoluteRedirect(newTree);\n    }\n    return newTree;\n  }\n  applyRedirectCreateUrlTree(redirectTo, urlTree, segments, posParams) {\n    const newRoot = this.createSegmentGroup(redirectTo, urlTree.root, segments, posParams);\n    return new UrlTree(newRoot, this.createQueryParams(urlTree.queryParams, this.urlTree.queryParams), urlTree.fragment);\n  }\n  createQueryParams(redirectToParams, actualParams) {\n    const res = {};\n    Object.entries(redirectToParams).forEach(([k, v]) => {\n      const copySourceValue = typeof v === 'string' && v[0] === ':';\n      if (copySourceValue) {\n        const sourceName = v.substring(1);\n        res[k] = actualParams[sourceName];\n      } else {\n        res[k] = v;\n      }\n    });\n    return res;\n  }\n  createSegmentGroup(redirectTo, group, segments, posParams) {\n    const updatedSegments = this.createSegments(redirectTo, group.segments, segments, posParams);\n    let children = {};\n    Object.entries(group.children).forEach(([name, child]) => {\n      children[name] = this.createSegmentGroup(redirectTo, child, segments, posParams);\n    });\n    return new UrlSegmentGroup(updatedSegments, children);\n  }\n  createSegments(redirectTo, redirectToSegments, actualSegments, posParams) {\n    return redirectToSegments.map(s => s.path[0] === ':' ? this.findPosParam(redirectTo, s, posParams) : this.findOrReturn(s, actualSegments));\n  }\n  findPosParam(redirectTo, redirectToUrlSegment, posParams) {\n    const pos = posParams[redirectToUrlSegment.path.substring(1)];\n    if (!pos) throw new _RuntimeError(4001 /* RuntimeErrorCode.MISSING_REDIRECT */, (typeof ngDevMode === 'undefined' || ngDevMode) && `Cannot redirect to '${redirectTo}'. Cannot find '${redirectToUrlSegment.path}'.`);\n    return pos;\n  }\n  findOrReturn(redirectToUrlSegment, actualSegments) {\n    let idx = 0;\n    for (const s of actualSegments) {\n      if (s.path === redirectToUrlSegment.path) {\n        actualSegments.splice(idx);\n        return s;\n      }\n      idx++;\n    }\n    return redirectToUrlSegment;\n  }\n}\nconst noMatch = {\n  matched: false,\n  consumedSegments: [],\n  remainingSegments: [],\n  parameters: {},\n  positionalParamSegments: {}\n};\nfunction matchWithChecks(segmentGroup, route, segments, injector, urlSerializer) {\n  const result = match(segmentGroup, route, segments);\n  if (!result.matched) {\n    return of(result);\n  }\n  // Only create the Route's `EnvironmentInjector` if it matches the attempted\n  // navigation\n  injector = getOrCreateRouteInjectorIfNeeded(route, injector);\n  return runCanMatchGuards(injector, route, segments, urlSerializer).pipe(map(v => v === true ? result : {\n    ...noMatch\n  }));\n}\nfunction match(segmentGroup, route, segments) {\n  if (route.path === '**') {\n    return createWildcardMatchResult(segments);\n  }\n  if (route.path === '') {\n    if (route.pathMatch === 'full' && (segmentGroup.hasChildren() || segments.length > 0)) {\n      return {\n        ...noMatch\n      };\n    }\n    return {\n      matched: true,\n      consumedSegments: [],\n      remainingSegments: segments,\n      parameters: {},\n      positionalParamSegments: {}\n    };\n  }\n  const matcher = route.matcher || defaultUrlMatcher;\n  const res = matcher(segments, segmentGroup, route);\n  if (!res) return {\n    ...noMatch\n  };\n  const posParams = {};\n  Object.entries(res.posParams ?? {}).forEach(([k, v]) => {\n    posParams[k] = v.path;\n  });\n  const parameters = res.consumed.length > 0 ? {\n    ...posParams,\n    ...res.consumed[res.consumed.length - 1].parameters\n  } : posParams;\n  return {\n    matched: true,\n    consumedSegments: res.consumed,\n    remainingSegments: segments.slice(res.consumed.length),\n    // TODO(atscott): investigate combining parameters and positionalParamSegments\n    parameters,\n    positionalParamSegments: res.posParams ?? {}\n  };\n}\nfunction createWildcardMatchResult(segments) {\n  return {\n    matched: true,\n    parameters: segments.length > 0 ? last(segments).parameters : {},\n    consumedSegments: segments,\n    remainingSegments: [],\n    positionalParamSegments: {}\n  };\n}\nfunction split(segmentGroup, consumedSegments, slicedSegments, config) {\n  if (slicedSegments.length > 0 && containsEmptyPathMatchesWithNamedOutlets(segmentGroup, slicedSegments, config)) {\n    const s = new UrlSegmentGroup(consumedSegments, createChildrenForEmptyPaths(config, new UrlSegmentGroup(slicedSegments, segmentGroup.children)));\n    return {\n      segmentGroup: s,\n      slicedSegments: []\n    };\n  }\n  if (slicedSegments.length === 0 && containsEmptyPathMatches(segmentGroup, slicedSegments, config)) {\n    const s = new UrlSegmentGroup(segmentGroup.segments, addEmptyPathsToChildrenIfNeeded(segmentGroup, slicedSegments, config, segmentGroup.children));\n    return {\n      segmentGroup: s,\n      slicedSegments\n    };\n  }\n  const s = new UrlSegmentGroup(segmentGroup.segments, segmentGroup.children);\n  return {\n    segmentGroup: s,\n    slicedSegments\n  };\n}\nfunction addEmptyPathsToChildrenIfNeeded(segmentGroup, slicedSegments, routes, children) {\n  const res = {};\n  for (const r of routes) {\n    if (emptyPathMatch(segmentGroup, slicedSegments, r) && !children[getOutlet(r)]) {\n      const s = new UrlSegmentGroup([], {});\n      res[getOutlet(r)] = s;\n    }\n  }\n  return {\n    ...children,\n    ...res\n  };\n}\nfunction createChildrenForEmptyPaths(routes, primarySegment) {\n  const res = {};\n  res[PRIMARY_OUTLET] = primarySegment;\n  for (const r of routes) {\n    if (r.path === '' && getOutlet(r) !== PRIMARY_OUTLET) {\n      const s = new UrlSegmentGroup([], {});\n      res[getOutlet(r)] = s;\n    }\n  }\n  return res;\n}\nfunction containsEmptyPathMatchesWithNamedOutlets(segmentGroup, slicedSegments, routes) {\n  return routes.some(r => emptyPathMatch(segmentGroup, slicedSegments, r) && getOutlet(r) !== PRIMARY_OUTLET);\n}\nfunction containsEmptyPathMatches(segmentGroup, slicedSegments, routes) {\n  return routes.some(r => emptyPathMatch(segmentGroup, slicedSegments, r));\n}\nfunction emptyPathMatch(segmentGroup, slicedSegments, r) {\n  if ((segmentGroup.hasChildren() || slicedSegments.length > 0) && r.pathMatch === 'full') {\n    return false;\n  }\n  return r.path === '';\n}\nfunction noLeftoversInUrl(segmentGroup, segments, outlet) {\n  return segments.length === 0 && !segmentGroup.children[outlet];\n}\n\n/**\n * Class used to indicate there were no additional route config matches but that all segments of\n * the URL were consumed during matching so the route was URL matched. When this happens, we still\n * try to match child configs in case there are empty path children.\n */\nclass NoLeftoversInUrl {}\nfunction recognize$1(injector, configLoader, rootComponentType, config, urlTree, urlSerializer, paramsInheritanceStrategy = 'emptyOnly') {\n  return new Recognizer(injector, configLoader, rootComponentType, config, urlTree, paramsInheritanceStrategy, urlSerializer).recognize();\n}\nconst MAX_ALLOWED_REDIRECTS = 31;\nclass Recognizer {\n  injector;\n  configLoader;\n  rootComponentType;\n  config;\n  urlTree;\n  paramsInheritanceStrategy;\n  urlSerializer;\n  applyRedirects;\n  absoluteRedirectCount = 0;\n  allowRedirects = true;\n  constructor(injector, configLoader, rootComponentType, config, urlTree, paramsInheritanceStrategy, urlSerializer) {\n    this.injector = injector;\n    this.configLoader = configLoader;\n    this.rootComponentType = rootComponentType;\n    this.config = config;\n    this.urlTree = urlTree;\n    this.paramsInheritanceStrategy = paramsInheritanceStrategy;\n    this.urlSerializer = urlSerializer;\n    this.applyRedirects = new ApplyRedirects(this.urlSerializer, this.urlTree);\n  }\n  noMatchError(e) {\n    return new _RuntimeError(4002 /* RuntimeErrorCode.NO_MATCH */, typeof ngDevMode === 'undefined' || ngDevMode ? `Cannot match any routes. URL Segment: '${e.segmentGroup}'` : `'${e.segmentGroup}'`);\n  }\n  recognize() {\n    const rootSegmentGroup = split(this.urlTree.root, [], [], this.config).segmentGroup;\n    return this.match(rootSegmentGroup).pipe(map(({\n      children,\n      rootSnapshot\n    }) => {\n      const rootNode = new TreeNode(rootSnapshot, children);\n      const routeState = new RouterStateSnapshot('', rootNode);\n      const tree = createUrlTreeFromSnapshot(rootSnapshot, [], this.urlTree.queryParams, this.urlTree.fragment);\n      // https://github.com/angular/angular/issues/47307\n      // Creating the tree stringifies the query params\n      // We don't want to do this here so reassign them to the original.\n      tree.queryParams = this.urlTree.queryParams;\n      routeState.url = this.urlSerializer.serialize(tree);\n      return {\n        state: routeState,\n        tree\n      };\n    }));\n  }\n  match(rootSegmentGroup) {\n    // Use Object.freeze to prevent readers of the Router state from modifying it outside\n    // of a navigation, resulting in the router being out of sync with the browser.\n    const rootSnapshot = new ActivatedRouteSnapshot([], Object.freeze({}), Object.freeze({\n      ...this.urlTree.queryParams\n    }), this.urlTree.fragment, Object.freeze({}), PRIMARY_OUTLET, this.rootComponentType, null, {});\n    return this.processSegmentGroup(this.injector, this.config, rootSegmentGroup, PRIMARY_OUTLET, rootSnapshot).pipe(map(children => {\n      return {\n        children,\n        rootSnapshot\n      };\n    }), catchError(e => {\n      if (e instanceof AbsoluteRedirect) {\n        this.urlTree = e.urlTree;\n        return this.match(e.urlTree.root);\n      }\n      if (e instanceof NoMatch) {\n        throw this.noMatchError(e);\n      }\n      throw e;\n    }));\n  }\n  processSegmentGroup(injector, config, segmentGroup, outlet, parentRoute) {\n    if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {\n      return this.processChildren(injector, config, segmentGroup, parentRoute);\n    }\n    return this.processSegment(injector, config, segmentGroup, segmentGroup.segments, outlet, true, parentRoute).pipe(map(child => child instanceof TreeNode ? [child] : []));\n  }\n  /**\n   * Matches every child outlet in the `segmentGroup` to a `Route` in the config. Returns `null` if\n   * we cannot find a match for _any_ of the children.\n   *\n   * @param config - The `Routes` to match against\n   * @param segmentGroup - The `UrlSegmentGroup` whose children need to be matched against the\n   *     config.\n   */\n  processChildren(injector, config, segmentGroup, parentRoute) {\n    // Expand outlets one at a time, starting with the primary outlet. We need to do it this way\n    // because an absolute redirect from the primary outlet takes precedence.\n    const childOutlets = [];\n    for (const child of Object.keys(segmentGroup.children)) {\n      if (child === 'primary') {\n        childOutlets.unshift(child);\n      } else {\n        childOutlets.push(child);\n      }\n    }\n    return from(childOutlets).pipe(concatMap(childOutlet => {\n      const child = segmentGroup.children[childOutlet];\n      // Sort the config so that routes with outlets that match the one being activated\n      // appear first, followed by routes for other outlets, which might match if they have\n      // an empty path.\n      const sortedConfig = sortByMatchingOutlets(config, childOutlet);\n      return this.processSegmentGroup(injector, sortedConfig, child, childOutlet, parentRoute);\n    }), scan((children, outletChildren) => {\n      children.push(...outletChildren);\n      return children;\n    }), defaultIfEmpty(null), last$1(), mergeMap(children => {\n      if (children === null) return noMatch$1(segmentGroup);\n      // Because we may have matched two outlets to the same empty path segment, we can have\n      // multiple activated results for the same outlet. We should merge the children of\n      // these results so the final return value is only one `TreeNode` per outlet.\n      const mergedChildren = mergeEmptyPathMatches(children);\n      if (typeof ngDevMode === 'undefined' || ngDevMode) {\n        // This should really never happen - we are only taking the first match for each\n        // outlet and merge the empty path matches.\n        checkOutletNameUniqueness(mergedChildren);\n      }\n      sortActivatedRouteSnapshots(mergedChildren);\n      return of(mergedChildren);\n    }));\n  }\n  processSegment(injector, routes, segmentGroup, segments, outlet, allowRedirects, parentRoute) {\n    return from(routes).pipe(concatMap(r => {\n      return this.processSegmentAgainstRoute(r._injector ?? injector, routes, r, segmentGroup, segments, outlet, allowRedirects, parentRoute).pipe(catchError(e => {\n        if (e instanceof NoMatch) {\n          return of(null);\n        }\n        throw e;\n      }));\n    }), first(x => !!x), catchError(e => {\n      if (isEmptyError(e)) {\n        if (noLeftoversInUrl(segmentGroup, segments, outlet)) {\n          return of(new NoLeftoversInUrl());\n        }\n        return noMatch$1(segmentGroup);\n      }\n      throw e;\n    }));\n  }\n  processSegmentAgainstRoute(injector, routes, route, rawSegment, segments, outlet, allowRedirects, parentRoute) {\n    // We allow matches to empty paths when the outlets differ so we can match a url like `/(b:b)` to\n    // a config like\n    // * `{path: '', children: [{path: 'b', outlet: 'b'}]}`\n    // or even\n    // * `{path: '', outlet: 'a', children: [{path: 'b', outlet: 'b'}]`\n    //\n    // The exception here is when the segment outlet is for the primary outlet. This would\n    // result in a match inside the named outlet because all children there are written as primary\n    // outlets. So we need to prevent child named outlet matches in a url like `/b` in a config like\n    // * `{path: '', outlet: 'x' children: [{path: 'b'}]}`\n    // This should only match if the url is `/(x:b)`.\n    if (getOutlet(route) !== outlet && (outlet === PRIMARY_OUTLET || !emptyPathMatch(rawSegment, segments, route))) {\n      return noMatch$1(rawSegment);\n    }\n    if (route.redirectTo === undefined) {\n      return this.matchSegmentAgainstRoute(injector, rawSegment, route, segments, outlet, parentRoute);\n    }\n    if (this.allowRedirects && allowRedirects) {\n      return this.expandSegmentAgainstRouteUsingRedirect(injector, rawSegment, routes, route, segments, outlet, parentRoute);\n    }\n    return noMatch$1(rawSegment);\n  }\n  expandSegmentAgainstRouteUsingRedirect(injector, segmentGroup, routes, route, segments, outlet, parentRoute) {\n    const {\n      matched,\n      parameters,\n      consumedSegments,\n      positionalParamSegments,\n      remainingSegments\n    } = match(segmentGroup, route, segments);\n    if (!matched) return noMatch$1(segmentGroup);\n    // TODO(atscott): Move all of this under an if(ngDevMode) as a breaking change and allow stack\n    // size exceeded in production\n    if (typeof route.redirectTo === 'string' && route.redirectTo[0] === '/') {\n      this.absoluteRedirectCount++;\n      if (this.absoluteRedirectCount > MAX_ALLOWED_REDIRECTS) {\n        if (ngDevMode) {\n          throw new _RuntimeError(4016 /* RuntimeErrorCode.INFINITE_REDIRECT */, `Detected possible infinite redirect when redirecting from '${this.urlTree}' to '${route.redirectTo}'.\\n` + `This is currently a dev mode only error but will become a` + ` call stack size exceeded error in production in a future major version.`);\n        }\n        this.allowRedirects = false;\n      }\n    }\n    const currentSnapshot = new ActivatedRouteSnapshot(segments, parameters, Object.freeze({\n      ...this.urlTree.queryParams\n    }), this.urlTree.fragment, getData(route), getOutlet(route), route.component ?? route._loadedComponent ?? null, route, getResolve(route));\n    const inherited = getInherited(currentSnapshot, parentRoute, this.paramsInheritanceStrategy);\n    currentSnapshot.params = Object.freeze(inherited.params);\n    currentSnapshot.data = Object.freeze(inherited.data);\n    const newTree = this.applyRedirects.applyRedirectCommands(consumedSegments, route.redirectTo, positionalParamSegments, currentSnapshot, injector);\n    return this.applyRedirects.lineralizeSegments(route, newTree).pipe(mergeMap(newSegments => {\n      return this.processSegment(injector, routes, segmentGroup, newSegments.concat(remainingSegments), outlet, false, parentRoute);\n    }));\n  }\n  matchSegmentAgainstRoute(injector, rawSegment, route, segments, outlet, parentRoute) {\n    const matchResult = matchWithChecks(rawSegment, route, segments, injector, this.urlSerializer);\n    if (route.path === '**') {\n      // Prior versions of the route matching algorithm would stop matching at the wildcard route.\n      // We should investigate a better strategy for any existing children. Otherwise, these\n      // child segments are silently dropped from the navigation.\n      // https://github.com/angular/angular/issues/40089\n      rawSegment.children = {};\n    }\n    return matchResult.pipe(switchMap(result => {\n      if (!result.matched) {\n        return noMatch$1(rawSegment);\n      }\n      // If the route has an injector created from providers, we should start using that.\n      injector = route._injector ?? injector;\n      return this.getChildConfig(injector, route, segments).pipe(switchMap(({\n        routes: childConfig\n      }) => {\n        const childInjector = route._loadedInjector ?? injector;\n        const {\n          parameters,\n          consumedSegments,\n          remainingSegments\n        } = result;\n        const snapshot = new ActivatedRouteSnapshot(consumedSegments, parameters, Object.freeze({\n          ...this.urlTree.queryParams\n        }), this.urlTree.fragment, getData(route), getOutlet(route), route.component ?? route._loadedComponent ?? null, route, getResolve(route));\n        const inherited = getInherited(snapshot, parentRoute, this.paramsInheritanceStrategy);\n        snapshot.params = Object.freeze(inherited.params);\n        snapshot.data = Object.freeze(inherited.data);\n        const {\n          segmentGroup,\n          slicedSegments\n        } = split(rawSegment, consumedSegments, remainingSegments, childConfig);\n        if (slicedSegments.length === 0 && segmentGroup.hasChildren()) {\n          return this.processChildren(childInjector, childConfig, segmentGroup, snapshot).pipe(map(children => {\n            return new TreeNode(snapshot, children);\n          }));\n        }\n        if (childConfig.length === 0 && slicedSegments.length === 0) {\n          return of(new TreeNode(snapshot, []));\n        }\n        const matchedOnOutlet = getOutlet(route) === outlet;\n        // If we matched a config due to empty path match on a different outlet, we need to\n        // continue passing the current outlet for the segment rather than switch to PRIMARY.\n        // Note that we switch to primary when we have a match because outlet configs look like\n        // this: {path: 'a', outlet: 'a', children: [\n        //  {path: 'b', component: B},\n        //  {path: 'c', component: C},\n        // ]}\n        // Notice that the children of the named outlet are configured with the primary outlet\n        return this.processSegment(childInjector, childConfig, segmentGroup, slicedSegments, matchedOnOutlet ? PRIMARY_OUTLET : outlet, true, snapshot).pipe(map(child => {\n          return new TreeNode(snapshot, child instanceof TreeNode ? [child] : []);\n        }));\n      }));\n    }));\n  }\n  getChildConfig(injector, route, segments) {\n    if (route.children) {\n      // The children belong to the same module\n      return of({\n        routes: route.children,\n        injector\n      });\n    }\n    if (route.loadChildren) {\n      // lazy children belong to the loaded module\n      if (route._loadedRoutes !== undefined) {\n        return of({\n          routes: route._loadedRoutes,\n          injector: route._loadedInjector\n        });\n      }\n      return runCanLoadGuards(injector, route, segments, this.urlSerializer).pipe(mergeMap(shouldLoadResult => {\n        if (shouldLoadResult) {\n          return this.configLoader.loadChildren(injector, route).pipe(tap(cfg => {\n            route._loadedRoutes = cfg.routes;\n            route._loadedInjector = cfg.injector;\n          }));\n        }\n        return canLoadFails(route);\n      }));\n    }\n    return of({\n      routes: [],\n      injector\n    });\n  }\n}\nfunction sortActivatedRouteSnapshots(nodes) {\n  nodes.sort((a, b) => {\n    if (a.value.outlet === PRIMARY_OUTLET) return -1;\n    if (b.value.outlet === PRIMARY_OUTLET) return 1;\n    return a.value.outlet.localeCompare(b.value.outlet);\n  });\n}\nfunction hasEmptyPathConfig(node) {\n  const config = node.value.routeConfig;\n  return config && config.path === '';\n}\n/**\n * Finds `TreeNode`s with matching empty path route configs and merges them into `TreeNode` with\n * the children from each duplicate. This is necessary because different outlets can match a\n * single empty path route config and the results need to then be merged.\n */\nfunction mergeEmptyPathMatches(nodes) {\n  const result = [];\n  // The set of nodes which contain children that were merged from two duplicate empty path nodes.\n  const mergedNodes = new Set();\n  for (const node of nodes) {\n    if (!hasEmptyPathConfig(node)) {\n      result.push(node);\n      continue;\n    }\n    const duplicateEmptyPathNode = result.find(resultNode => node.value.routeConfig === resultNode.value.routeConfig);\n    if (duplicateEmptyPathNode !== undefined) {\n      duplicateEmptyPathNode.children.push(...node.children);\n      mergedNodes.add(duplicateEmptyPathNode);\n    } else {\n      result.push(node);\n    }\n  }\n  // For each node which has children from multiple sources, we need to recompute a new `TreeNode`\n  // by also merging those children. This is necessary when there are multiple empty path configs\n  // in a row. Put another way: whenever we combine children of two nodes, we need to also check\n  // if any of those children can be combined into a single node as well.\n  for (const mergedNode of mergedNodes) {\n    const mergedChildren = mergeEmptyPathMatches(mergedNode.children);\n    result.push(new TreeNode(mergedNode.value, mergedChildren));\n  }\n  return result.filter(n => !mergedNodes.has(n));\n}\nfunction checkOutletNameUniqueness(nodes) {\n  const names = {};\n  nodes.forEach(n => {\n    const routeWithSameOutletName = names[n.value.outlet];\n    if (routeWithSameOutletName) {\n      const p = routeWithSameOutletName.url.map(s => s.toString()).join('/');\n      const c = n.value.url.map(s => s.toString()).join('/');\n      throw new _RuntimeError(4006 /* RuntimeErrorCode.TWO_SEGMENTS_WITH_SAME_OUTLET */, (typeof ngDevMode === 'undefined' || ngDevMode) && `Two segments cannot have the same outlet name: '${p}' and '${c}'.`);\n    }\n    names[n.value.outlet] = n.value;\n  });\n}\nfunction getData(route) {\n  return route.data || {};\n}\nfunction getResolve(route) {\n  return route.resolve || {};\n}\nfunction recognize(injector, configLoader, rootComponentType, config, serializer, paramsInheritanceStrategy) {\n  return mergeMap(t => recognize$1(injector, configLoader, rootComponentType, config, t.extractedUrl, serializer, paramsInheritanceStrategy).pipe(map(({\n    state: targetSnapshot,\n    tree: urlAfterRedirects\n  }) => {\n    return {\n      ...t,\n      targetSnapshot,\n      urlAfterRedirects\n    };\n  })));\n}\nfunction resolveData(paramsInheritanceStrategy, injector) {\n  return mergeMap(t => {\n    const {\n      targetSnapshot,\n      guards: {\n        canActivateChecks\n      }\n    } = t;\n    if (!canActivateChecks.length) {\n      return of(t);\n    }\n    // Iterating a Set in javascript  happens in insertion order so it is safe to use a `Set` to\n    // preserve the correct order that the resolvers should run in.\n    // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set#description\n    const routesWithResolversToRun = new Set(canActivateChecks.map(check => check.route));\n    const routesNeedingDataUpdates = new Set();\n    for (const route of routesWithResolversToRun) {\n      if (routesNeedingDataUpdates.has(route)) {\n        continue;\n      }\n      // All children under the route with a resolver to run need to recompute inherited data.\n      for (const newRoute of flattenRouteTree(route)) {\n        routesNeedingDataUpdates.add(newRoute);\n      }\n    }\n    let routesProcessed = 0;\n    return from(routesNeedingDataUpdates).pipe(concatMap(route => {\n      if (routesWithResolversToRun.has(route)) {\n        return runResolve(route, targetSnapshot, paramsInheritanceStrategy, injector);\n      } else {\n        route.data = getInherited(route, route.parent, paramsInheritanceStrategy).resolve;\n        return of(void 0);\n      }\n    }), tap(() => routesProcessed++), takeLast(1), mergeMap(_ => routesProcessed === routesNeedingDataUpdates.size ? of(t) : EMPTY));\n  });\n}\n/**\n *  Returns the `ActivatedRouteSnapshot` tree as an array, using DFS to traverse the route tree.\n */\nfunction flattenRouteTree(route) {\n  const descendants = route.children.map(child => flattenRouteTree(child)).flat();\n  return [route, ...descendants];\n}\nfunction runResolve(futureARS, futureRSS, paramsInheritanceStrategy, injector) {\n  const config = futureARS.routeConfig;\n  const resolve = futureARS._resolve;\n  if (config?.title !== undefined && !hasStaticTitle(config)) {\n    resolve[RouteTitleKey] = config.title;\n  }\n  return resolveNode(resolve, futureARS, futureRSS, injector).pipe(map(resolvedData => {\n    futureARS._resolvedData = resolvedData;\n    futureARS.data = getInherited(futureARS, futureARS.parent, paramsInheritanceStrategy).resolve;\n    return null;\n  }));\n}\nfunction resolveNode(resolve, futureARS, futureRSS, injector) {\n  const keys = getDataKeys(resolve);\n  if (keys.length === 0) {\n    return of({});\n  }\n  const data = {};\n  return from(keys).pipe(mergeMap(key => getResolver(resolve[key], futureARS, futureRSS, injector).pipe(first(), tap(value => {\n    if (value instanceof RedirectCommand) {\n      throw redirectingNavigationError(new DefaultUrlSerializer(), value);\n    }\n    data[key] = value;\n  }))), takeLast(1), map(() => data), catchError(e => isEmptyError(e) ? EMPTY : throwError(e)));\n}\nfunction getResolver(injectionToken, futureARS, futureRSS, injector) {\n  const closestInjector = getClosestRouteInjector(futureARS) ?? injector;\n  const resolver = getTokenOrFunctionIdentity(injectionToken, closestInjector);\n  const resolverValue = resolver.resolve ? resolver.resolve(futureARS, futureRSS) : runInInjectionContext(closestInjector, () => resolver(futureARS, futureRSS));\n  return wrapIntoObservable(resolverValue);\n}\n\n/**\n * Perform a side effect through a switchMap for every emission on the source Observable,\n * but return an Observable that is identical to the source. It's essentially the same as\n * the `tap` operator, but if the side effectful `next` function returns an ObservableInput,\n * it will wait before continuing with the original value.\n */\nfunction switchTap(next) {\n  return switchMap(v => {\n    const nextResult = next(v);\n    if (nextResult) {\n      return from(nextResult).pipe(map(() => v));\n    }\n    return of(v);\n  });\n}\n\n/**\n * Provides a strategy for setting the page title after a router navigation.\n *\n * The built-in implementation traverses the router state snapshot and finds the deepest primary\n * outlet with `title` property. Given the `Routes` below, navigating to\n * `/base/child(popup:aux)` would result in the document title being set to \"child\".\n * ```ts\n * [\n *   {path: 'base', title: 'base', children: [\n *     {path: 'child', title: 'child'},\n *   ],\n *   {path: 'aux', outlet: 'popup', title: 'popupTitle'}\n * ]\n * ```\n *\n * This class can be used as a base class for custom title strategies. That is, you can create your\n * own class that extends the `TitleStrategy`. Note that in the above example, the `title`\n * from the named outlet is never used. However, a custom strategy might be implemented to\n * incorporate titles in named outlets.\n *\n * @publicApi\n * @see [Page title guide](guide/routing/common-router-tasks#setting-the-page-title)\n */\nlet TitleStrategy = /*#__PURE__*/(() => {\n  class TitleStrategy {\n    /**\n     * @returns The `title` of the deepest primary route.\n     */\n    buildTitle(snapshot) {\n      let pageTitle;\n      let route = snapshot.root;\n      while (route !== undefined) {\n        pageTitle = this.getResolvedTitleForRoute(route) ?? pageTitle;\n        route = route.children.find(child => child.outlet === PRIMARY_OUTLET);\n      }\n      return pageTitle;\n    }\n    /**\n     * Given an `ActivatedRouteSnapshot`, returns the final value of the\n     * `Route.title` property, which can either be a static string or a resolved value.\n     */\n    getResolvedTitleForRoute(snapshot) {\n      return snapshot.data[RouteTitleKey];\n    }\n    static ɵfac = function TitleStrategy_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || TitleStrategy)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: TitleStrategy,\n      factory: () => (() => inject(DefaultTitleStrategy))(),\n      providedIn: 'root'\n    });\n  }\n  return TitleStrategy;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * The default `TitleStrategy` used by the router that updates the title using the `Title` service.\n */\nlet DefaultTitleStrategy = /*#__PURE__*/(() => {\n  class DefaultTitleStrategy extends TitleStrategy {\n    title;\n    constructor(title) {\n      super();\n      this.title = title;\n    }\n    /**\n     * Sets the title of the browser to the given value.\n     *\n     * @param title The `pageTitle` from the deepest primary route.\n     */\n    updateTitle(snapshot) {\n      const title = this.buildTitle(snapshot);\n      if (title !== undefined) {\n        this.title.setTitle(title);\n      }\n    }\n    static ɵfac = function DefaultTitleStrategy_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || DefaultTitleStrategy)(i0.ɵɵinject(i1.Title));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: DefaultTitleStrategy,\n      factory: DefaultTitleStrategy.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return DefaultTitleStrategy;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * A DI token for the router service.\n *\n * @publicApi\n */\nconst ROUTER_CONFIGURATION = /*#__PURE__*/new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'router config' : '', {\n  providedIn: 'root',\n  factory: () => ({})\n});\n\n/**\n * The DI token for a router configuration.\n *\n * `ROUTES` is a low level API for router configuration via dependency injection.\n *\n * We recommend that in almost all cases to use higher level APIs such as `RouterModule.forRoot()`,\n * `provideRouter`, or `Router.resetConfig()`.\n *\n * @publicApi\n */\nconst ROUTES = /*#__PURE__*/new InjectionToken(ngDevMode ? 'ROUTES' : '');\nlet RouterConfigLoader = /*#__PURE__*/(() => {\n  class RouterConfigLoader {\n    componentLoaders = new WeakMap();\n    childrenLoaders = new WeakMap();\n    onLoadStartListener;\n    onLoadEndListener;\n    compiler = inject(Compiler);\n    loadComponent(route) {\n      if (this.componentLoaders.get(route)) {\n        return this.componentLoaders.get(route);\n      } else if (route._loadedComponent) {\n        return of(route._loadedComponent);\n      }\n      if (this.onLoadStartListener) {\n        this.onLoadStartListener(route);\n      }\n      const loadRunner = wrapIntoObservable(route.loadComponent()).pipe(map(maybeUnwrapDefaultExport), tap(component => {\n        if (this.onLoadEndListener) {\n          this.onLoadEndListener(route);\n        }\n        (typeof ngDevMode === 'undefined' || ngDevMode) && assertStandalone(route.path ?? '', component);\n        route._loadedComponent = component;\n      }), finalize(() => {\n        this.componentLoaders.delete(route);\n      }));\n      // Use custom ConnectableObservable as share in runners pipe increasing the bundle size too much\n      const loader = new ConnectableObservable(loadRunner, () => new Subject()).pipe(refCount());\n      this.componentLoaders.set(route, loader);\n      return loader;\n    }\n    loadChildren(parentInjector, route) {\n      if (this.childrenLoaders.get(route)) {\n        return this.childrenLoaders.get(route);\n      } else if (route._loadedRoutes) {\n        return of({\n          routes: route._loadedRoutes,\n          injector: route._loadedInjector\n        });\n      }\n      if (this.onLoadStartListener) {\n        this.onLoadStartListener(route);\n      }\n      const moduleFactoryOrRoutes$ = loadChildren(route, this.compiler, parentInjector, this.onLoadEndListener);\n      const loadRunner = moduleFactoryOrRoutes$.pipe(finalize(() => {\n        this.childrenLoaders.delete(route);\n      }));\n      // Use custom ConnectableObservable as share in runners pipe increasing the bundle size too much\n      const loader = new ConnectableObservable(loadRunner, () => new Subject()).pipe(refCount());\n      this.childrenLoaders.set(route, loader);\n      return loader;\n    }\n    static ɵfac = function RouterConfigLoader_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || RouterConfigLoader)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: RouterConfigLoader,\n      factory: RouterConfigLoader.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return RouterConfigLoader;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Executes a `route.loadChildren` callback and converts the result to an array of child routes and\n * an injector if that callback returned a module.\n *\n * This function is used for the route discovery during prerendering\n * in @angular-devkit/build-angular. If there are any updates to the contract here, it will require\n * an update to the extractor.\n */\nfunction loadChildren(route, compiler, parentInjector, onLoadEndListener) {\n  return wrapIntoObservable(route.loadChildren()).pipe(map(maybeUnwrapDefaultExport), mergeMap(t => {\n    if (t instanceof NgModuleFactory || Array.isArray(t)) {\n      return of(t);\n    } else {\n      return from(compiler.compileModuleAsync(t));\n    }\n  }), map(factoryOrRoutes => {\n    if (onLoadEndListener) {\n      onLoadEndListener(route);\n    }\n    // This injector comes from the `NgModuleRef` when lazy loading an `NgModule`. There is\n    // no injector associated with lazy loading a `Route` array.\n    let injector;\n    let rawRoutes;\n    let requireStandaloneComponents = false;\n    if (Array.isArray(factoryOrRoutes)) {\n      rawRoutes = factoryOrRoutes;\n      requireStandaloneComponents = true;\n    } else {\n      injector = factoryOrRoutes.create(parentInjector).injector;\n      // When loading a module that doesn't provide `RouterModule.forChild()` preloader\n      // will get stuck in an infinite loop. The child module's Injector will look to\n      // its parent `Injector` when it doesn't find any ROUTES so it will return routes\n      // for it's parent module instead.\n      rawRoutes = injector.get(ROUTES, [], {\n        optional: true,\n        self: true\n      }).flat();\n    }\n    const routes = rawRoutes.map(standardizeConfig);\n    (typeof ngDevMode === 'undefined' || ngDevMode) && validateConfig(routes, route.path, requireStandaloneComponents);\n    return {\n      routes,\n      injector\n    };\n  }));\n}\nfunction isWrappedDefaultExport(value) {\n  // We use `in` here with a string key `'default'`, because we expect `DefaultExport` objects to be\n  // dynamically imported ES modules with a spec-mandated `default` key. Thus we don't expect that\n  // `default` will be a renamed property.\n  return value && typeof value === 'object' && 'default' in value;\n}\nfunction maybeUnwrapDefaultExport(input) {\n  // As per `isWrappedDefaultExport`, the `default` key here is generated by the browser and not\n  // subject to property renaming, so we reference it with bracket access.\n  return isWrappedDefaultExport(input) ? input['default'] : input;\n}\n\n/**\n * @description\n *\n * Provides a way to migrate AngularJS applications to Angular.\n *\n * @publicApi\n */\nlet UrlHandlingStrategy = /*#__PURE__*/(() => {\n  class UrlHandlingStrategy {\n    static ɵfac = function UrlHandlingStrategy_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || UrlHandlingStrategy)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: UrlHandlingStrategy,\n      factory: () => (() => inject(DefaultUrlHandlingStrategy))(),\n      providedIn: 'root'\n    });\n  }\n  return UrlHandlingStrategy;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @publicApi\n */\nlet DefaultUrlHandlingStrategy = /*#__PURE__*/(() => {\n  class DefaultUrlHandlingStrategy {\n    shouldProcessUrl(url) {\n      return true;\n    }\n    extract(url) {\n      return url;\n    }\n    merge(newUrlPart, wholeUrl) {\n      return newUrlPart;\n    }\n    static ɵfac = function DefaultUrlHandlingStrategy_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || DefaultUrlHandlingStrategy)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: DefaultUrlHandlingStrategy,\n      factory: DefaultUrlHandlingStrategy.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return DefaultUrlHandlingStrategy;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/// <reference types=\"dom-view-transitions\" />\nconst CREATE_VIEW_TRANSITION = /*#__PURE__*/new InjectionToken(ngDevMode ? 'view transition helper' : '');\nconst VIEW_TRANSITION_OPTIONS = /*#__PURE__*/new InjectionToken(ngDevMode ? 'view transition options' : '');\n/**\n * A helper function for using browser view transitions. This function skips the call to\n * `startViewTransition` if the browser does not support it.\n *\n * @returns A Promise that resolves when the view transition callback begins.\n */\nfunction createViewTransition(injector, from, to) {\n  const transitionOptions = injector.get(VIEW_TRANSITION_OPTIONS);\n  const document = injector.get(DOCUMENT);\n  // Create promises outside the Angular zone to avoid causing extra change detections\n  return injector.get(NgZone).runOutsideAngular(() => {\n    if (!document.startViewTransition || transitionOptions.skipNextTransition) {\n      transitionOptions.skipNextTransition = false;\n      // The timing of `startViewTransition` is closer to a macrotask. It won't be called\n      // until the current event loop exits so we use a promise resolved in a timeout instead\n      // of Promise.resolve().\n      return new Promise(resolve => setTimeout(resolve));\n    }\n    let resolveViewTransitionStarted;\n    const viewTransitionStarted = new Promise(resolve => {\n      resolveViewTransitionStarted = resolve;\n    });\n    const transition = document.startViewTransition(() => {\n      resolveViewTransitionStarted();\n      // We don't actually update dom within the transition callback. The resolving of the above\n      // promise unblocks the Router navigation, which synchronously activates and deactivates\n      // routes (the DOM update). This view transition waits for the next change detection to\n      // complete (below), which includes the update phase of the routed components.\n      return createRenderPromise(injector);\n      // TODO(atscott): Types in DefinitelyTyped are not up-to-date\n    });\n    const {\n      onViewTransitionCreated\n    } = transitionOptions;\n    if (onViewTransitionCreated) {\n      runInInjectionContext(injector, () => onViewTransitionCreated({\n        transition,\n        from,\n        to\n      }));\n    }\n    return viewTransitionStarted;\n  });\n}\n/**\n * Creates a promise that resolves after next render.\n */\nfunction createRenderPromise(injector) {\n  return new Promise(resolve => {\n    // Wait for the microtask queue to empty after the next render happens (by waiting a macrotask).\n    // This ensures any follow-up renders in the microtask queue are completed before the\n    // view transition starts animating.\n    afterNextRender({\n      read: () => setTimeout(resolve)\n    }, {\n      injector\n    });\n  });\n}\nconst NAVIGATION_ERROR_HANDLER = /*#__PURE__*/new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'navigation error handler' : '');\nlet NavigationTransitions = /*#__PURE__*/(() => {\n  class NavigationTransitions {\n    currentNavigation = null;\n    currentTransition = null;\n    lastSuccessfulNavigation = null;\n    /**\n     * These events are used to communicate back to the Router about the state of the transition. The\n     * Router wants to respond to these events in various ways. Because the `NavigationTransition`\n     * class is not public, this event subject is not publicly exposed.\n     */\n    events = new Subject();\n    /**\n     * Used to abort the current transition with an error.\n     */\n    transitionAbortSubject = new Subject();\n    configLoader = inject(RouterConfigLoader);\n    environmentInjector = inject(EnvironmentInjector);\n    destroyRef = inject(DestroyRef);\n    urlSerializer = inject(UrlSerializer);\n    rootContexts = inject(ChildrenOutletContexts);\n    location = inject(Location);\n    inputBindingEnabled = inject(INPUT_BINDER, {\n      optional: true\n    }) !== null;\n    titleStrategy = inject(TitleStrategy);\n    options = inject(ROUTER_CONFIGURATION, {\n      optional: true\n    }) || {};\n    paramsInheritanceStrategy = this.options.paramsInheritanceStrategy || 'emptyOnly';\n    urlHandlingStrategy = inject(UrlHandlingStrategy);\n    createViewTransition = inject(CREATE_VIEW_TRANSITION, {\n      optional: true\n    });\n    navigationErrorHandler = inject(NAVIGATION_ERROR_HANDLER, {\n      optional: true\n    });\n    navigationId = 0;\n    get hasRequestedNavigation() {\n      return this.navigationId !== 0;\n    }\n    transitions;\n    /**\n     * Hook that enables you to pause navigation after the preactivation phase.\n     * Used by `RouterModule`.\n     *\n     * @internal\n     */\n    afterPreactivation = () => of(void 0);\n    /** @internal */\n    rootComponentType = null;\n    destroyed = false;\n    constructor() {\n      const onLoadStart = r => this.events.next(new RouteConfigLoadStart(r));\n      const onLoadEnd = r => this.events.next(new RouteConfigLoadEnd(r));\n      this.configLoader.onLoadEndListener = onLoadEnd;\n      this.configLoader.onLoadStartListener = onLoadStart;\n      this.destroyRef.onDestroy(() => {\n        this.destroyed = true;\n      });\n    }\n    complete() {\n      this.transitions?.complete();\n    }\n    handleNavigationRequest(request) {\n      const id = ++this.navigationId;\n      this.transitions?.next({\n        ...request,\n        extractedUrl: this.urlHandlingStrategy.extract(request.rawUrl),\n        targetSnapshot: null,\n        targetRouterState: null,\n        guards: {\n          canActivateChecks: [],\n          canDeactivateChecks: []\n        },\n        guardsResult: null,\n        id\n      });\n    }\n    setupNavigations(router) {\n      this.transitions = new BehaviorSubject(null);\n      return this.transitions.pipe(filter(t => t !== null),\n      // Using switchMap so we cancel executing navigations when a new one comes in\n      switchMap(overallTransitionState => {\n        let completed = false;\n        let errored = false;\n        return of(overallTransitionState).pipe(switchMap(t => {\n          // It is possible that `switchMap` fails to cancel previous navigations if a new one happens synchronously while the operator\n          // is processing the `next` notification of that previous navigation. This can happen when a new navigation (say 2) cancels a\n          // previous one (1) and yet another navigation (3) happens synchronously in response to the `NavigationCancel` event for (1).\n          // https://github.com/ReactiveX/rxjs/issues/7455\n          if (this.navigationId > overallTransitionState.id) {\n            const cancellationReason = typeof ngDevMode === 'undefined' || ngDevMode ? `Navigation ID ${overallTransitionState.id} is not equal to the current navigation id ${this.navigationId}` : '';\n            this.cancelNavigationTransition(overallTransitionState, cancellationReason, NavigationCancellationCode.SupersededByNewNavigation);\n            return EMPTY;\n          }\n          this.currentTransition = overallTransitionState;\n          // Store the Navigation object\n          this.currentNavigation = {\n            id: t.id,\n            initialUrl: t.rawUrl,\n            extractedUrl: t.extractedUrl,\n            targetBrowserUrl: typeof t.extras.browserUrl === 'string' ? this.urlSerializer.parse(t.extras.browserUrl) : t.extras.browserUrl,\n            trigger: t.source,\n            extras: t.extras,\n            previousNavigation: !this.lastSuccessfulNavigation ? null : {\n              ...this.lastSuccessfulNavigation,\n              previousNavigation: null\n            }\n          };\n          const urlTransition = !router.navigated || this.isUpdatingInternalState() || this.isUpdatedBrowserUrl();\n          const onSameUrlNavigation = t.extras.onSameUrlNavigation ?? router.onSameUrlNavigation;\n          if (!urlTransition && onSameUrlNavigation !== 'reload') {\n            const reason = typeof ngDevMode === 'undefined' || ngDevMode ? `Navigation to ${t.rawUrl} was ignored because it is the same as the current Router URL.` : '';\n            this.events.next(new NavigationSkipped(t.id, this.urlSerializer.serialize(t.rawUrl), reason, NavigationSkippedCode.IgnoredSameUrlNavigation));\n            t.resolve(false);\n            return EMPTY;\n          }\n          if (this.urlHandlingStrategy.shouldProcessUrl(t.rawUrl)) {\n            return of(t).pipe(\n            // Fire NavigationStart event\n            switchMap(t => {\n              this.events.next(new NavigationStart(t.id, this.urlSerializer.serialize(t.extractedUrl), t.source, t.restoredState));\n              if (t.id !== this.navigationId) {\n                return EMPTY;\n              }\n              // This delay is required to match old behavior that forced\n              // navigation to always be async\n              return Promise.resolve(t);\n            }),\n            // Recognize\n            recognize(this.environmentInjector, this.configLoader, this.rootComponentType, router.config, this.urlSerializer, this.paramsInheritanceStrategy),\n            // Update URL if in `eager` update mode\n            tap(t => {\n              overallTransitionState.targetSnapshot = t.targetSnapshot;\n              overallTransitionState.urlAfterRedirects = t.urlAfterRedirects;\n              this.currentNavigation = {\n                ...this.currentNavigation,\n                finalUrl: t.urlAfterRedirects\n              };\n              // Fire RoutesRecognized\n              const routesRecognized = new RoutesRecognized(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects), t.targetSnapshot);\n              this.events.next(routesRecognized);\n            }));\n          } else if (urlTransition && this.urlHandlingStrategy.shouldProcessUrl(t.currentRawUrl)) {\n            /* When the current URL shouldn't be processed, but the previous one\n             * was, we handle this \"error condition\" by navigating to the\n             * previously successful URL, but leaving the URL intact.*/\n            const {\n              id,\n              extractedUrl,\n              source,\n              restoredState,\n              extras\n            } = t;\n            const navStart = new NavigationStart(id, this.urlSerializer.serialize(extractedUrl), source, restoredState);\n            this.events.next(navStart);\n            const targetSnapshot = createEmptyState(this.rootComponentType).snapshot;\n            this.currentTransition = overallTransitionState = {\n              ...t,\n              targetSnapshot,\n              urlAfterRedirects: extractedUrl,\n              extras: {\n                ...extras,\n                skipLocationChange: false,\n                replaceUrl: false\n              }\n            };\n            this.currentNavigation.finalUrl = extractedUrl;\n            return of(overallTransitionState);\n          } else {\n            /* When neither the current or previous URL can be processed, do\n             * nothing other than update router's internal reference to the\n             * current \"settled\" URL. This way the next navigation will be coming\n             * from the current URL in the browser.\n             */\n            const reason = typeof ngDevMode === 'undefined' || ngDevMode ? `Navigation was ignored because the UrlHandlingStrategy` + ` indicated neither the current URL ${t.currentRawUrl} nor target URL ${t.rawUrl} should be processed.` : '';\n            this.events.next(new NavigationSkipped(t.id, this.urlSerializer.serialize(t.extractedUrl), reason, NavigationSkippedCode.IgnoredByUrlHandlingStrategy));\n            t.resolve(false);\n            return EMPTY;\n          }\n        }),\n        // --- GUARDS ---\n        tap(t => {\n          const guardsStart = new GuardsCheckStart(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects), t.targetSnapshot);\n          this.events.next(guardsStart);\n        }), map(t => {\n          this.currentTransition = overallTransitionState = {\n            ...t,\n            guards: getAllRouteGuards(t.targetSnapshot, t.currentSnapshot, this.rootContexts)\n          };\n          return overallTransitionState;\n        }), checkGuards(this.environmentInjector, evt => this.events.next(evt)), tap(t => {\n          overallTransitionState.guardsResult = t.guardsResult;\n          if (t.guardsResult && typeof t.guardsResult !== 'boolean') {\n            throw redirectingNavigationError(this.urlSerializer, t.guardsResult);\n          }\n          const guardsEnd = new GuardsCheckEnd(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects), t.targetSnapshot, !!t.guardsResult);\n          this.events.next(guardsEnd);\n        }), filter(t => {\n          if (!t.guardsResult) {\n            this.cancelNavigationTransition(t, '', NavigationCancellationCode.GuardRejected);\n            return false;\n          }\n          return true;\n        }),\n        // --- RESOLVE ---\n        switchTap(t => {\n          if (t.guards.canActivateChecks.length === 0) {\n            return undefined;\n          }\n          return of(t).pipe(tap(t => {\n            const resolveStart = new ResolveStart(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects), t.targetSnapshot);\n            this.events.next(resolveStart);\n          }), switchMap(t => {\n            let dataResolved = false;\n            return of(t).pipe(resolveData(this.paramsInheritanceStrategy, this.environmentInjector), tap({\n              next: () => dataResolved = true,\n              complete: () => {\n                if (!dataResolved) {\n                  this.cancelNavigationTransition(t, typeof ngDevMode === 'undefined' || ngDevMode ? `At least one route resolver didn't emit any value.` : '', NavigationCancellationCode.NoDataFromResolver);\n                }\n              }\n            }));\n          }), tap(t => {\n            const resolveEnd = new ResolveEnd(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects), t.targetSnapshot);\n            this.events.next(resolveEnd);\n          }));\n        }),\n        // --- LOAD COMPONENTS ---\n        switchTap(t => {\n          const loadComponents = route => {\n            const loaders = [];\n            if (route.routeConfig?.loadComponent && !route.routeConfig._loadedComponent) {\n              loaders.push(this.configLoader.loadComponent(route.routeConfig).pipe(tap(loadedComponent => {\n                route.component = loadedComponent;\n              }), map(() => void 0)));\n            }\n            for (const child of route.children) {\n              loaders.push(...loadComponents(child));\n            }\n            return loaders;\n          };\n          return combineLatest(loadComponents(t.targetSnapshot.root)).pipe(defaultIfEmpty(null), take(1));\n        }), switchTap(() => this.afterPreactivation()), switchMap(() => {\n          const {\n            currentSnapshot,\n            targetSnapshot\n          } = overallTransitionState;\n          const viewTransitionStarted = this.createViewTransition?.(this.environmentInjector, currentSnapshot.root, targetSnapshot.root);\n          // If view transitions are enabled, block the navigation until the view\n          // transition callback starts. Otherwise, continue immediately.\n          return viewTransitionStarted ? from(viewTransitionStarted).pipe(map(() => overallTransitionState)) : of(overallTransitionState);\n        }), map(t => {\n          const targetRouterState = createRouterState(router.routeReuseStrategy, t.targetSnapshot, t.currentRouterState);\n          this.currentTransition = overallTransitionState = {\n            ...t,\n            targetRouterState\n          };\n          this.currentNavigation.targetRouterState = targetRouterState;\n          return overallTransitionState;\n        }), tap(() => {\n          this.events.next(new BeforeActivateRoutes());\n        }), activateRoutes(this.rootContexts, router.routeReuseStrategy, evt => this.events.next(evt), this.inputBindingEnabled),\n        // Ensure that if some observable used to drive the transition doesn't\n        // complete, the navigation still finalizes This should never happen, but\n        // this is done as a safety measure to avoid surfacing this error (#49567).\n        take(1), tap({\n          next: t => {\n            completed = true;\n            this.lastSuccessfulNavigation = this.currentNavigation;\n            this.events.next(new NavigationEnd(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects)));\n            this.titleStrategy?.updateTitle(t.targetRouterState.snapshot);\n            t.resolve(true);\n          },\n          complete: () => {\n            completed = true;\n          }\n        }),\n        // There used to be a lot more logic happening directly within the\n        // transition Observable. Some of this logic has been refactored out to\n        // other places but there may still be errors that happen there. This gives\n        // us a way to cancel the transition from the outside. This may also be\n        // required in the future to support something like the abort signal of the\n        // Navigation API where the navigation gets aborted from outside the\n        // transition.\n        takeUntil(this.transitionAbortSubject.pipe(tap(err => {\n          throw err;\n        }))), finalize(() => {\n          /* When the navigation stream finishes either through error or success,\n           * we set the `completed` or `errored` flag. However, there are some\n           * situations where we could get here without either of those being set.\n           * For instance, a redirect during NavigationStart. Therefore, this is a\n           * catch-all to make sure the NavigationCancel event is fired when a\n           * navigation gets cancelled but not caught by other means. */\n          if (!completed && !errored) {\n            const cancelationReason = typeof ngDevMode === 'undefined' || ngDevMode ? `Navigation ID ${overallTransitionState.id} is not equal to the current navigation id ${this.navigationId}` : '';\n            this.cancelNavigationTransition(overallTransitionState, cancelationReason, NavigationCancellationCode.SupersededByNewNavigation);\n          }\n          // Only clear current navigation if it is still set to the one that\n          // finalized.\n          if (this.currentTransition?.id === overallTransitionState.id) {\n            this.currentNavigation = null;\n            this.currentTransition = null;\n          }\n        }), catchError(e => {\n          // If the application is already destroyed, the catch block should not\n          // execute anything in practice because other resources have already\n          // been released and destroyed.\n          if (this.destroyed) {\n            overallTransitionState.resolve(false);\n            return EMPTY;\n          }\n          errored = true;\n          /* This error type is issued during Redirect, and is handled as a\n           * cancellation rather than an error. */\n          if (isNavigationCancelingError(e)) {\n            this.events.next(new NavigationCancel(overallTransitionState.id, this.urlSerializer.serialize(overallTransitionState.extractedUrl), e.message, e.cancellationCode));\n            // When redirecting, we need to delay resolving the navigation\n            // promise and push it to the redirect navigation\n            if (!isRedirectingNavigationCancelingError(e)) {\n              overallTransitionState.resolve(false);\n            } else {\n              this.events.next(new RedirectRequest(e.url, e.navigationBehaviorOptions));\n            }\n            /* All other errors should reset to the router's internal URL reference\n             * to the pre-error state. */\n          } else {\n            const navigationError = new NavigationError(overallTransitionState.id, this.urlSerializer.serialize(overallTransitionState.extractedUrl), e, overallTransitionState.targetSnapshot ?? undefined);\n            try {\n              const navigationErrorHandlerResult = runInInjectionContext(this.environmentInjector, () => this.navigationErrorHandler?.(navigationError));\n              if (navigationErrorHandlerResult instanceof RedirectCommand) {\n                const {\n                  message,\n                  cancellationCode\n                } = redirectingNavigationError(this.urlSerializer, navigationErrorHandlerResult);\n                this.events.next(new NavigationCancel(overallTransitionState.id, this.urlSerializer.serialize(overallTransitionState.extractedUrl), message, cancellationCode));\n                this.events.next(new RedirectRequest(navigationErrorHandlerResult.redirectTo, navigationErrorHandlerResult.navigationBehaviorOptions));\n              } else {\n                this.events.next(navigationError);\n                throw e;\n              }\n            } catch (ee) {\n              // TODO(atscott): consider flipping the default behavior of\n              // resolveNavigationPromiseOnError to be `resolve(false)` when\n              // undefined. This is the most sane thing to do given that\n              // applications very rarely handle the promise rejection and, as a\n              // result, would get \"unhandled promise rejection\" console logs.\n              // The vast majority of applications would not be affected by this\n              // change so omitting a migration seems reasonable. Instead,\n              // applications that rely on rejection can specifically opt-in to the\n              // old behavior.\n              if (this.options.resolveNavigationPromiseOnError) {\n                overallTransitionState.resolve(false);\n              } else {\n                overallTransitionState.reject(ee);\n              }\n            }\n          }\n          return EMPTY;\n        }));\n        // casting because `pipe` returns observable({}) when called with 8+ arguments\n      }));\n    }\n    cancelNavigationTransition(t, reason, code) {\n      const navCancel = new NavigationCancel(t.id, this.urlSerializer.serialize(t.extractedUrl), reason, code);\n      this.events.next(navCancel);\n      t.resolve(false);\n    }\n    /**\n     * @returns Whether we're navigating to somewhere that is not what the Router is\n     * currently set to.\n     */\n    isUpdatingInternalState() {\n      // TODO(atscott): The serializer should likely be used instead of\n      // `UrlTree.toString()`. Custom serializers are often written to handle\n      // things better than the default one (objects, for example will be\n      // [Object object] with the custom serializer and be \"the same\" when they\n      // aren't).\n      // (Same for isUpdatedBrowserUrl)\n      return this.currentTransition?.extractedUrl.toString() !== this.currentTransition?.currentUrlTree.toString();\n    }\n    /**\n     * @returns Whether we're updating the browser URL to something new (navigation is going\n     * to somewhere not displayed in the URL bar and we will update the URL\n     * bar if navigation succeeds).\n     */\n    isUpdatedBrowserUrl() {\n      // The extracted URL is the part of the URL that this application cares about. `extract` may\n      // return only part of the browser URL and that part may have not changed even if some other\n      // portion of the URL did.\n      const currentBrowserUrl = this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(true)));\n      const targetBrowserUrl = this.currentNavigation?.targetBrowserUrl ?? this.currentNavigation?.extractedUrl;\n      return currentBrowserUrl.toString() !== targetBrowserUrl?.toString() && !this.currentNavigation?.extras.skipLocationChange;\n    }\n    static ɵfac = function NavigationTransitions_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NavigationTransitions)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: NavigationTransitions,\n      factory: NavigationTransitions.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return NavigationTransitions;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction isBrowserTriggeredNavigation(source) {\n  return source !== IMPERATIVE_NAVIGATION;\n}\n\n/**\n * @description\n *\n * Provides a way to customize when activated routes get reused.\n *\n * @publicApi\n */\nlet RouteReuseStrategy = /*#__PURE__*/(() => {\n  class RouteReuseStrategy {\n    static ɵfac = function RouteReuseStrategy_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || RouteReuseStrategy)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: RouteReuseStrategy,\n      factory: () => (() => inject(DefaultRouteReuseStrategy))(),\n      providedIn: 'root'\n    });\n  }\n  return RouteReuseStrategy;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n *\n * This base route reuse strategy only reuses routes when the matched router configs are\n * identical. This prevents components from being destroyed and recreated\n * when just the route parameters, query parameters or fragment change\n * (that is, the existing component is _reused_).\n *\n * This strategy does not store any routes for later reuse.\n *\n * Angular uses this strategy by default.\n *\n *\n * It can be used as a base class for custom route reuse strategies, i.e. you can create your own\n * class that extends the `BaseRouteReuseStrategy` one.\n * @publicApi\n */\nclass BaseRouteReuseStrategy {\n  /**\n   * Whether the given route should detach for later reuse.\n   * Always returns false for `BaseRouteReuseStrategy`.\n   * */\n  shouldDetach(route) {\n    return false;\n  }\n  /**\n   * A no-op; the route is never stored since this strategy never detaches routes for later re-use.\n   */\n  store(route, detachedTree) {}\n  /** Returns `false`, meaning the route (and its subtree) is never reattached */\n  shouldAttach(route) {\n    return false;\n  }\n  /** Returns `null` because this strategy does not store routes for later re-use. */\n  retrieve(route) {\n    return null;\n  }\n  /**\n   * Determines if a route should be reused.\n   * This strategy returns `true` when the future route config and current route config are\n   * identical.\n   */\n  shouldReuseRoute(future, curr) {\n    return future.routeConfig === curr.routeConfig;\n  }\n}\nlet DefaultRouteReuseStrategy = /*#__PURE__*/(() => {\n  class DefaultRouteReuseStrategy extends BaseRouteReuseStrategy {\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵDefaultRouteReuseStrategy_BaseFactory;\n      return function DefaultRouteReuseStrategy_Factory(__ngFactoryType__) {\n        return (ɵDefaultRouteReuseStrategy_BaseFactory || (ɵDefaultRouteReuseStrategy_BaseFactory = i0.ɵɵgetInheritedFactory(DefaultRouteReuseStrategy)))(__ngFactoryType__ || DefaultRouteReuseStrategy);\n      };\n    })();\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: DefaultRouteReuseStrategy,\n      factory: DefaultRouteReuseStrategy.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return DefaultRouteReuseStrategy;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StateManager = /*#__PURE__*/(() => {\n  class StateManager {\n    urlSerializer = inject(UrlSerializer);\n    options = inject(ROUTER_CONFIGURATION, {\n      optional: true\n    }) || {};\n    canceledNavigationResolution = this.options.canceledNavigationResolution || 'replace';\n    location = inject(Location);\n    urlHandlingStrategy = inject(UrlHandlingStrategy);\n    urlUpdateStrategy = this.options.urlUpdateStrategy || 'deferred';\n    currentUrlTree = new UrlTree();\n    /**\n     * Returns the currently activated `UrlTree`.\n     *\n     * This `UrlTree` shows only URLs that the `Router` is configured to handle (through\n     * `UrlHandlingStrategy`).\n     *\n     * The value is set after finding the route config tree to activate but before activating the\n     * route.\n     */\n    getCurrentUrlTree() {\n      return this.currentUrlTree;\n    }\n    rawUrlTree = this.currentUrlTree;\n    /**\n     * Returns a `UrlTree` that is represents what the browser is actually showing.\n     *\n     * In the life of a navigation transition:\n     * 1. When a navigation begins, the raw `UrlTree` is updated to the full URL that's being\n     * navigated to.\n     * 2. During a navigation, redirects are applied, which might only apply to _part_ of the URL (due\n     * to `UrlHandlingStrategy`).\n     * 3. Just before activation, the raw `UrlTree` is updated to include the redirects on top of the\n     * original raw URL.\n     *\n     * Note that this is _only_ here to support `UrlHandlingStrategy.extract` and\n     * `UrlHandlingStrategy.shouldProcessUrl`. Without those APIs, the current `UrlTree` would not\n     * deviated from the raw `UrlTree`.\n     *\n     * For `extract`, a raw `UrlTree` is needed because `extract` may only return part\n     * of the navigation URL. Thus, the current `UrlTree` may only represent _part_ of the browser\n     * URL. When a navigation gets cancelled and the router needs to reset the URL or a new navigation\n     * occurs, it needs to know the _whole_ browser URL, not just the part handled by\n     * `UrlHandlingStrategy`.\n     * For `shouldProcessUrl`, when the return is `false`, the router ignores the navigation but\n     * still updates the raw `UrlTree` with the assumption that the navigation was caused by the\n     * location change listener due to a URL update by the AngularJS router. In this case, the router\n     * still need to know what the browser's URL is for future navigations.\n     */\n    getRawUrlTree() {\n      return this.rawUrlTree;\n    }\n    createBrowserPath({\n      finalUrl,\n      initialUrl,\n      targetBrowserUrl\n    }) {\n      const rawUrl = finalUrl !== undefined ? this.urlHandlingStrategy.merge(finalUrl, initialUrl) : initialUrl;\n      const url = targetBrowserUrl ?? rawUrl;\n      const path = url instanceof UrlTree ? this.urlSerializer.serialize(url) : url;\n      return path;\n    }\n    commitTransition({\n      targetRouterState,\n      finalUrl,\n      initialUrl\n    }) {\n      // If we are committing the transition after having a final URL and target state, we're updating\n      // all pieces of the state. Otherwise, we likely skipped the transition (due to URL handling strategy)\n      // and only want to update the rawUrlTree, which represents the browser URL (and doesn't necessarily match router state).\n      if (finalUrl && targetRouterState) {\n        this.currentUrlTree = finalUrl;\n        this.rawUrlTree = this.urlHandlingStrategy.merge(finalUrl, initialUrl);\n        this.routerState = targetRouterState;\n      } else {\n        this.rawUrlTree = initialUrl;\n      }\n    }\n    routerState = createEmptyState(null);\n    /** Returns the current RouterState. */\n    getRouterState() {\n      return this.routerState;\n    }\n    stateMemento = this.createStateMemento();\n    updateStateMemento() {\n      this.stateMemento = this.createStateMemento();\n    }\n    createStateMemento() {\n      return {\n        rawUrlTree: this.rawUrlTree,\n        currentUrlTree: this.currentUrlTree,\n        routerState: this.routerState\n      };\n    }\n    resetInternalState({\n      finalUrl\n    }) {\n      this.routerState = this.stateMemento.routerState;\n      this.currentUrlTree = this.stateMemento.currentUrlTree;\n      // Note here that we use the urlHandlingStrategy to get the reset `rawUrlTree` because it may be\n      // configured to handle only part of the navigation URL. This means we would only want to reset\n      // the part of the navigation handled by the Angular router rather than the whole URL. In\n      // addition, the URLHandlingStrategy may be configured to specifically preserve parts of the URL\n      // when merging, such as the query params so they are not lost on a refresh.\n      this.rawUrlTree = this.urlHandlingStrategy.merge(this.currentUrlTree, finalUrl ?? this.rawUrlTree);\n    }\n    static ɵfac = function StateManager_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || StateManager)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: StateManager,\n      factory: () => (() => inject(HistoryStateManager))(),\n      providedIn: 'root'\n    });\n  }\n  return StateManager;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet HistoryStateManager = /*#__PURE__*/(() => {\n  class HistoryStateManager extends StateManager {\n    /**\n     * The id of the currently active page in the router.\n     * Updated to the transition's target id on a successful navigation.\n     *\n     * This is used to track what page the router last activated. When an attempted navigation fails,\n     * the router can then use this to compute how to restore the state back to the previously active\n     * page.\n     */\n    currentPageId = 0;\n    lastSuccessfulId = -1;\n    restoredState() {\n      return this.location.getState();\n    }\n    /**\n     * The ɵrouterPageId of whatever page is currently active in the browser history. This is\n     * important for computing the target page id for new navigations because we need to ensure each\n     * page id in the browser history is 1 more than the previous entry.\n     */\n    get browserPageId() {\n      if (this.canceledNavigationResolution !== 'computed') {\n        return this.currentPageId;\n      }\n      return this.restoredState()?.ɵrouterPageId ?? this.currentPageId;\n    }\n    registerNonRouterCurrentEntryChangeListener(listener) {\n      return this.location.subscribe(event => {\n        if (event['type'] === 'popstate') {\n          // The `setTimeout` was added in #12160 and is likely to support Angular/AngularJS\n          // hybrid apps.\n          setTimeout(() => {\n            listener(event['url'], event.state, 'popstate');\n          });\n        }\n      });\n    }\n    handleRouterEvent(e, currentTransition) {\n      if (e instanceof NavigationStart) {\n        this.updateStateMemento();\n      } else if (e instanceof NavigationSkipped) {\n        this.commitTransition(currentTransition);\n      } else if (e instanceof RoutesRecognized) {\n        if (this.urlUpdateStrategy === 'eager') {\n          if (!currentTransition.extras.skipLocationChange) {\n            this.setBrowserUrl(this.createBrowserPath(currentTransition), currentTransition);\n          }\n        }\n      } else if (e instanceof BeforeActivateRoutes) {\n        this.commitTransition(currentTransition);\n        if (this.urlUpdateStrategy === 'deferred' && !currentTransition.extras.skipLocationChange) {\n          this.setBrowserUrl(this.createBrowserPath(currentTransition), currentTransition);\n        }\n      } else if (e instanceof NavigationCancel && (e.code === NavigationCancellationCode.GuardRejected || e.code === NavigationCancellationCode.NoDataFromResolver)) {\n        this.restoreHistory(currentTransition);\n      } else if (e instanceof NavigationError) {\n        this.restoreHistory(currentTransition, true);\n      } else if (e instanceof NavigationEnd) {\n        this.lastSuccessfulId = e.id;\n        this.currentPageId = this.browserPageId;\n      }\n    }\n    setBrowserUrl(path, {\n      extras,\n      id\n    }) {\n      const {\n        replaceUrl,\n        state\n      } = extras;\n      if (this.location.isCurrentPathEqualTo(path) || !!replaceUrl) {\n        // replacements do not update the target page\n        const currentBrowserPageId = this.browserPageId;\n        const newState = {\n          ...state,\n          ...this.generateNgRouterState(id, currentBrowserPageId)\n        };\n        this.location.replaceState(path, '', newState);\n      } else {\n        const newState = {\n          ...state,\n          ...this.generateNgRouterState(id, this.browserPageId + 1)\n        };\n        this.location.go(path, '', newState);\n      }\n    }\n    /**\n     * Performs the necessary rollback action to restore the browser URL to the\n     * state before the transition.\n     */\n    restoreHistory(navigation, restoringFromCaughtError = false) {\n      if (this.canceledNavigationResolution === 'computed') {\n        const currentBrowserPageId = this.browserPageId;\n        const targetPagePosition = this.currentPageId - currentBrowserPageId;\n        if (targetPagePosition !== 0) {\n          this.location.historyGo(targetPagePosition);\n        } else if (this.getCurrentUrlTree() === navigation.finalUrl && targetPagePosition === 0) {\n          // We got to the activation stage (where currentUrlTree is set to the navigation's\n          // finalUrl), but we weren't moving anywhere in history (skipLocationChange or replaceUrl).\n          // We still need to reset the router state back to what it was when the navigation started.\n          this.resetInternalState(navigation);\n          this.resetUrlToCurrentUrlTree();\n        } else ;\n      } else if (this.canceledNavigationResolution === 'replace') {\n        // TODO(atscott): It seems like we should _always_ reset the state here. It would be a no-op\n        // for `deferred` navigations that haven't change the internal state yet because guards\n        // reject. For 'eager' navigations, it seems like we also really should reset the state\n        // because the navigation was cancelled. Investigate if this can be done by running TGP.\n        if (restoringFromCaughtError) {\n          this.resetInternalState(navigation);\n        }\n        this.resetUrlToCurrentUrlTree();\n      }\n    }\n    resetUrlToCurrentUrlTree() {\n      this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()), '', this.generateNgRouterState(this.lastSuccessfulId, this.currentPageId));\n    }\n    generateNgRouterState(navigationId, routerPageId) {\n      if (this.canceledNavigationResolution === 'computed') {\n        return {\n          navigationId,\n          ɵrouterPageId: routerPageId\n        };\n      }\n      return {\n        navigationId\n      };\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵHistoryStateManager_BaseFactory;\n      return function HistoryStateManager_Factory(__ngFactoryType__) {\n        return (ɵHistoryStateManager_BaseFactory || (ɵHistoryStateManager_BaseFactory = i0.ɵɵgetInheritedFactory(HistoryStateManager)))(__ngFactoryType__ || HistoryStateManager);\n      };\n    })();\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: HistoryStateManager,\n      factory: HistoryStateManager.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return HistoryStateManager;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Performs the given action once the router finishes its next/current navigation.\n *\n * The navigation is considered complete under the following conditions:\n * - `NavigationCancel` event emits and the code is not `NavigationCancellationCode.Redirect` or\n * `NavigationCancellationCode.SupersededByNewNavigation`. In these cases, the\n * redirecting/superseding navigation must finish.\n * - `NavigationError`, `NavigationEnd`, or `NavigationSkipped` event emits\n */\nfunction afterNextNavigation(router, action) {\n  router.events.pipe(filter(e => e instanceof NavigationEnd || e instanceof NavigationCancel || e instanceof NavigationError || e instanceof NavigationSkipped), map(e => {\n    if (e instanceof NavigationEnd || e instanceof NavigationSkipped) {\n      return 0 /* NavigationResult.COMPLETE */;\n    }\n    const redirecting = e instanceof NavigationCancel ? e.code === NavigationCancellationCode.Redirect || e.code === NavigationCancellationCode.SupersededByNewNavigation : false;\n    return redirecting ? 2 /* NavigationResult.REDIRECTING */ : 1 /* NavigationResult.FAILED */;\n  }), filter(result => result !== 2 /* NavigationResult.REDIRECTING */), take(1)).subscribe(() => {\n    action();\n  });\n}\n\n/**\n * The equivalent `IsActiveMatchOptions` options for `Router.isActive` is called with `true`\n * (exact = true).\n */\nconst exactMatchOptions = {\n  paths: 'exact',\n  fragment: 'ignored',\n  matrixParams: 'ignored',\n  queryParams: 'exact'\n};\n/**\n * The equivalent `IsActiveMatchOptions` options for `Router.isActive` is called with `false`\n * (exact = false).\n */\nconst subsetMatchOptions = {\n  paths: 'subset',\n  fragment: 'ignored',\n  matrixParams: 'ignored',\n  queryParams: 'subset'\n};\n/**\n * @description\n *\n * A service that facilitates navigation among views and URL manipulation capabilities.\n * This service is provided in the root scope and configured with [provideRouter](api/router/provideRouter).\n *\n * @see {@link Route}\n * @see {@link provideRouter}\n * @see [Routing and Navigation Guide](guide/routing/common-router-tasks).\n *\n * @ngModule RouterModule\n *\n * @publicApi\n */\nlet Router = /*#__PURE__*/(() => {\n  class Router {\n    get currentUrlTree() {\n      return this.stateManager.getCurrentUrlTree();\n    }\n    get rawUrlTree() {\n      return this.stateManager.getRawUrlTree();\n    }\n    disposed = false;\n    nonRouterCurrentEntryChangeSubscription;\n    console = inject(_Console);\n    stateManager = inject(StateManager);\n    options = inject(ROUTER_CONFIGURATION, {\n      optional: true\n    }) || {};\n    pendingTasks = inject(_PendingTasksInternal);\n    urlUpdateStrategy = this.options.urlUpdateStrategy || 'deferred';\n    navigationTransitions = inject(NavigationTransitions);\n    urlSerializer = inject(UrlSerializer);\n    location = inject(Location);\n    urlHandlingStrategy = inject(UrlHandlingStrategy);\n    /**\n     * The private `Subject` type for the public events exposed in the getter. This is used internally\n     * to push events to. The separate field allows us to expose separate types in the public API\n     * (i.e., an Observable rather than the Subject).\n     */\n    _events = new Subject();\n    /**\n     * An event stream for routing events.\n     */\n    get events() {\n      // TODO(atscott): This _should_ be events.asObservable(). However, this change requires internal\n      // cleanup: tests are doing `(route.events as Subject<Event>).next(...)`. This isn't\n      // allowed/supported but we still have to fix these or file bugs against the teams before making\n      // the change.\n      return this._events;\n    }\n    /**\n     * The current state of routing in this NgModule.\n     */\n    get routerState() {\n      return this.stateManager.getRouterState();\n    }\n    /**\n     * True if at least one navigation event has occurred,\n     * false otherwise.\n     */\n    navigated = false;\n    /**\n     * A strategy for re-using routes.\n     *\n     * @deprecated Configure using `providers` instead:\n     *   `{provide: RouteReuseStrategy, useClass: MyStrategy}`.\n     */\n    routeReuseStrategy = inject(RouteReuseStrategy);\n    /**\n     * How to handle a navigation request to the current URL.\n     *\n     *\n     * @deprecated Configure this through `provideRouter` or `RouterModule.forRoot` instead.\n     * @see {@link withRouterConfig}\n     * @see {@link provideRouter}\n     * @see {@link RouterModule}\n     */\n    onSameUrlNavigation = this.options.onSameUrlNavigation || 'ignore';\n    config = inject(ROUTES, {\n      optional: true\n    })?.flat() ?? [];\n    /**\n     * Indicates whether the application has opted in to binding Router data to component inputs.\n     *\n     * This option is enabled by the `withComponentInputBinding` feature of `provideRouter` or\n     * `bindToComponentInputs` in the `ExtraOptions` of `RouterModule.forRoot`.\n     */\n    componentInputBindingEnabled = !!inject(INPUT_BINDER, {\n      optional: true\n    });\n    constructor() {\n      this.resetConfig(this.config);\n      this.navigationTransitions.setupNavigations(this).subscribe({\n        error: e => {\n          this.console.warn(ngDevMode ? `Unhandled Navigation Error: ${e}` : e);\n        }\n      });\n      this.subscribeToNavigationEvents();\n    }\n    eventsSubscription = new Subscription();\n    subscribeToNavigationEvents() {\n      const subscription = this.navigationTransitions.events.subscribe(e => {\n        try {\n          const currentTransition = this.navigationTransitions.currentTransition;\n          const currentNavigation = this.navigationTransitions.currentNavigation;\n          if (currentTransition !== null && currentNavigation !== null) {\n            this.stateManager.handleRouterEvent(e, currentNavigation);\n            if (e instanceof NavigationCancel && e.code !== NavigationCancellationCode.Redirect && e.code !== NavigationCancellationCode.SupersededByNewNavigation) {\n              // It seems weird that `navigated` is set to `true` when the navigation is rejected,\n              // however it's how things were written initially. Investigation would need to be done\n              // to determine if this can be removed.\n              this.navigated = true;\n            } else if (e instanceof NavigationEnd) {\n              this.navigated = true;\n            } else if (e instanceof RedirectRequest) {\n              const opts = e.navigationBehaviorOptions;\n              const mergedTree = this.urlHandlingStrategy.merge(e.url, currentTransition.currentRawUrl);\n              const extras = {\n                browserUrl: currentTransition.extras.browserUrl,\n                info: currentTransition.extras.info,\n                skipLocationChange: currentTransition.extras.skipLocationChange,\n                // The URL is already updated at this point if we have 'eager' URL\n                // updates or if the navigation was triggered by the browser (back\n                // button, URL bar, etc). We want to replace that item in history\n                // if the navigation is rejected.\n                replaceUrl: currentTransition.extras.replaceUrl || this.urlUpdateStrategy === 'eager' || isBrowserTriggeredNavigation(currentTransition.source),\n                // allow developer to override default options with RedirectCommand\n                ...opts\n              };\n              this.scheduleNavigation(mergedTree, IMPERATIVE_NAVIGATION, null, extras, {\n                resolve: currentTransition.resolve,\n                reject: currentTransition.reject,\n                promise: currentTransition.promise\n              });\n            }\n          }\n          // Note that it's important to have the Router process the events _before_ the event is\n          // pushed through the public observable. This ensures the correct router state is in place\n          // before applications observe the events.\n          if (isPublicRouterEvent(e)) {\n            this._events.next(e);\n          }\n        } catch (e) {\n          this.navigationTransitions.transitionAbortSubject.next(e);\n        }\n      });\n      this.eventsSubscription.add(subscription);\n    }\n    /** @internal */\n    resetRootComponentType(rootComponentType) {\n      // TODO: vsavkin router 4.0 should make the root component set to null\n      // this will simplify the lifecycle of the router.\n      this.routerState.root.component = rootComponentType;\n      this.navigationTransitions.rootComponentType = rootComponentType;\n    }\n    /**\n     * Sets up the location change listener and performs the initial navigation.\n     */\n    initialNavigation() {\n      this.setUpLocationChangeListener();\n      if (!this.navigationTransitions.hasRequestedNavigation) {\n        this.navigateToSyncWithBrowser(this.location.path(true), IMPERATIVE_NAVIGATION, this.stateManager.restoredState());\n      }\n    }\n    /**\n     * Sets up the location change listener. This listener detects navigations triggered from outside\n     * the Router (the browser back/forward buttons, for example) and schedules a corresponding Router\n     * navigation so that the correct events, guards, etc. are triggered.\n     */\n    setUpLocationChangeListener() {\n      // Don't need to use Zone.wrap any more, because zone.js\n      // already patch onPopState, so location change callback will\n      // run into ngZone\n      this.nonRouterCurrentEntryChangeSubscription ??= this.stateManager.registerNonRouterCurrentEntryChangeListener((url, state, source) => {\n        this.navigateToSyncWithBrowser(url, source, state);\n      });\n    }\n    /**\n     * Schedules a router navigation to synchronize Router state with the browser state.\n     *\n     * This is done as a response to a popstate event and the initial navigation. These\n     * two scenarios represent times when the browser URL/state has been updated and\n     * the Router needs to respond to ensure its internal state matches.\n     */\n    navigateToSyncWithBrowser(url, source, state) {\n      const extras = {\n        replaceUrl: true\n      };\n      // TODO: restoredState should always include the entire state, regardless\n      // of navigationId. This requires a breaking change to update the type on\n      // NavigationStart’s restoredState, which currently requires navigationId\n      // to always be present. The Router used to only restore history state if\n      // a navigationId was present.\n      // The stored navigationId is used by the RouterScroller to retrieve the scroll\n      // position for the page.\n      const restoredState = state?.navigationId ? state : null;\n      // Separate to NavigationStart.restoredState, we must also restore the state to\n      // history.state and generate a new navigationId, since it will be overwritten\n      if (state) {\n        const stateCopy = {\n          ...state\n        };\n        delete stateCopy.navigationId;\n        delete stateCopy.ɵrouterPageId;\n        if (Object.keys(stateCopy).length !== 0) {\n          extras.state = stateCopy;\n        }\n      }\n      const urlTree = this.parseUrl(url);\n      this.scheduleNavigation(urlTree, source, restoredState, extras);\n    }\n    /** The current URL. */\n    get url() {\n      return this.serializeUrl(this.currentUrlTree);\n    }\n    /**\n     * Returns the current `Navigation` object when the router is navigating,\n     * and `null` when idle.\n     */\n    getCurrentNavigation() {\n      return this.navigationTransitions.currentNavigation;\n    }\n    /**\n     * The `Navigation` object of the most recent navigation to succeed and `null` if there\n     *     has not been a successful navigation yet.\n     */\n    get lastSuccessfulNavigation() {\n      return this.navigationTransitions.lastSuccessfulNavigation;\n    }\n    /**\n     * Resets the route configuration used for navigation and generating links.\n     *\n     * @param config The route array for the new configuration.\n     *\n     * @usageNotes\n     *\n     * ```ts\n     * router.resetConfig([\n     *  { path: 'team/:id', component: TeamCmp, children: [\n     *    { path: 'simple', component: SimpleCmp },\n     *    { path: 'user/:name', component: UserCmp }\n     *  ]}\n     * ]);\n     * ```\n     */\n    resetConfig(config) {\n      (typeof ngDevMode === 'undefined' || ngDevMode) && validateConfig(config);\n      this.config = config.map(standardizeConfig);\n      this.navigated = false;\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      this.dispose();\n    }\n    /** Disposes of the router. */\n    dispose() {\n      // We call `unsubscribe()` to release observers, as users may forget to\n      // unsubscribe manually when subscribing to `router.events`. We do not call\n      // `complete()` because it is unsafe; if someone subscribes using the `first`\n      // operator and the observable completes before emitting a value,\n      // RxJS will throw an error.\n      this._events.unsubscribe();\n      this.navigationTransitions.complete();\n      if (this.nonRouterCurrentEntryChangeSubscription) {\n        this.nonRouterCurrentEntryChangeSubscription.unsubscribe();\n        this.nonRouterCurrentEntryChangeSubscription = undefined;\n      }\n      this.disposed = true;\n      this.eventsSubscription.unsubscribe();\n    }\n    /**\n     * Appends URL segments to the current URL tree to create a new URL tree.\n     *\n     * @param commands An array of URL fragments with which to construct the new URL tree.\n     * If the path is static, can be the literal URL string. For a dynamic path, pass an array of path\n     * segments, followed by the parameters for each segment.\n     * The fragments are applied to the current URL tree or the one provided  in the `relativeTo`\n     * property of the options object, if supplied.\n     * @param navigationExtras Options that control the navigation strategy.\n     * @returns The new URL tree.\n     *\n     * @usageNotes\n     *\n     * ```\n     * // create /team/33/user/11\n     * router.createUrlTree(['/team', 33, 'user', 11]);\n     *\n     * // create /team/33;expand=true/user/11\n     * router.createUrlTree(['/team', 33, {expand: true}, 'user', 11]);\n     *\n     * // you can collapse static segments like this (this works only with the first passed-in value):\n     * router.createUrlTree(['/team/33/user', userId]);\n     *\n     * // If the first segment can contain slashes, and you do not want the router to split it,\n     * // you can do the following:\n     * router.createUrlTree([{segmentPath: '/one/two'}]);\n     *\n     * // create /team/33/(user/11//right:chat)\n     * router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: 'chat'}}]);\n     *\n     * // remove the right secondary node\n     * router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: null}}]);\n     *\n     * // assuming the current url is `/team/33/user/11` and the route points to `user/11`\n     *\n     * // navigate to /team/33/user/11/details\n     * router.createUrlTree(['details'], {relativeTo: route});\n     *\n     * // navigate to /team/33/user/22\n     * router.createUrlTree(['../22'], {relativeTo: route});\n     *\n     * // navigate to /team/44/user/22\n     * router.createUrlTree(['../../team/44/user/22'], {relativeTo: route});\n     *\n     * Note that a value of `null` or `undefined` for `relativeTo` indicates that the\n     * tree should be created relative to the root.\n     * ```\n     */\n    createUrlTree(commands, navigationExtras = {}) {\n      const {\n        relativeTo,\n        queryParams,\n        fragment,\n        queryParamsHandling,\n        preserveFragment\n      } = navigationExtras;\n      const f = preserveFragment ? this.currentUrlTree.fragment : fragment;\n      let q = null;\n      switch (queryParamsHandling ?? this.options.defaultQueryParamsHandling) {\n        case 'merge':\n          q = {\n            ...this.currentUrlTree.queryParams,\n            ...queryParams\n          };\n          break;\n        case 'preserve':\n          q = this.currentUrlTree.queryParams;\n          break;\n        default:\n          q = queryParams || null;\n      }\n      if (q !== null) {\n        q = this.removeEmptyProps(q);\n      }\n      let relativeToUrlSegmentGroup;\n      try {\n        const relativeToSnapshot = relativeTo ? relativeTo.snapshot : this.routerState.snapshot.root;\n        relativeToUrlSegmentGroup = createSegmentGroupFromRoute(relativeToSnapshot);\n      } catch (e) {\n        // This is strictly for backwards compatibility with tests that create\n        // invalid `ActivatedRoute` mocks.\n        // Note: the difference between having this fallback for invalid `ActivatedRoute` setups and\n        // just throwing is ~500 test failures. Fixing all of those tests by hand is not feasible at\n        // the moment.\n        if (typeof commands[0] !== 'string' || commands[0][0] !== '/') {\n          // Navigations that were absolute in the old way of creating UrlTrees\n          // would still work because they wouldn't attempt to match the\n          // segments in the `ActivatedRoute` to the `currentUrlTree` but\n          // instead just replace the root segment with the navigation result.\n          // Non-absolute navigations would fail to apply the commands because\n          // the logic could not find the segment to replace (so they'd act like there were no\n          // commands).\n          commands = [];\n        }\n        relativeToUrlSegmentGroup = this.currentUrlTree.root;\n      }\n      return createUrlTreeFromSegmentGroup(relativeToUrlSegmentGroup, commands, q, f ?? null);\n    }\n    /**\n     * Navigates to a view using an absolute route path.\n     *\n     * @param url An absolute path for a defined route. The function does not apply any delta to the\n     *     current URL.\n     * @param extras An object containing properties that modify the navigation strategy.\n     *\n     * @returns A Promise that resolves to 'true' when navigation succeeds,\n     * to 'false' when navigation fails, or is rejected on error.\n     *\n     * @usageNotes\n     *\n     * The following calls request navigation to an absolute path.\n     *\n     * ```ts\n     * router.navigateByUrl(\"/team/33/user/11\");\n     *\n     * // Navigate without updating the URL\n     * router.navigateByUrl(\"/team/33/user/11\", { skipLocationChange: true });\n     * ```\n     *\n     * @see [Routing and Navigation guide](guide/routing/common-router-tasks)\n     *\n     */\n    navigateByUrl(url, extras = {\n      skipLocationChange: false\n    }) {\n      const urlTree = isUrlTree(url) ? url : this.parseUrl(url);\n      const mergedTree = this.urlHandlingStrategy.merge(urlTree, this.rawUrlTree);\n      return this.scheduleNavigation(mergedTree, IMPERATIVE_NAVIGATION, null, extras);\n    }\n    /**\n     * Navigate based on the provided array of commands and a starting point.\n     * If no starting route is provided, the navigation is absolute.\n     *\n     * @param commands An array of URL fragments with which to construct the target URL.\n     * If the path is static, can be the literal URL string. For a dynamic path, pass an array of path\n     * segments, followed by the parameters for each segment.\n     * The fragments are applied to the current URL or the one provided  in the `relativeTo` property\n     * of the options object, if supplied.\n     * @param extras An options object that determines how the URL should be constructed or\n     *     interpreted.\n     *\n     * @returns A Promise that resolves to `true` when navigation succeeds, or `false` when navigation\n     *     fails. The Promise is rejected when an error occurs if `resolveNavigationPromiseOnError` is\n     * not `true`.\n     *\n     * @usageNotes\n     *\n     * The following calls request navigation to a dynamic route path relative to the current URL.\n     *\n     * ```ts\n     * router.navigate(['team', 33, 'user', 11], {relativeTo: route});\n     *\n     * // Navigate without updating the URL, overriding the default behavior\n     * router.navigate(['team', 33, 'user', 11], {relativeTo: route, skipLocationChange: true});\n     * ```\n     *\n     * @see [Routing and Navigation guide](guide/routing/common-router-tasks)\n     *\n     */\n    navigate(commands, extras = {\n      skipLocationChange: false\n    }) {\n      validateCommands(commands);\n      return this.navigateByUrl(this.createUrlTree(commands, extras), extras);\n    }\n    /** Serializes a `UrlTree` into a string */\n    serializeUrl(url) {\n      return this.urlSerializer.serialize(url);\n    }\n    /** Parses a string into a `UrlTree` */\n    parseUrl(url) {\n      try {\n        return this.urlSerializer.parse(url);\n      } catch {\n        return this.urlSerializer.parse('/');\n      }\n    }\n    isActive(url, matchOptions) {\n      let options;\n      if (matchOptions === true) {\n        options = {\n          ...exactMatchOptions\n        };\n      } else if (matchOptions === false) {\n        options = {\n          ...subsetMatchOptions\n        };\n      } else {\n        options = matchOptions;\n      }\n      if (isUrlTree(url)) {\n        return containsTree(this.currentUrlTree, url, options);\n      }\n      const urlTree = this.parseUrl(url);\n      return containsTree(this.currentUrlTree, urlTree, options);\n    }\n    removeEmptyProps(params) {\n      return Object.entries(params).reduce((result, [key, value]) => {\n        if (value !== null && value !== undefined) {\n          result[key] = value;\n        }\n        return result;\n      }, {});\n    }\n    scheduleNavigation(rawUrl, source, restoredState, extras, priorPromise) {\n      if (this.disposed) {\n        return Promise.resolve(false);\n      }\n      let resolve;\n      let reject;\n      let promise;\n      if (priorPromise) {\n        resolve = priorPromise.resolve;\n        reject = priorPromise.reject;\n        promise = priorPromise.promise;\n      } else {\n        promise = new Promise((res, rej) => {\n          resolve = res;\n          reject = rej;\n        });\n      }\n      // Indicate that the navigation is happening.\n      const taskId = this.pendingTasks.add();\n      afterNextNavigation(this, () => {\n        // Remove pending task in a microtask to allow for cancelled\n        // initial navigations and redirects within the same task.\n        queueMicrotask(() => this.pendingTasks.remove(taskId));\n      });\n      this.navigationTransitions.handleNavigationRequest({\n        source,\n        restoredState,\n        currentUrlTree: this.currentUrlTree,\n        currentRawUrl: this.currentUrlTree,\n        rawUrl,\n        extras,\n        resolve: resolve,\n        reject: reject,\n        promise,\n        currentSnapshot: this.routerState.snapshot,\n        currentRouterState: this.routerState\n      });\n      // Make sure that the error is propagated even though `processNavigations` catch\n      // handler does not rethrow\n      return promise.catch(e => {\n        return Promise.reject(e);\n      });\n    }\n    static ɵfac = function Router_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || Router)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: Router,\n      factory: Router.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return Router;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction validateCommands(commands) {\n  for (let i = 0; i < commands.length; i++) {\n    const cmd = commands[i];\n    if (cmd == null) {\n      throw new _RuntimeError(4008 /* RuntimeErrorCode.NULLISH_COMMAND */, (typeof ngDevMode === 'undefined' || ngDevMode) && `The requested path contains ${cmd} segment at index ${i}`);\n    }\n  }\n}\nfunction isPublicRouterEvent(e) {\n  return !(e instanceof BeforeActivateRoutes) && !(e instanceof RedirectRequest);\n}\nexport { ActivatedRoute, ActivatedRouteSnapshot, ActivationEnd, ActivationStart, BaseRouteReuseStrategy, CREATE_VIEW_TRANSITION, ChildActivationEnd, ChildActivationStart, ChildrenOutletContexts, DefaultTitleStrategy, DefaultUrlSerializer, EventType, GuardsCheckEnd, GuardsCheckStart, INPUT_BINDER, NAVIGATION_ERROR_HANDLER, NavigationCancel, NavigationCancellationCode, NavigationEnd, NavigationError, NavigationSkipped, NavigationSkippedCode, NavigationStart, NavigationTransitions, OutletContext, PRIMARY_OUTLET, ROUTER_CONFIGURATION, ROUTER_OUTLET_DATA, ROUTES, RedirectCommand, ResolveEnd, ResolveStart, RouteConfigLoadEnd, RouteConfigLoadStart, RouteReuseStrategy, RoutedComponentInputBinder, Router, RouterConfigLoader, RouterEvent, RouterOutlet, RouterState, RouterStateSnapshot, RoutesRecognized, Scroll, TitleStrategy, UrlHandlingStrategy, UrlSegment, UrlSegmentGroup, UrlSerializer, UrlTree, VIEW_TRANSITION_OPTIONS, afterNextNavigation, convertToParamMap, createUrlTreeFromSnapshot, createViewTransition, defaultUrlMatcher, isUrlTree, loadChildren, stringifyEvent, ɵEmptyOutletComponent };\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i3 from '@angular/common';\nimport { LOCATION_INITIALIZED, HashLocationStrategy, LocationStrategy, ViewportScroller, Location, PathLocationStrategy } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { ɵRuntimeError as _RuntimeError, ɵɵsanitizeUrlOrResourceUrl as __sanitizeUrlOrResourceUrl, booleanAttribute, HostListener, Input, HostBinding, Attribute, Directive, EventEmitter, Output, ContentChildren, Optional, createEnvironmentInjector, Injectable, InjectionToken, ɵperformanceMarkFeature as _performanceMarkFeature, makeEnvironmentProviders, APP_BOOTSTRAP_LISTENER, ENVIRONMENT_INITIALIZER, provideAppInitializer, inject, Injector, ApplicationRef, InjectFlags, NgZone, SkipSelf, NgModule } from '@angular/core';\nimport { NavigationEnd, isUrlTree, Router, ActivatedRoute, RouterConfigLoader, NavigationStart, NavigationSkipped, NavigationSkippedCode, Scroll, UrlSerializer, NavigationTransitions, ROUTES, afterNextNavigation, ROUTER_CONFIGURATION, NAVIGATION_ERROR_HANDLER, RoutedComponentInputBinder, INPUT_BINDER, createViewTransition, CREATE_VIEW_TRANSITION, VIEW_TRANSITION_OPTIONS, stringifyEvent, DefaultUrlSerializer, ChildrenOutletContexts, RouterOutlet, ɵEmptyOutletComponent as _EmptyOutletComponent } from './router-Dwfin5Au.mjs';\nimport { Subject, of, from } from 'rxjs';\nimport { mergeAll, catchError, filter, concatMap, mergeMap } from 'rxjs/operators';\n\n/**\n * @description\n *\n * When applied to an element in a template, makes that element a link\n * that initiates navigation to a route. Navigation opens one or more routed components\n * in one or more `<router-outlet>` locations on the page.\n *\n * Given a route configuration `[{ path: 'user/:name', component: UserCmp }]`,\n * the following creates a static link to the route:\n * `<a routerLink=\"/user/bob\">link to user component</a>`\n *\n * You can use dynamic values to generate the link.\n * For a dynamic link, pass an array of path segments,\n * followed by the params for each segment.\n * For example, `['/team', teamId, 'user', userName, {details: true}]`\n * generates a link to `/team/11/user/bob;details=true`.\n *\n * Multiple static segments can be merged into one term and combined with dynamic segments.\n * For example, `['/team/11/user', userName, {details: true}]`\n *\n * The input that you provide to the link is treated as a delta to the current URL.\n * For instance, suppose the current URL is `/user/(box//aux:team)`.\n * The link `<a [routerLink]=\"['/user/jim']\">Jim</a>` creates the URL\n * `/user/(jim//aux:team)`.\n * See {@link Router#createUrlTree} for more information.\n *\n * @usageNotes\n *\n * You can use absolute or relative paths in a link, set query parameters,\n * control how parameters are handled, and keep a history of navigation states.\n *\n * ### Relative link paths\n *\n * The first segment name can be prepended with `/`, `./`, or `../`.\n * * If the first segment begins with `/`, the router looks up the route from the root of the\n *   app.\n * * If the first segment begins with `./`, or doesn't begin with a slash, the router\n *   looks in the children of the current activated route.\n * * If the first segment begins with `../`, the router goes up one level in the route tree.\n *\n * ### Setting and handling query params and fragments\n *\n * The following link adds a query parameter and a fragment to the generated URL:\n *\n * ```html\n * <a [routerLink]=\"['/user/bob']\" [queryParams]=\"{debug: true}\" fragment=\"education\">\n *   link to user component\n * </a>\n * ```\n * By default, the directive constructs the new URL using the given query parameters.\n * The example generates the link: `/user/bob?debug=true#education`.\n *\n * You can instruct the directive to handle query parameters differently\n * by specifying the `queryParamsHandling` option in the link.\n * Allowed values are:\n *\n *  - `'merge'`: Merge the given `queryParams` into the current query params.\n *  - `'preserve'`: Preserve the current query params.\n *\n * For example:\n *\n * ```html\n * <a [routerLink]=\"['/user/bob']\" [queryParams]=\"{debug: true}\" queryParamsHandling=\"merge\">\n *   link to user component\n * </a>\n * ```\n *\n * `queryParams`, `fragment`, `queryParamsHandling`, `preserveFragment`, and `relativeTo`\n * cannot be used when the `routerLink` input is a `UrlTree`.\n *\n * See {@link UrlCreationOptions#queryParamsHandling}.\n *\n * ### Preserving navigation history\n *\n * You can provide a `state` value to be persisted to the browser's\n * [`History.state` property](https://developer.mozilla.org/en-US/docs/Web/API/History#Properties).\n * For example:\n *\n * ```html\n * <a [routerLink]=\"['/user/bob']\" [state]=\"{tracingId: 123}\">\n *   link to user component\n * </a>\n * ```\n *\n * Use {@link Router#getCurrentNavigation} to retrieve a saved\n * navigation-state value. For example, to capture the `tracingId` during the `NavigationStart`\n * event:\n *\n * ```ts\n * // Get NavigationStart events\n * router.events.pipe(filter(e => e instanceof NavigationStart)).subscribe(e => {\n *   const navigation = router.getCurrentNavigation();\n *   tracingService.trace({id: navigation.extras.state.tracingId});\n * });\n * ```\n *\n * @ngModule RouterModule\n *\n * @publicApi\n */\nlet RouterLink = /*#__PURE__*/(() => {\n  class RouterLink {\n    router;\n    route;\n    tabIndexAttribute;\n    renderer;\n    el;\n    locationStrategy;\n    /**\n     * Represents an `href` attribute value applied to a host element,\n     * when a host element is `<a>`. For other tags, the value is `null`.\n     */\n    href = null;\n    /**\n     * Represents the `target` attribute on a host element.\n     * This is only used when the host element is an `<a>` tag.\n     */\n    target;\n    /**\n     * Passed to {@link Router#createUrlTree} as part of the\n     * `UrlCreationOptions`.\n     * @see {@link UrlCreationOptions#queryParams}\n     * @see {@link Router#createUrlTree}\n     */\n    queryParams;\n    /**\n     * Passed to {@link Router#createUrlTree} as part of the\n     * `UrlCreationOptions`.\n     * @see {@link UrlCreationOptions#fragment}\n     * @see {@link Router#createUrlTree}\n     */\n    fragment;\n    /**\n     * Passed to {@link Router#createUrlTree} as part of the\n     * `UrlCreationOptions`.\n     * @see {@link UrlCreationOptions#queryParamsHandling}\n     * @see {@link Router#createUrlTree}\n     */\n    queryParamsHandling;\n    /**\n     * Passed to {@link Router#navigateByUrl} as part of the\n     * `NavigationBehaviorOptions`.\n     * @see {@link NavigationBehaviorOptions#state}\n     * @see {@link Router#navigateByUrl}\n     */\n    state;\n    /**\n     * Passed to {@link Router#navigateByUrl} as part of the\n     * `NavigationBehaviorOptions`.\n     * @see {@link NavigationBehaviorOptions#info}\n     * @see {@link Router#navigateByUrl}\n     */\n    info;\n    /**\n     * Passed to {@link Router#createUrlTree} as part of the\n     * `UrlCreationOptions`.\n     * Specify a value here when you do not want to use the default value\n     * for `routerLink`, which is the current activated route.\n     * Note that a value of `undefined` here will use the `routerLink` default.\n     * @see {@link UrlCreationOptions#relativeTo}\n     * @see {@link Router#createUrlTree}\n     */\n    relativeTo;\n    /** Whether a host element is an `<a>` tag. */\n    isAnchorElement;\n    subscription;\n    /** @internal */\n    onChanges = new Subject();\n    constructor(router, route, tabIndexAttribute, renderer, el, locationStrategy) {\n      this.router = router;\n      this.route = route;\n      this.tabIndexAttribute = tabIndexAttribute;\n      this.renderer = renderer;\n      this.el = el;\n      this.locationStrategy = locationStrategy;\n      const tagName = el.nativeElement.tagName?.toLowerCase();\n      this.isAnchorElement = tagName === 'a' || tagName === 'area';\n      if (this.isAnchorElement) {\n        this.subscription = router.events.subscribe(s => {\n          if (s instanceof NavigationEnd) {\n            this.updateHref();\n          }\n        });\n      } else {\n        this.setTabIndexIfNotOnNativeEl('0');\n      }\n    }\n    /**\n     * Passed to {@link Router#createUrlTree} as part of the\n     * `UrlCreationOptions`.\n     * @see {@link UrlCreationOptions#preserveFragment}\n     * @see {@link Router#createUrlTree}\n     */\n    preserveFragment = false;\n    /**\n     * Passed to {@link Router#navigateByUrl} as part of the\n     * `NavigationBehaviorOptions`.\n     * @see {@link NavigationBehaviorOptions#skipLocationChange}\n     * @see {@link Router#navigateByUrl}\n     */\n    skipLocationChange = false;\n    /**\n     * Passed to {@link Router#navigateByUrl} as part of the\n     * `NavigationBehaviorOptions`.\n     * @see {@link NavigationBehaviorOptions#replaceUrl}\n     * @see {@link Router#navigateByUrl}\n     */\n    replaceUrl = false;\n    /**\n     * Modifies the tab index if there was not a tabindex attribute on the element during\n     * instantiation.\n     */\n    setTabIndexIfNotOnNativeEl(newTabIndex) {\n      if (this.tabIndexAttribute != null /* both `null` and `undefined` */ || this.isAnchorElement) {\n        return;\n      }\n      this.applyAttributeValue('tabindex', newTabIndex);\n    }\n    /** @docs-private */\n    // TODO(atscott): Remove changes parameter in major version as a breaking change.\n    ngOnChanges(changes) {\n      if (ngDevMode && isUrlTree(this.routerLinkInput) && (this.fragment !== undefined || this.queryParams || this.queryParamsHandling || this.preserveFragment || this.relativeTo)) {\n        throw new _RuntimeError(4016 /* RuntimeErrorCode.INVALID_ROUTER_LINK_INPUTS */, 'Cannot configure queryParams or fragment when using a UrlTree as the routerLink input value.');\n      }\n      if (this.isAnchorElement) {\n        this.updateHref();\n      }\n      // This is subscribed to by `RouterLinkActive` so that it knows to update when there are changes\n      // to the RouterLinks it's tracking.\n      this.onChanges.next(this);\n    }\n    routerLinkInput = null;\n    /**\n     * Commands to pass to {@link Router#createUrlTree} or a `UrlTree`.\n     *   - **array**: commands to pass to {@link Router#createUrlTree}.\n     *   - **string**: shorthand for array of commands with just the string, i.e. `['/route']`\n     *   - **UrlTree**: a `UrlTree` for this link rather than creating one from the commands\n     *     and other inputs that correspond to properties of `UrlCreationOptions`.\n     *   - **null|undefined**: effectively disables the `routerLink`\n     * @see {@link Router#createUrlTree}\n     */\n    set routerLink(commandsOrUrlTree) {\n      if (commandsOrUrlTree == null) {\n        this.routerLinkInput = null;\n        this.setTabIndexIfNotOnNativeEl(null);\n      } else {\n        if (isUrlTree(commandsOrUrlTree)) {\n          this.routerLinkInput = commandsOrUrlTree;\n        } else {\n          this.routerLinkInput = Array.isArray(commandsOrUrlTree) ? commandsOrUrlTree : [commandsOrUrlTree];\n        }\n        this.setTabIndexIfNotOnNativeEl('0');\n      }\n    }\n    /** @docs-private */\n    onClick(button, ctrlKey, shiftKey, altKey, metaKey) {\n      const urlTree = this.urlTree;\n      if (urlTree === null) {\n        return true;\n      }\n      if (this.isAnchorElement) {\n        if (button !== 0 || ctrlKey || shiftKey || altKey || metaKey) {\n          return true;\n        }\n        if (typeof this.target === 'string' && this.target != '_self') {\n          return true;\n        }\n      }\n      const extras = {\n        skipLocationChange: this.skipLocationChange,\n        replaceUrl: this.replaceUrl,\n        state: this.state,\n        info: this.info\n      };\n      this.router.navigateByUrl(urlTree, extras);\n      // Return `false` for `<a>` elements to prevent default action\n      // and cancel the native behavior, since the navigation is handled\n      // by the Router.\n      return !this.isAnchorElement;\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      this.subscription?.unsubscribe();\n    }\n    updateHref() {\n      const urlTree = this.urlTree;\n      this.href = urlTree !== null && this.locationStrategy ? this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(urlTree)) : null;\n      const sanitizedValue = this.href === null ? null :\n      // This class represents a directive that can be added to both `<a>` elements,\n      // as well as other elements. As a result, we can't define security context at\n      // compile time. So the security context is deferred to runtime.\n      // The `ɵɵsanitizeUrlOrResourceUrl` selects the necessary sanitizer function\n      // based on the tag and property names. The logic mimics the one from\n      // `packages/compiler/src/schema/dom_security_schema.ts`, which is used at compile time.\n      //\n      // Note: we should investigate whether we can switch to using `@HostBinding('attr.href')`\n      // instead of applying a value via a renderer, after a final merge of the\n      // `RouterLinkWithHref` directive.\n      __sanitizeUrlOrResourceUrl(this.href, this.el.nativeElement.tagName.toLowerCase(), 'href');\n      this.applyAttributeValue('href', sanitizedValue);\n    }\n    applyAttributeValue(attrName, attrValue) {\n      const renderer = this.renderer;\n      const nativeElement = this.el.nativeElement;\n      if (attrValue !== null) {\n        renderer.setAttribute(nativeElement, attrName, attrValue);\n      } else {\n        renderer.removeAttribute(nativeElement, attrName);\n      }\n    }\n    get urlTree() {\n      if (this.routerLinkInput === null) {\n        return null;\n      } else if (isUrlTree(this.routerLinkInput)) {\n        return this.routerLinkInput;\n      }\n      return this.router.createUrlTree(this.routerLinkInput, {\n        // If the `relativeTo` input is not defined, we want to use `this.route` by default.\n        // Otherwise, we should use the value provided by the user in the input.\n        relativeTo: this.relativeTo !== undefined ? this.relativeTo : this.route,\n        queryParams: this.queryParams,\n        fragment: this.fragment,\n        queryParamsHandling: this.queryParamsHandling,\n        preserveFragment: this.preserveFragment\n      });\n    }\n    static ɵfac = function RouterLink_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || RouterLink)(i0.ɵɵdirectiveInject(Router), i0.ɵɵdirectiveInject(ActivatedRoute), i0.ɵɵinjectAttribute('tabindex'), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i3.LocationStrategy));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: RouterLink,\n      selectors: [[\"\", \"routerLink\", \"\"]],\n      hostVars: 1,\n      hostBindings: function RouterLink_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"click\", function RouterLink_click_HostBindingHandler($event) {\n            return ctx.onClick($event.button, $event.ctrlKey, $event.shiftKey, $event.altKey, $event.metaKey);\n          });\n        }\n        if (rf & 2) {\n          i0.ɵɵattribute(\"target\", ctx.target);\n        }\n      },\n      inputs: {\n        target: \"target\",\n        queryParams: \"queryParams\",\n        fragment: \"fragment\",\n        queryParamsHandling: \"queryParamsHandling\",\n        state: \"state\",\n        info: \"info\",\n        relativeTo: \"relativeTo\",\n        preserveFragment: [2, \"preserveFragment\", \"preserveFragment\", booleanAttribute],\n        skipLocationChange: [2, \"skipLocationChange\", \"skipLocationChange\", booleanAttribute],\n        replaceUrl: [2, \"replaceUrl\", \"replaceUrl\", booleanAttribute],\n        routerLink: \"routerLink\"\n      },\n      features: [i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return RouterLink;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n *\n * @description\n *\n * Tracks whether the linked route of an element is currently active, and allows you\n * to specify one or more CSS classes to add to the element when the linked route\n * is active.\n *\n * Use this directive to create a visual distinction for elements associated with an active route.\n * For example, the following code highlights the word \"Bob\" when the router\n * activates the associated route:\n *\n * ```html\n * <a routerLink=\"/user/bob\" routerLinkActive=\"active-link\">Bob</a>\n * ```\n *\n * Whenever the URL is either '/user' or '/user/bob', the \"active-link\" class is\n * added to the anchor tag. If the URL changes, the class is removed.\n *\n * You can set more than one class using a space-separated string or an array.\n * For example:\n *\n * ```html\n * <a routerLink=\"/user/bob\" routerLinkActive=\"class1 class2\">Bob</a>\n * <a routerLink=\"/user/bob\" [routerLinkActive]=\"['class1', 'class2']\">Bob</a>\n * ```\n *\n * To add the classes only when the URL matches the link exactly, add the option `exact: true`:\n *\n * ```html\n * <a routerLink=\"/user/bob\" routerLinkActive=\"active-link\" [routerLinkActiveOptions]=\"{exact:\n * true}\">Bob</a>\n * ```\n *\n * To directly check the `isActive` status of the link, assign the `RouterLinkActive`\n * instance to a template variable.\n * For example, the following checks the status without assigning any CSS classes:\n *\n * ```html\n * <a routerLink=\"/user/bob\" routerLinkActive #rla=\"routerLinkActive\">\n *   Bob {{ rla.isActive ? '(already open)' : ''}}\n * </a>\n * ```\n *\n * You can apply the `RouterLinkActive` directive to an ancestor of linked elements.\n * For example, the following sets the active-link class on the `<div>`  parent tag\n * when the URL is either '/user/jim' or '/user/bob'.\n *\n * ```html\n * <div routerLinkActive=\"active-link\" [routerLinkActiveOptions]=\"{exact: true}\">\n *   <a routerLink=\"/user/jim\">Jim</a>\n *   <a routerLink=\"/user/bob\">Bob</a>\n * </div>\n * ```\n *\n * The `RouterLinkActive` directive can also be used to set the aria-current attribute\n * to provide an alternative distinction for active elements to visually impaired users.\n *\n * For example, the following code adds the 'active' class to the Home Page link when it is\n * indeed active and in such case also sets its aria-current attribute to 'page':\n *\n * ```html\n * <a routerLink=\"/\" routerLinkActive=\"active\" ariaCurrentWhenActive=\"page\">Home Page</a>\n * ```\n *\n * @ngModule RouterModule\n *\n * @publicApi\n */\nlet RouterLinkActive = /*#__PURE__*/(() => {\n  class RouterLinkActive {\n    router;\n    element;\n    renderer;\n    cdr;\n    link;\n    links;\n    classes = [];\n    routerEventsSubscription;\n    linkInputChangesSubscription;\n    _isActive = false;\n    get isActive() {\n      return this._isActive;\n    }\n    /**\n     * Options to configure how to determine if the router link is active.\n     *\n     * These options are passed to the `Router.isActive()` function.\n     *\n     * @see {@link Router#isActive}\n     */\n    routerLinkActiveOptions = {\n      exact: false\n    };\n    /**\n     * Aria-current attribute to apply when the router link is active.\n     *\n     * Possible values: `'page'` | `'step'` | `'location'` | `'date'` | `'time'` | `true` | `false`.\n     *\n     * @see {@link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current}\n     */\n    ariaCurrentWhenActive;\n    /**\n     *\n     * You can use the output `isActiveChange` to get notified each time the link becomes\n     * active or inactive.\n     *\n     * Emits:\n     * true  -> Route is active\n     * false -> Route is inactive\n     *\n     * ```html\n     * <a\n     *  routerLink=\"/user/bob\"\n     *  routerLinkActive=\"active-link\"\n     *  (isActiveChange)=\"this.onRouterLinkActive($event)\">Bob</a>\n     * ```\n     */\n    isActiveChange = new EventEmitter();\n    constructor(router, element, renderer, cdr, link) {\n      this.router = router;\n      this.element = element;\n      this.renderer = renderer;\n      this.cdr = cdr;\n      this.link = link;\n      this.routerEventsSubscription = router.events.subscribe(s => {\n        if (s instanceof NavigationEnd) {\n          this.update();\n        }\n      });\n    }\n    /** @docs-private */\n    ngAfterContentInit() {\n      // `of(null)` is used to force subscribe body to execute once immediately (like `startWith`).\n      of(this.links.changes, of(null)).pipe(mergeAll()).subscribe(_ => {\n        this.update();\n        this.subscribeToEachLinkOnChanges();\n      });\n    }\n    subscribeToEachLinkOnChanges() {\n      this.linkInputChangesSubscription?.unsubscribe();\n      const allLinkChanges = [...this.links.toArray(), this.link].filter(link => !!link).map(link => link.onChanges);\n      this.linkInputChangesSubscription = from(allLinkChanges).pipe(mergeAll()).subscribe(link => {\n        if (this._isActive !== this.isLinkActive(this.router)(link)) {\n          this.update();\n        }\n      });\n    }\n    set routerLinkActive(data) {\n      const classes = Array.isArray(data) ? data : data.split(' ');\n      this.classes = classes.filter(c => !!c);\n    }\n    /** @docs-private */\n    ngOnChanges(changes) {\n      this.update();\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      this.routerEventsSubscription.unsubscribe();\n      this.linkInputChangesSubscription?.unsubscribe();\n    }\n    update() {\n      if (!this.links || !this.router.navigated) return;\n      queueMicrotask(() => {\n        const hasActiveLinks = this.hasActiveLinks();\n        this.classes.forEach(c => {\n          if (hasActiveLinks) {\n            this.renderer.addClass(this.element.nativeElement, c);\n          } else {\n            this.renderer.removeClass(this.element.nativeElement, c);\n          }\n        });\n        if (hasActiveLinks && this.ariaCurrentWhenActive !== undefined) {\n          this.renderer.setAttribute(this.element.nativeElement, 'aria-current', this.ariaCurrentWhenActive.toString());\n        } else {\n          this.renderer.removeAttribute(this.element.nativeElement, 'aria-current');\n        }\n        // Only emit change if the active state changed.\n        if (this._isActive !== hasActiveLinks) {\n          this._isActive = hasActiveLinks;\n          this.cdr.markForCheck();\n          // Emit on isActiveChange after classes are updated\n          this.isActiveChange.emit(hasActiveLinks);\n        }\n      });\n    }\n    isLinkActive(router) {\n      const options = isActiveMatchOptions(this.routerLinkActiveOptions) ? this.routerLinkActiveOptions :\n      // While the types should disallow `undefined` here, it's possible without strict inputs\n      this.routerLinkActiveOptions.exact || false;\n      return link => {\n        const urlTree = link.urlTree;\n        return urlTree ? router.isActive(urlTree, options) : false;\n      };\n    }\n    hasActiveLinks() {\n      const isActiveCheckFn = this.isLinkActive(this.router);\n      return this.link && isActiveCheckFn(this.link) || this.links.some(isActiveCheckFn);\n    }\n    static ɵfac = function RouterLinkActive_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || RouterLinkActive)(i0.ɵɵdirectiveInject(Router), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(RouterLink, 8));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: RouterLinkActive,\n      selectors: [[\"\", \"routerLinkActive\", \"\"]],\n      contentQueries: function RouterLinkActive_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, RouterLink, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.links = _t);\n        }\n      },\n      inputs: {\n        routerLinkActiveOptions: \"routerLinkActiveOptions\",\n        ariaCurrentWhenActive: \"ariaCurrentWhenActive\",\n        routerLinkActive: \"routerLinkActive\"\n      },\n      outputs: {\n        isActiveChange: \"isActiveChange\"\n      },\n      exportAs: [\"routerLinkActive\"],\n      features: [i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return RouterLinkActive;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Use instead of `'paths' in options` to be compatible with property renaming\n */\nfunction isActiveMatchOptions(options) {\n  return !!options.paths;\n}\n\n/**\n * @description\n *\n * Provides a preloading strategy.\n *\n * @publicApi\n */\nclass PreloadingStrategy {}\n/**\n * @description\n *\n * Provides a preloading strategy that preloads all modules as quickly as possible.\n *\n * ```ts\n * RouterModule.forRoot(ROUTES, {preloadingStrategy: PreloadAllModules})\n * ```\n *\n * @publicApi\n */\nlet PreloadAllModules = /*#__PURE__*/(() => {\n  class PreloadAllModules {\n    preload(route, fn) {\n      return fn().pipe(catchError(() => of(null)));\n    }\n    static ɵfac = function PreloadAllModules_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || PreloadAllModules)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: PreloadAllModules,\n      factory: PreloadAllModules.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return PreloadAllModules;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n *\n * Provides a preloading strategy that does not preload any modules.\n *\n * This strategy is enabled by default.\n *\n * @publicApi\n */\nlet NoPreloading = /*#__PURE__*/(() => {\n  class NoPreloading {\n    preload(route, fn) {\n      return of(null);\n    }\n    static ɵfac = function NoPreloading_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NoPreloading)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: NoPreloading,\n      factory: NoPreloading.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return NoPreloading;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * The preloader optimistically loads all router configurations to\n * make navigations into lazily-loaded sections of the application faster.\n *\n * The preloader runs in the background. When the router bootstraps, the preloader\n * starts listening to all navigation events. After every such event, the preloader\n * will check if any configurations can be loaded lazily.\n *\n * If a route is protected by `canLoad` guards, the preloaded will not load it.\n *\n * @publicApi\n */\nlet RouterPreloader = /*#__PURE__*/(() => {\n  class RouterPreloader {\n    router;\n    injector;\n    preloadingStrategy;\n    loader;\n    subscription;\n    constructor(router, injector, preloadingStrategy, loader) {\n      this.router = router;\n      this.injector = injector;\n      this.preloadingStrategy = preloadingStrategy;\n      this.loader = loader;\n    }\n    setUpPreloading() {\n      this.subscription = this.router.events.pipe(filter(e => e instanceof NavigationEnd), concatMap(() => this.preload())).subscribe(() => {});\n    }\n    preload() {\n      return this.processRoutes(this.injector, this.router.config);\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      if (this.subscription) {\n        this.subscription.unsubscribe();\n      }\n    }\n    processRoutes(injector, routes) {\n      const res = [];\n      for (const route of routes) {\n        if (route.providers && !route._injector) {\n          route._injector = createEnvironmentInjector(route.providers, injector, `Route: ${route.path}`);\n        }\n        const injectorForCurrentRoute = route._injector ?? injector;\n        const injectorForChildren = route._loadedInjector ?? injectorForCurrentRoute;\n        // Note that `canLoad` is only checked as a condition that prevents `loadChildren` and not\n        // `loadComponent`. `canLoad` guards only block loading of child routes by design. This\n        // happens as a consequence of needing to descend into children for route matching immediately\n        // while component loading is deferred until route activation. Because `canLoad` guards can\n        // have side effects, we cannot execute them here so we instead skip preloading altogether\n        // when present. Lastly, it remains to be decided whether `canLoad` should behave this way\n        // at all. Code splitting and lazy loading is separate from client-side authorization checks\n        // and should not be used as a security measure to prevent loading of code.\n        if (route.loadChildren && !route._loadedRoutes && route.canLoad === undefined || route.loadComponent && !route._loadedComponent) {\n          res.push(this.preloadConfig(injectorForCurrentRoute, route));\n        }\n        if (route.children || route._loadedRoutes) {\n          res.push(this.processRoutes(injectorForChildren, route.children ?? route._loadedRoutes));\n        }\n      }\n      return from(res).pipe(mergeAll());\n    }\n    preloadConfig(injector, route) {\n      return this.preloadingStrategy.preload(route, () => {\n        let loadedChildren$;\n        if (route.loadChildren && route.canLoad === undefined) {\n          loadedChildren$ = this.loader.loadChildren(injector, route);\n        } else {\n          loadedChildren$ = of(null);\n        }\n        const recursiveLoadChildren$ = loadedChildren$.pipe(mergeMap(config => {\n          if (config === null) {\n            return of(void 0);\n          }\n          route._loadedRoutes = config.routes;\n          route._loadedInjector = config.injector;\n          // If the loaded config was a module, use that as the module/module injector going\n          // forward. Otherwise, continue using the current module/module injector.\n          return this.processRoutes(config.injector ?? injector, config.routes);\n        }));\n        if (route.loadComponent && !route._loadedComponent) {\n          const loadComponent$ = this.loader.loadComponent(route);\n          return from([recursiveLoadChildren$, loadComponent$]).pipe(mergeAll());\n        } else {\n          return recursiveLoadChildren$;\n        }\n      });\n    }\n    static ɵfac = function RouterPreloader_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || RouterPreloader)(i0.ɵɵinject(Router), i0.ɵɵinject(i0.EnvironmentInjector), i0.ɵɵinject(PreloadingStrategy), i0.ɵɵinject(RouterConfigLoader));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: RouterPreloader,\n      factory: RouterPreloader.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return RouterPreloader;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst ROUTER_SCROLLER = /*#__PURE__*/new InjectionToken('');\nlet RouterScroller = /*#__PURE__*/(() => {\n  class RouterScroller {\n    urlSerializer;\n    transitions;\n    viewportScroller;\n    zone;\n    options;\n    routerEventsSubscription;\n    scrollEventsSubscription;\n    lastId = 0;\n    lastSource = 'imperative';\n    restoredId = 0;\n    store = {};\n    /** @docs-private */\n    constructor(urlSerializer, transitions, viewportScroller, zone, options = {}) {\n      this.urlSerializer = urlSerializer;\n      this.transitions = transitions;\n      this.viewportScroller = viewportScroller;\n      this.zone = zone;\n      this.options = options;\n      // Default both options to 'disabled'\n      options.scrollPositionRestoration ||= 'disabled';\n      options.anchorScrolling ||= 'disabled';\n    }\n    init() {\n      // we want to disable the automatic scrolling because having two places\n      // responsible for scrolling results race conditions, especially given\n      // that browser don't implement this behavior consistently\n      if (this.options.scrollPositionRestoration !== 'disabled') {\n        this.viewportScroller.setHistoryScrollRestoration('manual');\n      }\n      this.routerEventsSubscription = this.createScrollEvents();\n      this.scrollEventsSubscription = this.consumeScrollEvents();\n    }\n    createScrollEvents() {\n      return this.transitions.events.subscribe(e => {\n        if (e instanceof NavigationStart) {\n          // store the scroll position of the current stable navigations.\n          this.store[this.lastId] = this.viewportScroller.getScrollPosition();\n          this.lastSource = e.navigationTrigger;\n          this.restoredId = e.restoredState ? e.restoredState.navigationId : 0;\n        } else if (e instanceof NavigationEnd) {\n          this.lastId = e.id;\n          this.scheduleScrollEvent(e, this.urlSerializer.parse(e.urlAfterRedirects).fragment);\n        } else if (e instanceof NavigationSkipped && e.code === NavigationSkippedCode.IgnoredSameUrlNavigation) {\n          this.lastSource = undefined;\n          this.restoredId = 0;\n          this.scheduleScrollEvent(e, this.urlSerializer.parse(e.url).fragment);\n        }\n      });\n    }\n    consumeScrollEvents() {\n      return this.transitions.events.subscribe(e => {\n        if (!(e instanceof Scroll)) return;\n        // a popstate event. The pop state event will always ignore anchor scrolling.\n        if (e.position) {\n          if (this.options.scrollPositionRestoration === 'top') {\n            this.viewportScroller.scrollToPosition([0, 0]);\n          } else if (this.options.scrollPositionRestoration === 'enabled') {\n            this.viewportScroller.scrollToPosition(e.position);\n          }\n          // imperative navigation \"forward\"\n        } else {\n          if (e.anchor && this.options.anchorScrolling === 'enabled') {\n            this.viewportScroller.scrollToAnchor(e.anchor);\n          } else if (this.options.scrollPositionRestoration !== 'disabled') {\n            this.viewportScroller.scrollToPosition([0, 0]);\n          }\n        }\n      });\n    }\n    scheduleScrollEvent(routerEvent, anchor) {\n      this.zone.runOutsideAngular(() => {\n        // The scroll event needs to be delayed until after change detection. Otherwise, we may\n        // attempt to restore the scroll position before the router outlet has fully rendered the\n        // component by executing its update block of the template function.\n        setTimeout(() => {\n          this.zone.run(() => {\n            this.transitions.events.next(new Scroll(routerEvent, this.lastSource === 'popstate' ? this.store[this.restoredId] : null, anchor));\n          });\n        }, 0);\n      });\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      this.routerEventsSubscription?.unsubscribe();\n      this.scrollEventsSubscription?.unsubscribe();\n    }\n    static ɵfac = function RouterScroller_Factory(__ngFactoryType__) {\n      i0.ɵɵinvalidFactory();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: RouterScroller,\n      factory: RouterScroller.ɵfac\n    });\n  }\n  return RouterScroller;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Sets up providers necessary to enable `Router` functionality for the application.\n * Allows to configure a set of routes as well as extra features that should be enabled.\n *\n * @usageNotes\n *\n * Basic example of how you can add a Router to your application:\n * ```ts\n * const appRoutes: Routes = [];\n * bootstrapApplication(AppComponent, {\n *   providers: [provideRouter(appRoutes)]\n * });\n * ```\n *\n * You can also enable optional features in the Router by adding functions from the `RouterFeatures`\n * type:\n * ```ts\n * const appRoutes: Routes = [];\n * bootstrapApplication(AppComponent,\n *   {\n *     providers: [\n *       provideRouter(appRoutes,\n *         withDebugTracing(),\n *         withRouterConfig({paramsInheritanceStrategy: 'always'}))\n *     ]\n *   }\n * );\n * ```\n *\n * @see {@link RouterFeatures}\n *\n * @publicApi\n * @param routes A set of `Route`s to use for the application routing table.\n * @param features Optional features to configure additional router behaviors.\n * @returns A set of providers to setup a Router.\n */\nfunction provideRouter(routes, ...features) {\n  return makeEnvironmentProviders([{\n    provide: ROUTES,\n    multi: true,\n    useValue: routes\n  }, typeof ngDevMode === 'undefined' || ngDevMode ? {\n    provide: ROUTER_IS_PROVIDED,\n    useValue: true\n  } : [], {\n    provide: ActivatedRoute,\n    useFactory: rootRoute,\n    deps: [Router]\n  }, {\n    provide: APP_BOOTSTRAP_LISTENER,\n    multi: true,\n    useFactory: getBootstrapListener\n  }, features.map(feature => feature.ɵproviders)]);\n}\nfunction rootRoute(router) {\n  return router.routerState.root;\n}\n/**\n * Helper function to create an object that represents a Router feature.\n */\nfunction routerFeature(kind, providers) {\n  return {\n    ɵkind: kind,\n    ɵproviders: providers\n  };\n}\n/**\n * An Injection token used to indicate whether `provideRouter` or `RouterModule.forRoot` was ever\n * called.\n */\nconst ROUTER_IS_PROVIDED = /*#__PURE__*/new InjectionToken('', {\n  providedIn: 'root',\n  factory: () => false\n});\nconst routerIsProvidedDevModeCheck = {\n  provide: ENVIRONMENT_INITIALIZER,\n  multi: true,\n  useFactory() {\n    return () => {\n      if (!inject(ROUTER_IS_PROVIDED)) {\n        console.warn('`provideRoutes` was called without `provideRouter` or `RouterModule.forRoot`. ' + 'This is likely a mistake.');\n      }\n    };\n  }\n};\n/**\n * Registers a DI provider for a set of routes.\n * @param routes The route configuration to provide.\n *\n * @usageNotes\n *\n * ```ts\n * @NgModule({\n *   providers: [provideRoutes(ROUTES)]\n * })\n * class LazyLoadedChildModule {}\n * ```\n *\n * @deprecated If necessary, provide routes using the `ROUTES` `InjectionToken`.\n * @see {@link ROUTES}\n * @publicApi\n */\nfunction provideRoutes(routes) {\n  return [{\n    provide: ROUTES,\n    multi: true,\n    useValue: routes\n  }, typeof ngDevMode === 'undefined' || ngDevMode ? routerIsProvidedDevModeCheck : []];\n}\n/**\n * Enables customizable scrolling behavior for router navigations.\n *\n * @usageNotes\n *\n * Basic example of how you can enable scrolling feature:\n * ```ts\n * const appRoutes: Routes = [];\n * bootstrapApplication(AppComponent,\n *   {\n *     providers: [\n *       provideRouter(appRoutes, withInMemoryScrolling())\n *     ]\n *   }\n * );\n * ```\n *\n * @see {@link provideRouter}\n * @see {@link ViewportScroller}\n *\n * @publicApi\n * @param options Set of configuration parameters to customize scrolling behavior, see\n *     `InMemoryScrollingOptions` for additional information.\n * @returns A set of providers for use with `provideRouter`.\n */\nfunction withInMemoryScrolling(options = {}) {\n  const providers = [{\n    provide: ROUTER_SCROLLER,\n    useFactory: () => {\n      const viewportScroller = inject(ViewportScroller);\n      const zone = inject(NgZone);\n      const transitions = inject(NavigationTransitions);\n      const urlSerializer = inject(UrlSerializer);\n      return new RouterScroller(urlSerializer, transitions, viewportScroller, zone, options);\n    }\n  }];\n  return routerFeature(4 /* RouterFeatureKind.InMemoryScrollingFeature */, providers);\n}\nfunction getBootstrapListener() {\n  const injector = inject(Injector);\n  return bootstrappedComponentRef => {\n    const ref = injector.get(ApplicationRef);\n    if (bootstrappedComponentRef !== ref.components[0]) {\n      return;\n    }\n    const router = injector.get(Router);\n    const bootstrapDone = injector.get(BOOTSTRAP_DONE);\n    if (injector.get(INITIAL_NAVIGATION) === 1 /* InitialNavigation.EnabledNonBlocking */) {\n      router.initialNavigation();\n    }\n    injector.get(ROUTER_PRELOADER, null, InjectFlags.Optional)?.setUpPreloading();\n    injector.get(ROUTER_SCROLLER, null, InjectFlags.Optional)?.init();\n    router.resetRootComponentType(ref.componentTypes[0]);\n    if (!bootstrapDone.closed) {\n      bootstrapDone.next();\n      bootstrapDone.complete();\n      bootstrapDone.unsubscribe();\n    }\n  };\n}\n/**\n * A subject used to indicate that the bootstrapping phase is done. When initial navigation is\n * `enabledBlocking`, the first navigation waits until bootstrapping is finished before continuing\n * to the activation phase.\n */\nconst BOOTSTRAP_DONE = /*#__PURE__*/new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'bootstrap done indicator' : '', {\n  factory: () => {\n    return new Subject();\n  }\n});\nconst INITIAL_NAVIGATION = /*#__PURE__*/new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'initial navigation' : '', {\n  providedIn: 'root',\n  factory: () => 1 /* InitialNavigation.EnabledNonBlocking */\n});\n/**\n * Configures initial navigation to start before the root component is created.\n *\n * The bootstrap is blocked until the initial navigation is complete. This should be set in case\n * you use [server-side rendering](guide/ssr), but do not enable [hydration](guide/hydration) for\n * your application.\n *\n * @usageNotes\n *\n * Basic example of how you can enable this navigation behavior:\n * ```ts\n * const appRoutes: Routes = [];\n * bootstrapApplication(AppComponent,\n *   {\n *     providers: [\n *       provideRouter(appRoutes, withEnabledBlockingInitialNavigation())\n *     ]\n *   }\n * );\n * ```\n *\n * @see {@link provideRouter}\n *\n * @publicApi\n * @returns A set of providers for use with `provideRouter`.\n */\nfunction withEnabledBlockingInitialNavigation() {\n  const providers = [{\n    provide: INITIAL_NAVIGATION,\n    useValue: 0 /* InitialNavigation.EnabledBlocking */\n  }, provideAppInitializer(() => {\n    const injector = inject(Injector);\n    const locationInitialized = injector.get(LOCATION_INITIALIZED, Promise.resolve());\n    return locationInitialized.then(() => {\n      return new Promise(resolve => {\n        const router = injector.get(Router);\n        const bootstrapDone = injector.get(BOOTSTRAP_DONE);\n        afterNextNavigation(router, () => {\n          // Unblock APP_INITIALIZER in case the initial navigation was canceled or errored\n          // without a redirect.\n          resolve(true);\n        });\n        injector.get(NavigationTransitions).afterPreactivation = () => {\n          // Unblock APP_INITIALIZER once we get to `afterPreactivation`. At this point, we\n          // assume activation will complete successfully (even though this is not\n          // guaranteed).\n          resolve(true);\n          return bootstrapDone.closed ? of(void 0) : bootstrapDone;\n        };\n        router.initialNavigation();\n      });\n    });\n  })];\n  return routerFeature(2 /* RouterFeatureKind.EnabledBlockingInitialNavigationFeature */, providers);\n}\n/**\n * Disables initial navigation.\n *\n * Use if there is a reason to have more control over when the router starts its initial navigation\n * due to some complex initialization logic.\n *\n * @usageNotes\n *\n * Basic example of how you can disable initial navigation:\n * ```ts\n * const appRoutes: Routes = [];\n * bootstrapApplication(AppComponent,\n *   {\n *     providers: [\n *       provideRouter(appRoutes, withDisabledInitialNavigation())\n *     ]\n *   }\n * );\n * ```\n *\n * @see {@link provideRouter}\n *\n * @returns A set of providers for use with `provideRouter`.\n *\n * @publicApi\n */\nfunction withDisabledInitialNavigation() {\n  const providers = [provideAppInitializer(() => {\n    inject(Router).setUpLocationChangeListener();\n  }), {\n    provide: INITIAL_NAVIGATION,\n    useValue: 2 /* InitialNavigation.Disabled */\n  }];\n  return routerFeature(3 /* RouterFeatureKind.DisabledInitialNavigationFeature */, providers);\n}\n/**\n * Enables logging of all internal navigation events to the console.\n * Extra logging might be useful for debugging purposes to inspect Router event sequence.\n *\n * @usageNotes\n *\n * Basic example of how you can enable debug tracing:\n * ```ts\n * const appRoutes: Routes = [];\n * bootstrapApplication(AppComponent,\n *   {\n *     providers: [\n *       provideRouter(appRoutes, withDebugTracing())\n *     ]\n *   }\n * );\n * ```\n *\n * @see {@link provideRouter}\n *\n * @returns A set of providers for use with `provideRouter`.\n *\n * @publicApi\n */\nfunction withDebugTracing() {\n  let providers = [];\n  if (typeof ngDevMode === 'undefined' || ngDevMode) {\n    providers = [{\n      provide: ENVIRONMENT_INITIALIZER,\n      multi: true,\n      useFactory: () => {\n        const router = inject(Router);\n        return () => router.events.subscribe(e => {\n          // tslint:disable:no-console\n          console.group?.(`Router Event: ${e.constructor.name}`);\n          console.log(stringifyEvent(e));\n          console.log(e);\n          console.groupEnd?.();\n          // tslint:enable:no-console\n        });\n      }\n    }];\n  } else {\n    providers = [];\n  }\n  return routerFeature(1 /* RouterFeatureKind.DebugTracingFeature */, providers);\n}\nconst ROUTER_PRELOADER = /*#__PURE__*/new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'router preloader' : '');\n/**\n * Allows to configure a preloading strategy to use. The strategy is configured by providing a\n * reference to a class that implements a `PreloadingStrategy`.\n *\n * @usageNotes\n *\n * Basic example of how you can configure preloading:\n * ```ts\n * const appRoutes: Routes = [];\n * bootstrapApplication(AppComponent,\n *   {\n *     providers: [\n *       provideRouter(appRoutes, withPreloading(PreloadAllModules))\n *     ]\n *   }\n * );\n * ```\n *\n * @see {@link provideRouter}\n *\n * @param preloadingStrategy A reference to a class that implements a `PreloadingStrategy` that\n *     should be used.\n * @returns A set of providers for use with `provideRouter`.\n *\n * @publicApi\n */\nfunction withPreloading(preloadingStrategy) {\n  const providers = [{\n    provide: ROUTER_PRELOADER,\n    useExisting: RouterPreloader\n  }, {\n    provide: PreloadingStrategy,\n    useExisting: preloadingStrategy\n  }];\n  return routerFeature(0 /* RouterFeatureKind.PreloadingFeature */, providers);\n}\n/**\n * Allows to provide extra parameters to configure Router.\n *\n * @usageNotes\n *\n * Basic example of how you can provide extra configuration options:\n * ```ts\n * const appRoutes: Routes = [];\n * bootstrapApplication(AppComponent,\n *   {\n *     providers: [\n *       provideRouter(appRoutes, withRouterConfig({\n *          onSameUrlNavigation: 'reload'\n *       }))\n *     ]\n *   }\n * );\n * ```\n *\n * @see {@link provideRouter}\n *\n * @param options A set of parameters to configure Router, see `RouterConfigOptions` for\n *     additional information.\n * @returns A set of providers for use with `provideRouter`.\n *\n * @publicApi\n */\nfunction withRouterConfig(options) {\n  const providers = [{\n    provide: ROUTER_CONFIGURATION,\n    useValue: options\n  }];\n  return routerFeature(5 /* RouterFeatureKind.RouterConfigurationFeature */, providers);\n}\n/**\n * Provides the location strategy that uses the URL fragment instead of the history API.\n *\n * @usageNotes\n *\n * Basic example of how you can use the hash location option:\n * ```ts\n * const appRoutes: Routes = [];\n * bootstrapApplication(AppComponent,\n *   {\n *     providers: [\n *       provideRouter(appRoutes, withHashLocation())\n *     ]\n *   }\n * );\n * ```\n *\n * @see {@link provideRouter}\n * @see {@link /api/common/HashLocationStrategy HashLocationStrategy}\n *\n * @returns A set of providers for use with `provideRouter`.\n *\n * @publicApi\n */\nfunction withHashLocation() {\n  const providers = [{\n    provide: LocationStrategy,\n    useClass: HashLocationStrategy\n  }];\n  return routerFeature(6 /* RouterFeatureKind.RouterHashLocationFeature */, providers);\n}\n/**\n * Provides a function which is called when a navigation error occurs.\n *\n * This function is run inside application's [injection context](guide/di/dependency-injection-context)\n * so you can use the [`inject`](api/core/inject) function.\n *\n * This function can return a `RedirectCommand` to convert the error to a redirect, similar to returning\n * a `UrlTree` or `RedirectCommand` from a guard. This will also prevent the `Router` from emitting\n * `NavigationError`; it will instead emit `NavigationCancel` with code NavigationCancellationCode.Redirect.\n * Return values other than `RedirectCommand` are ignored and do not change any behavior with respect to\n * how the `Router` handles the error.\n *\n * @usageNotes\n *\n * Basic example of how you can use the error handler option:\n * ```ts\n * const appRoutes: Routes = [];\n * bootstrapApplication(AppComponent,\n *   {\n *     providers: [\n *       provideRouter(appRoutes, withNavigationErrorHandler((e: NavigationError) =>\n * inject(MyErrorTracker).trackError(e)))\n *     ]\n *   }\n * );\n * ```\n *\n * @see {@link NavigationError}\n * @see {@link /api/core/inject inject}\n * @see {@link runInInjectionContext}\n *\n * @returns A set of providers for use with `provideRouter`.\n *\n * @publicApi\n */\nfunction withNavigationErrorHandler(handler) {\n  const providers = [{\n    provide: NAVIGATION_ERROR_HANDLER,\n    useValue: handler\n  }];\n  return routerFeature(7 /* RouterFeatureKind.NavigationErrorHandlerFeature */, providers);\n}\n/**\n * Enables binding information from the `Router` state directly to the inputs of the component in\n * `Route` configurations.\n *\n * @usageNotes\n *\n * Basic example of how you can enable the feature:\n * ```ts\n * const appRoutes: Routes = [];\n * bootstrapApplication(AppComponent,\n *   {\n *     providers: [\n *       provideRouter(appRoutes, withComponentInputBinding())\n *     ]\n *   }\n * );\n * ```\n *\n * The router bindings information from any of the following sources:\n *\n *  - query parameters\n *  - path and matrix parameters\n *  - static route data\n *  - data from resolvers\n *\n * Duplicate keys are resolved in the same order from above, from least to greatest,\n * meaning that resolvers have the highest precedence and override any of the other information\n * from the route.\n *\n * Importantly, when an input does not have an item in the route data with a matching key, this\n * input is set to `undefined`. This prevents previous information from being\n * retained if the data got removed from the route (i.e. if a query parameter is removed).\n * Default values can be provided with a resolver on the route to ensure the value is always present\n * or an input and use an input transform in the component.\n *\n * @see {@link /guide/components/inputs#input-transforms Input Transforms}\n * @returns A set of providers for use with `provideRouter`.\n */\nfunction withComponentInputBinding() {\n  const providers = [RoutedComponentInputBinder, {\n    provide: INPUT_BINDER,\n    useExisting: RoutedComponentInputBinder\n  }];\n  return routerFeature(8 /* RouterFeatureKind.ComponentInputBindingFeature */, providers);\n}\n/**\n * Enables view transitions in the Router by running the route activation and deactivation inside of\n * `document.startViewTransition`.\n *\n * Note: The View Transitions API is not available in all browsers. If the browser does not support\n * view transitions, the Router will not attempt to start a view transition and continue processing\n * the navigation as usual.\n *\n * @usageNotes\n *\n * Basic example of how you can enable the feature:\n * ```ts\n * const appRoutes: Routes = [];\n * bootstrapApplication(AppComponent,\n *   {\n *     providers: [\n *       provideRouter(appRoutes, withViewTransitions())\n *     ]\n *   }\n * );\n * ```\n *\n * @returns A set of providers for use with `provideRouter`.\n * @see https://developer.chrome.com/docs/web-platform/view-transitions/\n * @see https://developer.mozilla.org/en-US/docs/Web/API/View_Transitions_API\n * @developerPreview\n */\nfunction withViewTransitions(options) {\n  _performanceMarkFeature('NgRouterViewTransitions');\n  const providers = [{\n    provide: CREATE_VIEW_TRANSITION,\n    useValue: createViewTransition\n  }, {\n    provide: VIEW_TRANSITION_OPTIONS,\n    useValue: {\n      skipNextTransition: !!options?.skipInitialTransition,\n      ...options\n    }\n  }];\n  return routerFeature(9 /* RouterFeatureKind.ViewTransitionsFeature */, providers);\n}\n\n/**\n * The directives defined in the `RouterModule`.\n */\nconst ROUTER_DIRECTIVES = [RouterOutlet, RouterLink, RouterLinkActive, _EmptyOutletComponent];\n/**\n * @docsNotRequired\n */\nconst ROUTER_FORROOT_GUARD = /*#__PURE__*/new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'router duplicate forRoot guard' : '');\n// TODO(atscott): All of these except `ActivatedRoute` are `providedIn: 'root'`. They are only kept\n// here to avoid a breaking change whereby the provider order matters based on where the\n// `RouterModule`/`RouterTestingModule` is imported. These can/should be removed as a \"breaking\"\n// change in a major version.\nconst ROUTER_PROVIDERS = [Location, {\n  provide: UrlSerializer,\n  useClass: DefaultUrlSerializer\n}, Router, ChildrenOutletContexts, {\n  provide: ActivatedRoute,\n  useFactory: rootRoute,\n  deps: [Router]\n}, RouterConfigLoader,\n// Only used to warn when `provideRoutes` is used without `RouterModule` or `provideRouter`. Can\n// be removed when `provideRoutes` is removed.\ntypeof ngDevMode === 'undefined' || ngDevMode ? {\n  provide: ROUTER_IS_PROVIDED,\n  useValue: true\n} : []];\n/**\n * @description\n *\n * Adds directives and providers for in-app navigation among views defined in an application.\n * Use the Angular `Router` service to declaratively specify application states and manage state\n * transitions.\n *\n * You can import this NgModule multiple times, once for each lazy-loaded bundle.\n * However, only one `Router` service can be active.\n * To ensure this, there are two ways to register routes when importing this module:\n *\n * * The `forRoot()` method creates an `NgModule` that contains all the directives, the given\n * routes, and the `Router` service itself.\n * * The `forChild()` method creates an `NgModule` that contains all the directives and the given\n * routes, but does not include the `Router` service.\n *\n * @see [Routing and Navigation guide](guide/routing/common-router-tasks) for an\n * overview of how the `Router` service should be used.\n *\n * @publicApi\n */\nlet RouterModule = /*#__PURE__*/(() => {\n  class RouterModule {\n    constructor() {\n      if (typeof ngDevMode === 'undefined' || ngDevMode) {\n        inject(ROUTER_FORROOT_GUARD, {\n          optional: true\n        });\n      }\n    }\n    /**\n     * Creates and configures a module with all the router providers and directives.\n     * Optionally sets up an application listener to perform an initial navigation.\n     *\n     * When registering the NgModule at the root, import as follows:\n     *\n     * ```ts\n     * @NgModule({\n     *   imports: [RouterModule.forRoot(ROUTES)]\n     * })\n     * class MyNgModule {}\n     * ```\n     *\n     * @param routes An array of `Route` objects that define the navigation paths for the application.\n     * @param config An `ExtraOptions` configuration object that controls how navigation is performed.\n     * @return The new `NgModule`.\n     *\n     */\n    static forRoot(routes, config) {\n      return {\n        ngModule: RouterModule,\n        providers: [ROUTER_PROVIDERS, typeof ngDevMode === 'undefined' || ngDevMode ? config?.enableTracing ? withDebugTracing().ɵproviders : [] : [], {\n          provide: ROUTES,\n          multi: true,\n          useValue: routes\n        }, typeof ngDevMode === 'undefined' || ngDevMode ? {\n          provide: ROUTER_FORROOT_GUARD,\n          useFactory: provideForRootGuard,\n          deps: [[Router, new Optional(), new SkipSelf()]]\n        } : [], config?.errorHandler ? {\n          provide: NAVIGATION_ERROR_HANDLER,\n          useValue: config.errorHandler\n        } : [], {\n          provide: ROUTER_CONFIGURATION,\n          useValue: config ? config : {}\n        }, config?.useHash ? provideHashLocationStrategy() : providePathLocationStrategy(), provideRouterScroller(), config?.preloadingStrategy ? withPreloading(config.preloadingStrategy).ɵproviders : [], config?.initialNavigation ? provideInitialNavigation(config) : [], config?.bindToComponentInputs ? withComponentInputBinding().ɵproviders : [], config?.enableViewTransitions ? withViewTransitions().ɵproviders : [], provideRouterInitializer()]\n      };\n    }\n    /**\n     * Creates a module with all the router directives and a provider registering routes,\n     * without creating a new Router service.\n     * When registering for submodules and lazy-loaded submodules, create the NgModule as follows:\n     *\n     * ```ts\n     * @NgModule({\n     *   imports: [RouterModule.forChild(ROUTES)]\n     * })\n     * class MyNgModule {}\n     * ```\n     *\n     * @param routes An array of `Route` objects that define the navigation paths for the submodule.\n     * @return The new NgModule.\n     *\n     */\n    static forChild(routes) {\n      return {\n        ngModule: RouterModule,\n        providers: [{\n          provide: ROUTES,\n          multi: true,\n          useValue: routes\n        }]\n      };\n    }\n    static ɵfac = function RouterModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || RouterModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: RouterModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n  }\n  return RouterModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * For internal use by `RouterModule` only. Note that this differs from `withInMemoryRouterScroller`\n * because it reads from the `ExtraOptions` which should not be used in the standalone world.\n */\nfunction provideRouterScroller() {\n  return {\n    provide: ROUTER_SCROLLER,\n    useFactory: () => {\n      const viewportScroller = inject(ViewportScroller);\n      const zone = inject(NgZone);\n      const config = inject(ROUTER_CONFIGURATION);\n      const transitions = inject(NavigationTransitions);\n      const urlSerializer = inject(UrlSerializer);\n      if (config.scrollOffset) {\n        viewportScroller.setOffset(config.scrollOffset);\n      }\n      return new RouterScroller(urlSerializer, transitions, viewportScroller, zone, config);\n    }\n  };\n}\n// Note: For internal use only with `RouterModule`. Standalone setup via `provideRouter` should\n// provide hash location directly via `{provide: LocationStrategy, useClass: HashLocationStrategy}`.\nfunction provideHashLocationStrategy() {\n  return {\n    provide: LocationStrategy,\n    useClass: HashLocationStrategy\n  };\n}\n// Note: For internal use only with `RouterModule`. Standalone setup via `provideRouter` does not\n// need this at all because `PathLocationStrategy` is the default factory for `LocationStrategy`.\nfunction providePathLocationStrategy() {\n  return {\n    provide: LocationStrategy,\n    useClass: PathLocationStrategy\n  };\n}\nfunction provideForRootGuard(router) {\n  if (router) {\n    throw new _RuntimeError(4007 /* RuntimeErrorCode.FOR_ROOT_CALLED_TWICE */, `The Router was provided more than once. This can happen if 'forRoot' is used outside of the root injector.` + ` Lazy loaded modules should use RouterModule.forChild() instead.`);\n  }\n  return 'guarded';\n}\n// Note: For internal use only with `RouterModule`. Standalone router setup with `provideRouter`\n// users call `withXInitialNavigation` directly.\nfunction provideInitialNavigation(config) {\n  return [config.initialNavigation === 'disabled' ? withDisabledInitialNavigation().ɵproviders : [], config.initialNavigation === 'enabledBlocking' ? withEnabledBlockingInitialNavigation().ɵproviders : []];\n}\n// TODO(atscott): This should not be in the public API\n/**\n * A DI token for the router initializer that\n * is called after the app is bootstrapped.\n *\n * @publicApi\n */\nconst ROUTER_INITIALIZER = /*#__PURE__*/new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'Router Initializer' : '');\nfunction provideRouterInitializer() {\n  return [\n  // ROUTER_INITIALIZER token should be removed. It's public API but shouldn't be. We can just\n  // have `getBootstrapListener` directly attached to APP_BOOTSTRAP_LISTENER.\n  {\n    provide: ROUTER_INITIALIZER,\n    useFactory: getBootstrapListener\n  }, {\n    provide: APP_BOOTSTRAP_LISTENER,\n    multi: true,\n    useExisting: ROUTER_INITIALIZER\n  }];\n}\nexport { NoPreloading, PreloadAllModules, PreloadingStrategy, ROUTER_INITIALIZER, ROUTER_PROVIDERS, RouterLink, RouterLinkActive, RouterModule, RouterPreloader, provideRouter, provideRoutes, withComponentInputBinding, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withHashLocation, withInMemoryScrolling, withNavigationErrorHandler, withPreloading, withRouterConfig, withViewTransitions };\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵsetRootDomAdapter as _setRootDomAdapter, DOCUMENT, XhrFactory, PlatformLocation, ɵgetDOM as _getDOM, ɵPLATFORM_SERVER_ID as _PLATFORM_SERVER_ID, ɵNullViewportScroller as _NullViewportScroller, ViewportScroller } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, inject, Injector, ɵstartMeasuring as _startMeasuring, ɵstopMeasuring as _stopMeasuring, Inject, Injectable, Optional, APP_ID, TransferState, PLATFORM_ID, PLATFORM_INITIALIZER, Testability, ɵTESTABILITY as _TESTABILITY, createPlatformFactory, platformCore, ɵsetDocument as _setDocument, NgModule } from '@angular/core';\nimport { ɵBrowserDomAdapter as _BrowserDomAdapter, EventManagerPlugin, EVENT_MANAGER_PLUGINS, BrowserModule } from '@angular/platform-browser';\nimport { ɵHTTP_ROOT_INTERCEPTOR_FNS as _HTTP_ROOT_INTERCEPTOR_FNS } from '@angular/common/http';\nimport { Subject } from 'rxjs';\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __commonJS = (cb, mod) => function __require() {\n  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = {\n    exports: {}\n  }).exports, mod), mod.exports;\n};\n\n// external/npm/node_modules/domino/lib/Event.js\nvar require_Event = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/Event.js\"(exports, module) {\n    module.exports = Event;\n    Event.CAPTURING_PHASE = 1;\n    Event.AT_TARGET = 2;\n    Event.BUBBLING_PHASE = 3;\n    function Event(type, dictionary) {\n      this.type = \"\";\n      this.target = null;\n      this.currentTarget = null;\n      this.eventPhase = Event.AT_TARGET;\n      this.bubbles = false;\n      this.cancelable = false;\n      this.isTrusted = false;\n      this.defaultPrevented = false;\n      this.timeStamp = Date.now();\n      this._propagationStopped = false;\n      this._immediatePropagationStopped = false;\n      this._initialized = true;\n      this._dispatching = false;\n      if (type) this.type = type;\n      if (dictionary) {\n        for (var p in dictionary) {\n          this[p] = dictionary[p];\n        }\n      }\n    }\n    Event.prototype = Object.create(Object.prototype, {\n      constructor: {\n        value: Event\n      },\n      stopPropagation: {\n        value: function stopPropagation() {\n          this._propagationStopped = true;\n        }\n      },\n      stopImmediatePropagation: {\n        value: function stopImmediatePropagation() {\n          this._propagationStopped = true;\n          this._immediatePropagationStopped = true;\n        }\n      },\n      preventDefault: {\n        value: function preventDefault() {\n          if (this.cancelable) this.defaultPrevented = true;\n        }\n      },\n      initEvent: {\n        value: function initEvent(type, bubbles, cancelable) {\n          this._initialized = true;\n          if (this._dispatching) return;\n          this._propagationStopped = false;\n          this._immediatePropagationStopped = false;\n          this.defaultPrevented = false;\n          this.isTrusted = false;\n          this.target = null;\n          this.type = type;\n          this.bubbles = bubbles;\n          this.cancelable = cancelable;\n        }\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/UIEvent.js\nvar require_UIEvent = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/UIEvent.js\"(exports, module) {\n    var Event = require_Event();\n    module.exports = UIEvent;\n    function UIEvent() {\n      Event.call(this);\n      this.view = null;\n      this.detail = 0;\n    }\n    UIEvent.prototype = Object.create(Event.prototype, {\n      constructor: {\n        value: UIEvent\n      },\n      initUIEvent: {\n        value: function (type, bubbles, cancelable, view, detail) {\n          this.initEvent(type, bubbles, cancelable);\n          this.view = view;\n          this.detail = detail;\n        }\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/MouseEvent.js\nvar require_MouseEvent = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/MouseEvent.js\"(exports, module) {\n    var UIEvent = require_UIEvent();\n    module.exports = MouseEvent;\n    function MouseEvent() {\n      UIEvent.call(this);\n      this.screenX = this.screenY = this.clientX = this.clientY = 0;\n      this.ctrlKey = this.altKey = this.shiftKey = this.metaKey = false;\n      this.button = 0;\n      this.buttons = 1;\n      this.relatedTarget = null;\n    }\n    MouseEvent.prototype = Object.create(UIEvent.prototype, {\n      constructor: {\n        value: MouseEvent\n      },\n      initMouseEvent: {\n        value: function (type, bubbles, cancelable, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget) {\n          this.initEvent(type, bubbles, cancelable, view, detail);\n          this.screenX = screenX;\n          this.screenY = screenY;\n          this.clientX = clientX;\n          this.clientY = clientY;\n          this.ctrlKey = ctrlKey;\n          this.altKey = altKey;\n          this.shiftKey = shiftKey;\n          this.metaKey = metaKey;\n          this.button = button;\n          switch (button) {\n            case 0:\n              this.buttons = 1;\n              break;\n            case 1:\n              this.buttons = 4;\n              break;\n            case 2:\n              this.buttons = 2;\n              break;\n            default:\n              this.buttons = 0;\n              break;\n          }\n          this.relatedTarget = relatedTarget;\n        }\n      },\n      getModifierState: {\n        value: function (key) {\n          switch (key) {\n            case \"Alt\":\n              return this.altKey;\n            case \"Control\":\n              return this.ctrlKey;\n            case \"Shift\":\n              return this.shiftKey;\n            case \"Meta\":\n              return this.metaKey;\n            default:\n              return false;\n          }\n        }\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/config.js\nvar require_config = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/config.js\"(exports) {\n    exports.isApiWritable = !globalThis.__domino_frozen__;\n  }\n});\n\n// external/npm/node_modules/domino/lib/utils.js\nvar require_utils = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/utils.js\"(exports) {\n    var isApiWritable = require_config().isApiWritable;\n    exports.NAMESPACE = {\n      HTML: \"http://www.w3.org/1999/xhtml\",\n      XML: \"http://www.w3.org/XML/1998/namespace\",\n      XMLNS: \"http://www.w3.org/2000/xmlns/\",\n      MATHML: \"http://www.w3.org/1998/Math/MathML\",\n      SVG: \"http://www.w3.org/2000/svg\",\n      XLINK: \"http://www.w3.org/1999/xlink\"\n    };\n    exports.IndexSizeError = () => {\n      throw new DOMException(\"The index is not in the allowed range\", \"IndexSizeError\");\n    };\n    exports.HierarchyRequestError = () => {\n      throw new DOMException(\"The node tree hierarchy is not correct\", \"HierarchyRequestError\");\n    };\n    exports.WrongDocumentError = () => {\n      throw new DOMException(\"The object is in the wrong Document\", \"WrongDocumentError\");\n    };\n    exports.InvalidCharacterError = () => {\n      throw new DOMException(\"The string contains invalid characters\", \"InvalidCharacterError\");\n    };\n    exports.NoModificationAllowedError = () => {\n      throw new DOMException(\"The object cannot be modified\", \"NoModificationAllowedError\");\n    };\n    exports.NotFoundError = () => {\n      throw new DOMException(\"The object can not be found here\", \"NotFoundError\");\n    };\n    exports.NotSupportedError = () => {\n      throw new DOMException(\"The operation is not supported\", \"NotSupportedError\");\n    };\n    exports.InvalidStateError = () => {\n      throw new DOMException(\"The object is in an invalid state\", \"InvalidStateError\");\n    };\n    exports.SyntaxError = () => {\n      throw new DOMException(\"The string did not match the expected pattern\", \"SyntaxError\");\n    };\n    exports.InvalidModificationError = () => {\n      throw new DOMException(\"The object can not be modified in this way\", \"InvalidModificationError\");\n    };\n    exports.NamespaceError = () => {\n      throw new DOMException(\"The operation is not allowed by Namespaces in XML\", \"NamespaceError\");\n    };\n    exports.InvalidAccessError = () => {\n      throw new DOMException(\"The object does not support the operation or argument\", \"InvalidAccessError\");\n    };\n    exports.TypeMismatchError = () => {\n      throw new DOMException(\"The type of the object does not match the expected type\", \"TypeMismatchError\");\n    };\n    exports.SecurityError = () => {\n      throw new DOMException(\"The operation is insecure\", \"SecurityError\");\n    };\n    exports.NetworkError = () => {\n      throw new DOMException(\"A network error occurred\", \"NetworkError\");\n    };\n    exports.AbortError = () => {\n      throw new DOMException(\"The operation was aborted\", \"AbortError\");\n    };\n    exports.UrlMismatchError = () => {\n      throw new DOMException(\"The given URL does not match another URL\", \"URLMismatchError\");\n    };\n    exports.QuotaExceededError = () => {\n      throw new DOMException(\"The quota has been exceeded\", \"QuotaExceededError\");\n    };\n    exports.TimeoutError = () => {\n      throw new DOMException(\"The operation timed out\", \"TimeoutError\");\n    };\n    exports.InvalidNodeTypeError = () => {\n      throw new DOMException(\"The node is of an invalid type\", \"InvalidNodeTypeError\");\n    };\n    exports.DataCloneError = () => {\n      throw new DOMException(\"The object can not be cloned\", \"DataCloneError\");\n    };\n    exports.InUseAttributeError = () => {\n      throw new DOMException(\"The attribute is already in use\", \"InUseAttributeError\");\n    };\n    exports.nyi = function () {\n      throw new Error(\"NotYetImplemented\");\n    };\n    exports.shouldOverride = function () {\n      throw new Error(\"Abstract function; should be overriding in subclass.\");\n    };\n    exports.assert = function (expr, msg) {\n      if (!expr) {\n        throw new Error(\"Assertion failed: \" + (msg || \"\") + \"\\n\" + new Error().stack);\n      }\n    };\n    exports.expose = function (src, c) {\n      for (var n in src) {\n        Object.defineProperty(c.prototype, n, {\n          value: src[n],\n          writable: isApiWritable\n        });\n      }\n    };\n    exports.merge = function (a, b) {\n      for (var n in b) {\n        a[n] = b[n];\n      }\n    };\n    exports.documentOrder = function (n, m) {\n      return 3 - (n.compareDocumentPosition(m) & 6);\n    };\n    exports.toASCIILowerCase = function (s) {\n      return s.replace(/[A-Z]+/g, function (c) {\n        return c.toLowerCase();\n      });\n    };\n    exports.toASCIIUpperCase = function (s) {\n      return s.replace(/[a-z]+/g, function (c) {\n        return c.toUpperCase();\n      });\n    };\n  }\n});\n\n// external/npm/node_modules/domino/lib/EventTarget.js\nvar require_EventTarget = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/EventTarget.js\"(exports, module) {\n    var Event = require_Event();\n    var MouseEvent = require_MouseEvent();\n    var utils = require_utils();\n    module.exports = EventTarget;\n    function EventTarget() {}\n    EventTarget.prototype = {\n      addEventListener: function addEventListener(type, listener, capture) {\n        if (!listener) return;\n        if (capture === void 0) capture = false;\n        if (!this._listeners) this._listeners = /* @__PURE__ */Object.create(null);\n        if (!this._listeners[type]) this._listeners[type] = [];\n        var list = this._listeners[type];\n        for (var i = 0, n = list.length; i < n; i++) {\n          var l = list[i];\n          if (l.listener === listener && l.capture === capture) return;\n        }\n        var obj = {\n          listener,\n          capture\n        };\n        if (typeof listener === \"function\") obj.f = listener;\n        list.push(obj);\n      },\n      removeEventListener: function removeEventListener(type, listener, capture) {\n        if (capture === void 0) capture = false;\n        if (this._listeners) {\n          var list = this._listeners[type];\n          if (list) {\n            for (var i = 0, n = list.length; i < n; i++) {\n              var l = list[i];\n              if (l.listener === listener && l.capture === capture) {\n                if (list.length === 1) {\n                  this._listeners[type] = void 0;\n                } else {\n                  list.splice(i, 1);\n                }\n                return;\n              }\n            }\n          }\n        }\n      },\n      dispatchEvent: function dispatchEvent(event) {\n        return this._dispatchEvent(event, false);\n      },\n      _dispatchEvent: function _dispatchEvent(event, trusted) {\n        if (typeof trusted !== \"boolean\") trusted = false;\n        function invoke(target, event2) {\n          var type = event2.type,\n            phase = event2.eventPhase;\n          event2.currentTarget = target;\n          if (phase !== Event.CAPTURING_PHASE && target._handlers && target._handlers[type]) {\n            var handler = target._handlers[type];\n            var rv;\n            if (typeof handler === \"function\") {\n              rv = handler.call(event2.currentTarget, event2);\n            } else {\n              var f = handler.handleEvent;\n              if (typeof f !== \"function\") throw new TypeError(\"handleEvent property of event handler object isnot a function.\");\n              rv = f.call(handler, event2);\n            }\n            switch (event2.type) {\n              case \"mouseover\":\n                if (rv === true) event2.preventDefault();\n                break;\n              case \"beforeunload\":\n              default:\n                if (rv === false) event2.preventDefault();\n                break;\n            }\n          }\n          var list = target._listeners && target._listeners[type];\n          if (!list) return;\n          list = list.slice();\n          for (var i2 = 0, n2 = list.length; i2 < n2; i2++) {\n            if (event2._immediatePropagationStopped) return;\n            var l = list[i2];\n            if (phase === Event.CAPTURING_PHASE && !l.capture || phase === Event.BUBBLING_PHASE && l.capture) continue;\n            if (l.f) {\n              l.f.call(event2.currentTarget, event2);\n            } else {\n              var fn = l.listener.handleEvent;\n              if (typeof fn !== \"function\") throw new TypeError(\"handleEvent property of event listener object is not a function.\");\n              fn.call(l.listener, event2);\n            }\n          }\n        }\n        if (!event._initialized || event._dispatching) utils.InvalidStateError();\n        event.isTrusted = trusted;\n        event._dispatching = true;\n        event.target = this;\n        var ancestors = [];\n        for (var n = this.parentNode; n; n = n.parentNode) ancestors.push(n);\n        event.eventPhase = Event.CAPTURING_PHASE;\n        for (var i = ancestors.length - 1; i >= 0; i--) {\n          invoke(ancestors[i], event);\n          if (event._propagationStopped) break;\n        }\n        if (!event._propagationStopped) {\n          event.eventPhase = Event.AT_TARGET;\n          invoke(this, event);\n        }\n        if (event.bubbles && !event._propagationStopped) {\n          event.eventPhase = Event.BUBBLING_PHASE;\n          for (var ii = 0, nn = ancestors.length; ii < nn; ii++) {\n            invoke(ancestors[ii], event);\n            if (event._propagationStopped) break;\n          }\n        }\n        event._dispatching = false;\n        event.eventPhase = Event.AT_TARGET;\n        event.currentTarget = null;\n        if (trusted && !event.defaultPrevented && event instanceof MouseEvent) {\n          switch (event.type) {\n            case \"mousedown\":\n              this._armed = {\n                x: event.clientX,\n                y: event.clientY,\n                t: event.timeStamp\n              };\n              break;\n            case \"mouseout\":\n            case \"mouseover\":\n              this._armed = null;\n              break;\n            case \"mouseup\":\n              if (this._isClick(event)) this._doClick(event);\n              this._armed = null;\n              break;\n          }\n        }\n        return !event.defaultPrevented;\n      },\n      _isClick: function (event) {\n        return this._armed !== null && event.type === \"mouseup\" && event.isTrusted && event.button === 0 && event.timeStamp - this._armed.t < 1e3 && Math.abs(event.clientX - this._armed.x) < 10 && Math.abs(event.clientY - this._armed.Y) < 10;\n      },\n      _doClick: function (event) {\n        if (this._click_in_progress) return;\n        this._click_in_progress = true;\n        var activated = this;\n        while (activated && !activated._post_click_activation_steps) activated = activated.parentNode;\n        if (activated && activated._pre_click_activation_steps) {\n          activated._pre_click_activation_steps();\n        }\n        var click = this.ownerDocument.createEvent(\"MouseEvent\");\n        click.initMouseEvent(\"click\", true, true, this.ownerDocument.defaultView, 1, event.screenX, event.screenY, event.clientX, event.clientY, event.ctrlKey, event.altKey, event.shiftKey, event.metaKey, event.button, null);\n        var result = this._dispatchEvent(click, true);\n        if (activated) {\n          if (result) {\n            if (activated._post_click_activation_steps) activated._post_click_activation_steps(click);\n          } else {\n            if (activated._cancelled_activation_steps) activated._cancelled_activation_steps();\n          }\n        }\n      },\n      _setEventHandler: function _setEventHandler(type, handler) {\n        if (!this._handlers) this._handlers = /* @__PURE__ */Object.create(null);\n        this._handlers[type] = handler;\n      },\n      _getEventHandler: function _getEventHandler(type) {\n        return this._handlers && this._handlers[type] || null;\n      }\n    };\n  }\n});\n\n// external/npm/node_modules/domino/lib/LinkedList.js\nvar require_LinkedList = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/LinkedList.js\"(exports, module) {\n    var utils = require_utils();\n    var LinkedList = module.exports = {\n      valid: function (a) {\n        utils.assert(a, \"list falsy\");\n        utils.assert(a._previousSibling, \"previous falsy\");\n        utils.assert(a._nextSibling, \"next falsy\");\n        return true;\n      },\n      insertBefore: function (a, b) {\n        utils.assert(LinkedList.valid(a) && LinkedList.valid(b));\n        var a_first = a,\n          a_last = a._previousSibling;\n        var b_first = b,\n          b_last = b._previousSibling;\n        a_first._previousSibling = b_last;\n        a_last._nextSibling = b_first;\n        b_last._nextSibling = a_first;\n        b_first._previousSibling = a_last;\n        utils.assert(LinkedList.valid(a) && LinkedList.valid(b));\n      },\n      replace: function (a, b) {\n        utils.assert(LinkedList.valid(a) && (b === null || LinkedList.valid(b)));\n        if (b !== null) {\n          LinkedList.insertBefore(b, a);\n        }\n        LinkedList.remove(a);\n        utils.assert(LinkedList.valid(a) && (b === null || LinkedList.valid(b)));\n      },\n      remove: function (a) {\n        utils.assert(LinkedList.valid(a));\n        var prev = a._previousSibling;\n        if (prev === a) {\n          return;\n        }\n        var next = a._nextSibling;\n        prev._nextSibling = next;\n        next._previousSibling = prev;\n        a._previousSibling = a._nextSibling = a;\n        utils.assert(LinkedList.valid(a));\n      }\n    };\n  }\n});\n\n// external/npm/node_modules/domino/lib/NodeUtils.js\nvar require_NodeUtils = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/NodeUtils.js\"(exports, module) {\n    module.exports = {\n      serializeOne,\n      ɵescapeMatchingClosingTag: escapeMatchingClosingTag,\n      ɵescapeClosingCommentTag: escapeClosingCommentTag,\n      ɵescapeProcessingInstructionContent: escapeProcessingInstructionContent\n    };\n    var utils = require_utils();\n    var NAMESPACE = utils.NAMESPACE;\n    var hasRawContent = {\n      STYLE: true,\n      SCRIPT: true,\n      XMP: true,\n      IFRAME: true,\n      NOEMBED: true,\n      NOFRAMES: true,\n      PLAINTEXT: true\n    };\n    var emptyElements = {\n      area: true,\n      base: true,\n      basefont: true,\n      bgsound: true,\n      br: true,\n      col: true,\n      embed: true,\n      frame: true,\n      hr: true,\n      img: true,\n      input: true,\n      keygen: true,\n      link: true,\n      meta: true,\n      param: true,\n      source: true,\n      track: true,\n      wbr: true\n    };\n    var extraNewLine = {};\n    var ESCAPE_REGEXP = /[&<>\\u00A0]/g;\n    var ESCAPE_ATTR_REGEXP = /[&\"<>\\u00A0]/g;\n    function escape(s) {\n      if (!ESCAPE_REGEXP.test(s)) {\n        return s;\n      }\n      return s.replace(ESCAPE_REGEXP, c => {\n        switch (c) {\n          case \"&\":\n            return \"&amp;\";\n          case \"<\":\n            return \"&lt;\";\n          case \">\":\n            return \"&gt;\";\n          case \"\\xA0\":\n            return \"&nbsp;\";\n        }\n      });\n    }\n    function escapeAttr(s) {\n      if (!ESCAPE_ATTR_REGEXP.test(s)) {\n        return s;\n      }\n      return s.replace(ESCAPE_ATTR_REGEXP, c => {\n        switch (c) {\n          case \"<\":\n            return \"&lt;\";\n          case \">\":\n            return \"&gt;\";\n          case \"&\":\n            return \"&amp;\";\n          case '\"':\n            return \"&quot;\";\n          case \"\\xA0\":\n            return \"&nbsp;\";\n        }\n      });\n    }\n    function attrname(a) {\n      var ns = a.namespaceURI;\n      if (!ns) return a.localName;\n      if (ns === NAMESPACE.XML) return \"xml:\" + a.localName;\n      if (ns === NAMESPACE.XLINK) return \"xlink:\" + a.localName;\n      if (ns === NAMESPACE.XMLNS) {\n        if (a.localName === \"xmlns\") return \"xmlns\";else return \"xmlns:\" + a.localName;\n      }\n      return a.name;\n    }\n    function escapeMatchingClosingTag(rawText, parentTag) {\n      const parentClosingTag = \"</\" + parentTag;\n      if (!rawText.toLowerCase().includes(parentClosingTag)) {\n        return rawText;\n      }\n      const result = [...rawText];\n      const matches = rawText.matchAll(new RegExp(parentClosingTag, \"ig\"));\n      for (const match of matches) {\n        result[match.index] = \"&lt;\";\n      }\n      return result.join(\"\");\n    }\n    var CLOSING_COMMENT_REGEXP = /--!?>/;\n    function escapeClosingCommentTag(rawContent) {\n      if (!CLOSING_COMMENT_REGEXP.test(rawContent)) {\n        return rawContent;\n      }\n      return rawContent.replace(/(--\\!?)>/g, \"$1&gt;\");\n    }\n    function escapeProcessingInstructionContent(rawContent) {\n      return rawContent.includes(\">\") ? rawContent.replaceAll(\">\", \"&gt;\") : rawContent;\n    }\n    function serializeOne(kid, parent) {\n      var s = \"\";\n      switch (kid.nodeType) {\n        case 1:\n          var ns = kid.namespaceURI;\n          var html = ns === NAMESPACE.HTML;\n          var tagname = html || ns === NAMESPACE.SVG || ns === NAMESPACE.MATHML ? kid.localName : kid.tagName;\n          s += \"<\" + tagname;\n          for (var j = 0, k = kid._numattrs; j < k; j++) {\n            var a = kid._attr(j);\n            s += \" \" + attrname(a);\n            if (a.value !== void 0) s += '=\"' + escapeAttr(a.value) + '\"';\n          }\n          s += \">\";\n          if (!(html && emptyElements[tagname])) {\n            var ss = kid.serialize();\n            if (hasRawContent[tagname.toUpperCase()]) {\n              ss = escapeMatchingClosingTag(ss, tagname);\n            }\n            if (html && extraNewLine[tagname] && ss.charAt(0) === \"\\n\") s += \"\\n\";\n            s += ss;\n            s += \"</\" + tagname + \">\";\n          }\n          break;\n        case 3:\n        case 4:\n          var parenttag;\n          if (parent.nodeType === 1 && parent.namespaceURI === NAMESPACE.HTML) parenttag = parent.tagName;else parenttag = \"\";\n          if (hasRawContent[parenttag] || parenttag === \"NOSCRIPT\" && parent.ownerDocument._scripting_enabled) {\n            s += kid.data;\n          } else {\n            s += escape(kid.data);\n          }\n          break;\n        case 8:\n          s += \"<!--\" + escapeClosingCommentTag(kid.data) + \"-->\";\n          break;\n        case 7:\n          const content = escapeProcessingInstructionContent(kid.data);\n          s += \"<?\" + kid.target + \" \" + content + \"?>\";\n          break;\n        case 10:\n          s += \"<!DOCTYPE \" + kid.name;\n          s += \">\";\n          break;\n        default:\n          utils.InvalidStateError();\n      }\n      return s;\n    }\n  }\n});\n\n// external/npm/node_modules/domino/lib/Node.js\nvar require_Node = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/Node.js\"(exports, module) {\n    module.exports = Node;\n    var EventTarget = require_EventTarget();\n    var LinkedList = require_LinkedList();\n    var NodeUtils = require_NodeUtils();\n    var utils = require_utils();\n    function Node() {\n      EventTarget.call(this);\n      this.parentNode = null;\n      this._nextSibling = this._previousSibling = this;\n      this._index = void 0;\n    }\n    var ELEMENT_NODE = Node.ELEMENT_NODE = 1;\n    var ATTRIBUTE_NODE = Node.ATTRIBUTE_NODE = 2;\n    var TEXT_NODE = Node.TEXT_NODE = 3;\n    var CDATA_SECTION_NODE = Node.CDATA_SECTION_NODE = 4;\n    var ENTITY_REFERENCE_NODE = Node.ENTITY_REFERENCE_NODE = 5;\n    var ENTITY_NODE = Node.ENTITY_NODE = 6;\n    var PROCESSING_INSTRUCTION_NODE = Node.PROCESSING_INSTRUCTION_NODE = 7;\n    var COMMENT_NODE = Node.COMMENT_NODE = 8;\n    var DOCUMENT_NODE = Node.DOCUMENT_NODE = 9;\n    var DOCUMENT_TYPE_NODE = Node.DOCUMENT_TYPE_NODE = 10;\n    var DOCUMENT_FRAGMENT_NODE = Node.DOCUMENT_FRAGMENT_NODE = 11;\n    var NOTATION_NODE = Node.NOTATION_NODE = 12;\n    var DOCUMENT_POSITION_DISCONNECTED = Node.DOCUMENT_POSITION_DISCONNECTED = 1;\n    var DOCUMENT_POSITION_PRECEDING = Node.DOCUMENT_POSITION_PRECEDING = 2;\n    var DOCUMENT_POSITION_FOLLOWING = Node.DOCUMENT_POSITION_FOLLOWING = 4;\n    var DOCUMENT_POSITION_CONTAINS = Node.DOCUMENT_POSITION_CONTAINS = 8;\n    var DOCUMENT_POSITION_CONTAINED_BY = Node.DOCUMENT_POSITION_CONTAINED_BY = 16;\n    var DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32;\n    Node.prototype = Object.create(EventTarget.prototype, {\n      baseURI: {\n        get: utils.nyi\n      },\n      parentElement: {\n        get: function () {\n          return this.parentNode && this.parentNode.nodeType === ELEMENT_NODE ? this.parentNode : null;\n        }\n      },\n      hasChildNodes: {\n        value: utils.shouldOverride\n      },\n      firstChild: {\n        get: utils.shouldOverride\n      },\n      lastChild: {\n        get: utils.shouldOverride\n      },\n      isConnected: {\n        get: function () {\n          let node = this;\n          while (node != null) {\n            if (node.nodeType === Node.DOCUMENT_NODE) {\n              return true;\n            }\n            node = node.parentNode;\n            if (node != null && node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n              node = node.host;\n            }\n          }\n          return false;\n        }\n      },\n      previousSibling: {\n        get: function () {\n          var parent = this.parentNode;\n          if (!parent) return null;\n          if (this === parent.firstChild) return null;\n          return this._previousSibling;\n        }\n      },\n      nextSibling: {\n        get: function () {\n          var parent = this.parentNode,\n            next = this._nextSibling;\n          if (!parent) return null;\n          if (next === parent.firstChild) return null;\n          return next;\n        }\n      },\n      textContent: {\n        get: function () {\n          return null;\n        },\n        set: function (v) {}\n      },\n      innerText: {\n        get: function () {\n          return null;\n        },\n        set: function (v) {}\n      },\n      _countChildrenOfType: {\n        value: function (type) {\n          var sum = 0;\n          for (var kid = this.firstChild; kid !== null; kid = kid.nextSibling) {\n            if (kid.nodeType === type) sum++;\n          }\n          return sum;\n        }\n      },\n      _ensureInsertValid: {\n        value: function _ensureInsertValid(node, child, isPreinsert) {\n          var parent = this,\n            i,\n            kid;\n          if (!node.nodeType) throw new TypeError(\"not a node\");\n          switch (parent.nodeType) {\n            case DOCUMENT_NODE:\n            case DOCUMENT_FRAGMENT_NODE:\n            case ELEMENT_NODE:\n              break;\n            default:\n              utils.HierarchyRequestError();\n          }\n          if (node.isAncestor(parent)) utils.HierarchyRequestError();\n          if (child !== null || !isPreinsert) {\n            if (child.parentNode !== parent) utils.NotFoundError();\n          }\n          switch (node.nodeType) {\n            case DOCUMENT_FRAGMENT_NODE:\n            case DOCUMENT_TYPE_NODE:\n            case ELEMENT_NODE:\n            case TEXT_NODE:\n            case PROCESSING_INSTRUCTION_NODE:\n            case COMMENT_NODE:\n              break;\n            default:\n              utils.HierarchyRequestError();\n          }\n          if (parent.nodeType === DOCUMENT_NODE) {\n            switch (node.nodeType) {\n              case TEXT_NODE:\n                utils.HierarchyRequestError();\n                break;\n              case DOCUMENT_FRAGMENT_NODE:\n                if (node._countChildrenOfType(TEXT_NODE) > 0) utils.HierarchyRequestError();\n                switch (node._countChildrenOfType(ELEMENT_NODE)) {\n                  case 0:\n                    break;\n                  case 1:\n                    if (child !== null) {\n                      if (isPreinsert && child.nodeType === DOCUMENT_TYPE_NODE) utils.HierarchyRequestError();\n                      for (kid = child.nextSibling; kid !== null; kid = kid.nextSibling) {\n                        if (kid.nodeType === DOCUMENT_TYPE_NODE) utils.HierarchyRequestError();\n                      }\n                    }\n                    i = parent._countChildrenOfType(ELEMENT_NODE);\n                    if (isPreinsert) {\n                      if (i > 0) utils.HierarchyRequestError();\n                    } else {\n                      if (i > 1 || i === 1 && child.nodeType !== ELEMENT_NODE) utils.HierarchyRequestError();\n                    }\n                    break;\n                  default:\n                    utils.HierarchyRequestError();\n                }\n                break;\n              case ELEMENT_NODE:\n                if (child !== null) {\n                  if (isPreinsert && child.nodeType === DOCUMENT_TYPE_NODE) utils.HierarchyRequestError();\n                  for (kid = child.nextSibling; kid !== null; kid = kid.nextSibling) {\n                    if (kid.nodeType === DOCUMENT_TYPE_NODE) utils.HierarchyRequestError();\n                  }\n                }\n                i = parent._countChildrenOfType(ELEMENT_NODE);\n                if (isPreinsert) {\n                  if (i > 0) utils.HierarchyRequestError();\n                } else {\n                  if (i > 1 || i === 1 && child.nodeType !== ELEMENT_NODE) utils.HierarchyRequestError();\n                }\n                break;\n              case DOCUMENT_TYPE_NODE:\n                if (child === null) {\n                  if (parent._countChildrenOfType(ELEMENT_NODE)) utils.HierarchyRequestError();\n                } else {\n                  for (kid = parent.firstChild; kid !== null; kid = kid.nextSibling) {\n                    if (kid === child) break;\n                    if (kid.nodeType === ELEMENT_NODE) utils.HierarchyRequestError();\n                  }\n                }\n                i = parent._countChildrenOfType(DOCUMENT_TYPE_NODE);\n                if (isPreinsert) {\n                  if (i > 0) utils.HierarchyRequestError();\n                } else {\n                  if (i > 1 || i === 1 && child.nodeType !== DOCUMENT_TYPE_NODE) utils.HierarchyRequestError();\n                }\n                break;\n            }\n          } else {\n            if (node.nodeType === DOCUMENT_TYPE_NODE) utils.HierarchyRequestError();\n          }\n        }\n      },\n      insertBefore: {\n        value: function insertBefore(node, child) {\n          var parent = this;\n          parent._ensureInsertValid(node, child, true);\n          var refChild = child;\n          if (refChild === node) {\n            refChild = node.nextSibling;\n          }\n          parent.doc.adoptNode(node);\n          node._insertOrReplace(parent, refChild, false);\n          return node;\n        }\n      },\n      appendChild: {\n        value: function (child) {\n          return this.insertBefore(child, null);\n        }\n      },\n      _appendChild: {\n        value: function (child) {\n          child._insertOrReplace(this, null, false);\n        }\n      },\n      removeChild: {\n        value: function removeChild(child) {\n          var parent = this;\n          if (!child.nodeType) throw new TypeError(\"not a node\");\n          if (child.parentNode !== parent) utils.NotFoundError();\n          child.remove();\n          return child;\n        }\n      },\n      replaceChild: {\n        value: function replaceChild(node, child) {\n          var parent = this;\n          parent._ensureInsertValid(node, child, false);\n          if (node.doc !== parent.doc) {\n            parent.doc.adoptNode(node);\n          }\n          node._insertOrReplace(parent, child, true);\n          return child;\n        }\n      },\n      contains: {\n        value: function contains(node) {\n          if (node === null) {\n            return false;\n          }\n          if (this === node) {\n            return true;\n          }\n          return (this.compareDocumentPosition(node) & DOCUMENT_POSITION_CONTAINED_BY) !== 0;\n        }\n      },\n      compareDocumentPosition: {\n        value: function compareDocumentPosition(that) {\n          if (this === that) return 0;\n          if (this.doc !== that.doc || this.rooted !== that.rooted) return DOCUMENT_POSITION_DISCONNECTED + DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC;\n          var these = [],\n            those = [];\n          for (var n = this; n !== null; n = n.parentNode) these.push(n);\n          for (n = that; n !== null; n = n.parentNode) those.push(n);\n          these.reverse();\n          those.reverse();\n          if (these[0] !== those[0]) return DOCUMENT_POSITION_DISCONNECTED + DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC;\n          n = Math.min(these.length, those.length);\n          for (var i = 1; i < n; i++) {\n            if (these[i] !== those[i]) {\n              if (these[i].index < those[i].index) return DOCUMENT_POSITION_FOLLOWING;else return DOCUMENT_POSITION_PRECEDING;\n            }\n          }\n          if (these.length < those.length) return DOCUMENT_POSITION_FOLLOWING + DOCUMENT_POSITION_CONTAINED_BY;else return DOCUMENT_POSITION_PRECEDING + DOCUMENT_POSITION_CONTAINS;\n        }\n      },\n      isSameNode: {\n        value: function isSameNode(node) {\n          return this === node;\n        }\n      },\n      isEqualNode: {\n        value: function isEqualNode(node) {\n          if (!node) return false;\n          if (node.nodeType !== this.nodeType) return false;\n          if (!this.isEqual(node)) return false;\n          for (var c1 = this.firstChild, c2 = node.firstChild; c1 && c2; c1 = c1.nextSibling, c2 = c2.nextSibling) {\n            if (!c1.isEqualNode(c2)) return false;\n          }\n          return c1 === null && c2 === null;\n        }\n      },\n      cloneNode: {\n        value: function (deep) {\n          var clone = this.clone();\n          if (deep) {\n            for (var kid = this.firstChild; kid !== null; kid = kid.nextSibling) {\n              clone._appendChild(kid.cloneNode(true));\n            }\n          }\n          return clone;\n        }\n      },\n      lookupPrefix: {\n        value: function lookupPrefix(ns) {\n          var e;\n          if (ns === \"\" || ns === null || ns === void 0) return null;\n          switch (this.nodeType) {\n            case ELEMENT_NODE:\n              return this._lookupNamespacePrefix(ns, this);\n            case DOCUMENT_NODE:\n              e = this.documentElement;\n              return e ? e.lookupPrefix(ns) : null;\n            case ENTITY_NODE:\n            case NOTATION_NODE:\n            case DOCUMENT_FRAGMENT_NODE:\n            case DOCUMENT_TYPE_NODE:\n              return null;\n            case ATTRIBUTE_NODE:\n              e = this.ownerElement;\n              return e ? e.lookupPrefix(ns) : null;\n            default:\n              e = this.parentElement;\n              return e ? e.lookupPrefix(ns) : null;\n          }\n        }\n      },\n      lookupNamespaceURI: {\n        value: function lookupNamespaceURI(prefix) {\n          if (prefix === \"\" || prefix === void 0) {\n            prefix = null;\n          }\n          var e;\n          switch (this.nodeType) {\n            case ELEMENT_NODE:\n              return utils.shouldOverride();\n            case DOCUMENT_NODE:\n              e = this.documentElement;\n              return e ? e.lookupNamespaceURI(prefix) : null;\n            case ENTITY_NODE:\n            case NOTATION_NODE:\n            case DOCUMENT_TYPE_NODE:\n            case DOCUMENT_FRAGMENT_NODE:\n              return null;\n            case ATTRIBUTE_NODE:\n              e = this.ownerElement;\n              return e ? e.lookupNamespaceURI(prefix) : null;\n            default:\n              e = this.parentElement;\n              return e ? e.lookupNamespaceURI(prefix) : null;\n          }\n        }\n      },\n      isDefaultNamespace: {\n        value: function isDefaultNamespace(ns) {\n          if (ns === \"\" || ns === void 0) {\n            ns = null;\n          }\n          var defaultNamespace = this.lookupNamespaceURI(null);\n          return defaultNamespace === ns;\n        }\n      },\n      index: {\n        get: function () {\n          var parent = this.parentNode;\n          if (this === parent.firstChild) return 0;\n          var kids = parent.childNodes;\n          if (this._index === void 0 || kids[this._index] !== this) {\n            for (var i = 0; i < kids.length; i++) {\n              kids[i]._index = i;\n            }\n            utils.assert(kids[this._index] === this);\n          }\n          return this._index;\n        }\n      },\n      isAncestor: {\n        value: function (that) {\n          if (this.doc !== that.doc) return false;\n          if (this.rooted !== that.rooted) return false;\n          for (var e = that; e; e = e.parentNode) {\n            if (e === this) return true;\n          }\n          return false;\n        }\n      },\n      ensureSameDoc: {\n        value: function (that) {\n          if (that.ownerDocument === null) {\n            that.ownerDocument = this.doc;\n          } else if (that.ownerDocument !== this.doc) {\n            utils.WrongDocumentError();\n          }\n        }\n      },\n      removeChildren: {\n        value: utils.shouldOverride\n      },\n      _insertOrReplace: {\n        value: function _insertOrReplace(parent, before, isReplace) {\n          var child = this,\n            before_index,\n            i;\n          if (child.nodeType === DOCUMENT_FRAGMENT_NODE && child.rooted) {\n            utils.HierarchyRequestError();\n          }\n          if (parent._childNodes) {\n            before_index = before === null ? parent._childNodes.length : before.index;\n            if (child.parentNode === parent) {\n              var child_index = child.index;\n              if (child_index < before_index) {\n                before_index--;\n              }\n            }\n          }\n          if (isReplace) {\n            if (before.rooted) before.doc.mutateRemove(before);\n            before.parentNode = null;\n          }\n          var n = before;\n          if (n === null) {\n            n = parent.firstChild;\n          }\n          var bothRooted = child.rooted && parent.rooted;\n          if (child.nodeType === DOCUMENT_FRAGMENT_NODE) {\n            var spliceArgs = [0, isReplace ? 1 : 0],\n              next;\n            for (var kid = child.firstChild; kid !== null; kid = next) {\n              next = kid.nextSibling;\n              spliceArgs.push(kid);\n              kid.parentNode = parent;\n            }\n            var len = spliceArgs.length;\n            if (isReplace) {\n              LinkedList.replace(n, len > 2 ? spliceArgs[2] : null);\n            } else if (len > 2 && n !== null) {\n              LinkedList.insertBefore(spliceArgs[2], n);\n            }\n            if (parent._childNodes) {\n              spliceArgs[0] = before === null ? parent._childNodes.length : before._index;\n              parent._childNodes.splice.apply(parent._childNodes, spliceArgs);\n              for (i = 2; i < len; i++) {\n                spliceArgs[i]._index = spliceArgs[0] + (i - 2);\n              }\n            } else if (parent._firstChild === before) {\n              if (len > 2) {\n                parent._firstChild = spliceArgs[2];\n              } else if (isReplace) {\n                parent._firstChild = null;\n              }\n            }\n            if (child._childNodes) {\n              child._childNodes.length = 0;\n            } else {\n              child._firstChild = null;\n            }\n            if (parent.rooted) {\n              parent.modify();\n              for (i = 2; i < len; i++) {\n                parent.doc.mutateInsert(spliceArgs[i]);\n              }\n            }\n          } else {\n            if (before === child) {\n              return;\n            }\n            if (bothRooted) {\n              child._remove();\n            } else if (child.parentNode) {\n              child.remove();\n            }\n            child.parentNode = parent;\n            if (isReplace) {\n              LinkedList.replace(n, child);\n              if (parent._childNodes) {\n                child._index = before_index;\n                parent._childNodes[before_index] = child;\n              } else if (parent._firstChild === before) {\n                parent._firstChild = child;\n              }\n            } else {\n              if (n !== null) {\n                LinkedList.insertBefore(child, n);\n              }\n              if (parent._childNodes) {\n                child._index = before_index;\n                parent._childNodes.splice(before_index, 0, child);\n              } else if (parent._firstChild === before) {\n                parent._firstChild = child;\n              }\n            }\n            if (bothRooted) {\n              parent.modify();\n              parent.doc.mutateMove(child);\n            } else if (parent.rooted) {\n              parent.modify();\n              parent.doc.mutateInsert(child);\n            }\n          }\n        }\n      },\n      lastModTime: {\n        get: function () {\n          if (!this._lastModTime) {\n            this._lastModTime = this.doc.modclock;\n          }\n          return this._lastModTime;\n        }\n      },\n      modify: {\n        value: function () {\n          if (this.doc.modclock) {\n            var time = ++this.doc.modclock;\n            for (var n = this; n; n = n.parentElement) {\n              if (n._lastModTime) {\n                n._lastModTime = time;\n              }\n            }\n          }\n        }\n      },\n      doc: {\n        get: function () {\n          return this.ownerDocument || this;\n        }\n      },\n      rooted: {\n        get: function () {\n          return !!this._nid;\n        }\n      },\n      normalize: {\n        value: function () {\n          var next;\n          for (var child = this.firstChild; child !== null; child = next) {\n            next = child.nextSibling;\n            if (child.normalize) {\n              child.normalize();\n            }\n            if (child.nodeType !== Node.TEXT_NODE) {\n              continue;\n            }\n            if (child.nodeValue === \"\") {\n              this.removeChild(child);\n              continue;\n            }\n            var prevChild = child.previousSibling;\n            if (prevChild === null) {\n              continue;\n            } else if (prevChild.nodeType === Node.TEXT_NODE) {\n              prevChild.appendData(child.nodeValue);\n              this.removeChild(child);\n            }\n          }\n        }\n      },\n      serialize: {\n        value: function () {\n          if (this._innerHTML) {\n            return this._innerHTML;\n          }\n          var s = \"\";\n          for (var kid = this.firstChild; kid !== null; kid = kid.nextSibling) {\n            s += NodeUtils.serializeOne(kid, this);\n          }\n          return s;\n        }\n      },\n      outerHTML: {\n        get: function () {\n          return NodeUtils.serializeOne(this, {\n            nodeType: 0\n          });\n        },\n        set: utils.nyi\n      },\n      ELEMENT_NODE: {\n        value: ELEMENT_NODE\n      },\n      ATTRIBUTE_NODE: {\n        value: ATTRIBUTE_NODE\n      },\n      TEXT_NODE: {\n        value: TEXT_NODE\n      },\n      CDATA_SECTION_NODE: {\n        value: CDATA_SECTION_NODE\n      },\n      ENTITY_REFERENCE_NODE: {\n        value: ENTITY_REFERENCE_NODE\n      },\n      ENTITY_NODE: {\n        value: ENTITY_NODE\n      },\n      PROCESSING_INSTRUCTION_NODE: {\n        value: PROCESSING_INSTRUCTION_NODE\n      },\n      COMMENT_NODE: {\n        value: COMMENT_NODE\n      },\n      DOCUMENT_NODE: {\n        value: DOCUMENT_NODE\n      },\n      DOCUMENT_TYPE_NODE: {\n        value: DOCUMENT_TYPE_NODE\n      },\n      DOCUMENT_FRAGMENT_NODE: {\n        value: DOCUMENT_FRAGMENT_NODE\n      },\n      NOTATION_NODE: {\n        value: NOTATION_NODE\n      },\n      DOCUMENT_POSITION_DISCONNECTED: {\n        value: DOCUMENT_POSITION_DISCONNECTED\n      },\n      DOCUMENT_POSITION_PRECEDING: {\n        value: DOCUMENT_POSITION_PRECEDING\n      },\n      DOCUMENT_POSITION_FOLLOWING: {\n        value: DOCUMENT_POSITION_FOLLOWING\n      },\n      DOCUMENT_POSITION_CONTAINS: {\n        value: DOCUMENT_POSITION_CONTAINS\n      },\n      DOCUMENT_POSITION_CONTAINED_BY: {\n        value: DOCUMENT_POSITION_CONTAINED_BY\n      },\n      DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: {\n        value: DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/NodeList.es6.js\nvar require_NodeList_es6 = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/NodeList.es6.js\"(exports, module) {\n    module.exports = class NodeList extends Array {\n      constructor(a) {\n        super(a && a.length || 0);\n        if (a) {\n          for (var idx in a) {\n            this[idx] = a[idx];\n          }\n        }\n      }\n      item(i) {\n        return this[i] || null;\n      }\n    };\n  }\n});\n\n// external/npm/node_modules/domino/lib/NodeList.es5.js\nvar require_NodeList_es5 = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/NodeList.es5.js\"(exports, module) {\n    function item(i) {\n      return this[i] || null;\n    }\n    function NodeList(a) {\n      if (!a) a = [];\n      a.item = item;\n      return a;\n    }\n    module.exports = NodeList;\n  }\n});\n\n// external/npm/node_modules/domino/lib/NodeList.js\nvar require_NodeList = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/NodeList.js\"(exports, module) {\n    var NodeList;\n    try {\n      NodeList = require_NodeList_es6();\n    } catch (e) {\n      NodeList = require_NodeList_es5();\n    }\n    module.exports = NodeList;\n  }\n});\n\n// external/npm/node_modules/domino/lib/ContainerNode.js\nvar require_ContainerNode = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/ContainerNode.js\"(exports, module) {\n    module.exports = ContainerNode;\n    var Node = require_Node();\n    var NodeList = require_NodeList();\n    function ContainerNode() {\n      Node.call(this);\n      this._firstChild = this._childNodes = null;\n    }\n    ContainerNode.prototype = Object.create(Node.prototype, {\n      hasChildNodes: {\n        value: function () {\n          if (this._childNodes) {\n            return this._childNodes.length > 0;\n          }\n          return this._firstChild !== null;\n        }\n      },\n      childNodes: {\n        get: function () {\n          this._ensureChildNodes();\n          return this._childNodes;\n        }\n      },\n      firstChild: {\n        get: function () {\n          if (this._childNodes) {\n            return this._childNodes.length === 0 ? null : this._childNodes[0];\n          }\n          return this._firstChild;\n        }\n      },\n      lastChild: {\n        get: function () {\n          var kids = this._childNodes,\n            first;\n          if (kids) {\n            return kids.length === 0 ? null : kids[kids.length - 1];\n          }\n          first = this._firstChild;\n          if (first === null) {\n            return null;\n          }\n          return first._previousSibling;\n        }\n      },\n      _ensureChildNodes: {\n        value: function () {\n          if (this._childNodes) {\n            return;\n          }\n          var first = this._firstChild,\n            kid = first,\n            childNodes = this._childNodes = new NodeList();\n          if (first) do {\n            childNodes.push(kid);\n            kid = kid._nextSibling;\n          } while (kid !== first);\n          this._firstChild = null;\n        }\n      },\n      removeChildren: {\n        value: function removeChildren() {\n          var root = this.rooted ? this.ownerDocument : null,\n            next = this.firstChild,\n            kid;\n          while (next !== null) {\n            kid = next;\n            next = kid.nextSibling;\n            if (root) root.mutateRemove(kid);\n            kid.parentNode = null;\n          }\n          if (this._childNodes) {\n            this._childNodes.length = 0;\n          } else {\n            this._firstChild = null;\n          }\n          this.modify();\n        }\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/xmlnames.js\nvar require_xmlnames = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/xmlnames.js\"(exports) {\n    exports.isValidName = isValidName;\n    exports.isValidQName = isValidQName;\n    var simplename = /^[_:A-Za-z][-.:\\w]+$/;\n    var simpleqname = /^([_A-Za-z][-.\\w]+|[_A-Za-z][-.\\w]+:[_A-Za-z][-.\\w]+)$/;\n    var ncnamestartchars = \"_A-Za-z\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\";\n    var ncnamechars = \"-._A-Za-z0-9\\xB7\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02FF\\u0300-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u203F\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\";\n    var ncname = \"[\" + ncnamestartchars + \"][\" + ncnamechars + \"]*\";\n    var namestartchars = ncnamestartchars + \":\";\n    var namechars = ncnamechars + \":\";\n    var name = new RegExp(\"^[\" + namestartchars + \"][\" + namechars + \"]*$\");\n    var qname = new RegExp(\"^(\" + ncname + \"|\" + ncname + \":\" + ncname + \")$\");\n    var hassurrogates = /[\\uD800-\\uDB7F\\uDC00-\\uDFFF]/;\n    var surrogatechars = /[\\uD800-\\uDB7F\\uDC00-\\uDFFF]/g;\n    var surrogatepairs = /[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]/g;\n    ncnamestartchars += \"\\uD800-\\u{EFC00}-\\uDFFF\";\n    ncnamechars += \"\\uD800-\\u{EFC00}-\\uDFFF\";\n    ncname = \"[\" + ncnamestartchars + \"][\" + ncnamechars + \"]*\";\n    namestartchars = ncnamestartchars + \":\";\n    namechars = ncnamechars + \":\";\n    var surrogatename = new RegExp(\"^[\" + namestartchars + \"][\" + namechars + \"]*$\");\n    var surrogateqname = new RegExp(\"^(\" + ncname + \"|\" + ncname + \":\" + ncname + \")$\");\n    function isValidName(s) {\n      if (simplename.test(s)) return true;\n      if (name.test(s)) return true;\n      if (!hassurrogates.test(s)) return false;\n      if (!surrogatename.test(s)) return false;\n      var chars = s.match(surrogatechars),\n        pairs = s.match(surrogatepairs);\n      return pairs !== null && 2 * pairs.length === chars.length;\n    }\n    function isValidQName(s) {\n      if (simpleqname.test(s)) return true;\n      if (qname.test(s)) return true;\n      if (!hassurrogates.test(s)) return false;\n      if (!surrogateqname.test(s)) return false;\n      var chars = s.match(surrogatechars),\n        pairs = s.match(surrogatepairs);\n      return pairs !== null && 2 * pairs.length === chars.length;\n    }\n  }\n});\n\n// external/npm/node_modules/domino/lib/attributes.js\nvar require_attributes = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/attributes.js\"(exports) {\n    var utils = require_utils();\n    exports.property = function (attr) {\n      if (Array.isArray(attr.type)) {\n        var valid = /* @__PURE__ */Object.create(null);\n        attr.type.forEach(function (val) {\n          valid[val.value || val] = val.alias || val;\n        });\n        var missingValueDefault = attr.missing;\n        if (missingValueDefault === void 0) {\n          missingValueDefault = null;\n        }\n        var invalidValueDefault = attr.invalid;\n        if (invalidValueDefault === void 0) {\n          invalidValueDefault = missingValueDefault;\n        }\n        return {\n          get: function () {\n            var v = this._getattr(attr.name);\n            if (v === null) return missingValueDefault;\n            v = valid[v.toLowerCase()];\n            if (v !== void 0) return v;\n            if (invalidValueDefault !== null) return invalidValueDefault;\n            return v;\n          },\n          set: function (v) {\n            this._setattr(attr.name, v);\n          }\n        };\n      } else if (attr.type === Boolean) {\n        return {\n          get: function () {\n            return this.hasAttribute(attr.name);\n          },\n          set: function (v) {\n            if (v) {\n              this._setattr(attr.name, \"\");\n            } else {\n              this.removeAttribute(attr.name);\n            }\n          }\n        };\n      } else if (attr.type === Number || attr.type === \"long\" || attr.type === \"unsigned long\" || attr.type === \"limited unsigned long with fallback\") {\n        return numberPropDesc(attr);\n      } else if (!attr.type || attr.type === String) {\n        return {\n          get: function () {\n            return this._getattr(attr.name) || \"\";\n          },\n          set: function (v) {\n            if (attr.treatNullAsEmptyString && v === null) {\n              v = \"\";\n            }\n            this._setattr(attr.name, v);\n          }\n        };\n      } else if (typeof attr.type === \"function\") {\n        return attr.type(attr.name, attr);\n      }\n      throw new Error(\"Invalid attribute definition\");\n    };\n    function numberPropDesc(a) {\n      var def;\n      if (typeof a.default === \"function\") {\n        def = a.default;\n      } else if (typeof a.default === \"number\") {\n        def = function () {\n          return a.default;\n        };\n      } else {\n        def = function () {\n          utils.assert(false, typeof a.default);\n        };\n      }\n      var unsigned_long = a.type === \"unsigned long\";\n      var signed_long = a.type === \"long\";\n      var unsigned_fallback = a.type === \"limited unsigned long with fallback\";\n      var min = a.min,\n        max = a.max,\n        setmin = a.setmin;\n      if (min === void 0) {\n        if (unsigned_long) min = 0;\n        if (signed_long) min = -2147483648;\n        if (unsigned_fallback) min = 1;\n      }\n      if (max === void 0) {\n        if (unsigned_long || signed_long || unsigned_fallback) max = 2147483647;\n      }\n      return {\n        get: function () {\n          var v = this._getattr(a.name);\n          var n = a.float ? parseFloat(v) : parseInt(v, 10);\n          if (v === null || !isFinite(n) || min !== void 0 && n < min || max !== void 0 && n > max) {\n            return def.call(this);\n          }\n          if (unsigned_long || signed_long || unsigned_fallback) {\n            if (!/^[ \\t\\n\\f\\r]*[-+]?[0-9]/.test(v)) {\n              return def.call(this);\n            }\n            n = n | 0;\n          }\n          return n;\n        },\n        set: function (v) {\n          if (!a.float) {\n            v = Math.floor(v);\n          }\n          if (setmin !== void 0 && v < setmin) {\n            utils.IndexSizeError(a.name + \" set to \" + v);\n          }\n          if (unsigned_long) {\n            v = v < 0 || v > 2147483647 ? def.call(this) : v | 0;\n          } else if (unsigned_fallback) {\n            v = v < 1 || v > 2147483647 ? def.call(this) : v | 0;\n          } else if (signed_long) {\n            v = v < -2147483648 || v > 2147483647 ? def.call(this) : v | 0;\n          }\n          this._setattr(a.name, String(v));\n        }\n      };\n    }\n    exports.registerChangeHandler = function (c, name, handler) {\n      var p = c.prototype;\n      if (!Object.prototype.hasOwnProperty.call(p, \"_attributeChangeHandlers\")) {\n        p._attributeChangeHandlers = Object.create(p._attributeChangeHandlers || null);\n      }\n      p._attributeChangeHandlers[name] = handler;\n    };\n  }\n});\n\n// external/npm/node_modules/domino/lib/FilteredElementList.js\nvar require_FilteredElementList = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/FilteredElementList.js\"(exports, module) {\n    module.exports = FilteredElementList;\n    var Node = require_Node();\n    function FilteredElementList(root, filter) {\n      this.root = root;\n      this.filter = filter;\n      this.lastModTime = root.lastModTime;\n      this.done = false;\n      this.cache = [];\n      this.traverse();\n    }\n    FilteredElementList.prototype = Object.create(Object.prototype, {\n      length: {\n        get: function () {\n          this.checkcache();\n          if (!this.done) this.traverse();\n          return this.cache.length;\n        }\n      },\n      item: {\n        value: function (n) {\n          this.checkcache();\n          if (!this.done && n >= this.cache.length) {\n            this.traverse();\n          }\n          return this.cache[n];\n        }\n      },\n      checkcache: {\n        value: function () {\n          if (this.lastModTime !== this.root.lastModTime) {\n            for (var i = this.cache.length - 1; i >= 0; i--) {\n              this[i] = void 0;\n            }\n            this.cache.length = 0;\n            this.done = false;\n            this.lastModTime = this.root.lastModTime;\n          }\n        }\n      },\n      traverse: {\n        value: function (n) {\n          if (n !== void 0) n++;\n          var elt;\n          while ((elt = this.next()) !== null) {\n            this[this.cache.length] = elt;\n            this.cache.push(elt);\n            if (n && this.cache.length === n) return;\n          }\n          this.done = true;\n        }\n      },\n      next: {\n        value: function () {\n          var start = this.cache.length === 0 ? this.root : this.cache[this.cache.length - 1];\n          var elt;\n          if (start.nodeType === Node.DOCUMENT_NODE) elt = start.documentElement;else elt = start.nextElement(this.root);\n          while (elt) {\n            if (this.filter(elt)) {\n              return elt;\n            }\n            elt = elt.nextElement(this.root);\n          }\n          return null;\n        }\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/DOMTokenList.js\nvar require_DOMTokenList = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/DOMTokenList.js\"(exports, module) {\n    var utils = require_utils();\n    module.exports = DOMTokenList;\n    function DOMTokenList(getter, setter) {\n      this._getString = getter;\n      this._setString = setter;\n      this._length = 0;\n      this._lastStringValue = \"\";\n      this._update();\n    }\n    Object.defineProperties(DOMTokenList.prototype, {\n      length: {\n        get: function () {\n          return this._length;\n        }\n      },\n      item: {\n        value: function (index) {\n          var list = getList(this);\n          if (index < 0 || index >= list.length) {\n            return null;\n          }\n          return list[index];\n        }\n      },\n      contains: {\n        value: function (token) {\n          token = String(token);\n          var list = getList(this);\n          return list.indexOf(token) > -1;\n        }\n      },\n      add: {\n        value: function () {\n          var list = getList(this);\n          for (var i = 0, len = arguments.length; i < len; i++) {\n            var token = handleErrors(arguments[i]);\n            if (list.indexOf(token) < 0) {\n              list.push(token);\n            }\n          }\n          this._update(list);\n        }\n      },\n      remove: {\n        value: function () {\n          var list = getList(this);\n          for (var i = 0, len = arguments.length; i < len; i++) {\n            var token = handleErrors(arguments[i]);\n            var index = list.indexOf(token);\n            if (index > -1) {\n              list.splice(index, 1);\n            }\n          }\n          this._update(list);\n        }\n      },\n      toggle: {\n        value: function toggle(token, force) {\n          token = handleErrors(token);\n          if (this.contains(token)) {\n            if (force === void 0 || force === false) {\n              this.remove(token);\n              return false;\n            }\n            return true;\n          } else {\n            if (force === void 0 || force === true) {\n              this.add(token);\n              return true;\n            }\n            return false;\n          }\n        }\n      },\n      replace: {\n        value: function replace(token, newToken) {\n          if (String(newToken) === \"\") {\n            utils.SyntaxError();\n          }\n          token = handleErrors(token);\n          newToken = handleErrors(newToken);\n          var list = getList(this);\n          var idx = list.indexOf(token);\n          if (idx < 0) {\n            return false;\n          }\n          var idx2 = list.indexOf(newToken);\n          if (idx2 < 0) {\n            list[idx] = newToken;\n          } else {\n            if (idx < idx2) {\n              list[idx] = newToken;\n              list.splice(idx2, 1);\n            } else {\n              list.splice(idx, 1);\n            }\n          }\n          this._update(list);\n          return true;\n        }\n      },\n      toString: {\n        value: function () {\n          return this._getString();\n        }\n      },\n      value: {\n        get: function () {\n          return this._getString();\n        },\n        set: function (v) {\n          this._setString(v);\n          this._update();\n        }\n      },\n      _update: {\n        value: function (list) {\n          if (list) {\n            fixIndex(this, list);\n            this._setString(list.join(\" \").trim());\n          } else {\n            fixIndex(this, getList(this));\n          }\n          this._lastStringValue = this._getString();\n        }\n      }\n    });\n    function fixIndex(clist, list) {\n      var oldLength = clist._length;\n      var i;\n      clist._length = list.length;\n      for (i = 0; i < list.length; i++) {\n        clist[i] = list[i];\n      }\n      for (; i < oldLength; i++) {\n        clist[i] = void 0;\n      }\n    }\n    function handleErrors(token) {\n      token = String(token);\n      if (token === \"\") {\n        utils.SyntaxError();\n      }\n      if (/[ \\t\\r\\n\\f]/.test(token)) {\n        utils.InvalidCharacterError();\n      }\n      return token;\n    }\n    function toArray(clist) {\n      var length = clist._length;\n      var arr = Array(length);\n      for (var i = 0; i < length; i++) {\n        arr[i] = clist[i];\n      }\n      return arr;\n    }\n    function getList(clist) {\n      var strProp = clist._getString();\n      if (strProp === clist._lastStringValue) {\n        return toArray(clist);\n      }\n      var str = strProp.replace(/(^[ \\t\\r\\n\\f]+)|([ \\t\\r\\n\\f]+$)/g, \"\");\n      if (str === \"\") {\n        return [];\n      } else {\n        var seen = /* @__PURE__ */Object.create(null);\n        return str.split(/[ \\t\\r\\n\\f]+/g).filter(function (n) {\n          var key = \"$\" + n;\n          if (seen[key]) {\n            return false;\n          }\n          seen[key] = true;\n          return true;\n        });\n      }\n    }\n  }\n});\n\n// external/npm/node_modules/domino/lib/select.js\nvar require_select = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/select.js\"(exports, module) {\n    var window = Object.create(null, {\n      location: {\n        get: function () {\n          throw new Error(\"window.location is not supported.\");\n        }\n      }\n    });\n    var compareDocumentPosition = function (a, b) {\n      return a.compareDocumentPosition(b);\n    };\n    var order = function (a, b) {\n      return compareDocumentPosition(a, b) & 2 ? 1 : -1;\n    };\n    var next = function (el) {\n      while ((el = el.nextSibling) && el.nodeType !== 1);\n      return el;\n    };\n    var prev = function (el) {\n      while ((el = el.previousSibling) && el.nodeType !== 1);\n      return el;\n    };\n    var child = function (el) {\n      if (el = el.firstChild) {\n        while (el.nodeType !== 1 && (el = el.nextSibling));\n      }\n      return el;\n    };\n    var lastChild = function (el) {\n      if (el = el.lastChild) {\n        while (el.nodeType !== 1 && (el = el.previousSibling));\n      }\n      return el;\n    };\n    var parentIsElement = function (n) {\n      if (!n.parentNode) {\n        return false;\n      }\n      var nodeType = n.parentNode.nodeType;\n      return nodeType === 1 || nodeType === 9;\n    };\n    var unquote = function (str) {\n      if (!str) return str;\n      var ch = str[0];\n      if (ch === '\"' || ch === \"'\") {\n        if (str[str.length - 1] === ch) {\n          str = str.slice(1, -1);\n        } else {\n          str = str.slice(1);\n        }\n        return str.replace(rules.str_escape, function (s) {\n          var m = /^\\\\(?:([0-9A-Fa-f]+)|([\\r\\n\\f]+))/.exec(s);\n          if (!m) {\n            return s.slice(1);\n          }\n          if (m[2]) {\n            return \"\";\n          }\n          var cp = parseInt(m[1], 16);\n          return String.fromCodePoint ? String.fromCodePoint(cp) : String.fromCharCode(cp);\n        });\n      } else if (rules.ident.test(str)) {\n        return decodeid(str);\n      } else {\n        return str;\n      }\n    };\n    var decodeid = function (str) {\n      return str.replace(rules.escape, function (s) {\n        var m = /^\\\\([0-9A-Fa-f]+)/.exec(s);\n        if (!m) {\n          return s[1];\n        }\n        var cp = parseInt(m[1], 16);\n        return String.fromCodePoint ? String.fromCodePoint(cp) : String.fromCharCode(cp);\n      });\n    };\n    var indexOf = function () {\n      if (Array.prototype.indexOf) {\n        return Array.prototype.indexOf;\n      }\n      return function (obj, item) {\n        var i = this.length;\n        while (i--) {\n          if (this[i] === item) return i;\n        }\n        return -1;\n      };\n    }();\n    var makeInside = function (start, end) {\n      var regex = rules.inside.source.replace(/</g, start).replace(/>/g, end);\n      return new RegExp(regex);\n    };\n    var replace = function (regex, name, val) {\n      regex = regex.source;\n      regex = regex.replace(name, val.source || val);\n      return new RegExp(regex);\n    };\n    var truncateUrl = function (url, num) {\n      return url.replace(/^(?:\\w+:\\/\\/|\\/+)/, \"\").replace(/(?:\\/+|\\/*#.*?)$/, \"\").split(\"/\", num).join(\"/\");\n    };\n    var parseNth = function (param_, test) {\n      var param = param_.replace(/\\s+/g, \"\"),\n        cap;\n      if (param === \"even\") {\n        param = \"2n+0\";\n      } else if (param === \"odd\") {\n        param = \"2n+1\";\n      } else if (param.indexOf(\"n\") === -1) {\n        param = \"0n\" + param;\n      }\n      cap = /^([+-])?(\\d+)?n([+-])?(\\d+)?$/.exec(param);\n      return {\n        group: cap[1] === \"-\" ? -(cap[2] || 1) : +(cap[2] || 1),\n        offset: cap[4] ? cap[3] === \"-\" ? -cap[4] : +cap[4] : 0\n      };\n    };\n    var nth = function (param_, test, last) {\n      var param = parseNth(param_),\n        group = param.group,\n        offset = param.offset,\n        find2 = !last ? child : lastChild,\n        advance = !last ? next : prev;\n      return function (el) {\n        if (!parentIsElement(el)) return;\n        var rel = find2(el.parentNode),\n          pos = 0;\n        while (rel) {\n          if (test(rel, el)) pos++;\n          if (rel === el) {\n            pos -= offset;\n            return group && pos ? pos % group === 0 && pos < 0 === group < 0 : !pos;\n          }\n          rel = advance(rel);\n        }\n      };\n    };\n    var selectors = {\n      \"*\": function () {\n        return function () {\n          return true;\n        };\n      }(),\n      \"type\": function (type) {\n        type = type.toLowerCase();\n        return function (el) {\n          return el.nodeName.toLowerCase() === type;\n        };\n      },\n      \"attr\": function (key, op, val, i) {\n        op = operators[op];\n        return function (el) {\n          var attr;\n          switch (key) {\n            case \"for\":\n              attr = el.htmlFor;\n              break;\n            case \"class\":\n              attr = el.className;\n              if (attr === \"\" && el.getAttribute(\"class\") == null) {\n                attr = null;\n              }\n              break;\n            case \"href\":\n            case \"src\":\n              attr = el.getAttribute(key, 2);\n              break;\n            case \"title\":\n              attr = el.getAttribute(\"title\") || null;\n              break;\n            case \"id\":\n            case \"lang\":\n            case \"dir\":\n            case \"accessKey\":\n            case \"hidden\":\n            case \"tabIndex\":\n            case \"style\":\n              if (el.getAttribute) {\n                attr = el.getAttribute(key);\n                break;\n              }\n            default:\n              if (el.hasAttribute && !el.hasAttribute(key)) {\n                break;\n              }\n              attr = el[key] != null ? el[key] : el.getAttribute && el.getAttribute(key);\n              break;\n          }\n          if (attr == null) return;\n          attr = attr + \"\";\n          if (i) {\n            attr = attr.toLowerCase();\n            val = val.toLowerCase();\n          }\n          return op(attr, val);\n        };\n      },\n      \":first-child\": function (el) {\n        return !prev(el) && parentIsElement(el);\n      },\n      \":last-child\": function (el) {\n        return !next(el) && parentIsElement(el);\n      },\n      \":only-child\": function (el) {\n        return !prev(el) && !next(el) && parentIsElement(el);\n      },\n      \":nth-child\": function (param, last) {\n        return nth(param, function () {\n          return true;\n        }, last);\n      },\n      \":nth-last-child\": function (param) {\n        return selectors[\":nth-child\"](param, true);\n      },\n      \":root\": function (el) {\n        return el.ownerDocument.documentElement === el;\n      },\n      \":empty\": function (el) {\n        return !el.firstChild;\n      },\n      \":not\": function (sel) {\n        var test = compileGroup(sel);\n        return function (el) {\n          return !test(el);\n        };\n      },\n      \":first-of-type\": function (el) {\n        if (!parentIsElement(el)) return;\n        var type = el.nodeName;\n        while (el = prev(el)) {\n          if (el.nodeName === type) return;\n        }\n        return true;\n      },\n      \":last-of-type\": function (el) {\n        if (!parentIsElement(el)) return;\n        var type = el.nodeName;\n        while (el = next(el)) {\n          if (el.nodeName === type) return;\n        }\n        return true;\n      },\n      \":only-of-type\": function (el) {\n        return selectors[\":first-of-type\"](el) && selectors[\":last-of-type\"](el);\n      },\n      \":nth-of-type\": function (param, last) {\n        return nth(param, function (rel, el) {\n          return rel.nodeName === el.nodeName;\n        }, last);\n      },\n      \":nth-last-of-type\": function (param) {\n        return selectors[\":nth-of-type\"](param, true);\n      },\n      \":checked\": function (el) {\n        return !!(el.checked || el.selected);\n      },\n      \":indeterminate\": function (el) {\n        return !selectors[\":checked\"](el);\n      },\n      \":enabled\": function (el) {\n        return !el.disabled && el.type !== \"hidden\";\n      },\n      \":disabled\": function (el) {\n        return !!el.disabled;\n      },\n      \":target\": function (el) {\n        return el.id === window.location.hash.substring(1);\n      },\n      \":focus\": function (el) {\n        return el === el.ownerDocument.activeElement;\n      },\n      \":is\": function (sel) {\n        return compileGroup(sel);\n      },\n      \":matches\": function (sel) {\n        return selectors[\":is\"](sel);\n      },\n      \":nth-match\": function (param, last) {\n        var args = param.split(/\\s*,\\s*/),\n          arg = args.shift(),\n          test = compileGroup(args.join(\",\"));\n        return nth(arg, test, last);\n      },\n      \":nth-last-match\": function (param) {\n        return selectors[\":nth-match\"](param, true);\n      },\n      \":links-here\": function (el) {\n        return el + \"\" === window.location + \"\";\n      },\n      \":lang\": function (param) {\n        return function (el) {\n          while (el) {\n            if (el.lang) return el.lang.indexOf(param) === 0;\n            el = el.parentNode;\n          }\n        };\n      },\n      \":dir\": function (param) {\n        return function (el) {\n          while (el) {\n            if (el.dir) return el.dir === param;\n            el = el.parentNode;\n          }\n        };\n      },\n      \":scope\": function (el, con) {\n        var context = con || el.ownerDocument;\n        if (context.nodeType === 9) {\n          return el === context.documentElement;\n        }\n        return el === context;\n      },\n      \":any-link\": function (el) {\n        return typeof el.href === \"string\";\n      },\n      \":local-link\": function (el) {\n        if (el.nodeName) {\n          return el.href && el.host === window.location.host;\n        }\n        var param = +el + 1;\n        return function (el2) {\n          if (!el2.href) return;\n          var url = window.location + \"\",\n            href = el2 + \"\";\n          return truncateUrl(url, param) === truncateUrl(href, param);\n        };\n      },\n      \":default\": function (el) {\n        return !!el.defaultSelected;\n      },\n      \":valid\": function (el) {\n        return el.willValidate || el.validity && el.validity.valid;\n      },\n      \":invalid\": function (el) {\n        return !selectors[\":valid\"](el);\n      },\n      \":in-range\": function (el) {\n        return el.value > el.min && el.value <= el.max;\n      },\n      \":out-of-range\": function (el) {\n        return !selectors[\":in-range\"](el);\n      },\n      \":required\": function (el) {\n        return !!el.required;\n      },\n      \":optional\": function (el) {\n        return !el.required;\n      },\n      \":read-only\": function (el) {\n        if (el.readOnly) return true;\n        var attr = el.getAttribute(\"contenteditable\"),\n          prop = el.contentEditable,\n          name = el.nodeName.toLowerCase();\n        name = name !== \"input\" && name !== \"textarea\";\n        return (name || el.disabled) && attr == null && prop !== \"true\";\n      },\n      \":read-write\": function (el) {\n        return !selectors[\":read-only\"](el);\n      },\n      \":hover\": function () {\n        throw new Error(\":hover is not supported.\");\n      },\n      \":active\": function () {\n        throw new Error(\":active is not supported.\");\n      },\n      \":link\": function () {\n        throw new Error(\":link is not supported.\");\n      },\n      \":visited\": function () {\n        throw new Error(\":visited is not supported.\");\n      },\n      \":column\": function () {\n        throw new Error(\":column is not supported.\");\n      },\n      \":nth-column\": function () {\n        throw new Error(\":nth-column is not supported.\");\n      },\n      \":nth-last-column\": function () {\n        throw new Error(\":nth-last-column is not supported.\");\n      },\n      \":current\": function () {\n        throw new Error(\":current is not supported.\");\n      },\n      \":past\": function () {\n        throw new Error(\":past is not supported.\");\n      },\n      \":future\": function () {\n        throw new Error(\":future is not supported.\");\n      },\n      \":contains\": function (param) {\n        return function (el) {\n          var text = el.innerText || el.textContent || el.value || \"\";\n          return text.indexOf(param) !== -1;\n        };\n      },\n      \":has\": function (param) {\n        return function (el) {\n          return find(param, el).length > 0;\n        };\n      }\n    };\n    var operators = {\n      \"-\": function () {\n        return true;\n      },\n      \"=\": function (attr, val) {\n        return attr === val;\n      },\n      \"*=\": function (attr, val) {\n        return attr.indexOf(val) !== -1;\n      },\n      \"~=\": function (attr, val) {\n        var i, s, f, l;\n        for (s = 0; true; s = i + 1) {\n          i = attr.indexOf(val, s);\n          if (i === -1) return false;\n          f = attr[i - 1];\n          l = attr[i + val.length];\n          if ((!f || f === \" \") && (!l || l === \" \")) return true;\n        }\n      },\n      \"|=\": function (attr, val) {\n        var i = attr.indexOf(val),\n          l;\n        if (i !== 0) return;\n        l = attr[i + val.length];\n        return l === \"-\" || !l;\n      },\n      \"^=\": function (attr, val) {\n        return attr.indexOf(val) === 0;\n      },\n      \"$=\": function (attr, val) {\n        var i = attr.lastIndexOf(val);\n        return i !== -1 && i + val.length === attr.length;\n      },\n      \"!=\": function (attr, val) {\n        return attr !== val;\n      }\n    };\n    var combinators = {\n      \" \": function (test) {\n        return function (el) {\n          while (el = el.parentNode) {\n            if (test(el)) return el;\n          }\n        };\n      },\n      \">\": function (test) {\n        return function (el) {\n          if (el = el.parentNode) {\n            return test(el) && el;\n          }\n        };\n      },\n      \"+\": function (test) {\n        return function (el) {\n          if (el = prev(el)) {\n            return test(el) && el;\n          }\n        };\n      },\n      \"~\": function (test) {\n        return function (el) {\n          while (el = prev(el)) {\n            if (test(el)) return el;\n          }\n        };\n      },\n      \"noop\": function (test) {\n        return function (el) {\n          return test(el) && el;\n        };\n      },\n      \"ref\": function (test, name) {\n        var node;\n        function ref(el) {\n          var doc = el.ownerDocument,\n            nodes = doc.getElementsByTagName(\"*\"),\n            i = nodes.length;\n          while (i--) {\n            node = nodes[i];\n            if (ref.test(el)) {\n              node = null;\n              return true;\n            }\n          }\n          node = null;\n        }\n        ref.combinator = function (el) {\n          if (!node || !node.getAttribute) return;\n          var attr = node.getAttribute(name) || \"\";\n          if (attr[0] === \"#\") attr = attr.substring(1);\n          if (attr === el.id && test(node)) {\n            return node;\n          }\n        };\n        return ref;\n      }\n    };\n    var rules = {\n      escape: /\\\\(?:[^0-9A-Fa-f\\r\\n]|[0-9A-Fa-f]{1,6}[\\r\\n\\t ]?)/g,\n      str_escape: /(escape)|\\\\(\\n|\\r\\n?|\\f)/g,\n      nonascii: /[\\u00A0-\\uFFFF]/,\n      cssid: /(?:(?!-?[0-9])(?:escape|nonascii|[-_a-zA-Z0-9])+)/,\n      qname: /^ *(cssid|\\*)/,\n      simple: /^(?:([.#]cssid)|pseudo|attr)/,\n      ref: /^ *\\/(cssid)\\/ */,\n      combinator: /^(?: +([^ \\w*.#\\\\]) +|( )+|([^ \\w*.#\\\\]))(?! *$)/,\n      attr: /^\\[(cssid)(?:([^\\w]?=)(inside))?\\]/,\n      pseudo: /^(:cssid)(?:\\((inside)\\))?/,\n      inside: /(?:\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'|<[^\"'>]*>|\\\\[\"'>]|[^\"'>])*/,\n      ident: /^(cssid)$/\n    };\n    rules.cssid = replace(rules.cssid, \"nonascii\", rules.nonascii);\n    rules.cssid = replace(rules.cssid, \"escape\", rules.escape);\n    rules.qname = replace(rules.qname, \"cssid\", rules.cssid);\n    rules.simple = replace(rules.simple, \"cssid\", rules.cssid);\n    rules.ref = replace(rules.ref, \"cssid\", rules.cssid);\n    rules.attr = replace(rules.attr, \"cssid\", rules.cssid);\n    rules.pseudo = replace(rules.pseudo, \"cssid\", rules.cssid);\n    rules.inside = replace(rules.inside, `[^\"'>]*`, rules.inside);\n    rules.attr = replace(rules.attr, \"inside\", makeInside(\"\\\\[\", \"\\\\]\"));\n    rules.pseudo = replace(rules.pseudo, \"inside\", makeInside(\"\\\\(\", \"\\\\)\"));\n    rules.simple = replace(rules.simple, \"pseudo\", rules.pseudo);\n    rules.simple = replace(rules.simple, \"attr\", rules.attr);\n    rules.ident = replace(rules.ident, \"cssid\", rules.cssid);\n    rules.str_escape = replace(rules.str_escape, \"escape\", rules.escape);\n    var compile = function (sel_) {\n      var sel = sel_.replace(/^\\s+|\\s+$/g, \"\"),\n        test,\n        filter = [],\n        buff = [],\n        subject,\n        qname,\n        cap,\n        op,\n        ref;\n      while (sel) {\n        if (cap = rules.qname.exec(sel)) {\n          sel = sel.substring(cap[0].length);\n          qname = decodeid(cap[1]);\n          buff.push(tok(qname, true));\n        } else if (cap = rules.simple.exec(sel)) {\n          sel = sel.substring(cap[0].length);\n          qname = \"*\";\n          buff.push(tok(qname, true));\n          buff.push(tok(cap));\n        } else {\n          throw new SyntaxError(\"Invalid selector.\");\n        }\n        while (cap = rules.simple.exec(sel)) {\n          sel = sel.substring(cap[0].length);\n          buff.push(tok(cap));\n        }\n        if (sel[0] === \"!\") {\n          sel = sel.substring(1);\n          subject = makeSubject();\n          subject.qname = qname;\n          buff.push(subject.simple);\n        }\n        if (cap = rules.ref.exec(sel)) {\n          sel = sel.substring(cap[0].length);\n          ref = combinators.ref(makeSimple(buff), decodeid(cap[1]));\n          filter.push(ref.combinator);\n          buff = [];\n          continue;\n        }\n        if (cap = rules.combinator.exec(sel)) {\n          sel = sel.substring(cap[0].length);\n          op = cap[1] || cap[2] || cap[3];\n          if (op === \",\") {\n            filter.push(combinators.noop(makeSimple(buff)));\n            break;\n          }\n        } else {\n          op = \"noop\";\n        }\n        if (!combinators[op]) {\n          throw new SyntaxError(\"Bad combinator.\");\n        }\n        filter.push(combinators[op](makeSimple(buff)));\n        buff = [];\n      }\n      test = makeTest(filter);\n      test.qname = qname;\n      test.sel = sel;\n      if (subject) {\n        subject.lname = test.qname;\n        subject.test = test;\n        subject.qname = subject.qname;\n        subject.sel = test.sel;\n        test = subject;\n      }\n      if (ref) {\n        ref.test = test;\n        ref.qname = test.qname;\n        ref.sel = test.sel;\n        test = ref;\n      }\n      return test;\n    };\n    var tok = function (cap, qname) {\n      if (qname) {\n        return cap === \"*\" ? selectors[\"*\"] : selectors.type(cap);\n      }\n      if (cap[1]) {\n        return cap[1][0] === \".\" ? selectors.attr(\"class\", \"~=\", decodeid(cap[1].substring(1)), false) : selectors.attr(\"id\", \"=\", decodeid(cap[1].substring(1)), false);\n      }\n      if (cap[2]) {\n        return cap[3] ? selectors[decodeid(cap[2])](unquote(cap[3])) : selectors[decodeid(cap[2])];\n      }\n      if (cap[4]) {\n        var value = cap[6];\n        var i = /[\"'\\s]\\s*I$/i.test(value);\n        if (i) {\n          value = value.replace(/\\s*I$/i, \"\");\n        }\n        return selectors.attr(decodeid(cap[4]), cap[5] || \"-\", unquote(value), i);\n      }\n      throw new SyntaxError(\"Unknown Selector.\");\n    };\n    var makeSimple = function (func) {\n      var l = func.length,\n        i;\n      if (l < 2) return func[0];\n      return function (el) {\n        if (!el) return;\n        for (i = 0; i < l; i++) {\n          if (!func[i](el)) return;\n        }\n        return true;\n      };\n    };\n    var makeTest = function (func) {\n      if (func.length < 2) {\n        return function (el) {\n          return !!func[0](el);\n        };\n      }\n      return function (el) {\n        var i = func.length;\n        while (i--) {\n          if (!(el = func[i](el))) return;\n        }\n        return true;\n      };\n    };\n    var makeSubject = function () {\n      var target;\n      function subject(el) {\n        var node = el.ownerDocument,\n          scope = node.getElementsByTagName(subject.lname),\n          i = scope.length;\n        while (i--) {\n          if (subject.test(scope[i]) && target === el) {\n            target = null;\n            return true;\n          }\n        }\n        target = null;\n      }\n      subject.simple = function (el) {\n        target = el;\n        return true;\n      };\n      return subject;\n    };\n    var compileGroup = function (sel) {\n      var test = compile(sel),\n        tests = [test];\n      while (test.sel) {\n        test = compile(test.sel);\n        tests.push(test);\n      }\n      if (tests.length < 2) return test;\n      return function (el) {\n        var l = tests.length,\n          i = 0;\n        for (; i < l; i++) {\n          if (tests[i](el)) return true;\n        }\n      };\n    };\n    var find = function (sel, node) {\n      var results = [],\n        test = compile(sel),\n        scope = node.getElementsByTagName(test.qname),\n        i = 0,\n        el;\n      while (el = scope[i++]) {\n        if (test(el)) results.push(el);\n      }\n      if (test.sel) {\n        while (test.sel) {\n          test = compile(test.sel);\n          scope = node.getElementsByTagName(test.qname);\n          i = 0;\n          while (el = scope[i++]) {\n            if (test(el) && indexOf.call(results, el) === -1) {\n              results.push(el);\n            }\n          }\n        }\n        results.sort(order);\n      }\n      return results;\n    };\n    module.exports = exports = function (sel, context) {\n      var id, r;\n      if (context.nodeType !== 11 && sel.indexOf(\" \") === -1) {\n        if (sel[0] === \"#\" && context.rooted && /^#[A-Z_][-A-Z0-9_]*$/i.test(sel)) {\n          if (context.doc._hasMultipleElementsWithId) {\n            id = sel.substring(1);\n            if (!context.doc._hasMultipleElementsWithId(id)) {\n              r = context.doc.getElementById(id);\n              return r ? [r] : [];\n            }\n          }\n        }\n        if (sel[0] === \".\" && /^\\.\\w+$/.test(sel)) {\n          return context.getElementsByClassName(sel.substring(1));\n        }\n        if (/^\\w+$/.test(sel)) {\n          return context.getElementsByTagName(sel);\n        }\n      }\n      return find(sel, context);\n    };\n    exports.selectors = selectors;\n    exports.operators = operators;\n    exports.combinators = combinators;\n    exports.matches = function (el, sel) {\n      var test = {\n        sel\n      };\n      do {\n        test = compile(test.sel);\n        if (test(el)) {\n          return true;\n        }\n      } while (test.sel);\n      return false;\n    };\n  }\n});\n\n// external/npm/node_modules/domino/lib/ChildNode.js\nvar require_ChildNode = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/ChildNode.js\"(exports, module) {\n    var Node = require_Node();\n    var LinkedList = require_LinkedList();\n    var createDocumentFragmentFromArguments = function (document, args) {\n      var docFrag = document.createDocumentFragment();\n      for (var i = 0; i < args.length; i++) {\n        var argItem = args[i];\n        var isNode = argItem instanceof Node;\n        docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)));\n      }\n      return docFrag;\n    };\n    var ChildNode = {\n      after: {\n        value: function after() {\n          var argArr = Array.prototype.slice.call(arguments);\n          var parentNode = this.parentNode,\n            nextSibling = this.nextSibling;\n          if (parentNode === null) {\n            return;\n          }\n          while (nextSibling && argArr.some(function (v) {\n            return v === nextSibling;\n          })) nextSibling = nextSibling.nextSibling;\n          var docFrag = createDocumentFragmentFromArguments(this.doc, argArr);\n          parentNode.insertBefore(docFrag, nextSibling);\n        }\n      },\n      before: {\n        value: function before() {\n          var argArr = Array.prototype.slice.call(arguments);\n          var parentNode = this.parentNode,\n            prevSibling = this.previousSibling;\n          if (parentNode === null) {\n            return;\n          }\n          while (prevSibling && argArr.some(function (v) {\n            return v === prevSibling;\n          })) prevSibling = prevSibling.previousSibling;\n          var docFrag = createDocumentFragmentFromArguments(this.doc, argArr);\n          var nextSibling = prevSibling ? prevSibling.nextSibling : parentNode.firstChild;\n          parentNode.insertBefore(docFrag, nextSibling);\n        }\n      },\n      remove: {\n        value: function remove() {\n          if (this.parentNode === null) return;\n          if (this.doc) {\n            this.doc._preremoveNodeIterators(this);\n            if (this.rooted) {\n              this.doc.mutateRemove(this);\n            }\n          }\n          this._remove();\n          this.parentNode = null;\n        }\n      },\n      _remove: {\n        value: function _remove() {\n          var parent = this.parentNode;\n          if (parent === null) return;\n          if (parent._childNodes) {\n            parent._childNodes.splice(this.index, 1);\n          } else if (parent._firstChild === this) {\n            if (this._nextSibling === this) {\n              parent._firstChild = null;\n            } else {\n              parent._firstChild = this._nextSibling;\n            }\n          }\n          LinkedList.remove(this);\n          parent.modify();\n        }\n      },\n      replaceWith: {\n        value: function replaceWith() {\n          var argArr = Array.prototype.slice.call(arguments);\n          var parentNode = this.parentNode,\n            nextSibling = this.nextSibling;\n          if (parentNode === null) {\n            return;\n          }\n          while (nextSibling && argArr.some(function (v) {\n            return v === nextSibling;\n          })) nextSibling = nextSibling.nextSibling;\n          var docFrag = createDocumentFragmentFromArguments(this.doc, argArr);\n          if (this.parentNode === parentNode) {\n            parentNode.replaceChild(docFrag, this);\n          } else {\n            parentNode.insertBefore(docFrag, nextSibling);\n          }\n        }\n      }\n    };\n    module.exports = ChildNode;\n  }\n});\n\n// external/npm/node_modules/domino/lib/NonDocumentTypeChildNode.js\nvar require_NonDocumentTypeChildNode = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/NonDocumentTypeChildNode.js\"(exports, module) {\n    var Node = require_Node();\n    var NonDocumentTypeChildNode = {\n      nextElementSibling: {\n        get: function () {\n          if (this.parentNode) {\n            for (var kid = this.nextSibling; kid !== null; kid = kid.nextSibling) {\n              if (kid.nodeType === Node.ELEMENT_NODE) return kid;\n            }\n          }\n          return null;\n        }\n      },\n      previousElementSibling: {\n        get: function () {\n          if (this.parentNode) {\n            for (var kid = this.previousSibling; kid !== null; kid = kid.previousSibling) {\n              if (kid.nodeType === Node.ELEMENT_NODE) return kid;\n            }\n          }\n          return null;\n        }\n      }\n    };\n    module.exports = NonDocumentTypeChildNode;\n  }\n});\n\n// external/npm/node_modules/domino/lib/NamedNodeMap.js\nvar require_NamedNodeMap = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/NamedNodeMap.js\"(exports, module) {\n    module.exports = NamedNodeMap;\n    var utils = require_utils();\n    function NamedNodeMap(element) {\n      this.element = element;\n    }\n    Object.defineProperties(NamedNodeMap.prototype, {\n      length: {\n        get: utils.shouldOverride\n      },\n      item: {\n        value: utils.shouldOverride\n      },\n      getNamedItem: {\n        value: function getNamedItem(qualifiedName) {\n          return this.element.getAttributeNode(qualifiedName);\n        }\n      },\n      getNamedItemNS: {\n        value: function getNamedItemNS(namespace, localName) {\n          return this.element.getAttributeNodeNS(namespace, localName);\n        }\n      },\n      setNamedItem: {\n        value: utils.nyi\n      },\n      setNamedItemNS: {\n        value: utils.nyi\n      },\n      removeNamedItem: {\n        value: function removeNamedItem(qualifiedName) {\n          var attr = this.element.getAttributeNode(qualifiedName);\n          if (attr) {\n            this.element.removeAttribute(qualifiedName);\n            return attr;\n          }\n          utils.NotFoundError();\n        }\n      },\n      removeNamedItemNS: {\n        value: function removeNamedItemNS(ns, lname) {\n          var attr = this.element.getAttributeNodeNS(ns, lname);\n          if (attr) {\n            this.element.removeAttributeNS(ns, lname);\n            return attr;\n          }\n          utils.NotFoundError();\n        }\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/Element.js\nvar require_Element = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/Element.js\"(exports, module) {\n    module.exports = Element;\n    var xml = require_xmlnames();\n    var utils = require_utils();\n    var NAMESPACE = utils.NAMESPACE;\n    var attributes = require_attributes();\n    var Node = require_Node();\n    var NodeList = require_NodeList();\n    var NodeUtils = require_NodeUtils();\n    var FilteredElementList = require_FilteredElementList();\n    var DOMTokenList = require_DOMTokenList();\n    var select = require_select();\n    var ContainerNode = require_ContainerNode();\n    var ChildNode = require_ChildNode();\n    var NonDocumentTypeChildNode = require_NonDocumentTypeChildNode();\n    var NamedNodeMap = require_NamedNodeMap();\n    var uppercaseCache = /* @__PURE__ */Object.create(null);\n    function Element(doc, localName, namespaceURI, prefix) {\n      ContainerNode.call(this);\n      this.nodeType = Node.ELEMENT_NODE;\n      this.ownerDocument = doc;\n      this.localName = localName;\n      this.namespaceURI = namespaceURI;\n      this.prefix = prefix;\n      this._tagName = void 0;\n      this._attrsByQName = /* @__PURE__ */Object.create(null);\n      this._attrsByLName = /* @__PURE__ */Object.create(null);\n      this._attrKeys = [];\n    }\n    function recursiveGetText(node, a) {\n      if (node.nodeType === Node.TEXT_NODE) {\n        a.push(node._data);\n      } else {\n        for (var i = 0, n = node.childNodes.length; i < n; i++) recursiveGetText(node.childNodes[i], a);\n      }\n    }\n    Element.prototype = Object.create(ContainerNode.prototype, {\n      isHTML: {\n        get: function isHTML() {\n          return this.namespaceURI === NAMESPACE.HTML && this.ownerDocument.isHTML;\n        }\n      },\n      tagName: {\n        get: function tagName() {\n          if (this._tagName === void 0) {\n            var tn;\n            if (this.prefix === null) {\n              tn = this.localName;\n            } else {\n              tn = this.prefix + \":\" + this.localName;\n            }\n            if (this.isHTML) {\n              var up = uppercaseCache[tn];\n              if (!up) {\n                uppercaseCache[tn] = up = utils.toASCIIUpperCase(tn);\n              }\n              tn = up;\n            }\n            this._tagName = tn;\n          }\n          return this._tagName;\n        }\n      },\n      nodeName: {\n        get: function () {\n          return this.tagName;\n        }\n      },\n      nodeValue: {\n        get: function () {\n          return null;\n        },\n        set: function () {}\n      },\n      textContent: {\n        get: function () {\n          var strings = [];\n          recursiveGetText(this, strings);\n          return strings.join(\"\");\n        },\n        set: function (newtext) {\n          this.removeChildren();\n          if (newtext !== null && newtext !== void 0 && newtext !== \"\") {\n            this._appendChild(this.ownerDocument.createTextNode(newtext));\n          }\n        }\n      },\n      innerText: {\n        get: function () {\n          var strings = [];\n          recursiveGetText(this, strings);\n          return strings.join(\"\").replace(/[ \\t\\n\\f\\r]+/g, \" \").trim();\n        },\n        set: function (newtext) {\n          this.removeChildren();\n          if (newtext !== null && newtext !== void 0 && newtext !== \"\") {\n            this._appendChild(this.ownerDocument.createTextNode(newtext));\n          }\n        }\n      },\n      innerHTML: {\n        get: function () {\n          return this.serialize();\n        },\n        set: utils.nyi\n      },\n      outerHTML: {\n        get: function () {\n          return NodeUtils.serializeOne(this, {\n            nodeType: 0\n          });\n        },\n        set: function (v) {\n          var document = this.ownerDocument;\n          var parent = this.parentNode;\n          if (parent === null) {\n            return;\n          }\n          if (parent.nodeType === Node.DOCUMENT_NODE) {\n            utils.NoModificationAllowedError();\n          }\n          if (parent.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n            parent = parent.ownerDocument.createElement(\"body\");\n          }\n          var parser = document.implementation.mozHTMLParser(document._address, parent);\n          parser.parse(v === null ? \"\" : String(v), true);\n          this.replaceWith(parser._asDocumentFragment());\n        }\n      },\n      _insertAdjacent: {\n        value: function _insertAdjacent(position, node) {\n          var first = false;\n          switch (position) {\n            case \"beforebegin\":\n              first = true;\n            case \"afterend\":\n              var parent = this.parentNode;\n              if (parent === null) {\n                return null;\n              }\n              return parent.insertBefore(node, first ? this : this.nextSibling);\n            case \"afterbegin\":\n              first = true;\n            case \"beforeend\":\n              return this.insertBefore(node, first ? this.firstChild : null);\n            default:\n              return utils.SyntaxError();\n          }\n        }\n      },\n      insertAdjacentElement: {\n        value: function insertAdjacentElement(position, element) {\n          if (element.nodeType !== Node.ELEMENT_NODE) {\n            throw new TypeError(\"not an element\");\n          }\n          position = utils.toASCIILowerCase(String(position));\n          return this._insertAdjacent(position, element);\n        }\n      },\n      insertAdjacentText: {\n        value: function insertAdjacentText(position, data) {\n          var textNode = this.ownerDocument.createTextNode(data);\n          position = utils.toASCIILowerCase(String(position));\n          this._insertAdjacent(position, textNode);\n        }\n      },\n      insertAdjacentHTML: {\n        value: function insertAdjacentHTML(position, text) {\n          position = utils.toASCIILowerCase(String(position));\n          text = String(text);\n          var context;\n          switch (position) {\n            case \"beforebegin\":\n            case \"afterend\":\n              context = this.parentNode;\n              if (context === null || context.nodeType === Node.DOCUMENT_NODE) {\n                utils.NoModificationAllowedError();\n              }\n              break;\n            case \"afterbegin\":\n            case \"beforeend\":\n              context = this;\n              break;\n            default:\n              utils.SyntaxError();\n          }\n          if (!(context instanceof Element) || context.ownerDocument.isHTML && context.localName === \"html\" && context.namespaceURI === NAMESPACE.HTML) {\n            context = context.ownerDocument.createElementNS(NAMESPACE.HTML, \"body\");\n          }\n          var parser = this.ownerDocument.implementation.mozHTMLParser(this.ownerDocument._address, context);\n          parser.parse(text, true);\n          this._insertAdjacent(position, parser._asDocumentFragment());\n        }\n      },\n      children: {\n        get: function () {\n          if (!this._children) {\n            this._children = new ChildrenCollection(this);\n          }\n          return this._children;\n        }\n      },\n      attributes: {\n        get: function () {\n          if (!this._attributes) {\n            this._attributes = new AttributesArray(this);\n          }\n          return this._attributes;\n        }\n      },\n      firstElementChild: {\n        get: function () {\n          for (var kid = this.firstChild; kid !== null; kid = kid.nextSibling) {\n            if (kid.nodeType === Node.ELEMENT_NODE) return kid;\n          }\n          return null;\n        }\n      },\n      lastElementChild: {\n        get: function () {\n          for (var kid = this.lastChild; kid !== null; kid = kid.previousSibling) {\n            if (kid.nodeType === Node.ELEMENT_NODE) return kid;\n          }\n          return null;\n        }\n      },\n      childElementCount: {\n        get: function () {\n          return this.children.length;\n        }\n      },\n      nextElement: {\n        value: function (root) {\n          if (!root) root = this.ownerDocument.documentElement;\n          var next = this.firstElementChild;\n          if (!next) {\n            if (this === root) return null;\n            next = this.nextElementSibling;\n          }\n          if (next) return next;\n          for (var parent = this.parentElement; parent && parent !== root; parent = parent.parentElement) {\n            next = parent.nextElementSibling;\n            if (next) return next;\n          }\n          return null;\n        }\n      },\n      getElementsByTagName: {\n        value: function getElementsByTagName(lname) {\n          var filter;\n          if (!lname) return new NodeList();\n          if (lname === \"*\") filter = function () {\n            return true;\n          };else if (this.isHTML) filter = htmlLocalNameElementFilter(lname);else filter = localNameElementFilter(lname);\n          return new FilteredElementList(this, filter);\n        }\n      },\n      getElementsByTagNameNS: {\n        value: function getElementsByTagNameNS(ns, lname) {\n          var filter;\n          if (ns === \"*\" && lname === \"*\") filter = function () {\n            return true;\n          };else if (ns === \"*\") filter = localNameElementFilter(lname);else if (lname === \"*\") filter = namespaceElementFilter(ns);else filter = namespaceLocalNameElementFilter(ns, lname);\n          return new FilteredElementList(this, filter);\n        }\n      },\n      getElementsByClassName: {\n        value: function getElementsByClassName(names) {\n          names = String(names).trim();\n          if (names === \"\") {\n            var result = new NodeList();\n            return result;\n          }\n          names = names.split(/[ \\t\\r\\n\\f]+/);\n          return new FilteredElementList(this, classNamesElementFilter(names));\n        }\n      },\n      getElementsByName: {\n        value: function getElementsByName(name) {\n          return new FilteredElementList(this, elementNameFilter(String(name)));\n        }\n      },\n      clone: {\n        value: function clone() {\n          var e;\n          if (this.namespaceURI !== NAMESPACE.HTML || this.prefix || !this.ownerDocument.isHTML) {\n            e = this.ownerDocument.createElementNS(this.namespaceURI, this.prefix !== null ? this.prefix + \":\" + this.localName : this.localName);\n          } else {\n            e = this.ownerDocument.createElement(this.localName);\n          }\n          for (var i = 0, n = this._attrKeys.length; i < n; i++) {\n            var lname = this._attrKeys[i];\n            var a = this._attrsByLName[lname];\n            var b = a.cloneNode();\n            b._setOwnerElement(e);\n            e._attrsByLName[lname] = b;\n            e._addQName(b);\n          }\n          e._attrKeys = this._attrKeys.concat();\n          return e;\n        }\n      },\n      isEqual: {\n        value: function isEqual(that) {\n          if (this.localName !== that.localName || this.namespaceURI !== that.namespaceURI || this.prefix !== that.prefix || this._numattrs !== that._numattrs) return false;\n          for (var i = 0, n = this._numattrs; i < n; i++) {\n            var a = this._attr(i);\n            if (!that.hasAttributeNS(a.namespaceURI, a.localName)) return false;\n            if (that.getAttributeNS(a.namespaceURI, a.localName) !== a.value) return false;\n          }\n          return true;\n        }\n      },\n      _lookupNamespacePrefix: {\n        value: function _lookupNamespacePrefix(ns, originalElement) {\n          if (this.namespaceURI && this.namespaceURI === ns && this.prefix !== null && originalElement.lookupNamespaceURI(this.prefix) === ns) {\n            return this.prefix;\n          }\n          for (var i = 0, n = this._numattrs; i < n; i++) {\n            var a = this._attr(i);\n            if (a.prefix === \"xmlns\" && a.value === ns && originalElement.lookupNamespaceURI(a.localName) === ns) {\n              return a.localName;\n            }\n          }\n          var parent = this.parentElement;\n          return parent ? parent._lookupNamespacePrefix(ns, originalElement) : null;\n        }\n      },\n      lookupNamespaceURI: {\n        value: function lookupNamespaceURI(prefix) {\n          if (prefix === \"\" || prefix === void 0) {\n            prefix = null;\n          }\n          if (this.namespaceURI !== null && this.prefix === prefix) return this.namespaceURI;\n          for (var i = 0, n = this._numattrs; i < n; i++) {\n            var a = this._attr(i);\n            if (a.namespaceURI === NAMESPACE.XMLNS) {\n              if (a.prefix === \"xmlns\" && a.localName === prefix || prefix === null && a.prefix === null && a.localName === \"xmlns\") {\n                return a.value || null;\n              }\n            }\n          }\n          var parent = this.parentElement;\n          return parent ? parent.lookupNamespaceURI(prefix) : null;\n        }\n      },\n      getAttribute: {\n        value: function getAttribute(qname) {\n          var attr = this.getAttributeNode(qname);\n          return attr ? attr.value : null;\n        }\n      },\n      getAttributeNS: {\n        value: function getAttributeNS(ns, lname) {\n          var attr = this.getAttributeNodeNS(ns, lname);\n          return attr ? attr.value : null;\n        }\n      },\n      getAttributeNode: {\n        value: function getAttributeNode(qname) {\n          qname = String(qname);\n          if (/[A-Z]/.test(qname) && this.isHTML) qname = utils.toASCIILowerCase(qname);\n          var attr = this._attrsByQName[qname];\n          if (!attr) return null;\n          if (Array.isArray(attr)) attr = attr[0];\n          return attr;\n        }\n      },\n      getAttributeNodeNS: {\n        value: function getAttributeNodeNS(ns, lname) {\n          ns = ns === void 0 || ns === null ? \"\" : String(ns);\n          lname = String(lname);\n          var attr = this._attrsByLName[ns + \"|\" + lname];\n          return attr ? attr : null;\n        }\n      },\n      hasAttribute: {\n        value: function hasAttribute(qname) {\n          qname = String(qname);\n          if (/[A-Z]/.test(qname) && this.isHTML) qname = utils.toASCIILowerCase(qname);\n          return this._attrsByQName[qname] !== void 0;\n        }\n      },\n      hasAttributeNS: {\n        value: function hasAttributeNS(ns, lname) {\n          ns = ns === void 0 || ns === null ? \"\" : String(ns);\n          lname = String(lname);\n          var key = ns + \"|\" + lname;\n          return this._attrsByLName[key] !== void 0;\n        }\n      },\n      hasAttributes: {\n        value: function hasAttributes() {\n          return this._numattrs > 0;\n        }\n      },\n      toggleAttribute: {\n        value: function toggleAttribute(qname, force) {\n          qname = String(qname);\n          if (!xml.isValidName(qname)) utils.InvalidCharacterError();\n          if (/[A-Z]/.test(qname) && this.isHTML) qname = utils.toASCIILowerCase(qname);\n          var a = this._attrsByQName[qname];\n          if (a === void 0) {\n            if (force === void 0 || force === true) {\n              this._setAttribute(qname, \"\");\n              return true;\n            }\n            return false;\n          } else {\n            if (force === void 0 || force === false) {\n              this.removeAttribute(qname);\n              return false;\n            }\n            return true;\n          }\n        }\n      },\n      _setAttribute: {\n        value: function _setAttribute(qname, value) {\n          var attr = this._attrsByQName[qname];\n          var isnew;\n          if (!attr) {\n            attr = this._newattr(qname);\n            isnew = true;\n          } else {\n            if (Array.isArray(attr)) attr = attr[0];\n          }\n          attr.value = value;\n          if (this._attributes) this._attributes[qname] = attr;\n          if (isnew && this._newattrhook) this._newattrhook(qname, value);\n        }\n      },\n      setAttribute: {\n        value: function setAttribute(qname, value) {\n          qname = String(qname);\n          if (!xml.isValidName(qname)) utils.InvalidCharacterError();\n          if (/[A-Z]/.test(qname) && this.isHTML) qname = utils.toASCIILowerCase(qname);\n          this._setAttribute(qname, String(value));\n        }\n      },\n      _setAttributeNS: {\n        value: function _setAttributeNS(ns, qname, value) {\n          var pos = qname.indexOf(\":\"),\n            prefix,\n            lname;\n          if (pos < 0) {\n            prefix = null;\n            lname = qname;\n          } else {\n            prefix = qname.substring(0, pos);\n            lname = qname.substring(pos + 1);\n          }\n          if (ns === \"\" || ns === void 0) ns = null;\n          var key = (ns === null ? \"\" : ns) + \"|\" + lname;\n          var attr = this._attrsByLName[key];\n          var isnew;\n          if (!attr) {\n            attr = new Attr(this, lname, prefix, ns);\n            isnew = true;\n            this._attrsByLName[key] = attr;\n            if (this._attributes) {\n              this._attributes[this._attrKeys.length] = attr;\n            }\n            this._attrKeys.push(key);\n            this._addQName(attr);\n          }\n          attr.value = value;\n          if (isnew && this._newattrhook) this._newattrhook(qname, value);\n        }\n      },\n      setAttributeNS: {\n        value: function setAttributeNS(ns, qname, value) {\n          ns = ns === null || ns === void 0 || ns === \"\" ? null : String(ns);\n          qname = String(qname);\n          if (!xml.isValidQName(qname)) utils.InvalidCharacterError();\n          var pos = qname.indexOf(\":\");\n          var prefix = pos < 0 ? null : qname.substring(0, pos);\n          if (prefix !== null && ns === null || prefix === \"xml\" && ns !== NAMESPACE.XML || (qname === \"xmlns\" || prefix === \"xmlns\") && ns !== NAMESPACE.XMLNS || ns === NAMESPACE.XMLNS && !(qname === \"xmlns\" || prefix === \"xmlns\")) utils.NamespaceError();\n          this._setAttributeNS(ns, qname, String(value));\n        }\n      },\n      setAttributeNode: {\n        value: function setAttributeNode(attr) {\n          if (attr.ownerElement !== null && attr.ownerElement !== this) {\n            utils.InUseAttributeError();\n          }\n          var result = null;\n          var oldAttrs = this._attrsByQName[attr.name];\n          if (oldAttrs) {\n            if (!Array.isArray(oldAttrs)) {\n              oldAttrs = [oldAttrs];\n            }\n            if (oldAttrs.some(function (a) {\n              return a === attr;\n            })) {\n              return attr;\n            } else if (attr.ownerElement !== null) {\n              utils.InUseAttributeError();\n            }\n            oldAttrs.forEach(function (a) {\n              this.removeAttributeNode(a);\n            }, this);\n            result = oldAttrs[0];\n          }\n          this.setAttributeNodeNS(attr);\n          return result;\n        }\n      },\n      setAttributeNodeNS: {\n        value: function setAttributeNodeNS(attr) {\n          if (attr.ownerElement !== null) {\n            utils.InUseAttributeError();\n          }\n          var ns = attr.namespaceURI;\n          var key = (ns === null ? \"\" : ns) + \"|\" + attr.localName;\n          var oldAttr = this._attrsByLName[key];\n          if (oldAttr) {\n            this.removeAttributeNode(oldAttr);\n          }\n          attr._setOwnerElement(this);\n          this._attrsByLName[key] = attr;\n          if (this._attributes) {\n            this._attributes[this._attrKeys.length] = attr;\n          }\n          this._attrKeys.push(key);\n          this._addQName(attr);\n          if (this._newattrhook) this._newattrhook(attr.name, attr.value);\n          return oldAttr || null;\n        }\n      },\n      removeAttribute: {\n        value: function removeAttribute(qname) {\n          qname = String(qname);\n          if (/[A-Z]/.test(qname) && this.isHTML) qname = utils.toASCIILowerCase(qname);\n          var attr = this._attrsByQName[qname];\n          if (!attr) return;\n          if (Array.isArray(attr)) {\n            if (attr.length > 2) {\n              attr = attr.shift();\n            } else {\n              this._attrsByQName[qname] = attr[1];\n              attr = attr[0];\n            }\n          } else {\n            this._attrsByQName[qname] = void 0;\n          }\n          var ns = attr.namespaceURI;\n          var key = (ns === null ? \"\" : ns) + \"|\" + attr.localName;\n          this._attrsByLName[key] = void 0;\n          var i = this._attrKeys.indexOf(key);\n          if (this._attributes) {\n            Array.prototype.splice.call(this._attributes, i, 1);\n            this._attributes[qname] = void 0;\n          }\n          this._attrKeys.splice(i, 1);\n          var onchange = attr.onchange;\n          attr._setOwnerElement(null);\n          if (onchange) {\n            onchange.call(attr, this, attr.localName, attr.value, null);\n          }\n          if (this.rooted) this.ownerDocument.mutateRemoveAttr(attr);\n        }\n      },\n      removeAttributeNS: {\n        value: function removeAttributeNS(ns, lname) {\n          ns = ns === void 0 || ns === null ? \"\" : String(ns);\n          lname = String(lname);\n          var key = ns + \"|\" + lname;\n          var attr = this._attrsByLName[key];\n          if (!attr) return;\n          this._attrsByLName[key] = void 0;\n          var i = this._attrKeys.indexOf(key);\n          if (this._attributes) {\n            Array.prototype.splice.call(this._attributes, i, 1);\n          }\n          this._attrKeys.splice(i, 1);\n          this._removeQName(attr);\n          var onchange = attr.onchange;\n          attr._setOwnerElement(null);\n          if (onchange) {\n            onchange.call(attr, this, attr.localName, attr.value, null);\n          }\n          if (this.rooted) this.ownerDocument.mutateRemoveAttr(attr);\n        }\n      },\n      removeAttributeNode: {\n        value: function removeAttributeNode(attr) {\n          var ns = attr.namespaceURI;\n          var key = (ns === null ? \"\" : ns) + \"|\" + attr.localName;\n          if (this._attrsByLName[key] !== attr) {\n            utils.NotFoundError();\n          }\n          this.removeAttributeNS(ns, attr.localName);\n          return attr;\n        }\n      },\n      getAttributeNames: {\n        value: function getAttributeNames() {\n          var elt = this;\n          return this._attrKeys.map(function (key) {\n            return elt._attrsByLName[key].name;\n          });\n        }\n      },\n      _getattr: {\n        value: function _getattr(qname) {\n          var attr = this._attrsByQName[qname];\n          return attr ? attr.value : null;\n        }\n      },\n      _setattr: {\n        value: function _setattr(qname, value) {\n          var attr = this._attrsByQName[qname];\n          var isnew;\n          if (!attr) {\n            attr = this._newattr(qname);\n            isnew = true;\n          }\n          attr.value = String(value);\n          if (this._attributes) this._attributes[qname] = attr;\n          if (isnew && this._newattrhook) this._newattrhook(qname, value);\n        }\n      },\n      _newattr: {\n        value: function _newattr(qname) {\n          var attr = new Attr(this, qname, null, null);\n          var key = \"|\" + qname;\n          this._attrsByQName[qname] = attr;\n          this._attrsByLName[key] = attr;\n          if (this._attributes) {\n            this._attributes[this._attrKeys.length] = attr;\n          }\n          this._attrKeys.push(key);\n          return attr;\n        }\n      },\n      _addQName: {\n        value: function (attr) {\n          var qname = attr.name;\n          var existing = this._attrsByQName[qname];\n          if (!existing) {\n            this._attrsByQName[qname] = attr;\n          } else if (Array.isArray(existing)) {\n            existing.push(attr);\n          } else {\n            this._attrsByQName[qname] = [existing, attr];\n          }\n          if (this._attributes) this._attributes[qname] = attr;\n        }\n      },\n      _removeQName: {\n        value: function (attr) {\n          var qname = attr.name;\n          var target = this._attrsByQName[qname];\n          if (Array.isArray(target)) {\n            var idx = target.indexOf(attr);\n            utils.assert(idx !== -1);\n            if (target.length === 2) {\n              this._attrsByQName[qname] = target[1 - idx];\n              if (this._attributes) {\n                this._attributes[qname] = this._attrsByQName[qname];\n              }\n            } else {\n              target.splice(idx, 1);\n              if (this._attributes && this._attributes[qname] === attr) {\n                this._attributes[qname] = target[0];\n              }\n            }\n          } else {\n            utils.assert(target === attr);\n            this._attrsByQName[qname] = void 0;\n            if (this._attributes) {\n              this._attributes[qname] = void 0;\n            }\n          }\n        }\n      },\n      _numattrs: {\n        get: function () {\n          return this._attrKeys.length;\n        }\n      },\n      _attr: {\n        value: function (n) {\n          return this._attrsByLName[this._attrKeys[n]];\n        }\n      },\n      id: attributes.property({\n        name: \"id\"\n      }),\n      className: attributes.property({\n        name: \"class\"\n      }),\n      classList: {\n        get: function () {\n          var self = this;\n          if (this._classList) {\n            return this._classList;\n          }\n          var dtlist = new DOMTokenList(function () {\n            return self.className || \"\";\n          }, function (v) {\n            self.className = v;\n          });\n          this._classList = dtlist;\n          return dtlist;\n        },\n        set: function (v) {\n          this.className = v;\n        }\n      },\n      matches: {\n        value: function (selector) {\n          return select.matches(this, selector);\n        }\n      },\n      closest: {\n        value: function (selector) {\n          var el = this;\n          do {\n            if (el.matches && el.matches(selector)) {\n              return el;\n            }\n            el = el.parentElement || el.parentNode;\n          } while (el !== null && el.nodeType === Node.ELEMENT_NODE);\n          return null;\n        }\n      },\n      querySelector: {\n        value: function (selector) {\n          return select(selector, this)[0];\n        }\n      },\n      querySelectorAll: {\n        value: function (selector) {\n          var nodes = select(selector, this);\n          return nodes.item ? nodes : new NodeList(nodes);\n        }\n      }\n    });\n    Object.defineProperties(Element.prototype, ChildNode);\n    Object.defineProperties(Element.prototype, NonDocumentTypeChildNode);\n    attributes.registerChangeHandler(Element, \"id\", function (element, lname, oldval, newval) {\n      if (element.rooted) {\n        if (oldval) {\n          element.ownerDocument.delId(oldval, element);\n        }\n        if (newval) {\n          element.ownerDocument.addId(newval, element);\n        }\n      }\n    });\n    attributes.registerChangeHandler(Element, \"class\", function (element, lname, oldval, newval) {\n      if (element._classList) {\n        element._classList._update();\n      }\n    });\n    function Attr(elt, lname, prefix, namespace, value) {\n      this.localName = lname;\n      this.prefix = prefix === null || prefix === \"\" ? null : \"\" + prefix;\n      this.namespaceURI = namespace === null || namespace === \"\" ? null : \"\" + namespace;\n      this.data = value;\n      this._setOwnerElement(elt);\n    }\n    Attr.prototype = Object.create(Object.prototype, {\n      ownerElement: {\n        get: function () {\n          return this._ownerElement;\n        }\n      },\n      _setOwnerElement: {\n        value: function _setOwnerElement(elt) {\n          this._ownerElement = elt;\n          if (this.prefix === null && this.namespaceURI === null && elt) {\n            this.onchange = elt._attributeChangeHandlers[this.localName];\n          } else {\n            this.onchange = null;\n          }\n        }\n      },\n      name: {\n        get: function () {\n          return this.prefix ? this.prefix + \":\" + this.localName : this.localName;\n        }\n      },\n      specified: {\n        get: function () {\n          return true;\n        }\n      },\n      value: {\n        get: function () {\n          return this.data;\n        },\n        set: function (value) {\n          var oldval = this.data;\n          value = value === void 0 ? \"\" : value + \"\";\n          if (value === oldval) return;\n          this.data = value;\n          if (this.ownerElement) {\n            if (this.onchange) this.onchange(this.ownerElement, this.localName, oldval, value);\n            if (this.ownerElement.rooted) this.ownerElement.ownerDocument.mutateAttr(this, oldval);\n          }\n        }\n      },\n      cloneNode: {\n        value: function cloneNode(deep) {\n          return new Attr(null, this.localName, this.prefix, this.namespaceURI, this.data);\n        }\n      },\n      nodeType: {\n        get: function () {\n          return Node.ATTRIBUTE_NODE;\n        }\n      },\n      nodeName: {\n        get: function () {\n          return this.name;\n        }\n      },\n      nodeValue: {\n        get: function () {\n          return this.value;\n        },\n        set: function (v) {\n          this.value = v;\n        }\n      },\n      textContent: {\n        get: function () {\n          return this.value;\n        },\n        set: function (v) {\n          if (v === null || v === void 0) {\n            v = \"\";\n          }\n          this.value = v;\n        }\n      },\n      innerText: {\n        get: function () {\n          return this.value;\n        },\n        set: function (v) {\n          if (v === null || v === void 0) {\n            v = \"\";\n          }\n          this.value = v;\n        }\n      }\n    });\n    Element._Attr = Attr;\n    function AttributesArray(elt) {\n      NamedNodeMap.call(this, elt);\n      for (var name in elt._attrsByQName) {\n        this[name] = elt._attrsByQName[name];\n      }\n      for (var i = 0; i < elt._attrKeys.length; i++) {\n        this[i] = elt._attrsByLName[elt._attrKeys[i]];\n      }\n    }\n    AttributesArray.prototype = Object.create(NamedNodeMap.prototype, {\n      length: {\n        get: function () {\n          return this.element._attrKeys.length;\n        },\n        set: function () {}\n      },\n      item: {\n        value: function (n) {\n          n = n >>> 0;\n          if (n >= this.length) {\n            return null;\n          }\n          return this.element._attrsByLName[this.element._attrKeys[n]];\n        }\n      }\n    });\n    var _a;\n    if ((_a = globalThis.Symbol) == null ? void 0 : _a.iterator) {\n      AttributesArray.prototype[globalThis.Symbol.iterator] = function () {\n        var i = 0,\n          n = this.length,\n          self = this;\n        return {\n          next: function () {\n            if (i < n) return {\n              value: self.item(i++)\n            };\n            return {\n              done: true\n            };\n          }\n        };\n      };\n    }\n    function ChildrenCollection(e) {\n      this.element = e;\n      this.updateCache();\n    }\n    ChildrenCollection.prototype = Object.create(Object.prototype, {\n      length: {\n        get: function () {\n          this.updateCache();\n          return this.childrenByNumber.length;\n        }\n      },\n      item: {\n        value: function item(n) {\n          this.updateCache();\n          return this.childrenByNumber[n] || null;\n        }\n      },\n      namedItem: {\n        value: function namedItem(name) {\n          this.updateCache();\n          return this.childrenByName[name] || null;\n        }\n      },\n      namedItems: {\n        get: function () {\n          this.updateCache();\n          return this.childrenByName;\n        }\n      },\n      updateCache: {\n        value: function updateCache() {\n          var namedElts = /^(a|applet|area|embed|form|frame|frameset|iframe|img|object)$/;\n          if (this.lastModTime !== this.element.lastModTime) {\n            this.lastModTime = this.element.lastModTime;\n            var n = this.childrenByNumber && this.childrenByNumber.length || 0;\n            for (var i = 0; i < n; i++) {\n              this[i] = void 0;\n            }\n            this.childrenByNumber = [];\n            this.childrenByName = /* @__PURE__ */Object.create(null);\n            for (var c = this.element.firstChild; c !== null; c = c.nextSibling) {\n              if (c.nodeType === Node.ELEMENT_NODE) {\n                this[this.childrenByNumber.length] = c;\n                this.childrenByNumber.push(c);\n                var id = c.getAttribute(\"id\");\n                if (id && !this.childrenByName[id]) this.childrenByName[id] = c;\n                var name = c.getAttribute(\"name\");\n                if (name && this.element.namespaceURI === NAMESPACE.HTML && namedElts.test(this.element.localName) && !this.childrenByName[name]) this.childrenByName[id] = c;\n              }\n            }\n          }\n        }\n      }\n    });\n    function localNameElementFilter(lname) {\n      return function (e) {\n        return e.localName === lname;\n      };\n    }\n    function htmlLocalNameElementFilter(lname) {\n      var lclname = utils.toASCIILowerCase(lname);\n      if (lclname === lname) return localNameElementFilter(lname);\n      return function (e) {\n        return e.isHTML ? e.localName === lclname : e.localName === lname;\n      };\n    }\n    function namespaceElementFilter(ns) {\n      return function (e) {\n        return e.namespaceURI === ns;\n      };\n    }\n    function namespaceLocalNameElementFilter(ns, lname) {\n      return function (e) {\n        return e.namespaceURI === ns && e.localName === lname;\n      };\n    }\n    function classNamesElementFilter(names) {\n      return function (e) {\n        return names.every(function (n) {\n          return e.classList.contains(n);\n        });\n      };\n    }\n    function elementNameFilter(name) {\n      return function (e) {\n        if (e.namespaceURI !== NAMESPACE.HTML) {\n          return false;\n        }\n        return e.getAttribute(\"name\") === name;\n      };\n    }\n  }\n});\n\n// external/npm/node_modules/domino/lib/Leaf.js\nvar require_Leaf = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/Leaf.js\"(exports, module) {\n    module.exports = Leaf;\n    var Node = require_Node();\n    var NodeList = require_NodeList();\n    var utils = require_utils();\n    var HierarchyRequestError = utils.HierarchyRequestError;\n    var NotFoundError = utils.NotFoundError;\n    function Leaf() {\n      Node.call(this);\n    }\n    Leaf.prototype = Object.create(Node.prototype, {\n      hasChildNodes: {\n        value: function () {\n          return false;\n        }\n      },\n      firstChild: {\n        value: null\n      },\n      lastChild: {\n        value: null\n      },\n      insertBefore: {\n        value: function (node, child) {\n          if (!node.nodeType) throw new TypeError(\"not a node\");\n          HierarchyRequestError();\n        }\n      },\n      replaceChild: {\n        value: function (node, child) {\n          if (!node.nodeType) throw new TypeError(\"not a node\");\n          HierarchyRequestError();\n        }\n      },\n      removeChild: {\n        value: function (node) {\n          if (!node.nodeType) throw new TypeError(\"not a node\");\n          NotFoundError();\n        }\n      },\n      removeChildren: {\n        value: function () {}\n      },\n      childNodes: {\n        get: function () {\n          if (!this._childNodes) this._childNodes = new NodeList();\n          return this._childNodes;\n        }\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/CharacterData.js\nvar require_CharacterData = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/CharacterData.js\"(exports, module) {\n    module.exports = CharacterData;\n    var Leaf = require_Leaf();\n    var utils = require_utils();\n    var ChildNode = require_ChildNode();\n    var NonDocumentTypeChildNode = require_NonDocumentTypeChildNode();\n    function CharacterData() {\n      Leaf.call(this);\n    }\n    CharacterData.prototype = Object.create(Leaf.prototype, {\n      substringData: {\n        value: function substringData(offset, count) {\n          if (arguments.length < 2) {\n            throw new TypeError(\"Not enough arguments\");\n          }\n          offset = offset >>> 0;\n          count = count >>> 0;\n          if (offset > this.data.length || offset < 0 || count < 0) {\n            utils.IndexSizeError();\n          }\n          return this.data.substring(offset, offset + count);\n        }\n      },\n      appendData: {\n        value: function appendData(data) {\n          if (arguments.length < 1) {\n            throw new TypeError(\"Not enough arguments\");\n          }\n          this.data += String(data);\n        }\n      },\n      insertData: {\n        value: function insertData(offset, data) {\n          return this.replaceData(offset, 0, data);\n        }\n      },\n      deleteData: {\n        value: function deleteData(offset, count) {\n          return this.replaceData(offset, count, \"\");\n        }\n      },\n      replaceData: {\n        value: function replaceData(offset, count, data) {\n          var curtext = this.data,\n            len = curtext.length;\n          offset = offset >>> 0;\n          count = count >>> 0;\n          data = String(data);\n          if (offset > len || offset < 0) utils.IndexSizeError();\n          if (offset + count > len) count = len - offset;\n          var prefix = curtext.substring(0, offset),\n            suffix = curtext.substring(offset + count);\n          this.data = prefix + data + suffix;\n        }\n      },\n      isEqual: {\n        value: function isEqual(n) {\n          return this._data === n._data;\n        }\n      },\n      length: {\n        get: function () {\n          return this.data.length;\n        }\n      }\n    });\n    Object.defineProperties(CharacterData.prototype, ChildNode);\n    Object.defineProperties(CharacterData.prototype, NonDocumentTypeChildNode);\n  }\n});\n\n// external/npm/node_modules/domino/lib/Text.js\nvar require_Text = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/Text.js\"(exports, module) {\n    module.exports = Text;\n    var utils = require_utils();\n    var Node = require_Node();\n    var CharacterData = require_CharacterData();\n    function Text(doc, data) {\n      CharacterData.call(this);\n      this.nodeType = Node.TEXT_NODE;\n      this.ownerDocument = doc;\n      this._data = data;\n      this._index = void 0;\n    }\n    var nodeValue = {\n      get: function () {\n        return this._data;\n      },\n      set: function (v) {\n        if (v === null || v === void 0) {\n          v = \"\";\n        } else {\n          v = String(v);\n        }\n        if (v === this._data) return;\n        this._data = v;\n        if (this.rooted) this.ownerDocument.mutateValue(this);\n        if (this.parentNode && this.parentNode._textchangehook) this.parentNode._textchangehook(this);\n      }\n    };\n    Text.prototype = Object.create(CharacterData.prototype, {\n      nodeName: {\n        value: \"#text\"\n      },\n      nodeValue,\n      textContent: nodeValue,\n      innerText: nodeValue,\n      data: {\n        get: nodeValue.get,\n        set: function (v) {\n          nodeValue.set.call(this, v === null ? \"\" : String(v));\n        }\n      },\n      splitText: {\n        value: function splitText(offset) {\n          if (offset > this._data.length || offset < 0) utils.IndexSizeError();\n          var newdata = this._data.substring(offset),\n            newnode = this.ownerDocument.createTextNode(newdata);\n          this.data = this.data.substring(0, offset);\n          var parent = this.parentNode;\n          if (parent !== null) parent.insertBefore(newnode, this.nextSibling);\n          return newnode;\n        }\n      },\n      wholeText: {\n        get: function wholeText() {\n          var result = this.textContent;\n          for (var next = this.nextSibling; next; next = next.nextSibling) {\n            if (next.nodeType !== Node.TEXT_NODE) {\n              break;\n            }\n            result += next.textContent;\n          }\n          return result;\n        }\n      },\n      replaceWholeText: {\n        value: utils.nyi\n      },\n      clone: {\n        value: function clone() {\n          return new Text(this.ownerDocument, this._data);\n        }\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/Comment.js\nvar require_Comment = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/Comment.js\"(exports, module) {\n    module.exports = Comment;\n    var Node = require_Node();\n    var CharacterData = require_CharacterData();\n    function Comment(doc, data) {\n      CharacterData.call(this);\n      this.nodeType = Node.COMMENT_NODE;\n      this.ownerDocument = doc;\n      this._data = data;\n    }\n    var nodeValue = {\n      get: function () {\n        return this._data;\n      },\n      set: function (v) {\n        if (v === null || v === void 0) {\n          v = \"\";\n        } else {\n          v = String(v);\n        }\n        this._data = v;\n        if (this.rooted) this.ownerDocument.mutateValue(this);\n      }\n    };\n    Comment.prototype = Object.create(CharacterData.prototype, {\n      nodeName: {\n        value: \"#comment\"\n      },\n      nodeValue,\n      textContent: nodeValue,\n      innerText: nodeValue,\n      data: {\n        get: nodeValue.get,\n        set: function (v) {\n          nodeValue.set.call(this, v === null ? \"\" : String(v));\n        }\n      },\n      clone: {\n        value: function clone() {\n          return new Comment(this.ownerDocument, this._data);\n        }\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/DocumentFragment.js\nvar require_DocumentFragment = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/DocumentFragment.js\"(exports, module) {\n    module.exports = DocumentFragment;\n    var Node = require_Node();\n    var NodeList = require_NodeList();\n    var ContainerNode = require_ContainerNode();\n    var Element = require_Element();\n    var select = require_select();\n    var utils = require_utils();\n    function DocumentFragment(doc) {\n      ContainerNode.call(this);\n      this.nodeType = Node.DOCUMENT_FRAGMENT_NODE;\n      this.ownerDocument = doc;\n    }\n    DocumentFragment.prototype = Object.create(ContainerNode.prototype, {\n      nodeName: {\n        value: \"#document-fragment\"\n      },\n      nodeValue: {\n        get: function () {\n          return null;\n        },\n        set: function () {}\n      },\n      textContent: Object.getOwnPropertyDescriptor(Element.prototype, \"textContent\"),\n      innerText: Object.getOwnPropertyDescriptor(Element.prototype, \"innerText\"),\n      querySelector: {\n        value: function (selector) {\n          var nodes = this.querySelectorAll(selector);\n          return nodes.length ? nodes[0] : null;\n        }\n      },\n      querySelectorAll: {\n        value: function (selector) {\n          var context = Object.create(this);\n          context.isHTML = true;\n          context.getElementsByTagName = Element.prototype.getElementsByTagName;\n          context.nextElement = Object.getOwnPropertyDescriptor(Element.prototype, \"firstElementChild\").get;\n          var nodes = select(selector, context);\n          return nodes.item ? nodes : new NodeList(nodes);\n        }\n      },\n      clone: {\n        value: function clone() {\n          return new DocumentFragment(this.ownerDocument);\n        }\n      },\n      isEqual: {\n        value: function isEqual(n) {\n          return true;\n        }\n      },\n      innerHTML: {\n        get: function () {\n          return this.serialize();\n        },\n        set: utils.nyi\n      },\n      outerHTML: {\n        get: function () {\n          return this.serialize();\n        },\n        set: utils.nyi\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/ProcessingInstruction.js\nvar require_ProcessingInstruction = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/ProcessingInstruction.js\"(exports, module) {\n    module.exports = ProcessingInstruction;\n    var Node = require_Node();\n    var CharacterData = require_CharacterData();\n    function ProcessingInstruction(doc, target, data) {\n      CharacterData.call(this);\n      this.nodeType = Node.PROCESSING_INSTRUCTION_NODE;\n      this.ownerDocument = doc;\n      this.target = target;\n      this._data = data;\n    }\n    var nodeValue = {\n      get: function () {\n        return this._data;\n      },\n      set: function (v) {\n        if (v === null || v === void 0) {\n          v = \"\";\n        } else {\n          v = String(v);\n        }\n        this._data = v;\n        if (this.rooted) this.ownerDocument.mutateValue(this);\n      }\n    };\n    ProcessingInstruction.prototype = Object.create(CharacterData.prototype, {\n      nodeName: {\n        get: function () {\n          return this.target;\n        }\n      },\n      nodeValue,\n      textContent: nodeValue,\n      innerText: nodeValue,\n      data: {\n        get: nodeValue.get,\n        set: function (v) {\n          nodeValue.set.call(this, v === null ? \"\" : String(v));\n        }\n      },\n      clone: {\n        value: function clone() {\n          return new ProcessingInstruction(this.ownerDocument, this.target, this._data);\n        }\n      },\n      isEqual: {\n        value: function isEqual(n) {\n          return this.target === n.target && this._data === n._data;\n        }\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/NodeFilter.js\nvar require_NodeFilter = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/NodeFilter.js\"(exports, module) {\n    var NodeFilter = {\n      FILTER_ACCEPT: 1,\n      FILTER_REJECT: 2,\n      FILTER_SKIP: 3,\n      SHOW_ALL: 4294967295,\n      SHOW_ELEMENT: 1,\n      SHOW_ATTRIBUTE: 2,\n      SHOW_TEXT: 4,\n      SHOW_CDATA_SECTION: 8,\n      SHOW_ENTITY_REFERENCE: 16,\n      SHOW_ENTITY: 32,\n      SHOW_PROCESSING_INSTRUCTION: 64,\n      SHOW_COMMENT: 128,\n      SHOW_DOCUMENT: 256,\n      SHOW_DOCUMENT_TYPE: 512,\n      SHOW_DOCUMENT_FRAGMENT: 1024,\n      SHOW_NOTATION: 2048\n    };\n    module.exports = NodeFilter.constructor = NodeFilter.prototype = NodeFilter;\n  }\n});\n\n// external/npm/node_modules/domino/lib/NodeTraversal.js\nvar require_NodeTraversal = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/NodeTraversal.js\"(exports, module) {\n    module.exports = {\n      nextSkippingChildren,\n      nextAncestorSibling,\n      next,\n      previous,\n      deepLastChild\n    };\n    function nextSkippingChildren(node, stayWithin) {\n      if (node === stayWithin) {\n        return null;\n      }\n      if (node.nextSibling !== null) {\n        return node.nextSibling;\n      }\n      return nextAncestorSibling(node, stayWithin);\n    }\n    function nextAncestorSibling(node, stayWithin) {\n      for (node = node.parentNode; node !== null; node = node.parentNode) {\n        if (node === stayWithin) {\n          return null;\n        }\n        if (node.nextSibling !== null) {\n          return node.nextSibling;\n        }\n      }\n      return null;\n    }\n    function next(node, stayWithin) {\n      var n;\n      n = node.firstChild;\n      if (n !== null) {\n        return n;\n      }\n      if (node === stayWithin) {\n        return null;\n      }\n      n = node.nextSibling;\n      if (n !== null) {\n        return n;\n      }\n      return nextAncestorSibling(node, stayWithin);\n    }\n    function deepLastChild(node) {\n      while (node.lastChild) {\n        node = node.lastChild;\n      }\n      return node;\n    }\n    function previous(node, stayWithin) {\n      var p;\n      p = node.previousSibling;\n      if (p !== null) {\n        return deepLastChild(p);\n      }\n      p = node.parentNode;\n      if (p === stayWithin) {\n        return null;\n      }\n      return p;\n    }\n  }\n});\n\n// external/npm/node_modules/domino/lib/TreeWalker.js\nvar require_TreeWalker = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/TreeWalker.js\"(exports, module) {\n    module.exports = TreeWalker;\n    var Node = require_Node();\n    var NodeFilter = require_NodeFilter();\n    var NodeTraversal = require_NodeTraversal();\n    var utils = require_utils();\n    var mapChild = {\n      first: \"firstChild\",\n      last: \"lastChild\",\n      next: \"firstChild\",\n      previous: \"lastChild\"\n    };\n    var mapSibling = {\n      first: \"nextSibling\",\n      last: \"previousSibling\",\n      next: \"nextSibling\",\n      previous: \"previousSibling\"\n    };\n    function traverseChildren(tw, type) {\n      var child, node, parent, result, sibling;\n      node = tw._currentNode[mapChild[type]];\n      while (node !== null) {\n        result = tw._internalFilter(node);\n        if (result === NodeFilter.FILTER_ACCEPT) {\n          tw._currentNode = node;\n          return node;\n        }\n        if (result === NodeFilter.FILTER_SKIP) {\n          child = node[mapChild[type]];\n          if (child !== null) {\n            node = child;\n            continue;\n          }\n        }\n        while (node !== null) {\n          sibling = node[mapSibling[type]];\n          if (sibling !== null) {\n            node = sibling;\n            break;\n          }\n          parent = node.parentNode;\n          if (parent === null || parent === tw.root || parent === tw._currentNode) {\n            return null;\n          } else {\n            node = parent;\n          }\n        }\n      }\n      return null;\n    }\n    function traverseSiblings(tw, type) {\n      var node, result, sibling;\n      node = tw._currentNode;\n      if (node === tw.root) {\n        return null;\n      }\n      while (true) {\n        sibling = node[mapSibling[type]];\n        while (sibling !== null) {\n          node = sibling;\n          result = tw._internalFilter(node);\n          if (result === NodeFilter.FILTER_ACCEPT) {\n            tw._currentNode = node;\n            return node;\n          }\n          sibling = node[mapChild[type]];\n          if (result === NodeFilter.FILTER_REJECT || sibling === null) {\n            sibling = node[mapSibling[type]];\n          }\n        }\n        node = node.parentNode;\n        if (node === null || node === tw.root) {\n          return null;\n        }\n        if (tw._internalFilter(node) === NodeFilter.FILTER_ACCEPT) {\n          return null;\n        }\n      }\n    }\n    function TreeWalker(root, whatToShow, filter) {\n      if (!root || !root.nodeType) {\n        utils.NotSupportedError();\n      }\n      this._root = root;\n      this._whatToShow = Number(whatToShow) || 0;\n      this._filter = filter || null;\n      this._active = false;\n      this._currentNode = root;\n    }\n    Object.defineProperties(TreeWalker.prototype, {\n      root: {\n        get: function () {\n          return this._root;\n        }\n      },\n      whatToShow: {\n        get: function () {\n          return this._whatToShow;\n        }\n      },\n      filter: {\n        get: function () {\n          return this._filter;\n        }\n      },\n      currentNode: {\n        get: function currentNode() {\n          return this._currentNode;\n        },\n        set: function setCurrentNode(v) {\n          if (!(v instanceof Node)) {\n            throw new TypeError(\"Not a Node\");\n          }\n          this._currentNode = v;\n        }\n      },\n      _internalFilter: {\n        value: function _internalFilter(node) {\n          var result, filter;\n          if (this._active) {\n            utils.InvalidStateError();\n          }\n          if (!(1 << node.nodeType - 1 & this._whatToShow)) {\n            return NodeFilter.FILTER_SKIP;\n          }\n          filter = this._filter;\n          if (filter === null) {\n            result = NodeFilter.FILTER_ACCEPT;\n          } else {\n            this._active = true;\n            try {\n              if (typeof filter === \"function\") {\n                result = filter(node);\n              } else {\n                result = filter.acceptNode(node);\n              }\n            } finally {\n              this._active = false;\n            }\n          }\n          return +result;\n        }\n      },\n      parentNode: {\n        value: function parentNode() {\n          var node = this._currentNode;\n          while (node !== this.root) {\n            node = node.parentNode;\n            if (node === null) {\n              return null;\n            }\n            if (this._internalFilter(node) === NodeFilter.FILTER_ACCEPT) {\n              this._currentNode = node;\n              return node;\n            }\n          }\n          return null;\n        }\n      },\n      firstChild: {\n        value: function firstChild() {\n          return traverseChildren(this, \"first\");\n        }\n      },\n      lastChild: {\n        value: function lastChild() {\n          return traverseChildren(this, \"last\");\n        }\n      },\n      previousSibling: {\n        value: function previousSibling() {\n          return traverseSiblings(this, \"previous\");\n        }\n      },\n      nextSibling: {\n        value: function nextSibling() {\n          return traverseSiblings(this, \"next\");\n        }\n      },\n      previousNode: {\n        value: function previousNode() {\n          var node, result, previousSibling, lastChild;\n          node = this._currentNode;\n          while (node !== this._root) {\n            for (previousSibling = node.previousSibling; previousSibling; previousSibling = node.previousSibling) {\n              node = previousSibling;\n              result = this._internalFilter(node);\n              if (result === NodeFilter.FILTER_REJECT) {\n                continue;\n              }\n              for (lastChild = node.lastChild; lastChild; lastChild = node.lastChild) {\n                node = lastChild;\n                result = this._internalFilter(node);\n                if (result === NodeFilter.FILTER_REJECT) {\n                  break;\n                }\n              }\n              if (result === NodeFilter.FILTER_ACCEPT) {\n                this._currentNode = node;\n                return node;\n              }\n            }\n            if (node === this.root || node.parentNode === null) {\n              return null;\n            }\n            node = node.parentNode;\n            if (this._internalFilter(node) === NodeFilter.FILTER_ACCEPT) {\n              this._currentNode = node;\n              return node;\n            }\n          }\n          return null;\n        }\n      },\n      nextNode: {\n        value: function nextNode() {\n          var node, result, firstChild, nextSibling;\n          node = this._currentNode;\n          result = NodeFilter.FILTER_ACCEPT;\n          CHILDREN: while (true) {\n            for (firstChild = node.firstChild; firstChild; firstChild = node.firstChild) {\n              node = firstChild;\n              result = this._internalFilter(node);\n              if (result === NodeFilter.FILTER_ACCEPT) {\n                this._currentNode = node;\n                return node;\n              } else if (result === NodeFilter.FILTER_REJECT) {\n                break;\n              }\n            }\n            for (nextSibling = NodeTraversal.nextSkippingChildren(node, this.root); nextSibling; nextSibling = NodeTraversal.nextSkippingChildren(node, this.root)) {\n              node = nextSibling;\n              result = this._internalFilter(node);\n              if (result === NodeFilter.FILTER_ACCEPT) {\n                this._currentNode = node;\n                return node;\n              } else if (result === NodeFilter.FILTER_SKIP) {\n                continue CHILDREN;\n              }\n            }\n            return null;\n          }\n        }\n      },\n      toString: {\n        value: function toString() {\n          return \"[object TreeWalker]\";\n        }\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/NodeIterator.js\nvar require_NodeIterator = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/NodeIterator.js\"(exports, module) {\n    module.exports = NodeIterator;\n    var NodeFilter = require_NodeFilter();\n    var NodeTraversal = require_NodeTraversal();\n    var utils = require_utils();\n    function move(node, stayWithin, directionIsNext) {\n      if (directionIsNext) {\n        return NodeTraversal.next(node, stayWithin);\n      } else {\n        if (node === stayWithin) {\n          return null;\n        }\n        return NodeTraversal.previous(node, null);\n      }\n    }\n    function isInclusiveAncestor(node, possibleChild) {\n      for (; possibleChild; possibleChild = possibleChild.parentNode) {\n        if (node === possibleChild) {\n          return true;\n        }\n      }\n      return false;\n    }\n    function traverse(ni, directionIsNext) {\n      var node, beforeNode;\n      node = ni._referenceNode;\n      beforeNode = ni._pointerBeforeReferenceNode;\n      while (true) {\n        if (beforeNode === directionIsNext) {\n          beforeNode = !beforeNode;\n        } else {\n          node = move(node, ni._root, directionIsNext);\n          if (node === null) {\n            return null;\n          }\n        }\n        var result = ni._internalFilter(node);\n        if (result === NodeFilter.FILTER_ACCEPT) {\n          break;\n        }\n      }\n      ni._referenceNode = node;\n      ni._pointerBeforeReferenceNode = beforeNode;\n      return node;\n    }\n    function NodeIterator(root, whatToShow, filter) {\n      if (!root || !root.nodeType) {\n        utils.NotSupportedError();\n      }\n      this._root = root;\n      this._referenceNode = root;\n      this._pointerBeforeReferenceNode = true;\n      this._whatToShow = Number(whatToShow) || 0;\n      this._filter = filter || null;\n      this._active = false;\n      root.doc._attachNodeIterator(this);\n    }\n    Object.defineProperties(NodeIterator.prototype, {\n      root: {\n        get: function root() {\n          return this._root;\n        }\n      },\n      referenceNode: {\n        get: function referenceNode() {\n          return this._referenceNode;\n        }\n      },\n      pointerBeforeReferenceNode: {\n        get: function pointerBeforeReferenceNode() {\n          return this._pointerBeforeReferenceNode;\n        }\n      },\n      whatToShow: {\n        get: function whatToShow() {\n          return this._whatToShow;\n        }\n      },\n      filter: {\n        get: function filter() {\n          return this._filter;\n        }\n      },\n      _internalFilter: {\n        value: function _internalFilter(node) {\n          var result, filter;\n          if (this._active) {\n            utils.InvalidStateError();\n          }\n          if (!(1 << node.nodeType - 1 & this._whatToShow)) {\n            return NodeFilter.FILTER_SKIP;\n          }\n          filter = this._filter;\n          if (filter === null) {\n            result = NodeFilter.FILTER_ACCEPT;\n          } else {\n            this._active = true;\n            try {\n              if (typeof filter === \"function\") {\n                result = filter(node);\n              } else {\n                result = filter.acceptNode(node);\n              }\n            } finally {\n              this._active = false;\n            }\n          }\n          return +result;\n        }\n      },\n      _preremove: {\n        value: function _preremove(toBeRemovedNode) {\n          if (isInclusiveAncestor(toBeRemovedNode, this._root)) {\n            return;\n          }\n          if (!isInclusiveAncestor(toBeRemovedNode, this._referenceNode)) {\n            return;\n          }\n          if (this._pointerBeforeReferenceNode) {\n            var next = toBeRemovedNode;\n            while (next.lastChild) {\n              next = next.lastChild;\n            }\n            next = NodeTraversal.next(next, this.root);\n            if (next) {\n              this._referenceNode = next;\n              return;\n            }\n            this._pointerBeforeReferenceNode = false;\n          }\n          if (toBeRemovedNode.previousSibling === null) {\n            this._referenceNode = toBeRemovedNode.parentNode;\n          } else {\n            this._referenceNode = toBeRemovedNode.previousSibling;\n            var lastChild;\n            for (lastChild = this._referenceNode.lastChild; lastChild; lastChild = this._referenceNode.lastChild) {\n              this._referenceNode = lastChild;\n            }\n          }\n        }\n      },\n      nextNode: {\n        value: function nextNode() {\n          return traverse(this, true);\n        }\n      },\n      previousNode: {\n        value: function previousNode() {\n          return traverse(this, false);\n        }\n      },\n      detach: {\n        value: function detach() {}\n      },\n      toString: {\n        value: function toString() {\n          return \"[object NodeIterator]\";\n        }\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/URL.js\nvar require_URL = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/URL.js\"(exports, module) {\n    module.exports = URL;\n    function URL(url) {\n      if (!url) return Object.create(URL.prototype);\n      this.url = url.replace(/^[ \\t\\n\\r\\f]+|[ \\t\\n\\r\\f]+$/g, \"\");\n      var match = URL.pattern.exec(this.url);\n      if (match) {\n        if (match[2]) this.scheme = match[2];\n        if (match[4]) {\n          var userinfo = match[4].match(URL.userinfoPattern);\n          if (userinfo) {\n            this.username = userinfo[1];\n            this.password = userinfo[3];\n            match[4] = match[4].substring(userinfo[0].length);\n          }\n          if (match[4].match(URL.portPattern)) {\n            var pos = match[4].lastIndexOf(\":\");\n            this.host = match[4].substring(0, pos);\n            this.port = match[4].substring(pos + 1);\n          } else {\n            this.host = match[4];\n          }\n        }\n        if (match[5]) this.path = match[5];\n        if (match[6]) this.query = match[7];\n        if (match[8]) this.fragment = match[9];\n      }\n    }\n    URL.pattern = /^(([^:\\/?#]+):)?(\\/\\/([^\\/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/;\n    URL.userinfoPattern = /^([^@:]*)(:([^@]*))?@/;\n    URL.portPattern = /:\\d+$/;\n    URL.authorityPattern = /^[^:\\/?#]+:\\/\\//;\n    URL.hierarchyPattern = /^[^:\\/?#]+:\\//;\n    URL.percentEncode = function percentEncode(s) {\n      var c = s.charCodeAt(0);\n      if (c < 256) return \"%\" + c.toString(16);else throw Error(\"can't percent-encode codepoints > 255 yet\");\n    };\n    URL.prototype = {\n      constructor: URL,\n      isAbsolute: function () {\n        return !!this.scheme;\n      },\n      isAuthorityBased: function () {\n        return URL.authorityPattern.test(this.url);\n      },\n      isHierarchical: function () {\n        return URL.hierarchyPattern.test(this.url);\n      },\n      toString: function () {\n        var s = \"\";\n        if (this.scheme !== void 0) s += this.scheme + \":\";\n        if (this.isAbsolute()) {\n          s += \"//\";\n          if (this.username || this.password) {\n            s += this.username || \"\";\n            if (this.password) {\n              s += \":\" + this.password;\n            }\n            s += \"@\";\n          }\n          if (this.host) {\n            s += this.host;\n          }\n        }\n        if (this.port !== void 0) s += \":\" + this.port;\n        if (this.path !== void 0) s += this.path;\n        if (this.query !== void 0) s += \"?\" + this.query;\n        if (this.fragment !== void 0) s += \"#\" + this.fragment;\n        return s;\n      },\n      resolve: function (relative) {\n        var base = this;\n        var r = new URL(relative);\n        var t = new URL();\n        if (r.scheme !== void 0) {\n          t.scheme = r.scheme;\n          t.username = r.username;\n          t.password = r.password;\n          t.host = r.host;\n          t.port = r.port;\n          t.path = remove_dot_segments(r.path);\n          t.query = r.query;\n        } else {\n          t.scheme = base.scheme;\n          if (r.host !== void 0) {\n            t.username = r.username;\n            t.password = r.password;\n            t.host = r.host;\n            t.port = r.port;\n            t.path = remove_dot_segments(r.path);\n            t.query = r.query;\n          } else {\n            t.username = base.username;\n            t.password = base.password;\n            t.host = base.host;\n            t.port = base.port;\n            if (!r.path) {\n              t.path = base.path;\n              if (r.query !== void 0) t.query = r.query;else t.query = base.query;\n            } else {\n              if (r.path.charAt(0) === \"/\") {\n                t.path = remove_dot_segments(r.path);\n              } else {\n                t.path = merge(base.path, r.path);\n                t.path = remove_dot_segments(t.path);\n              }\n              t.query = r.query;\n            }\n          }\n        }\n        t.fragment = r.fragment;\n        return t.toString();\n        function merge(basepath, refpath) {\n          if (base.host !== void 0 && !base.path) return \"/\" + refpath;\n          var lastslash = basepath.lastIndexOf(\"/\");\n          if (lastslash === -1) return refpath;else return basepath.substring(0, lastslash + 1) + refpath;\n        }\n        function remove_dot_segments(path) {\n          if (!path) return path;\n          var output = \"\";\n          while (path.length > 0) {\n            if (path === \".\" || path === \"..\") {\n              path = \"\";\n              break;\n            }\n            var twochars = path.substring(0, 2);\n            var threechars = path.substring(0, 3);\n            var fourchars = path.substring(0, 4);\n            if (threechars === \"../\") {\n              path = path.substring(3);\n            } else if (twochars === \"./\") {\n              path = path.substring(2);\n            } else if (threechars === \"/./\") {\n              path = \"/\" + path.substring(3);\n            } else if (twochars === \"/.\" && path.length === 2) {\n              path = \"/\";\n            } else if (fourchars === \"/../\" || threechars === \"/..\" && path.length === 3) {\n              path = \"/\" + path.substring(4);\n              output = output.replace(/\\/?[^\\/]*$/, \"\");\n            } else {\n              var segment = path.match(/(\\/?([^\\/]*))/)[0];\n              output += segment;\n              path = path.substring(segment.length);\n            }\n          }\n          return output;\n        }\n      }\n    };\n  }\n});\n\n// external/npm/node_modules/domino/lib/CustomEvent.js\nvar require_CustomEvent = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/CustomEvent.js\"(exports, module) {\n    module.exports = CustomEvent;\n    var Event = require_Event();\n    function CustomEvent(type, dictionary) {\n      Event.call(this, type, dictionary);\n    }\n    CustomEvent.prototype = Object.create(Event.prototype, {\n      constructor: {\n        value: CustomEvent\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/events.js\nvar require_events = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/events.js\"(exports, module) {\n    module.exports = {\n      Event: require_Event(),\n      UIEvent: require_UIEvent(),\n      MouseEvent: require_MouseEvent(),\n      CustomEvent: require_CustomEvent()\n    };\n  }\n});\n\n// external/npm/node_modules/domino/lib/style_parser.js\nvar require_style_parser = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/style_parser.js\"(exports) {\n    Object.defineProperty(exports, \"__esModule\", {\n      value: true\n    });\n    exports.hyphenate = exports.parse = void 0;\n    function parse(value) {\n      const styles = [];\n      let i = 0;\n      let parenDepth = 0;\n      let quote = 0;\n      let valueStart = 0;\n      let propStart = 0;\n      let currentProp = null;\n      while (i < value.length) {\n        const token = value.charCodeAt(i++);\n        switch (token) {\n          case 40:\n            parenDepth++;\n            break;\n          case 41:\n            parenDepth--;\n            break;\n          case 39:\n            if (quote === 0) {\n              quote = 39;\n            } else if (quote === 39 && value.charCodeAt(i - 1) !== 92) {\n              quote = 0;\n            }\n            break;\n          case 34:\n            if (quote === 0) {\n              quote = 34;\n            } else if (quote === 34 && value.charCodeAt(i - 1) !== 92) {\n              quote = 0;\n            }\n            break;\n          case 58:\n            if (!currentProp && parenDepth === 0 && quote === 0) {\n              currentProp = hyphenate(value.substring(propStart, i - 1).trim());\n              valueStart = i;\n            }\n            break;\n          case 59:\n            if (currentProp && valueStart > 0 && parenDepth === 0 && quote === 0) {\n              const styleVal = value.substring(valueStart, i - 1).trim();\n              styles.push(currentProp, styleVal);\n              propStart = i;\n              valueStart = 0;\n              currentProp = null;\n            }\n            break;\n        }\n      }\n      if (currentProp && valueStart) {\n        const styleVal = value.slice(valueStart).trim();\n        styles.push(currentProp, styleVal);\n      }\n      return styles;\n    }\n    exports.parse = parse;\n    function hyphenate(value) {\n      return value.replace(/[a-z][A-Z]/g, v => {\n        return v.charAt(0) + \"-\" + v.charAt(1);\n      }).toLowerCase();\n    }\n    exports.hyphenate = hyphenate;\n  }\n});\n\n// external/npm/node_modules/domino/lib/CSSStyleDeclaration.js\nvar require_CSSStyleDeclaration = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/CSSStyleDeclaration.js\"(exports, module) {\n    var {\n      parse\n    } = require_style_parser();\n    module.exports = function (elt) {\n      const style = new CSSStyleDeclaration(elt);\n      const handler = {\n        get: function (target, property) {\n          return property in target ? target[property] : target.getPropertyValue(dasherizeProperty(property));\n        },\n        has: function (target, key) {\n          return true;\n        },\n        set: function (target, property, value) {\n          if (property in target) {\n            target[property] = value;\n          } else {\n            target.setProperty(dasherizeProperty(property), value != null ? value : void 0);\n          }\n          return true;\n        }\n      };\n      return new Proxy(style, handler);\n    };\n    function dasherizeProperty(property) {\n      return property.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n    }\n    function CSSStyleDeclaration(elt) {\n      this._element = elt;\n    }\n    var IMPORTANT_BANG = \"!important\";\n    function parseStyles(value) {\n      const result = {\n        property: {},\n        priority: {}\n      };\n      if (!value) {\n        return result;\n      }\n      const styleValues = parse(value);\n      if (styleValues.length < 2) {\n        return result;\n      }\n      for (let i = 0; i < styleValues.length; i += 2) {\n        const name = styleValues[i];\n        let value2 = styleValues[i + 1];\n        if (value2.endsWith(IMPORTANT_BANG)) {\n          result.priority[name] = \"important\";\n          value2 = value2.slice(0, -IMPORTANT_BANG.length).trim();\n        }\n        result.property[name] = value2;\n      }\n      return result;\n    }\n    var NO_CHANGE = {};\n    CSSStyleDeclaration.prototype = Object.create(Object.prototype, {\n      _parsed: {\n        get: function () {\n          if (!this._parsedStyles || this.cssText !== this._lastParsedText) {\n            var text = this.cssText;\n            this._parsedStyles = parseStyles(text);\n            this._lastParsedText = text;\n            delete this._names;\n          }\n          return this._parsedStyles;\n        }\n      },\n      _serialize: {\n        value: function () {\n          var styles = this._parsed;\n          var s = \"\";\n          for (var name in styles.property) {\n            if (s) s += \" \";\n            s += name + \": \" + styles.property[name];\n            if (styles.priority[name]) {\n              s += \" !\" + styles.priority[name];\n            }\n            s += \";\";\n          }\n          this.cssText = s;\n          this._lastParsedText = s;\n          delete this._names;\n        }\n      },\n      cssText: {\n        get: function () {\n          return this._element.getAttribute(\"style\");\n        },\n        set: function (value) {\n          this._element.setAttribute(\"style\", value);\n        }\n      },\n      length: {\n        get: function () {\n          if (!this._names) this._names = Object.getOwnPropertyNames(this._parsed.property);\n          return this._names.length;\n        }\n      },\n      item: {\n        value: function (n) {\n          if (!this._names) this._names = Object.getOwnPropertyNames(this._parsed.property);\n          return this._names[n];\n        }\n      },\n      getPropertyValue: {\n        value: function (property) {\n          property = property.toLowerCase();\n          return this._parsed.property[property] || \"\";\n        }\n      },\n      getPropertyPriority: {\n        value: function (property) {\n          property = property.toLowerCase();\n          return this._parsed.priority[property] || \"\";\n        }\n      },\n      setProperty: {\n        value: function (property, value, priority) {\n          property = property.toLowerCase();\n          if (value === null || value === void 0) {\n            value = \"\";\n          }\n          if (priority === null || priority === void 0) {\n            priority = \"\";\n          }\n          if (value !== NO_CHANGE) {\n            value = \"\" + value;\n          }\n          value = value.trim();\n          if (value === \"\") {\n            this.removeProperty(property);\n            return;\n          }\n          if (priority !== \"\" && priority !== NO_CHANGE && !/^important$/i.test(priority)) {\n            return;\n          }\n          var styles = this._parsed;\n          if (value === NO_CHANGE) {\n            if (!styles.property[property]) {\n              return;\n            }\n            if (priority !== \"\") {\n              styles.priority[property] = \"important\";\n            } else {\n              delete styles.priority[property];\n            }\n          } else {\n            if (value.includes(\";\") && !value.includes(\"data:\")) return;\n            var newprops = parseStyles(property + \":\" + value);\n            if (Object.getOwnPropertyNames(newprops.property).length === 0) {\n              return;\n            }\n            if (Object.getOwnPropertyNames(newprops.priority).length !== 0) {\n              return;\n            }\n            for (var p in newprops.property) {\n              styles.property[p] = newprops.property[p];\n              if (priority === NO_CHANGE) {\n                continue;\n              } else if (priority !== \"\") {\n                styles.priority[p] = \"important\";\n              } else if (styles.priority[p]) {\n                delete styles.priority[p];\n              }\n            }\n          }\n          this._serialize();\n        }\n      },\n      setPropertyValue: {\n        value: function (property, value) {\n          return this.setProperty(property, value, NO_CHANGE);\n        }\n      },\n      setPropertyPriority: {\n        value: function (property, priority) {\n          return this.setProperty(property, NO_CHANGE, priority);\n        }\n      },\n      removeProperty: {\n        value: function (property) {\n          property = property.toLowerCase();\n          var styles = this._parsed;\n          if (property in styles.property) {\n            delete styles.property[property];\n            delete styles.priority[property];\n            this._serialize();\n          }\n        }\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/URLUtils.js\nvar require_URLUtils = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/URLUtils.js\"(exports, module) {\n    var URL = require_URL();\n    module.exports = URLUtils;\n    function URLUtils() {}\n    URLUtils.prototype = Object.create(Object.prototype, {\n      _url: {\n        get: function () {\n          return new URL(this.href);\n        }\n      },\n      protocol: {\n        get: function () {\n          var url = this._url;\n          if (url && url.scheme) return url.scheme + \":\";else return \":\";\n        },\n        set: function (v) {\n          var output = this.href;\n          var url = new URL(output);\n          if (url.isAbsolute()) {\n            v = v.replace(/:+$/, \"\");\n            v = v.replace(/[^-+\\.a-zA-Z0-9]/g, URL.percentEncode);\n            if (v.length > 0) {\n              url.scheme = v;\n              output = url.toString();\n            }\n          }\n          this.href = output;\n        }\n      },\n      host: {\n        get: function () {\n          var url = this._url;\n          if (url.isAbsolute() && url.isAuthorityBased()) return url.host + (url.port ? \":\" + url.port : \"\");else return \"\";\n        },\n        set: function (v) {\n          var output = this.href;\n          var url = new URL(output);\n          if (url.isAbsolute() && url.isAuthorityBased()) {\n            v = v.replace(/[^-+\\._~!$&'()*,;:=a-zA-Z0-9]/g, URL.percentEncode);\n            if (v.length > 0) {\n              url.host = v;\n              delete url.port;\n              output = url.toString();\n            }\n          }\n          this.href = output;\n        }\n      },\n      hostname: {\n        get: function () {\n          var url = this._url;\n          if (url.isAbsolute() && url.isAuthorityBased()) return url.host;else return \"\";\n        },\n        set: function (v) {\n          var output = this.href;\n          var url = new URL(output);\n          if (url.isAbsolute() && url.isAuthorityBased()) {\n            v = v.replace(/^\\/+/, \"\");\n            v = v.replace(/[^-+\\._~!$&'()*,;:=a-zA-Z0-9]/g, URL.percentEncode);\n            if (v.length > 0) {\n              url.host = v;\n              output = url.toString();\n            }\n          }\n          this.href = output;\n        }\n      },\n      port: {\n        get: function () {\n          var url = this._url;\n          if (url.isAbsolute() && url.isAuthorityBased() && url.port !== void 0) return url.port;else return \"\";\n        },\n        set: function (v) {\n          var output = this.href;\n          var url = new URL(output);\n          if (url.isAbsolute() && url.isAuthorityBased()) {\n            v = \"\" + v;\n            v = v.replace(/[^0-9].*$/, \"\");\n            v = v.replace(/^0+/, \"\");\n            if (v.length === 0) v = \"0\";\n            if (parseInt(v, 10) <= 65535) {\n              url.port = v;\n              output = url.toString();\n            }\n          }\n          this.href = output;\n        }\n      },\n      pathname: {\n        get: function () {\n          var url = this._url;\n          if (url.isAbsolute() && url.isHierarchical()) return url.path;else return \"\";\n        },\n        set: function (v) {\n          var output = this.href;\n          var url = new URL(output);\n          if (url.isAbsolute() && url.isHierarchical()) {\n            if (v.charAt(0) !== \"/\") v = \"/\" + v;\n            v = v.replace(/[^-+\\._~!$&'()*,;:=@\\/a-zA-Z0-9]/g, URL.percentEncode);\n            url.path = v;\n            output = url.toString();\n          }\n          this.href = output;\n        }\n      },\n      search: {\n        get: function () {\n          var url = this._url;\n          if (url.isAbsolute() && url.isHierarchical() && url.query !== void 0) return \"?\" + url.query;else return \"\";\n        },\n        set: function (v) {\n          var output = this.href;\n          var url = new URL(output);\n          if (url.isAbsolute() && url.isHierarchical()) {\n            if (v.charAt(0) === \"?\") v = v.substring(1);\n            v = v.replace(/[^-+\\._~!$&'()*,;:=@\\/?a-zA-Z0-9]/g, URL.percentEncode);\n            url.query = v;\n            output = url.toString();\n          }\n          this.href = output;\n        }\n      },\n      hash: {\n        get: function () {\n          var url = this._url;\n          if (url == null || url.fragment == null || url.fragment === \"\") {\n            return \"\";\n          } else {\n            return \"#\" + url.fragment;\n          }\n        },\n        set: function (v) {\n          var output = this.href;\n          var url = new URL(output);\n          if (v.charAt(0) === \"#\") v = v.substring(1);\n          v = v.replace(/[^-+\\._~!$&'()*,;:=@\\/?a-zA-Z0-9]/g, URL.percentEncode);\n          url.fragment = v;\n          output = url.toString();\n          this.href = output;\n        }\n      },\n      username: {\n        get: function () {\n          var url = this._url;\n          return url.username || \"\";\n        },\n        set: function (v) {\n          var output = this.href;\n          var url = new URL(output);\n          if (url.isAbsolute()) {\n            v = v.replace(/[\\x00-\\x1F\\x7F-\\uFFFF \"#<>?`\\/@\\\\:]/g, URL.percentEncode);\n            url.username = v;\n            output = url.toString();\n          }\n          this.href = output;\n        }\n      },\n      password: {\n        get: function () {\n          var url = this._url;\n          return url.password || \"\";\n        },\n        set: function (v) {\n          var output = this.href;\n          var url = new URL(output);\n          if (url.isAbsolute()) {\n            if (v === \"\") {\n              url.password = null;\n            } else {\n              v = v.replace(/[\\x00-\\x1F\\x7F-\\uFFFF \"#<>?`\\/@\\\\]/g, URL.percentEncode);\n              url.password = v;\n            }\n            output = url.toString();\n          }\n          this.href = output;\n        }\n      },\n      origin: {\n        get: function () {\n          var url = this._url;\n          if (url == null) {\n            return \"\";\n          }\n          var originForPort = function (defaultPort) {\n            var origin = [url.scheme, url.host, +url.port || defaultPort];\n            return origin[0] + \"://\" + origin[1] + (origin[2] === defaultPort ? \"\" : \":\" + origin[2]);\n          };\n          switch (url.scheme) {\n            case \"ftp\":\n              return originForPort(21);\n            case \"gopher\":\n              return originForPort(70);\n            case \"http\":\n            case \"ws\":\n              return originForPort(80);\n            case \"https\":\n            case \"wss\":\n              return originForPort(443);\n            default:\n              return url.scheme + \"://\";\n          }\n        }\n      }\n    });\n    URLUtils._inherit = function (proto) {\n      Object.getOwnPropertyNames(URLUtils.prototype).forEach(function (p) {\n        if (p === \"constructor\" || p === \"href\") {\n          return;\n        }\n        var desc = Object.getOwnPropertyDescriptor(URLUtils.prototype, p);\n        Object.defineProperty(proto, p, desc);\n      });\n    };\n  }\n});\n\n// external/npm/node_modules/domino/lib/defineElement.js\nvar require_defineElement = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/defineElement.js\"(exports, module) {\n    var attributes = require_attributes();\n    var isApiWritable = require_config().isApiWritable;\n    module.exports = function (spec, defaultConstructor, tagList, tagNameToImpl) {\n      var c = spec.ctor;\n      if (c) {\n        var props = spec.props || {};\n        if (spec.attributes) {\n          for (var n in spec.attributes) {\n            var attr = spec.attributes[n];\n            if (typeof attr !== \"object\" || Array.isArray(attr)) attr = {\n              type: attr\n            };\n            if (!attr.name) attr.name = n.toLowerCase();\n            props[n] = attributes.property(attr);\n          }\n        }\n        props.constructor = {\n          value: c,\n          writable: isApiWritable\n        };\n        c.prototype = Object.create((spec.superclass || defaultConstructor).prototype, props);\n        if (spec.events) {\n          addEventHandlers(c, spec.events);\n        }\n        tagList[spec.name] = c;\n      } else {\n        c = defaultConstructor;\n      }\n      (spec.tags || spec.tag && [spec.tag] || []).forEach(function (tag) {\n        tagNameToImpl[tag] = c;\n      });\n      return c;\n    };\n    function EventHandlerBuilder(body, document, form, element) {\n      this.body = body;\n      this.document = document;\n      this.form = form;\n      this.element = element;\n    }\n    EventHandlerBuilder.prototype.build = function () {\n      return () => {};\n    };\n    function EventHandlerChangeHandler(elt, name, oldval, newval) {\n      var doc = elt.ownerDocument || /* @__PURE__ */Object.create(null);\n      var form = elt.form || /* @__PURE__ */Object.create(null);\n      elt[name] = new EventHandlerBuilder(newval, doc, form, elt).build();\n    }\n    function addEventHandlers(c, eventHandlerTypes) {\n      var p = c.prototype;\n      eventHandlerTypes.forEach(function (type) {\n        Object.defineProperty(p, \"on\" + type, {\n          get: function () {\n            return this._getEventHandler(type);\n          },\n          set: function (v) {\n            this._setEventHandler(type, v);\n          }\n        });\n        attributes.registerChangeHandler(c, \"on\" + type, EventHandlerChangeHandler);\n      });\n    }\n  }\n});\n\n// external/npm/node_modules/domino/lib/htmlelts.js\nvar require_htmlelts = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/htmlelts.js\"(exports) {\n    var Node = require_Node();\n    var Element = require_Element();\n    var CSSStyleDeclaration = require_CSSStyleDeclaration();\n    var utils = require_utils();\n    var URLUtils = require_URLUtils();\n    var defineElement = require_defineElement();\n    var htmlElements = exports.elements = {};\n    var htmlNameToImpl = /* @__PURE__ */Object.create(null);\n    exports.createElement = function (doc, localName, prefix) {\n      var impl = htmlNameToImpl[localName] || HTMLUnknownElement;\n      return new impl(doc, localName, prefix);\n    };\n    function define(spec) {\n      return defineElement(spec, HTMLElement, htmlElements, htmlNameToImpl);\n    }\n    function URL(attr) {\n      return {\n        get: function () {\n          var v = this._getattr(attr);\n          if (v === null) {\n            return \"\";\n          }\n          var url = this.doc._resolve(v);\n          return url === null ? v : url;\n        },\n        set: function (value) {\n          this._setattr(attr, value);\n        }\n      };\n    }\n    function CORS(attr) {\n      return {\n        get: function () {\n          var v = this._getattr(attr);\n          if (v === null) {\n            return null;\n          }\n          if (v.toLowerCase() === \"use-credentials\") {\n            return \"use-credentials\";\n          }\n          return \"anonymous\";\n        },\n        set: function (value) {\n          if (value === null || value === void 0) {\n            this.removeAttribute(attr);\n          } else {\n            this._setattr(attr, value);\n          }\n        }\n      };\n    }\n    var REFERRER = {\n      type: [\"\", \"no-referrer\", \"no-referrer-when-downgrade\", \"same-origin\", \"origin\", \"strict-origin\", \"origin-when-cross-origin\", \"strict-origin-when-cross-origin\", \"unsafe-url\"],\n      missing: \"\"\n    };\n    var focusableElements = {\n      \"A\": true,\n      \"LINK\": true,\n      \"BUTTON\": true,\n      \"INPUT\": true,\n      \"SELECT\": true,\n      \"TEXTAREA\": true,\n      \"COMMAND\": true\n    };\n    var HTMLFormElement = function (doc, localName, prefix) {\n      HTMLElement.call(this, doc, localName, prefix);\n      this._form = null;\n    };\n    var HTMLElement = exports.HTMLElement = define({\n      superclass: Element,\n      name: \"HTMLElement\",\n      ctor: function HTMLElement2(doc, localName, prefix) {\n        Element.call(this, doc, localName, utils.NAMESPACE.HTML, prefix);\n      },\n      props: {\n        dangerouslySetInnerHTML: {\n          set: function (v) {\n            this._innerHTML = v;\n          }\n        },\n        innerHTML: {\n          get: function () {\n            return this.serialize();\n          },\n          set: function (v) {\n            var parser = this.ownerDocument.implementation.mozHTMLParser(this.ownerDocument._address, this);\n            parser.parse(v === null ? \"\" : String(v), true);\n            var target = this instanceof htmlNameToImpl.template ? this.content : this;\n            while (target.hasChildNodes()) target.removeChild(target.firstChild);\n            target.appendChild(parser._asDocumentFragment());\n          }\n        },\n        style: {\n          get: function () {\n            if (!this._style) this._style = new CSSStyleDeclaration(this);\n            return this._style;\n          },\n          set: function (v) {\n            if (v === null || v === void 0) {\n              v = \"\";\n            }\n            this._setattr(\"style\", String(v));\n          }\n        },\n        blur: {\n          value: function () {}\n        },\n        focus: {\n          value: function () {}\n        },\n        forceSpellCheck: {\n          value: function () {}\n        },\n        click: {\n          value: function () {\n            if (this._click_in_progress) return;\n            this._click_in_progress = true;\n            try {\n              if (this._pre_click_activation_steps) this._pre_click_activation_steps();\n              var event = this.ownerDocument.createEvent(\"MouseEvent\");\n              event.initMouseEvent(\"click\", true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);\n              var success = this.dispatchEvent(event);\n              if (success) {\n                if (this._post_click_activation_steps) this._post_click_activation_steps(event);\n              } else {\n                if (this._cancelled_activation_steps) this._cancelled_activation_steps();\n              }\n            } finally {\n              this._click_in_progress = false;\n            }\n          }\n        },\n        submit: {\n          value: utils.nyi\n        }\n      },\n      attributes: {\n        title: String,\n        lang: String,\n        dir: {\n          type: [\"ltr\", \"rtl\", \"auto\"],\n          missing: \"\"\n        },\n        draggable: {\n          type: [\"true\", \"false\"],\n          treatNullAsEmptyString: true\n        },\n        spellcheck: {\n          type: [\"true\", \"false\"],\n          missing: \"\"\n        },\n        enterKeyHint: {\n          type: [\"enter\", \"done\", \"go\", \"next\", \"previous\", \"search\", \"send\"],\n          missing: \"\"\n        },\n        autoCapitalize: {\n          type: [\"off\", \"on\", \"none\", \"sentences\", \"words\", \"characters\"],\n          missing: \"\"\n        },\n        autoFocus: Boolean,\n        accessKey: String,\n        nonce: String,\n        hidden: Boolean,\n        translate: {\n          type: [\"no\", \"yes\"],\n          missing: \"\"\n        },\n        tabIndex: {\n          type: \"long\",\n          default: function () {\n            if (this.tagName in focusableElements || this.contentEditable) return 0;else return -1;\n          }\n        }\n      },\n      events: [\"abort\", \"canplay\", \"canplaythrough\", \"change\", \"click\", \"contextmenu\", \"cuechange\", \"dblclick\", \"drag\", \"dragend\", \"dragenter\", \"dragleave\", \"dragover\", \"dragstart\", \"drop\", \"durationchange\", \"emptied\", \"ended\", \"input\", \"invalid\", \"keydown\", \"keypress\", \"keyup\", \"loadeddata\", \"loadedmetadata\", \"loadstart\", \"mousedown\", \"mousemove\", \"mouseout\", \"mouseover\", \"mouseup\", \"mousewheel\", \"pause\", \"play\", \"playing\", \"progress\", \"ratechange\", \"readystatechange\", \"reset\", \"seeked\", \"seeking\", \"select\", \"show\", \"stalled\", \"submit\", \"suspend\", \"timeupdate\", \"volumechange\", \"waiting\", \"blur\", \"error\", \"focus\", \"load\", \"scroll\"]\n    });\n    var HTMLUnknownElement = define({\n      name: \"HTMLUnknownElement\",\n      ctor: function HTMLUnknownElement2(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      }\n    });\n    var formAssociatedProps = {\n      form: {\n        get: function () {\n          return this._form;\n        }\n      }\n    };\n    define({\n      tag: \"a\",\n      name: \"HTMLAnchorElement\",\n      ctor: function HTMLAnchorElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      props: {\n        _post_click_activation_steps: {\n          value: function (e) {\n            if (this.href) {\n              this.ownerDocument.defaultView.location = this.href;\n            }\n          }\n        }\n      },\n      attributes: {\n        href: URL,\n        ping: String,\n        download: String,\n        target: String,\n        rel: String,\n        media: String,\n        hreflang: String,\n        type: String,\n        referrerPolicy: REFERRER,\n        coords: String,\n        charset: String,\n        name: String,\n        rev: String,\n        shape: String\n      }\n    });\n    URLUtils._inherit(htmlNameToImpl.a.prototype);\n    define({\n      tag: \"area\",\n      name: \"HTMLAreaElement\",\n      ctor: function HTMLAreaElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        alt: String,\n        target: String,\n        download: String,\n        rel: String,\n        media: String,\n        href: URL,\n        hreflang: String,\n        type: String,\n        shape: String,\n        coords: String,\n        ping: String,\n        referrerPolicy: REFERRER,\n        noHref: Boolean\n      }\n    });\n    URLUtils._inherit(htmlNameToImpl.area.prototype);\n    define({\n      tag: \"br\",\n      name: \"HTMLBRElement\",\n      ctor: function HTMLBRElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        clear: String\n      }\n    });\n    define({\n      tag: \"base\",\n      name: \"HTMLBaseElement\",\n      ctor: function HTMLBaseElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        \"target\": String\n      }\n    });\n    define({\n      tag: \"body\",\n      name: \"HTMLBodyElement\",\n      ctor: function HTMLBodyElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      events: [\"afterprint\", \"beforeprint\", \"beforeunload\", \"blur\", \"error\", \"focus\", \"hashchange\", \"load\", \"message\", \"offline\", \"online\", \"pagehide\", \"pageshow\", \"popstate\", \"resize\", \"scroll\", \"storage\", \"unload\"],\n      attributes: {\n        text: {\n          type: String,\n          treatNullAsEmptyString: true\n        },\n        link: {\n          type: String,\n          treatNullAsEmptyString: true\n        },\n        vLink: {\n          type: String,\n          treatNullAsEmptyString: true\n        },\n        aLink: {\n          type: String,\n          treatNullAsEmptyString: true\n        },\n        bgColor: {\n          type: String,\n          treatNullAsEmptyString: true\n        },\n        background: String\n      }\n    });\n    define({\n      tag: \"button\",\n      name: \"HTMLButtonElement\",\n      ctor: function HTMLButtonElement(doc, localName, prefix) {\n        HTMLFormElement.call(this, doc, localName, prefix);\n      },\n      props: formAssociatedProps,\n      attributes: {\n        name: String,\n        value: String,\n        disabled: Boolean,\n        autofocus: Boolean,\n        type: {\n          type: [\"submit\", \"reset\", \"button\", \"menu\"],\n          missing: \"submit\"\n        },\n        formTarget: String,\n        formAction: URL,\n        formNoValidate: Boolean,\n        formMethod: {\n          type: [\"get\", \"post\", \"dialog\"],\n          invalid: \"get\",\n          missing: \"\"\n        },\n        formEnctype: {\n          type: [\"application/x-www-form-urlencoded\", \"multipart/form-data\", \"text/plain\"],\n          invalid: \"application/x-www-form-urlencoded\",\n          missing: \"\"\n        }\n      }\n    });\n    define({\n      tag: \"dl\",\n      name: \"HTMLDListElement\",\n      ctor: function HTMLDListElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        compact: Boolean\n      }\n    });\n    define({\n      tag: \"data\",\n      name: \"HTMLDataElement\",\n      ctor: function HTMLDataElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        value: String\n      }\n    });\n    define({\n      tag: \"datalist\",\n      name: \"HTMLDataListElement\",\n      ctor: function HTMLDataListElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      }\n    });\n    define({\n      tag: \"details\",\n      name: \"HTMLDetailsElement\",\n      ctor: function HTMLDetailsElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        \"open\": Boolean\n      }\n    });\n    define({\n      tag: \"div\",\n      name: \"HTMLDivElement\",\n      ctor: function HTMLDivElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        align: String\n      }\n    });\n    define({\n      tag: \"embed\",\n      name: \"HTMLEmbedElement\",\n      ctor: function HTMLEmbedElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        src: URL,\n        type: String,\n        width: String,\n        height: String,\n        align: String,\n        name: String\n      }\n    });\n    define({\n      tag: \"fieldset\",\n      name: \"HTMLFieldSetElement\",\n      ctor: function HTMLFieldSetElement(doc, localName, prefix) {\n        HTMLFormElement.call(this, doc, localName, prefix);\n      },\n      props: formAssociatedProps,\n      attributes: {\n        disabled: Boolean,\n        name: String\n      }\n    });\n    define({\n      tag: \"form\",\n      name: \"HTMLFormElement\",\n      ctor: function HTMLFormElement2(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        action: String,\n        autocomplete: {\n          type: [\"on\", \"off\"],\n          missing: \"on\"\n        },\n        name: String,\n        acceptCharset: {\n          name: \"accept-charset\"\n        },\n        target: String,\n        noValidate: Boolean,\n        method: {\n          type: [\"get\", \"post\", \"dialog\"],\n          invalid: \"get\",\n          missing: \"get\"\n        },\n        enctype: {\n          type: [\"application/x-www-form-urlencoded\", \"multipart/form-data\", \"text/plain\"],\n          invalid: \"application/x-www-form-urlencoded\",\n          missing: \"application/x-www-form-urlencoded\"\n        },\n        encoding: {\n          name: \"enctype\",\n          type: [\"application/x-www-form-urlencoded\", \"multipart/form-data\", \"text/plain\"],\n          invalid: \"application/x-www-form-urlencoded\",\n          missing: \"application/x-www-form-urlencoded\"\n        }\n      }\n    });\n    define({\n      tag: \"hr\",\n      name: \"HTMLHRElement\",\n      ctor: function HTMLHRElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        align: String,\n        color: String,\n        noShade: Boolean,\n        size: String,\n        width: String\n      }\n    });\n    define({\n      tag: \"head\",\n      name: \"HTMLHeadElement\",\n      ctor: function HTMLHeadElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      }\n    });\n    define({\n      tags: [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"],\n      name: \"HTMLHeadingElement\",\n      ctor: function HTMLHeadingElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        align: String\n      }\n    });\n    define({\n      tag: \"html\",\n      name: \"HTMLHtmlElement\",\n      ctor: function HTMLHtmlElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        xmlns: URL,\n        version: String\n      }\n    });\n    define({\n      tag: \"iframe\",\n      name: \"HTMLIFrameElement\",\n      ctor: function HTMLIFrameElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        src: URL,\n        srcdoc: String,\n        name: String,\n        width: String,\n        height: String,\n        seamless: Boolean,\n        allow: Boolean,\n        allowFullscreen: Boolean,\n        allowUserMedia: Boolean,\n        allowPaymentRequest: Boolean,\n        referrerPolicy: REFERRER,\n        loading: {\n          type: [\"eager\", \"lazy\"],\n          treatNullAsEmptyString: true\n        },\n        align: String,\n        scrolling: String,\n        frameBorder: String,\n        longDesc: URL,\n        marginHeight: {\n          type: String,\n          treatNullAsEmptyString: true\n        },\n        marginWidth: {\n          type: String,\n          treatNullAsEmptyString: true\n        }\n      }\n    });\n    define({\n      tag: \"img\",\n      name: \"HTMLImageElement\",\n      ctor: function HTMLImageElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        alt: String,\n        src: URL,\n        srcset: String,\n        crossOrigin: CORS,\n        useMap: String,\n        isMap: Boolean,\n        sizes: String,\n        height: {\n          type: \"unsigned long\",\n          default: 0\n        },\n        width: {\n          type: \"unsigned long\",\n          default: 0\n        },\n        referrerPolicy: REFERRER,\n        loading: {\n          type: [\"eager\", \"lazy\"],\n          missing: \"\"\n        },\n        name: String,\n        lowsrc: URL,\n        align: String,\n        hspace: {\n          type: \"unsigned long\",\n          default: 0\n        },\n        vspace: {\n          type: \"unsigned long\",\n          default: 0\n        },\n        longDesc: URL,\n        border: {\n          type: String,\n          treatNullAsEmptyString: true\n        }\n      }\n    });\n    define({\n      tag: \"input\",\n      name: \"HTMLInputElement\",\n      ctor: function HTMLInputElement(doc, localName, prefix) {\n        HTMLFormElement.call(this, doc, localName, prefix);\n      },\n      props: {\n        form: formAssociatedProps.form,\n        _post_click_activation_steps: {\n          value: function (e) {\n            if (this.type === \"checkbox\") {\n              this.checked = !this.checked;\n            } else if (this.type === \"radio\") {\n              var group = this.form.getElementsByName(this.name);\n              for (var i = group.length - 1; i >= 0; i--) {\n                var el = group[i];\n                el.checked = el === this;\n              }\n            }\n          }\n        }\n      },\n      attributes: {\n        name: String,\n        disabled: Boolean,\n        autofocus: Boolean,\n        accept: String,\n        alt: String,\n        max: String,\n        min: String,\n        pattern: String,\n        placeholder: String,\n        step: String,\n        dirName: String,\n        defaultValue: {\n          name: \"value\"\n        },\n        multiple: Boolean,\n        required: Boolean,\n        readOnly: Boolean,\n        checked: Boolean,\n        value: String,\n        src: URL,\n        defaultChecked: {\n          name: \"checked\",\n          type: Boolean\n        },\n        size: {\n          type: \"unsigned long\",\n          default: 20,\n          min: 1,\n          setmin: 1\n        },\n        width: {\n          type: \"unsigned long\",\n          min: 0,\n          setmin: 0,\n          default: 0\n        },\n        height: {\n          type: \"unsigned long\",\n          min: 0,\n          setmin: 0,\n          default: 0\n        },\n        minLength: {\n          type: \"unsigned long\",\n          min: 0,\n          setmin: 0,\n          default: -1\n        },\n        maxLength: {\n          type: \"unsigned long\",\n          min: 0,\n          setmin: 0,\n          default: -1\n        },\n        autocomplete: String,\n        type: {\n          type: [\"text\", \"hidden\", \"search\", \"tel\", \"url\", \"email\", \"password\", \"datetime\", \"date\", \"month\", \"week\", \"time\", \"datetime-local\", \"number\", \"range\", \"color\", \"checkbox\", \"radio\", \"file\", \"submit\", \"image\", \"reset\", \"button\"],\n          missing: \"text\"\n        },\n        formTarget: String,\n        formNoValidate: Boolean,\n        formMethod: {\n          type: [\"get\", \"post\"],\n          invalid: \"get\",\n          missing: \"\"\n        },\n        formEnctype: {\n          type: [\"application/x-www-form-urlencoded\", \"multipart/form-data\", \"text/plain\"],\n          invalid: \"application/x-www-form-urlencoded\",\n          missing: \"\"\n        },\n        inputMode: {\n          type: [\"verbatim\", \"latin\", \"latin-name\", \"latin-prose\", \"full-width-latin\", \"kana\", \"kana-name\", \"katakana\", \"numeric\", \"tel\", \"email\", \"url\"],\n          missing: \"\"\n        },\n        align: String,\n        useMap: String\n      }\n    });\n    define({\n      tag: \"keygen\",\n      name: \"HTMLKeygenElement\",\n      ctor: function HTMLKeygenElement(doc, localName, prefix) {\n        HTMLFormElement.call(this, doc, localName, prefix);\n      },\n      props: formAssociatedProps,\n      attributes: {\n        name: String,\n        disabled: Boolean,\n        autofocus: Boolean,\n        challenge: String,\n        keytype: {\n          type: [\"rsa\"],\n          missing: \"\"\n        }\n      }\n    });\n    define({\n      tag: \"li\",\n      name: \"HTMLLIElement\",\n      ctor: function HTMLLIElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        value: {\n          type: \"long\",\n          default: 0\n        },\n        type: String\n      }\n    });\n    define({\n      tag: \"label\",\n      name: \"HTMLLabelElement\",\n      ctor: function HTMLLabelElement(doc, localName, prefix) {\n        HTMLFormElement.call(this, doc, localName, prefix);\n      },\n      props: formAssociatedProps,\n      attributes: {\n        htmlFor: {\n          name: \"for\",\n          type: String\n        }\n      }\n    });\n    define({\n      tag: \"legend\",\n      name: \"HTMLLegendElement\",\n      ctor: function HTMLLegendElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        align: String\n      }\n    });\n    define({\n      tag: \"link\",\n      name: \"HTMLLinkElement\",\n      ctor: function HTMLLinkElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        href: URL,\n        rel: String,\n        media: String,\n        hreflang: String,\n        type: String,\n        crossOrigin: CORS,\n        nonce: String,\n        integrity: String,\n        referrerPolicy: REFERRER,\n        imageSizes: String,\n        imageSrcset: String,\n        charset: String,\n        rev: String,\n        target: String\n      }\n    });\n    define({\n      tag: \"map\",\n      name: \"HTMLMapElement\",\n      ctor: function HTMLMapElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        name: String\n      }\n    });\n    define({\n      tag: \"menu\",\n      name: \"HTMLMenuElement\",\n      ctor: function HTMLMenuElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        type: {\n          type: [\"context\", \"popup\", \"toolbar\"],\n          missing: \"toolbar\"\n        },\n        label: String,\n        compact: Boolean\n      }\n    });\n    define({\n      tag: \"meta\",\n      name: \"HTMLMetaElement\",\n      ctor: function HTMLMetaElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        name: String,\n        content: String,\n        httpEquiv: {\n          name: \"http-equiv\",\n          type: String\n        },\n        scheme: String\n      }\n    });\n    define({\n      tag: \"meter\",\n      name: \"HTMLMeterElement\",\n      ctor: function HTMLMeterElement(doc, localName, prefix) {\n        HTMLFormElement.call(this, doc, localName, prefix);\n      },\n      props: formAssociatedProps\n    });\n    define({\n      tags: [\"ins\", \"del\"],\n      name: \"HTMLModElement\",\n      ctor: function HTMLModElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        cite: URL,\n        dateTime: String\n      }\n    });\n    define({\n      tag: \"ol\",\n      name: \"HTMLOListElement\",\n      ctor: function HTMLOListElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      props: {\n        _numitems: {\n          get: function () {\n            var items = 0;\n            this.childNodes.forEach(function (n) {\n              if (n.nodeType === Node.ELEMENT_NODE && n.tagName === \"LI\") items++;\n            });\n            return items;\n          }\n        }\n      },\n      attributes: {\n        type: String,\n        reversed: Boolean,\n        start: {\n          type: \"long\",\n          default: function () {\n            if (this.reversed) return this._numitems;else return 1;\n          }\n        },\n        compact: Boolean\n      }\n    });\n    define({\n      tag: \"object\",\n      name: \"HTMLObjectElement\",\n      ctor: function HTMLObjectElement(doc, localName, prefix) {\n        HTMLFormElement.call(this, doc, localName, prefix);\n      },\n      props: formAssociatedProps,\n      attributes: {\n        data: URL,\n        type: String,\n        name: String,\n        useMap: String,\n        typeMustMatch: Boolean,\n        width: String,\n        height: String,\n        align: String,\n        archive: String,\n        code: String,\n        declare: Boolean,\n        hspace: {\n          type: \"unsigned long\",\n          default: 0\n        },\n        standby: String,\n        vspace: {\n          type: \"unsigned long\",\n          default: 0\n        },\n        codeBase: URL,\n        codeType: String,\n        border: {\n          type: String,\n          treatNullAsEmptyString: true\n        }\n      }\n    });\n    define({\n      tag: \"optgroup\",\n      name: \"HTMLOptGroupElement\",\n      ctor: function HTMLOptGroupElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        disabled: Boolean,\n        label: String\n      }\n    });\n    define({\n      tag: \"option\",\n      name: \"HTMLOptionElement\",\n      ctor: function HTMLOptionElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      props: {\n        form: {\n          get: function () {\n            var p = this.parentNode;\n            while (p && p.nodeType === Node.ELEMENT_NODE) {\n              if (p.localName === \"select\") return p.form;\n              p = p.parentNode;\n            }\n          }\n        },\n        value: {\n          get: function () {\n            return this._getattr(\"value\") || this.text;\n          },\n          set: function (v) {\n            this._setattr(\"value\", v);\n          }\n        },\n        text: {\n          get: function () {\n            return this.textContent.replace(/[ \\t\\n\\f\\r]+/g, \" \").trim();\n          },\n          set: function (v) {\n            this.textContent = v;\n          }\n        }\n      },\n      attributes: {\n        disabled: Boolean,\n        defaultSelected: {\n          name: \"selected\",\n          type: Boolean\n        },\n        label: String\n      }\n    });\n    define({\n      tag: \"output\",\n      name: \"HTMLOutputElement\",\n      ctor: function HTMLOutputElement(doc, localName, prefix) {\n        HTMLFormElement.call(this, doc, localName, prefix);\n      },\n      props: formAssociatedProps,\n      attributes: {\n        name: String\n      }\n    });\n    define({\n      tag: \"p\",\n      name: \"HTMLParagraphElement\",\n      ctor: function HTMLParagraphElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        align: String\n      }\n    });\n    define({\n      tag: \"param\",\n      name: \"HTMLParamElement\",\n      ctor: function HTMLParamElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        name: String,\n        value: String,\n        type: String,\n        valueType: String\n      }\n    });\n    define({\n      tags: [\"pre\", \"listing\", \"xmp\"],\n      name: \"HTMLPreElement\",\n      ctor: function HTMLPreElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        width: {\n          type: \"long\",\n          default: 0\n        }\n      }\n    });\n    define({\n      tag: \"progress\",\n      name: \"HTMLProgressElement\",\n      ctor: function HTMLProgressElement(doc, localName, prefix) {\n        HTMLFormElement.call(this, doc, localName, prefix);\n      },\n      props: formAssociatedProps,\n      attributes: {\n        max: {\n          type: Number,\n          float: true,\n          default: 1,\n          min: 0\n        }\n      }\n    });\n    define({\n      tags: [\"q\", \"blockquote\"],\n      name: \"HTMLQuoteElement\",\n      ctor: function HTMLQuoteElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        cite: URL\n      }\n    });\n    define({\n      tag: \"script\",\n      name: \"HTMLScriptElement\",\n      ctor: function HTMLScriptElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      props: {\n        text: {\n          get: function () {\n            var s = \"\";\n            for (var i = 0, n = this.childNodes.length; i < n; i++) {\n              var child = this.childNodes[i];\n              if (child.nodeType === Node.TEXT_NODE) s += child._data;\n            }\n            return s;\n          },\n          set: function (value) {\n            this.removeChildren();\n            if (value !== null && value !== \"\") {\n              this.appendChild(this.ownerDocument.createTextNode(value));\n            }\n          }\n        }\n      },\n      attributes: {\n        src: URL,\n        type: String,\n        charset: String,\n        referrerPolicy: REFERRER,\n        defer: Boolean,\n        async: Boolean,\n        nomodule: Boolean,\n        crossOrigin: CORS,\n        nonce: String,\n        integrity: String\n      }\n    });\n    define({\n      tag: \"select\",\n      name: \"HTMLSelectElement\",\n      ctor: function HTMLSelectElement(doc, localName, prefix) {\n        HTMLFormElement.call(this, doc, localName, prefix);\n      },\n      props: {\n        form: formAssociatedProps.form,\n        options: {\n          get: function () {\n            return this.getElementsByTagName(\"option\");\n          }\n        }\n      },\n      attributes: {\n        autocomplete: String,\n        name: String,\n        disabled: Boolean,\n        autofocus: Boolean,\n        multiple: Boolean,\n        required: Boolean,\n        size: {\n          type: \"unsigned long\",\n          default: 0\n        }\n      }\n    });\n    define({\n      tag: \"span\",\n      name: \"HTMLSpanElement\",\n      ctor: function HTMLSpanElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      }\n    });\n    define({\n      tag: \"style\",\n      name: \"HTMLStyleElement\",\n      ctor: function HTMLStyleElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        media: String,\n        type: String,\n        scoped: Boolean\n      }\n    });\n    define({\n      tag: \"caption\",\n      name: \"HTMLTableCaptionElement\",\n      ctor: function HTMLTableCaptionElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        align: String\n      }\n    });\n    define({\n      name: \"HTMLTableCellElement\",\n      ctor: function HTMLTableCellElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        colSpan: {\n          type: \"unsigned long\",\n          default: 1\n        },\n        rowSpan: {\n          type: \"unsigned long\",\n          default: 1\n        },\n        scope: {\n          type: [\"row\", \"col\", \"rowgroup\", \"colgroup\"],\n          missing: \"\"\n        },\n        abbr: String,\n        align: String,\n        axis: String,\n        height: String,\n        width: String,\n        ch: {\n          name: \"char\",\n          type: String\n        },\n        chOff: {\n          name: \"charoff\",\n          type: String\n        },\n        noWrap: Boolean,\n        vAlign: String,\n        bgColor: {\n          type: String,\n          treatNullAsEmptyString: true\n        }\n      }\n    });\n    define({\n      tags: [\"col\", \"colgroup\"],\n      name: \"HTMLTableColElement\",\n      ctor: function HTMLTableColElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        span: {\n          type: \"limited unsigned long with fallback\",\n          default: 1,\n          min: 1\n        },\n        align: String,\n        ch: {\n          name: \"char\",\n          type: String\n        },\n        chOff: {\n          name: \"charoff\",\n          type: String\n        },\n        vAlign: String,\n        width: String\n      }\n    });\n    define({\n      tag: \"table\",\n      name: \"HTMLTableElement\",\n      ctor: function HTMLTableElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      props: {\n        rows: {\n          get: function () {\n            return this.getElementsByTagName(\"tr\");\n          }\n        }\n      },\n      attributes: {\n        align: String,\n        border: String,\n        frame: String,\n        rules: String,\n        summary: String,\n        width: String,\n        bgColor: {\n          type: String,\n          treatNullAsEmptyString: true\n        },\n        cellPadding: {\n          type: String,\n          treatNullAsEmptyString: true\n        },\n        cellSpacing: {\n          type: String,\n          treatNullAsEmptyString: true\n        }\n      }\n    });\n    define({\n      tag: \"template\",\n      name: \"HTMLTemplateElement\",\n      ctor: function HTMLTemplateElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n        this._contentFragment = doc._templateDoc.createDocumentFragment();\n      },\n      props: {\n        content: {\n          get: function () {\n            return this._contentFragment;\n          }\n        },\n        serialize: {\n          value: function () {\n            return this.content.serialize();\n          }\n        }\n      }\n    });\n    define({\n      tag: \"tr\",\n      name: \"HTMLTableRowElement\",\n      ctor: function HTMLTableRowElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      props: {\n        cells: {\n          get: function () {\n            return this.querySelectorAll(\"td,th\");\n          }\n        }\n      },\n      attributes: {\n        align: String,\n        ch: {\n          name: \"char\",\n          type: String\n        },\n        chOff: {\n          name: \"charoff\",\n          type: String\n        },\n        vAlign: String,\n        bgColor: {\n          type: String,\n          treatNullAsEmptyString: true\n        }\n      }\n    });\n    define({\n      tags: [\"thead\", \"tfoot\", \"tbody\"],\n      name: \"HTMLTableSectionElement\",\n      ctor: function HTMLTableSectionElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      props: {\n        rows: {\n          get: function () {\n            return this.getElementsByTagName(\"tr\");\n          }\n        }\n      },\n      attributes: {\n        align: String,\n        ch: {\n          name: \"char\",\n          type: String\n        },\n        chOff: {\n          name: \"charoff\",\n          type: String\n        },\n        vAlign: String\n      }\n    });\n    define({\n      tag: \"textarea\",\n      name: \"HTMLTextAreaElement\",\n      ctor: function HTMLTextAreaElement(doc, localName, prefix) {\n        HTMLFormElement.call(this, doc, localName, prefix);\n      },\n      props: {\n        form: formAssociatedProps.form,\n        type: {\n          get: function () {\n            return \"textarea\";\n          }\n        },\n        defaultValue: {\n          get: function () {\n            return this.textContent;\n          },\n          set: function (v) {\n            this.textContent = v;\n          }\n        },\n        value: {\n          get: function () {\n            return this.defaultValue;\n          },\n          set: function (v) {\n            this.defaultValue = v;\n          }\n        },\n        textLength: {\n          get: function () {\n            return this.value.length;\n          }\n        }\n      },\n      attributes: {\n        autocomplete: String,\n        name: String,\n        disabled: Boolean,\n        autofocus: Boolean,\n        placeholder: String,\n        wrap: String,\n        dirName: String,\n        required: Boolean,\n        readOnly: Boolean,\n        rows: {\n          type: \"limited unsigned long with fallback\",\n          default: 2\n        },\n        cols: {\n          type: \"limited unsigned long with fallback\",\n          default: 20\n        },\n        maxLength: {\n          type: \"unsigned long\",\n          min: 0,\n          setmin: 0,\n          default: -1\n        },\n        minLength: {\n          type: \"unsigned long\",\n          min: 0,\n          setmin: 0,\n          default: -1\n        },\n        inputMode: {\n          type: [\"verbatim\", \"latin\", \"latin-name\", \"latin-prose\", \"full-width-latin\", \"kana\", \"kana-name\", \"katakana\", \"numeric\", \"tel\", \"email\", \"url\"],\n          missing: \"\"\n        }\n      }\n    });\n    define({\n      tag: \"time\",\n      name: \"HTMLTimeElement\",\n      ctor: function HTMLTimeElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        dateTime: String,\n        pubDate: Boolean\n      }\n    });\n    define({\n      tag: \"title\",\n      name: \"HTMLTitleElement\",\n      ctor: function HTMLTitleElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      props: {\n        text: {\n          get: function () {\n            return this.textContent;\n          }\n        }\n      }\n    });\n    define({\n      tag: \"ul\",\n      name: \"HTMLUListElement\",\n      ctor: function HTMLUListElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        type: String,\n        compact: Boolean\n      }\n    });\n    define({\n      name: \"HTMLMediaElement\",\n      ctor: function HTMLMediaElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        src: URL,\n        crossOrigin: CORS,\n        preload: {\n          type: [\"metadata\", \"none\", \"auto\", {\n            value: \"\",\n            alias: \"auto\"\n          }],\n          missing: \"auto\"\n        },\n        loop: Boolean,\n        autoplay: Boolean,\n        mediaGroup: String,\n        controls: Boolean,\n        defaultMuted: {\n          name: \"muted\",\n          type: Boolean\n        }\n      }\n    });\n    define({\n      name: \"HTMLAudioElement\",\n      tag: \"audio\",\n      superclass: htmlElements.HTMLMediaElement,\n      ctor: function HTMLAudioElement(doc, localName, prefix) {\n        htmlElements.HTMLMediaElement.call(this, doc, localName, prefix);\n      }\n    });\n    define({\n      name: \"HTMLVideoElement\",\n      tag: \"video\",\n      superclass: htmlElements.HTMLMediaElement,\n      ctor: function HTMLVideoElement(doc, localName, prefix) {\n        htmlElements.HTMLMediaElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        poster: URL,\n        width: {\n          type: \"unsigned long\",\n          min: 0,\n          default: 0\n        },\n        height: {\n          type: \"unsigned long\",\n          min: 0,\n          default: 0\n        }\n      }\n    });\n    define({\n      tag: \"td\",\n      name: \"HTMLTableDataCellElement\",\n      superclass: htmlElements.HTMLTableCellElement,\n      ctor: function HTMLTableDataCellElement(doc, localName, prefix) {\n        htmlElements.HTMLTableCellElement.call(this, doc, localName, prefix);\n      }\n    });\n    define({\n      tag: \"th\",\n      name: \"HTMLTableHeaderCellElement\",\n      superclass: htmlElements.HTMLTableCellElement,\n      ctor: function HTMLTableHeaderCellElement(doc, localName, prefix) {\n        htmlElements.HTMLTableCellElement.call(this, doc, localName, prefix);\n      }\n    });\n    define({\n      tag: \"frameset\",\n      name: \"HTMLFrameSetElement\",\n      ctor: function HTMLFrameSetElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      }\n    });\n    define({\n      tag: \"frame\",\n      name: \"HTMLFrameElement\",\n      ctor: function HTMLFrameElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      }\n    });\n    define({\n      tag: \"canvas\",\n      name: \"HTMLCanvasElement\",\n      ctor: function HTMLCanvasElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      props: {\n        getContext: {\n          value: utils.nyi\n        },\n        probablySupportsContext: {\n          value: utils.nyi\n        },\n        setContext: {\n          value: utils.nyi\n        },\n        transferControlToProxy: {\n          value: utils.nyi\n        },\n        toDataURL: {\n          value: utils.nyi\n        },\n        toBlob: {\n          value: utils.nyi\n        }\n      },\n      attributes: {\n        width: {\n          type: \"unsigned long\",\n          default: 300\n        },\n        height: {\n          type: \"unsigned long\",\n          default: 150\n        }\n      }\n    });\n    define({\n      tag: \"dialog\",\n      name: \"HTMLDialogElement\",\n      ctor: function HTMLDialogElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      props: {\n        show: {\n          value: utils.nyi\n        },\n        showModal: {\n          value: utils.nyi\n        },\n        close: {\n          value: utils.nyi\n        }\n      },\n      attributes: {\n        open: Boolean,\n        returnValue: String\n      }\n    });\n    define({\n      tag: \"menuitem\",\n      name: \"HTMLMenuItemElement\",\n      ctor: function HTMLMenuItemElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      props: {\n        _label: {\n          get: function () {\n            var val = this._getattr(\"label\");\n            if (val !== null && val !== \"\") {\n              return val;\n            }\n            val = this.textContent;\n            return val.replace(/[ \\t\\n\\f\\r]+/g, \" \").trim();\n          }\n        },\n        label: {\n          get: function () {\n            var val = this._getattr(\"label\");\n            if (val !== null) {\n              return val;\n            }\n            return this._label;\n          },\n          set: function (v) {\n            this._setattr(\"label\", v);\n          }\n        }\n      },\n      attributes: {\n        type: {\n          type: [\"command\", \"checkbox\", \"radio\"],\n          missing: \"command\"\n        },\n        icon: URL,\n        disabled: Boolean,\n        checked: Boolean,\n        radiogroup: String,\n        default: Boolean\n      }\n    });\n    define({\n      tag: \"source\",\n      name: \"HTMLSourceElement\",\n      ctor: function HTMLSourceElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        srcset: String,\n        sizes: String,\n        media: String,\n        src: URL,\n        type: String,\n        width: String,\n        height: String\n      }\n    });\n    define({\n      tag: \"track\",\n      name: \"HTMLTrackElement\",\n      ctor: function HTMLTrackElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        src: URL,\n        srclang: String,\n        label: String,\n        default: Boolean,\n        kind: {\n          type: [\"subtitles\", \"captions\", \"descriptions\", \"chapters\", \"metadata\"],\n          missing: \"subtitles\",\n          invalid: \"metadata\"\n        }\n      },\n      props: {\n        NONE: {\n          get: function () {\n            return 0;\n          }\n        },\n        LOADING: {\n          get: function () {\n            return 1;\n          }\n        },\n        LOADED: {\n          get: function () {\n            return 2;\n          }\n        },\n        ERROR: {\n          get: function () {\n            return 3;\n          }\n        },\n        readyState: {\n          get: utils.nyi\n        },\n        track: {\n          get: utils.nyi\n        }\n      }\n    });\n    define({\n      tag: \"font\",\n      name: \"HTMLFontElement\",\n      ctor: function HTMLFontElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        color: {\n          type: String,\n          treatNullAsEmptyString: true\n        },\n        face: {\n          type: String\n        },\n        size: {\n          type: String\n        }\n      }\n    });\n    define({\n      tag: \"dir\",\n      name: \"HTMLDirectoryElement\",\n      ctor: function HTMLDirectoryElement(doc, localName, prefix) {\n        HTMLElement.call(this, doc, localName, prefix);\n      },\n      attributes: {\n        compact: Boolean\n      }\n    });\n    define({\n      tags: [\"abbr\", \"address\", \"article\", \"aside\", \"b\", \"bdi\", \"bdo\", \"cite\", \"content\", \"code\", \"dd\", \"dfn\", \"dt\", \"em\", \"figcaption\", \"figure\", \"footer\", \"header\", \"hgroup\", \"i\", \"kbd\", \"main\", \"mark\", \"nav\", \"noscript\", \"rb\", \"rp\", \"rt\", \"rtc\", \"ruby\", \"s\", \"samp\", \"section\", \"small\", \"strong\", \"sub\", \"summary\", \"sup\", \"u\", \"var\", \"wbr\", \"acronym\", \"basefont\", \"big\", \"center\", \"nobr\", \"noembed\", \"noframes\", \"plaintext\", \"strike\", \"tt\"]\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/svg.js\nvar require_svg = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/svg.js\"(exports) {\n    var Element = require_Element();\n    var defineElement = require_defineElement();\n    var utils = require_utils();\n    var CSSStyleDeclaration = require_CSSStyleDeclaration();\n    var svgElements = exports.elements = {};\n    var svgNameToImpl = /* @__PURE__ */Object.create(null);\n    exports.createElement = function (doc, localName, prefix) {\n      var impl = svgNameToImpl[localName] || SVGElement;\n      return new impl(doc, localName, prefix);\n    };\n    function define(spec) {\n      return defineElement(spec, SVGElement, svgElements, svgNameToImpl);\n    }\n    var SVGElement = define({\n      superclass: Element,\n      name: \"SVGElement\",\n      ctor: function SVGElement2(doc, localName, prefix) {\n        Element.call(this, doc, localName, utils.NAMESPACE.SVG, prefix);\n      },\n      props: {\n        style: {\n          get: function () {\n            if (!this._style) this._style = new CSSStyleDeclaration(this);\n            return this._style;\n          }\n        }\n      }\n    });\n    define({\n      name: \"SVGSVGElement\",\n      ctor: function SVGSVGElement(doc, localName, prefix) {\n        SVGElement.call(this, doc, localName, prefix);\n      },\n      tag: \"svg\",\n      props: {\n        createSVGRect: {\n          value: function () {\n            return exports.createElement(this.ownerDocument, \"rect\", null);\n          }\n        }\n      }\n    });\n    define({\n      tags: [\"a\", \"altGlyph\", \"altGlyphDef\", \"altGlyphItem\", \"animate\", \"animateColor\", \"animateMotion\", \"animateTransform\", \"circle\", \"clipPath\", \"color-profile\", \"cursor\", \"defs\", \"desc\", \"ellipse\", \"feBlend\", \"feColorMatrix\", \"feComponentTransfer\", \"feComposite\", \"feConvolveMatrix\", \"feDiffuseLighting\", \"feDisplacementMap\", \"feDistantLight\", \"feFlood\", \"feFuncA\", \"feFuncB\", \"feFuncG\", \"feFuncR\", \"feGaussianBlur\", \"feImage\", \"feMerge\", \"feMergeNode\", \"feMorphology\", \"feOffset\", \"fePointLight\", \"feSpecularLighting\", \"feSpotLight\", \"feTile\", \"feTurbulence\", \"filter\", \"font\", \"font-face\", \"font-face-format\", \"font-face-name\", \"font-face-src\", \"font-face-uri\", \"foreignObject\", \"g\", \"glyph\", \"glyphRef\", \"hkern\", \"image\", \"line\", \"linearGradient\", \"marker\", \"mask\", \"metadata\", \"missing-glyph\", \"mpath\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialGradient\", \"rect\", \"script\", \"set\", \"stop\", \"style\", \"switch\", \"symbol\", \"text\", \"textPath\", \"title\", \"tref\", \"tspan\", \"use\", \"view\", \"vkern\"]\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/MutationConstants.js\nvar require_MutationConstants = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/MutationConstants.js\"(exports, module) {\n    module.exports = {\n      VALUE: 1,\n      ATTR: 2,\n      REMOVE_ATTR: 3,\n      REMOVE: 4,\n      MOVE: 5,\n      INSERT: 6\n    };\n  }\n});\n\n// external/npm/node_modules/domino/lib/Document.js\nvar require_Document = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/Document.js\"(exports, module) {\n    module.exports = Document;\n    var Node = require_Node();\n    var NodeList = require_NodeList();\n    var ContainerNode = require_ContainerNode();\n    var Element = require_Element();\n    var Text = require_Text();\n    var Comment = require_Comment();\n    var Event = require_Event();\n    var DocumentFragment = require_DocumentFragment();\n    var ProcessingInstruction = require_ProcessingInstruction();\n    var DOMImplementation = require_DOMImplementation();\n    var TreeWalker = require_TreeWalker();\n    var NodeIterator = require_NodeIterator();\n    var NodeFilter = require_NodeFilter();\n    var URL = require_URL();\n    var select = require_select();\n    var events = require_events();\n    var xml = require_xmlnames();\n    var html = require_htmlelts();\n    var svg = require_svg();\n    var utils = require_utils();\n    var MUTATE = require_MutationConstants();\n    var NAMESPACE = utils.NAMESPACE;\n    var isApiWritable = require_config().isApiWritable;\n    function Document(isHTML, address) {\n      ContainerNode.call(this);\n      this.nodeType = Node.DOCUMENT_NODE;\n      this.isHTML = isHTML;\n      this._address = address || \"about:blank\";\n      this.readyState = \"loading\";\n      this.implementation = new DOMImplementation(this);\n      this.ownerDocument = null;\n      this._contentType = isHTML ? \"text/html\" : \"application/xml\";\n      this.doctype = null;\n      this.documentElement = null;\n      this._templateDocCache = null;\n      this._nodeIterators = null;\n      this._nid = 1;\n      this._nextnid = 2;\n      this._nodes = [null, this];\n      this.byId = /* @__PURE__ */Object.create(null);\n      this.modclock = 0;\n    }\n    var supportedEvents = {\n      event: \"Event\",\n      customevent: \"CustomEvent\",\n      uievent: \"UIEvent\",\n      mouseevent: \"MouseEvent\"\n    };\n    var replacementEvent = {\n      events: \"event\",\n      htmlevents: \"event\",\n      mouseevents: \"mouseevent\",\n      mutationevents: \"mutationevent\",\n      uievents: \"uievent\"\n    };\n    var mirrorAttr = function (f, name, defaultValue) {\n      return {\n        get: function () {\n          var o = f.call(this);\n          if (o) {\n            return o[name];\n          }\n          return defaultValue;\n        },\n        set: function (value) {\n          var o = f.call(this);\n          if (o) {\n            o[name] = value;\n          }\n        }\n      };\n    };\n    function validateAndExtract(namespace, qualifiedName) {\n      var prefix, localName, pos;\n      if (namespace === \"\") {\n        namespace = null;\n      }\n      if (!xml.isValidQName(qualifiedName)) {\n        utils.InvalidCharacterError();\n      }\n      prefix = null;\n      localName = qualifiedName;\n      pos = qualifiedName.indexOf(\":\");\n      if (pos >= 0) {\n        prefix = qualifiedName.substring(0, pos);\n        localName = qualifiedName.substring(pos + 1);\n      }\n      if (prefix !== null && namespace === null) {\n        utils.NamespaceError();\n      }\n      if (prefix === \"xml\" && namespace !== NAMESPACE.XML) {\n        utils.NamespaceError();\n      }\n      if ((prefix === \"xmlns\" || qualifiedName === \"xmlns\") && namespace !== NAMESPACE.XMLNS) {\n        utils.NamespaceError();\n      }\n      if (namespace === NAMESPACE.XMLNS && !(prefix === \"xmlns\" || qualifiedName === \"xmlns\")) {\n        utils.NamespaceError();\n      }\n      return {\n        namespace,\n        prefix,\n        localName\n      };\n    }\n    Document.prototype = Object.create(ContainerNode.prototype, {\n      _setMutationHandler: {\n        value: function (handler) {\n          this.mutationHandler = handler;\n        }\n      },\n      _dispatchRendererEvent: {\n        value: function (targetNid, type, details) {\n          var target = this._nodes[targetNid];\n          if (!target) return;\n          target._dispatchEvent(new Event(type, details), true);\n        }\n      },\n      nodeName: {\n        value: \"#document\"\n      },\n      nodeValue: {\n        get: function () {\n          return null;\n        },\n        set: function () {}\n      },\n      documentURI: {\n        get: function () {\n          return this._address;\n        },\n        set: utils.nyi\n      },\n      compatMode: {\n        get: function () {\n          return this._quirks ? \"BackCompat\" : \"CSS1Compat\";\n        }\n      },\n      createTextNode: {\n        value: function (data) {\n          return new Text(this, String(data));\n        }\n      },\n      createComment: {\n        value: function (data) {\n          return new Comment(this, data);\n        }\n      },\n      createDocumentFragment: {\n        value: function () {\n          return new DocumentFragment(this);\n        }\n      },\n      createProcessingInstruction: {\n        value: function (target, data) {\n          if (!xml.isValidName(target) || data.indexOf(\"?>\") !== -1) utils.InvalidCharacterError();\n          return new ProcessingInstruction(this, target, data);\n        }\n      },\n      createAttribute: {\n        value: function (localName) {\n          localName = String(localName);\n          if (!xml.isValidName(localName)) utils.InvalidCharacterError();\n          if (this.isHTML) {\n            localName = utils.toASCIILowerCase(localName);\n          }\n          return new Element._Attr(null, localName, null, null, \"\");\n        }\n      },\n      createAttributeNS: {\n        value: function (namespace, qualifiedName) {\n          namespace = namespace === null || namespace === void 0 || namespace === \"\" ? null : String(namespace);\n          qualifiedName = String(qualifiedName);\n          var ve = validateAndExtract(namespace, qualifiedName);\n          return new Element._Attr(null, ve.localName, ve.prefix, ve.namespace, \"\");\n        }\n      },\n      createElement: {\n        value: function (localName) {\n          localName = String(localName);\n          if (!xml.isValidName(localName)) utils.InvalidCharacterError();\n          if (this.isHTML) {\n            if (/[A-Z]/.test(localName)) localName = utils.toASCIILowerCase(localName);\n            return html.createElement(this, localName, null);\n          } else if (this.contentType === \"application/xhtml+xml\") {\n            return html.createElement(this, localName, null);\n          } else {\n            return new Element(this, localName, null, null);\n          }\n        },\n        writable: isApiWritable\n      },\n      createElementNS: {\n        value: function (namespace, qualifiedName) {\n          namespace = namespace === null || namespace === void 0 || namespace === \"\" ? null : String(namespace);\n          qualifiedName = String(qualifiedName);\n          var ve = validateAndExtract(namespace, qualifiedName);\n          return this._createElementNS(ve.localName, ve.namespace, ve.prefix);\n        },\n        writable: isApiWritable\n      },\n      _createElementNS: {\n        value: function (localName, namespace, prefix) {\n          if (namespace === NAMESPACE.HTML) {\n            return html.createElement(this, localName, prefix);\n          } else if (namespace === NAMESPACE.SVG) {\n            return svg.createElement(this, localName, prefix);\n          }\n          return new Element(this, localName, namespace, prefix);\n        }\n      },\n      createEvent: {\n        value: function createEvent(interfaceName) {\n          interfaceName = interfaceName.toLowerCase();\n          var name = replacementEvent[interfaceName] || interfaceName;\n          var constructor = events[supportedEvents[name]];\n          if (constructor) {\n            var e = new constructor();\n            e._initialized = false;\n            return e;\n          } else {\n            utils.NotSupportedError();\n          }\n        }\n      },\n      createTreeWalker: {\n        value: function (root2, whatToShow, filter) {\n          if (!root2) {\n            throw new TypeError(\"root argument is required\");\n          }\n          if (!(root2 instanceof Node)) {\n            throw new TypeError(\"root not a node\");\n          }\n          whatToShow = whatToShow === void 0 ? NodeFilter.SHOW_ALL : +whatToShow;\n          filter = filter === void 0 ? null : filter;\n          return new TreeWalker(root2, whatToShow, filter);\n        }\n      },\n      createNodeIterator: {\n        value: function (root2, whatToShow, filter) {\n          if (!root2) {\n            throw new TypeError(\"root argument is required\");\n          }\n          if (!(root2 instanceof Node)) {\n            throw new TypeError(\"root not a node\");\n          }\n          whatToShow = whatToShow === void 0 ? NodeFilter.SHOW_ALL : +whatToShow;\n          filter = filter === void 0 ? null : filter;\n          return new NodeIterator(root2, whatToShow, filter);\n        }\n      },\n      _attachNodeIterator: {\n        value: function (ni) {\n          if (!this._nodeIterators) {\n            this._nodeIterators = [];\n          }\n          this._nodeIterators.push(ni);\n        }\n      },\n      _detachNodeIterator: {\n        value: function (ni) {\n          var idx = this._nodeIterators.indexOf(ni);\n          this._nodeIterators.splice(idx, 1);\n        }\n      },\n      _preremoveNodeIterators: {\n        value: function (toBeRemoved) {\n          if (this._nodeIterators) {\n            this._nodeIterators.forEach(function (ni) {\n              ni._preremove(toBeRemoved);\n            });\n          }\n        }\n      },\n      _updateDocTypeElement: {\n        value: function _updateDocTypeElement() {\n          this.doctype = this.documentElement = null;\n          for (var kid = this.firstChild; kid !== null; kid = kid.nextSibling) {\n            if (kid.nodeType === Node.DOCUMENT_TYPE_NODE) this.doctype = kid;else if (kid.nodeType === Node.ELEMENT_NODE) this.documentElement = kid;\n          }\n        }\n      },\n      insertBefore: {\n        value: function insertBefore(child, refChild) {\n          Node.prototype.insertBefore.call(this, child, refChild);\n          this._updateDocTypeElement();\n          return child;\n        }\n      },\n      replaceChild: {\n        value: function replaceChild(node, child) {\n          Node.prototype.replaceChild.call(this, node, child);\n          this._updateDocTypeElement();\n          return child;\n        }\n      },\n      removeChild: {\n        value: function removeChild(child) {\n          Node.prototype.removeChild.call(this, child);\n          this._updateDocTypeElement();\n          return child;\n        }\n      },\n      getElementById: {\n        value: function (id) {\n          var n = this.byId[id];\n          if (!n) return null;\n          if (n instanceof MultiId) {\n            return n.getFirst();\n          }\n          return n;\n        }\n      },\n      _hasMultipleElementsWithId: {\n        value: function (id) {\n          return this.byId[id] instanceof MultiId;\n        }\n      },\n      getElementsByName: {\n        value: Element.prototype.getElementsByName\n      },\n      getElementsByTagName: {\n        value: Element.prototype.getElementsByTagName\n      },\n      getElementsByTagNameNS: {\n        value: Element.prototype.getElementsByTagNameNS\n      },\n      getElementsByClassName: {\n        value: Element.prototype.getElementsByClassName\n      },\n      adoptNode: {\n        value: function adoptNode(node) {\n          if (node.nodeType === Node.DOCUMENT_NODE) utils.NotSupportedError();\n          if (node.nodeType === Node.ATTRIBUTE_NODE) {\n            return node;\n          }\n          if (node.parentNode) node.parentNode.removeChild(node);\n          if (node.ownerDocument !== this) recursivelySetOwner(node, this);\n          return node;\n        }\n      },\n      importNode: {\n        value: function importNode(node, deep) {\n          return this.adoptNode(node.cloneNode(deep));\n        },\n        writable: isApiWritable\n      },\n      origin: {\n        get: function origin() {\n          return null;\n        }\n      },\n      characterSet: {\n        get: function characterSet() {\n          return \"UTF-8\";\n        }\n      },\n      contentType: {\n        get: function contentType() {\n          return this._contentType;\n        }\n      },\n      URL: {\n        get: function URL2() {\n          return this._address;\n        }\n      },\n      domain: {\n        get: utils.nyi,\n        set: utils.nyi\n      },\n      referrer: {\n        get: utils.nyi\n      },\n      cookie: {\n        get: utils.nyi,\n        set: utils.nyi\n      },\n      lastModified: {\n        get: utils.nyi\n      },\n      location: {\n        get: function () {\n          return this.defaultView ? this.defaultView.location : null;\n        },\n        set: utils.nyi\n      },\n      _titleElement: {\n        get: function () {\n          return this.getElementsByTagName(\"title\").item(0) || null;\n        }\n      },\n      title: {\n        get: function () {\n          var elt = this._titleElement;\n          var value = elt ? elt.textContent : \"\";\n          return value.replace(/[ \\t\\n\\r\\f]+/g, \" \").replace(/(^ )|( $)/g, \"\");\n        },\n        set: function (value) {\n          var elt = this._titleElement;\n          var head = this.head;\n          if (!elt && !head) {\n            return;\n          }\n          if (!elt) {\n            elt = this.createElement(\"title\");\n            head.appendChild(elt);\n          }\n          elt.textContent = value;\n        }\n      },\n      dir: mirrorAttr(function () {\n        var htmlElement = this.documentElement;\n        if (htmlElement && htmlElement.tagName === \"HTML\") {\n          return htmlElement;\n        }\n      }, \"dir\", \"\"),\n      fgColor: mirrorAttr(function () {\n        return this.body;\n      }, \"text\", \"\"),\n      linkColor: mirrorAttr(function () {\n        return this.body;\n      }, \"link\", \"\"),\n      vlinkColor: mirrorAttr(function () {\n        return this.body;\n      }, \"vLink\", \"\"),\n      alinkColor: mirrorAttr(function () {\n        return this.body;\n      }, \"aLink\", \"\"),\n      bgColor: mirrorAttr(function () {\n        return this.body;\n      }, \"bgColor\", \"\"),\n      charset: {\n        get: function () {\n          return this.characterSet;\n        }\n      },\n      inputEncoding: {\n        get: function () {\n          return this.characterSet;\n        }\n      },\n      scrollingElement: {\n        get: function () {\n          return this._quirks ? this.body : this.documentElement;\n        }\n      },\n      body: {\n        get: function () {\n          return namedHTMLChild(this.documentElement, \"body\");\n        },\n        set: utils.nyi\n      },\n      head: {\n        get: function () {\n          return namedHTMLChild(this.documentElement, \"head\");\n        }\n      },\n      images: {\n        get: utils.nyi\n      },\n      embeds: {\n        get: utils.nyi\n      },\n      plugins: {\n        get: utils.nyi\n      },\n      links: {\n        get: utils.nyi\n      },\n      forms: {\n        get: utils.nyi\n      },\n      scripts: {\n        get: utils.nyi\n      },\n      applets: {\n        get: function () {\n          return [];\n        }\n      },\n      activeElement: {\n        get: function () {\n          return null;\n        }\n      },\n      innerHTML: {\n        get: function () {\n          return this.serialize();\n        },\n        set: utils.nyi\n      },\n      outerHTML: {\n        get: function () {\n          return this.serialize();\n        },\n        set: utils.nyi\n      },\n      write: {\n        value: function (args) {\n          if (!this.isHTML) utils.InvalidStateError();\n          if (!this._parser) return;\n          var s = arguments.join(\"\");\n          this._parser.parse(s);\n        }\n      },\n      writeln: {\n        value: function writeln(args) {\n          this.write(Array.prototype.join.call(arguments, \"\") + \"\\n\");\n        }\n      },\n      open: {\n        value: function () {\n          this.documentElement = null;\n        }\n      },\n      close: {\n        value: function () {\n          this.readyState = \"interactive\";\n          this._dispatchEvent(new Event(\"readystatechange\"), true);\n          this._dispatchEvent(new Event(\"DOMContentLoaded\"), true);\n          this.readyState = \"complete\";\n          this._dispatchEvent(new Event(\"readystatechange\"), true);\n          if (this.defaultView) {\n            this.defaultView._dispatchEvent(new Event(\"load\"), true);\n          }\n        }\n      },\n      clone: {\n        value: function clone() {\n          var d = new Document(this.isHTML, this._address);\n          d._quirks = this._quirks;\n          d._contentType = this._contentType;\n          return d;\n        }\n      },\n      cloneNode: {\n        value: function cloneNode(deep) {\n          var clone = Node.prototype.cloneNode.call(this, false);\n          if (deep) {\n            for (var kid = this.firstChild; kid !== null; kid = kid.nextSibling) {\n              clone._appendChild(clone.importNode(kid, true));\n            }\n          }\n          clone._updateDocTypeElement();\n          return clone;\n        }\n      },\n      isEqual: {\n        value: function isEqual(n) {\n          return true;\n        }\n      },\n      mutateValue: {\n        value: function (node) {\n          if (this.mutationHandler) {\n            this.mutationHandler({\n              type: MUTATE.VALUE,\n              target: node,\n              data: node.data\n            });\n          }\n        }\n      },\n      mutateAttr: {\n        value: function (attr, oldval) {\n          if (this.mutationHandler) {\n            this.mutationHandler({\n              type: MUTATE.ATTR,\n              target: attr.ownerElement,\n              attr\n            });\n          }\n        }\n      },\n      mutateRemoveAttr: {\n        value: function (attr) {\n          if (this.mutationHandler) {\n            this.mutationHandler({\n              type: MUTATE.REMOVE_ATTR,\n              target: attr.ownerElement,\n              attr\n            });\n          }\n        }\n      },\n      mutateRemove: {\n        value: function (node) {\n          if (this.mutationHandler) {\n            this.mutationHandler({\n              type: MUTATE.REMOVE,\n              target: node.parentNode,\n              node\n            });\n          }\n          recursivelyUproot(node);\n        }\n      },\n      mutateInsert: {\n        value: function (node) {\n          recursivelyRoot(node);\n          if (this.mutationHandler) {\n            this.mutationHandler({\n              type: MUTATE.INSERT,\n              target: node.parentNode,\n              node\n            });\n          }\n        }\n      },\n      mutateMove: {\n        value: function (node) {\n          if (this.mutationHandler) {\n            this.mutationHandler({\n              type: MUTATE.MOVE,\n              target: node\n            });\n          }\n        }\n      },\n      addId: {\n        value: function addId(id, n) {\n          var val = this.byId[id];\n          if (!val) {\n            this.byId[id] = n;\n          } else {\n            if (!(val instanceof MultiId)) {\n              val = new MultiId(val);\n              this.byId[id] = val;\n            }\n            val.add(n);\n          }\n        }\n      },\n      delId: {\n        value: function delId(id, n) {\n          var val = this.byId[id];\n          utils.assert(val);\n          if (val instanceof MultiId) {\n            val.del(n);\n            if (val.length === 1) {\n              this.byId[id] = val.downgrade();\n            }\n          } else {\n            this.byId[id] = void 0;\n          }\n        }\n      },\n      _resolve: {\n        value: function (href) {\n          return new URL(this._documentBaseURL).resolve(href);\n        }\n      },\n      _documentBaseURL: {\n        get: function () {\n          var url = this._address;\n          if (url === \"about:blank\") url = \"/\";\n          var base = this.querySelector(\"base[href]\");\n          if (base) {\n            return new URL(url).resolve(base.getAttribute(\"href\"));\n          }\n          return url;\n        }\n      },\n      _templateDoc: {\n        get: function () {\n          if (!this._templateDocCache) {\n            var newDoc = new Document(this.isHTML, this._address);\n            this._templateDocCache = newDoc._templateDocCache = newDoc;\n          }\n          return this._templateDocCache;\n        }\n      },\n      querySelector: {\n        value: function (selector) {\n          return select(selector, this)[0];\n        }\n      },\n      querySelectorAll: {\n        value: function (selector) {\n          var nodes = select(selector, this);\n          return nodes.item ? nodes : new NodeList(nodes);\n        }\n      }\n    });\n    var eventHandlerTypes = [\"abort\", \"canplay\", \"canplaythrough\", \"change\", \"click\", \"contextmenu\", \"cuechange\", \"dblclick\", \"drag\", \"dragend\", \"dragenter\", \"dragleave\", \"dragover\", \"dragstart\", \"drop\", \"durationchange\", \"emptied\", \"ended\", \"input\", \"invalid\", \"keydown\", \"keypress\", \"keyup\", \"loadeddata\", \"loadedmetadata\", \"loadstart\", \"mousedown\", \"mousemove\", \"mouseout\", \"mouseover\", \"mouseup\", \"mousewheel\", \"pause\", \"play\", \"playing\", \"progress\", \"ratechange\", \"readystatechange\", \"reset\", \"seeked\", \"seeking\", \"select\", \"show\", \"stalled\", \"submit\", \"suspend\", \"timeupdate\", \"volumechange\", \"waiting\", \"blur\", \"error\", \"focus\", \"load\", \"scroll\"];\n    eventHandlerTypes.forEach(function (type) {\n      Object.defineProperty(Document.prototype, \"on\" + type, {\n        get: function () {\n          return this._getEventHandler(type);\n        },\n        set: function (v) {\n          this._setEventHandler(type, v);\n        }\n      });\n    });\n    function namedHTMLChild(parent, name) {\n      if (parent && parent.isHTML) {\n        for (var kid = parent.firstChild; kid !== null; kid = kid.nextSibling) {\n          if (kid.nodeType === Node.ELEMENT_NODE && kid.localName === name && kid.namespaceURI === NAMESPACE.HTML) {\n            return kid;\n          }\n        }\n      }\n      return null;\n    }\n    function root(n) {\n      n._nid = n.ownerDocument._nextnid++;\n      n.ownerDocument._nodes[n._nid] = n;\n      if (n.nodeType === Node.ELEMENT_NODE) {\n        var id = n.getAttribute(\"id\");\n        if (id) n.ownerDocument.addId(id, n);\n        if (n._roothook) n._roothook();\n      }\n    }\n    function uproot(n) {\n      if (n.nodeType === Node.ELEMENT_NODE) {\n        var id = n.getAttribute(\"id\");\n        if (id) n.ownerDocument.delId(id, n);\n      }\n      n.ownerDocument._nodes[n._nid] = void 0;\n      n._nid = void 0;\n    }\n    function recursivelyRoot(node) {\n      root(node);\n      if (node.nodeType === Node.ELEMENT_NODE) {\n        for (var kid = node.firstChild; kid !== null; kid = kid.nextSibling) recursivelyRoot(kid);\n      }\n    }\n    function recursivelyUproot(node) {\n      uproot(node);\n      for (var kid = node.firstChild; kid !== null; kid = kid.nextSibling) recursivelyUproot(kid);\n    }\n    function recursivelySetOwner(node, owner) {\n      node.ownerDocument = owner;\n      node._lastModTime = void 0;\n      if (Object.prototype.hasOwnProperty.call(node, \"_tagName\")) {\n        node._tagName = void 0;\n      }\n      for (var kid = node.firstChild; kid !== null; kid = kid.nextSibling) recursivelySetOwner(kid, owner);\n    }\n    function MultiId(node) {\n      this.nodes = /* @__PURE__ */Object.create(null);\n      this.nodes[node._nid] = node;\n      this.length = 1;\n      this.firstNode = void 0;\n    }\n    MultiId.prototype.add = function (node) {\n      if (!this.nodes[node._nid]) {\n        this.nodes[node._nid] = node;\n        this.length++;\n        this.firstNode = void 0;\n      }\n    };\n    MultiId.prototype.del = function (node) {\n      if (this.nodes[node._nid]) {\n        delete this.nodes[node._nid];\n        this.length--;\n        this.firstNode = void 0;\n      }\n    };\n    MultiId.prototype.getFirst = function () {\n      if (!this.firstNode) {\n        var nid;\n        for (nid in this.nodes) {\n          if (this.firstNode === void 0 || this.firstNode.compareDocumentPosition(this.nodes[nid]) & Node.DOCUMENT_POSITION_PRECEDING) {\n            this.firstNode = this.nodes[nid];\n          }\n        }\n      }\n      return this.firstNode;\n    };\n    MultiId.prototype.downgrade = function () {\n      if (this.length === 1) {\n        var nid;\n        for (nid in this.nodes) {\n          return this.nodes[nid];\n        }\n      }\n      return this;\n    };\n  }\n});\n\n// external/npm/node_modules/domino/lib/DocumentType.js\nvar require_DocumentType = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/DocumentType.js\"(exports, module) {\n    module.exports = DocumentType;\n    var Node = require_Node();\n    var Leaf = require_Leaf();\n    var ChildNode = require_ChildNode();\n    function DocumentType(ownerDocument, name, publicId, systemId) {\n      Leaf.call(this);\n      this.nodeType = Node.DOCUMENT_TYPE_NODE;\n      this.ownerDocument = ownerDocument || null;\n      this.name = name;\n      this.publicId = publicId || \"\";\n      this.systemId = systemId || \"\";\n    }\n    DocumentType.prototype = Object.create(Leaf.prototype, {\n      nodeName: {\n        get: function () {\n          return this.name;\n        }\n      },\n      nodeValue: {\n        get: function () {\n          return null;\n        },\n        set: function () {}\n      },\n      clone: {\n        value: function clone() {\n          return new DocumentType(this.ownerDocument, this.name, this.publicId, this.systemId);\n        }\n      },\n      isEqual: {\n        value: function isEqual(n) {\n          return this.name === n.name && this.publicId === n.publicId && this.systemId === n.systemId;\n        }\n      }\n    });\n    Object.defineProperties(DocumentType.prototype, ChildNode);\n  }\n});\n\n// external/npm/node_modules/domino/lib/HTMLParser.js\nvar require_HTMLParser = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/HTMLParser.js\"(exports, module) {\n    module.exports = HTMLParser;\n    var Document = require_Document();\n    var DocumentType = require_DocumentType();\n    var Node = require_Node();\n    var NAMESPACE = require_utils().NAMESPACE;\n    var html = require_htmlelts();\n    var impl = html.elements;\n    var pushAll = Function.prototype.apply.bind(Array.prototype.push);\n    var EOF = -1;\n    var TEXT = 1;\n    var TAG = 2;\n    var ENDTAG = 3;\n    var COMMENT = 4;\n    var DOCTYPE = 5;\n    var NOATTRS = [];\n    var quirkyPublicIds = /^HTML$|^-\\/\\/W3O\\/\\/DTD W3 HTML Strict 3\\.0\\/\\/EN\\/\\/$|^-\\/W3C\\/DTD HTML 4\\.0 Transitional\\/EN$|^\\+\\/\\/Silmaril\\/\\/dtd html Pro v0r11 19970101\\/\\/|^-\\/\\/AdvaSoft Ltd\\/\\/DTD HTML 3\\.0 asWedit \\+ extensions\\/\\/|^-\\/\\/AS\\/\\/DTD HTML 3\\.0 asWedit \\+ extensions\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML 2\\.0 Level 1\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML 2\\.0 Level 2\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML 2\\.0 Strict Level 1\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML 2\\.0 Strict Level 2\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML 2\\.0 Strict\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML 2\\.0\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML 2\\.1E\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML 3\\.0\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML 3\\.2 Final\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML 3\\.2\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML 3\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML Level 0\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML Level 1\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML Level 2\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML Level 3\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML Strict Level 0\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML Strict Level 1\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML Strict Level 2\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML Strict Level 3\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML Strict\\/\\/|^-\\/\\/IETF\\/\\/DTD HTML\\/\\/|^-\\/\\/Metrius\\/\\/DTD Metrius Presentational\\/\\/|^-\\/\\/Microsoft\\/\\/DTD Internet Explorer 2\\.0 HTML Strict\\/\\/|^-\\/\\/Microsoft\\/\\/DTD Internet Explorer 2\\.0 HTML\\/\\/|^-\\/\\/Microsoft\\/\\/DTD Internet Explorer 2\\.0 Tables\\/\\/|^-\\/\\/Microsoft\\/\\/DTD Internet Explorer 3\\.0 HTML Strict\\/\\/|^-\\/\\/Microsoft\\/\\/DTD Internet Explorer 3\\.0 HTML\\/\\/|^-\\/\\/Microsoft\\/\\/DTD Internet Explorer 3\\.0 Tables\\/\\/|^-\\/\\/Netscape Comm\\. Corp\\.\\/\\/DTD HTML\\/\\/|^-\\/\\/Netscape Comm\\. Corp\\.\\/\\/DTD Strict HTML\\/\\/|^-\\/\\/O'Reilly and Associates\\/\\/DTD HTML 2\\.0\\/\\/|^-\\/\\/O'Reilly and Associates\\/\\/DTD HTML Extended 1\\.0\\/\\/|^-\\/\\/O'Reilly and Associates\\/\\/DTD HTML Extended Relaxed 1\\.0\\/\\/|^-\\/\\/SoftQuad Software\\/\\/DTD HoTMetaL PRO 6\\.0::19990601::extensions to HTML 4\\.0\\/\\/|^-\\/\\/SoftQuad\\/\\/DTD HoTMetaL PRO 4\\.0::19971010::extensions to HTML 4\\.0\\/\\/|^-\\/\\/Spyglass\\/\\/DTD HTML 2\\.0 Extended\\/\\/|^-\\/\\/SQ\\/\\/DTD HTML 2\\.0 HoTMetaL \\+ extensions\\/\\/|^-\\/\\/Sun Microsystems Corp\\.\\/\\/DTD HotJava HTML\\/\\/|^-\\/\\/Sun Microsystems Corp\\.\\/\\/DTD HotJava Strict HTML\\/\\/|^-\\/\\/W3C\\/\\/DTD HTML 3 1995-03-24\\/\\/|^-\\/\\/W3C\\/\\/DTD HTML 3\\.2 Draft\\/\\/|^-\\/\\/W3C\\/\\/DTD HTML 3\\.2 Final\\/\\/|^-\\/\\/W3C\\/\\/DTD HTML 3\\.2\\/\\/|^-\\/\\/W3C\\/\\/DTD HTML 3\\.2S Draft\\/\\/|^-\\/\\/W3C\\/\\/DTD HTML 4\\.0 Frameset\\/\\/|^-\\/\\/W3C\\/\\/DTD HTML 4\\.0 Transitional\\/\\/|^-\\/\\/W3C\\/\\/DTD HTML Experimental 19960712\\/\\/|^-\\/\\/W3C\\/\\/DTD HTML Experimental 970421\\/\\/|^-\\/\\/W3C\\/\\/DTD W3 HTML\\/\\/|^-\\/\\/W3O\\/\\/DTD W3 HTML 3\\.0\\/\\/|^-\\/\\/WebTechs\\/\\/DTD Mozilla HTML 2\\.0\\/\\/|^-\\/\\/WebTechs\\/\\/DTD Mozilla HTML\\/\\//i;\n    var quirkySystemId = \"http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd\";\n    var conditionallyQuirkyPublicIds = /^-\\/\\/W3C\\/\\/DTD HTML 4\\.01 Frameset\\/\\/|^-\\/\\/W3C\\/\\/DTD HTML 4\\.01 Transitional\\/\\//i;\n    var limitedQuirkyPublicIds = /^-\\/\\/W3C\\/\\/DTD XHTML 1\\.0 Frameset\\/\\/|^-\\/\\/W3C\\/\\/DTD XHTML 1\\.0 Transitional\\/\\//i;\n    var specialSet = /* @__PURE__ */Object.create(null);\n    specialSet[NAMESPACE.HTML] = {\n      __proto__: null,\n      \"address\": true,\n      \"applet\": true,\n      \"area\": true,\n      \"article\": true,\n      \"aside\": true,\n      \"base\": true,\n      \"basefont\": true,\n      \"bgsound\": true,\n      \"blockquote\": true,\n      \"body\": true,\n      \"br\": true,\n      \"button\": true,\n      \"caption\": true,\n      \"center\": true,\n      \"col\": true,\n      \"colgroup\": true,\n      \"dd\": true,\n      \"details\": true,\n      \"dir\": true,\n      \"div\": true,\n      \"dl\": true,\n      \"dt\": true,\n      \"embed\": true,\n      \"fieldset\": true,\n      \"figcaption\": true,\n      \"figure\": true,\n      \"footer\": true,\n      \"form\": true,\n      \"frame\": true,\n      \"frameset\": true,\n      \"h1\": true,\n      \"h2\": true,\n      \"h3\": true,\n      \"h4\": true,\n      \"h5\": true,\n      \"h6\": true,\n      \"head\": true,\n      \"header\": true,\n      \"hgroup\": true,\n      \"hr\": true,\n      \"html\": true,\n      \"iframe\": true,\n      \"img\": true,\n      \"input\": true,\n      \"li\": true,\n      \"link\": true,\n      \"listing\": true,\n      \"main\": true,\n      \"marquee\": true,\n      \"menu\": true,\n      \"meta\": true,\n      \"nav\": true,\n      \"noembed\": true,\n      \"noframes\": true,\n      \"noscript\": true,\n      \"object\": true,\n      \"ol\": true,\n      \"p\": true,\n      \"param\": true,\n      \"plaintext\": true,\n      \"pre\": true,\n      \"script\": true,\n      \"section\": true,\n      \"select\": true,\n      \"source\": true,\n      \"style\": true,\n      \"summary\": true,\n      \"table\": true,\n      \"tbody\": true,\n      \"td\": true,\n      \"template\": true,\n      \"textarea\": true,\n      \"tfoot\": true,\n      \"th\": true,\n      \"thead\": true,\n      \"title\": true,\n      \"tr\": true,\n      \"track\": true,\n      \"ul\": true,\n      \"wbr\": true,\n      \"xmp\": true\n    };\n    specialSet[NAMESPACE.SVG] = {\n      __proto__: null,\n      \"foreignObject\": true,\n      \"desc\": true,\n      \"title\": true\n    };\n    specialSet[NAMESPACE.MATHML] = {\n      __proto__: null,\n      \"mi\": true,\n      \"mo\": true,\n      \"mn\": true,\n      \"ms\": true,\n      \"mtext\": true,\n      \"annotation-xml\": true\n    };\n    var addressdivpSet = /* @__PURE__ */Object.create(null);\n    addressdivpSet[NAMESPACE.HTML] = {\n      __proto__: null,\n      \"address\": true,\n      \"div\": true,\n      \"p\": true\n    };\n    var dddtSet = /* @__PURE__ */Object.create(null);\n    dddtSet[NAMESPACE.HTML] = {\n      __proto__: null,\n      \"dd\": true,\n      \"dt\": true\n    };\n    var tablesectionrowSet = /* @__PURE__ */Object.create(null);\n    tablesectionrowSet[NAMESPACE.HTML] = {\n      __proto__: null,\n      \"table\": true,\n      \"thead\": true,\n      \"tbody\": true,\n      \"tfoot\": true,\n      \"tr\": true\n    };\n    var impliedEndTagsSet = /* @__PURE__ */Object.create(null);\n    impliedEndTagsSet[NAMESPACE.HTML] = {\n      __proto__: null,\n      \"dd\": true,\n      \"dt\": true,\n      \"li\": true,\n      \"menuitem\": true,\n      \"optgroup\": true,\n      \"option\": true,\n      \"p\": true,\n      \"rb\": true,\n      \"rp\": true,\n      \"rt\": true,\n      \"rtc\": true\n    };\n    var thoroughImpliedEndTagsSet = /* @__PURE__ */Object.create(null);\n    thoroughImpliedEndTagsSet[NAMESPACE.HTML] = {\n      __proto__: null,\n      \"caption\": true,\n      \"colgroup\": true,\n      \"dd\": true,\n      \"dt\": true,\n      \"li\": true,\n      \"optgroup\": true,\n      \"option\": true,\n      \"p\": true,\n      \"rb\": true,\n      \"rp\": true,\n      \"rt\": true,\n      \"rtc\": true,\n      \"tbody\": true,\n      \"td\": true,\n      \"tfoot\": true,\n      \"th\": true,\n      \"thead\": true,\n      \"tr\": true\n    };\n    var tableContextSet = /* @__PURE__ */Object.create(null);\n    tableContextSet[NAMESPACE.HTML] = {\n      __proto__: null,\n      \"table\": true,\n      \"template\": true,\n      \"html\": true\n    };\n    var tableBodyContextSet = /* @__PURE__ */Object.create(null);\n    tableBodyContextSet[NAMESPACE.HTML] = {\n      __proto__: null,\n      \"tbody\": true,\n      \"tfoot\": true,\n      \"thead\": true,\n      \"template\": true,\n      \"html\": true\n    };\n    var tableRowContextSet = /* @__PURE__ */Object.create(null);\n    tableRowContextSet[NAMESPACE.HTML] = {\n      __proto__: null,\n      \"tr\": true,\n      \"template\": true,\n      \"html\": true\n    };\n    var formassociatedSet = /* @__PURE__ */Object.create(null);\n    formassociatedSet[NAMESPACE.HTML] = {\n      __proto__: null,\n      \"button\": true,\n      \"fieldset\": true,\n      \"input\": true,\n      \"keygen\": true,\n      \"object\": true,\n      \"output\": true,\n      \"select\": true,\n      \"textarea\": true,\n      \"img\": true\n    };\n    var inScopeSet = /* @__PURE__ */Object.create(null);\n    inScopeSet[NAMESPACE.HTML] = {\n      __proto__: null,\n      \"applet\": true,\n      \"caption\": true,\n      \"html\": true,\n      \"table\": true,\n      \"td\": true,\n      \"th\": true,\n      \"marquee\": true,\n      \"object\": true,\n      \"template\": true\n    };\n    inScopeSet[NAMESPACE.MATHML] = {\n      __proto__: null,\n      \"mi\": true,\n      \"mo\": true,\n      \"mn\": true,\n      \"ms\": true,\n      \"mtext\": true,\n      \"annotation-xml\": true\n    };\n    inScopeSet[NAMESPACE.SVG] = {\n      __proto__: null,\n      \"foreignObject\": true,\n      \"desc\": true,\n      \"title\": true\n    };\n    var inListItemScopeSet = Object.create(inScopeSet);\n    inListItemScopeSet[NAMESPACE.HTML] = Object.create(inScopeSet[NAMESPACE.HTML]);\n    inListItemScopeSet[NAMESPACE.HTML].ol = true;\n    inListItemScopeSet[NAMESPACE.HTML].ul = true;\n    var inButtonScopeSet = Object.create(inScopeSet);\n    inButtonScopeSet[NAMESPACE.HTML] = Object.create(inScopeSet[NAMESPACE.HTML]);\n    inButtonScopeSet[NAMESPACE.HTML].button = true;\n    var inTableScopeSet = /* @__PURE__ */Object.create(null);\n    inTableScopeSet[NAMESPACE.HTML] = {\n      __proto__: null,\n      \"html\": true,\n      \"table\": true,\n      \"template\": true\n    };\n    var invertedSelectScopeSet = /* @__PURE__ */Object.create(null);\n    invertedSelectScopeSet[NAMESPACE.HTML] = {\n      __proto__: null,\n      \"optgroup\": true,\n      \"option\": true\n    };\n    var mathmlTextIntegrationPointSet = /* @__PURE__ */Object.create(null);\n    mathmlTextIntegrationPointSet[NAMESPACE.MATHML] = {\n      __proto__: null,\n      mi: true,\n      mo: true,\n      mn: true,\n      ms: true,\n      mtext: true\n    };\n    var htmlIntegrationPointSet = /* @__PURE__ */Object.create(null);\n    htmlIntegrationPointSet[NAMESPACE.SVG] = {\n      __proto__: null,\n      foreignObject: true,\n      desc: true,\n      title: true\n    };\n    var foreignAttributes = {\n      __proto__: null,\n      \"xlink:actuate\": NAMESPACE.XLINK,\n      \"xlink:arcrole\": NAMESPACE.XLINK,\n      \"xlink:href\": NAMESPACE.XLINK,\n      \"xlink:role\": NAMESPACE.XLINK,\n      \"xlink:show\": NAMESPACE.XLINK,\n      \"xlink:title\": NAMESPACE.XLINK,\n      \"xlink:type\": NAMESPACE.XLINK,\n      \"xml:base\": NAMESPACE.XML,\n      \"xml:lang\": NAMESPACE.XML,\n      \"xml:space\": NAMESPACE.XML,\n      \"xmlns\": NAMESPACE.XMLNS,\n      \"xmlns:xlink\": NAMESPACE.XMLNS\n    };\n    var svgAttrAdjustments = {\n      __proto__: null,\n      attributename: \"attributeName\",\n      attributetype: \"attributeType\",\n      basefrequency: \"baseFrequency\",\n      baseprofile: \"baseProfile\",\n      calcmode: \"calcMode\",\n      clippathunits: \"clipPathUnits\",\n      diffuseconstant: \"diffuseConstant\",\n      edgemode: \"edgeMode\",\n      filterunits: \"filterUnits\",\n      glyphref: \"glyphRef\",\n      gradienttransform: \"gradientTransform\",\n      gradientunits: \"gradientUnits\",\n      kernelmatrix: \"kernelMatrix\",\n      kernelunitlength: \"kernelUnitLength\",\n      keypoints: \"keyPoints\",\n      keysplines: \"keySplines\",\n      keytimes: \"keyTimes\",\n      lengthadjust: \"lengthAdjust\",\n      limitingconeangle: \"limitingConeAngle\",\n      markerheight: \"markerHeight\",\n      markerunits: \"markerUnits\",\n      markerwidth: \"markerWidth\",\n      maskcontentunits: \"maskContentUnits\",\n      maskunits: \"maskUnits\",\n      numoctaves: \"numOctaves\",\n      pathlength: \"pathLength\",\n      patterncontentunits: \"patternContentUnits\",\n      patterntransform: \"patternTransform\",\n      patternunits: \"patternUnits\",\n      pointsatx: \"pointsAtX\",\n      pointsaty: \"pointsAtY\",\n      pointsatz: \"pointsAtZ\",\n      preservealpha: \"preserveAlpha\",\n      preserveaspectratio: \"preserveAspectRatio\",\n      primitiveunits: \"primitiveUnits\",\n      refx: \"refX\",\n      refy: \"refY\",\n      repeatcount: \"repeatCount\",\n      repeatdur: \"repeatDur\",\n      requiredextensions: \"requiredExtensions\",\n      requiredfeatures: \"requiredFeatures\",\n      specularconstant: \"specularConstant\",\n      specularexponent: \"specularExponent\",\n      spreadmethod: \"spreadMethod\",\n      startoffset: \"startOffset\",\n      stddeviation: \"stdDeviation\",\n      stitchtiles: \"stitchTiles\",\n      surfacescale: \"surfaceScale\",\n      systemlanguage: \"systemLanguage\",\n      tablevalues: \"tableValues\",\n      targetx: \"targetX\",\n      targety: \"targetY\",\n      textlength: \"textLength\",\n      viewbox: \"viewBox\",\n      viewtarget: \"viewTarget\",\n      xchannelselector: \"xChannelSelector\",\n      ychannelselector: \"yChannelSelector\",\n      zoomandpan: \"zoomAndPan\"\n    };\n    var svgTagNameAdjustments = {\n      __proto__: null,\n      altglyph: \"altGlyph\",\n      altglyphdef: \"altGlyphDef\",\n      altglyphitem: \"altGlyphItem\",\n      animatecolor: \"animateColor\",\n      animatemotion: \"animateMotion\",\n      animatetransform: \"animateTransform\",\n      clippath: \"clipPath\",\n      feblend: \"feBlend\",\n      fecolormatrix: \"feColorMatrix\",\n      fecomponenttransfer: \"feComponentTransfer\",\n      fecomposite: \"feComposite\",\n      feconvolvematrix: \"feConvolveMatrix\",\n      fediffuselighting: \"feDiffuseLighting\",\n      fedisplacementmap: \"feDisplacementMap\",\n      fedistantlight: \"feDistantLight\",\n      feflood: \"feFlood\",\n      fefunca: \"feFuncA\",\n      fefuncb: \"feFuncB\",\n      fefuncg: \"feFuncG\",\n      fefuncr: \"feFuncR\",\n      fegaussianblur: \"feGaussianBlur\",\n      feimage: \"feImage\",\n      femerge: \"feMerge\",\n      femergenode: \"feMergeNode\",\n      femorphology: \"feMorphology\",\n      feoffset: \"feOffset\",\n      fepointlight: \"fePointLight\",\n      fespecularlighting: \"feSpecularLighting\",\n      fespotlight: \"feSpotLight\",\n      fetile: \"feTile\",\n      feturbulence: \"feTurbulence\",\n      foreignobject: \"foreignObject\",\n      glyphref: \"glyphRef\",\n      lineargradient: \"linearGradient\",\n      radialgradient: \"radialGradient\",\n      textpath: \"textPath\"\n    };\n    var numericCharRefReplacements = {\n      __proto__: null,\n      0: 65533,\n      128: 8364,\n      130: 8218,\n      131: 402,\n      132: 8222,\n      133: 8230,\n      134: 8224,\n      135: 8225,\n      136: 710,\n      137: 8240,\n      138: 352,\n      139: 8249,\n      140: 338,\n      142: 381,\n      145: 8216,\n      146: 8217,\n      147: 8220,\n      148: 8221,\n      149: 8226,\n      150: 8211,\n      151: 8212,\n      152: 732,\n      153: 8482,\n      154: 353,\n      155: 8250,\n      156: 339,\n      158: 382,\n      159: 376\n    };\n    var namedCharRefs = {\n      __proto__: null,\n      \"AElig\": 198,\n      \"AElig;\": 198,\n      \"AMP\": 38,\n      \"AMP;\": 38,\n      \"Aacute\": 193,\n      \"Aacute;\": 193,\n      \"Abreve;\": 258,\n      \"Acirc\": 194,\n      \"Acirc;\": 194,\n      \"Acy;\": 1040,\n      \"Afr;\": [55349, 56580],\n      \"Agrave\": 192,\n      \"Agrave;\": 192,\n      \"Alpha;\": 913,\n      \"Amacr;\": 256,\n      \"And;\": 10835,\n      \"Aogon;\": 260,\n      \"Aopf;\": [55349, 56632],\n      \"ApplyFunction;\": 8289,\n      \"Aring\": 197,\n      \"Aring;\": 197,\n      \"Ascr;\": [55349, 56476],\n      \"Assign;\": 8788,\n      \"Atilde\": 195,\n      \"Atilde;\": 195,\n      \"Auml\": 196,\n      \"Auml;\": 196,\n      \"Backslash;\": 8726,\n      \"Barv;\": 10983,\n      \"Barwed;\": 8966,\n      \"Bcy;\": 1041,\n      \"Because;\": 8757,\n      \"Bernoullis;\": 8492,\n      \"Beta;\": 914,\n      \"Bfr;\": [55349, 56581],\n      \"Bopf;\": [55349, 56633],\n      \"Breve;\": 728,\n      \"Bscr;\": 8492,\n      \"Bumpeq;\": 8782,\n      \"CHcy;\": 1063,\n      \"COPY\": 169,\n      \"COPY;\": 169,\n      \"Cacute;\": 262,\n      \"Cap;\": 8914,\n      \"CapitalDifferentialD;\": 8517,\n      \"Cayleys;\": 8493,\n      \"Ccaron;\": 268,\n      \"Ccedil\": 199,\n      \"Ccedil;\": 199,\n      \"Ccirc;\": 264,\n      \"Cconint;\": 8752,\n      \"Cdot;\": 266,\n      \"Cedilla;\": 184,\n      \"CenterDot;\": 183,\n      \"Cfr;\": 8493,\n      \"Chi;\": 935,\n      \"CircleDot;\": 8857,\n      \"CircleMinus;\": 8854,\n      \"CirclePlus;\": 8853,\n      \"CircleTimes;\": 8855,\n      \"ClockwiseContourIntegral;\": 8754,\n      \"CloseCurlyDoubleQuote;\": 8221,\n      \"CloseCurlyQuote;\": 8217,\n      \"Colon;\": 8759,\n      \"Colone;\": 10868,\n      \"Congruent;\": 8801,\n      \"Conint;\": 8751,\n      \"ContourIntegral;\": 8750,\n      \"Copf;\": 8450,\n      \"Coproduct;\": 8720,\n      \"CounterClockwiseContourIntegral;\": 8755,\n      \"Cross;\": 10799,\n      \"Cscr;\": [55349, 56478],\n      \"Cup;\": 8915,\n      \"CupCap;\": 8781,\n      \"DD;\": 8517,\n      \"DDotrahd;\": 10513,\n      \"DJcy;\": 1026,\n      \"DScy;\": 1029,\n      \"DZcy;\": 1039,\n      \"Dagger;\": 8225,\n      \"Darr;\": 8609,\n      \"Dashv;\": 10980,\n      \"Dcaron;\": 270,\n      \"Dcy;\": 1044,\n      \"Del;\": 8711,\n      \"Delta;\": 916,\n      \"Dfr;\": [55349, 56583],\n      \"DiacriticalAcute;\": 180,\n      \"DiacriticalDot;\": 729,\n      \"DiacriticalDoubleAcute;\": 733,\n      \"DiacriticalGrave;\": 96,\n      \"DiacriticalTilde;\": 732,\n      \"Diamond;\": 8900,\n      \"DifferentialD;\": 8518,\n      \"Dopf;\": [55349, 56635],\n      \"Dot;\": 168,\n      \"DotDot;\": 8412,\n      \"DotEqual;\": 8784,\n      \"DoubleContourIntegral;\": 8751,\n      \"DoubleDot;\": 168,\n      \"DoubleDownArrow;\": 8659,\n      \"DoubleLeftArrow;\": 8656,\n      \"DoubleLeftRightArrow;\": 8660,\n      \"DoubleLeftTee;\": 10980,\n      \"DoubleLongLeftArrow;\": 10232,\n      \"DoubleLongLeftRightArrow;\": 10234,\n      \"DoubleLongRightArrow;\": 10233,\n      \"DoubleRightArrow;\": 8658,\n      \"DoubleRightTee;\": 8872,\n      \"DoubleUpArrow;\": 8657,\n      \"DoubleUpDownArrow;\": 8661,\n      \"DoubleVerticalBar;\": 8741,\n      \"DownArrow;\": 8595,\n      \"DownArrowBar;\": 10515,\n      \"DownArrowUpArrow;\": 8693,\n      \"DownBreve;\": 785,\n      \"DownLeftRightVector;\": 10576,\n      \"DownLeftTeeVector;\": 10590,\n      \"DownLeftVector;\": 8637,\n      \"DownLeftVectorBar;\": 10582,\n      \"DownRightTeeVector;\": 10591,\n      \"DownRightVector;\": 8641,\n      \"DownRightVectorBar;\": 10583,\n      \"DownTee;\": 8868,\n      \"DownTeeArrow;\": 8615,\n      \"Downarrow;\": 8659,\n      \"Dscr;\": [55349, 56479],\n      \"Dstrok;\": 272,\n      \"ENG;\": 330,\n      \"ETH\": 208,\n      \"ETH;\": 208,\n      \"Eacute\": 201,\n      \"Eacute;\": 201,\n      \"Ecaron;\": 282,\n      \"Ecirc\": 202,\n      \"Ecirc;\": 202,\n      \"Ecy;\": 1069,\n      \"Edot;\": 278,\n      \"Efr;\": [55349, 56584],\n      \"Egrave\": 200,\n      \"Egrave;\": 200,\n      \"Element;\": 8712,\n      \"Emacr;\": 274,\n      \"EmptySmallSquare;\": 9723,\n      \"EmptyVerySmallSquare;\": 9643,\n      \"Eogon;\": 280,\n      \"Eopf;\": [55349, 56636],\n      \"Epsilon;\": 917,\n      \"Equal;\": 10869,\n      \"EqualTilde;\": 8770,\n      \"Equilibrium;\": 8652,\n      \"Escr;\": 8496,\n      \"Esim;\": 10867,\n      \"Eta;\": 919,\n      \"Euml\": 203,\n      \"Euml;\": 203,\n      \"Exists;\": 8707,\n      \"ExponentialE;\": 8519,\n      \"Fcy;\": 1060,\n      \"Ffr;\": [55349, 56585],\n      \"FilledSmallSquare;\": 9724,\n      \"FilledVerySmallSquare;\": 9642,\n      \"Fopf;\": [55349, 56637],\n      \"ForAll;\": 8704,\n      \"Fouriertrf;\": 8497,\n      \"Fscr;\": 8497,\n      \"GJcy;\": 1027,\n      \"GT\": 62,\n      \"GT;\": 62,\n      \"Gamma;\": 915,\n      \"Gammad;\": 988,\n      \"Gbreve;\": 286,\n      \"Gcedil;\": 290,\n      \"Gcirc;\": 284,\n      \"Gcy;\": 1043,\n      \"Gdot;\": 288,\n      \"Gfr;\": [55349, 56586],\n      \"Gg;\": 8921,\n      \"Gopf;\": [55349, 56638],\n      \"GreaterEqual;\": 8805,\n      \"GreaterEqualLess;\": 8923,\n      \"GreaterFullEqual;\": 8807,\n      \"GreaterGreater;\": 10914,\n      \"GreaterLess;\": 8823,\n      \"GreaterSlantEqual;\": 10878,\n      \"GreaterTilde;\": 8819,\n      \"Gscr;\": [55349, 56482],\n      \"Gt;\": 8811,\n      \"HARDcy;\": 1066,\n      \"Hacek;\": 711,\n      \"Hat;\": 94,\n      \"Hcirc;\": 292,\n      \"Hfr;\": 8460,\n      \"HilbertSpace;\": 8459,\n      \"Hopf;\": 8461,\n      \"HorizontalLine;\": 9472,\n      \"Hscr;\": 8459,\n      \"Hstrok;\": 294,\n      \"HumpDownHump;\": 8782,\n      \"HumpEqual;\": 8783,\n      \"IEcy;\": 1045,\n      \"IJlig;\": 306,\n      \"IOcy;\": 1025,\n      \"Iacute\": 205,\n      \"Iacute;\": 205,\n      \"Icirc\": 206,\n      \"Icirc;\": 206,\n      \"Icy;\": 1048,\n      \"Idot;\": 304,\n      \"Ifr;\": 8465,\n      \"Igrave\": 204,\n      \"Igrave;\": 204,\n      \"Im;\": 8465,\n      \"Imacr;\": 298,\n      \"ImaginaryI;\": 8520,\n      \"Implies;\": 8658,\n      \"Int;\": 8748,\n      \"Integral;\": 8747,\n      \"Intersection;\": 8898,\n      \"InvisibleComma;\": 8291,\n      \"InvisibleTimes;\": 8290,\n      \"Iogon;\": 302,\n      \"Iopf;\": [55349, 56640],\n      \"Iota;\": 921,\n      \"Iscr;\": 8464,\n      \"Itilde;\": 296,\n      \"Iukcy;\": 1030,\n      \"Iuml\": 207,\n      \"Iuml;\": 207,\n      \"Jcirc;\": 308,\n      \"Jcy;\": 1049,\n      \"Jfr;\": [55349, 56589],\n      \"Jopf;\": [55349, 56641],\n      \"Jscr;\": [55349, 56485],\n      \"Jsercy;\": 1032,\n      \"Jukcy;\": 1028,\n      \"KHcy;\": 1061,\n      \"KJcy;\": 1036,\n      \"Kappa;\": 922,\n      \"Kcedil;\": 310,\n      \"Kcy;\": 1050,\n      \"Kfr;\": [55349, 56590],\n      \"Kopf;\": [55349, 56642],\n      \"Kscr;\": [55349, 56486],\n      \"LJcy;\": 1033,\n      \"LT\": 60,\n      \"LT;\": 60,\n      \"Lacute;\": 313,\n      \"Lambda;\": 923,\n      \"Lang;\": 10218,\n      \"Laplacetrf;\": 8466,\n      \"Larr;\": 8606,\n      \"Lcaron;\": 317,\n      \"Lcedil;\": 315,\n      \"Lcy;\": 1051,\n      \"LeftAngleBracket;\": 10216,\n      \"LeftArrow;\": 8592,\n      \"LeftArrowBar;\": 8676,\n      \"LeftArrowRightArrow;\": 8646,\n      \"LeftCeiling;\": 8968,\n      \"LeftDoubleBracket;\": 10214,\n      \"LeftDownTeeVector;\": 10593,\n      \"LeftDownVector;\": 8643,\n      \"LeftDownVectorBar;\": 10585,\n      \"LeftFloor;\": 8970,\n      \"LeftRightArrow;\": 8596,\n      \"LeftRightVector;\": 10574,\n      \"LeftTee;\": 8867,\n      \"LeftTeeArrow;\": 8612,\n      \"LeftTeeVector;\": 10586,\n      \"LeftTriangle;\": 8882,\n      \"LeftTriangleBar;\": 10703,\n      \"LeftTriangleEqual;\": 8884,\n      \"LeftUpDownVector;\": 10577,\n      \"LeftUpTeeVector;\": 10592,\n      \"LeftUpVector;\": 8639,\n      \"LeftUpVectorBar;\": 10584,\n      \"LeftVector;\": 8636,\n      \"LeftVectorBar;\": 10578,\n      \"Leftarrow;\": 8656,\n      \"Leftrightarrow;\": 8660,\n      \"LessEqualGreater;\": 8922,\n      \"LessFullEqual;\": 8806,\n      \"LessGreater;\": 8822,\n      \"LessLess;\": 10913,\n      \"LessSlantEqual;\": 10877,\n      \"LessTilde;\": 8818,\n      \"Lfr;\": [55349, 56591],\n      \"Ll;\": 8920,\n      \"Lleftarrow;\": 8666,\n      \"Lmidot;\": 319,\n      \"LongLeftArrow;\": 10229,\n      \"LongLeftRightArrow;\": 10231,\n      \"LongRightArrow;\": 10230,\n      \"Longleftarrow;\": 10232,\n      \"Longleftrightarrow;\": 10234,\n      \"Longrightarrow;\": 10233,\n      \"Lopf;\": [55349, 56643],\n      \"LowerLeftArrow;\": 8601,\n      \"LowerRightArrow;\": 8600,\n      \"Lscr;\": 8466,\n      \"Lsh;\": 8624,\n      \"Lstrok;\": 321,\n      \"Lt;\": 8810,\n      \"Map;\": 10501,\n      \"Mcy;\": 1052,\n      \"MediumSpace;\": 8287,\n      \"Mellintrf;\": 8499,\n      \"Mfr;\": [55349, 56592],\n      \"MinusPlus;\": 8723,\n      \"Mopf;\": [55349, 56644],\n      \"Mscr;\": 8499,\n      \"Mu;\": 924,\n      \"NJcy;\": 1034,\n      \"Nacute;\": 323,\n      \"Ncaron;\": 327,\n      \"Ncedil;\": 325,\n      \"Ncy;\": 1053,\n      \"NegativeMediumSpace;\": 8203,\n      \"NegativeThickSpace;\": 8203,\n      \"NegativeThinSpace;\": 8203,\n      \"NegativeVeryThinSpace;\": 8203,\n      \"NestedGreaterGreater;\": 8811,\n      \"NestedLessLess;\": 8810,\n      \"NewLine;\": 10,\n      \"Nfr;\": [55349, 56593],\n      \"NoBreak;\": 8288,\n      \"NonBreakingSpace;\": 160,\n      \"Nopf;\": 8469,\n      \"Not;\": 10988,\n      \"NotCongruent;\": 8802,\n      \"NotCupCap;\": 8813,\n      \"NotDoubleVerticalBar;\": 8742,\n      \"NotElement;\": 8713,\n      \"NotEqual;\": 8800,\n      \"NotEqualTilde;\": [8770, 824],\n      \"NotExists;\": 8708,\n      \"NotGreater;\": 8815,\n      \"NotGreaterEqual;\": 8817,\n      \"NotGreaterFullEqual;\": [8807, 824],\n      \"NotGreaterGreater;\": [8811, 824],\n      \"NotGreaterLess;\": 8825,\n      \"NotGreaterSlantEqual;\": [10878, 824],\n      \"NotGreaterTilde;\": 8821,\n      \"NotHumpDownHump;\": [8782, 824],\n      \"NotHumpEqual;\": [8783, 824],\n      \"NotLeftTriangle;\": 8938,\n      \"NotLeftTriangleBar;\": [10703, 824],\n      \"NotLeftTriangleEqual;\": 8940,\n      \"NotLess;\": 8814,\n      \"NotLessEqual;\": 8816,\n      \"NotLessGreater;\": 8824,\n      \"NotLessLess;\": [8810, 824],\n      \"NotLessSlantEqual;\": [10877, 824],\n      \"NotLessTilde;\": 8820,\n      \"NotNestedGreaterGreater;\": [10914, 824],\n      \"NotNestedLessLess;\": [10913, 824],\n      \"NotPrecedes;\": 8832,\n      \"NotPrecedesEqual;\": [10927, 824],\n      \"NotPrecedesSlantEqual;\": 8928,\n      \"NotReverseElement;\": 8716,\n      \"NotRightTriangle;\": 8939,\n      \"NotRightTriangleBar;\": [10704, 824],\n      \"NotRightTriangleEqual;\": 8941,\n      \"NotSquareSubset;\": [8847, 824],\n      \"NotSquareSubsetEqual;\": 8930,\n      \"NotSquareSuperset;\": [8848, 824],\n      \"NotSquareSupersetEqual;\": 8931,\n      \"NotSubset;\": [8834, 8402],\n      \"NotSubsetEqual;\": 8840,\n      \"NotSucceeds;\": 8833,\n      \"NotSucceedsEqual;\": [10928, 824],\n      \"NotSucceedsSlantEqual;\": 8929,\n      \"NotSucceedsTilde;\": [8831, 824],\n      \"NotSuperset;\": [8835, 8402],\n      \"NotSupersetEqual;\": 8841,\n      \"NotTilde;\": 8769,\n      \"NotTildeEqual;\": 8772,\n      \"NotTildeFullEqual;\": 8775,\n      \"NotTildeTilde;\": 8777,\n      \"NotVerticalBar;\": 8740,\n      \"Nscr;\": [55349, 56489],\n      \"Ntilde\": 209,\n      \"Ntilde;\": 209,\n      \"Nu;\": 925,\n      \"OElig;\": 338,\n      \"Oacute\": 211,\n      \"Oacute;\": 211,\n      \"Ocirc\": 212,\n      \"Ocirc;\": 212,\n      \"Ocy;\": 1054,\n      \"Odblac;\": 336,\n      \"Ofr;\": [55349, 56594],\n      \"Ograve\": 210,\n      \"Ograve;\": 210,\n      \"Omacr;\": 332,\n      \"Omega;\": 937,\n      \"Omicron;\": 927,\n      \"Oopf;\": [55349, 56646],\n      \"OpenCurlyDoubleQuote;\": 8220,\n      \"OpenCurlyQuote;\": 8216,\n      \"Or;\": 10836,\n      \"Oscr;\": [55349, 56490],\n      \"Oslash\": 216,\n      \"Oslash;\": 216,\n      \"Otilde\": 213,\n      \"Otilde;\": 213,\n      \"Otimes;\": 10807,\n      \"Ouml\": 214,\n      \"Ouml;\": 214,\n      \"OverBar;\": 8254,\n      \"OverBrace;\": 9182,\n      \"OverBracket;\": 9140,\n      \"OverParenthesis;\": 9180,\n      \"PartialD;\": 8706,\n      \"Pcy;\": 1055,\n      \"Pfr;\": [55349, 56595],\n      \"Phi;\": 934,\n      \"Pi;\": 928,\n      \"PlusMinus;\": 177,\n      \"Poincareplane;\": 8460,\n      \"Popf;\": 8473,\n      \"Pr;\": 10939,\n      \"Precedes;\": 8826,\n      \"PrecedesEqual;\": 10927,\n      \"PrecedesSlantEqual;\": 8828,\n      \"PrecedesTilde;\": 8830,\n      \"Prime;\": 8243,\n      \"Product;\": 8719,\n      \"Proportion;\": 8759,\n      \"Proportional;\": 8733,\n      \"Pscr;\": [55349, 56491],\n      \"Psi;\": 936,\n      \"QUOT\": 34,\n      \"QUOT;\": 34,\n      \"Qfr;\": [55349, 56596],\n      \"Qopf;\": 8474,\n      \"Qscr;\": [55349, 56492],\n      \"RBarr;\": 10512,\n      \"REG\": 174,\n      \"REG;\": 174,\n      \"Racute;\": 340,\n      \"Rang;\": 10219,\n      \"Rarr;\": 8608,\n      \"Rarrtl;\": 10518,\n      \"Rcaron;\": 344,\n      \"Rcedil;\": 342,\n      \"Rcy;\": 1056,\n      \"Re;\": 8476,\n      \"ReverseElement;\": 8715,\n      \"ReverseEquilibrium;\": 8651,\n      \"ReverseUpEquilibrium;\": 10607,\n      \"Rfr;\": 8476,\n      \"Rho;\": 929,\n      \"RightAngleBracket;\": 10217,\n      \"RightArrow;\": 8594,\n      \"RightArrowBar;\": 8677,\n      \"RightArrowLeftArrow;\": 8644,\n      \"RightCeiling;\": 8969,\n      \"RightDoubleBracket;\": 10215,\n      \"RightDownTeeVector;\": 10589,\n      \"RightDownVector;\": 8642,\n      \"RightDownVectorBar;\": 10581,\n      \"RightFloor;\": 8971,\n      \"RightTee;\": 8866,\n      \"RightTeeArrow;\": 8614,\n      \"RightTeeVector;\": 10587,\n      \"RightTriangle;\": 8883,\n      \"RightTriangleBar;\": 10704,\n      \"RightTriangleEqual;\": 8885,\n      \"RightUpDownVector;\": 10575,\n      \"RightUpTeeVector;\": 10588,\n      \"RightUpVector;\": 8638,\n      \"RightUpVectorBar;\": 10580,\n      \"RightVector;\": 8640,\n      \"RightVectorBar;\": 10579,\n      \"Rightarrow;\": 8658,\n      \"Ropf;\": 8477,\n      \"RoundImplies;\": 10608,\n      \"Rrightarrow;\": 8667,\n      \"Rscr;\": 8475,\n      \"Rsh;\": 8625,\n      \"RuleDelayed;\": 10740,\n      \"SHCHcy;\": 1065,\n      \"SHcy;\": 1064,\n      \"SOFTcy;\": 1068,\n      \"Sacute;\": 346,\n      \"Sc;\": 10940,\n      \"Scaron;\": 352,\n      \"Scedil;\": 350,\n      \"Scirc;\": 348,\n      \"Scy;\": 1057,\n      \"Sfr;\": [55349, 56598],\n      \"ShortDownArrow;\": 8595,\n      \"ShortLeftArrow;\": 8592,\n      \"ShortRightArrow;\": 8594,\n      \"ShortUpArrow;\": 8593,\n      \"Sigma;\": 931,\n      \"SmallCircle;\": 8728,\n      \"Sopf;\": [55349, 56650],\n      \"Sqrt;\": 8730,\n      \"Square;\": 9633,\n      \"SquareIntersection;\": 8851,\n      \"SquareSubset;\": 8847,\n      \"SquareSubsetEqual;\": 8849,\n      \"SquareSuperset;\": 8848,\n      \"SquareSupersetEqual;\": 8850,\n      \"SquareUnion;\": 8852,\n      \"Sscr;\": [55349, 56494],\n      \"Star;\": 8902,\n      \"Sub;\": 8912,\n      \"Subset;\": 8912,\n      \"SubsetEqual;\": 8838,\n      \"Succeeds;\": 8827,\n      \"SucceedsEqual;\": 10928,\n      \"SucceedsSlantEqual;\": 8829,\n      \"SucceedsTilde;\": 8831,\n      \"SuchThat;\": 8715,\n      \"Sum;\": 8721,\n      \"Sup;\": 8913,\n      \"Superset;\": 8835,\n      \"SupersetEqual;\": 8839,\n      \"Supset;\": 8913,\n      \"THORN\": 222,\n      \"THORN;\": 222,\n      \"TRADE;\": 8482,\n      \"TSHcy;\": 1035,\n      \"TScy;\": 1062,\n      \"Tab;\": 9,\n      \"Tau;\": 932,\n      \"Tcaron;\": 356,\n      \"Tcedil;\": 354,\n      \"Tcy;\": 1058,\n      \"Tfr;\": [55349, 56599],\n      \"Therefore;\": 8756,\n      \"Theta;\": 920,\n      \"ThickSpace;\": [8287, 8202],\n      \"ThinSpace;\": 8201,\n      \"Tilde;\": 8764,\n      \"TildeEqual;\": 8771,\n      \"TildeFullEqual;\": 8773,\n      \"TildeTilde;\": 8776,\n      \"Topf;\": [55349, 56651],\n      \"TripleDot;\": 8411,\n      \"Tscr;\": [55349, 56495],\n      \"Tstrok;\": 358,\n      \"Uacute\": 218,\n      \"Uacute;\": 218,\n      \"Uarr;\": 8607,\n      \"Uarrocir;\": 10569,\n      \"Ubrcy;\": 1038,\n      \"Ubreve;\": 364,\n      \"Ucirc\": 219,\n      \"Ucirc;\": 219,\n      \"Ucy;\": 1059,\n      \"Udblac;\": 368,\n      \"Ufr;\": [55349, 56600],\n      \"Ugrave\": 217,\n      \"Ugrave;\": 217,\n      \"Umacr;\": 362,\n      \"UnderBar;\": 95,\n      \"UnderBrace;\": 9183,\n      \"UnderBracket;\": 9141,\n      \"UnderParenthesis;\": 9181,\n      \"Union;\": 8899,\n      \"UnionPlus;\": 8846,\n      \"Uogon;\": 370,\n      \"Uopf;\": [55349, 56652],\n      \"UpArrow;\": 8593,\n      \"UpArrowBar;\": 10514,\n      \"UpArrowDownArrow;\": 8645,\n      \"UpDownArrow;\": 8597,\n      \"UpEquilibrium;\": 10606,\n      \"UpTee;\": 8869,\n      \"UpTeeArrow;\": 8613,\n      \"Uparrow;\": 8657,\n      \"Updownarrow;\": 8661,\n      \"UpperLeftArrow;\": 8598,\n      \"UpperRightArrow;\": 8599,\n      \"Upsi;\": 978,\n      \"Upsilon;\": 933,\n      \"Uring;\": 366,\n      \"Uscr;\": [55349, 56496],\n      \"Utilde;\": 360,\n      \"Uuml\": 220,\n      \"Uuml;\": 220,\n      \"VDash;\": 8875,\n      \"Vbar;\": 10987,\n      \"Vcy;\": 1042,\n      \"Vdash;\": 8873,\n      \"Vdashl;\": 10982,\n      \"Vee;\": 8897,\n      \"Verbar;\": 8214,\n      \"Vert;\": 8214,\n      \"VerticalBar;\": 8739,\n      \"VerticalLine;\": 124,\n      \"VerticalSeparator;\": 10072,\n      \"VerticalTilde;\": 8768,\n      \"VeryThinSpace;\": 8202,\n      \"Vfr;\": [55349, 56601],\n      \"Vopf;\": [55349, 56653],\n      \"Vscr;\": [55349, 56497],\n      \"Vvdash;\": 8874,\n      \"Wcirc;\": 372,\n      \"Wedge;\": 8896,\n      \"Wfr;\": [55349, 56602],\n      \"Wopf;\": [55349, 56654],\n      \"Wscr;\": [55349, 56498],\n      \"Xfr;\": [55349, 56603],\n      \"Xi;\": 926,\n      \"Xopf;\": [55349, 56655],\n      \"Xscr;\": [55349, 56499],\n      \"YAcy;\": 1071,\n      \"YIcy;\": 1031,\n      \"YUcy;\": 1070,\n      \"Yacute\": 221,\n      \"Yacute;\": 221,\n      \"Ycirc;\": 374,\n      \"Ycy;\": 1067,\n      \"Yfr;\": [55349, 56604],\n      \"Yopf;\": [55349, 56656],\n      \"Yscr;\": [55349, 56500],\n      \"Yuml;\": 376,\n      \"ZHcy;\": 1046,\n      \"Zacute;\": 377,\n      \"Zcaron;\": 381,\n      \"Zcy;\": 1047,\n      \"Zdot;\": 379,\n      \"ZeroWidthSpace;\": 8203,\n      \"Zeta;\": 918,\n      \"Zfr;\": 8488,\n      \"Zopf;\": 8484,\n      \"Zscr;\": [55349, 56501],\n      \"aacute\": 225,\n      \"aacute;\": 225,\n      \"abreve;\": 259,\n      \"ac;\": 8766,\n      \"acE;\": [8766, 819],\n      \"acd;\": 8767,\n      \"acirc\": 226,\n      \"acirc;\": 226,\n      \"acute\": 180,\n      \"acute;\": 180,\n      \"acy;\": 1072,\n      \"aelig\": 230,\n      \"aelig;\": 230,\n      \"af;\": 8289,\n      \"afr;\": [55349, 56606],\n      \"agrave\": 224,\n      \"agrave;\": 224,\n      \"alefsym;\": 8501,\n      \"aleph;\": 8501,\n      \"alpha;\": 945,\n      \"amacr;\": 257,\n      \"amalg;\": 10815,\n      \"amp\": 38,\n      \"amp;\": 38,\n      \"and;\": 8743,\n      \"andand;\": 10837,\n      \"andd;\": 10844,\n      \"andslope;\": 10840,\n      \"andv;\": 10842,\n      \"ang;\": 8736,\n      \"ange;\": 10660,\n      \"angle;\": 8736,\n      \"angmsd;\": 8737,\n      \"angmsdaa;\": 10664,\n      \"angmsdab;\": 10665,\n      \"angmsdac;\": 10666,\n      \"angmsdad;\": 10667,\n      \"angmsdae;\": 10668,\n      \"angmsdaf;\": 10669,\n      \"angmsdag;\": 10670,\n      \"angmsdah;\": 10671,\n      \"angrt;\": 8735,\n      \"angrtvb;\": 8894,\n      \"angrtvbd;\": 10653,\n      \"angsph;\": 8738,\n      \"angst;\": 197,\n      \"angzarr;\": 9084,\n      \"aogon;\": 261,\n      \"aopf;\": [55349, 56658],\n      \"ap;\": 8776,\n      \"apE;\": 10864,\n      \"apacir;\": 10863,\n      \"ape;\": 8778,\n      \"apid;\": 8779,\n      \"apos;\": 39,\n      \"approx;\": 8776,\n      \"approxeq;\": 8778,\n      \"aring\": 229,\n      \"aring;\": 229,\n      \"ascr;\": [55349, 56502],\n      \"ast;\": 42,\n      \"asymp;\": 8776,\n      \"asympeq;\": 8781,\n      \"atilde\": 227,\n      \"atilde;\": 227,\n      \"auml\": 228,\n      \"auml;\": 228,\n      \"awconint;\": 8755,\n      \"awint;\": 10769,\n      \"bNot;\": 10989,\n      \"backcong;\": 8780,\n      \"backepsilon;\": 1014,\n      \"backprime;\": 8245,\n      \"backsim;\": 8765,\n      \"backsimeq;\": 8909,\n      \"barvee;\": 8893,\n      \"barwed;\": 8965,\n      \"barwedge;\": 8965,\n      \"bbrk;\": 9141,\n      \"bbrktbrk;\": 9142,\n      \"bcong;\": 8780,\n      \"bcy;\": 1073,\n      \"bdquo;\": 8222,\n      \"becaus;\": 8757,\n      \"because;\": 8757,\n      \"bemptyv;\": 10672,\n      \"bepsi;\": 1014,\n      \"bernou;\": 8492,\n      \"beta;\": 946,\n      \"beth;\": 8502,\n      \"between;\": 8812,\n      \"bfr;\": [55349, 56607],\n      \"bigcap;\": 8898,\n      \"bigcirc;\": 9711,\n      \"bigcup;\": 8899,\n      \"bigodot;\": 10752,\n      \"bigoplus;\": 10753,\n      \"bigotimes;\": 10754,\n      \"bigsqcup;\": 10758,\n      \"bigstar;\": 9733,\n      \"bigtriangledown;\": 9661,\n      \"bigtriangleup;\": 9651,\n      \"biguplus;\": 10756,\n      \"bigvee;\": 8897,\n      \"bigwedge;\": 8896,\n      \"bkarow;\": 10509,\n      \"blacklozenge;\": 10731,\n      \"blacksquare;\": 9642,\n      \"blacktriangle;\": 9652,\n      \"blacktriangledown;\": 9662,\n      \"blacktriangleleft;\": 9666,\n      \"blacktriangleright;\": 9656,\n      \"blank;\": 9251,\n      \"blk12;\": 9618,\n      \"blk14;\": 9617,\n      \"blk34;\": 9619,\n      \"block;\": 9608,\n      \"bne;\": [61, 8421],\n      \"bnequiv;\": [8801, 8421],\n      \"bnot;\": 8976,\n      \"bopf;\": [55349, 56659],\n      \"bot;\": 8869,\n      \"bottom;\": 8869,\n      \"bowtie;\": 8904,\n      \"boxDL;\": 9559,\n      \"boxDR;\": 9556,\n      \"boxDl;\": 9558,\n      \"boxDr;\": 9555,\n      \"boxH;\": 9552,\n      \"boxHD;\": 9574,\n      \"boxHU;\": 9577,\n      \"boxHd;\": 9572,\n      \"boxHu;\": 9575,\n      \"boxUL;\": 9565,\n      \"boxUR;\": 9562,\n      \"boxUl;\": 9564,\n      \"boxUr;\": 9561,\n      \"boxV;\": 9553,\n      \"boxVH;\": 9580,\n      \"boxVL;\": 9571,\n      \"boxVR;\": 9568,\n      \"boxVh;\": 9579,\n      \"boxVl;\": 9570,\n      \"boxVr;\": 9567,\n      \"boxbox;\": 10697,\n      \"boxdL;\": 9557,\n      \"boxdR;\": 9554,\n      \"boxdl;\": 9488,\n      \"boxdr;\": 9484,\n      \"boxh;\": 9472,\n      \"boxhD;\": 9573,\n      \"boxhU;\": 9576,\n      \"boxhd;\": 9516,\n      \"boxhu;\": 9524,\n      \"boxminus;\": 8863,\n      \"boxplus;\": 8862,\n      \"boxtimes;\": 8864,\n      \"boxuL;\": 9563,\n      \"boxuR;\": 9560,\n      \"boxul;\": 9496,\n      \"boxur;\": 9492,\n      \"boxv;\": 9474,\n      \"boxvH;\": 9578,\n      \"boxvL;\": 9569,\n      \"boxvR;\": 9566,\n      \"boxvh;\": 9532,\n      \"boxvl;\": 9508,\n      \"boxvr;\": 9500,\n      \"bprime;\": 8245,\n      \"breve;\": 728,\n      \"brvbar\": 166,\n      \"brvbar;\": 166,\n      \"bscr;\": [55349, 56503],\n      \"bsemi;\": 8271,\n      \"bsim;\": 8765,\n      \"bsime;\": 8909,\n      \"bsol;\": 92,\n      \"bsolb;\": 10693,\n      \"bsolhsub;\": 10184,\n      \"bull;\": 8226,\n      \"bullet;\": 8226,\n      \"bump;\": 8782,\n      \"bumpE;\": 10926,\n      \"bumpe;\": 8783,\n      \"bumpeq;\": 8783,\n      \"cacute;\": 263,\n      \"cap;\": 8745,\n      \"capand;\": 10820,\n      \"capbrcup;\": 10825,\n      \"capcap;\": 10827,\n      \"capcup;\": 10823,\n      \"capdot;\": 10816,\n      \"caps;\": [8745, 65024],\n      \"caret;\": 8257,\n      \"caron;\": 711,\n      \"ccaps;\": 10829,\n      \"ccaron;\": 269,\n      \"ccedil\": 231,\n      \"ccedil;\": 231,\n      \"ccirc;\": 265,\n      \"ccups;\": 10828,\n      \"ccupssm;\": 10832,\n      \"cdot;\": 267,\n      \"cedil\": 184,\n      \"cedil;\": 184,\n      \"cemptyv;\": 10674,\n      \"cent\": 162,\n      \"cent;\": 162,\n      \"centerdot;\": 183,\n      \"cfr;\": [55349, 56608],\n      \"chcy;\": 1095,\n      \"check;\": 10003,\n      \"checkmark;\": 10003,\n      \"chi;\": 967,\n      \"cir;\": 9675,\n      \"cirE;\": 10691,\n      \"circ;\": 710,\n      \"circeq;\": 8791,\n      \"circlearrowleft;\": 8634,\n      \"circlearrowright;\": 8635,\n      \"circledR;\": 174,\n      \"circledS;\": 9416,\n      \"circledast;\": 8859,\n      \"circledcirc;\": 8858,\n      \"circleddash;\": 8861,\n      \"cire;\": 8791,\n      \"cirfnint;\": 10768,\n      \"cirmid;\": 10991,\n      \"cirscir;\": 10690,\n      \"clubs;\": 9827,\n      \"clubsuit;\": 9827,\n      \"colon;\": 58,\n      \"colone;\": 8788,\n      \"coloneq;\": 8788,\n      \"comma;\": 44,\n      \"commat;\": 64,\n      \"comp;\": 8705,\n      \"compfn;\": 8728,\n      \"complement;\": 8705,\n      \"complexes;\": 8450,\n      \"cong;\": 8773,\n      \"congdot;\": 10861,\n      \"conint;\": 8750,\n      \"copf;\": [55349, 56660],\n      \"coprod;\": 8720,\n      \"copy\": 169,\n      \"copy;\": 169,\n      \"copysr;\": 8471,\n      \"crarr;\": 8629,\n      \"cross;\": 10007,\n      \"cscr;\": [55349, 56504],\n      \"csub;\": 10959,\n      \"csube;\": 10961,\n      \"csup;\": 10960,\n      \"csupe;\": 10962,\n      \"ctdot;\": 8943,\n      \"cudarrl;\": 10552,\n      \"cudarrr;\": 10549,\n      \"cuepr;\": 8926,\n      \"cuesc;\": 8927,\n      \"cularr;\": 8630,\n      \"cularrp;\": 10557,\n      \"cup;\": 8746,\n      \"cupbrcap;\": 10824,\n      \"cupcap;\": 10822,\n      \"cupcup;\": 10826,\n      \"cupdot;\": 8845,\n      \"cupor;\": 10821,\n      \"cups;\": [8746, 65024],\n      \"curarr;\": 8631,\n      \"curarrm;\": 10556,\n      \"curlyeqprec;\": 8926,\n      \"curlyeqsucc;\": 8927,\n      \"curlyvee;\": 8910,\n      \"curlywedge;\": 8911,\n      \"curren\": 164,\n      \"curren;\": 164,\n      \"curvearrowleft;\": 8630,\n      \"curvearrowright;\": 8631,\n      \"cuvee;\": 8910,\n      \"cuwed;\": 8911,\n      \"cwconint;\": 8754,\n      \"cwint;\": 8753,\n      \"cylcty;\": 9005,\n      \"dArr;\": 8659,\n      \"dHar;\": 10597,\n      \"dagger;\": 8224,\n      \"daleth;\": 8504,\n      \"darr;\": 8595,\n      \"dash;\": 8208,\n      \"dashv;\": 8867,\n      \"dbkarow;\": 10511,\n      \"dblac;\": 733,\n      \"dcaron;\": 271,\n      \"dcy;\": 1076,\n      \"dd;\": 8518,\n      \"ddagger;\": 8225,\n      \"ddarr;\": 8650,\n      \"ddotseq;\": 10871,\n      \"deg\": 176,\n      \"deg;\": 176,\n      \"delta;\": 948,\n      \"demptyv;\": 10673,\n      \"dfisht;\": 10623,\n      \"dfr;\": [55349, 56609],\n      \"dharl;\": 8643,\n      \"dharr;\": 8642,\n      \"diam;\": 8900,\n      \"diamond;\": 8900,\n      \"diamondsuit;\": 9830,\n      \"diams;\": 9830,\n      \"die;\": 168,\n      \"digamma;\": 989,\n      \"disin;\": 8946,\n      \"div;\": 247,\n      \"divide\": 247,\n      \"divide;\": 247,\n      \"divideontimes;\": 8903,\n      \"divonx;\": 8903,\n      \"djcy;\": 1106,\n      \"dlcorn;\": 8990,\n      \"dlcrop;\": 8973,\n      \"dollar;\": 36,\n      \"dopf;\": [55349, 56661],\n      \"dot;\": 729,\n      \"doteq;\": 8784,\n      \"doteqdot;\": 8785,\n      \"dotminus;\": 8760,\n      \"dotplus;\": 8724,\n      \"dotsquare;\": 8865,\n      \"doublebarwedge;\": 8966,\n      \"downarrow;\": 8595,\n      \"downdownarrows;\": 8650,\n      \"downharpoonleft;\": 8643,\n      \"downharpoonright;\": 8642,\n      \"drbkarow;\": 10512,\n      \"drcorn;\": 8991,\n      \"drcrop;\": 8972,\n      \"dscr;\": [55349, 56505],\n      \"dscy;\": 1109,\n      \"dsol;\": 10742,\n      \"dstrok;\": 273,\n      \"dtdot;\": 8945,\n      \"dtri;\": 9663,\n      \"dtrif;\": 9662,\n      \"duarr;\": 8693,\n      \"duhar;\": 10607,\n      \"dwangle;\": 10662,\n      \"dzcy;\": 1119,\n      \"dzigrarr;\": 10239,\n      \"eDDot;\": 10871,\n      \"eDot;\": 8785,\n      \"eacute\": 233,\n      \"eacute;\": 233,\n      \"easter;\": 10862,\n      \"ecaron;\": 283,\n      \"ecir;\": 8790,\n      \"ecirc\": 234,\n      \"ecirc;\": 234,\n      \"ecolon;\": 8789,\n      \"ecy;\": 1101,\n      \"edot;\": 279,\n      \"ee;\": 8519,\n      \"efDot;\": 8786,\n      \"efr;\": [55349, 56610],\n      \"eg;\": 10906,\n      \"egrave\": 232,\n      \"egrave;\": 232,\n      \"egs;\": 10902,\n      \"egsdot;\": 10904,\n      \"el;\": 10905,\n      \"elinters;\": 9191,\n      \"ell;\": 8467,\n      \"els;\": 10901,\n      \"elsdot;\": 10903,\n      \"emacr;\": 275,\n      \"empty;\": 8709,\n      \"emptyset;\": 8709,\n      \"emptyv;\": 8709,\n      \"emsp13;\": 8196,\n      \"emsp14;\": 8197,\n      \"emsp;\": 8195,\n      \"eng;\": 331,\n      \"ensp;\": 8194,\n      \"eogon;\": 281,\n      \"eopf;\": [55349, 56662],\n      \"epar;\": 8917,\n      \"eparsl;\": 10723,\n      \"eplus;\": 10865,\n      \"epsi;\": 949,\n      \"epsilon;\": 949,\n      \"epsiv;\": 1013,\n      \"eqcirc;\": 8790,\n      \"eqcolon;\": 8789,\n      \"eqsim;\": 8770,\n      \"eqslantgtr;\": 10902,\n      \"eqslantless;\": 10901,\n      \"equals;\": 61,\n      \"equest;\": 8799,\n      \"equiv;\": 8801,\n      \"equivDD;\": 10872,\n      \"eqvparsl;\": 10725,\n      \"erDot;\": 8787,\n      \"erarr;\": 10609,\n      \"escr;\": 8495,\n      \"esdot;\": 8784,\n      \"esim;\": 8770,\n      \"eta;\": 951,\n      \"eth\": 240,\n      \"eth;\": 240,\n      \"euml\": 235,\n      \"euml;\": 235,\n      \"euro;\": 8364,\n      \"excl;\": 33,\n      \"exist;\": 8707,\n      \"expectation;\": 8496,\n      \"exponentiale;\": 8519,\n      \"fallingdotseq;\": 8786,\n      \"fcy;\": 1092,\n      \"female;\": 9792,\n      \"ffilig;\": 64259,\n      \"fflig;\": 64256,\n      \"ffllig;\": 64260,\n      \"ffr;\": [55349, 56611],\n      \"filig;\": 64257,\n      \"fjlig;\": [102, 106],\n      \"flat;\": 9837,\n      \"fllig;\": 64258,\n      \"fltns;\": 9649,\n      \"fnof;\": 402,\n      \"fopf;\": [55349, 56663],\n      \"forall;\": 8704,\n      \"fork;\": 8916,\n      \"forkv;\": 10969,\n      \"fpartint;\": 10765,\n      \"frac12\": 189,\n      \"frac12;\": 189,\n      \"frac13;\": 8531,\n      \"frac14\": 188,\n      \"frac14;\": 188,\n      \"frac15;\": 8533,\n      \"frac16;\": 8537,\n      \"frac18;\": 8539,\n      \"frac23;\": 8532,\n      \"frac25;\": 8534,\n      \"frac34\": 190,\n      \"frac34;\": 190,\n      \"frac35;\": 8535,\n      \"frac38;\": 8540,\n      \"frac45;\": 8536,\n      \"frac56;\": 8538,\n      \"frac58;\": 8541,\n      \"frac78;\": 8542,\n      \"frasl;\": 8260,\n      \"frown;\": 8994,\n      \"fscr;\": [55349, 56507],\n      \"gE;\": 8807,\n      \"gEl;\": 10892,\n      \"gacute;\": 501,\n      \"gamma;\": 947,\n      \"gammad;\": 989,\n      \"gap;\": 10886,\n      \"gbreve;\": 287,\n      \"gcirc;\": 285,\n      \"gcy;\": 1075,\n      \"gdot;\": 289,\n      \"ge;\": 8805,\n      \"gel;\": 8923,\n      \"geq;\": 8805,\n      \"geqq;\": 8807,\n      \"geqslant;\": 10878,\n      \"ges;\": 10878,\n      \"gescc;\": 10921,\n      \"gesdot;\": 10880,\n      \"gesdoto;\": 10882,\n      \"gesdotol;\": 10884,\n      \"gesl;\": [8923, 65024],\n      \"gesles;\": 10900,\n      \"gfr;\": [55349, 56612],\n      \"gg;\": 8811,\n      \"ggg;\": 8921,\n      \"gimel;\": 8503,\n      \"gjcy;\": 1107,\n      \"gl;\": 8823,\n      \"glE;\": 10898,\n      \"gla;\": 10917,\n      \"glj;\": 10916,\n      \"gnE;\": 8809,\n      \"gnap;\": 10890,\n      \"gnapprox;\": 10890,\n      \"gne;\": 10888,\n      \"gneq;\": 10888,\n      \"gneqq;\": 8809,\n      \"gnsim;\": 8935,\n      \"gopf;\": [55349, 56664],\n      \"grave;\": 96,\n      \"gscr;\": 8458,\n      \"gsim;\": 8819,\n      \"gsime;\": 10894,\n      \"gsiml;\": 10896,\n      \"gt\": 62,\n      \"gt;\": 62,\n      \"gtcc;\": 10919,\n      \"gtcir;\": 10874,\n      \"gtdot;\": 8919,\n      \"gtlPar;\": 10645,\n      \"gtquest;\": 10876,\n      \"gtrapprox;\": 10886,\n      \"gtrarr;\": 10616,\n      \"gtrdot;\": 8919,\n      \"gtreqless;\": 8923,\n      \"gtreqqless;\": 10892,\n      \"gtrless;\": 8823,\n      \"gtrsim;\": 8819,\n      \"gvertneqq;\": [8809, 65024],\n      \"gvnE;\": [8809, 65024],\n      \"hArr;\": 8660,\n      \"hairsp;\": 8202,\n      \"half;\": 189,\n      \"hamilt;\": 8459,\n      \"hardcy;\": 1098,\n      \"harr;\": 8596,\n      \"harrcir;\": 10568,\n      \"harrw;\": 8621,\n      \"hbar;\": 8463,\n      \"hcirc;\": 293,\n      \"hearts;\": 9829,\n      \"heartsuit;\": 9829,\n      \"hellip;\": 8230,\n      \"hercon;\": 8889,\n      \"hfr;\": [55349, 56613],\n      \"hksearow;\": 10533,\n      \"hkswarow;\": 10534,\n      \"hoarr;\": 8703,\n      \"homtht;\": 8763,\n      \"hookleftarrow;\": 8617,\n      \"hookrightarrow;\": 8618,\n      \"hopf;\": [55349, 56665],\n      \"horbar;\": 8213,\n      \"hscr;\": [55349, 56509],\n      \"hslash;\": 8463,\n      \"hstrok;\": 295,\n      \"hybull;\": 8259,\n      \"hyphen;\": 8208,\n      \"iacute\": 237,\n      \"iacute;\": 237,\n      \"ic;\": 8291,\n      \"icirc\": 238,\n      \"icirc;\": 238,\n      \"icy;\": 1080,\n      \"iecy;\": 1077,\n      \"iexcl\": 161,\n      \"iexcl;\": 161,\n      \"iff;\": 8660,\n      \"ifr;\": [55349, 56614],\n      \"igrave\": 236,\n      \"igrave;\": 236,\n      \"ii;\": 8520,\n      \"iiiint;\": 10764,\n      \"iiint;\": 8749,\n      \"iinfin;\": 10716,\n      \"iiota;\": 8489,\n      \"ijlig;\": 307,\n      \"imacr;\": 299,\n      \"image;\": 8465,\n      \"imagline;\": 8464,\n      \"imagpart;\": 8465,\n      \"imath;\": 305,\n      \"imof;\": 8887,\n      \"imped;\": 437,\n      \"in;\": 8712,\n      \"incare;\": 8453,\n      \"infin;\": 8734,\n      \"infintie;\": 10717,\n      \"inodot;\": 305,\n      \"int;\": 8747,\n      \"intcal;\": 8890,\n      \"integers;\": 8484,\n      \"intercal;\": 8890,\n      \"intlarhk;\": 10775,\n      \"intprod;\": 10812,\n      \"iocy;\": 1105,\n      \"iogon;\": 303,\n      \"iopf;\": [55349, 56666],\n      \"iota;\": 953,\n      \"iprod;\": 10812,\n      \"iquest\": 191,\n      \"iquest;\": 191,\n      \"iscr;\": [55349, 56510],\n      \"isin;\": 8712,\n      \"isinE;\": 8953,\n      \"isindot;\": 8949,\n      \"isins;\": 8948,\n      \"isinsv;\": 8947,\n      \"isinv;\": 8712,\n      \"it;\": 8290,\n      \"itilde;\": 297,\n      \"iukcy;\": 1110,\n      \"iuml\": 239,\n      \"iuml;\": 239,\n      \"jcirc;\": 309,\n      \"jcy;\": 1081,\n      \"jfr;\": [55349, 56615],\n      \"jmath;\": 567,\n      \"jopf;\": [55349, 56667],\n      \"jscr;\": [55349, 56511],\n      \"jsercy;\": 1112,\n      \"jukcy;\": 1108,\n      \"kappa;\": 954,\n      \"kappav;\": 1008,\n      \"kcedil;\": 311,\n      \"kcy;\": 1082,\n      \"kfr;\": [55349, 56616],\n      \"kgreen;\": 312,\n      \"khcy;\": 1093,\n      \"kjcy;\": 1116,\n      \"kopf;\": [55349, 56668],\n      \"kscr;\": [55349, 56512],\n      \"lAarr;\": 8666,\n      \"lArr;\": 8656,\n      \"lAtail;\": 10523,\n      \"lBarr;\": 10510,\n      \"lE;\": 8806,\n      \"lEg;\": 10891,\n      \"lHar;\": 10594,\n      \"lacute;\": 314,\n      \"laemptyv;\": 10676,\n      \"lagran;\": 8466,\n      \"lambda;\": 955,\n      \"lang;\": 10216,\n      \"langd;\": 10641,\n      \"langle;\": 10216,\n      \"lap;\": 10885,\n      \"laquo\": 171,\n      \"laquo;\": 171,\n      \"larr;\": 8592,\n      \"larrb;\": 8676,\n      \"larrbfs;\": 10527,\n      \"larrfs;\": 10525,\n      \"larrhk;\": 8617,\n      \"larrlp;\": 8619,\n      \"larrpl;\": 10553,\n      \"larrsim;\": 10611,\n      \"larrtl;\": 8610,\n      \"lat;\": 10923,\n      \"latail;\": 10521,\n      \"late;\": 10925,\n      \"lates;\": [10925, 65024],\n      \"lbarr;\": 10508,\n      \"lbbrk;\": 10098,\n      \"lbrace;\": 123,\n      \"lbrack;\": 91,\n      \"lbrke;\": 10635,\n      \"lbrksld;\": 10639,\n      \"lbrkslu;\": 10637,\n      \"lcaron;\": 318,\n      \"lcedil;\": 316,\n      \"lceil;\": 8968,\n      \"lcub;\": 123,\n      \"lcy;\": 1083,\n      \"ldca;\": 10550,\n      \"ldquo;\": 8220,\n      \"ldquor;\": 8222,\n      \"ldrdhar;\": 10599,\n      \"ldrushar;\": 10571,\n      \"ldsh;\": 8626,\n      \"le;\": 8804,\n      \"leftarrow;\": 8592,\n      \"leftarrowtail;\": 8610,\n      \"leftharpoondown;\": 8637,\n      \"leftharpoonup;\": 8636,\n      \"leftleftarrows;\": 8647,\n      \"leftrightarrow;\": 8596,\n      \"leftrightarrows;\": 8646,\n      \"leftrightharpoons;\": 8651,\n      \"leftrightsquigarrow;\": 8621,\n      \"leftthreetimes;\": 8907,\n      \"leg;\": 8922,\n      \"leq;\": 8804,\n      \"leqq;\": 8806,\n      \"leqslant;\": 10877,\n      \"les;\": 10877,\n      \"lescc;\": 10920,\n      \"lesdot;\": 10879,\n      \"lesdoto;\": 10881,\n      \"lesdotor;\": 10883,\n      \"lesg;\": [8922, 65024],\n      \"lesges;\": 10899,\n      \"lessapprox;\": 10885,\n      \"lessdot;\": 8918,\n      \"lesseqgtr;\": 8922,\n      \"lesseqqgtr;\": 10891,\n      \"lessgtr;\": 8822,\n      \"lesssim;\": 8818,\n      \"lfisht;\": 10620,\n      \"lfloor;\": 8970,\n      \"lfr;\": [55349, 56617],\n      \"lg;\": 8822,\n      \"lgE;\": 10897,\n      \"lhard;\": 8637,\n      \"lharu;\": 8636,\n      \"lharul;\": 10602,\n      \"lhblk;\": 9604,\n      \"ljcy;\": 1113,\n      \"ll;\": 8810,\n      \"llarr;\": 8647,\n      \"llcorner;\": 8990,\n      \"llhard;\": 10603,\n      \"lltri;\": 9722,\n      \"lmidot;\": 320,\n      \"lmoust;\": 9136,\n      \"lmoustache;\": 9136,\n      \"lnE;\": 8808,\n      \"lnap;\": 10889,\n      \"lnapprox;\": 10889,\n      \"lne;\": 10887,\n      \"lneq;\": 10887,\n      \"lneqq;\": 8808,\n      \"lnsim;\": 8934,\n      \"loang;\": 10220,\n      \"loarr;\": 8701,\n      \"lobrk;\": 10214,\n      \"longleftarrow;\": 10229,\n      \"longleftrightarrow;\": 10231,\n      \"longmapsto;\": 10236,\n      \"longrightarrow;\": 10230,\n      \"looparrowleft;\": 8619,\n      \"looparrowright;\": 8620,\n      \"lopar;\": 10629,\n      \"lopf;\": [55349, 56669],\n      \"loplus;\": 10797,\n      \"lotimes;\": 10804,\n      \"lowast;\": 8727,\n      \"lowbar;\": 95,\n      \"loz;\": 9674,\n      \"lozenge;\": 9674,\n      \"lozf;\": 10731,\n      \"lpar;\": 40,\n      \"lparlt;\": 10643,\n      \"lrarr;\": 8646,\n      \"lrcorner;\": 8991,\n      \"lrhar;\": 8651,\n      \"lrhard;\": 10605,\n      \"lrm;\": 8206,\n      \"lrtri;\": 8895,\n      \"lsaquo;\": 8249,\n      \"lscr;\": [55349, 56513],\n      \"lsh;\": 8624,\n      \"lsim;\": 8818,\n      \"lsime;\": 10893,\n      \"lsimg;\": 10895,\n      \"lsqb;\": 91,\n      \"lsquo;\": 8216,\n      \"lsquor;\": 8218,\n      \"lstrok;\": 322,\n      \"lt\": 60,\n      \"lt;\": 60,\n      \"ltcc;\": 10918,\n      \"ltcir;\": 10873,\n      \"ltdot;\": 8918,\n      \"lthree;\": 8907,\n      \"ltimes;\": 8905,\n      \"ltlarr;\": 10614,\n      \"ltquest;\": 10875,\n      \"ltrPar;\": 10646,\n      \"ltri;\": 9667,\n      \"ltrie;\": 8884,\n      \"ltrif;\": 9666,\n      \"lurdshar;\": 10570,\n      \"luruhar;\": 10598,\n      \"lvertneqq;\": [8808, 65024],\n      \"lvnE;\": [8808, 65024],\n      \"mDDot;\": 8762,\n      \"macr\": 175,\n      \"macr;\": 175,\n      \"male;\": 9794,\n      \"malt;\": 10016,\n      \"maltese;\": 10016,\n      \"map;\": 8614,\n      \"mapsto;\": 8614,\n      \"mapstodown;\": 8615,\n      \"mapstoleft;\": 8612,\n      \"mapstoup;\": 8613,\n      \"marker;\": 9646,\n      \"mcomma;\": 10793,\n      \"mcy;\": 1084,\n      \"mdash;\": 8212,\n      \"measuredangle;\": 8737,\n      \"mfr;\": [55349, 56618],\n      \"mho;\": 8487,\n      \"micro\": 181,\n      \"micro;\": 181,\n      \"mid;\": 8739,\n      \"midast;\": 42,\n      \"midcir;\": 10992,\n      \"middot\": 183,\n      \"middot;\": 183,\n      \"minus;\": 8722,\n      \"minusb;\": 8863,\n      \"minusd;\": 8760,\n      \"minusdu;\": 10794,\n      \"mlcp;\": 10971,\n      \"mldr;\": 8230,\n      \"mnplus;\": 8723,\n      \"models;\": 8871,\n      \"mopf;\": [55349, 56670],\n      \"mp;\": 8723,\n      \"mscr;\": [55349, 56514],\n      \"mstpos;\": 8766,\n      \"mu;\": 956,\n      \"multimap;\": 8888,\n      \"mumap;\": 8888,\n      \"nGg;\": [8921, 824],\n      \"nGt;\": [8811, 8402],\n      \"nGtv;\": [8811, 824],\n      \"nLeftarrow;\": 8653,\n      \"nLeftrightarrow;\": 8654,\n      \"nLl;\": [8920, 824],\n      \"nLt;\": [8810, 8402],\n      \"nLtv;\": [8810, 824],\n      \"nRightarrow;\": 8655,\n      \"nVDash;\": 8879,\n      \"nVdash;\": 8878,\n      \"nabla;\": 8711,\n      \"nacute;\": 324,\n      \"nang;\": [8736, 8402],\n      \"nap;\": 8777,\n      \"napE;\": [10864, 824],\n      \"napid;\": [8779, 824],\n      \"napos;\": 329,\n      \"napprox;\": 8777,\n      \"natur;\": 9838,\n      \"natural;\": 9838,\n      \"naturals;\": 8469,\n      \"nbsp\": 160,\n      \"nbsp;\": 160,\n      \"nbump;\": [8782, 824],\n      \"nbumpe;\": [8783, 824],\n      \"ncap;\": 10819,\n      \"ncaron;\": 328,\n      \"ncedil;\": 326,\n      \"ncong;\": 8775,\n      \"ncongdot;\": [10861, 824],\n      \"ncup;\": 10818,\n      \"ncy;\": 1085,\n      \"ndash;\": 8211,\n      \"ne;\": 8800,\n      \"neArr;\": 8663,\n      \"nearhk;\": 10532,\n      \"nearr;\": 8599,\n      \"nearrow;\": 8599,\n      \"nedot;\": [8784, 824],\n      \"nequiv;\": 8802,\n      \"nesear;\": 10536,\n      \"nesim;\": [8770, 824],\n      \"nexist;\": 8708,\n      \"nexists;\": 8708,\n      \"nfr;\": [55349, 56619],\n      \"ngE;\": [8807, 824],\n      \"nge;\": 8817,\n      \"ngeq;\": 8817,\n      \"ngeqq;\": [8807, 824],\n      \"ngeqslant;\": [10878, 824],\n      \"nges;\": [10878, 824],\n      \"ngsim;\": 8821,\n      \"ngt;\": 8815,\n      \"ngtr;\": 8815,\n      \"nhArr;\": 8654,\n      \"nharr;\": 8622,\n      \"nhpar;\": 10994,\n      \"ni;\": 8715,\n      \"nis;\": 8956,\n      \"nisd;\": 8954,\n      \"niv;\": 8715,\n      \"njcy;\": 1114,\n      \"nlArr;\": 8653,\n      \"nlE;\": [8806, 824],\n      \"nlarr;\": 8602,\n      \"nldr;\": 8229,\n      \"nle;\": 8816,\n      \"nleftarrow;\": 8602,\n      \"nleftrightarrow;\": 8622,\n      \"nleq;\": 8816,\n      \"nleqq;\": [8806, 824],\n      \"nleqslant;\": [10877, 824],\n      \"nles;\": [10877, 824],\n      \"nless;\": 8814,\n      \"nlsim;\": 8820,\n      \"nlt;\": 8814,\n      \"nltri;\": 8938,\n      \"nltrie;\": 8940,\n      \"nmid;\": 8740,\n      \"nopf;\": [55349, 56671],\n      \"not\": 172,\n      \"not;\": 172,\n      \"notin;\": 8713,\n      \"notinE;\": [8953, 824],\n      \"notindot;\": [8949, 824],\n      \"notinva;\": 8713,\n      \"notinvb;\": 8951,\n      \"notinvc;\": 8950,\n      \"notni;\": 8716,\n      \"notniva;\": 8716,\n      \"notnivb;\": 8958,\n      \"notnivc;\": 8957,\n      \"npar;\": 8742,\n      \"nparallel;\": 8742,\n      \"nparsl;\": [11005, 8421],\n      \"npart;\": [8706, 824],\n      \"npolint;\": 10772,\n      \"npr;\": 8832,\n      \"nprcue;\": 8928,\n      \"npre;\": [10927, 824],\n      \"nprec;\": 8832,\n      \"npreceq;\": [10927, 824],\n      \"nrArr;\": 8655,\n      \"nrarr;\": 8603,\n      \"nrarrc;\": [10547, 824],\n      \"nrarrw;\": [8605, 824],\n      \"nrightarrow;\": 8603,\n      \"nrtri;\": 8939,\n      \"nrtrie;\": 8941,\n      \"nsc;\": 8833,\n      \"nsccue;\": 8929,\n      \"nsce;\": [10928, 824],\n      \"nscr;\": [55349, 56515],\n      \"nshortmid;\": 8740,\n      \"nshortparallel;\": 8742,\n      \"nsim;\": 8769,\n      \"nsime;\": 8772,\n      \"nsimeq;\": 8772,\n      \"nsmid;\": 8740,\n      \"nspar;\": 8742,\n      \"nsqsube;\": 8930,\n      \"nsqsupe;\": 8931,\n      \"nsub;\": 8836,\n      \"nsubE;\": [10949, 824],\n      \"nsube;\": 8840,\n      \"nsubset;\": [8834, 8402],\n      \"nsubseteq;\": 8840,\n      \"nsubseteqq;\": [10949, 824],\n      \"nsucc;\": 8833,\n      \"nsucceq;\": [10928, 824],\n      \"nsup;\": 8837,\n      \"nsupE;\": [10950, 824],\n      \"nsupe;\": 8841,\n      \"nsupset;\": [8835, 8402],\n      \"nsupseteq;\": 8841,\n      \"nsupseteqq;\": [10950, 824],\n      \"ntgl;\": 8825,\n      \"ntilde\": 241,\n      \"ntilde;\": 241,\n      \"ntlg;\": 8824,\n      \"ntriangleleft;\": 8938,\n      \"ntrianglelefteq;\": 8940,\n      \"ntriangleright;\": 8939,\n      \"ntrianglerighteq;\": 8941,\n      \"nu;\": 957,\n      \"num;\": 35,\n      \"numero;\": 8470,\n      \"numsp;\": 8199,\n      \"nvDash;\": 8877,\n      \"nvHarr;\": 10500,\n      \"nvap;\": [8781, 8402],\n      \"nvdash;\": 8876,\n      \"nvge;\": [8805, 8402],\n      \"nvgt;\": [62, 8402],\n      \"nvinfin;\": 10718,\n      \"nvlArr;\": 10498,\n      \"nvle;\": [8804, 8402],\n      \"nvlt;\": [60, 8402],\n      \"nvltrie;\": [8884, 8402],\n      \"nvrArr;\": 10499,\n      \"nvrtrie;\": [8885, 8402],\n      \"nvsim;\": [8764, 8402],\n      \"nwArr;\": 8662,\n      \"nwarhk;\": 10531,\n      \"nwarr;\": 8598,\n      \"nwarrow;\": 8598,\n      \"nwnear;\": 10535,\n      \"oS;\": 9416,\n      \"oacute\": 243,\n      \"oacute;\": 243,\n      \"oast;\": 8859,\n      \"ocir;\": 8858,\n      \"ocirc\": 244,\n      \"ocirc;\": 244,\n      \"ocy;\": 1086,\n      \"odash;\": 8861,\n      \"odblac;\": 337,\n      \"odiv;\": 10808,\n      \"odot;\": 8857,\n      \"odsold;\": 10684,\n      \"oelig;\": 339,\n      \"ofcir;\": 10687,\n      \"ofr;\": [55349, 56620],\n      \"ogon;\": 731,\n      \"ograve\": 242,\n      \"ograve;\": 242,\n      \"ogt;\": 10689,\n      \"ohbar;\": 10677,\n      \"ohm;\": 937,\n      \"oint;\": 8750,\n      \"olarr;\": 8634,\n      \"olcir;\": 10686,\n      \"olcross;\": 10683,\n      \"oline;\": 8254,\n      \"olt;\": 10688,\n      \"omacr;\": 333,\n      \"omega;\": 969,\n      \"omicron;\": 959,\n      \"omid;\": 10678,\n      \"ominus;\": 8854,\n      \"oopf;\": [55349, 56672],\n      \"opar;\": 10679,\n      \"operp;\": 10681,\n      \"oplus;\": 8853,\n      \"or;\": 8744,\n      \"orarr;\": 8635,\n      \"ord;\": 10845,\n      \"order;\": 8500,\n      \"orderof;\": 8500,\n      \"ordf\": 170,\n      \"ordf;\": 170,\n      \"ordm\": 186,\n      \"ordm;\": 186,\n      \"origof;\": 8886,\n      \"oror;\": 10838,\n      \"orslope;\": 10839,\n      \"orv;\": 10843,\n      \"oscr;\": 8500,\n      \"oslash\": 248,\n      \"oslash;\": 248,\n      \"osol;\": 8856,\n      \"otilde\": 245,\n      \"otilde;\": 245,\n      \"otimes;\": 8855,\n      \"otimesas;\": 10806,\n      \"ouml\": 246,\n      \"ouml;\": 246,\n      \"ovbar;\": 9021,\n      \"par;\": 8741,\n      \"para\": 182,\n      \"para;\": 182,\n      \"parallel;\": 8741,\n      \"parsim;\": 10995,\n      \"parsl;\": 11005,\n      \"part;\": 8706,\n      \"pcy;\": 1087,\n      \"percnt;\": 37,\n      \"period;\": 46,\n      \"permil;\": 8240,\n      \"perp;\": 8869,\n      \"pertenk;\": 8241,\n      \"pfr;\": [55349, 56621],\n      \"phi;\": 966,\n      \"phiv;\": 981,\n      \"phmmat;\": 8499,\n      \"phone;\": 9742,\n      \"pi;\": 960,\n      \"pitchfork;\": 8916,\n      \"piv;\": 982,\n      \"planck;\": 8463,\n      \"planckh;\": 8462,\n      \"plankv;\": 8463,\n      \"plus;\": 43,\n      \"plusacir;\": 10787,\n      \"plusb;\": 8862,\n      \"pluscir;\": 10786,\n      \"plusdo;\": 8724,\n      \"plusdu;\": 10789,\n      \"pluse;\": 10866,\n      \"plusmn\": 177,\n      \"plusmn;\": 177,\n      \"plussim;\": 10790,\n      \"plustwo;\": 10791,\n      \"pm;\": 177,\n      \"pointint;\": 10773,\n      \"popf;\": [55349, 56673],\n      \"pound\": 163,\n      \"pound;\": 163,\n      \"pr;\": 8826,\n      \"prE;\": 10931,\n      \"prap;\": 10935,\n      \"prcue;\": 8828,\n      \"pre;\": 10927,\n      \"prec;\": 8826,\n      \"precapprox;\": 10935,\n      \"preccurlyeq;\": 8828,\n      \"preceq;\": 10927,\n      \"precnapprox;\": 10937,\n      \"precneqq;\": 10933,\n      \"precnsim;\": 8936,\n      \"precsim;\": 8830,\n      \"prime;\": 8242,\n      \"primes;\": 8473,\n      \"prnE;\": 10933,\n      \"prnap;\": 10937,\n      \"prnsim;\": 8936,\n      \"prod;\": 8719,\n      \"profalar;\": 9006,\n      \"profline;\": 8978,\n      \"profsurf;\": 8979,\n      \"prop;\": 8733,\n      \"propto;\": 8733,\n      \"prsim;\": 8830,\n      \"prurel;\": 8880,\n      \"pscr;\": [55349, 56517],\n      \"psi;\": 968,\n      \"puncsp;\": 8200,\n      \"qfr;\": [55349, 56622],\n      \"qint;\": 10764,\n      \"qopf;\": [55349, 56674],\n      \"qprime;\": 8279,\n      \"qscr;\": [55349, 56518],\n      \"quaternions;\": 8461,\n      \"quatint;\": 10774,\n      \"quest;\": 63,\n      \"questeq;\": 8799,\n      \"quot\": 34,\n      \"quot;\": 34,\n      \"rAarr;\": 8667,\n      \"rArr;\": 8658,\n      \"rAtail;\": 10524,\n      \"rBarr;\": 10511,\n      \"rHar;\": 10596,\n      \"race;\": [8765, 817],\n      \"racute;\": 341,\n      \"radic;\": 8730,\n      \"raemptyv;\": 10675,\n      \"rang;\": 10217,\n      \"rangd;\": 10642,\n      \"range;\": 10661,\n      \"rangle;\": 10217,\n      \"raquo\": 187,\n      \"raquo;\": 187,\n      \"rarr;\": 8594,\n      \"rarrap;\": 10613,\n      \"rarrb;\": 8677,\n      \"rarrbfs;\": 10528,\n      \"rarrc;\": 10547,\n      \"rarrfs;\": 10526,\n      \"rarrhk;\": 8618,\n      \"rarrlp;\": 8620,\n      \"rarrpl;\": 10565,\n      \"rarrsim;\": 10612,\n      \"rarrtl;\": 8611,\n      \"rarrw;\": 8605,\n      \"ratail;\": 10522,\n      \"ratio;\": 8758,\n      \"rationals;\": 8474,\n      \"rbarr;\": 10509,\n      \"rbbrk;\": 10099,\n      \"rbrace;\": 125,\n      \"rbrack;\": 93,\n      \"rbrke;\": 10636,\n      \"rbrksld;\": 10638,\n      \"rbrkslu;\": 10640,\n      \"rcaron;\": 345,\n      \"rcedil;\": 343,\n      \"rceil;\": 8969,\n      \"rcub;\": 125,\n      \"rcy;\": 1088,\n      \"rdca;\": 10551,\n      \"rdldhar;\": 10601,\n      \"rdquo;\": 8221,\n      \"rdquor;\": 8221,\n      \"rdsh;\": 8627,\n      \"real;\": 8476,\n      \"realine;\": 8475,\n      \"realpart;\": 8476,\n      \"reals;\": 8477,\n      \"rect;\": 9645,\n      \"reg\": 174,\n      \"reg;\": 174,\n      \"rfisht;\": 10621,\n      \"rfloor;\": 8971,\n      \"rfr;\": [55349, 56623],\n      \"rhard;\": 8641,\n      \"rharu;\": 8640,\n      \"rharul;\": 10604,\n      \"rho;\": 961,\n      \"rhov;\": 1009,\n      \"rightarrow;\": 8594,\n      \"rightarrowtail;\": 8611,\n      \"rightharpoondown;\": 8641,\n      \"rightharpoonup;\": 8640,\n      \"rightleftarrows;\": 8644,\n      \"rightleftharpoons;\": 8652,\n      \"rightrightarrows;\": 8649,\n      \"rightsquigarrow;\": 8605,\n      \"rightthreetimes;\": 8908,\n      \"ring;\": 730,\n      \"risingdotseq;\": 8787,\n      \"rlarr;\": 8644,\n      \"rlhar;\": 8652,\n      \"rlm;\": 8207,\n      \"rmoust;\": 9137,\n      \"rmoustache;\": 9137,\n      \"rnmid;\": 10990,\n      \"roang;\": 10221,\n      \"roarr;\": 8702,\n      \"robrk;\": 10215,\n      \"ropar;\": 10630,\n      \"ropf;\": [55349, 56675],\n      \"roplus;\": 10798,\n      \"rotimes;\": 10805,\n      \"rpar;\": 41,\n      \"rpargt;\": 10644,\n      \"rppolint;\": 10770,\n      \"rrarr;\": 8649,\n      \"rsaquo;\": 8250,\n      \"rscr;\": [55349, 56519],\n      \"rsh;\": 8625,\n      \"rsqb;\": 93,\n      \"rsquo;\": 8217,\n      \"rsquor;\": 8217,\n      \"rthree;\": 8908,\n      \"rtimes;\": 8906,\n      \"rtri;\": 9657,\n      \"rtrie;\": 8885,\n      \"rtrif;\": 9656,\n      \"rtriltri;\": 10702,\n      \"ruluhar;\": 10600,\n      \"rx;\": 8478,\n      \"sacute;\": 347,\n      \"sbquo;\": 8218,\n      \"sc;\": 8827,\n      \"scE;\": 10932,\n      \"scap;\": 10936,\n      \"scaron;\": 353,\n      \"sccue;\": 8829,\n      \"sce;\": 10928,\n      \"scedil;\": 351,\n      \"scirc;\": 349,\n      \"scnE;\": 10934,\n      \"scnap;\": 10938,\n      \"scnsim;\": 8937,\n      \"scpolint;\": 10771,\n      \"scsim;\": 8831,\n      \"scy;\": 1089,\n      \"sdot;\": 8901,\n      \"sdotb;\": 8865,\n      \"sdote;\": 10854,\n      \"seArr;\": 8664,\n      \"searhk;\": 10533,\n      \"searr;\": 8600,\n      \"searrow;\": 8600,\n      \"sect\": 167,\n      \"sect;\": 167,\n      \"semi;\": 59,\n      \"seswar;\": 10537,\n      \"setminus;\": 8726,\n      \"setmn;\": 8726,\n      \"sext;\": 10038,\n      \"sfr;\": [55349, 56624],\n      \"sfrown;\": 8994,\n      \"sharp;\": 9839,\n      \"shchcy;\": 1097,\n      \"shcy;\": 1096,\n      \"shortmid;\": 8739,\n      \"shortparallel;\": 8741,\n      \"shy\": 173,\n      \"shy;\": 173,\n      \"sigma;\": 963,\n      \"sigmaf;\": 962,\n      \"sigmav;\": 962,\n      \"sim;\": 8764,\n      \"simdot;\": 10858,\n      \"sime;\": 8771,\n      \"simeq;\": 8771,\n      \"simg;\": 10910,\n      \"simgE;\": 10912,\n      \"siml;\": 10909,\n      \"simlE;\": 10911,\n      \"simne;\": 8774,\n      \"simplus;\": 10788,\n      \"simrarr;\": 10610,\n      \"slarr;\": 8592,\n      \"smallsetminus;\": 8726,\n      \"smashp;\": 10803,\n      \"smeparsl;\": 10724,\n      \"smid;\": 8739,\n      \"smile;\": 8995,\n      \"smt;\": 10922,\n      \"smte;\": 10924,\n      \"smtes;\": [10924, 65024],\n      \"softcy;\": 1100,\n      \"sol;\": 47,\n      \"solb;\": 10692,\n      \"solbar;\": 9023,\n      \"sopf;\": [55349, 56676],\n      \"spades;\": 9824,\n      \"spadesuit;\": 9824,\n      \"spar;\": 8741,\n      \"sqcap;\": 8851,\n      \"sqcaps;\": [8851, 65024],\n      \"sqcup;\": 8852,\n      \"sqcups;\": [8852, 65024],\n      \"sqsub;\": 8847,\n      \"sqsube;\": 8849,\n      \"sqsubset;\": 8847,\n      \"sqsubseteq;\": 8849,\n      \"sqsup;\": 8848,\n      \"sqsupe;\": 8850,\n      \"sqsupset;\": 8848,\n      \"sqsupseteq;\": 8850,\n      \"squ;\": 9633,\n      \"square;\": 9633,\n      \"squarf;\": 9642,\n      \"squf;\": 9642,\n      \"srarr;\": 8594,\n      \"sscr;\": [55349, 56520],\n      \"ssetmn;\": 8726,\n      \"ssmile;\": 8995,\n      \"sstarf;\": 8902,\n      \"star;\": 9734,\n      \"starf;\": 9733,\n      \"straightepsilon;\": 1013,\n      \"straightphi;\": 981,\n      \"strns;\": 175,\n      \"sub;\": 8834,\n      \"subE;\": 10949,\n      \"subdot;\": 10941,\n      \"sube;\": 8838,\n      \"subedot;\": 10947,\n      \"submult;\": 10945,\n      \"subnE;\": 10955,\n      \"subne;\": 8842,\n      \"subplus;\": 10943,\n      \"subrarr;\": 10617,\n      \"subset;\": 8834,\n      \"subseteq;\": 8838,\n      \"subseteqq;\": 10949,\n      \"subsetneq;\": 8842,\n      \"subsetneqq;\": 10955,\n      \"subsim;\": 10951,\n      \"subsub;\": 10965,\n      \"subsup;\": 10963,\n      \"succ;\": 8827,\n      \"succapprox;\": 10936,\n      \"succcurlyeq;\": 8829,\n      \"succeq;\": 10928,\n      \"succnapprox;\": 10938,\n      \"succneqq;\": 10934,\n      \"succnsim;\": 8937,\n      \"succsim;\": 8831,\n      \"sum;\": 8721,\n      \"sung;\": 9834,\n      \"sup1\": 185,\n      \"sup1;\": 185,\n      \"sup2\": 178,\n      \"sup2;\": 178,\n      \"sup3\": 179,\n      \"sup3;\": 179,\n      \"sup;\": 8835,\n      \"supE;\": 10950,\n      \"supdot;\": 10942,\n      \"supdsub;\": 10968,\n      \"supe;\": 8839,\n      \"supedot;\": 10948,\n      \"suphsol;\": 10185,\n      \"suphsub;\": 10967,\n      \"suplarr;\": 10619,\n      \"supmult;\": 10946,\n      \"supnE;\": 10956,\n      \"supne;\": 8843,\n      \"supplus;\": 10944,\n      \"supset;\": 8835,\n      \"supseteq;\": 8839,\n      \"supseteqq;\": 10950,\n      \"supsetneq;\": 8843,\n      \"supsetneqq;\": 10956,\n      \"supsim;\": 10952,\n      \"supsub;\": 10964,\n      \"supsup;\": 10966,\n      \"swArr;\": 8665,\n      \"swarhk;\": 10534,\n      \"swarr;\": 8601,\n      \"swarrow;\": 8601,\n      \"swnwar;\": 10538,\n      \"szlig\": 223,\n      \"szlig;\": 223,\n      \"target;\": 8982,\n      \"tau;\": 964,\n      \"tbrk;\": 9140,\n      \"tcaron;\": 357,\n      \"tcedil;\": 355,\n      \"tcy;\": 1090,\n      \"tdot;\": 8411,\n      \"telrec;\": 8981,\n      \"tfr;\": [55349, 56625],\n      \"there4;\": 8756,\n      \"therefore;\": 8756,\n      \"theta;\": 952,\n      \"thetasym;\": 977,\n      \"thetav;\": 977,\n      \"thickapprox;\": 8776,\n      \"thicksim;\": 8764,\n      \"thinsp;\": 8201,\n      \"thkap;\": 8776,\n      \"thksim;\": 8764,\n      \"thorn\": 254,\n      \"thorn;\": 254,\n      \"tilde;\": 732,\n      \"times\": 215,\n      \"times;\": 215,\n      \"timesb;\": 8864,\n      \"timesbar;\": 10801,\n      \"timesd;\": 10800,\n      \"tint;\": 8749,\n      \"toea;\": 10536,\n      \"top;\": 8868,\n      \"topbot;\": 9014,\n      \"topcir;\": 10993,\n      \"topf;\": [55349, 56677],\n      \"topfork;\": 10970,\n      \"tosa;\": 10537,\n      \"tprime;\": 8244,\n      \"trade;\": 8482,\n      \"triangle;\": 9653,\n      \"triangledown;\": 9663,\n      \"triangleleft;\": 9667,\n      \"trianglelefteq;\": 8884,\n      \"triangleq;\": 8796,\n      \"triangleright;\": 9657,\n      \"trianglerighteq;\": 8885,\n      \"tridot;\": 9708,\n      \"trie;\": 8796,\n      \"triminus;\": 10810,\n      \"triplus;\": 10809,\n      \"trisb;\": 10701,\n      \"tritime;\": 10811,\n      \"trpezium;\": 9186,\n      \"tscr;\": [55349, 56521],\n      \"tscy;\": 1094,\n      \"tshcy;\": 1115,\n      \"tstrok;\": 359,\n      \"twixt;\": 8812,\n      \"twoheadleftarrow;\": 8606,\n      \"twoheadrightarrow;\": 8608,\n      \"uArr;\": 8657,\n      \"uHar;\": 10595,\n      \"uacute\": 250,\n      \"uacute;\": 250,\n      \"uarr;\": 8593,\n      \"ubrcy;\": 1118,\n      \"ubreve;\": 365,\n      \"ucirc\": 251,\n      \"ucirc;\": 251,\n      \"ucy;\": 1091,\n      \"udarr;\": 8645,\n      \"udblac;\": 369,\n      \"udhar;\": 10606,\n      \"ufisht;\": 10622,\n      \"ufr;\": [55349, 56626],\n      \"ugrave\": 249,\n      \"ugrave;\": 249,\n      \"uharl;\": 8639,\n      \"uharr;\": 8638,\n      \"uhblk;\": 9600,\n      \"ulcorn;\": 8988,\n      \"ulcorner;\": 8988,\n      \"ulcrop;\": 8975,\n      \"ultri;\": 9720,\n      \"umacr;\": 363,\n      \"uml\": 168,\n      \"uml;\": 168,\n      \"uogon;\": 371,\n      \"uopf;\": [55349, 56678],\n      \"uparrow;\": 8593,\n      \"updownarrow;\": 8597,\n      \"upharpoonleft;\": 8639,\n      \"upharpoonright;\": 8638,\n      \"uplus;\": 8846,\n      \"upsi;\": 965,\n      \"upsih;\": 978,\n      \"upsilon;\": 965,\n      \"upuparrows;\": 8648,\n      \"urcorn;\": 8989,\n      \"urcorner;\": 8989,\n      \"urcrop;\": 8974,\n      \"uring;\": 367,\n      \"urtri;\": 9721,\n      \"uscr;\": [55349, 56522],\n      \"utdot;\": 8944,\n      \"utilde;\": 361,\n      \"utri;\": 9653,\n      \"utrif;\": 9652,\n      \"uuarr;\": 8648,\n      \"uuml\": 252,\n      \"uuml;\": 252,\n      \"uwangle;\": 10663,\n      \"vArr;\": 8661,\n      \"vBar;\": 10984,\n      \"vBarv;\": 10985,\n      \"vDash;\": 8872,\n      \"vangrt;\": 10652,\n      \"varepsilon;\": 1013,\n      \"varkappa;\": 1008,\n      \"varnothing;\": 8709,\n      \"varphi;\": 981,\n      \"varpi;\": 982,\n      \"varpropto;\": 8733,\n      \"varr;\": 8597,\n      \"varrho;\": 1009,\n      \"varsigma;\": 962,\n      \"varsubsetneq;\": [8842, 65024],\n      \"varsubsetneqq;\": [10955, 65024],\n      \"varsupsetneq;\": [8843, 65024],\n      \"varsupsetneqq;\": [10956, 65024],\n      \"vartheta;\": 977,\n      \"vartriangleleft;\": 8882,\n      \"vartriangleright;\": 8883,\n      \"vcy;\": 1074,\n      \"vdash;\": 8866,\n      \"vee;\": 8744,\n      \"veebar;\": 8891,\n      \"veeeq;\": 8794,\n      \"vellip;\": 8942,\n      \"verbar;\": 124,\n      \"vert;\": 124,\n      \"vfr;\": [55349, 56627],\n      \"vltri;\": 8882,\n      \"vnsub;\": [8834, 8402],\n      \"vnsup;\": [8835, 8402],\n      \"vopf;\": [55349, 56679],\n      \"vprop;\": 8733,\n      \"vrtri;\": 8883,\n      \"vscr;\": [55349, 56523],\n      \"vsubnE;\": [10955, 65024],\n      \"vsubne;\": [8842, 65024],\n      \"vsupnE;\": [10956, 65024],\n      \"vsupne;\": [8843, 65024],\n      \"vzigzag;\": 10650,\n      \"wcirc;\": 373,\n      \"wedbar;\": 10847,\n      \"wedge;\": 8743,\n      \"wedgeq;\": 8793,\n      \"weierp;\": 8472,\n      \"wfr;\": [55349, 56628],\n      \"wopf;\": [55349, 56680],\n      \"wp;\": 8472,\n      \"wr;\": 8768,\n      \"wreath;\": 8768,\n      \"wscr;\": [55349, 56524],\n      \"xcap;\": 8898,\n      \"xcirc;\": 9711,\n      \"xcup;\": 8899,\n      \"xdtri;\": 9661,\n      \"xfr;\": [55349, 56629],\n      \"xhArr;\": 10234,\n      \"xharr;\": 10231,\n      \"xi;\": 958,\n      \"xlArr;\": 10232,\n      \"xlarr;\": 10229,\n      \"xmap;\": 10236,\n      \"xnis;\": 8955,\n      \"xodot;\": 10752,\n      \"xopf;\": [55349, 56681],\n      \"xoplus;\": 10753,\n      \"xotime;\": 10754,\n      \"xrArr;\": 10233,\n      \"xrarr;\": 10230,\n      \"xscr;\": [55349, 56525],\n      \"xsqcup;\": 10758,\n      \"xuplus;\": 10756,\n      \"xutri;\": 9651,\n      \"xvee;\": 8897,\n      \"xwedge;\": 8896,\n      \"yacute\": 253,\n      \"yacute;\": 253,\n      \"yacy;\": 1103,\n      \"ycirc;\": 375,\n      \"ycy;\": 1099,\n      \"yen\": 165,\n      \"yen;\": 165,\n      \"yfr;\": [55349, 56630],\n      \"yicy;\": 1111,\n      \"yopf;\": [55349, 56682],\n      \"yscr;\": [55349, 56526],\n      \"yucy;\": 1102,\n      \"yuml\": 255,\n      \"yuml;\": 255,\n      \"zacute;\": 378,\n      \"zcaron;\": 382,\n      \"zcy;\": 1079,\n      \"zdot;\": 380,\n      \"zeetrf;\": 8488,\n      \"zeta;\": 950,\n      \"zfr;\": [55349, 56631],\n      \"zhcy;\": 1078,\n      \"zigrarr;\": 8669,\n      \"zopf;\": [55349, 56683],\n      \"zscr;\": [55349, 56527],\n      \"zwj;\": 8205,\n      \"zwnj;\": 8204\n    };\n    var NAMEDCHARREF = /(A(?:Elig;?|MP;?|acute;?|breve;|c(?:irc;?|y;)|fr;|grave;?|lpha;|macr;|nd;|o(?:gon;|pf;)|pplyFunction;|ring;?|s(?:cr;|sign;)|tilde;?|uml;?)|B(?:a(?:ckslash;|r(?:v;|wed;))|cy;|e(?:cause;|rnoullis;|ta;)|fr;|opf;|reve;|scr;|umpeq;)|C(?:Hcy;|OPY;?|a(?:cute;|p(?:;|italDifferentialD;)|yleys;)|c(?:aron;|edil;?|irc;|onint;)|dot;|e(?:dilla;|nterDot;)|fr;|hi;|ircle(?:Dot;|Minus;|Plus;|Times;)|lo(?:ckwiseContourIntegral;|seCurly(?:DoubleQuote;|Quote;))|o(?:lon(?:;|e;)|n(?:gruent;|int;|tourIntegral;)|p(?:f;|roduct;)|unterClockwiseContourIntegral;)|ross;|scr;|up(?:;|Cap;))|D(?:D(?:;|otrahd;)|Jcy;|Scy;|Zcy;|a(?:gger;|rr;|shv;)|c(?:aron;|y;)|el(?:;|ta;)|fr;|i(?:a(?:critical(?:Acute;|Do(?:t;|ubleAcute;)|Grave;|Tilde;)|mond;)|fferentialD;)|o(?:pf;|t(?:;|Dot;|Equal;)|uble(?:ContourIntegral;|Do(?:t;|wnArrow;)|L(?:eft(?:Arrow;|RightArrow;|Tee;)|ong(?:Left(?:Arrow;|RightArrow;)|RightArrow;))|Right(?:Arrow;|Tee;)|Up(?:Arrow;|DownArrow;)|VerticalBar;)|wn(?:Arrow(?:;|Bar;|UpArrow;)|Breve;|Left(?:RightVector;|TeeVector;|Vector(?:;|Bar;))|Right(?:TeeVector;|Vector(?:;|Bar;))|Tee(?:;|Arrow;)|arrow;))|s(?:cr;|trok;))|E(?:NG;|TH;?|acute;?|c(?:aron;|irc;?|y;)|dot;|fr;|grave;?|lement;|m(?:acr;|pty(?:SmallSquare;|VerySmallSquare;))|o(?:gon;|pf;)|psilon;|qu(?:al(?:;|Tilde;)|ilibrium;)|s(?:cr;|im;)|ta;|uml;?|x(?:ists;|ponentialE;))|F(?:cy;|fr;|illed(?:SmallSquare;|VerySmallSquare;)|o(?:pf;|rAll;|uriertrf;)|scr;)|G(?:Jcy;|T;?|amma(?:;|d;)|breve;|c(?:edil;|irc;|y;)|dot;|fr;|g;|opf;|reater(?:Equal(?:;|Less;)|FullEqual;|Greater;|Less;|SlantEqual;|Tilde;)|scr;|t;)|H(?:ARDcy;|a(?:cek;|t;)|circ;|fr;|ilbertSpace;|o(?:pf;|rizontalLine;)|s(?:cr;|trok;)|ump(?:DownHump;|Equal;))|I(?:Ecy;|Jlig;|Ocy;|acute;?|c(?:irc;?|y;)|dot;|fr;|grave;?|m(?:;|a(?:cr;|ginaryI;)|plies;)|n(?:t(?:;|e(?:gral;|rsection;))|visible(?:Comma;|Times;))|o(?:gon;|pf;|ta;)|scr;|tilde;|u(?:kcy;|ml;?))|J(?:c(?:irc;|y;)|fr;|opf;|s(?:cr;|ercy;)|ukcy;)|K(?:Hcy;|Jcy;|appa;|c(?:edil;|y;)|fr;|opf;|scr;)|L(?:Jcy;|T;?|a(?:cute;|mbda;|ng;|placetrf;|rr;)|c(?:aron;|edil;|y;)|e(?:ft(?:A(?:ngleBracket;|rrow(?:;|Bar;|RightArrow;))|Ceiling;|Do(?:ubleBracket;|wn(?:TeeVector;|Vector(?:;|Bar;)))|Floor;|Right(?:Arrow;|Vector;)|T(?:ee(?:;|Arrow;|Vector;)|riangle(?:;|Bar;|Equal;))|Up(?:DownVector;|TeeVector;|Vector(?:;|Bar;))|Vector(?:;|Bar;)|arrow;|rightarrow;)|ss(?:EqualGreater;|FullEqual;|Greater;|Less;|SlantEqual;|Tilde;))|fr;|l(?:;|eftarrow;)|midot;|o(?:ng(?:Left(?:Arrow;|RightArrow;)|RightArrow;|left(?:arrow;|rightarrow;)|rightarrow;)|pf;|wer(?:LeftArrow;|RightArrow;))|s(?:cr;|h;|trok;)|t;)|M(?:ap;|cy;|e(?:diumSpace;|llintrf;)|fr;|inusPlus;|opf;|scr;|u;)|N(?:Jcy;|acute;|c(?:aron;|edil;|y;)|e(?:gative(?:MediumSpace;|Thi(?:ckSpace;|nSpace;)|VeryThinSpace;)|sted(?:GreaterGreater;|LessLess;)|wLine;)|fr;|o(?:Break;|nBreakingSpace;|pf;|t(?:;|C(?:ongruent;|upCap;)|DoubleVerticalBar;|E(?:lement;|qual(?:;|Tilde;)|xists;)|Greater(?:;|Equal;|FullEqual;|Greater;|Less;|SlantEqual;|Tilde;)|Hump(?:DownHump;|Equal;)|Le(?:ftTriangle(?:;|Bar;|Equal;)|ss(?:;|Equal;|Greater;|Less;|SlantEqual;|Tilde;))|Nested(?:GreaterGreater;|LessLess;)|Precedes(?:;|Equal;|SlantEqual;)|R(?:everseElement;|ightTriangle(?:;|Bar;|Equal;))|S(?:quareSu(?:bset(?:;|Equal;)|perset(?:;|Equal;))|u(?:bset(?:;|Equal;)|cceeds(?:;|Equal;|SlantEqual;|Tilde;)|perset(?:;|Equal;)))|Tilde(?:;|Equal;|FullEqual;|Tilde;)|VerticalBar;))|scr;|tilde;?|u;)|O(?:Elig;|acute;?|c(?:irc;?|y;)|dblac;|fr;|grave;?|m(?:acr;|ega;|icron;)|opf;|penCurly(?:DoubleQuote;|Quote;)|r;|s(?:cr;|lash;?)|ti(?:lde;?|mes;)|uml;?|ver(?:B(?:ar;|rac(?:e;|ket;))|Parenthesis;))|P(?:artialD;|cy;|fr;|hi;|i;|lusMinus;|o(?:incareplane;|pf;)|r(?:;|ecedes(?:;|Equal;|SlantEqual;|Tilde;)|ime;|o(?:duct;|portion(?:;|al;)))|s(?:cr;|i;))|Q(?:UOT;?|fr;|opf;|scr;)|R(?:Barr;|EG;?|a(?:cute;|ng;|rr(?:;|tl;))|c(?:aron;|edil;|y;)|e(?:;|verse(?:E(?:lement;|quilibrium;)|UpEquilibrium;))|fr;|ho;|ight(?:A(?:ngleBracket;|rrow(?:;|Bar;|LeftArrow;))|Ceiling;|Do(?:ubleBracket;|wn(?:TeeVector;|Vector(?:;|Bar;)))|Floor;|T(?:ee(?:;|Arrow;|Vector;)|riangle(?:;|Bar;|Equal;))|Up(?:DownVector;|TeeVector;|Vector(?:;|Bar;))|Vector(?:;|Bar;)|arrow;)|o(?:pf;|undImplies;)|rightarrow;|s(?:cr;|h;)|uleDelayed;)|S(?:H(?:CHcy;|cy;)|OFTcy;|acute;|c(?:;|aron;|edil;|irc;|y;)|fr;|hort(?:DownArrow;|LeftArrow;|RightArrow;|UpArrow;)|igma;|mallCircle;|opf;|q(?:rt;|uare(?:;|Intersection;|Su(?:bset(?:;|Equal;)|perset(?:;|Equal;))|Union;))|scr;|tar;|u(?:b(?:;|set(?:;|Equal;))|c(?:ceeds(?:;|Equal;|SlantEqual;|Tilde;)|hThat;)|m;|p(?:;|erset(?:;|Equal;)|set;)))|T(?:HORN;?|RADE;|S(?:Hcy;|cy;)|a(?:b;|u;)|c(?:aron;|edil;|y;)|fr;|h(?:e(?:refore;|ta;)|i(?:ckSpace;|nSpace;))|ilde(?:;|Equal;|FullEqual;|Tilde;)|opf;|ripleDot;|s(?:cr;|trok;))|U(?:a(?:cute;?|rr(?:;|ocir;))|br(?:cy;|eve;)|c(?:irc;?|y;)|dblac;|fr;|grave;?|macr;|n(?:der(?:B(?:ar;|rac(?:e;|ket;))|Parenthesis;)|ion(?:;|Plus;))|o(?:gon;|pf;)|p(?:Arrow(?:;|Bar;|DownArrow;)|DownArrow;|Equilibrium;|Tee(?:;|Arrow;)|arrow;|downarrow;|per(?:LeftArrow;|RightArrow;)|si(?:;|lon;))|ring;|scr;|tilde;|uml;?)|V(?:Dash;|bar;|cy;|dash(?:;|l;)|e(?:e;|r(?:bar;|t(?:;|ical(?:Bar;|Line;|Separator;|Tilde;))|yThinSpace;))|fr;|opf;|scr;|vdash;)|W(?:circ;|edge;|fr;|opf;|scr;)|X(?:fr;|i;|opf;|scr;)|Y(?:Acy;|Icy;|Ucy;|acute;?|c(?:irc;|y;)|fr;|opf;|scr;|uml;)|Z(?:Hcy;|acute;|c(?:aron;|y;)|dot;|e(?:roWidthSpace;|ta;)|fr;|opf;|scr;)|a(?:acute;?|breve;|c(?:;|E;|d;|irc;?|ute;?|y;)|elig;?|f(?:;|r;)|grave;?|l(?:e(?:fsym;|ph;)|pha;)|m(?:a(?:cr;|lg;)|p;?)|n(?:d(?:;|and;|d;|slope;|v;)|g(?:;|e;|le;|msd(?:;|a(?:a;|b;|c;|d;|e;|f;|g;|h;))|rt(?:;|vb(?:;|d;))|s(?:ph;|t;)|zarr;))|o(?:gon;|pf;)|p(?:;|E;|acir;|e;|id;|os;|prox(?:;|eq;))|ring;?|s(?:cr;|t;|ymp(?:;|eq;))|tilde;?|uml;?|w(?:conint;|int;))|b(?:Not;|a(?:ck(?:cong;|epsilon;|prime;|sim(?:;|eq;))|r(?:vee;|wed(?:;|ge;)))|brk(?:;|tbrk;)|c(?:ong;|y;)|dquo;|e(?:caus(?:;|e;)|mptyv;|psi;|rnou;|t(?:a;|h;|ween;))|fr;|ig(?:c(?:ap;|irc;|up;)|o(?:dot;|plus;|times;)|s(?:qcup;|tar;)|triangle(?:down;|up;)|uplus;|vee;|wedge;)|karow;|l(?:a(?:ck(?:lozenge;|square;|triangle(?:;|down;|left;|right;))|nk;)|k(?:1(?:2;|4;)|34;)|ock;)|n(?:e(?:;|quiv;)|ot;)|o(?:pf;|t(?:;|tom;)|wtie;|x(?:D(?:L;|R;|l;|r;)|H(?:;|D;|U;|d;|u;)|U(?:L;|R;|l;|r;)|V(?:;|H;|L;|R;|h;|l;|r;)|box;|d(?:L;|R;|l;|r;)|h(?:;|D;|U;|d;|u;)|minus;|plus;|times;|u(?:L;|R;|l;|r;)|v(?:;|H;|L;|R;|h;|l;|r;)))|prime;|r(?:eve;|vbar;?)|s(?:cr;|emi;|im(?:;|e;)|ol(?:;|b;|hsub;))|u(?:ll(?:;|et;)|mp(?:;|E;|e(?:;|q;))))|c(?:a(?:cute;|p(?:;|and;|brcup;|c(?:ap;|up;)|dot;|s;)|r(?:et;|on;))|c(?:a(?:ps;|ron;)|edil;?|irc;|ups(?:;|sm;))|dot;|e(?:dil;?|mptyv;|nt(?:;|erdot;|))|fr;|h(?:cy;|eck(?:;|mark;)|i;)|ir(?:;|E;|c(?:;|eq;|le(?:arrow(?:left;|right;)|d(?:R;|S;|ast;|circ;|dash;)))|e;|fnint;|mid;|scir;)|lubs(?:;|uit;)|o(?:lon(?:;|e(?:;|q;))|m(?:ma(?:;|t;)|p(?:;|fn;|le(?:ment;|xes;)))|n(?:g(?:;|dot;)|int;)|p(?:f;|rod;|y(?:;|sr;|)))|r(?:arr;|oss;)|s(?:cr;|u(?:b(?:;|e;)|p(?:;|e;)))|tdot;|u(?:darr(?:l;|r;)|e(?:pr;|sc;)|larr(?:;|p;)|p(?:;|brcap;|c(?:ap;|up;)|dot;|or;|s;)|r(?:arr(?:;|m;)|ly(?:eq(?:prec;|succ;)|vee;|wedge;)|ren;?|vearrow(?:left;|right;))|vee;|wed;)|w(?:conint;|int;)|ylcty;)|d(?:Arr;|Har;|a(?:gger;|leth;|rr;|sh(?:;|v;))|b(?:karow;|lac;)|c(?:aron;|y;)|d(?:;|a(?:gger;|rr;)|otseq;)|e(?:g;?|lta;|mptyv;)|f(?:isht;|r;)|har(?:l;|r;)|i(?:am(?:;|ond(?:;|suit;)|s;)|e;|gamma;|sin;|v(?:;|ide(?:;|ontimes;|)|onx;))|jcy;|lc(?:orn;|rop;)|o(?:llar;|pf;|t(?:;|eq(?:;|dot;)|minus;|plus;|square;)|ublebarwedge;|wn(?:arrow;|downarrows;|harpoon(?:left;|right;)))|r(?:bkarow;|c(?:orn;|rop;))|s(?:c(?:r;|y;)|ol;|trok;)|t(?:dot;|ri(?:;|f;))|u(?:arr;|har;)|wangle;|z(?:cy;|igrarr;))|e(?:D(?:Dot;|ot;)|a(?:cute;?|ster;)|c(?:aron;|ir(?:;|c;?)|olon;|y;)|dot;|e;|f(?:Dot;|r;)|g(?:;|rave;?|s(?:;|dot;))|l(?:;|inters;|l;|s(?:;|dot;))|m(?:acr;|pty(?:;|set;|v;)|sp(?:1(?:3;|4;)|;))|n(?:g;|sp;)|o(?:gon;|pf;)|p(?:ar(?:;|sl;)|lus;|si(?:;|lon;|v;))|q(?:c(?:irc;|olon;)|s(?:im;|lant(?:gtr;|less;))|u(?:als;|est;|iv(?:;|DD;))|vparsl;)|r(?:Dot;|arr;)|s(?:cr;|dot;|im;)|t(?:a;|h;?)|u(?:ml;?|ro;)|x(?:cl;|ist;|p(?:ectation;|onentiale;)))|f(?:allingdotseq;|cy;|emale;|f(?:ilig;|l(?:ig;|lig;)|r;)|ilig;|jlig;|l(?:at;|lig;|tns;)|nof;|o(?:pf;|r(?:all;|k(?:;|v;)))|partint;|r(?:a(?:c(?:1(?:2;?|3;|4;?|5;|6;|8;)|2(?:3;|5;)|3(?:4;?|5;|8;)|45;|5(?:6;|8;)|78;)|sl;)|own;)|scr;)|g(?:E(?:;|l;)|a(?:cute;|mma(?:;|d;)|p;)|breve;|c(?:irc;|y;)|dot;|e(?:;|l;|q(?:;|q;|slant;)|s(?:;|cc;|dot(?:;|o(?:;|l;))|l(?:;|es;)))|fr;|g(?:;|g;)|imel;|jcy;|l(?:;|E;|a;|j;)|n(?:E;|ap(?:;|prox;)|e(?:;|q(?:;|q;))|sim;)|opf;|rave;|s(?:cr;|im(?:;|e;|l;))|t(?:;|c(?:c;|ir;)|dot;|lPar;|quest;|r(?:a(?:pprox;|rr;)|dot;|eq(?:less;|qless;)|less;|sim;)|)|v(?:ertneqq;|nE;))|h(?:Arr;|a(?:irsp;|lf;|milt;|r(?:dcy;|r(?:;|cir;|w;)))|bar;|circ;|e(?:arts(?:;|uit;)|llip;|rcon;)|fr;|ks(?:earow;|warow;)|o(?:arr;|mtht;|ok(?:leftarrow;|rightarrow;)|pf;|rbar;)|s(?:cr;|lash;|trok;)|y(?:bull;|phen;))|i(?:acute;?|c(?:;|irc;?|y;)|e(?:cy;|xcl;?)|f(?:f;|r;)|grave;?|i(?:;|i(?:int;|nt;)|nfin;|ota;)|jlig;|m(?:a(?:cr;|g(?:e;|line;|part;)|th;)|of;|ped;)|n(?:;|care;|fin(?:;|tie;)|odot;|t(?:;|cal;|e(?:gers;|rcal;)|larhk;|prod;))|o(?:cy;|gon;|pf;|ta;)|prod;|quest;?|s(?:cr;|in(?:;|E;|dot;|s(?:;|v;)|v;))|t(?:;|ilde;)|u(?:kcy;|ml;?))|j(?:c(?:irc;|y;)|fr;|math;|opf;|s(?:cr;|ercy;)|ukcy;)|k(?:appa(?:;|v;)|c(?:edil;|y;)|fr;|green;|hcy;|jcy;|opf;|scr;)|l(?:A(?:arr;|rr;|tail;)|Barr;|E(?:;|g;)|Har;|a(?:cute;|emptyv;|gran;|mbda;|ng(?:;|d;|le;)|p;|quo;?|rr(?:;|b(?:;|fs;)|fs;|hk;|lp;|pl;|sim;|tl;)|t(?:;|ail;|e(?:;|s;)))|b(?:arr;|brk;|r(?:ac(?:e;|k;)|k(?:e;|sl(?:d;|u;))))|c(?:aron;|e(?:dil;|il;)|ub;|y;)|d(?:ca;|quo(?:;|r;)|r(?:dhar;|ushar;)|sh;)|e(?:;|ft(?:arrow(?:;|tail;)|harpoon(?:down;|up;)|leftarrows;|right(?:arrow(?:;|s;)|harpoons;|squigarrow;)|threetimes;)|g;|q(?:;|q;|slant;)|s(?:;|cc;|dot(?:;|o(?:;|r;))|g(?:;|es;)|s(?:approx;|dot;|eq(?:gtr;|qgtr;)|gtr;|sim;)))|f(?:isht;|loor;|r;)|g(?:;|E;)|h(?:ar(?:d;|u(?:;|l;))|blk;)|jcy;|l(?:;|arr;|corner;|hard;|tri;)|m(?:idot;|oust(?:;|ache;))|n(?:E;|ap(?:;|prox;)|e(?:;|q(?:;|q;))|sim;)|o(?:a(?:ng;|rr;)|brk;|ng(?:left(?:arrow;|rightarrow;)|mapsto;|rightarrow;)|oparrow(?:left;|right;)|p(?:ar;|f;|lus;)|times;|w(?:ast;|bar;)|z(?:;|enge;|f;))|par(?:;|lt;)|r(?:arr;|corner;|har(?:;|d;)|m;|tri;)|s(?:aquo;|cr;|h;|im(?:;|e;|g;)|q(?:b;|uo(?:;|r;))|trok;)|t(?:;|c(?:c;|ir;)|dot;|hree;|imes;|larr;|quest;|r(?:Par;|i(?:;|e;|f;))|)|ur(?:dshar;|uhar;)|v(?:ertneqq;|nE;))|m(?:DDot;|a(?:cr;?|l(?:e;|t(?:;|ese;))|p(?:;|sto(?:;|down;|left;|up;))|rker;)|c(?:omma;|y;)|dash;|easuredangle;|fr;|ho;|i(?:cro;?|d(?:;|ast;|cir;|dot;?)|nus(?:;|b;|d(?:;|u;)))|l(?:cp;|dr;)|nplus;|o(?:dels;|pf;)|p;|s(?:cr;|tpos;)|u(?:;|ltimap;|map;))|n(?:G(?:g;|t(?:;|v;))|L(?:eft(?:arrow;|rightarrow;)|l;|t(?:;|v;))|Rightarrow;|V(?:Dash;|dash;)|a(?:bla;|cute;|ng;|p(?:;|E;|id;|os;|prox;)|tur(?:;|al(?:;|s;)))|b(?:sp;?|ump(?:;|e;))|c(?:a(?:p;|ron;)|edil;|ong(?:;|dot;)|up;|y;)|dash;|e(?:;|Arr;|ar(?:hk;|r(?:;|ow;))|dot;|quiv;|s(?:ear;|im;)|xist(?:;|s;))|fr;|g(?:E;|e(?:;|q(?:;|q;|slant;)|s;)|sim;|t(?:;|r;))|h(?:Arr;|arr;|par;)|i(?:;|s(?:;|d;)|v;)|jcy;|l(?:Arr;|E;|arr;|dr;|e(?:;|ft(?:arrow;|rightarrow;)|q(?:;|q;|slant;)|s(?:;|s;))|sim;|t(?:;|ri(?:;|e;)))|mid;|o(?:pf;|t(?:;|in(?:;|E;|dot;|v(?:a;|b;|c;))|ni(?:;|v(?:a;|b;|c;))|))|p(?:ar(?:;|allel;|sl;|t;)|olint;|r(?:;|cue;|e(?:;|c(?:;|eq;))))|r(?:Arr;|arr(?:;|c;|w;)|ightarrow;|tri(?:;|e;))|s(?:c(?:;|cue;|e;|r;)|hort(?:mid;|parallel;)|im(?:;|e(?:;|q;))|mid;|par;|qsu(?:be;|pe;)|u(?:b(?:;|E;|e;|set(?:;|eq(?:;|q;)))|cc(?:;|eq;)|p(?:;|E;|e;|set(?:;|eq(?:;|q;)))))|t(?:gl;|ilde;?|lg;|riangle(?:left(?:;|eq;)|right(?:;|eq;)))|u(?:;|m(?:;|ero;|sp;))|v(?:Dash;|Harr;|ap;|dash;|g(?:e;|t;)|infin;|l(?:Arr;|e;|t(?:;|rie;))|r(?:Arr;|trie;)|sim;)|w(?:Arr;|ar(?:hk;|r(?:;|ow;))|near;))|o(?:S;|a(?:cute;?|st;)|c(?:ir(?:;|c;?)|y;)|d(?:ash;|blac;|iv;|ot;|sold;)|elig;|f(?:cir;|r;)|g(?:on;|rave;?|t;)|h(?:bar;|m;)|int;|l(?:arr;|c(?:ir;|ross;)|ine;|t;)|m(?:acr;|ega;|i(?:cron;|d;|nus;))|opf;|p(?:ar;|erp;|lus;)|r(?:;|arr;|d(?:;|er(?:;|of;)|f;?|m;?)|igof;|or;|slope;|v;)|s(?:cr;|lash;?|ol;)|ti(?:lde;?|mes(?:;|as;))|uml;?|vbar;)|p(?:ar(?:;|a(?:;|llel;|)|s(?:im;|l;)|t;)|cy;|er(?:cnt;|iod;|mil;|p;|tenk;)|fr;|h(?:i(?:;|v;)|mmat;|one;)|i(?:;|tchfork;|v;)|l(?:an(?:ck(?:;|h;)|kv;)|us(?:;|acir;|b;|cir;|d(?:o;|u;)|e;|mn;?|sim;|two;))|m;|o(?:intint;|pf;|und;?)|r(?:;|E;|ap;|cue;|e(?:;|c(?:;|approx;|curlyeq;|eq;|n(?:approx;|eqq;|sim;)|sim;))|ime(?:;|s;)|n(?:E;|ap;|sim;)|o(?:d;|f(?:alar;|line;|surf;)|p(?:;|to;))|sim;|urel;)|s(?:cr;|i;)|uncsp;)|q(?:fr;|int;|opf;|prime;|scr;|u(?:at(?:ernions;|int;)|est(?:;|eq;)|ot;?))|r(?:A(?:arr;|rr;|tail;)|Barr;|Har;|a(?:c(?:e;|ute;)|dic;|emptyv;|ng(?:;|d;|e;|le;)|quo;?|rr(?:;|ap;|b(?:;|fs;)|c;|fs;|hk;|lp;|pl;|sim;|tl;|w;)|t(?:ail;|io(?:;|nals;)))|b(?:arr;|brk;|r(?:ac(?:e;|k;)|k(?:e;|sl(?:d;|u;))))|c(?:aron;|e(?:dil;|il;)|ub;|y;)|d(?:ca;|ldhar;|quo(?:;|r;)|sh;)|e(?:al(?:;|ine;|part;|s;)|ct;|g;?)|f(?:isht;|loor;|r;)|h(?:ar(?:d;|u(?:;|l;))|o(?:;|v;))|i(?:ght(?:arrow(?:;|tail;)|harpoon(?:down;|up;)|left(?:arrows;|harpoons;)|rightarrows;|squigarrow;|threetimes;)|ng;|singdotseq;)|l(?:arr;|har;|m;)|moust(?:;|ache;)|nmid;|o(?:a(?:ng;|rr;)|brk;|p(?:ar;|f;|lus;)|times;)|p(?:ar(?:;|gt;)|polint;)|rarr;|s(?:aquo;|cr;|h;|q(?:b;|uo(?:;|r;)))|t(?:hree;|imes;|ri(?:;|e;|f;|ltri;))|uluhar;|x;)|s(?:acute;|bquo;|c(?:;|E;|a(?:p;|ron;)|cue;|e(?:;|dil;)|irc;|n(?:E;|ap;|sim;)|polint;|sim;|y;)|dot(?:;|b;|e;)|e(?:Arr;|ar(?:hk;|r(?:;|ow;))|ct;?|mi;|swar;|tm(?:inus;|n;)|xt;)|fr(?:;|own;)|h(?:arp;|c(?:hcy;|y;)|ort(?:mid;|parallel;)|y;?)|i(?:gma(?:;|f;|v;)|m(?:;|dot;|e(?:;|q;)|g(?:;|E;)|l(?:;|E;)|ne;|plus;|rarr;))|larr;|m(?:a(?:llsetminus;|shp;)|eparsl;|i(?:d;|le;)|t(?:;|e(?:;|s;)))|o(?:ftcy;|l(?:;|b(?:;|ar;))|pf;)|pa(?:des(?:;|uit;)|r;)|q(?:c(?:ap(?:;|s;)|up(?:;|s;))|su(?:b(?:;|e;|set(?:;|eq;))|p(?:;|e;|set(?:;|eq;)))|u(?:;|ar(?:e;|f;)|f;))|rarr;|s(?:cr;|etmn;|mile;|tarf;)|t(?:ar(?:;|f;)|r(?:aight(?:epsilon;|phi;)|ns;))|u(?:b(?:;|E;|dot;|e(?:;|dot;)|mult;|n(?:E;|e;)|plus;|rarr;|s(?:et(?:;|eq(?:;|q;)|neq(?:;|q;))|im;|u(?:b;|p;)))|cc(?:;|approx;|curlyeq;|eq;|n(?:approx;|eqq;|sim;)|sim;)|m;|ng;|p(?:1;?|2;?|3;?|;|E;|d(?:ot;|sub;)|e(?:;|dot;)|hs(?:ol;|ub;)|larr;|mult;|n(?:E;|e;)|plus;|s(?:et(?:;|eq(?:;|q;)|neq(?:;|q;))|im;|u(?:b;|p;))))|w(?:Arr;|ar(?:hk;|r(?:;|ow;))|nwar;)|zlig;?)|t(?:a(?:rget;|u;)|brk;|c(?:aron;|edil;|y;)|dot;|elrec;|fr;|h(?:e(?:re(?:4;|fore;)|ta(?:;|sym;|v;))|i(?:ck(?:approx;|sim;)|nsp;)|k(?:ap;|sim;)|orn;?)|i(?:lde;|mes(?:;|b(?:;|ar;)|d;|)|nt;)|o(?:ea;|p(?:;|bot;|cir;|f(?:;|ork;))|sa;)|prime;|r(?:ade;|i(?:angle(?:;|down;|left(?:;|eq;)|q;|right(?:;|eq;))|dot;|e;|minus;|plus;|sb;|time;)|pezium;)|s(?:c(?:r;|y;)|hcy;|trok;)|w(?:ixt;|ohead(?:leftarrow;|rightarrow;)))|u(?:Arr;|Har;|a(?:cute;?|rr;)|br(?:cy;|eve;)|c(?:irc;?|y;)|d(?:arr;|blac;|har;)|f(?:isht;|r;)|grave;?|h(?:ar(?:l;|r;)|blk;)|l(?:c(?:orn(?:;|er;)|rop;)|tri;)|m(?:acr;|l;?)|o(?:gon;|pf;)|p(?:arrow;|downarrow;|harpoon(?:left;|right;)|lus;|si(?:;|h;|lon;)|uparrows;)|r(?:c(?:orn(?:;|er;)|rop;)|ing;|tri;)|scr;|t(?:dot;|ilde;|ri(?:;|f;))|u(?:arr;|ml;?)|wangle;)|v(?:Arr;|Bar(?:;|v;)|Dash;|a(?:ngrt;|r(?:epsilon;|kappa;|nothing;|p(?:hi;|i;|ropto;)|r(?:;|ho;)|s(?:igma;|u(?:bsetneq(?:;|q;)|psetneq(?:;|q;)))|t(?:heta;|riangle(?:left;|right;))))|cy;|dash;|e(?:e(?:;|bar;|eq;)|llip;|r(?:bar;|t;))|fr;|ltri;|nsu(?:b;|p;)|opf;|prop;|rtri;|s(?:cr;|u(?:bn(?:E;|e;)|pn(?:E;|e;)))|zigzag;)|w(?:circ;|e(?:d(?:bar;|ge(?:;|q;))|ierp;)|fr;|opf;|p;|r(?:;|eath;)|scr;)|x(?:c(?:ap;|irc;|up;)|dtri;|fr;|h(?:Arr;|arr;)|i;|l(?:Arr;|arr;)|map;|nis;|o(?:dot;|p(?:f;|lus;)|time;)|r(?:Arr;|arr;)|s(?:cr;|qcup;)|u(?:plus;|tri;)|vee;|wedge;)|y(?:ac(?:ute;?|y;)|c(?:irc;|y;)|en;?|fr;|icy;|opf;|scr;|u(?:cy;|ml;?))|z(?:acute;|c(?:aron;|y;)|dot;|e(?:etrf;|ta;)|fr;|hcy;|igrarr;|opf;|scr;|w(?:j;|nj;)))|[\\s\\S]/g;\n    var DBLQUOTEATTRVAL = /[^\\r\"&\\u0000]+/g;\n    var SINGLEQUOTEATTRVAL = /[^\\r'&\\u0000]+/g;\n    var UNQUOTEDATTRVAL = /[^\\r\\t\\n\\f &>\\u0000]+/g;\n    var TAGNAME = /[^\\r\\t\\n\\f \\/>A-Z\\u0000]+/g;\n    var ATTRNAME = /[^\\r\\t\\n\\f \\/=>A-Z\\u0000]+/g;\n    var CDATATEXT = /[^\\]\\r\\u0000\\uffff]*/g;\n    var DATATEXT = /[^&<\\r\\u0000\\uffff]*/g;\n    var RAWTEXT = /[^<\\r\\u0000\\uffff]*/g;\n    var PLAINTEXT = /[^\\r\\u0000\\uffff]*/g;\n    var SIMPLETAG = /(?:(\\/)?([a-z]+)>)|[\\s\\S]/g;\n    var SIMPLEATTR = /(?:([-a-z]+)[ \\t\\n\\f]*=[ \\t\\n\\f]*('[^'&\\r\\u0000]*'|\"[^\"&\\r\\u0000]*\"|[^\\t\\n\\r\\f \"&'\\u0000>][^&> \\t\\n\\r\\f\\u0000]*[ \\t\\n\\f]))|[\\s\\S]/g;\n    var NONWS = /[^\\x09\\x0A\\x0C\\x0D\\x20]/;\n    var ALLNONWS = /[^\\x09\\x0A\\x0C\\x0D\\x20]/g;\n    var NONWSNONNUL = /[^\\x00\\x09\\x0A\\x0C\\x0D\\x20]/;\n    var LEADINGWS = /^[\\x09\\x0A\\x0C\\x0D\\x20]+/;\n    var NULCHARS = /\\x00/g;\n    function buf2str(buf) {\n      var CHUNKSIZE = 16384;\n      if (buf.length < CHUNKSIZE) {\n        return String.fromCharCode.apply(String, buf);\n      }\n      var result = \"\";\n      for (var i = 0; i < buf.length; i += CHUNKSIZE) {\n        result += String.fromCharCode.apply(String, buf.slice(i, i + CHUNKSIZE));\n      }\n      return result;\n    }\n    function str2buf(s) {\n      var result = [];\n      for (var i = 0; i < s.length; i++) {\n        result[i] = s.charCodeAt(i);\n      }\n      return result;\n    }\n    function isA(elt, set) {\n      if (typeof set === \"string\") {\n        return elt.namespaceURI === NAMESPACE.HTML && elt.localName === set;\n      }\n      var tagnames = set[elt.namespaceURI];\n      return tagnames && tagnames[elt.localName];\n    }\n    function isMathmlTextIntegrationPoint(n) {\n      return isA(n, mathmlTextIntegrationPointSet);\n    }\n    function isHTMLIntegrationPoint(n) {\n      if (isA(n, htmlIntegrationPointSet)) return true;\n      if (n.namespaceURI === NAMESPACE.MATHML && n.localName === \"annotation-xml\") {\n        var encoding = n.getAttribute(\"encoding\");\n        if (encoding) encoding = encoding.toLowerCase();\n        if (encoding === \"text/html\" || encoding === \"application/xhtml+xml\") return true;\n      }\n      return false;\n    }\n    function adjustSVGTagName(name) {\n      if (name in svgTagNameAdjustments) return svgTagNameAdjustments[name];else return name;\n    }\n    function adjustSVGAttributes(attrs) {\n      for (var i = 0, n = attrs.length; i < n; i++) {\n        if (attrs[i][0] in svgAttrAdjustments) {\n          attrs[i][0] = svgAttrAdjustments[attrs[i][0]];\n        }\n      }\n    }\n    function adjustMathMLAttributes(attrs) {\n      for (var i = 0, n = attrs.length; i < n; i++) {\n        if (attrs[i][0] === \"definitionurl\") {\n          attrs[i][0] = \"definitionURL\";\n          break;\n        }\n      }\n    }\n    function adjustForeignAttributes(attrs) {\n      for (var i = 0, n = attrs.length; i < n; i++) {\n        if (attrs[i][0] in foreignAttributes) {\n          attrs[i].push(foreignAttributes[attrs[i][0]]);\n        }\n      }\n    }\n    function transferAttributes(attrs, elt) {\n      for (var i = 0, n = attrs.length; i < n; i++) {\n        var name = attrs[i][0],\n          value = attrs[i][1];\n        if (elt.hasAttribute(name)) continue;\n        elt._setAttribute(name, value);\n      }\n    }\n    HTMLParser.ElementStack = function ElementStack() {\n      this.elements = [];\n      this.top = null;\n    };\n    HTMLParser.ElementStack.prototype.push = function (e) {\n      this.elements.push(e);\n      this.top = e;\n    };\n    HTMLParser.ElementStack.prototype.pop = function (e) {\n      this.elements.pop();\n      this.top = this.elements[this.elements.length - 1];\n    };\n    HTMLParser.ElementStack.prototype.popTag = function (tag) {\n      for (var i = this.elements.length - 1; i > 0; i--) {\n        var e = this.elements[i];\n        if (isA(e, tag)) break;\n      }\n      this.elements.length = i;\n      this.top = this.elements[i - 1];\n    };\n    HTMLParser.ElementStack.prototype.popElementType = function (type) {\n      for (var i = this.elements.length - 1; i > 0; i--) {\n        if (this.elements[i] instanceof type) break;\n      }\n      this.elements.length = i;\n      this.top = this.elements[i - 1];\n    };\n    HTMLParser.ElementStack.prototype.popElement = function (e) {\n      for (var i = this.elements.length - 1; i > 0; i--) {\n        if (this.elements[i] === e) break;\n      }\n      this.elements.length = i;\n      this.top = this.elements[i - 1];\n    };\n    HTMLParser.ElementStack.prototype.removeElement = function (e) {\n      if (this.top === e) this.pop();else {\n        var idx = this.elements.lastIndexOf(e);\n        if (idx !== -1) this.elements.splice(idx, 1);\n      }\n    };\n    HTMLParser.ElementStack.prototype.clearToContext = function (set) {\n      for (var i = this.elements.length - 1; i > 0; i--) {\n        if (isA(this.elements[i], set)) break;\n      }\n      this.elements.length = i + 1;\n      this.top = this.elements[i];\n    };\n    HTMLParser.ElementStack.prototype.contains = function (tag) {\n      return this.inSpecificScope(tag, /* @__PURE__ */Object.create(null));\n    };\n    HTMLParser.ElementStack.prototype.inSpecificScope = function (tag, set) {\n      for (var i = this.elements.length - 1; i >= 0; i--) {\n        var elt = this.elements[i];\n        if (isA(elt, tag)) return true;\n        if (isA(elt, set)) return false;\n      }\n      return false;\n    };\n    HTMLParser.ElementStack.prototype.elementInSpecificScope = function (target, set) {\n      for (var i = this.elements.length - 1; i >= 0; i--) {\n        var elt = this.elements[i];\n        if (elt === target) return true;\n        if (isA(elt, set)) return false;\n      }\n      return false;\n    };\n    HTMLParser.ElementStack.prototype.elementTypeInSpecificScope = function (target, set) {\n      for (var i = this.elements.length - 1; i >= 0; i--) {\n        var elt = this.elements[i];\n        if (elt instanceof target) return true;\n        if (isA(elt, set)) return false;\n      }\n      return false;\n    };\n    HTMLParser.ElementStack.prototype.inScope = function (tag) {\n      return this.inSpecificScope(tag, inScopeSet);\n    };\n    HTMLParser.ElementStack.prototype.elementInScope = function (e) {\n      return this.elementInSpecificScope(e, inScopeSet);\n    };\n    HTMLParser.ElementStack.prototype.elementTypeInScope = function (type) {\n      return this.elementTypeInSpecificScope(type, inScopeSet);\n    };\n    HTMLParser.ElementStack.prototype.inButtonScope = function (tag) {\n      return this.inSpecificScope(tag, inButtonScopeSet);\n    };\n    HTMLParser.ElementStack.prototype.inListItemScope = function (tag) {\n      return this.inSpecificScope(tag, inListItemScopeSet);\n    };\n    HTMLParser.ElementStack.prototype.inTableScope = function (tag) {\n      return this.inSpecificScope(tag, inTableScopeSet);\n    };\n    HTMLParser.ElementStack.prototype.inSelectScope = function (tag) {\n      for (var i = this.elements.length - 1; i >= 0; i--) {\n        var elt = this.elements[i];\n        if (elt.namespaceURI !== NAMESPACE.HTML) return false;\n        var localname = elt.localName;\n        if (localname === tag) return true;\n        if (localname !== \"optgroup\" && localname !== \"option\") return false;\n      }\n      return false;\n    };\n    HTMLParser.ElementStack.prototype.generateImpliedEndTags = function (butnot, thorough) {\n      var endTagSet = thorough ? thoroughImpliedEndTagsSet : impliedEndTagsSet;\n      for (var i = this.elements.length - 1; i >= 0; i--) {\n        var e = this.elements[i];\n        if (butnot && isA(e, butnot)) break;\n        if (!isA(this.elements[i], endTagSet)) break;\n      }\n      this.elements.length = i + 1;\n      this.top = this.elements[i];\n    };\n    HTMLParser.ActiveFormattingElements = function AFE() {\n      this.list = [];\n      this.attrs = [];\n    };\n    HTMLParser.ActiveFormattingElements.prototype.MARKER = {\n      localName: \"|\"\n    };\n    HTMLParser.ActiveFormattingElements.prototype.insertMarker = function () {\n      this.list.push(this.MARKER);\n      this.attrs.push(this.MARKER);\n    };\n    HTMLParser.ActiveFormattingElements.prototype.push = function (elt, attrs) {\n      var count = 0;\n      for (var i = this.list.length - 1; i >= 0; i--) {\n        if (this.list[i] === this.MARKER) break;\n        if (equal(elt, this.list[i], this.attrs[i])) {\n          count++;\n          if (count === 3) {\n            this.list.splice(i, 1);\n            this.attrs.splice(i, 1);\n            break;\n          }\n        }\n      }\n      this.list.push(elt);\n      var attrcopy = [];\n      for (var ii = 0; ii < attrs.length; ii++) {\n        attrcopy[ii] = attrs[ii];\n      }\n      this.attrs.push(attrcopy);\n      function equal(newelt, oldelt, oldattrs) {\n        if (newelt.localName !== oldelt.localName) return false;\n        if (newelt._numattrs !== oldattrs.length) return false;\n        for (var i2 = 0, n = oldattrs.length; i2 < n; i2++) {\n          var oldname = oldattrs[i2][0];\n          var oldval = oldattrs[i2][1];\n          if (!newelt.hasAttribute(oldname)) return false;\n          if (newelt.getAttribute(oldname) !== oldval) return false;\n        }\n        return true;\n      }\n    };\n    HTMLParser.ActiveFormattingElements.prototype.clearToMarker = function () {\n      for (var i = this.list.length - 1; i >= 0; i--) {\n        if (this.list[i] === this.MARKER) break;\n      }\n      if (i < 0) i = 0;\n      this.list.length = i;\n      this.attrs.length = i;\n    };\n    HTMLParser.ActiveFormattingElements.prototype.findElementByTag = function (tag) {\n      for (var i = this.list.length - 1; i >= 0; i--) {\n        var elt = this.list[i];\n        if (elt === this.MARKER) break;\n        if (elt.localName === tag) return elt;\n      }\n      return null;\n    };\n    HTMLParser.ActiveFormattingElements.prototype.indexOf = function (e) {\n      return this.list.lastIndexOf(e);\n    };\n    HTMLParser.ActiveFormattingElements.prototype.remove = function (e) {\n      var idx = this.list.lastIndexOf(e);\n      if (idx !== -1) {\n        this.list.splice(idx, 1);\n        this.attrs.splice(idx, 1);\n      }\n    };\n    HTMLParser.ActiveFormattingElements.prototype.replace = function (a, b, attrs) {\n      var idx = this.list.lastIndexOf(a);\n      if (idx !== -1) {\n        this.list[idx] = b;\n        this.attrs[idx] = attrs;\n      }\n    };\n    HTMLParser.ActiveFormattingElements.prototype.insertAfter = function (a, b) {\n      var idx = this.list.lastIndexOf(a);\n      if (idx !== -1) {\n        this.list.splice(idx, 0, b);\n        this.attrs.splice(idx, 0, b);\n      }\n    };\n    function HTMLParser(address, fragmentContext, options) {\n      var chars = null;\n      var numchars = 0;\n      var nextchar = 0;\n      var input_complete = false;\n      var scanner_skip_newline = false;\n      var reentrant_invocations = 0;\n      var saved_scanner_state = [];\n      var leftovers = \"\";\n      var first_batch = true;\n      var paused = 0;\n      var tokenizer = data_state;\n      var return_state;\n      var character_reference_code;\n      var tagnamebuf = \"\";\n      var lasttagname = \"\";\n      var tempbuf = [];\n      var attrnamebuf = \"\";\n      var attrvaluebuf = \"\";\n      var commentbuf = [];\n      var doctypenamebuf = [];\n      var doctypepublicbuf = [];\n      var doctypesystembuf = [];\n      var attributes = [];\n      var is_end_tag = false;\n      var parser = initial_mode;\n      var originalInsertionMode = null;\n      var templateInsertionModes = [];\n      var stack = new HTMLParser.ElementStack();\n      var afe = new HTMLParser.ActiveFormattingElements();\n      var fragment = fragmentContext !== void 0;\n      var head_element_pointer = null;\n      var form_element_pointer = null;\n      var scripting_enabled = true;\n      if (fragmentContext) {\n        scripting_enabled = fragmentContext.ownerDocument._scripting_enabled;\n      }\n      if (options && options.scripting_enabled === false) scripting_enabled = false;\n      var frameset_ok = true;\n      var force_quirks = false;\n      var pending_table_text;\n      var text_integration_mode;\n      var textrun = [];\n      var textIncludesNUL = false;\n      var ignore_linefeed = false;\n      var htmlparser = {\n        document: function () {\n          return doc;\n        },\n        _asDocumentFragment: function () {\n          var frag = doc.createDocumentFragment();\n          var root2 = doc.firstChild;\n          while (root2.hasChildNodes()) {\n            frag.appendChild(root2.firstChild);\n          }\n          return frag;\n        },\n        pause: function () {\n          paused++;\n        },\n        resume: function () {\n          paused--;\n          this.parse(\"\");\n        },\n        parse: function (s, end, shouldPauseFunc) {\n          var moreToDo;\n          if (paused > 0) {\n            leftovers += s;\n            return true;\n          }\n          if (reentrant_invocations === 0) {\n            if (leftovers) {\n              s = leftovers + s;\n              leftovers = \"\";\n            }\n            if (end) {\n              s += \"\\uFFFF\";\n              input_complete = true;\n            }\n            chars = s;\n            numchars = s.length;\n            nextchar = 0;\n            if (first_batch) {\n              first_batch = false;\n              if (chars.charCodeAt(0) === 65279) nextchar = 1;\n            }\n            reentrant_invocations++;\n            moreToDo = scanChars(shouldPauseFunc);\n            leftovers = chars.substring(nextchar, numchars);\n            reentrant_invocations--;\n          } else {\n            reentrant_invocations++;\n            saved_scanner_state.push(chars, numchars, nextchar);\n            chars = s;\n            numchars = s.length;\n            nextchar = 0;\n            scanChars();\n            moreToDo = false;\n            leftovers = chars.substring(nextchar, numchars);\n            nextchar = saved_scanner_state.pop();\n            numchars = saved_scanner_state.pop();\n            chars = saved_scanner_state.pop();\n            if (leftovers) {\n              chars = leftovers + chars.substring(nextchar);\n              numchars = chars.length;\n              nextchar = 0;\n              leftovers = \"\";\n            }\n            reentrant_invocations--;\n          }\n          return moreToDo;\n        }\n      };\n      var doc = new Document(true, address);\n      doc._parser = htmlparser;\n      doc._scripting_enabled = scripting_enabled;\n      if (fragmentContext) {\n        if (fragmentContext.ownerDocument._quirks) doc._quirks = true;\n        if (fragmentContext.ownerDocument._limitedQuirks) doc._limitedQuirks = true;\n        if (fragmentContext.namespaceURI === NAMESPACE.HTML) {\n          switch (fragmentContext.localName) {\n            case \"title\":\n            case \"textarea\":\n              tokenizer = rcdata_state;\n              break;\n            case \"style\":\n            case \"xmp\":\n            case \"iframe\":\n            case \"noembed\":\n            case \"noframes\":\n            case \"script\":\n            case \"plaintext\":\n              tokenizer = plaintext_state;\n              break;\n          }\n        }\n        var root = doc.createElement(\"html\");\n        doc._appendChild(root);\n        stack.push(root);\n        if (fragmentContext instanceof impl.HTMLTemplateElement) {\n          templateInsertionModes.push(in_template_mode);\n        }\n        resetInsertionMode();\n        for (var e = fragmentContext; e !== null; e = e.parentElement) {\n          if (e instanceof impl.HTMLFormElement) {\n            form_element_pointer = e;\n            break;\n          }\n        }\n      }\n      function scanChars(shouldPauseFunc) {\n        var codepoint, s, pattern, eof;\n        while (nextchar < numchars) {\n          if (paused > 0 || shouldPauseFunc && shouldPauseFunc()) {\n            return true;\n          }\n          switch (typeof tokenizer.lookahead) {\n            case \"undefined\":\n              codepoint = chars.charCodeAt(nextchar++);\n              if (scanner_skip_newline) {\n                scanner_skip_newline = false;\n                if (codepoint === 10) {\n                  nextchar++;\n                  continue;\n                }\n              }\n              switch (codepoint) {\n                case 13:\n                  if (nextchar < numchars) {\n                    if (chars.charCodeAt(nextchar) === 10) nextchar++;\n                  } else {\n                    scanner_skip_newline = true;\n                  }\n                  tokenizer(10);\n                  break;\n                case 65535:\n                  if (input_complete && nextchar === numchars) {\n                    tokenizer(EOF);\n                    break;\n                  }\n                default:\n                  tokenizer(codepoint);\n                  break;\n              }\n              break;\n            case \"number\":\n              codepoint = chars.charCodeAt(nextchar);\n              var n = tokenizer.lookahead;\n              var needsString = true;\n              if (n < 0) {\n                needsString = false;\n                n = -n;\n              }\n              if (n < numchars - nextchar) {\n                s = needsString ? chars.substring(nextchar, nextchar + n) : null;\n                eof = false;\n              } else {\n                if (input_complete) {\n                  s = needsString ? chars.substring(nextchar, numchars) : null;\n                  eof = true;\n                  if (codepoint === 65535 && nextchar === numchars - 1) codepoint = EOF;\n                } else {\n                  return true;\n                }\n              }\n              tokenizer(codepoint, s, eof);\n              break;\n            case \"string\":\n              codepoint = chars.charCodeAt(nextchar);\n              pattern = tokenizer.lookahead;\n              var pos = chars.indexOf(pattern, nextchar);\n              if (pos !== -1) {\n                s = chars.substring(nextchar, pos + pattern.length);\n                eof = false;\n              } else {\n                if (!input_complete) return true;\n                s = chars.substring(nextchar, numchars);\n                if (codepoint === 65535 && nextchar === numchars - 1) codepoint = EOF;\n                eof = true;\n              }\n              tokenizer(codepoint, s, eof);\n              break;\n          }\n        }\n        return false;\n      }\n      function addAttribute(name, value) {\n        for (var i = 0; i < attributes.length; i++) {\n          if (attributes[i][0] === name) return;\n        }\n        if (value !== void 0) {\n          attributes.push([name, value]);\n        } else {\n          attributes.push([name]);\n        }\n      }\n      function handleSimpleAttribute() {\n        SIMPLEATTR.lastIndex = nextchar - 1;\n        var matched = SIMPLEATTR.exec(chars);\n        if (!matched) throw new Error(\"should never happen\");\n        var name = matched[1];\n        if (!name) return false;\n        var value = matched[2];\n        var len = value.length;\n        switch (value[0]) {\n          case '\"':\n          case \"'\":\n            value = value.substring(1, len - 1);\n            nextchar += matched[0].length - 1;\n            tokenizer = after_attribute_value_quoted_state;\n            break;\n          default:\n            tokenizer = before_attribute_name_state;\n            nextchar += matched[0].length - 1;\n            value = value.substring(0, len - 1);\n            break;\n        }\n        for (var i = 0; i < attributes.length; i++) {\n          if (attributes[i][0] === name) return true;\n        }\n        attributes.push([name, value]);\n        return true;\n      }\n      function beginTagName() {\n        is_end_tag = false;\n        tagnamebuf = \"\";\n        attributes.length = 0;\n      }\n      function beginEndTagName() {\n        is_end_tag = true;\n        tagnamebuf = \"\";\n        attributes.length = 0;\n      }\n      function beginTempBuf() {\n        tempbuf.length = 0;\n      }\n      function beginAttrName() {\n        attrnamebuf = \"\";\n      }\n      function beginAttrValue() {\n        attrvaluebuf = \"\";\n      }\n      function beginComment() {\n        commentbuf.length = 0;\n      }\n      function beginDoctype() {\n        doctypenamebuf.length = 0;\n        doctypepublicbuf = null;\n        doctypesystembuf = null;\n      }\n      function beginDoctypePublicId() {\n        doctypepublicbuf = [];\n      }\n      function beginDoctypeSystemId() {\n        doctypesystembuf = [];\n      }\n      function forcequirks() {\n        force_quirks = true;\n      }\n      function cdataAllowed() {\n        return stack.top && stack.top.namespaceURI !== \"http://www.w3.org/1999/xhtml\";\n      }\n      function appropriateEndTag(buf) {\n        return lasttagname === buf;\n      }\n      function flushText() {\n        if (textrun.length > 0) {\n          var s = buf2str(textrun);\n          textrun.length = 0;\n          if (ignore_linefeed) {\n            ignore_linefeed = false;\n            if (s[0] === \"\\n\") s = s.substring(1);\n            if (s.length === 0) return;\n          }\n          insertToken(TEXT, s);\n          textIncludesNUL = false;\n        }\n        ignore_linefeed = false;\n      }\n      function getMatchingChars(pattern) {\n        pattern.lastIndex = nextchar - 1;\n        var match = pattern.exec(chars);\n        if (match && match.index === nextchar - 1) {\n          match = match[0];\n          nextchar += match.length - 1;\n          if (input_complete && nextchar === numchars) {\n            match = match.slice(0, -1);\n            nextchar--;\n          }\n          return match;\n        } else {\n          throw new Error(\"should never happen\");\n        }\n      }\n      function emitCharsWhile(pattern) {\n        pattern.lastIndex = nextchar - 1;\n        var match = pattern.exec(chars)[0];\n        if (!match) return false;\n        emitCharString(match);\n        nextchar += match.length - 1;\n        return true;\n      }\n      function emitCharString(s) {\n        if (textrun.length > 0) flushText();\n        if (ignore_linefeed) {\n          ignore_linefeed = false;\n          if (s[0] === \"\\n\") s = s.substring(1);\n          if (s.length === 0) return;\n        }\n        insertToken(TEXT, s);\n      }\n      function emitTag() {\n        if (is_end_tag) insertToken(ENDTAG, tagnamebuf);else {\n          var tagname = tagnamebuf;\n          tagnamebuf = \"\";\n          lasttagname = tagname;\n          insertToken(TAG, tagname, attributes);\n        }\n      }\n      function emitSimpleTag() {\n        if (nextchar === numchars) {\n          return false;\n        }\n        SIMPLETAG.lastIndex = nextchar;\n        var matched = SIMPLETAG.exec(chars);\n        if (!matched) throw new Error(\"should never happen\");\n        var tagname = matched[2];\n        if (!tagname) return false;\n        var endtag = matched[1];\n        if (endtag) {\n          nextchar += tagname.length + 2;\n          insertToken(ENDTAG, tagname);\n        } else {\n          nextchar += tagname.length + 1;\n          lasttagname = tagname;\n          insertToken(TAG, tagname, NOATTRS);\n        }\n        return true;\n      }\n      function emitSelfClosingTag() {\n        if (is_end_tag) insertToken(ENDTAG, tagnamebuf, null, true);else {\n          insertToken(TAG, tagnamebuf, attributes, true);\n        }\n      }\n      function emitDoctype() {\n        insertToken(DOCTYPE, buf2str(doctypenamebuf), doctypepublicbuf ? buf2str(doctypepublicbuf) : void 0, doctypesystembuf ? buf2str(doctypesystembuf) : void 0);\n      }\n      function emitEOF() {\n        flushText();\n        parser(EOF);\n        doc.modclock = 1;\n      }\n      var insertToken = htmlparser.insertToken = function insertToken2(t, value, arg3, arg4) {\n        flushText();\n        var current = stack.top;\n        if (!current || current.namespaceURI === NAMESPACE.HTML) {\n          parser(t, value, arg3, arg4);\n        } else {\n          if (t !== TAG && t !== TEXT) {\n            insertForeignToken(t, value, arg3, arg4);\n          } else {\n            if (isMathmlTextIntegrationPoint(current) && (t === TEXT || t === TAG && value !== \"mglyph\" && value !== \"malignmark\") || t === TAG && value === \"svg\" && current.namespaceURI === NAMESPACE.MATHML && current.localName === \"annotation-xml\" || isHTMLIntegrationPoint(current)) {\n              text_integration_mode = true;\n              parser(t, value, arg3, arg4);\n              text_integration_mode = false;\n            } else {\n              insertForeignToken(t, value, arg3, arg4);\n            }\n          }\n        }\n      };\n      function insertComment(data) {\n        var parent = stack.top;\n        if (foster_parent_mode && isA(parent, tablesectionrowSet)) {\n          fosterParent(function (doc2) {\n            return doc2.createComment(data);\n          });\n        } else {\n          if (parent instanceof impl.HTMLTemplateElement) {\n            parent = parent.content;\n          }\n          parent._appendChild(parent.ownerDocument.createComment(data));\n        }\n      }\n      function insertText(s) {\n        var parent = stack.top;\n        if (foster_parent_mode && isA(parent, tablesectionrowSet)) {\n          fosterParent(function (doc2) {\n            return doc2.createTextNode(s);\n          });\n        } else {\n          if (parent instanceof impl.HTMLTemplateElement) {\n            parent = parent.content;\n          }\n          var lastChild = parent.lastChild;\n          if (lastChild && lastChild.nodeType === Node.TEXT_NODE) {\n            lastChild.appendData(s);\n          } else {\n            parent._appendChild(parent.ownerDocument.createTextNode(s));\n          }\n        }\n      }\n      function createHTMLElt(doc2, name, attrs) {\n        var elt = html.createElement(doc2, name, null);\n        if (attrs) {\n          for (var i = 0, n = attrs.length; i < n; i++) {\n            elt._setAttribute(attrs[i][0], attrs[i][1]);\n          }\n        }\n        return elt;\n      }\n      var foster_parent_mode = false;\n      function insertHTMLElement(name, attrs) {\n        var elt = insertElement(function (doc2) {\n          return createHTMLElt(doc2, name, attrs);\n        });\n        if (isA(elt, formassociatedSet)) {\n          elt._form = form_element_pointer;\n        }\n        return elt;\n      }\n      function insertElement(eltFunc) {\n        var elt;\n        if (foster_parent_mode && isA(stack.top, tablesectionrowSet)) {\n          elt = fosterParent(eltFunc);\n        } else if (stack.top instanceof impl.HTMLTemplateElement) {\n          elt = eltFunc(stack.top.content.ownerDocument);\n          stack.top.content._appendChild(elt);\n        } else {\n          elt = eltFunc(stack.top.ownerDocument);\n          stack.top._appendChild(elt);\n        }\n        stack.push(elt);\n        return elt;\n      }\n      function insertForeignElement(name, attrs, ns) {\n        return insertElement(function (doc2) {\n          var elt = doc2._createElementNS(name, ns, null);\n          if (attrs) {\n            for (var i = 0, n = attrs.length; i < n; i++) {\n              var attr = attrs[i];\n              if (attr.length === 2) elt._setAttribute(attr[0], attr[1]);else {\n                elt._setAttributeNS(attr[2], attr[0], attr[1]);\n              }\n            }\n          }\n          return elt;\n        });\n      }\n      function lastElementOfType(type) {\n        for (var i = stack.elements.length - 1; i >= 0; i--) {\n          if (stack.elements[i] instanceof type) {\n            return i;\n          }\n        }\n        return -1;\n      }\n      function fosterParent(eltFunc) {\n        var parent,\n          before,\n          lastTable = -1,\n          lastTemplate = -1,\n          elt;\n        lastTable = lastElementOfType(impl.HTMLTableElement);\n        lastTemplate = lastElementOfType(impl.HTMLTemplateElement);\n        if (lastTemplate >= 0 && (lastTable < 0 || lastTemplate > lastTable)) {\n          parent = stack.elements[lastTemplate];\n        } else if (lastTable >= 0) {\n          parent = stack.elements[lastTable].parentNode;\n          if (parent) {\n            before = stack.elements[lastTable];\n          } else {\n            parent = stack.elements[lastTable - 1];\n          }\n        }\n        if (!parent) parent = stack.elements[0];\n        if (parent instanceof impl.HTMLTemplateElement) {\n          parent = parent.content;\n        }\n        elt = eltFunc(parent.ownerDocument);\n        if (elt.nodeType === Node.TEXT_NODE) {\n          var prev;\n          if (before) prev = before.previousSibling;else prev = parent.lastChild;\n          if (prev && prev.nodeType === Node.TEXT_NODE) {\n            prev.appendData(elt.data);\n            return elt;\n          }\n        }\n        if (before) parent.insertBefore(elt, before);else parent._appendChild(elt);\n        return elt;\n      }\n      function resetInsertionMode() {\n        var last = false;\n        for (var i = stack.elements.length - 1; i >= 0; i--) {\n          var node = stack.elements[i];\n          if (i === 0) {\n            last = true;\n            if (fragment) {\n              node = fragmentContext;\n            }\n          }\n          if (node.namespaceURI === NAMESPACE.HTML) {\n            var tag = node.localName;\n            switch (tag) {\n              case \"select\":\n                for (var j = i; j > 0;) {\n                  var ancestor = stack.elements[--j];\n                  if (ancestor instanceof impl.HTMLTemplateElement) {\n                    break;\n                  } else if (ancestor instanceof impl.HTMLTableElement) {\n                    parser = in_select_in_table_mode;\n                    return;\n                  }\n                }\n                parser = in_select_mode;\n                return;\n              case \"tr\":\n                parser = in_row_mode;\n                return;\n              case \"tbody\":\n              case \"tfoot\":\n              case \"thead\":\n                parser = in_table_body_mode;\n                return;\n              case \"caption\":\n                parser = in_caption_mode;\n                return;\n              case \"colgroup\":\n                parser = in_column_group_mode;\n                return;\n              case \"table\":\n                parser = in_table_mode;\n                return;\n              case \"template\":\n                parser = templateInsertionModes[templateInsertionModes.length - 1];\n                return;\n              case \"body\":\n                parser = in_body_mode;\n                return;\n              case \"frameset\":\n                parser = in_frameset_mode;\n                return;\n              case \"html\":\n                if (head_element_pointer === null) {\n                  parser = before_head_mode;\n                } else {\n                  parser = after_head_mode;\n                }\n                return;\n              default:\n                if (!last) {\n                  if (tag === \"head\") {\n                    parser = in_head_mode;\n                    return;\n                  }\n                  if (tag === \"td\" || tag === \"th\") {\n                    parser = in_cell_mode;\n                    return;\n                  }\n                }\n            }\n          }\n          if (last) {\n            parser = in_body_mode;\n            return;\n          }\n        }\n      }\n      function parseRawText(name, attrs) {\n        insertHTMLElement(name, attrs);\n        tokenizer = rawtext_state;\n        originalInsertionMode = parser;\n        parser = text_mode;\n      }\n      function parseRCDATA(name, attrs) {\n        insertHTMLElement(name, attrs);\n        tokenizer = rcdata_state;\n        originalInsertionMode = parser;\n        parser = text_mode;\n      }\n      function afeclone(doc2, i) {\n        return {\n          elt: createHTMLElt(doc2, afe.list[i].localName, afe.attrs[i]),\n          attrs: afe.attrs[i]\n        };\n      }\n      function afereconstruct() {\n        if (afe.list.length === 0) return;\n        var entry = afe.list[afe.list.length - 1];\n        if (entry === afe.MARKER) return;\n        if (stack.elements.lastIndexOf(entry) !== -1) return;\n        for (var i = afe.list.length - 2; i >= 0; i--) {\n          entry = afe.list[i];\n          if (entry === afe.MARKER) break;\n          if (stack.elements.lastIndexOf(entry) !== -1) break;\n        }\n        for (i = i + 1; i < afe.list.length; i++) {\n          var newelt = insertElement(function (doc2) {\n            return afeclone(doc2, i).elt;\n          });\n          afe.list[i] = newelt;\n        }\n      }\n      var BOOKMARK = {\n        localName: \"BM\"\n      };\n      function adoptionAgency(tag) {\n        if (isA(stack.top, tag) && afe.indexOf(stack.top) === -1) {\n          stack.pop();\n          return true;\n        }\n        var outer = 0;\n        while (outer < 8) {\n          outer++;\n          var fmtelt = afe.findElementByTag(tag);\n          if (!fmtelt) {\n            return false;\n          }\n          var index = stack.elements.lastIndexOf(fmtelt);\n          if (index === -1) {\n            afe.remove(fmtelt);\n            return true;\n          }\n          if (!stack.elementInScope(fmtelt)) {\n            return true;\n          }\n          var furthestblock = null,\n            furthestblockindex;\n          for (var i = index + 1; i < stack.elements.length; i++) {\n            if (isA(stack.elements[i], specialSet)) {\n              furthestblock = stack.elements[i];\n              furthestblockindex = i;\n              break;\n            }\n          }\n          if (!furthestblock) {\n            stack.popElement(fmtelt);\n            afe.remove(fmtelt);\n            return true;\n          } else {\n            var ancestor = stack.elements[index - 1];\n            afe.insertAfter(fmtelt, BOOKMARK);\n            var node = furthestblock;\n            var lastnode = furthestblock;\n            var nodeindex = furthestblockindex;\n            var nodeafeindex;\n            var inner = 0;\n            while (true) {\n              inner++;\n              node = stack.elements[--nodeindex];\n              if (node === fmtelt) break;\n              nodeafeindex = afe.indexOf(node);\n              if (inner > 3 && nodeafeindex !== -1) {\n                afe.remove(node);\n                nodeafeindex = -1;\n              }\n              if (nodeafeindex === -1) {\n                stack.removeElement(node);\n                continue;\n              }\n              var newelt = afeclone(ancestor.ownerDocument, nodeafeindex);\n              afe.replace(node, newelt.elt, newelt.attrs);\n              stack.elements[nodeindex] = newelt.elt;\n              node = newelt.elt;\n              if (lastnode === furthestblock) {\n                afe.remove(BOOKMARK);\n                afe.insertAfter(newelt.elt, BOOKMARK);\n              }\n              node._appendChild(lastnode);\n              lastnode = node;\n            }\n            if (foster_parent_mode && isA(ancestor, tablesectionrowSet)) {\n              fosterParent(function () {\n                return lastnode;\n              });\n            } else if (ancestor instanceof impl.HTMLTemplateElement) {\n              ancestor.content._appendChild(lastnode);\n            } else {\n              ancestor._appendChild(lastnode);\n            }\n            var newelt2 = afeclone(furthestblock.ownerDocument, afe.indexOf(fmtelt));\n            while (furthestblock.hasChildNodes()) {\n              newelt2.elt._appendChild(furthestblock.firstChild);\n            }\n            furthestblock._appendChild(newelt2.elt);\n            afe.remove(fmtelt);\n            afe.replace(BOOKMARK, newelt2.elt, newelt2.attrs);\n            stack.removeElement(fmtelt);\n            var pos = stack.elements.lastIndexOf(furthestblock);\n            stack.elements.splice(pos + 1, 0, newelt2.elt);\n          }\n        }\n        return true;\n      }\n      function handleScriptEnd() {\n        stack.pop();\n        parser = originalInsertionMode;\n        return;\n      }\n      function stopParsing() {\n        delete doc._parser;\n        stack.elements.length = 0;\n        if (doc.defaultView) {\n          doc.defaultView.dispatchEvent(new impl.Event(\"load\", {}));\n        }\n      }\n      function reconsume(c, new_state) {\n        tokenizer = new_state;\n        nextchar--;\n      }\n      function data_state(c) {\n        switch (c) {\n          case 38:\n            return_state = data_state;\n            tokenizer = character_reference_state;\n            break;\n          case 60:\n            if (emitSimpleTag()) break;\n            tokenizer = tag_open_state;\n            break;\n          case 0:\n            textrun.push(c);\n            textIncludesNUL = true;\n            break;\n          case -1:\n            emitEOF();\n            break;\n          default:\n            emitCharsWhile(DATATEXT) || textrun.push(c);\n            break;\n        }\n      }\n      function rcdata_state(c) {\n        switch (c) {\n          case 38:\n            return_state = rcdata_state;\n            tokenizer = character_reference_state;\n            break;\n          case 60:\n            tokenizer = rcdata_less_than_sign_state;\n            break;\n          case 0:\n            textrun.push(65533);\n            textIncludesNUL = true;\n            break;\n          case -1:\n            emitEOF();\n            break;\n          default:\n            textrun.push(c);\n            break;\n        }\n      }\n      function rawtext_state(c) {\n        switch (c) {\n          case 60:\n            tokenizer = rawtext_less_than_sign_state;\n            break;\n          case 0:\n            textrun.push(65533);\n            break;\n          case -1:\n            emitEOF();\n            break;\n          default:\n            emitCharsWhile(RAWTEXT) || textrun.push(c);\n            break;\n        }\n      }\n      function script_data_state(c) {\n        switch (c) {\n          case 60:\n            tokenizer = script_data_less_than_sign_state;\n            break;\n          case 0:\n            textrun.push(65533);\n            break;\n          case -1:\n            emitEOF();\n            break;\n          default:\n            emitCharsWhile(RAWTEXT) || textrun.push(c);\n            break;\n        }\n      }\n      function plaintext_state(c) {\n        switch (c) {\n          case 0:\n            textrun.push(65533);\n            break;\n          case -1:\n            emitEOF();\n            break;\n          default:\n            emitCharsWhile(PLAINTEXT) || textrun.push(c);\n            break;\n        }\n      }\n      function tag_open_state(c) {\n        switch (c) {\n          case 33:\n            tokenizer = markup_declaration_open_state;\n            break;\n          case 47:\n            tokenizer = end_tag_open_state;\n            break;\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n          case 97:\n          case 98:\n          case 99:\n          case 100:\n          case 101:\n          case 102:\n          case 103:\n          case 104:\n          case 105:\n          case 106:\n          case 107:\n          case 108:\n          case 109:\n          case 110:\n          case 111:\n          case 112:\n          case 113:\n          case 114:\n          case 115:\n          case 116:\n          case 117:\n          case 118:\n          case 119:\n          case 120:\n          case 121:\n          case 122:\n            beginTagName();\n            reconsume(c, tag_name_state);\n            break;\n          case 63:\n            reconsume(c, bogus_comment_state);\n            break;\n          default:\n            textrun.push(60);\n            reconsume(c, data_state);\n            break;\n        }\n      }\n      function end_tag_open_state(c) {\n        switch (c) {\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n          case 97:\n          case 98:\n          case 99:\n          case 100:\n          case 101:\n          case 102:\n          case 103:\n          case 104:\n          case 105:\n          case 106:\n          case 107:\n          case 108:\n          case 109:\n          case 110:\n          case 111:\n          case 112:\n          case 113:\n          case 114:\n          case 115:\n          case 116:\n          case 117:\n          case 118:\n          case 119:\n          case 120:\n          case 121:\n          case 122:\n            beginEndTagName();\n            reconsume(c, tag_name_state);\n            break;\n          case 62:\n            tokenizer = data_state;\n            break;\n          case -1:\n            textrun.push(60);\n            textrun.push(47);\n            emitEOF();\n            break;\n          default:\n            reconsume(c, bogus_comment_state);\n            break;\n        }\n      }\n      function tag_name_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            tokenizer = before_attribute_name_state;\n            break;\n          case 47:\n            tokenizer = self_closing_start_tag_state;\n            break;\n          case 62:\n            tokenizer = data_state;\n            emitTag();\n            break;\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n            tagnamebuf += String.fromCharCode(c + 32);\n            break;\n          case 0:\n            tagnamebuf += String.fromCharCode(65533);\n            break;\n          case -1:\n            emitEOF();\n            break;\n          default:\n            tagnamebuf += getMatchingChars(TAGNAME);\n            break;\n        }\n      }\n      function rcdata_less_than_sign_state(c) {\n        if (c === 47) {\n          beginTempBuf();\n          tokenizer = rcdata_end_tag_open_state;\n        } else {\n          textrun.push(60);\n          reconsume(c, rcdata_state);\n        }\n      }\n      function rcdata_end_tag_open_state(c) {\n        switch (c) {\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n          case 97:\n          case 98:\n          case 99:\n          case 100:\n          case 101:\n          case 102:\n          case 103:\n          case 104:\n          case 105:\n          case 106:\n          case 107:\n          case 108:\n          case 109:\n          case 110:\n          case 111:\n          case 112:\n          case 113:\n          case 114:\n          case 115:\n          case 116:\n          case 117:\n          case 118:\n          case 119:\n          case 120:\n          case 121:\n          case 122:\n            beginEndTagName();\n            reconsume(c, rcdata_end_tag_name_state);\n            break;\n          default:\n            textrun.push(60);\n            textrun.push(47);\n            reconsume(c, rcdata_state);\n            break;\n        }\n      }\n      function rcdata_end_tag_name_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            if (appropriateEndTag(tagnamebuf)) {\n              tokenizer = before_attribute_name_state;\n              return;\n            }\n            break;\n          case 47:\n            if (appropriateEndTag(tagnamebuf)) {\n              tokenizer = self_closing_start_tag_state;\n              return;\n            }\n            break;\n          case 62:\n            if (appropriateEndTag(tagnamebuf)) {\n              tokenizer = data_state;\n              emitTag();\n              return;\n            }\n            break;\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n            tagnamebuf += String.fromCharCode(c + 32);\n            tempbuf.push(c);\n            return;\n          case 97:\n          case 98:\n          case 99:\n          case 100:\n          case 101:\n          case 102:\n          case 103:\n          case 104:\n          case 105:\n          case 106:\n          case 107:\n          case 108:\n          case 109:\n          case 110:\n          case 111:\n          case 112:\n          case 113:\n          case 114:\n          case 115:\n          case 116:\n          case 117:\n          case 118:\n          case 119:\n          case 120:\n          case 121:\n          case 122:\n            tagnamebuf += String.fromCharCode(c);\n            tempbuf.push(c);\n            return;\n        }\n        textrun.push(60);\n        textrun.push(47);\n        pushAll(textrun, tempbuf);\n        reconsume(c, rcdata_state);\n      }\n      function rawtext_less_than_sign_state(c) {\n        if (c === 47) {\n          beginTempBuf();\n          tokenizer = rawtext_end_tag_open_state;\n        } else {\n          textrun.push(60);\n          reconsume(c, rawtext_state);\n        }\n      }\n      function rawtext_end_tag_open_state(c) {\n        switch (c) {\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n          case 97:\n          case 98:\n          case 99:\n          case 100:\n          case 101:\n          case 102:\n          case 103:\n          case 104:\n          case 105:\n          case 106:\n          case 107:\n          case 108:\n          case 109:\n          case 110:\n          case 111:\n          case 112:\n          case 113:\n          case 114:\n          case 115:\n          case 116:\n          case 117:\n          case 118:\n          case 119:\n          case 120:\n          case 121:\n          case 122:\n            beginEndTagName();\n            reconsume(c, rawtext_end_tag_name_state);\n            break;\n          default:\n            textrun.push(60);\n            textrun.push(47);\n            reconsume(c, rawtext_state);\n            break;\n        }\n      }\n      function rawtext_end_tag_name_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            if (appropriateEndTag(tagnamebuf)) {\n              tokenizer = before_attribute_name_state;\n              return;\n            }\n            break;\n          case 47:\n            if (appropriateEndTag(tagnamebuf)) {\n              tokenizer = self_closing_start_tag_state;\n              return;\n            }\n            break;\n          case 62:\n            if (appropriateEndTag(tagnamebuf)) {\n              tokenizer = data_state;\n              emitTag();\n              return;\n            }\n            break;\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n            tagnamebuf += String.fromCharCode(c + 32);\n            tempbuf.push(c);\n            return;\n          case 97:\n          case 98:\n          case 99:\n          case 100:\n          case 101:\n          case 102:\n          case 103:\n          case 104:\n          case 105:\n          case 106:\n          case 107:\n          case 108:\n          case 109:\n          case 110:\n          case 111:\n          case 112:\n          case 113:\n          case 114:\n          case 115:\n          case 116:\n          case 117:\n          case 118:\n          case 119:\n          case 120:\n          case 121:\n          case 122:\n            tagnamebuf += String.fromCharCode(c);\n            tempbuf.push(c);\n            return;\n        }\n        textrun.push(60);\n        textrun.push(47);\n        pushAll(textrun, tempbuf);\n        reconsume(c, rawtext_state);\n      }\n      function script_data_less_than_sign_state(c) {\n        switch (c) {\n          case 47:\n            beginTempBuf();\n            tokenizer = script_data_end_tag_open_state;\n            break;\n          case 33:\n            tokenizer = script_data_escape_start_state;\n            textrun.push(60);\n            textrun.push(33);\n            break;\n          default:\n            textrun.push(60);\n            reconsume(c, script_data_state);\n            break;\n        }\n      }\n      function script_data_end_tag_open_state(c) {\n        switch (c) {\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n          case 97:\n          case 98:\n          case 99:\n          case 100:\n          case 101:\n          case 102:\n          case 103:\n          case 104:\n          case 105:\n          case 106:\n          case 107:\n          case 108:\n          case 109:\n          case 110:\n          case 111:\n          case 112:\n          case 113:\n          case 114:\n          case 115:\n          case 116:\n          case 117:\n          case 118:\n          case 119:\n          case 120:\n          case 121:\n          case 122:\n            beginEndTagName();\n            reconsume(c, script_data_end_tag_name_state);\n            break;\n          default:\n            textrun.push(60);\n            textrun.push(47);\n            reconsume(c, script_data_state);\n            break;\n        }\n      }\n      function script_data_end_tag_name_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            if (appropriateEndTag(tagnamebuf)) {\n              tokenizer = before_attribute_name_state;\n              return;\n            }\n            break;\n          case 47:\n            if (appropriateEndTag(tagnamebuf)) {\n              tokenizer = self_closing_start_tag_state;\n              return;\n            }\n            break;\n          case 62:\n            if (appropriateEndTag(tagnamebuf)) {\n              tokenizer = data_state;\n              emitTag();\n              return;\n            }\n            break;\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n            tagnamebuf += String.fromCharCode(c + 32);\n            tempbuf.push(c);\n            return;\n          case 97:\n          case 98:\n          case 99:\n          case 100:\n          case 101:\n          case 102:\n          case 103:\n          case 104:\n          case 105:\n          case 106:\n          case 107:\n          case 108:\n          case 109:\n          case 110:\n          case 111:\n          case 112:\n          case 113:\n          case 114:\n          case 115:\n          case 116:\n          case 117:\n          case 118:\n          case 119:\n          case 120:\n          case 121:\n          case 122:\n            tagnamebuf += String.fromCharCode(c);\n            tempbuf.push(c);\n            return;\n        }\n        textrun.push(60);\n        textrun.push(47);\n        pushAll(textrun, tempbuf);\n        reconsume(c, script_data_state);\n      }\n      function script_data_escape_start_state(c) {\n        if (c === 45) {\n          tokenizer = script_data_escape_start_dash_state;\n          textrun.push(45);\n        } else {\n          reconsume(c, script_data_state);\n        }\n      }\n      function script_data_escape_start_dash_state(c) {\n        if (c === 45) {\n          tokenizer = script_data_escaped_dash_dash_state;\n          textrun.push(45);\n        } else {\n          reconsume(c, script_data_state);\n        }\n      }\n      function script_data_escaped_state(c) {\n        switch (c) {\n          case 45:\n            tokenizer = script_data_escaped_dash_state;\n            textrun.push(45);\n            break;\n          case 60:\n            tokenizer = script_data_escaped_less_than_sign_state;\n            break;\n          case 0:\n            textrun.push(65533);\n            break;\n          case -1:\n            emitEOF();\n            break;\n          default:\n            textrun.push(c);\n            break;\n        }\n      }\n      function script_data_escaped_dash_state(c) {\n        switch (c) {\n          case 45:\n            tokenizer = script_data_escaped_dash_dash_state;\n            textrun.push(45);\n            break;\n          case 60:\n            tokenizer = script_data_escaped_less_than_sign_state;\n            break;\n          case 0:\n            tokenizer = script_data_escaped_state;\n            textrun.push(65533);\n            break;\n          case -1:\n            emitEOF();\n            break;\n          default:\n            tokenizer = script_data_escaped_state;\n            textrun.push(c);\n            break;\n        }\n      }\n      function script_data_escaped_dash_dash_state(c) {\n        switch (c) {\n          case 45:\n            textrun.push(45);\n            break;\n          case 60:\n            tokenizer = script_data_escaped_less_than_sign_state;\n            break;\n          case 62:\n            tokenizer = script_data_state;\n            textrun.push(62);\n            break;\n          case 0:\n            tokenizer = script_data_escaped_state;\n            textrun.push(65533);\n            break;\n          case -1:\n            emitEOF();\n            break;\n          default:\n            tokenizer = script_data_escaped_state;\n            textrun.push(c);\n            break;\n        }\n      }\n      function script_data_escaped_less_than_sign_state(c) {\n        switch (c) {\n          case 47:\n            beginTempBuf();\n            tokenizer = script_data_escaped_end_tag_open_state;\n            break;\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n          case 97:\n          case 98:\n          case 99:\n          case 100:\n          case 101:\n          case 102:\n          case 103:\n          case 104:\n          case 105:\n          case 106:\n          case 107:\n          case 108:\n          case 109:\n          case 110:\n          case 111:\n          case 112:\n          case 113:\n          case 114:\n          case 115:\n          case 116:\n          case 117:\n          case 118:\n          case 119:\n          case 120:\n          case 121:\n          case 122:\n            beginTempBuf();\n            textrun.push(60);\n            reconsume(c, script_data_double_escape_start_state);\n            break;\n          default:\n            textrun.push(60);\n            reconsume(c, script_data_escaped_state);\n            break;\n        }\n      }\n      function script_data_escaped_end_tag_open_state(c) {\n        switch (c) {\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n          case 97:\n          case 98:\n          case 99:\n          case 100:\n          case 101:\n          case 102:\n          case 103:\n          case 104:\n          case 105:\n          case 106:\n          case 107:\n          case 108:\n          case 109:\n          case 110:\n          case 111:\n          case 112:\n          case 113:\n          case 114:\n          case 115:\n          case 116:\n          case 117:\n          case 118:\n          case 119:\n          case 120:\n          case 121:\n          case 122:\n            beginEndTagName();\n            reconsume(c, script_data_escaped_end_tag_name_state);\n            break;\n          default:\n            textrun.push(60);\n            textrun.push(47);\n            reconsume(c, script_data_escaped_state);\n            break;\n        }\n      }\n      function script_data_escaped_end_tag_name_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            if (appropriateEndTag(tagnamebuf)) {\n              tokenizer = before_attribute_name_state;\n              return;\n            }\n            break;\n          case 47:\n            if (appropriateEndTag(tagnamebuf)) {\n              tokenizer = self_closing_start_tag_state;\n              return;\n            }\n            break;\n          case 62:\n            if (appropriateEndTag(tagnamebuf)) {\n              tokenizer = data_state;\n              emitTag();\n              return;\n            }\n            break;\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n            tagnamebuf += String.fromCharCode(c + 32);\n            tempbuf.push(c);\n            return;\n          case 97:\n          case 98:\n          case 99:\n          case 100:\n          case 101:\n          case 102:\n          case 103:\n          case 104:\n          case 105:\n          case 106:\n          case 107:\n          case 108:\n          case 109:\n          case 110:\n          case 111:\n          case 112:\n          case 113:\n          case 114:\n          case 115:\n          case 116:\n          case 117:\n          case 118:\n          case 119:\n          case 120:\n          case 121:\n          case 122:\n            tagnamebuf += String.fromCharCode(c);\n            tempbuf.push(c);\n            return;\n        }\n        textrun.push(60);\n        textrun.push(47);\n        pushAll(textrun, tempbuf);\n        reconsume(c, script_data_escaped_state);\n      }\n      function script_data_double_escape_start_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n          case 47:\n          case 62:\n            if (buf2str(tempbuf) === \"script\") {\n              tokenizer = script_data_double_escaped_state;\n            } else {\n              tokenizer = script_data_escaped_state;\n            }\n            textrun.push(c);\n            break;\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n            tempbuf.push(c + 32);\n            textrun.push(c);\n            break;\n          case 97:\n          case 98:\n          case 99:\n          case 100:\n          case 101:\n          case 102:\n          case 103:\n          case 104:\n          case 105:\n          case 106:\n          case 107:\n          case 108:\n          case 109:\n          case 110:\n          case 111:\n          case 112:\n          case 113:\n          case 114:\n          case 115:\n          case 116:\n          case 117:\n          case 118:\n          case 119:\n          case 120:\n          case 121:\n          case 122:\n            tempbuf.push(c);\n            textrun.push(c);\n            break;\n          default:\n            reconsume(c, script_data_escaped_state);\n            break;\n        }\n      }\n      function script_data_double_escaped_state(c) {\n        switch (c) {\n          case 45:\n            tokenizer = script_data_double_escaped_dash_state;\n            textrun.push(45);\n            break;\n          case 60:\n            tokenizer = script_data_double_escaped_less_than_sign_state;\n            textrun.push(60);\n            break;\n          case 0:\n            textrun.push(65533);\n            break;\n          case -1:\n            emitEOF();\n            break;\n          default:\n            textrun.push(c);\n            break;\n        }\n      }\n      function script_data_double_escaped_dash_state(c) {\n        switch (c) {\n          case 45:\n            tokenizer = script_data_double_escaped_dash_dash_state;\n            textrun.push(45);\n            break;\n          case 60:\n            tokenizer = script_data_double_escaped_less_than_sign_state;\n            textrun.push(60);\n            break;\n          case 0:\n            tokenizer = script_data_double_escaped_state;\n            textrun.push(65533);\n            break;\n          case -1:\n            emitEOF();\n            break;\n          default:\n            tokenizer = script_data_double_escaped_state;\n            textrun.push(c);\n            break;\n        }\n      }\n      function script_data_double_escaped_dash_dash_state(c) {\n        switch (c) {\n          case 45:\n            textrun.push(45);\n            break;\n          case 60:\n            tokenizer = script_data_double_escaped_less_than_sign_state;\n            textrun.push(60);\n            break;\n          case 62:\n            tokenizer = script_data_state;\n            textrun.push(62);\n            break;\n          case 0:\n            tokenizer = script_data_double_escaped_state;\n            textrun.push(65533);\n            break;\n          case -1:\n            emitEOF();\n            break;\n          default:\n            tokenizer = script_data_double_escaped_state;\n            textrun.push(c);\n            break;\n        }\n      }\n      function script_data_double_escaped_less_than_sign_state(c) {\n        if (c === 47) {\n          beginTempBuf();\n          tokenizer = script_data_double_escape_end_state;\n          textrun.push(47);\n        } else {\n          reconsume(c, script_data_double_escaped_state);\n        }\n      }\n      function script_data_double_escape_end_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n          case 47:\n          case 62:\n            if (buf2str(tempbuf) === \"script\") {\n              tokenizer = script_data_escaped_state;\n            } else {\n              tokenizer = script_data_double_escaped_state;\n            }\n            textrun.push(c);\n            break;\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n            tempbuf.push(c + 32);\n            textrun.push(c);\n            break;\n          case 97:\n          case 98:\n          case 99:\n          case 100:\n          case 101:\n          case 102:\n          case 103:\n          case 104:\n          case 105:\n          case 106:\n          case 107:\n          case 108:\n          case 109:\n          case 110:\n          case 111:\n          case 112:\n          case 113:\n          case 114:\n          case 115:\n          case 116:\n          case 117:\n          case 118:\n          case 119:\n          case 120:\n          case 121:\n          case 122:\n            tempbuf.push(c);\n            textrun.push(c);\n            break;\n          default:\n            reconsume(c, script_data_double_escaped_state);\n            break;\n        }\n      }\n      function before_attribute_name_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            break;\n          case 47:\n            tokenizer = self_closing_start_tag_state;\n            break;\n          case 62:\n            tokenizer = data_state;\n            emitTag();\n            break;\n          case -1:\n            emitEOF();\n            break;\n          case 61:\n            beginAttrName();\n            attrnamebuf += String.fromCharCode(c);\n            tokenizer = attribute_name_state;\n            break;\n          default:\n            if (handleSimpleAttribute()) break;\n            beginAttrName();\n            reconsume(c, attribute_name_state);\n            break;\n        }\n      }\n      function attribute_name_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n          case 47:\n          case 62:\n          case -1:\n            reconsume(c, after_attribute_name_state);\n            break;\n          case 61:\n            tokenizer = before_attribute_value_state;\n            break;\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n            attrnamebuf += String.fromCharCode(c + 32);\n            break;\n          case 0:\n            attrnamebuf += String.fromCharCode(65533);\n            break;\n          case 34:\n          case 39:\n          case 60:\n          default:\n            attrnamebuf += getMatchingChars(ATTRNAME);\n            break;\n        }\n      }\n      function after_attribute_name_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            break;\n          case 47:\n            addAttribute(attrnamebuf);\n            tokenizer = self_closing_start_tag_state;\n            break;\n          case 61:\n            tokenizer = before_attribute_value_state;\n            break;\n          case 62:\n            tokenizer = data_state;\n            addAttribute(attrnamebuf);\n            emitTag();\n            break;\n          case -1:\n            addAttribute(attrnamebuf);\n            emitEOF();\n            break;\n          default:\n            addAttribute(attrnamebuf);\n            beginAttrName();\n            reconsume(c, attribute_name_state);\n            break;\n        }\n      }\n      function before_attribute_value_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            break;\n          case 34:\n            beginAttrValue();\n            tokenizer = attribute_value_double_quoted_state;\n            break;\n          case 39:\n            beginAttrValue();\n            tokenizer = attribute_value_single_quoted_state;\n            break;\n          case 62:\n          default:\n            beginAttrValue();\n            reconsume(c, attribute_value_unquoted_state);\n            break;\n        }\n      }\n      function attribute_value_double_quoted_state(c) {\n        switch (c) {\n          case 34:\n            addAttribute(attrnamebuf, attrvaluebuf);\n            tokenizer = after_attribute_value_quoted_state;\n            break;\n          case 38:\n            return_state = attribute_value_double_quoted_state;\n            tokenizer = character_reference_state;\n            break;\n          case 0:\n            attrvaluebuf += String.fromCharCode(65533);\n            break;\n          case -1:\n            emitEOF();\n            break;\n          case 10:\n            attrvaluebuf += String.fromCharCode(c);\n            break;\n          default:\n            attrvaluebuf += getMatchingChars(DBLQUOTEATTRVAL);\n            break;\n        }\n      }\n      function attribute_value_single_quoted_state(c) {\n        switch (c) {\n          case 39:\n            addAttribute(attrnamebuf, attrvaluebuf);\n            tokenizer = after_attribute_value_quoted_state;\n            break;\n          case 38:\n            return_state = attribute_value_single_quoted_state;\n            tokenizer = character_reference_state;\n            break;\n          case 0:\n            attrvaluebuf += String.fromCharCode(65533);\n            break;\n          case -1:\n            emitEOF();\n            break;\n          case 10:\n            attrvaluebuf += String.fromCharCode(c);\n            break;\n          default:\n            attrvaluebuf += getMatchingChars(SINGLEQUOTEATTRVAL);\n            break;\n        }\n      }\n      function attribute_value_unquoted_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            addAttribute(attrnamebuf, attrvaluebuf);\n            tokenizer = before_attribute_name_state;\n            break;\n          case 38:\n            return_state = attribute_value_unquoted_state;\n            tokenizer = character_reference_state;\n            break;\n          case 62:\n            addAttribute(attrnamebuf, attrvaluebuf);\n            tokenizer = data_state;\n            emitTag();\n            break;\n          case 0:\n            attrvaluebuf += String.fromCharCode(65533);\n            break;\n          case -1:\n            nextchar--;\n            tokenizer = data_state;\n            break;\n          case 34:\n          case 39:\n          case 60:\n          case 61:\n          case 96:\n          default:\n            attrvaluebuf += getMatchingChars(UNQUOTEDATTRVAL);\n            break;\n        }\n      }\n      function after_attribute_value_quoted_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            tokenizer = before_attribute_name_state;\n            break;\n          case 47:\n            tokenizer = self_closing_start_tag_state;\n            break;\n          case 62:\n            tokenizer = data_state;\n            emitTag();\n            break;\n          case -1:\n            emitEOF();\n            break;\n          default:\n            reconsume(c, before_attribute_name_state);\n            break;\n        }\n      }\n      function self_closing_start_tag_state(c) {\n        switch (c) {\n          case 62:\n            tokenizer = data_state;\n            emitSelfClosingTag();\n            break;\n          case -1:\n            emitEOF();\n            break;\n          default:\n            reconsume(c, before_attribute_name_state);\n            break;\n        }\n      }\n      function bogus_comment_state(c, lookahead, eof) {\n        var len = lookahead.length;\n        if (eof) {\n          nextchar += len - 1;\n        } else {\n          nextchar += len;\n        }\n        var comment = lookahead.substring(0, len - 1);\n        comment = comment.replace(/\\u0000/g, \"\\uFFFD\");\n        comment = comment.replace(/\\u000D\\u000A/g, \"\\n\");\n        comment = comment.replace(/\\u000D/g, \"\\n\");\n        insertToken(COMMENT, comment);\n        tokenizer = data_state;\n      }\n      bogus_comment_state.lookahead = \">\";\n      function markup_declaration_open_state(c, lookahead, eof) {\n        if (lookahead[0] === \"-\" && lookahead[1] === \"-\") {\n          nextchar += 2;\n          beginComment();\n          tokenizer = comment_start_state;\n          return;\n        }\n        if (lookahead.toUpperCase() === \"DOCTYPE\") {\n          nextchar += 7;\n          tokenizer = doctype_state;\n        } else if (lookahead === \"[CDATA[\" && cdataAllowed()) {\n          nextchar += 7;\n          tokenizer = cdata_section_state;\n        } else {\n          tokenizer = bogus_comment_state;\n        }\n      }\n      markup_declaration_open_state.lookahead = 7;\n      function comment_start_state(c) {\n        beginComment();\n        switch (c) {\n          case 45:\n            tokenizer = comment_start_dash_state;\n            break;\n          case 62:\n            tokenizer = data_state;\n            insertToken(COMMENT, buf2str(commentbuf));\n            break;\n          default:\n            reconsume(c, comment_state);\n            break;\n        }\n      }\n      function comment_start_dash_state(c) {\n        switch (c) {\n          case 45:\n            tokenizer = comment_end_state;\n            break;\n          case 62:\n            tokenizer = data_state;\n            insertToken(COMMENT, buf2str(commentbuf));\n            break;\n          case -1:\n            insertToken(COMMENT, buf2str(commentbuf));\n            emitEOF();\n            break;\n          default:\n            commentbuf.push(45);\n            reconsume(c, comment_state);\n            break;\n        }\n      }\n      function comment_state(c) {\n        switch (c) {\n          case 60:\n            commentbuf.push(c);\n            tokenizer = comment_less_than_sign_state;\n            break;\n          case 45:\n            tokenizer = comment_end_dash_state;\n            break;\n          case 0:\n            commentbuf.push(65533);\n            break;\n          case -1:\n            insertToken(COMMENT, buf2str(commentbuf));\n            emitEOF();\n            break;\n          default:\n            commentbuf.push(c);\n            break;\n        }\n      }\n      function comment_less_than_sign_state(c) {\n        switch (c) {\n          case 33:\n            commentbuf.push(c);\n            tokenizer = comment_less_than_sign_bang_state;\n            break;\n          case 60:\n            commentbuf.push(c);\n            break;\n          default:\n            reconsume(c, comment_state);\n            break;\n        }\n      }\n      function comment_less_than_sign_bang_state(c) {\n        switch (c) {\n          case 45:\n            tokenizer = comment_less_than_sign_bang_dash_state;\n            break;\n          default:\n            reconsume(c, comment_state);\n            break;\n        }\n      }\n      function comment_less_than_sign_bang_dash_state(c) {\n        switch (c) {\n          case 45:\n            tokenizer = comment_less_than_sign_bang_dash_dash_state;\n            break;\n          default:\n            reconsume(c, comment_end_dash_state);\n            break;\n        }\n      }\n      function comment_less_than_sign_bang_dash_dash_state(c) {\n        switch (c) {\n          case 62:\n          case -1:\n            reconsume(c, comment_end_state);\n            break;\n          default:\n            reconsume(c, comment_end_state);\n            break;\n        }\n      }\n      function comment_end_dash_state(c) {\n        switch (c) {\n          case 45:\n            tokenizer = comment_end_state;\n            break;\n          case -1:\n            insertToken(COMMENT, buf2str(commentbuf));\n            emitEOF();\n            break;\n          default:\n            commentbuf.push(45);\n            reconsume(c, comment_state);\n            break;\n        }\n      }\n      function comment_end_state(c) {\n        switch (c) {\n          case 62:\n            tokenizer = data_state;\n            insertToken(COMMENT, buf2str(commentbuf));\n            break;\n          case 33:\n            tokenizer = comment_end_bang_state;\n            break;\n          case 45:\n            commentbuf.push(45);\n            break;\n          case -1:\n            insertToken(COMMENT, buf2str(commentbuf));\n            emitEOF();\n            break;\n          default:\n            commentbuf.push(45);\n            commentbuf.push(45);\n            reconsume(c, comment_state);\n            break;\n        }\n      }\n      function comment_end_bang_state(c) {\n        switch (c) {\n          case 45:\n            commentbuf.push(45);\n            commentbuf.push(45);\n            commentbuf.push(33);\n            tokenizer = comment_end_dash_state;\n            break;\n          case 62:\n            tokenizer = data_state;\n            insertToken(COMMENT, buf2str(commentbuf));\n            break;\n          case -1:\n            insertToken(COMMENT, buf2str(commentbuf));\n            emitEOF();\n            break;\n          default:\n            commentbuf.push(45);\n            commentbuf.push(45);\n            commentbuf.push(33);\n            reconsume(c, comment_state);\n            break;\n        }\n      }\n      function doctype_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            tokenizer = before_doctype_name_state;\n            break;\n          case -1:\n            beginDoctype();\n            forcequirks();\n            emitDoctype();\n            emitEOF();\n            break;\n          default:\n            reconsume(c, before_doctype_name_state);\n            break;\n        }\n      }\n      function before_doctype_name_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            break;\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n            beginDoctype();\n            doctypenamebuf.push(c + 32);\n            tokenizer = doctype_name_state;\n            break;\n          case 0:\n            beginDoctype();\n            doctypenamebuf.push(65533);\n            tokenizer = doctype_name_state;\n            break;\n          case 62:\n            beginDoctype();\n            forcequirks();\n            tokenizer = data_state;\n            emitDoctype();\n            break;\n          case -1:\n            beginDoctype();\n            forcequirks();\n            emitDoctype();\n            emitEOF();\n            break;\n          default:\n            beginDoctype();\n            doctypenamebuf.push(c);\n            tokenizer = doctype_name_state;\n            break;\n        }\n      }\n      function doctype_name_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            tokenizer = after_doctype_name_state;\n            break;\n          case 62:\n            tokenizer = data_state;\n            emitDoctype();\n            break;\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 71:\n          case 72:\n          case 73:\n          case 74:\n          case 75:\n          case 76:\n          case 77:\n          case 78:\n          case 79:\n          case 80:\n          case 81:\n          case 82:\n          case 83:\n          case 84:\n          case 85:\n          case 86:\n          case 87:\n          case 88:\n          case 89:\n          case 90:\n            doctypenamebuf.push(c + 32);\n            break;\n          case 0:\n            doctypenamebuf.push(65533);\n            break;\n          case -1:\n            forcequirks();\n            emitDoctype();\n            emitEOF();\n            break;\n          default:\n            doctypenamebuf.push(c);\n            break;\n        }\n      }\n      function after_doctype_name_state(c, lookahead, eof) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            nextchar += 1;\n            break;\n          case 62:\n            tokenizer = data_state;\n            nextchar += 1;\n            emitDoctype();\n            break;\n          case -1:\n            forcequirks();\n            emitDoctype();\n            emitEOF();\n            break;\n          default:\n            lookahead = lookahead.toUpperCase();\n            if (lookahead === \"PUBLIC\") {\n              nextchar += 6;\n              tokenizer = after_doctype_public_keyword_state;\n            } else if (lookahead === \"SYSTEM\") {\n              nextchar += 6;\n              tokenizer = after_doctype_system_keyword_state;\n            } else {\n              forcequirks();\n              tokenizer = bogus_doctype_state;\n            }\n            break;\n        }\n      }\n      after_doctype_name_state.lookahead = 6;\n      function after_doctype_public_keyword_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            tokenizer = before_doctype_public_identifier_state;\n            break;\n          case 34:\n            beginDoctypePublicId();\n            tokenizer = doctype_public_identifier_double_quoted_state;\n            break;\n          case 39:\n            beginDoctypePublicId();\n            tokenizer = doctype_public_identifier_single_quoted_state;\n            break;\n          case 62:\n            forcequirks();\n            tokenizer = data_state;\n            emitDoctype();\n            break;\n          case -1:\n            forcequirks();\n            emitDoctype();\n            emitEOF();\n            break;\n          default:\n            forcequirks();\n            tokenizer = bogus_doctype_state;\n            break;\n        }\n      }\n      function before_doctype_public_identifier_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            break;\n          case 34:\n            beginDoctypePublicId();\n            tokenizer = doctype_public_identifier_double_quoted_state;\n            break;\n          case 39:\n            beginDoctypePublicId();\n            tokenizer = doctype_public_identifier_single_quoted_state;\n            break;\n          case 62:\n            forcequirks();\n            tokenizer = data_state;\n            emitDoctype();\n            break;\n          case -1:\n            forcequirks();\n            emitDoctype();\n            emitEOF();\n            break;\n          default:\n            forcequirks();\n            tokenizer = bogus_doctype_state;\n            break;\n        }\n      }\n      function doctype_public_identifier_double_quoted_state(c) {\n        switch (c) {\n          case 34:\n            tokenizer = after_doctype_public_identifier_state;\n            break;\n          case 0:\n            doctypepublicbuf.push(65533);\n            break;\n          case 62:\n            forcequirks();\n            tokenizer = data_state;\n            emitDoctype();\n            break;\n          case -1:\n            forcequirks();\n            emitDoctype();\n            emitEOF();\n            break;\n          default:\n            doctypepublicbuf.push(c);\n            break;\n        }\n      }\n      function doctype_public_identifier_single_quoted_state(c) {\n        switch (c) {\n          case 39:\n            tokenizer = after_doctype_public_identifier_state;\n            break;\n          case 0:\n            doctypepublicbuf.push(65533);\n            break;\n          case 62:\n            forcequirks();\n            tokenizer = data_state;\n            emitDoctype();\n            break;\n          case -1:\n            forcequirks();\n            emitDoctype();\n            emitEOF();\n            break;\n          default:\n            doctypepublicbuf.push(c);\n            break;\n        }\n      }\n      function after_doctype_public_identifier_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            tokenizer = between_doctype_public_and_system_identifiers_state;\n            break;\n          case 62:\n            tokenizer = data_state;\n            emitDoctype();\n            break;\n          case 34:\n            beginDoctypeSystemId();\n            tokenizer = doctype_system_identifier_double_quoted_state;\n            break;\n          case 39:\n            beginDoctypeSystemId();\n            tokenizer = doctype_system_identifier_single_quoted_state;\n            break;\n          case -1:\n            forcequirks();\n            emitDoctype();\n            emitEOF();\n            break;\n          default:\n            forcequirks();\n            tokenizer = bogus_doctype_state;\n            break;\n        }\n      }\n      function between_doctype_public_and_system_identifiers_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            break;\n          case 62:\n            tokenizer = data_state;\n            emitDoctype();\n            break;\n          case 34:\n            beginDoctypeSystemId();\n            tokenizer = doctype_system_identifier_double_quoted_state;\n            break;\n          case 39:\n            beginDoctypeSystemId();\n            tokenizer = doctype_system_identifier_single_quoted_state;\n            break;\n          case -1:\n            forcequirks();\n            emitDoctype();\n            emitEOF();\n            break;\n          default:\n            forcequirks();\n            tokenizer = bogus_doctype_state;\n            break;\n        }\n      }\n      function after_doctype_system_keyword_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            tokenizer = before_doctype_system_identifier_state;\n            break;\n          case 34:\n            beginDoctypeSystemId();\n            tokenizer = doctype_system_identifier_double_quoted_state;\n            break;\n          case 39:\n            beginDoctypeSystemId();\n            tokenizer = doctype_system_identifier_single_quoted_state;\n            break;\n          case 62:\n            forcequirks();\n            tokenizer = data_state;\n            emitDoctype();\n            break;\n          case -1:\n            forcequirks();\n            emitDoctype();\n            emitEOF();\n            break;\n          default:\n            forcequirks();\n            tokenizer = bogus_doctype_state;\n            break;\n        }\n      }\n      function before_doctype_system_identifier_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            break;\n          case 34:\n            beginDoctypeSystemId();\n            tokenizer = doctype_system_identifier_double_quoted_state;\n            break;\n          case 39:\n            beginDoctypeSystemId();\n            tokenizer = doctype_system_identifier_single_quoted_state;\n            break;\n          case 62:\n            forcequirks();\n            tokenizer = data_state;\n            emitDoctype();\n            break;\n          case -1:\n            forcequirks();\n            emitDoctype();\n            emitEOF();\n            break;\n          default:\n            forcequirks();\n            tokenizer = bogus_doctype_state;\n            break;\n        }\n      }\n      function doctype_system_identifier_double_quoted_state(c) {\n        switch (c) {\n          case 34:\n            tokenizer = after_doctype_system_identifier_state;\n            break;\n          case 0:\n            doctypesystembuf.push(65533);\n            break;\n          case 62:\n            forcequirks();\n            tokenizer = data_state;\n            emitDoctype();\n            break;\n          case -1:\n            forcequirks();\n            emitDoctype();\n            emitEOF();\n            break;\n          default:\n            doctypesystembuf.push(c);\n            break;\n        }\n      }\n      function doctype_system_identifier_single_quoted_state(c) {\n        switch (c) {\n          case 39:\n            tokenizer = after_doctype_system_identifier_state;\n            break;\n          case 0:\n            doctypesystembuf.push(65533);\n            break;\n          case 62:\n            forcequirks();\n            tokenizer = data_state;\n            emitDoctype();\n            break;\n          case -1:\n            forcequirks();\n            emitDoctype();\n            emitEOF();\n            break;\n          default:\n            doctypesystembuf.push(c);\n            break;\n        }\n      }\n      function after_doctype_system_identifier_state(c) {\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n            break;\n          case 62:\n            tokenizer = data_state;\n            emitDoctype();\n            break;\n          case -1:\n            forcequirks();\n            emitDoctype();\n            emitEOF();\n            break;\n          default:\n            tokenizer = bogus_doctype_state;\n            break;\n        }\n      }\n      function bogus_doctype_state(c) {\n        switch (c) {\n          case 62:\n            tokenizer = data_state;\n            emitDoctype();\n            break;\n          case -1:\n            emitDoctype();\n            emitEOF();\n            break;\n        }\n      }\n      function cdata_section_state(c) {\n        switch (c) {\n          case 93:\n            tokenizer = cdata_section_bracket_state;\n            break;\n          case -1:\n            emitEOF();\n            break;\n          case 0:\n            textIncludesNUL = true;\n          default:\n            emitCharsWhile(CDATATEXT) || textrun.push(c);\n            break;\n        }\n      }\n      function cdata_section_bracket_state(c) {\n        switch (c) {\n          case 93:\n            tokenizer = cdata_section_end_state;\n            break;\n          default:\n            textrun.push(93);\n            reconsume(c, cdata_section_state);\n            break;\n        }\n      }\n      function cdata_section_end_state(c) {\n        switch (c) {\n          case 93:\n            textrun.push(93);\n            break;\n          case 62:\n            flushText();\n            tokenizer = data_state;\n            break;\n          default:\n            textrun.push(93);\n            textrun.push(93);\n            reconsume(c, cdata_section_state);\n            break;\n        }\n      }\n      function character_reference_state(c) {\n        beginTempBuf();\n        tempbuf.push(38);\n        switch (c) {\n          case 9:\n          case 10:\n          case 12:\n          case 32:\n          case 60:\n          case 38:\n          case -1:\n            reconsume(c, character_reference_end_state);\n            break;\n          case 35:\n            tempbuf.push(c);\n            tokenizer = numeric_character_reference_state;\n            break;\n          default:\n            reconsume(c, named_character_reference_state);\n            break;\n        }\n      }\n      function named_character_reference_state(c) {\n        NAMEDCHARREF.lastIndex = nextchar;\n        var matched = NAMEDCHARREF.exec(chars);\n        if (!matched) throw new Error(\"should never happen\");\n        var name = matched[1];\n        if (!name) {\n          tokenizer = character_reference_end_state;\n          return;\n        }\n        nextchar += name.length;\n        pushAll(tempbuf, str2buf(name));\n        switch (return_state) {\n          case attribute_value_double_quoted_state:\n          case attribute_value_single_quoted_state:\n          case attribute_value_unquoted_state:\n            if (name[name.length - 1] !== \";\") {\n              if (/[=A-Za-z0-9]/.test(chars[nextchar])) {\n                tokenizer = character_reference_end_state;\n                return;\n              }\n            }\n            break;\n        }\n        beginTempBuf();\n        var rv = namedCharRefs[name];\n        if (typeof rv === \"number\") {\n          tempbuf.push(rv);\n        } else {\n          pushAll(tempbuf, rv);\n        }\n        tokenizer = character_reference_end_state;\n      }\n      named_character_reference_state.lookahead = -32;\n      function numeric_character_reference_state(c) {\n        character_reference_code = 0;\n        switch (c) {\n          case 120:\n          case 88:\n            tempbuf.push(c);\n            tokenizer = hexadecimal_character_reference_start_state;\n            break;\n          default:\n            reconsume(c, decimal_character_reference_start_state);\n            break;\n        }\n      }\n      function hexadecimal_character_reference_start_state(c) {\n        switch (c) {\n          case 48:\n          case 49:\n          case 50:\n          case 51:\n          case 52:\n          case 53:\n          case 54:\n          case 55:\n          case 56:\n          case 57:\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n          case 97:\n          case 98:\n          case 99:\n          case 100:\n          case 101:\n          case 102:\n            reconsume(c, hexadecimal_character_reference_state);\n            break;\n          default:\n            reconsume(c, character_reference_end_state);\n            break;\n        }\n      }\n      function decimal_character_reference_start_state(c) {\n        switch (c) {\n          case 48:\n          case 49:\n          case 50:\n          case 51:\n          case 52:\n          case 53:\n          case 54:\n          case 55:\n          case 56:\n          case 57:\n            reconsume(c, decimal_character_reference_state);\n            break;\n          default:\n            reconsume(c, character_reference_end_state);\n            break;\n        }\n      }\n      function hexadecimal_character_reference_state(c) {\n        switch (c) {\n          case 65:\n          case 66:\n          case 67:\n          case 68:\n          case 69:\n          case 70:\n            character_reference_code *= 16;\n            character_reference_code += c - 55;\n            break;\n          case 97:\n          case 98:\n          case 99:\n          case 100:\n          case 101:\n          case 102:\n            character_reference_code *= 16;\n            character_reference_code += c - 87;\n            break;\n          case 48:\n          case 49:\n          case 50:\n          case 51:\n          case 52:\n          case 53:\n          case 54:\n          case 55:\n          case 56:\n          case 57:\n            character_reference_code *= 16;\n            character_reference_code += c - 48;\n            break;\n          case 59:\n            tokenizer = numeric_character_reference_end_state;\n            break;\n          default:\n            reconsume(c, numeric_character_reference_end_state);\n            break;\n        }\n      }\n      function decimal_character_reference_state(c) {\n        switch (c) {\n          case 48:\n          case 49:\n          case 50:\n          case 51:\n          case 52:\n          case 53:\n          case 54:\n          case 55:\n          case 56:\n          case 57:\n            character_reference_code *= 10;\n            character_reference_code += c - 48;\n            break;\n          case 59:\n            tokenizer = numeric_character_reference_end_state;\n            break;\n          default:\n            reconsume(c, numeric_character_reference_end_state);\n            break;\n        }\n      }\n      function numeric_character_reference_end_state(c) {\n        if (character_reference_code in numericCharRefReplacements) {\n          character_reference_code = numericCharRefReplacements[character_reference_code];\n        } else if (character_reference_code > 1114111 || character_reference_code >= 55296 && character_reference_code < 57344) {\n          character_reference_code = 65533;\n        }\n        beginTempBuf();\n        if (character_reference_code <= 65535) {\n          tempbuf.push(character_reference_code);\n        } else {\n          character_reference_code = character_reference_code - 65536;\n          tempbuf.push(55296 + (character_reference_code >> 10));\n          tempbuf.push(56320 + (character_reference_code & 1023));\n        }\n        reconsume(c, character_reference_end_state);\n      }\n      function character_reference_end_state(c) {\n        switch (return_state) {\n          case attribute_value_double_quoted_state:\n          case attribute_value_single_quoted_state:\n          case attribute_value_unquoted_state:\n            attrvaluebuf += buf2str(tempbuf);\n            break;\n          default:\n            pushAll(textrun, tempbuf);\n            break;\n        }\n        reconsume(c, return_state);\n      }\n      function initial_mode(t, value, arg3, arg4) {\n        switch (t) {\n          case 1:\n            value = value.replace(LEADINGWS, \"\");\n            if (value.length === 0) return;\n            break;\n          case 4:\n            doc._appendChild(doc.createComment(value));\n            return;\n          case 5:\n            var name = value;\n            var publicid = arg3;\n            var systemid = arg4;\n            doc.appendChild(new DocumentType(doc, name, publicid, systemid));\n            if (force_quirks || name.toLowerCase() !== \"html\" || quirkyPublicIds.test(publicid) || systemid && systemid.toLowerCase() === quirkySystemId || systemid === void 0 && conditionallyQuirkyPublicIds.test(publicid)) doc._quirks = true;else if (limitedQuirkyPublicIds.test(publicid) || systemid !== void 0 && conditionallyQuirkyPublicIds.test(publicid)) doc._limitedQuirks = true;\n            parser = before_html_mode;\n            return;\n        }\n        doc._quirks = true;\n        parser = before_html_mode;\n        parser(t, value, arg3, arg4);\n      }\n      function before_html_mode(t, value, arg3, arg4) {\n        var elt;\n        switch (t) {\n          case 1:\n            value = value.replace(LEADINGWS, \"\");\n            if (value.length === 0) return;\n            break;\n          case 5:\n            return;\n          case 4:\n            doc._appendChild(doc.createComment(value));\n            return;\n          case 2:\n            if (value === \"html\") {\n              elt = createHTMLElt(doc, value, arg3);\n              stack.push(elt);\n              doc.appendChild(elt);\n              parser = before_head_mode;\n              return;\n            }\n            break;\n          case 3:\n            switch (value) {\n              case \"html\":\n              case \"head\":\n              case \"body\":\n              case \"br\":\n                break;\n              default:\n                return;\n            }\n        }\n        elt = createHTMLElt(doc, \"html\", null);\n        stack.push(elt);\n        doc.appendChild(elt);\n        parser = before_head_mode;\n        parser(t, value, arg3, arg4);\n      }\n      function before_head_mode(t, value, arg3, arg4) {\n        switch (t) {\n          case 1:\n            value = value.replace(LEADINGWS, \"\");\n            if (value.length === 0) return;\n            break;\n          case 5:\n            return;\n          case 4:\n            insertComment(value);\n            return;\n          case 2:\n            switch (value) {\n              case \"html\":\n                in_body_mode(t, value, arg3, arg4);\n                return;\n              case \"head\":\n                var elt = insertHTMLElement(value, arg3);\n                head_element_pointer = elt;\n                parser = in_head_mode;\n                return;\n            }\n            break;\n          case 3:\n            switch (value) {\n              case \"html\":\n              case \"head\":\n              case \"body\":\n              case \"br\":\n                break;\n              default:\n                return;\n            }\n        }\n        before_head_mode(TAG, \"head\", null);\n        parser(t, value, arg3, arg4);\n      }\n      function in_head_mode(t, value, arg3, arg4) {\n        switch (t) {\n          case 1:\n            var ws = value.match(LEADINGWS);\n            if (ws) {\n              insertText(ws[0]);\n              value = value.substring(ws[0].length);\n            }\n            if (value.length === 0) return;\n            break;\n          case 4:\n            insertComment(value);\n            return;\n          case 5:\n            return;\n          case 2:\n            switch (value) {\n              case \"html\":\n                in_body_mode(t, value, arg3, arg4);\n                return;\n              case \"meta\":\n              case \"base\":\n              case \"basefont\":\n              case \"bgsound\":\n              case \"link\":\n                insertHTMLElement(value, arg3);\n                stack.pop();\n                return;\n              case \"title\":\n                parseRCDATA(value, arg3);\n                return;\n              case \"noscript\":\n                if (!scripting_enabled) {\n                  insertHTMLElement(value, arg3);\n                  parser = in_head_noscript_mode;\n                  return;\n                }\n              case \"noframes\":\n              case \"style\":\n                parseRawText(value, arg3);\n                return;\n              case \"script\":\n                insertElement(function (doc2) {\n                  var elt = createHTMLElt(doc2, value, arg3);\n                  elt._parser_inserted = true;\n                  elt._force_async = false;\n                  if (fragment) elt._already_started = true;\n                  flushText();\n                  return elt;\n                });\n                tokenizer = script_data_state;\n                originalInsertionMode = parser;\n                parser = text_mode;\n                return;\n              case \"template\":\n                insertHTMLElement(value, arg3);\n                afe.insertMarker();\n                frameset_ok = false;\n                parser = in_template_mode;\n                templateInsertionModes.push(parser);\n                return;\n              case \"head\":\n                return;\n            }\n            break;\n          case 3:\n            switch (value) {\n              case \"head\":\n                stack.pop();\n                parser = after_head_mode;\n                return;\n              case \"body\":\n              case \"html\":\n              case \"br\":\n                break;\n              case \"template\":\n                if (!stack.contains(\"template\")) {\n                  return;\n                }\n                stack.generateImpliedEndTags(null, \"thorough\");\n                stack.popTag(\"template\");\n                afe.clearToMarker();\n                templateInsertionModes.pop();\n                resetInsertionMode();\n                return;\n              default:\n                return;\n            }\n            break;\n        }\n        in_head_mode(ENDTAG, \"head\", null);\n        parser(t, value, arg3, arg4);\n      }\n      function in_head_noscript_mode(t, value, arg3, arg4) {\n        switch (t) {\n          case 5:\n            return;\n          case 4:\n            in_head_mode(t, value);\n            return;\n          case 1:\n            var ws = value.match(LEADINGWS);\n            if (ws) {\n              in_head_mode(t, ws[0]);\n              value = value.substring(ws[0].length);\n            }\n            if (value.length === 0) return;\n            break;\n          case 2:\n            switch (value) {\n              case \"html\":\n                in_body_mode(t, value, arg3, arg4);\n                return;\n              case \"basefont\":\n              case \"bgsound\":\n              case \"link\":\n              case \"meta\":\n              case \"noframes\":\n              case \"style\":\n                in_head_mode(t, value, arg3);\n                return;\n              case \"head\":\n              case \"noscript\":\n                return;\n            }\n            break;\n          case 3:\n            switch (value) {\n              case \"noscript\":\n                stack.pop();\n                parser = in_head_mode;\n                return;\n              case \"br\":\n                break;\n              default:\n                return;\n            }\n            break;\n        }\n        in_head_noscript_mode(ENDTAG, \"noscript\", null);\n        parser(t, value, arg3, arg4);\n      }\n      function after_head_mode(t, value, arg3, arg4) {\n        switch (t) {\n          case 1:\n            var ws = value.match(LEADINGWS);\n            if (ws) {\n              insertText(ws[0]);\n              value = value.substring(ws[0].length);\n            }\n            if (value.length === 0) return;\n            break;\n          case 4:\n            insertComment(value);\n            return;\n          case 5:\n            return;\n          case 2:\n            switch (value) {\n              case \"html\":\n                in_body_mode(t, value, arg3, arg4);\n                return;\n              case \"body\":\n                insertHTMLElement(value, arg3);\n                frameset_ok = false;\n                parser = in_body_mode;\n                return;\n              case \"frameset\":\n                insertHTMLElement(value, arg3);\n                parser = in_frameset_mode;\n                return;\n              case \"base\":\n              case \"basefont\":\n              case \"bgsound\":\n              case \"link\":\n              case \"meta\":\n              case \"noframes\":\n              case \"script\":\n              case \"style\":\n              case \"template\":\n              case \"title\":\n                stack.push(head_element_pointer);\n                in_head_mode(TAG, value, arg3);\n                stack.removeElement(head_element_pointer);\n                return;\n              case \"head\":\n                return;\n            }\n            break;\n          case 3:\n            switch (value) {\n              case \"template\":\n                return in_head_mode(t, value, arg3, arg4);\n              case \"body\":\n              case \"html\":\n              case \"br\":\n                break;\n              default:\n                return;\n            }\n            break;\n        }\n        after_head_mode(TAG, \"body\", null);\n        frameset_ok = true;\n        parser(t, value, arg3, arg4);\n      }\n      function in_body_mode(t, value, arg3, arg4) {\n        var body, i, node, elt;\n        switch (t) {\n          case 1:\n            if (textIncludesNUL) {\n              value = value.replace(NULCHARS, \"\");\n              if (value.length === 0) return;\n            }\n            if (frameset_ok && NONWS.test(value)) frameset_ok = false;\n            afereconstruct();\n            insertText(value);\n            return;\n          case 5:\n            return;\n          case 4:\n            insertComment(value);\n            return;\n          case -1:\n            if (templateInsertionModes.length) {\n              return in_template_mode(t);\n            }\n            stopParsing();\n            return;\n          case 2:\n            switch (value) {\n              case \"html\":\n                if (stack.contains(\"template\")) {\n                  return;\n                }\n                transferAttributes(arg3, stack.elements[0]);\n                return;\n              case \"base\":\n              case \"basefont\":\n              case \"bgsound\":\n              case \"link\":\n              case \"meta\":\n              case \"noframes\":\n              case \"script\":\n              case \"style\":\n              case \"template\":\n              case \"title\":\n                in_head_mode(TAG, value, arg3);\n                return;\n              case \"body\":\n                body = stack.elements[1];\n                if (!body || !(body instanceof impl.HTMLBodyElement) || stack.contains(\"template\")) return;\n                frameset_ok = false;\n                transferAttributes(arg3, body);\n                return;\n              case \"frameset\":\n                if (!frameset_ok) return;\n                body = stack.elements[1];\n                if (!body || !(body instanceof impl.HTMLBodyElement)) return;\n                if (body.parentNode) body.parentNode.removeChild(body);\n                while (!(stack.top instanceof impl.HTMLHtmlElement)) stack.pop();\n                insertHTMLElement(value, arg3);\n                parser = in_frameset_mode;\n                return;\n              case \"address\":\n              case \"article\":\n              case \"aside\":\n              case \"blockquote\":\n              case \"center\":\n              case \"details\":\n              case \"dialog\":\n              case \"dir\":\n              case \"div\":\n              case \"dl\":\n              case \"fieldset\":\n              case \"figcaption\":\n              case \"figure\":\n              case \"footer\":\n              case \"header\":\n              case \"hgroup\":\n              case \"main\":\n              case \"nav\":\n              case \"ol\":\n              case \"p\":\n              case \"section\":\n              case \"summary\":\n              case \"ul\":\n                if (stack.inButtonScope(\"p\")) in_body_mode(ENDTAG, \"p\");\n                insertHTMLElement(value, arg3);\n                return;\n              case \"menu\":\n                if (stack.inButtonScope(\"p\")) in_body_mode(ENDTAG, \"p\");\n                if (isA(stack.top, \"menuitem\")) {\n                  stack.pop();\n                }\n                insertHTMLElement(value, arg3);\n                return;\n              case \"h1\":\n              case \"h2\":\n              case \"h3\":\n              case \"h4\":\n              case \"h5\":\n              case \"h6\":\n                if (stack.inButtonScope(\"p\")) in_body_mode(ENDTAG, \"p\");\n                if (stack.top instanceof impl.HTMLHeadingElement) stack.pop();\n                insertHTMLElement(value, arg3);\n                return;\n              case \"pre\":\n              case \"listing\":\n                if (stack.inButtonScope(\"p\")) in_body_mode(ENDTAG, \"p\");\n                insertHTMLElement(value, arg3);\n                ignore_linefeed = true;\n                frameset_ok = false;\n                return;\n              case \"form\":\n                if (form_element_pointer && !stack.contains(\"template\")) return;\n                if (stack.inButtonScope(\"p\")) in_body_mode(ENDTAG, \"p\");\n                elt = insertHTMLElement(value, arg3);\n                if (!stack.contains(\"template\")) form_element_pointer = elt;\n                return;\n              case \"li\":\n                frameset_ok = false;\n                for (i = stack.elements.length - 1; i >= 0; i--) {\n                  node = stack.elements[i];\n                  if (node instanceof impl.HTMLLIElement) {\n                    in_body_mode(ENDTAG, \"li\");\n                    break;\n                  }\n                  if (isA(node, specialSet) && !isA(node, addressdivpSet)) break;\n                }\n                if (stack.inButtonScope(\"p\")) in_body_mode(ENDTAG, \"p\");\n                insertHTMLElement(value, arg3);\n                return;\n              case \"dd\":\n              case \"dt\":\n                frameset_ok = false;\n                for (i = stack.elements.length - 1; i >= 0; i--) {\n                  node = stack.elements[i];\n                  if (isA(node, dddtSet)) {\n                    in_body_mode(ENDTAG, node.localName);\n                    break;\n                  }\n                  if (isA(node, specialSet) && !isA(node, addressdivpSet)) break;\n                }\n                if (stack.inButtonScope(\"p\")) in_body_mode(ENDTAG, \"p\");\n                insertHTMLElement(value, arg3);\n                return;\n              case \"plaintext\":\n                if (stack.inButtonScope(\"p\")) in_body_mode(ENDTAG, \"p\");\n                insertHTMLElement(value, arg3);\n                tokenizer = plaintext_state;\n                return;\n              case \"button\":\n                if (stack.inScope(\"button\")) {\n                  in_body_mode(ENDTAG, \"button\");\n                  parser(t, value, arg3, arg4);\n                } else {\n                  afereconstruct();\n                  insertHTMLElement(value, arg3);\n                  frameset_ok = false;\n                }\n                return;\n              case \"a\":\n                var activeElement = afe.findElementByTag(\"a\");\n                if (activeElement) {\n                  in_body_mode(ENDTAG, value);\n                  afe.remove(activeElement);\n                  stack.removeElement(activeElement);\n                }\n              case \"b\":\n              case \"big\":\n              case \"code\":\n              case \"em\":\n              case \"font\":\n              case \"i\":\n              case \"s\":\n              case \"small\":\n              case \"strike\":\n              case \"strong\":\n              case \"tt\":\n              case \"u\":\n                afereconstruct();\n                afe.push(insertHTMLElement(value, arg3), arg3);\n                return;\n              case \"nobr\":\n                afereconstruct();\n                if (stack.inScope(value)) {\n                  in_body_mode(ENDTAG, value);\n                  afereconstruct();\n                }\n                afe.push(insertHTMLElement(value, arg3), arg3);\n                return;\n              case \"applet\":\n              case \"marquee\":\n              case \"object\":\n                afereconstruct();\n                insertHTMLElement(value, arg3);\n                afe.insertMarker();\n                frameset_ok = false;\n                return;\n              case \"table\":\n                if (!doc._quirks && stack.inButtonScope(\"p\")) {\n                  in_body_mode(ENDTAG, \"p\");\n                }\n                insertHTMLElement(value, arg3);\n                frameset_ok = false;\n                parser = in_table_mode;\n                return;\n              case \"area\":\n              case \"br\":\n              case \"embed\":\n              case \"img\":\n              case \"keygen\":\n              case \"wbr\":\n                afereconstruct();\n                insertHTMLElement(value, arg3);\n                stack.pop();\n                frameset_ok = false;\n                return;\n              case \"input\":\n                afereconstruct();\n                elt = insertHTMLElement(value, arg3);\n                stack.pop();\n                var type = elt.getAttribute(\"type\");\n                if (!type || type.toLowerCase() !== \"hidden\") frameset_ok = false;\n                return;\n              case \"param\":\n              case \"source\":\n              case \"track\":\n                insertHTMLElement(value, arg3);\n                stack.pop();\n                return;\n              case \"hr\":\n                if (stack.inButtonScope(\"p\")) in_body_mode(ENDTAG, \"p\");\n                if (isA(stack.top, \"menuitem\")) {\n                  stack.pop();\n                }\n                insertHTMLElement(value, arg3);\n                stack.pop();\n                frameset_ok = false;\n                return;\n              case \"image\":\n                in_body_mode(TAG, \"img\", arg3, arg4);\n                return;\n              case \"textarea\":\n                insertHTMLElement(value, arg3);\n                ignore_linefeed = true;\n                frameset_ok = false;\n                tokenizer = rcdata_state;\n                originalInsertionMode = parser;\n                parser = text_mode;\n                return;\n              case \"xmp\":\n                if (stack.inButtonScope(\"p\")) in_body_mode(ENDTAG, \"p\");\n                afereconstruct();\n                frameset_ok = false;\n                parseRawText(value, arg3);\n                return;\n              case \"iframe\":\n                frameset_ok = false;\n                parseRawText(value, arg3);\n                return;\n              case \"noembed\":\n                parseRawText(value, arg3);\n                return;\n              case \"select\":\n                afereconstruct();\n                insertHTMLElement(value, arg3);\n                frameset_ok = false;\n                if (parser === in_table_mode || parser === in_caption_mode || parser === in_table_body_mode || parser === in_row_mode || parser === in_cell_mode) parser = in_select_in_table_mode;else parser = in_select_mode;\n                return;\n              case \"optgroup\":\n              case \"option\":\n                if (stack.top instanceof impl.HTMLOptionElement) {\n                  in_body_mode(ENDTAG, \"option\");\n                }\n                afereconstruct();\n                insertHTMLElement(value, arg3);\n                return;\n              case \"menuitem\":\n                if (isA(stack.top, \"menuitem\")) {\n                  stack.pop();\n                }\n                afereconstruct();\n                insertHTMLElement(value, arg3);\n                return;\n              case \"rb\":\n              case \"rtc\":\n                if (stack.inScope(\"ruby\")) {\n                  stack.generateImpliedEndTags();\n                }\n                insertHTMLElement(value, arg3);\n                return;\n              case \"rp\":\n              case \"rt\":\n                if (stack.inScope(\"ruby\")) {\n                  stack.generateImpliedEndTags(\"rtc\");\n                }\n                insertHTMLElement(value, arg3);\n                return;\n              case \"math\":\n                afereconstruct();\n                adjustMathMLAttributes(arg3);\n                adjustForeignAttributes(arg3);\n                insertForeignElement(value, arg3, NAMESPACE.MATHML);\n                if (arg4) stack.pop();\n                return;\n              case \"svg\":\n                afereconstruct();\n                adjustSVGAttributes(arg3);\n                adjustForeignAttributes(arg3);\n                insertForeignElement(value, arg3, NAMESPACE.SVG);\n                if (arg4) stack.pop();\n                return;\n              case \"caption\":\n              case \"col\":\n              case \"colgroup\":\n              case \"frame\":\n              case \"head\":\n              case \"tbody\":\n              case \"td\":\n              case \"tfoot\":\n              case \"th\":\n              case \"thead\":\n              case \"tr\":\n                return;\n            }\n            afereconstruct();\n            insertHTMLElement(value, arg3);\n            return;\n          case 3:\n            switch (value) {\n              case \"template\":\n                in_head_mode(ENDTAG, value, arg3);\n                return;\n              case \"body\":\n                if (!stack.inScope(\"body\")) return;\n                parser = after_body_mode;\n                return;\n              case \"html\":\n                if (!stack.inScope(\"body\")) return;\n                parser = after_body_mode;\n                parser(t, value, arg3);\n                return;\n              case \"address\":\n              case \"article\":\n              case \"aside\":\n              case \"blockquote\":\n              case \"button\":\n              case \"center\":\n              case \"details\":\n              case \"dialog\":\n              case \"dir\":\n              case \"div\":\n              case \"dl\":\n              case \"fieldset\":\n              case \"figcaption\":\n              case \"figure\":\n              case \"footer\":\n              case \"header\":\n              case \"hgroup\":\n              case \"listing\":\n              case \"main\":\n              case \"menu\":\n              case \"nav\":\n              case \"ol\":\n              case \"pre\":\n              case \"section\":\n              case \"summary\":\n              case \"ul\":\n                if (!stack.inScope(value)) return;\n                stack.generateImpliedEndTags();\n                stack.popTag(value);\n                return;\n              case \"form\":\n                if (!stack.contains(\"template\")) {\n                  var openform = form_element_pointer;\n                  form_element_pointer = null;\n                  if (!openform || !stack.elementInScope(openform)) return;\n                  stack.generateImpliedEndTags();\n                  stack.removeElement(openform);\n                } else {\n                  if (!stack.inScope(\"form\")) return;\n                  stack.generateImpliedEndTags();\n                  stack.popTag(\"form\");\n                }\n                return;\n              case \"p\":\n                if (!stack.inButtonScope(value)) {\n                  in_body_mode(TAG, value, null);\n                  parser(t, value, arg3, arg4);\n                } else {\n                  stack.generateImpliedEndTags(value);\n                  stack.popTag(value);\n                }\n                return;\n              case \"li\":\n                if (!stack.inListItemScope(value)) return;\n                stack.generateImpliedEndTags(value);\n                stack.popTag(value);\n                return;\n              case \"dd\":\n              case \"dt\":\n                if (!stack.inScope(value)) return;\n                stack.generateImpliedEndTags(value);\n                stack.popTag(value);\n                return;\n              case \"h1\":\n              case \"h2\":\n              case \"h3\":\n              case \"h4\":\n              case \"h5\":\n              case \"h6\":\n                if (!stack.elementTypeInScope(impl.HTMLHeadingElement)) return;\n                stack.generateImpliedEndTags();\n                stack.popElementType(impl.HTMLHeadingElement);\n                return;\n              case \"sarcasm\":\n                break;\n              case \"a\":\n              case \"b\":\n              case \"big\":\n              case \"code\":\n              case \"em\":\n              case \"font\":\n              case \"i\":\n              case \"nobr\":\n              case \"s\":\n              case \"small\":\n              case \"strike\":\n              case \"strong\":\n              case \"tt\":\n              case \"u\":\n                var result = adoptionAgency(value);\n                if (result) return;\n                break;\n              case \"applet\":\n              case \"marquee\":\n              case \"object\":\n                if (!stack.inScope(value)) return;\n                stack.generateImpliedEndTags();\n                stack.popTag(value);\n                afe.clearToMarker();\n                return;\n              case \"br\":\n                in_body_mode(TAG, value, null);\n                return;\n            }\n            for (i = stack.elements.length - 1; i >= 0; i--) {\n              node = stack.elements[i];\n              if (isA(node, value)) {\n                stack.generateImpliedEndTags(value);\n                stack.popElement(node);\n                break;\n              } else if (isA(node, specialSet)) {\n                return;\n              }\n            }\n            return;\n        }\n      }\n      function text_mode(t, value, arg3, arg4) {\n        switch (t) {\n          case 1:\n            insertText(value);\n            return;\n          case -1:\n            if (stack.top instanceof impl.HTMLScriptElement) stack.top._already_started = true;\n            stack.pop();\n            parser = originalInsertionMode;\n            parser(t);\n            return;\n          case 3:\n            if (value === \"script\") {\n              handleScriptEnd();\n            } else {\n              stack.pop();\n              parser = originalInsertionMode;\n            }\n            return;\n          default:\n            return;\n        }\n      }\n      function in_table_mode(t, value, arg3, arg4) {\n        function getTypeAttr(attrs) {\n          for (var i = 0, n = attrs.length; i < n; i++) {\n            if (attrs[i][0] === \"type\") return attrs[i][1].toLowerCase();\n          }\n          return null;\n        }\n        switch (t) {\n          case 1:\n            if (text_integration_mode) {\n              in_body_mode(t, value, arg3, arg4);\n              return;\n            } else if (isA(stack.top, tablesectionrowSet)) {\n              pending_table_text = [];\n              originalInsertionMode = parser;\n              parser = in_table_text_mode;\n              parser(t, value, arg3, arg4);\n              return;\n            }\n            break;\n          case 4:\n            insertComment(value);\n            return;\n          case 5:\n            return;\n          case 2:\n            switch (value) {\n              case \"caption\":\n                stack.clearToContext(tableContextSet);\n                afe.insertMarker();\n                insertHTMLElement(value, arg3);\n                parser = in_caption_mode;\n                return;\n              case \"colgroup\":\n                stack.clearToContext(tableContextSet);\n                insertHTMLElement(value, arg3);\n                parser = in_column_group_mode;\n                return;\n              case \"col\":\n                in_table_mode(TAG, \"colgroup\", null);\n                parser(t, value, arg3, arg4);\n                return;\n              case \"tbody\":\n              case \"tfoot\":\n              case \"thead\":\n                stack.clearToContext(tableContextSet);\n                insertHTMLElement(value, arg3);\n                parser = in_table_body_mode;\n                return;\n              case \"td\":\n              case \"th\":\n              case \"tr\":\n                in_table_mode(TAG, \"tbody\", null);\n                parser(t, value, arg3, arg4);\n                return;\n              case \"table\":\n                if (!stack.inTableScope(value)) {\n                  return;\n                }\n                in_table_mode(ENDTAG, value);\n                parser(t, value, arg3, arg4);\n                return;\n              case \"style\":\n              case \"script\":\n              case \"template\":\n                in_head_mode(t, value, arg3, arg4);\n                return;\n              case \"input\":\n                var type = getTypeAttr(arg3);\n                if (type !== \"hidden\") break;\n                insertHTMLElement(value, arg3);\n                stack.pop();\n                return;\n              case \"form\":\n                if (form_element_pointer || stack.contains(\"template\")) return;\n                form_element_pointer = insertHTMLElement(value, arg3);\n                stack.popElement(form_element_pointer);\n                return;\n            }\n            break;\n          case 3:\n            switch (value) {\n              case \"table\":\n                if (!stack.inTableScope(value)) return;\n                stack.popTag(value);\n                resetInsertionMode();\n                return;\n              case \"body\":\n              case \"caption\":\n              case \"col\":\n              case \"colgroup\":\n              case \"html\":\n              case \"tbody\":\n              case \"td\":\n              case \"tfoot\":\n              case \"th\":\n              case \"thead\":\n              case \"tr\":\n                return;\n              case \"template\":\n                in_head_mode(t, value, arg3, arg4);\n                return;\n            }\n            break;\n          case -1:\n            in_body_mode(t, value, arg3, arg4);\n            return;\n        }\n        foster_parent_mode = true;\n        in_body_mode(t, value, arg3, arg4);\n        foster_parent_mode = false;\n      }\n      function in_table_text_mode(t, value, arg3, arg4) {\n        if (t === TEXT) {\n          if (textIncludesNUL) {\n            value = value.replace(NULCHARS, \"\");\n            if (value.length === 0) return;\n          }\n          pending_table_text.push(value);\n        } else {\n          var s = pending_table_text.join(\"\");\n          pending_table_text.length = 0;\n          if (NONWS.test(s)) {\n            foster_parent_mode = true;\n            in_body_mode(TEXT, s);\n            foster_parent_mode = false;\n          } else {\n            insertText(s);\n          }\n          parser = originalInsertionMode;\n          parser(t, value, arg3, arg4);\n        }\n      }\n      function in_caption_mode(t, value, arg3, arg4) {\n        function end_caption() {\n          if (!stack.inTableScope(\"caption\")) return false;\n          stack.generateImpliedEndTags();\n          stack.popTag(\"caption\");\n          afe.clearToMarker();\n          parser = in_table_mode;\n          return true;\n        }\n        switch (t) {\n          case 2:\n            switch (value) {\n              case \"caption\":\n              case \"col\":\n              case \"colgroup\":\n              case \"tbody\":\n              case \"td\":\n              case \"tfoot\":\n              case \"th\":\n              case \"thead\":\n              case \"tr\":\n                if (end_caption()) parser(t, value, arg3, arg4);\n                return;\n            }\n            break;\n          case 3:\n            switch (value) {\n              case \"caption\":\n                end_caption();\n                return;\n              case \"table\":\n                if (end_caption()) parser(t, value, arg3, arg4);\n                return;\n              case \"body\":\n              case \"col\":\n              case \"colgroup\":\n              case \"html\":\n              case \"tbody\":\n              case \"td\":\n              case \"tfoot\":\n              case \"th\":\n              case \"thead\":\n              case \"tr\":\n                return;\n            }\n            break;\n        }\n        in_body_mode(t, value, arg3, arg4);\n      }\n      function in_column_group_mode(t, value, arg3, arg4) {\n        switch (t) {\n          case 1:\n            var ws = value.match(LEADINGWS);\n            if (ws) {\n              insertText(ws[0]);\n              value = value.substring(ws[0].length);\n            }\n            if (value.length === 0) return;\n            break;\n          case 4:\n            insertComment(value);\n            return;\n          case 5:\n            return;\n          case 2:\n            switch (value) {\n              case \"html\":\n                in_body_mode(t, value, arg3, arg4);\n                return;\n              case \"col\":\n                insertHTMLElement(value, arg3);\n                stack.pop();\n                return;\n              case \"template\":\n                in_head_mode(t, value, arg3, arg4);\n                return;\n            }\n            break;\n          case 3:\n            switch (value) {\n              case \"colgroup\":\n                if (!isA(stack.top, \"colgroup\")) {\n                  return;\n                }\n                stack.pop();\n                parser = in_table_mode;\n                return;\n              case \"col\":\n                return;\n              case \"template\":\n                in_head_mode(t, value, arg3, arg4);\n                return;\n            }\n            break;\n          case -1:\n            in_body_mode(t, value, arg3, arg4);\n            return;\n        }\n        if (!isA(stack.top, \"colgroup\")) {\n          return;\n        }\n        in_column_group_mode(ENDTAG, \"colgroup\");\n        parser(t, value, arg3, arg4);\n      }\n      function in_table_body_mode(t, value, arg3, arg4) {\n        function endsect() {\n          if (!stack.inTableScope(\"tbody\") && !stack.inTableScope(\"thead\") && !stack.inTableScope(\"tfoot\")) return;\n          stack.clearToContext(tableBodyContextSet);\n          in_table_body_mode(ENDTAG, stack.top.localName, null);\n          parser(t, value, arg3, arg4);\n        }\n        switch (t) {\n          case 2:\n            switch (value) {\n              case \"tr\":\n                stack.clearToContext(tableBodyContextSet);\n                insertHTMLElement(value, arg3);\n                parser = in_row_mode;\n                return;\n              case \"th\":\n              case \"td\":\n                in_table_body_mode(TAG, \"tr\", null);\n                parser(t, value, arg3, arg4);\n                return;\n              case \"caption\":\n              case \"col\":\n              case \"colgroup\":\n              case \"tbody\":\n              case \"tfoot\":\n              case \"thead\":\n                endsect();\n                return;\n            }\n            break;\n          case 3:\n            switch (value) {\n              case \"table\":\n                endsect();\n                return;\n              case \"tbody\":\n              case \"tfoot\":\n              case \"thead\":\n                if (stack.inTableScope(value)) {\n                  stack.clearToContext(tableBodyContextSet);\n                  stack.pop();\n                  parser = in_table_mode;\n                }\n                return;\n              case \"body\":\n              case \"caption\":\n              case \"col\":\n              case \"colgroup\":\n              case \"html\":\n              case \"td\":\n              case \"th\":\n              case \"tr\":\n                return;\n            }\n            break;\n        }\n        in_table_mode(t, value, arg3, arg4);\n      }\n      function in_row_mode(t, value, arg3, arg4) {\n        function endrow() {\n          if (!stack.inTableScope(\"tr\")) return false;\n          stack.clearToContext(tableRowContextSet);\n          stack.pop();\n          parser = in_table_body_mode;\n          return true;\n        }\n        switch (t) {\n          case 2:\n            switch (value) {\n              case \"th\":\n              case \"td\":\n                stack.clearToContext(tableRowContextSet);\n                insertHTMLElement(value, arg3);\n                parser = in_cell_mode;\n                afe.insertMarker();\n                return;\n              case \"caption\":\n              case \"col\":\n              case \"colgroup\":\n              case \"tbody\":\n              case \"tfoot\":\n              case \"thead\":\n              case \"tr\":\n                if (endrow()) parser(t, value, arg3, arg4);\n                return;\n            }\n            break;\n          case 3:\n            switch (value) {\n              case \"tr\":\n                endrow();\n                return;\n              case \"table\":\n                if (endrow()) parser(t, value, arg3, arg4);\n                return;\n              case \"tbody\":\n              case \"tfoot\":\n              case \"thead\":\n                if (stack.inTableScope(value)) {\n                  if (endrow()) parser(t, value, arg3, arg4);\n                }\n                return;\n              case \"body\":\n              case \"caption\":\n              case \"col\":\n              case \"colgroup\":\n              case \"html\":\n              case \"td\":\n              case \"th\":\n                return;\n            }\n            break;\n        }\n        in_table_mode(t, value, arg3, arg4);\n      }\n      function in_cell_mode(t, value, arg3, arg4) {\n        switch (t) {\n          case 2:\n            switch (value) {\n              case \"caption\":\n              case \"col\":\n              case \"colgroup\":\n              case \"tbody\":\n              case \"td\":\n              case \"tfoot\":\n              case \"th\":\n              case \"thead\":\n              case \"tr\":\n                if (stack.inTableScope(\"td\")) {\n                  in_cell_mode(ENDTAG, \"td\");\n                  parser(t, value, arg3, arg4);\n                } else if (stack.inTableScope(\"th\")) {\n                  in_cell_mode(ENDTAG, \"th\");\n                  parser(t, value, arg3, arg4);\n                }\n                return;\n            }\n            break;\n          case 3:\n            switch (value) {\n              case \"td\":\n              case \"th\":\n                if (!stack.inTableScope(value)) return;\n                stack.generateImpliedEndTags();\n                stack.popTag(value);\n                afe.clearToMarker();\n                parser = in_row_mode;\n                return;\n              case \"body\":\n              case \"caption\":\n              case \"col\":\n              case \"colgroup\":\n              case \"html\":\n                return;\n              case \"table\":\n              case \"tbody\":\n              case \"tfoot\":\n              case \"thead\":\n              case \"tr\":\n                if (!stack.inTableScope(value)) return;\n                in_cell_mode(ENDTAG, stack.inTableScope(\"td\") ? \"td\" : \"th\");\n                parser(t, value, arg3, arg4);\n                return;\n            }\n            break;\n        }\n        in_body_mode(t, value, arg3, arg4);\n      }\n      function in_select_mode(t, value, arg3, arg4) {\n        switch (t) {\n          case 1:\n            if (textIncludesNUL) {\n              value = value.replace(NULCHARS, \"\");\n              if (value.length === 0) return;\n            }\n            insertText(value);\n            return;\n          case 4:\n            insertComment(value);\n            return;\n          case 5:\n            return;\n          case -1:\n            in_body_mode(t, value, arg3, arg4);\n            return;\n          case 2:\n            switch (value) {\n              case \"html\":\n                in_body_mode(t, value, arg3, arg4);\n                return;\n              case \"option\":\n                if (stack.top instanceof impl.HTMLOptionElement) in_select_mode(ENDTAG, value);\n                insertHTMLElement(value, arg3);\n                return;\n              case \"optgroup\":\n                if (stack.top instanceof impl.HTMLOptionElement) in_select_mode(ENDTAG, \"option\");\n                if (stack.top instanceof impl.HTMLOptGroupElement) in_select_mode(ENDTAG, value);\n                insertHTMLElement(value, arg3);\n                return;\n              case \"select\":\n                in_select_mode(ENDTAG, value);\n                return;\n              case \"input\":\n              case \"keygen\":\n              case \"textarea\":\n                if (!stack.inSelectScope(\"select\")) return;\n                in_select_mode(ENDTAG, \"select\");\n                parser(t, value, arg3, arg4);\n                return;\n              case \"script\":\n              case \"template\":\n                in_head_mode(t, value, arg3, arg4);\n                return;\n            }\n            break;\n          case 3:\n            switch (value) {\n              case \"optgroup\":\n                if (stack.top instanceof impl.HTMLOptionElement && stack.elements[stack.elements.length - 2] instanceof impl.HTMLOptGroupElement) {\n                  in_select_mode(ENDTAG, \"option\");\n                }\n                if (stack.top instanceof impl.HTMLOptGroupElement) stack.pop();\n                return;\n              case \"option\":\n                if (stack.top instanceof impl.HTMLOptionElement) stack.pop();\n                return;\n              case \"select\":\n                if (!stack.inSelectScope(value)) return;\n                stack.popTag(value);\n                resetInsertionMode();\n                return;\n              case \"template\":\n                in_head_mode(t, value, arg3, arg4);\n                return;\n            }\n            break;\n        }\n      }\n      function in_select_in_table_mode(t, value, arg3, arg4) {\n        switch (value) {\n          case \"caption\":\n          case \"table\":\n          case \"tbody\":\n          case \"tfoot\":\n          case \"thead\":\n          case \"tr\":\n          case \"td\":\n          case \"th\":\n            switch (t) {\n              case 2:\n                in_select_in_table_mode(ENDTAG, \"select\");\n                parser(t, value, arg3, arg4);\n                return;\n              case 3:\n                if (stack.inTableScope(value)) {\n                  in_select_in_table_mode(ENDTAG, \"select\");\n                  parser(t, value, arg3, arg4);\n                }\n                return;\n            }\n        }\n        in_select_mode(t, value, arg3, arg4);\n      }\n      function in_template_mode(t, value, arg3, arg4) {\n        function switchModeAndReprocess(mode) {\n          parser = mode;\n          templateInsertionModes[templateInsertionModes.length - 1] = parser;\n          parser(t, value, arg3, arg4);\n        }\n        switch (t) {\n          case 1:\n          case 4:\n          case 5:\n            in_body_mode(t, value, arg3, arg4);\n            return;\n          case -1:\n            if (!stack.contains(\"template\")) {\n              stopParsing();\n            } else {\n              stack.popTag(\"template\");\n              afe.clearToMarker();\n              templateInsertionModes.pop();\n              resetInsertionMode();\n              parser(t, value, arg3, arg4);\n            }\n            return;\n          case 2:\n            switch (value) {\n              case \"base\":\n              case \"basefont\":\n              case \"bgsound\":\n              case \"link\":\n              case \"meta\":\n              case \"noframes\":\n              case \"script\":\n              case \"style\":\n              case \"template\":\n              case \"title\":\n                in_head_mode(t, value, arg3, arg4);\n                return;\n              case \"caption\":\n              case \"colgroup\":\n              case \"tbody\":\n              case \"tfoot\":\n              case \"thead\":\n                switchModeAndReprocess(in_table_mode);\n                return;\n              case \"col\":\n                switchModeAndReprocess(in_column_group_mode);\n                return;\n              case \"tr\":\n                switchModeAndReprocess(in_table_body_mode);\n                return;\n              case \"td\":\n              case \"th\":\n                switchModeAndReprocess(in_row_mode);\n                return;\n            }\n            switchModeAndReprocess(in_body_mode);\n            return;\n          case 3:\n            switch (value) {\n              case \"template\":\n                in_head_mode(t, value, arg3, arg4);\n                return;\n              default:\n                return;\n            }\n        }\n      }\n      function after_body_mode(t, value, arg3, arg4) {\n        switch (t) {\n          case 1:\n            if (NONWS.test(value)) break;\n            in_body_mode(t, value);\n            return;\n          case 4:\n            stack.elements[0]._appendChild(doc.createComment(value));\n            return;\n          case 5:\n            return;\n          case -1:\n            stopParsing();\n            return;\n          case 2:\n            if (value === \"html\") {\n              in_body_mode(t, value, arg3, arg4);\n              return;\n            }\n            break;\n          case 3:\n            if (value === \"html\") {\n              if (fragment) return;\n              parser = after_after_body_mode;\n              return;\n            }\n            break;\n        }\n        parser = in_body_mode;\n        parser(t, value, arg3, arg4);\n      }\n      function in_frameset_mode(t, value, arg3, arg4) {\n        switch (t) {\n          case 1:\n            value = value.replace(ALLNONWS, \"\");\n            if (value.length > 0) insertText(value);\n            return;\n          case 4:\n            insertComment(value);\n            return;\n          case 5:\n            return;\n          case -1:\n            stopParsing();\n            return;\n          case 2:\n            switch (value) {\n              case \"html\":\n                in_body_mode(t, value, arg3, arg4);\n                return;\n              case \"frameset\":\n                insertHTMLElement(value, arg3);\n                return;\n              case \"frame\":\n                insertHTMLElement(value, arg3);\n                stack.pop();\n                return;\n              case \"noframes\":\n                in_head_mode(t, value, arg3, arg4);\n                return;\n            }\n            break;\n          case 3:\n            if (value === \"frameset\") {\n              if (fragment && stack.top instanceof impl.HTMLHtmlElement) return;\n              stack.pop();\n              if (!fragment && !(stack.top instanceof impl.HTMLFrameSetElement)) parser = after_frameset_mode;\n              return;\n            }\n            break;\n        }\n      }\n      function after_frameset_mode(t, value, arg3, arg4) {\n        switch (t) {\n          case 1:\n            value = value.replace(ALLNONWS, \"\");\n            if (value.length > 0) insertText(value);\n            return;\n          case 4:\n            insertComment(value);\n            return;\n          case 5:\n            return;\n          case -1:\n            stopParsing();\n            return;\n          case 2:\n            switch (value) {\n              case \"html\":\n                in_body_mode(t, value, arg3, arg4);\n                return;\n              case \"noframes\":\n                in_head_mode(t, value, arg3, arg4);\n                return;\n            }\n            break;\n          case 3:\n            if (value === \"html\") {\n              parser = after_after_frameset_mode;\n              return;\n            }\n            break;\n        }\n      }\n      function after_after_body_mode(t, value, arg3, arg4) {\n        switch (t) {\n          case 1:\n            if (NONWS.test(value)) break;\n            in_body_mode(t, value, arg3, arg4);\n            return;\n          case 4:\n            doc._appendChild(doc.createComment(value));\n            return;\n          case 5:\n            in_body_mode(t, value, arg3, arg4);\n            return;\n          case -1:\n            stopParsing();\n            return;\n          case 2:\n            if (value === \"html\") {\n              in_body_mode(t, value, arg3, arg4);\n              return;\n            }\n            break;\n        }\n        parser = in_body_mode;\n        parser(t, value, arg3, arg4);\n      }\n      function after_after_frameset_mode(t, value, arg3, arg4) {\n        switch (t) {\n          case 1:\n            value = value.replace(ALLNONWS, \"\");\n            if (value.length > 0) in_body_mode(t, value, arg3, arg4);\n            return;\n          case 4:\n            doc._appendChild(doc.createComment(value));\n            return;\n          case 5:\n            in_body_mode(t, value, arg3, arg4);\n            return;\n          case -1:\n            stopParsing();\n            return;\n          case 2:\n            switch (value) {\n              case \"html\":\n                in_body_mode(t, value, arg3, arg4);\n                return;\n              case \"noframes\":\n                in_head_mode(t, value, arg3, arg4);\n                return;\n            }\n            break;\n        }\n      }\n      function insertForeignToken(t, value, arg3, arg4) {\n        function isHTMLFont(attrs) {\n          for (var i2 = 0, n = attrs.length; i2 < n; i2++) {\n            switch (attrs[i2][0]) {\n              case \"color\":\n              case \"face\":\n              case \"size\":\n                return true;\n            }\n          }\n          return false;\n        }\n        var current;\n        switch (t) {\n          case 1:\n            if (frameset_ok && NONWSNONNUL.test(value)) frameset_ok = false;\n            if (textIncludesNUL) {\n              value = value.replace(NULCHARS, \"\\uFFFD\");\n            }\n            insertText(value);\n            return;\n          case 4:\n            insertComment(value);\n            return;\n          case 5:\n            return;\n          case 2:\n            switch (value) {\n              case \"font\":\n                if (!isHTMLFont(arg3)) break;\n              case \"b\":\n              case \"big\":\n              case \"blockquote\":\n              case \"body\":\n              case \"br\":\n              case \"center\":\n              case \"code\":\n              case \"dd\":\n              case \"div\":\n              case \"dl\":\n              case \"dt\":\n              case \"em\":\n              case \"embed\":\n              case \"h1\":\n              case \"h2\":\n              case \"h3\":\n              case \"h4\":\n              case \"h5\":\n              case \"h6\":\n              case \"head\":\n              case \"hr\":\n              case \"i\":\n              case \"img\":\n              case \"li\":\n              case \"listing\":\n              case \"menu\":\n              case \"meta\":\n              case \"nobr\":\n              case \"ol\":\n              case \"p\":\n              case \"pre\":\n              case \"ruby\":\n              case \"s\":\n              case \"small\":\n              case \"span\":\n              case \"strong\":\n              case \"strike\":\n              case \"sub\":\n              case \"sup\":\n              case \"table\":\n              case \"tt\":\n              case \"u\":\n              case \"ul\":\n              case \"var\":\n                if (fragment) {\n                  break;\n                }\n                do {\n                  stack.pop();\n                  current = stack.top;\n                } while (current.namespaceURI !== NAMESPACE.HTML && !isMathmlTextIntegrationPoint(current) && !isHTMLIntegrationPoint(current));\n                insertToken(t, value, arg3, arg4);\n                return;\n            }\n            current = stack.elements.length === 1 && fragment ? fragmentContext : stack.top;\n            if (current.namespaceURI === NAMESPACE.MATHML) {\n              adjustMathMLAttributes(arg3);\n            } else if (current.namespaceURI === NAMESPACE.SVG) {\n              value = adjustSVGTagName(value);\n              adjustSVGAttributes(arg3);\n            }\n            adjustForeignAttributes(arg3);\n            insertForeignElement(value, arg3, current.namespaceURI);\n            if (arg4) {\n              stack.pop();\n            }\n            return;\n          case 3:\n            current = stack.top;\n            if (value === \"script\" && current.namespaceURI === NAMESPACE.SVG && current.localName === \"script\") {\n              stack.pop();\n            } else {\n              var i = stack.elements.length - 1;\n              var node = stack.elements[i];\n              for (;;) {\n                if (node.localName.toLowerCase() === value) {\n                  stack.popElement(node);\n                  break;\n                }\n                node = stack.elements[--i];\n                if (node.namespaceURI !== NAMESPACE.HTML) continue;\n                parser(t, value, arg3, arg4);\n                break;\n              }\n            }\n            return;\n        }\n      }\n      htmlparser.testTokenizer = function (input, initialState, lastStartTag, charbychar) {\n        var tokens = [];\n        switch (initialState) {\n          case \"PCDATA state\":\n            tokenizer = data_state;\n            break;\n          case \"RCDATA state\":\n            tokenizer = rcdata_state;\n            break;\n          case \"RAWTEXT state\":\n            tokenizer = rawtext_state;\n            break;\n          case \"PLAINTEXT state\":\n            tokenizer = plaintext_state;\n            break;\n        }\n        if (lastStartTag) {\n          lasttagname = lastStartTag;\n        }\n        insertToken = function (t, value, arg3, arg4) {\n          flushText();\n          switch (t) {\n            case 1:\n              if (tokens.length > 0 && tokens[tokens.length - 1][0] === \"Character\") {\n                tokens[tokens.length - 1][1] += value;\n              } else tokens.push([\"Character\", value]);\n              break;\n            case 4:\n              tokens.push([\"Comment\", value]);\n              break;\n            case 5:\n              tokens.push([\"DOCTYPE\", value, arg3 === void 0 ? null : arg3, arg4 === void 0 ? null : arg4, !force_quirks]);\n              break;\n            case 2:\n              var attrs = /* @__PURE__ */Object.create(null);\n              for (var i2 = 0; i2 < arg3.length; i2++) {\n                var a = arg3[i2];\n                if (a.length === 1) {\n                  attrs[a[0]] = \"\";\n                } else {\n                  attrs[a[0]] = a[1];\n                }\n              }\n              var token = [\"StartTag\", value, attrs];\n              if (arg4) token.push(true);\n              tokens.push(token);\n              break;\n            case 3:\n              tokens.push([\"EndTag\", value]);\n              break;\n          }\n        };\n        if (!charbychar) {\n          this.parse(input, true);\n        } else {\n          for (var i = 0; i < input.length; i++) {\n            this.parse(input[i]);\n          }\n          this.parse(\"\", true);\n        }\n        return tokens;\n      };\n      return htmlparser;\n    }\n  }\n});\n\n// external/npm/node_modules/domino/lib/DOMImplementation.js\nvar require_DOMImplementation = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/DOMImplementation.js\"(exports, module) {\n    module.exports = DOMImplementation;\n    var Document = require_Document();\n    var DocumentType = require_DocumentType();\n    var HTMLParser = require_HTMLParser();\n    var utils = require_utils();\n    var xml = require_xmlnames();\n    function DOMImplementation(contextObject) {\n      this.contextObject = contextObject;\n    }\n    var supportedFeatures = {\n      \"xml\": {\n        \"\": true,\n        \"1.0\": true,\n        \"2.0\": true\n      },\n      \"core\": {\n        \"\": true,\n        \"2.0\": true\n      },\n      \"html\": {\n        \"\": true,\n        \"1.0\": true,\n        \"2.0\": true\n      },\n      \"xhtml\": {\n        \"\": true,\n        \"1.0\": true,\n        \"2.0\": true\n      }\n    };\n    DOMImplementation.prototype = {\n      hasFeature: function hasFeature(feature, version) {\n        var f = supportedFeatures[(feature || \"\").toLowerCase()];\n        return f && f[version || \"\"] || false;\n      },\n      createDocumentType: function createDocumentType(qualifiedName, publicId, systemId) {\n        if (!xml.isValidQName(qualifiedName)) utils.InvalidCharacterError();\n        return new DocumentType(this.contextObject, qualifiedName, publicId, systemId);\n      },\n      createDocument: function createDocument(namespace, qualifiedName, doctype) {\n        var d = new Document(false, null);\n        var e;\n        if (qualifiedName) e = d.createElementNS(namespace, qualifiedName);else e = null;\n        if (doctype) {\n          d.appendChild(doctype);\n        }\n        if (e) d.appendChild(e);\n        if (namespace === utils.NAMESPACE.HTML) {\n          d._contentType = \"application/xhtml+xml\";\n        } else if (namespace === utils.NAMESPACE.SVG) {\n          d._contentType = \"image/svg+xml\";\n        } else {\n          d._contentType = \"application/xml\";\n        }\n        return d;\n      },\n      createHTMLDocument: function createHTMLDocument(titleText) {\n        var d = new Document(true, null);\n        d.appendChild(new DocumentType(d, \"html\"));\n        var html = d.createElement(\"html\");\n        d.appendChild(html);\n        var head = d.createElement(\"head\");\n        html.appendChild(head);\n        if (titleText !== void 0) {\n          var title = d.createElement(\"title\");\n          head.appendChild(title);\n          title.appendChild(d.createTextNode(titleText));\n        }\n        html.appendChild(d.createElement(\"body\"));\n        d.modclock = 1;\n        return d;\n      },\n      mozSetOutputMutationHandler: function (doc, handler) {\n        doc.mutationHandler = handler;\n      },\n      mozGetInputMutationHandler: function (doc) {\n        utils.nyi();\n      },\n      mozHTMLParser: HTMLParser\n    };\n  }\n});\n\n// external/npm/node_modules/domino/lib/Location.js\nvar require_Location = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/Location.js\"(exports, module) {\n    var URL = require_URL();\n    var URLUtils = require_URLUtils();\n    module.exports = Location;\n    function Location(window, href) {\n      this._window = window;\n      this._href = href;\n    }\n    Location.prototype = Object.create(URLUtils.prototype, {\n      constructor: {\n        value: Location\n      },\n      href: {\n        get: function () {\n          return this._href;\n        },\n        set: function (v) {\n          this.assign(v);\n        }\n      },\n      assign: {\n        value: function (url) {\n          var current = new URL(this._href);\n          var newurl = current.resolve(url);\n          this._href = newurl;\n        }\n      },\n      replace: {\n        value: function (url) {\n          this.assign(url);\n        }\n      },\n      reload: {\n        value: function () {\n          this.assign(this.href);\n        }\n      },\n      toString: {\n        value: function () {\n          return this.href;\n        }\n      }\n    });\n  }\n});\n\n// external/npm/node_modules/domino/lib/NavigatorID.js\nvar require_NavigatorID = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/NavigatorID.js\"(exports, module) {\n    var NavigatorID = Object.create(null, {\n      appCodeName: {\n        value: \"Mozilla\"\n      },\n      appName: {\n        value: \"Netscape\"\n      },\n      appVersion: {\n        value: \"4.0\"\n      },\n      platform: {\n        value: \"\"\n      },\n      product: {\n        value: \"Gecko\"\n      },\n      productSub: {\n        value: \"20100101\"\n      },\n      userAgent: {\n        value: \"\"\n      },\n      vendor: {\n        value: \"\"\n      },\n      vendorSub: {\n        value: \"\"\n      },\n      taintEnabled: {\n        value: function () {\n          return false;\n        }\n      }\n    });\n    module.exports = NavigatorID;\n  }\n});\n\n// external/npm/node_modules/domino/lib/WindowTimers.js\nvar require_WindowTimers = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/WindowTimers.js\"(exports, module) {\n    var WindowTimers = {\n      setTimeout,\n      clearTimeout,\n      setInterval,\n      clearInterval\n    };\n    module.exports = WindowTimers;\n  }\n});\n\n// external/npm/node_modules/domino/lib/impl.js\nvar require_impl = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/impl.js\"(exports, module) {\n    var utils = require_utils();\n    exports = module.exports = {\n      CSSStyleDeclaration: require_CSSStyleDeclaration(),\n      CharacterData: require_CharacterData(),\n      Comment: require_Comment(),\n      DOMImplementation: require_DOMImplementation(),\n      DOMTokenList: require_DOMTokenList(),\n      Document: require_Document(),\n      DocumentFragment: require_DocumentFragment(),\n      DocumentType: require_DocumentType(),\n      Element: require_Element(),\n      HTMLParser: require_HTMLParser(),\n      NamedNodeMap: require_NamedNodeMap(),\n      Node: require_Node(),\n      NodeList: require_NodeList(),\n      NodeFilter: require_NodeFilter(),\n      ProcessingInstruction: require_ProcessingInstruction(),\n      Text: require_Text(),\n      Window: require_Window()\n    };\n    utils.merge(exports, require_events());\n    utils.merge(exports, require_htmlelts().elements);\n    utils.merge(exports, require_svg().elements);\n  }\n});\n\n// external/npm/node_modules/domino/lib/Window.js\nvar require_Window = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/Window.js\"(exports, module) {\n    var DOMImplementation = require_DOMImplementation();\n    var EventTarget = require_EventTarget();\n    var Location = require_Location();\n    var utils = require_utils();\n    module.exports = Window;\n    function Window(document) {\n      this.document = document || new DOMImplementation(null).createHTMLDocument(\"\");\n      this.document._scripting_enabled = true;\n      this.document.defaultView = this;\n      this.location = new Location(this, this.document._address || \"about:blank\");\n    }\n    Window.prototype = Object.create(EventTarget.prototype, {\n      console: {\n        value: console\n      },\n      history: {\n        value: {\n          back: utils.nyi,\n          forward: utils.nyi,\n          go: utils.nyi\n        }\n      },\n      navigator: {\n        value: require_NavigatorID()\n      },\n      window: {\n        get: function () {\n          return this;\n        }\n      },\n      self: {\n        get: function () {\n          return this;\n        }\n      },\n      frames: {\n        get: function () {\n          return this;\n        }\n      },\n      parent: {\n        get: function () {\n          return this;\n        }\n      },\n      top: {\n        get: function () {\n          return this;\n        }\n      },\n      length: {\n        value: 0\n      },\n      frameElement: {\n        value: null\n      },\n      opener: {\n        value: null\n      },\n      onload: {\n        get: function () {\n          return this._getEventHandler(\"load\");\n        },\n        set: function (v) {\n          this._setEventHandler(\"load\", v);\n        }\n      },\n      getComputedStyle: {\n        value: function getComputedStyle(elt) {\n          return elt.style;\n        }\n      }\n    });\n    utils.expose(require_WindowTimers(), Window);\n    utils.expose(require_impl(), Window);\n  }\n});\n\n// external/npm/node_modules/domino/lib/index.js\nvar require_lib = /*#__PURE__*/__commonJS({\n  \"external/npm/node_modules/domino/lib/index.js\"(exports) {\n    var DOMImplementation = require_DOMImplementation();\n    var HTMLParser = require_HTMLParser();\n    require_Window();\n    var impl = require_impl();\n    exports.createDOMImplementation = function () {\n      return new DOMImplementation(null);\n    };\n    exports.createDocument = function (html, force) {\n      if (html || force) {\n        var parser = new HTMLParser();\n        parser.parse(html || \"\", true);\n        return parser.document();\n      }\n      return new DOMImplementation(null).createHTMLDocument(\"\");\n    };\n    exports.createIncrementalHTMLParser = function () {\n      var parser = new HTMLParser();\n      return {\n        write: function (s) {\n          if (s.length > 0) {\n            parser.parse(s, false, function () {\n              return true;\n            });\n          }\n        },\n        end: function (s) {\n          parser.parse(s || \"\", true, function () {\n            return true;\n          });\n        },\n        process: function (shouldPauseFunc) {\n          return parser.parse(\"\", false, shouldPauseFunc);\n        },\n        document: function () {\n          return parser.document();\n        }\n      };\n    };\n    exports.createWindow = function (html, address) {\n      var document = exports.createDocument(html);\n      if (address !== void 0) {\n        document._address = address;\n      }\n      return new impl.Window(document);\n    };\n    exports.impl = impl;\n  }\n});\nvar domino = /*#__PURE__*/require_lib();\nfunction setDomTypes() {\n  // Make all Domino types available in the global env.\n  // NB: Any changes here should also be done in `packages/platform-server/init/src/shims.ts`.\n  Object.assign(globalThis, domino.impl);\n  globalThis['KeyboardEvent'] = domino.impl.Event;\n}\n/**\n * Parses a document string to a Document object.\n */\nfunction parseDocument(html, url = '/') {\n  let window = domino.createWindow(html, url);\n  let doc = window.document;\n  return doc;\n}\n/**\n * Serializes a document to string.\n */\nfunction serializeDocument(doc) {\n  return doc.serialize();\n}\n/**\n * DOM Adapter for the server platform based on https://github.com/fgnass/domino.\n */\nlet DominoAdapter = /*#__PURE__*/(() => {\n  class DominoAdapter extends _BrowserDomAdapter {\n    static makeCurrent() {\n      setDomTypes();\n      _setRootDomAdapter(new DominoAdapter());\n    }\n    supportsDOMEvents = false;\n    static defaultDoc;\n    createHtmlDocument() {\n      return parseDocument('<html><head><title>fakeTitle</title></head><body></body></html>');\n    }\n    getDefaultDocument() {\n      if (!DominoAdapter.defaultDoc) {\n        DominoAdapter.defaultDoc = domino.createDocument();\n      }\n      return DominoAdapter.defaultDoc;\n    }\n    isElementNode(node) {\n      return node ? node.nodeType === DominoAdapter.defaultDoc.ELEMENT_NODE : false;\n    }\n    isShadowRoot(node) {\n      return node.shadowRoot == node;\n    }\n    /** @deprecated No longer being used in Ivy code. To be removed in version 14. */\n    getGlobalEventTarget(doc, target) {\n      if (target === 'window') {\n        return doc.defaultView;\n      }\n      if (target === 'document') {\n        return doc;\n      }\n      if (target === 'body') {\n        return doc.body;\n      }\n      return null;\n    }\n    getBaseHref(doc) {\n      const length = doc.head.children.length;\n      // The `<base>` can only be a direct child of `<head>` so we can save some\n      // execution time by looking through them directly instead of querying for it.\n      // See: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/base\n      // Note that we can't cache the `href` value itself, because this method gets called with a\n      // different document every time which means that in theory the value can be different too.\n      for (let i = 0; i < length; i++) {\n        const child = doc.head.children[i];\n        // Tag names are always uppercase for HTML nodes.\n        if (child.tagName === 'BASE') {\n          // TODO(alxhub): Need relative path logic from BrowserDomAdapter here?\n          return child.getAttribute('href') || '';\n        }\n      }\n      return '';\n    }\n    dispatchEvent(el, evt) {\n      el.dispatchEvent(evt);\n      // Dispatch the event to the window also.\n      const doc = el.ownerDocument || el;\n      const win = doc.defaultView;\n      if (win) {\n        win.dispatchEvent(evt);\n      }\n    }\n    getUserAgent() {\n      return 'Fake user agent';\n    }\n    getCookie(name) {\n      throw new Error('getCookie has not been implemented');\n    }\n  }\n  return DominoAdapter;\n})();\n/**\n * The DI token for setting the initial config for the platform.\n *\n * @publicApi\n */\nconst INITIAL_CONFIG = /*#__PURE__*/new InjectionToken('Server.INITIAL_CONFIG');\n/**\n * A function that will be executed when calling `renderApplication` or\n * `renderModule` just before current platform state is rendered to string.\n *\n * @publicApi\n */\nconst BEFORE_APP_SERIALIZED = /*#__PURE__*/new InjectionToken('Server.RENDER_MODULE_HOOK');\nconst ENABLE_DOM_EMULATION = /*#__PURE__*/new InjectionToken('ENABLE_DOM_EMULATION');\n\n/**\n * Representation of the current platform state.\n *\n * @publicApi\n */\nlet PlatformState = /*#__PURE__*/(() => {\n  class PlatformState {\n    _doc;\n    /* @internal */\n    _enableDomEmulation = enableDomEmulation(inject(Injector));\n    constructor(_doc) {\n      this._doc = _doc;\n    }\n    /**\n     * Renders the current state of the platform to string.\n     */\n    renderToString() {\n      if (ngDevMode && !this._enableDomEmulation && !window?.document) {\n        throw new Error('Disabled DOM emulation should only run in browser environments');\n      }\n      const measuringLabel = 'renderToString';\n      _startMeasuring(measuringLabel);\n      const rendered = this._enableDomEmulation ? serializeDocument(this._doc) :\n      // In the case we run/test the platform-server in a browser environment\n      this._doc.documentElement.outerHTML;\n      _stopMeasuring(measuringLabel);\n      return rendered;\n    }\n    /**\n     * Returns the current DOM state.\n     */\n    getDocument() {\n      return this._doc;\n    }\n    static ɵfac = function PlatformState_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || PlatformState)(i0.ɵɵinject(DOCUMENT));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: PlatformState,\n      factory: PlatformState.ɵfac\n    });\n  }\n  return PlatformState;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction enableDomEmulation(injector) {\n  return injector.get(ENABLE_DOM_EMULATION, true);\n}\nlet ServerXhr = /*#__PURE__*/(() => {\n  class ServerXhr {\n    xhrImpl;\n    // The `xhr2` dependency has a side-effect of accessing and modifying a\n    // global scope. Loading `xhr2` dynamically allows us to delay the loading\n    // and start the process once the global scope is established by the underlying\n    // server platform (via shims, etc).\n    async ɵloadImpl() {\n      if (!this.xhrImpl) {\n        const {\n          default: xhr\n        } = await import('xhr2');\n        this.xhrImpl = xhr;\n      }\n    }\n    build() {\n      const impl = this.xhrImpl;\n      if (!impl) {\n        throw new Error('Unexpected state in ServerXhr: XHR implementation is not loaded.');\n      }\n      return new impl.XMLHttpRequest();\n    }\n    static ɵfac = function ServerXhr_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ServerXhr)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: ServerXhr,\n      factory: ServerXhr.ɵfac\n    });\n  }\n  return ServerXhr;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction relativeUrlsTransformerInterceptorFn(request, next) {\n  const platformLocation = inject(PlatformLocation);\n  const {\n    href,\n    protocol,\n    hostname,\n    port\n  } = platformLocation;\n  if (!protocol.startsWith('http')) {\n    return next(request);\n  }\n  let urlPrefix = `${protocol}//${hostname}`;\n  if (port) {\n    urlPrefix += `:${port}`;\n  }\n  const baseHref = platformLocation.getBaseHrefFromDOM() || href;\n  const baseUrl = new URL(baseHref, urlPrefix);\n  const newUrl = new URL(request.url, baseUrl).toString();\n  return next(request.clone({\n    url: newUrl\n  }));\n}\nconst SERVER_HTTP_PROVIDERS = [{\n  provide: XhrFactory,\n  useClass: ServerXhr\n}, {\n  provide: _HTTP_ROOT_INTERCEPTOR_FNS,\n  useValue: relativeUrlsTransformerInterceptorFn,\n  multi: true\n}];\nconst RESOLVE_PROTOCOL = 'resolve:';\nfunction parseUrl(urlStr) {\n  const {\n    hostname,\n    protocol,\n    port,\n    pathname,\n    search,\n    hash\n  } = new URL(urlStr, RESOLVE_PROTOCOL + '//');\n  return {\n    hostname,\n    protocol: protocol === RESOLVE_PROTOCOL ? '' : protocol,\n    port,\n    pathname,\n    search,\n    hash\n  };\n}\n/**\n * Server-side implementation of URL state. Implements `pathname`, `search`, and `hash`\n * but not the state stack.\n */\nlet ServerPlatformLocation = /*#__PURE__*/(() => {\n  class ServerPlatformLocation {\n    _doc;\n    href = '/';\n    hostname = '/';\n    protocol = '/';\n    port = '/';\n    pathname = '/';\n    search = '';\n    hash = '';\n    _hashUpdate = new Subject();\n    constructor(_doc, _config) {\n      this._doc = _doc;\n      const config = _config;\n      if (!config) {\n        return;\n      }\n      if (config.url) {\n        const url = parseUrl(config.url);\n        this.protocol = url.protocol;\n        this.hostname = url.hostname;\n        this.port = url.port;\n        this.pathname = url.pathname;\n        this.search = url.search;\n        this.hash = url.hash;\n        this.href = _doc.location.href;\n      }\n    }\n    getBaseHrefFromDOM() {\n      return _getDOM().getBaseHref(this._doc);\n    }\n    onPopState(fn) {\n      // No-op: a state stack is not implemented, so\n      // no events will ever come.\n      return () => {};\n    }\n    onHashChange(fn) {\n      const subscription = this._hashUpdate.subscribe(fn);\n      return () => subscription.unsubscribe();\n    }\n    get url() {\n      return `${this.pathname}${this.search}${this.hash}`;\n    }\n    setHash(value, oldUrl) {\n      if (this.hash === value) {\n        // Don't fire events if the hash has not changed.\n        return;\n      }\n      this.hash = value;\n      const newUrl = this.url;\n      queueMicrotask(() => this._hashUpdate.next({\n        type: 'hashchange',\n        state: null,\n        oldUrl,\n        newUrl\n      }));\n    }\n    replaceState(state, title, newUrl) {\n      const oldUrl = this.url;\n      const parsedUrl = parseUrl(newUrl);\n      this.pathname = parsedUrl.pathname;\n      this.search = parsedUrl.search;\n      this.setHash(parsedUrl.hash, oldUrl);\n    }\n    pushState(state, title, newUrl) {\n      this.replaceState(state, title, newUrl);\n    }\n    forward() {\n      throw new Error('Not implemented');\n    }\n    back() {\n      throw new Error('Not implemented');\n    }\n    // History API isn't available on server, therefore return undefined\n    getState() {\n      return undefined;\n    }\n    static ɵfac = function ServerPlatformLocation_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ServerPlatformLocation)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(INITIAL_CONFIG, 8));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: ServerPlatformLocation,\n      factory: ServerPlatformLocation.ɵfac\n    });\n  }\n  return ServerPlatformLocation;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet ServerEventManagerPlugin = /*#__PURE__*/(() => {\n  class ServerEventManagerPlugin extends EventManagerPlugin {\n    doc;\n    constructor(doc) {\n      super(doc);\n      this.doc = doc;\n    }\n    // Handle all events on the server.\n    supports(eventName) {\n      return true;\n    }\n    addEventListener(element, eventName, handler, options) {\n      return _getDOM().onAndCancel(element, eventName, handler, options);\n    }\n    static ɵfac = function ServerEventManagerPlugin_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ServerEventManagerPlugin)(i0.ɵɵinject(DOCUMENT));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: ServerEventManagerPlugin,\n      factory: ServerEventManagerPlugin.ɵfac\n    });\n  }\n  return ServerEventManagerPlugin;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// Tracks whether the server-side application state for a given app ID has been serialized already.\nconst TRANSFER_STATE_SERIALIZED_FOR_APPID = /*#__PURE__*/new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'TRANSFER_STATE_SERIALIZED_FOR_APPID' : '', {\n  providedIn: 'platform',\n  factory: () => new Set()\n});\nconst TRANSFER_STATE_SERIALIZATION_PROVIDERS = [{\n  provide: BEFORE_APP_SERIALIZED,\n  useFactory: serializeTransferStateFactory,\n  multi: true\n}];\n/** TODO: Move this to a utils folder and convert to use SafeValues. */\nfunction createScript(doc, textContent, nonce) {\n  const script = doc.createElement('script');\n  script.textContent = textContent;\n  if (nonce) {\n    script.setAttribute('nonce', nonce);\n  }\n  return script;\n}\nfunction warnIfStateTransferHappened(injector) {\n  const appId = injector.get(APP_ID);\n  const appIdsWithTransferStateSerialized = injector.get(TRANSFER_STATE_SERIALIZED_FOR_APPID);\n  if (appIdsWithTransferStateSerialized.has(appId)) {\n    console.warn(`Angular detected an incompatible configuration, which causes duplicate serialization of the server-side application state.\\n\\n` + `This can happen if the server providers have been provided more than once using different mechanisms. For example:\\n\\n` + `  imports: [ServerModule], // Registers server providers\\n` + `  providers: [provideServerRendering()] // Also registers server providers\\n\\n` + `To fix this, ensure that the \\`provideServerRendering()\\` function is the only provider used and remove the other(s).`);\n  }\n  appIdsWithTransferStateSerialized.add(appId);\n}\nfunction serializeTransferStateFactory() {\n  const doc = inject(DOCUMENT);\n  const appId = inject(APP_ID);\n  const transferStore = inject(TransferState);\n  const injector = inject(Injector);\n  return () => {\n    const measuringLabel = 'serializeTransferStateFactory';\n    _startMeasuring(measuringLabel);\n    // The `.toJSON` here causes the `onSerialize` callbacks to be called.\n    // These callbacks can be used to provide the value for a given key.\n    const content = transferStore.toJson();\n    if (transferStore.isEmpty) {\n      // The state is empty, nothing to transfer,\n      // avoid creating an extra `<script>` tag in this case.\n      return;\n    }\n    if (typeof ngDevMode !== 'undefined' && ngDevMode) {\n      warnIfStateTransferHappened(injector);\n    }\n    const script = createScript(doc, content,\n    /**\n     * `nonce` is not required for 'application/json'\n     * See: https://html.spec.whatwg.org/multipage/scripting.html#attr-script-type\n     */\n    null);\n    script.id = appId + '-state';\n    script.setAttribute('type', 'application/json');\n    // It is intentional that we add the script at the very bottom. Angular CLI script tags for\n    // bundles are always `type=\"module\"`. These are deferred by default and cause the\n    // transfer data to be queried only after the browser has finished parsing the DOM.\n    doc.body.appendChild(script);\n    _stopMeasuring(measuringLabel);\n  };\n}\nconst INTERNAL_SERVER_PLATFORM_PROVIDERS = [{\n  provide: DOCUMENT,\n  useFactory: _document,\n  deps: [Injector]\n}, {\n  provide: PLATFORM_ID,\n  useValue: _PLATFORM_SERVER_ID\n}, {\n  provide: PLATFORM_INITIALIZER,\n  useFactory: initDominoAdapter,\n  multi: true,\n  deps: [Injector]\n}, {\n  provide: PlatformLocation,\n  useClass: ServerPlatformLocation,\n  deps: [DOCUMENT, [Optional, INITIAL_CONFIG]]\n}, {\n  provide: PlatformState,\n  deps: [DOCUMENT]\n}];\nfunction initDominoAdapter(injector) {\n  const _enableDomEmulation = enableDomEmulation(injector);\n  return () => {\n    if (_enableDomEmulation) {\n      DominoAdapter.makeCurrent();\n    } else {\n      _BrowserDomAdapter.makeCurrent();\n    }\n  };\n}\nconst SERVER_RENDER_PROVIDERS = [{\n  provide: EVENT_MANAGER_PLUGINS,\n  multi: true,\n  useClass: ServerEventManagerPlugin\n}];\nconst PLATFORM_SERVER_PROVIDERS = [TRANSFER_STATE_SERIALIZATION_PROVIDERS, SERVER_RENDER_PROVIDERS, SERVER_HTTP_PROVIDERS, {\n  provide: Testability,\n  useValue: null\n},\n// Keep for backwards-compatibility.\n{\n  provide: _TESTABILITY,\n  useValue: null\n}, {\n  provide: ViewportScroller,\n  useClass: _NullViewportScroller\n}];\n/**\n * The ng module for the server.\n *\n * @publicApi\n */\nlet ServerModule = /*#__PURE__*/(() => {\n  class ServerModule {\n    static ɵfac = function ServerModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ServerModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: ServerModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      providers: PLATFORM_SERVER_PROVIDERS,\n      imports: [BrowserModule]\n    });\n  }\n  return ServerModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction _document(injector) {\n  const config = injector.get(INITIAL_CONFIG, null);\n  const _enableDomEmulation = enableDomEmulation(injector);\n  let document;\n  if (config && config.document) {\n    document = typeof config.document === 'string' ? _enableDomEmulation ? parseDocument(config.document, config.url) : window.document : config.document;\n  } else {\n    document = _getDOM().createHtmlDocument();\n  }\n  // Tell ivy about the global document\n  _setDocument(document);\n  return document;\n}\n/**\n * Creates a server-side instance of an Angular platform.\n *\n * This platform should be used when performing server-side rendering of an Angular application.\n * Standalone applications can be bootstrapped on the server using the `bootstrapApplication`\n * function from `@angular/platform-browser`. When using `bootstrapApplication`, the `platformServer`\n * should be created first and passed to the bootstrap function using the `BootstrapContext`.\n *\n * @publicApi\n */\nfunction platformServer(extraProviders) {\n  const noServerModeSet = typeof ngServerMode === 'undefined';\n  if (noServerModeSet) {\n    globalThis['ngServerMode'] = true;\n  }\n  const platform = createPlatformFactory(platformCore, 'server', INTERNAL_SERVER_PLATFORM_PROVIDERS)(extraProviders);\n  if (noServerModeSet) {\n    platform.onDestroy(() => {\n      globalThis['ngServerMode'] = undefined;\n    });\n  }\n  return platform;\n}\nexport { BEFORE_APP_SERIALIZED, DominoAdapter, ENABLE_DOM_EMULATION, INITIAL_CONFIG, INTERNAL_SERVER_PLATFORM_PROVIDERS, PLATFORM_SERVER_PROVIDERS, PlatformState, SERVER_RENDER_PROVIDERS, ServerModule, createScript, platformServer };\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { PLATFORM_SERVER_PROVIDERS, PlatformState, BEFORE_APP_SERIALIZED, platformServer, INITIAL_CONFIG, createScript } from './server-hHJ05Ji8.mjs';\nexport { ServerModule, DominoAdapter as ɵDominoAdapter, ENABLE_DOM_EMULATION as ɵENABLE_DOM_EMULATION, INTERNAL_SERVER_PLATFORM_PROVIDERS as ɵINTERNAL_SERVER_PLATFORM_PROVIDERS, SERVER_RENDER_PROVIDERS as ɵSERVER_RENDER_PROVIDERS } from './server-hHJ05Ji8.mjs';\nimport { makeEnvironmentProviders, InjectionToken, ɵstartMeasuring as _startMeasuring, ɵstopMeasuring as _stopMeasuring, ApplicationRef, ɵIS_HYDRATION_DOM_REUSE_ENABLED as _IS_HYDRATION_DOM_REUSE_ENABLED, ɵannotateForHydration as _annotateForHydration, CSP_NONCE, APP_ID, Renderer2, ɵSSR_CONTENT_INTEGRITY_MARKER as _SSR_CONTENT_INTEGRITY_MARKER, Version } from '@angular/core';\nimport '@angular/common';\nimport '@angular/platform-browser';\nimport '@angular/common/http';\nimport 'rxjs';\n\n/**\n * Sets up providers necessary to enable server rendering functionality for the application.\n *\n * @usageNotes\n *\n * Basic example of how you can add server support to your application:\n * ```ts\n * bootstrapApplication(AppComponent, {\n *   providers: [provideServerRendering()]\n * });\n * ```\n *\n * @publicApi\n * @returns A set of providers to setup the server.\n */\nfunction provideServerRendering() {\n  if (typeof ngServerMode === 'undefined') {\n    globalThis['ngServerMode'] = true;\n  }\n  return makeEnvironmentProviders([...PLATFORM_SERVER_PROVIDERS]);\n}\n\n/**\n * Event dispatch (JSAction) script is inlined into the HTML by the build\n * process to avoid extra blocking request on a page. The script looks like this:\n * ```html\n * <script type=\"text/javascript\" id=\"ng-event-dispatch-contract\">...</script>\n * ```\n * This const represents the \"id\" attribute value.\n */\nconst EVENT_DISPATCH_SCRIPT_ID = 'ng-event-dispatch-contract';\n/**\n * Creates an instance of a server platform (with or without JIT compiler support\n * depending on the `ngJitMode` global const value), using provided options.\n */\nfunction createServerPlatform(options) {\n  const extraProviders = options.platformProviders ?? [];\n  const measuringLabel = 'createServerPlatform';\n  _startMeasuring(measuringLabel);\n  const platform = platformServer([{\n    provide: INITIAL_CONFIG,\n    useValue: {\n      document: options.document,\n      url: options.url\n    }\n  }, extraProviders]);\n  _stopMeasuring(measuringLabel);\n  return platform;\n}\n/**\n * Finds and returns inlined event dispatch script if it exists.\n * See the `EVENT_DISPATCH_SCRIPT_ID` const docs for additional info.\n */\nfunction findEventDispatchScript(doc) {\n  return doc.getElementById(EVENT_DISPATCH_SCRIPT_ID);\n}\n/**\n * Removes inlined event dispatch script if it exists.\n * See the `EVENT_DISPATCH_SCRIPT_ID` const docs for additional info.\n */\nfunction removeEventDispatchScript(doc) {\n  findEventDispatchScript(doc)?.remove();\n}\n/**\n * Annotate nodes for hydration and remove event dispatch script when not needed.\n */\nfunction prepareForHydration(platformState, applicationRef) {\n  const measuringLabel = 'prepareForHydration';\n  _startMeasuring(measuringLabel);\n  const environmentInjector = applicationRef.injector;\n  const doc = platformState.getDocument();\n  if (!environmentInjector.get(_IS_HYDRATION_DOM_REUSE_ENABLED, false)) {\n    // Hydration is diabled, remove inlined event dispatch script.\n    // (which was injected by the build process) from the HTML.\n    removeEventDispatchScript(doc);\n    return;\n  }\n  appendSsrContentIntegrityMarker(doc);\n  const eventTypesToReplay = _annotateForHydration(applicationRef, doc);\n  if (eventTypesToReplay.regular.size || eventTypesToReplay.capture.size) {\n    insertEventRecordScript(environmentInjector.get(APP_ID), doc, eventTypesToReplay, environmentInjector.get(CSP_NONCE, null));\n  } else {\n    // No events to replay, we should remove inlined event dispatch script\n    // (which was injected by the build process) from the HTML.\n    removeEventDispatchScript(doc);\n  }\n  _stopMeasuring(measuringLabel);\n}\n/**\n * Creates a marker comment node and append it into the `<body>`.\n * Some CDNs have mechanisms to remove all comment node from HTML.\n * This behaviour breaks hydration, so we'll detect on the client side if this\n * marker comment is still available or else throw an error\n */\nfunction appendSsrContentIntegrityMarker(doc) {\n  // Adding a ng hydration marker comment\n  const comment = doc.createComment(_SSR_CONTENT_INTEGRITY_MARKER);\n  doc.body.firstChild ? doc.body.insertBefore(comment, doc.body.firstChild) : doc.body.append(comment);\n}\n/**\n * Adds the `ng-server-context` attribute to host elements of all bootstrapped components\n * within a given application.\n */\nfunction appendServerContextInfo(applicationRef) {\n  const injector = applicationRef.injector;\n  let serverContext = sanitizeServerContext(injector.get(SERVER_CONTEXT, DEFAULT_SERVER_CONTEXT));\n  applicationRef.components.forEach(componentRef => {\n    const renderer = componentRef.injector.get(Renderer2);\n    const element = componentRef.location.nativeElement;\n    if (element) {\n      renderer.setAttribute(element, 'ng-server-context', serverContext);\n    }\n  });\n}\nfunction insertEventRecordScript(appId, doc, eventTypesToReplay, nonce) {\n  const measuringLabel = 'insertEventRecordScript';\n  _startMeasuring(measuringLabel);\n  const {\n    regular,\n    capture\n  } = eventTypesToReplay;\n  const eventDispatchScript = findEventDispatchScript(doc);\n  // Note: this is only true when build with the CLI tooling, which inserts the script in the HTML\n  if (eventDispatchScript) {\n    // This is defined in packages/core/primitives/event-dispatch/contract_binary.ts\n    const replayScriptContents = `window.__jsaction_bootstrap(` + `document.body,` + `\"${appId}\",` + `${JSON.stringify(Array.from(regular))},` + `${JSON.stringify(Array.from(capture))}` + `);`;\n    const replayScript = createScript(doc, replayScriptContents, nonce);\n    // Insert replay script right after inlined event dispatch script, since it\n    // relies on `__jsaction_bootstrap` to be defined in the global scope.\n    eventDispatchScript.after(replayScript);\n  }\n  _stopMeasuring(measuringLabel);\n}\n/**\n * Renders an Angular application to a string.\n *\n * @private\n *\n * @param platformRef - Reference to the Angular platform.\n * @param applicationRef - Reference to the Angular application.\n * @returns A promise that resolves to the rendered string.\n */\nasync function renderInternal(platformRef, applicationRef) {\n  const platformState = platformRef.injector.get(PlatformState);\n  prepareForHydration(platformState, applicationRef);\n  appendServerContextInfo(applicationRef);\n  // Run any BEFORE_APP_SERIALIZED callbacks just before rendering to string.\n  const environmentInjector = applicationRef.injector;\n  const callbacks = environmentInjector.get(BEFORE_APP_SERIALIZED, null);\n  if (callbacks) {\n    const asyncCallbacks = [];\n    for (const callback of callbacks) {\n      try {\n        const callbackResult = callback();\n        if (callbackResult) {\n          asyncCallbacks.push(callbackResult);\n        }\n      } catch (e) {\n        // Ignore exceptions.\n        console.warn('Ignoring BEFORE_APP_SERIALIZED Exception: ', e);\n      }\n    }\n    if (asyncCallbacks.length) {\n      for (const result of await Promise.allSettled(asyncCallbacks)) {\n        if (result.status === 'rejected') {\n          console.warn('Ignoring BEFORE_APP_SERIALIZED Exception: ', result.reason);\n        }\n      }\n    }\n  }\n  return platformState.renderToString();\n}\n/**\n * Destroy the application in a macrotask, this allows pending promises to be settled and errors\n * to be surfaced to the users.\n */\nfunction asyncDestroyPlatform(platformRef) {\n  return new Promise(resolve => {\n    setTimeout(() => {\n      platformRef.destroy();\n      resolve();\n    }, 0);\n  });\n}\n/**\n * Specifies the value that should be used if no server context value has been provided.\n */\nconst DEFAULT_SERVER_CONTEXT = 'other';\n/**\n * An internal token that allows providing extra information about the server context\n * (e.g. whether SSR or SSG was used). The value is a string and characters other\n * than [a-zA-Z0-9\\-] are removed. See the default value in `DEFAULT_SERVER_CONTEXT` const.\n */\nconst SERVER_CONTEXT = /*#__PURE__*/new InjectionToken('SERVER_CONTEXT');\n/**\n * Sanitizes provided server context:\n * - removes all characters other than a-z, A-Z, 0-9 and `-`\n * - returns `other` if nothing is provided or the string is empty after sanitization\n */\nfunction sanitizeServerContext(serverContext) {\n  const context = serverContext.replace(/[^a-zA-Z0-9\\-]/g, '');\n  return context.length > 0 ? context : DEFAULT_SERVER_CONTEXT;\n}\n/**\n * Bootstraps an application using provided NgModule and serializes the page content to string.\n *\n * @param moduleType A reference to an NgModule that should be used for bootstrap.\n * @param options Additional configuration for the render operation:\n *  - `document` - the document of the page to render, either as an HTML string or\n *                 as a reference to the `document` instance.\n *  - `url` - the URL for the current render request.\n *  - `extraProviders` - set of platform level providers for the current render request.\n *\n * @publicApi\n */\nasync function renderModule(moduleType, options) {\n  const {\n    document,\n    url,\n    extraProviders: platformProviders\n  } = options;\n  const platformRef = createServerPlatform({\n    document,\n    url,\n    platformProviders\n  });\n  try {\n    const moduleRef = await platformRef.bootstrapModule(moduleType);\n    const applicationRef = moduleRef.injector.get(ApplicationRef);\n    const measuringLabel = 'whenStable';\n    _startMeasuring(measuringLabel);\n    // Block until application is stable.\n    await applicationRef.whenStable();\n    _stopMeasuring(measuringLabel);\n    return await renderInternal(platformRef, applicationRef);\n  } finally {\n    await asyncDestroyPlatform(platformRef);\n  }\n}\n/**\n * Bootstraps an instance of an Angular application and renders it to a string.\n *\n * @usageNotes\n *\n * ```ts\n * import { BootstrapContext, bootstrapApplication } from '@angular/platform-browser';\n * import { renderApplication } from '@angular/platform-server';\n * import { ApplicationConfig } from '@angular/core';\n * import { AppComponent } from './app.component';\n *\n * const appConfig: ApplicationConfig = { providers: [...] };\n * const bootstrap = (context: BootstrapContext) =>\n *   bootstrapApplication(AppComponent, config, context);\n * const output = await renderApplication(bootstrap);\n * ```\n *\n * @param bootstrap A method that when invoked returns a promise that returns an `ApplicationRef`\n *     instance once resolved. The method is invoked with an `Injector` instance that\n *     provides access to the platform-level dependency injection context.\n * @param options Additional configuration for the render operation:\n *  - `document` - the document of the page to render, either as an HTML string or\n *                 as a reference to the `document` instance.\n *  - `url` - the URL for the current render request.\n *  - `platformProviders` - the platform level providers for the current render request.\n *\n * @returns A Promise, that returns serialized (to a string) rendered page, once resolved.\n *\n * @publicApi\n */\nasync function renderApplication(bootstrap, options) {\n  const renderAppLabel = 'renderApplication';\n  const bootstrapLabel = 'bootstrap';\n  const _renderLabel = '_render';\n  _startMeasuring(renderAppLabel);\n  const platformRef = createServerPlatform(options);\n  try {\n    _startMeasuring(bootstrapLabel);\n    const applicationRef = await bootstrap({\n      platformRef\n    });\n    _stopMeasuring(bootstrapLabel);\n    _startMeasuring(_renderLabel);\n    const measuringLabel = 'whenStable';\n    _startMeasuring(measuringLabel);\n    // Block until application is stable.\n    await applicationRef.whenStable();\n    _stopMeasuring(measuringLabel);\n    const rendered = await renderInternal(platformRef, applicationRef);\n    _stopMeasuring(_renderLabel);\n    return rendered;\n  } finally {\n    await asyncDestroyPlatform(platformRef);\n    _stopMeasuring(renderAppLabel);\n  }\n}\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of the platform-server package.\n */\n/**\n * @publicApi\n */\nconst VERSION = /*#__PURE__*/new Version('19.2.20');\nexport { BEFORE_APP_SERIALIZED, INITIAL_CONFIG, PlatformState, VERSION, platformServer, provideServerRendering, renderApplication, renderModule, SERVER_CONTEXT as ɵSERVER_CONTEXT, renderInternal as ɵrenderInternal };\n","function createNotImplementedError(name) {\n  throw new Error(`[unenv] ${name} is not implemented yet!`);\n}\nfunction notImplemented(name) {\n  const fn = () => {\n    throw createNotImplementedError(name);\n  };\n  return Object.assign(fn, {\n    __unenv__: true\n  });\n}\nconst access = /*#__PURE__*/notImplemented(\"fs.access\");\nconst copyFile = /*#__PURE__*/notImplemented(\"fs.copyFile\");\nconst cp = /*#__PURE__*/notImplemented(\"fs.cp\");\nconst open = /*#__PURE__*/notImplemented(\"fs.open\");\nconst opendir = /*#__PURE__*/notImplemented(\"fs.opendir\");\nconst rename = /*#__PURE__*/notImplemented(\"fs.rename\");\nconst truncate = /*#__PURE__*/notImplemented(\"fs.truncate\");\nconst rm = /*#__PURE__*/notImplemented(\"fs.rm\");\nconst rmdir = /*#__PURE__*/notImplemented(\"fs.rmdir\");\nconst mkdir = /*#__PURE__*/notImplemented(\"fs.mkdir\");\nconst readdir = /*#__PURE__*/notImplemented(\"fs.readdir\");\nconst readlink = /*#__PURE__*/notImplemented(\"fs.readlink\");\nconst symlink = /*#__PURE__*/notImplemented(\"fs.symlink\");\nconst lstat = /*#__PURE__*/notImplemented(\"fs.lstat\");\nconst stat = /*#__PURE__*/notImplemented(\"fs.stat\");\nconst link = /*#__PURE__*/notImplemented(\"fs.link\");\nconst unlink = /*#__PURE__*/notImplemented(\"fs.unlink\");\nconst chmod = /*#__PURE__*/notImplemented(\"fs.chmod\");\nconst lchmod = /*#__PURE__*/notImplemented(\"fs.lchmod\");\nconst lchown = /*#__PURE__*/notImplemented(\"fs.lchown\");\nconst chown = /*#__PURE__*/notImplemented(\"fs.chown\");\nconst utimes = /*#__PURE__*/notImplemented(\"fs.utimes\");\nconst lutimes = /*#__PURE__*/notImplemented(\"fs.lutimes\");\nconst realpath = /*#__PURE__*/notImplemented(\"fs.realpath\");\nconst mkdtemp = /*#__PURE__*/notImplemented(\"fs.mkdtemp\");\nconst writeFile = /*#__PURE__*/notImplemented(\"fs.writeFile\");\nconst appendFile = /*#__PURE__*/notImplemented(\"fs.appendFile\");\nconst readFile$1 = /*#__PURE__*/notImplemented(\"fs.readFile\");\n/*#__PURE__*/notImplemented(\"fs.watch\");\nconst statfs = /*#__PURE__*/notImplemented(\"fs.statfs\");\nfunction notImplementedAsync(name) {\n  const fn = notImplemented(name);\n  fn.__promisify__ = () => notImplemented(name + \".__promisify__\");\n  fn.native = fn;\n  return fn;\n}\nfunction callbackify(fn) {\n  const fnc = function (...args) {\n    const cb = args.pop();\n    fn().catch(error => cb(error)).then(val => cb(void 0, val));\n  };\n  fnc.__promisify__ = fn;\n  fnc.native = fnc;\n  return fnc;\n}\n/*#__PURE__*/callbackify(access);\n/*#__PURE__*/callbackify(appendFile);\n/*#__PURE__*/callbackify(chown);\n/*#__PURE__*/callbackify(chmod);\n/*#__PURE__*/callbackify(copyFile);\n/*#__PURE__*/callbackify(cp);\n/*#__PURE__*/callbackify(lchown);\n/*#__PURE__*/callbackify(lchmod);\n/*#__PURE__*/callbackify(link);\n/*#__PURE__*/callbackify(lstat);\n/*#__PURE__*/callbackify(lutimes);\n/*#__PURE__*/callbackify(mkdir);\n/*#__PURE__*/callbackify(mkdtemp);\n/*#__PURE__*/callbackify(realpath);\n/*#__PURE__*/callbackify(open);\n/*#__PURE__*/callbackify(opendir);\n/*#__PURE__*/callbackify(readdir);\nconst readFile = /*#__PURE__*/callbackify(readFile$1);\n/*#__PURE__*/callbackify(readlink);\n/*#__PURE__*/callbackify(rename);\n/*#__PURE__*/callbackify(rm);\n/*#__PURE__*/callbackify(rmdir);\n/*#__PURE__*/callbackify(stat);\n/*#__PURE__*/callbackify(symlink);\n/*#__PURE__*/callbackify(truncate);\n/*#__PURE__*/callbackify(unlink);\n/*#__PURE__*/callbackify(utimes);\n/*#__PURE__*/callbackify(writeFile);\n/*#__PURE__*/callbackify(statfs);\n/*#__PURE__*/notImplementedAsync(\"fs.close\");\n/*#__PURE__*/notImplementedAsync(\"fs.createReadStream\");\n/*#__PURE__*/notImplementedAsync(\"fs.createWriteStream\");\n/*#__PURE__*/notImplementedAsync(\"fs.exists\");\n/*#__PURE__*/notImplementedAsync(\"fs.fchown\");\n/*#__PURE__*/notImplementedAsync(\"fs.fchmod\");\n/*#__PURE__*/notImplementedAsync(\"fs.fdatasync\");\n/*#__PURE__*/notImplementedAsync(\"fs.fstat\");\n/*#__PURE__*/notImplementedAsync(\"fs.fsync\");\n/*#__PURE__*/notImplementedAsync(\"fs.ftruncate\");\n/*#__PURE__*/notImplementedAsync(\"fs.futimes\");\n/*#__PURE__*/notImplementedAsync(\"fs.lstatSync\");\n/*#__PURE__*/notImplementedAsync(\"fs.read\");\n/*#__PURE__*/notImplementedAsync(\"fs.readv\");\n/*#__PURE__*/notImplementedAsync(\"fs.realpathSync\");\n/*#__PURE__*/notImplementedAsync(\"fs.statSync\");\n/*#__PURE__*/notImplementedAsync(\"fs.unwatchFile\");\n/*#__PURE__*/notImplementedAsync(\"fs.watch\");\n/*#__PURE__*/notImplementedAsync(\"fs.watchFile\");\n/*#__PURE__*/notImplementedAsync(\"fs.write\");\n/*#__PURE__*/notImplementedAsync(\"fs.writev\");\n/*#__PURE__*/notImplementedAsync(\"fs._toUnixTimestamp\");\n/*#__PURE__*/notImplementedAsync(\"fs.openAsBlob\");\n/*#__PURE__*/notImplemented(\"fs.appendFileSync\");\n/*#__PURE__*/notImplemented(\"fs.accessSync\");\n/*#__PURE__*/notImplemented(\"fs.chownSync\");\n/*#__PURE__*/notImplemented(\"fs.chmodSync\");\n/*#__PURE__*/notImplemented(\"fs.closeSync\");\n/*#__PURE__*/notImplemented(\"fs.copyFileSync\");\n/*#__PURE__*/notImplemented(\"fs.cpSync\");\n/*#__PURE__*/notImplemented(\"fs.fchownSync\");\n/*#__PURE__*/notImplemented(\"fs.fchmodSync\");\n/*#__PURE__*/notImplemented(\"fs.fdatasyncSync\");\n/*#__PURE__*/notImplemented(\"fs.fstatSync\");\n/*#__PURE__*/notImplemented(\"fs.fsyncSync\");\n/*#__PURE__*/notImplemented(\"fs.ftruncateSync\");\n/*#__PURE__*/notImplemented(\"fs.futimesSync\");\n/*#__PURE__*/notImplemented(\"fs.lchownSync\");\n/*#__PURE__*/notImplemented(\"fs.lchmodSync\");\n/*#__PURE__*/notImplemented(\"fs.linkSync\");\n/*#__PURE__*/notImplemented(\"fs.lutimesSync\");\n/*#__PURE__*/notImplemented(\"fs.mkdirSync\");\n/*#__PURE__*/notImplemented(\"fs.mkdtempSync\");\n/*#__PURE__*/notImplemented(\"fs.openSync\");\n/*#__PURE__*/notImplemented(\"fs.opendirSync\");\n/*#__PURE__*/notImplemented(\"fs.readdirSync\");\n/*#__PURE__*/notImplemented(\"fs.readSync\");\n/*#__PURE__*/notImplemented(\"fs.readvSync\");\n/*#__PURE__*/notImplemented(\"fs.readFileSync\");\n/*#__PURE__*/notImplemented(\"fs.readlinkSync\");\n/*#__PURE__*/notImplemented(\"fs.renameSync\");\n/*#__PURE__*/notImplemented(\"fs.rmSync\");\n/*#__PURE__*/notImplemented(\"fs.rmdirSync\");\n/*#__PURE__*/notImplemented(\"fs.symlinkSync\");\n/*#__PURE__*/notImplemented(\"fs.truncateSync\");\n/*#__PURE__*/notImplemented(\"fs.unlinkSync\");\n/*#__PURE__*/notImplemented(\"fs.utimesSync\");\n/*#__PURE__*/notImplemented(\"fs.writeFileSync\");\n/*#__PURE__*/notImplemented(\"fs.writeSync\");\n/*#__PURE__*/notImplemented(\"fs.writevSync\");\n/*#__PURE__*/notImplemented(\"fs.statfsSync\");\nconst _DRIVE_LETTER_START_RE = /^[A-Za-z]:\\//;\nfunction normalizeWindowsPath(input = \"\") {\n  if (!input) {\n    return input;\n  }\n  return input.replace(/\\\\/g, \"/\").replace(_DRIVE_LETTER_START_RE, r => r.toUpperCase());\n}\nconst _UNC_REGEX = /^[/\\\\]{2}/;\nconst _IS_ABSOLUTE_RE = /^[/\\\\](?![/\\\\])|^[/\\\\]{2}(?!\\.)|^[A-Za-z]:[/\\\\]/;\nconst _DRIVE_LETTER_RE = /^[A-Za-z]:$/;\nconst _ROOT_FOLDER_RE = /^\\/([A-Za-z]:)?$/;\nconst sep = \"/\";\nconst delimiter = \":\";\nconst normalize = function (path) {\n  if (path.length === 0) {\n    return \".\";\n  }\n  path = normalizeWindowsPath(path);\n  const isUNCPath = path.match(_UNC_REGEX);\n  const isPathAbsolute = isAbsolute(path);\n  const trailingSeparator = path[path.length - 1] === \"/\";\n  path = normalizeString(path, !isPathAbsolute);\n  if (path.length === 0) {\n    if (isPathAbsolute) {\n      return \"/\";\n    }\n    return trailingSeparator ? \"./\" : \".\";\n  }\n  if (trailingSeparator) {\n    path += \"/\";\n  }\n  if (_DRIVE_LETTER_RE.test(path)) {\n    path += \"/\";\n  }\n  if (isUNCPath) {\n    if (!isPathAbsolute) {\n      return `//./${path}`;\n    }\n    return `//${path}`;\n  }\n  return isPathAbsolute && !isAbsolute(path) ? `/${path}` : path;\n};\nconst join = function (...arguments_) {\n  if (arguments_.length === 0) {\n    return \".\";\n  }\n  let joined;\n  for (const argument of arguments_) {\n    if (argument && argument.length > 0) {\n      if (joined === void 0) {\n        joined = argument;\n      } else {\n        joined += `/${argument}`;\n      }\n    }\n  }\n  if (joined === void 0) {\n    return \".\";\n  }\n  return normalize(joined.replace(/\\/\\/+/g, \"/\"));\n};\nfunction cwd() {\n  if (typeof process !== \"undefined\" && typeof process.cwd === \"function\") {\n    return process.cwd().replace(/\\\\/g, \"/\");\n  }\n  return \"/\";\n}\nconst resolve = function (...arguments_) {\n  arguments_ = arguments_.map(argument => normalizeWindowsPath(argument));\n  let resolvedPath = \"\";\n  let resolvedAbsolute = false;\n  for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) {\n    const path = index >= 0 ? arguments_[index] : cwd();\n    if (!path || path.length === 0) {\n      continue;\n    }\n    resolvedPath = `${path}/${resolvedPath}`;\n    resolvedAbsolute = isAbsolute(path);\n  }\n  resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);\n  if (resolvedAbsolute && !isAbsolute(resolvedPath)) {\n    return `/${resolvedPath}`;\n  }\n  return resolvedPath.length > 0 ? resolvedPath : \".\";\n};\nfunction normalizeString(path, allowAboveRoot) {\n  let res = \"\";\n  let lastSegmentLength = 0;\n  let lastSlash = -1;\n  let dots = 0;\n  let char = null;\n  for (let index = 0; index <= path.length; ++index) {\n    if (index < path.length) {\n      char = path[index];\n    } else if (char === \"/\") {\n      break;\n    } else {\n      char = \"/\";\n    }\n    if (char === \"/\") {\n      if (lastSlash === index - 1 || dots === 1) ;else if (dots === 2) {\n        if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== \".\" || res[res.length - 2] !== \".\") {\n          if (res.length > 2) {\n            const lastSlashIndex = res.lastIndexOf(\"/\");\n            if (lastSlashIndex === -1) {\n              res = \"\";\n              lastSegmentLength = 0;\n            } else {\n              res = res.slice(0, lastSlashIndex);\n              lastSegmentLength = res.length - 1 - res.lastIndexOf(\"/\");\n            }\n            lastSlash = index;\n            dots = 0;\n            continue;\n          } else if (res.length > 0) {\n            res = \"\";\n            lastSegmentLength = 0;\n            lastSlash = index;\n            dots = 0;\n            continue;\n          }\n        }\n        if (allowAboveRoot) {\n          res += res.length > 0 ? \"/..\" : \"..\";\n          lastSegmentLength = 2;\n        }\n      } else {\n        if (res.length > 0) {\n          res += `/${path.slice(lastSlash + 1, index)}`;\n        } else {\n          res = path.slice(lastSlash + 1, index);\n        }\n        lastSegmentLength = index - lastSlash - 1;\n      }\n      lastSlash = index;\n      dots = 0;\n    } else if (char === \".\" && dots !== -1) {\n      ++dots;\n    } else {\n      dots = -1;\n    }\n  }\n  return res;\n}\nconst isAbsolute = function (p) {\n  return _IS_ABSOLUTE_RE.test(p);\n};\nconst toNamespacedPath = function (p) {\n  return normalizeWindowsPath(p);\n};\nconst _EXTNAME_RE = /.(\\.[^./]+)$/;\nconst extname = function (p) {\n  const match = _EXTNAME_RE.exec(normalizeWindowsPath(p));\n  return match && match[1] || \"\";\n};\nconst relative = function (from, to) {\n  const _from = resolve(from).replace(_ROOT_FOLDER_RE, \"$1\").split(\"/\");\n  const _to = resolve(to).replace(_ROOT_FOLDER_RE, \"$1\").split(\"/\");\n  if (_to[0][1] === \":\" && _from[0][1] === \":\" && _from[0] !== _to[0]) {\n    return _to.join(\"/\");\n  }\n  const _fromCopy = [..._from];\n  for (const segment of _fromCopy) {\n    if (_to[0] !== segment) {\n      break;\n    }\n    _from.shift();\n    _to.shift();\n  }\n  return [..._from.map(() => \"..\"), ..._to].join(\"/\");\n};\nconst dirname = function (p) {\n  const segments = normalizeWindowsPath(p).replace(/\\/$/, \"\").split(\"/\").slice(0, -1);\n  if (segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0])) {\n    segments[0] += \"/\";\n  }\n  return segments.join(\"/\") || (isAbsolute(p) ? \"/\" : \".\");\n};\nconst format = function (p) {\n  const segments = [p.root, p.dir, p.base ?? p.name + p.ext].filter(Boolean);\n  return normalizeWindowsPath(p.root ? resolve(...segments) : segments.join(\"/\"));\n};\nconst basename = function (p, extension) {\n  const lastSegment = normalizeWindowsPath(p).split(\"/\").pop();\n  return extension && lastSegment.endsWith(extension) ? lastSegment.slice(0, -extension.length) : lastSegment;\n};\nconst parse$3 = function (p) {\n  const root = normalizeWindowsPath(p).split(\"/\").shift() || \"/\";\n  const base = basename(p);\n  const extension = extname(base);\n  return {\n    root,\n    dir: dirname(p),\n    base,\n    ext: extension,\n    name: base.slice(0, base.length - extension.length)\n  };\n};\nconst path = {\n  __proto__: null,\n  basename: basename,\n  delimiter: delimiter,\n  dirname: dirname,\n  extname: extname,\n  format: format,\n  isAbsolute: isAbsolute,\n  join: join,\n  normalize: normalize,\n  normalizeString: normalizeString,\n  parse: parse$3,\n  relative: relative,\n  resolve: resolve,\n  sep: sep,\n  toNamespacedPath: toNamespacedPath\n};\nvar _path = /*#__PURE__*/Object.freeze({\n  __proto__: null,\n  basename: basename,\n  default: path,\n  delimiter: delimiter,\n  dirname: dirname,\n  extname: extname,\n  format: format,\n  isAbsolute: isAbsolute,\n  join: join,\n  normalize: normalize,\n  normalizeString: normalizeString,\n  parse: parse$3,\n  relative: relative,\n  resolve: resolve,\n  sep: sep,\n  toNamespacedPath: toNamespacedPath\n});\nconst _pathModule = {\n  ..._path,\n  platform: \"posix\",\n  posix: void 0,\n  win32: void 0\n};\n_pathModule.posix = _pathModule;\n_pathModule.win32 = _pathModule;\nfunction getDefaultExportFromCjs(x) {\n  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\nfunction getAugmentedNamespace(n) {\n  if (Object.prototype.hasOwnProperty.call(n, '__esModule')) return n;\n  var f = n.default;\n  if (typeof f == \"function\") {\n    var a = function a() {\n      var isInstance = false;\n      try {\n        isInstance = this instanceof a;\n      } catch {}\n      if (isInstance) {\n        return Reflect.construct(f, arguments, this.constructor);\n      }\n      return f.apply(this, arguments);\n    };\n    a.prototype = f.prototype;\n  } else a = {};\n  Object.defineProperty(a, '__esModule', {\n    value: true\n  });\n  Object.keys(n).forEach(function (k) {\n    var d = Object.getOwnPropertyDescriptor(n, k);\n    Object.defineProperty(a, k, d.get ? d : {\n      enumerable: true,\n      get: function () {\n        return n[k];\n      }\n    });\n  });\n  return a;\n}\nvar picocolors_browser = {\n  exports: {}\n};\nvar hasRequiredPicocolors_browser;\nfunction requirePicocolors_browser() {\n  if (hasRequiredPicocolors_browser) return picocolors_browser.exports;\n  hasRequiredPicocolors_browser = 1;\n  var x = String;\n  var create = function () {\n    return {\n      isColorSupported: false,\n      reset: x,\n      bold: x,\n      dim: x,\n      italic: x,\n      underline: x,\n      inverse: x,\n      hidden: x,\n      strikethrough: x,\n      black: x,\n      red: x,\n      green: x,\n      yellow: x,\n      blue: x,\n      magenta: x,\n      cyan: x,\n      white: x,\n      gray: x,\n      bgBlack: x,\n      bgRed: x,\n      bgGreen: x,\n      bgYellow: x,\n      bgBlue: x,\n      bgMagenta: x,\n      bgCyan: x,\n      bgWhite: x,\n      blackBright: x,\n      redBright: x,\n      greenBright: x,\n      yellowBright: x,\n      blueBright: x,\n      magentaBright: x,\n      cyanBright: x,\n      whiteBright: x,\n      bgBlackBright: x,\n      bgRedBright: x,\n      bgGreenBright: x,\n      bgYellowBright: x,\n      bgBlueBright: x,\n      bgMagentaBright: x,\n      bgCyanBright: x,\n      bgWhiteBright: x\n    };\n  };\n  picocolors_browser.exports = create();\n  picocolors_browser.exports.createColors = create;\n  return picocolors_browser.exports;\n}\nvar _nodeResolve_empty = {};\nvar _nodeResolve_empty$1 = /*#__PURE__*/Object.freeze({\n  __proto__: null,\n  default: _nodeResolve_empty\n});\nvar require$$2 = /*@__PURE__*/getAugmentedNamespace(_nodeResolve_empty$1);\nvar cssSyntaxError;\nvar hasRequiredCssSyntaxError;\nfunction requireCssSyntaxError() {\n  if (hasRequiredCssSyntaxError) return cssSyntaxError;\n  hasRequiredCssSyntaxError = 1;\n  let pico = requirePicocolors_browser();\n  let terminalHighlight = require$$2;\n  class CssSyntaxError extends Error {\n    constructor(message, line, column, source, file, plugin) {\n      super(message);\n      this.name = 'CssSyntaxError';\n      this.reason = message;\n      if (file) {\n        this.file = file;\n      }\n      if (source) {\n        this.source = source;\n      }\n      if (plugin) {\n        this.plugin = plugin;\n      }\n      if (typeof line !== 'undefined' && typeof column !== 'undefined') {\n        if (typeof line === 'number') {\n          this.line = line;\n          this.column = column;\n        } else {\n          this.line = line.line;\n          this.column = line.column;\n          this.endLine = column.line;\n          this.endColumn = column.column;\n        }\n      }\n      this.setMessage();\n      if (Error.captureStackTrace) {\n        Error.captureStackTrace(this, CssSyntaxError);\n      }\n    }\n    setMessage() {\n      this.message = this.plugin ? this.plugin + ': ' : '';\n      this.message += this.file ? this.file : '<css input>';\n      if (typeof this.line !== 'undefined') {\n        this.message += ':' + this.line + ':' + this.column;\n      }\n      this.message += ': ' + this.reason;\n    }\n    showSourceCode(color) {\n      if (!this.source) return '';\n      let css = this.source;\n      if (color == null) color = pico.isColorSupported;\n      let aside = text => text;\n      let mark = text => text;\n      let highlight = text => text;\n      if (color) {\n        let {\n          bold,\n          gray,\n          red\n        } = pico.createColors(true);\n        mark = text => bold(red(text));\n        aside = text => gray(text);\n        if (terminalHighlight) {\n          highlight = text => terminalHighlight(text);\n        }\n      }\n      let lines = css.split(/\\r?\\n/);\n      let start = Math.max(this.line - 3, 0);\n      let end = Math.min(this.line + 2, lines.length);\n      let maxWidth = String(end).length;\n      return lines.slice(start, end).map((line, index) => {\n        let number = start + 1 + index;\n        let gutter = ' ' + (' ' + number).slice(-maxWidth) + ' | ';\n        if (number === this.line) {\n          if (line.length > 160) {\n            let padding = 20;\n            let subLineStart = Math.max(0, this.column - padding);\n            let subLineEnd = Math.max(this.column + padding, this.endColumn + padding);\n            let subLine = line.slice(subLineStart, subLineEnd);\n            let spacing = aside(gutter.replace(/\\d/g, ' ')) + line.slice(0, Math.min(this.column - 1, padding - 1)).replace(/[^\\t]/g, ' ');\n            return mark('>') + aside(gutter) + highlight(subLine) + '\\n ' + spacing + mark('^');\n          }\n          let spacing = aside(gutter.replace(/\\d/g, ' ')) + line.slice(0, this.column - 1).replace(/[^\\t]/g, ' ');\n          return mark('>') + aside(gutter) + highlight(line) + '\\n ' + spacing + mark('^');\n        }\n        return ' ' + aside(gutter) + highlight(line);\n      }).join('\\n');\n    }\n    toString() {\n      let code = this.showSourceCode();\n      if (code) {\n        code = '\\n\\n' + code + '\\n';\n      }\n      return this.name + ': ' + this.message + code;\n    }\n  }\n  cssSyntaxError = CssSyntaxError;\n  CssSyntaxError.default = CssSyntaxError;\n  return cssSyntaxError;\n}\nvar stringifier;\nvar hasRequiredStringifier;\nfunction requireStringifier() {\n  if (hasRequiredStringifier) return stringifier;\n  hasRequiredStringifier = 1;\n  const DEFAULT_RAW = {\n    after: '\\n',\n    beforeClose: '\\n',\n    beforeComment: '\\n',\n    beforeDecl: '\\n',\n    beforeOpen: ' ',\n    beforeRule: '\\n',\n    colon: ': ',\n    commentLeft: ' ',\n    commentRight: ' ',\n    emptyBody: '',\n    indent: '    ',\n    semicolon: false\n  };\n  function capitalize(str) {\n    return str[0].toUpperCase() + str.slice(1);\n  }\n  class Stringifier {\n    constructor(builder) {\n      this.builder = builder;\n    }\n    atrule(node, semicolon) {\n      let name = '@' + node.name;\n      let params = node.params ? this.rawValue(node, 'params') : '';\n      if (typeof node.raws.afterName !== 'undefined') {\n        name += node.raws.afterName;\n      } else if (params) {\n        name += ' ';\n      }\n      if (node.nodes) {\n        this.block(node, name + params);\n      } else {\n        let end = (node.raws.between || '') + (semicolon ? ';' : '');\n        this.builder(name + params + end, node);\n      }\n    }\n    beforeAfter(node, detect) {\n      let value;\n      if (node.type === 'decl') {\n        value = this.raw(node, null, 'beforeDecl');\n      } else if (node.type === 'comment') {\n        value = this.raw(node, null, 'beforeComment');\n      } else if (detect === 'before') {\n        value = this.raw(node, null, 'beforeRule');\n      } else {\n        value = this.raw(node, null, 'beforeClose');\n      }\n      let buf = node.parent;\n      let depth = 0;\n      while (buf && buf.type !== 'root') {\n        depth += 1;\n        buf = buf.parent;\n      }\n      if (value.includes('\\n')) {\n        let indent = this.raw(node, null, 'indent');\n        if (indent.length) {\n          for (let step = 0; step < depth; step++) value += indent;\n        }\n      }\n      return value;\n    }\n    block(node, start) {\n      let between = this.raw(node, 'between', 'beforeOpen');\n      this.builder(start + between + '{', node, 'start');\n      let after;\n      if (node.nodes && node.nodes.length) {\n        this.body(node);\n        after = this.raw(node, 'after');\n      } else {\n        after = this.raw(node, 'after', 'emptyBody');\n      }\n      if (after) this.builder(after);\n      this.builder('}', node, 'end');\n    }\n    body(node) {\n      let last = node.nodes.length - 1;\n      while (last > 0) {\n        if (node.nodes[last].type !== 'comment') break;\n        last -= 1;\n      }\n      let semicolon = this.raw(node, 'semicolon');\n      for (let i = 0; i < node.nodes.length; i++) {\n        let child = node.nodes[i];\n        let before = this.raw(child, 'before');\n        if (before) this.builder(before);\n        this.stringify(child, last !== i || semicolon);\n      }\n    }\n    comment(node) {\n      let left = this.raw(node, 'left', 'commentLeft');\n      let right = this.raw(node, 'right', 'commentRight');\n      this.builder('/*' + left + node.text + right + '*/', node);\n    }\n    decl(node, semicolon) {\n      let between = this.raw(node, 'between', 'colon');\n      let string = node.prop + between + this.rawValue(node, 'value');\n      if (node.important) {\n        string += node.raws.important || ' !important';\n      }\n      if (semicolon) string += ';';\n      this.builder(string, node);\n    }\n    document(node) {\n      this.body(node);\n    }\n    raw(node, own, detect) {\n      let value;\n      if (!detect) detect = own;\n\n      // Already had\n      if (own) {\n        value = node.raws[own];\n        if (typeof value !== 'undefined') return value;\n      }\n      let parent = node.parent;\n      if (detect === 'before') {\n        // Hack for first rule in CSS\n        if (!parent || parent.type === 'root' && parent.first === node) {\n          return '';\n        }\n\n        // `root` nodes in `document` should use only their own raws\n        if (parent && parent.type === 'document') {\n          return '';\n        }\n      }\n\n      // Floating child without parent\n      if (!parent) return DEFAULT_RAW[detect];\n\n      // Detect style by other nodes\n      let root = node.root();\n      if (!root.rawCache) root.rawCache = {};\n      if (typeof root.rawCache[detect] !== 'undefined') {\n        return root.rawCache[detect];\n      }\n      if (detect === 'before' || detect === 'after') {\n        return this.beforeAfter(node, detect);\n      } else {\n        let method = 'raw' + capitalize(detect);\n        if (this[method]) {\n          value = this[method](root, node);\n        } else {\n          root.walk(i => {\n            value = i.raws[own];\n            if (typeof value !== 'undefined') return false;\n          });\n        }\n      }\n      if (typeof value === 'undefined') value = DEFAULT_RAW[detect];\n      root.rawCache[detect] = value;\n      return value;\n    }\n    rawBeforeClose(root) {\n      let value;\n      root.walk(i => {\n        if (i.nodes && i.nodes.length > 0) {\n          if (typeof i.raws.after !== 'undefined') {\n            value = i.raws.after;\n            if (value.includes('\\n')) {\n              value = value.replace(/[^\\n]+$/, '');\n            }\n            return false;\n          }\n        }\n      });\n      if (value) value = value.replace(/\\S/g, '');\n      return value;\n    }\n    rawBeforeComment(root, node) {\n      let value;\n      root.walkComments(i => {\n        if (typeof i.raws.before !== 'undefined') {\n          value = i.raws.before;\n          if (value.includes('\\n')) {\n            value = value.replace(/[^\\n]+$/, '');\n          }\n          return false;\n        }\n      });\n      if (typeof value === 'undefined') {\n        value = this.raw(node, null, 'beforeDecl');\n      } else if (value) {\n        value = value.replace(/\\S/g, '');\n      }\n      return value;\n    }\n    rawBeforeDecl(root, node) {\n      let value;\n      root.walkDecls(i => {\n        if (typeof i.raws.before !== 'undefined') {\n          value = i.raws.before;\n          if (value.includes('\\n')) {\n            value = value.replace(/[^\\n]+$/, '');\n          }\n          return false;\n        }\n      });\n      if (typeof value === 'undefined') {\n        value = this.raw(node, null, 'beforeRule');\n      } else if (value) {\n        value = value.replace(/\\S/g, '');\n      }\n      return value;\n    }\n    rawBeforeOpen(root) {\n      let value;\n      root.walk(i => {\n        if (i.type !== 'decl') {\n          value = i.raws.between;\n          if (typeof value !== 'undefined') return false;\n        }\n      });\n      return value;\n    }\n    rawBeforeRule(root) {\n      let value;\n      root.walk(i => {\n        if (i.nodes && (i.parent !== root || root.first !== i)) {\n          if (typeof i.raws.before !== 'undefined') {\n            value = i.raws.before;\n            if (value.includes('\\n')) {\n              value = value.replace(/[^\\n]+$/, '');\n            }\n            return false;\n          }\n        }\n      });\n      if (value) value = value.replace(/\\S/g, '');\n      return value;\n    }\n    rawColon(root) {\n      let value;\n      root.walkDecls(i => {\n        if (typeof i.raws.between !== 'undefined') {\n          value = i.raws.between.replace(/[^\\s:]/g, '');\n          return false;\n        }\n      });\n      return value;\n    }\n    rawEmptyBody(root) {\n      let value;\n      root.walk(i => {\n        if (i.nodes && i.nodes.length === 0) {\n          value = i.raws.after;\n          if (typeof value !== 'undefined') return false;\n        }\n      });\n      return value;\n    }\n    rawIndent(root) {\n      if (root.raws.indent) return root.raws.indent;\n      let value;\n      root.walk(i => {\n        let p = i.parent;\n        if (p && p !== root && p.parent && p.parent === root) {\n          if (typeof i.raws.before !== 'undefined') {\n            let parts = i.raws.before.split('\\n');\n            value = parts[parts.length - 1];\n            value = value.replace(/\\S/g, '');\n            return false;\n          }\n        }\n      });\n      return value;\n    }\n    rawSemicolon(root) {\n      let value;\n      root.walk(i => {\n        if (i.nodes && i.nodes.length && i.last.type === 'decl') {\n          value = i.raws.semicolon;\n          if (typeof value !== 'undefined') return false;\n        }\n      });\n      return value;\n    }\n    rawValue(node, prop) {\n      let value = node[prop];\n      let raw = node.raws[prop];\n      if (raw && raw.value === value) {\n        return raw.raw;\n      }\n      return value;\n    }\n    root(node) {\n      this.body(node);\n      if (node.raws.after) this.builder(node.raws.after);\n    }\n    rule(node) {\n      this.block(node, this.rawValue(node, 'selector'));\n      if (node.raws.ownSemicolon) {\n        this.builder(node.raws.ownSemicolon, node, 'end');\n      }\n    }\n    stringify(node, semicolon) {\n      /* c8 ignore start */\n      if (!this[node.type]) {\n        throw new Error('Unknown AST node type ' + node.type + '. ' + 'Maybe you need to change PostCSS stringifier.');\n      }\n      /* c8 ignore stop */\n      this[node.type](node, semicolon);\n    }\n  }\n  stringifier = Stringifier;\n  Stringifier.default = Stringifier;\n  return stringifier;\n}\nvar stringify_1;\nvar hasRequiredStringify;\nfunction requireStringify() {\n  if (hasRequiredStringify) return stringify_1;\n  hasRequiredStringify = 1;\n  let Stringifier = requireStringifier();\n  function stringify(node, builder) {\n    let str = new Stringifier(builder);\n    str.stringify(node);\n  }\n  stringify_1 = stringify;\n  stringify.default = stringify;\n  return stringify_1;\n}\nvar symbols = {};\nvar hasRequiredSymbols;\nfunction requireSymbols() {\n  if (hasRequiredSymbols) return symbols;\n  hasRequiredSymbols = 1;\n  symbols.isClean = Symbol('isClean');\n  symbols.my = Symbol('my');\n  return symbols;\n}\nvar node;\nvar hasRequiredNode$1;\nfunction requireNode$1() {\n  if (hasRequiredNode$1) return node;\n  hasRequiredNode$1 = 1;\n  let CssSyntaxError = requireCssSyntaxError();\n  let Stringifier = requireStringifier();\n  let stringify = requireStringify();\n  let {\n    isClean,\n    my\n  } = requireSymbols();\n  function cloneNode(obj, parent) {\n    let cloned = new obj.constructor();\n    for (let i in obj) {\n      if (!Object.prototype.hasOwnProperty.call(obj, i)) {\n        /* c8 ignore next 2 */\n        continue;\n      }\n      if (i === 'proxyCache') continue;\n      let value = obj[i];\n      let type = typeof value;\n      if (i === 'parent' && type === 'object') {\n        if (parent) cloned[i] = parent;\n      } else if (i === 'source') {\n        cloned[i] = value;\n      } else if (Array.isArray(value)) {\n        cloned[i] = value.map(j => cloneNode(j, cloned));\n      } else {\n        if (type === 'object' && value !== null) value = cloneNode(value);\n        cloned[i] = value;\n      }\n    }\n    return cloned;\n  }\n  function sourceOffset(inputCSS, position) {\n    // Not all custom syntaxes support `offset` in `source.start` and `source.end`\n    if (position && typeof position.offset !== 'undefined') {\n      return position.offset;\n    }\n    let column = 1;\n    let line = 1;\n    let offset = 0;\n    for (let i = 0; i < inputCSS.length; i++) {\n      if (line === position.line && column === position.column) {\n        offset = i;\n        break;\n      }\n      if (inputCSS[i] === '\\n') {\n        column = 1;\n        line += 1;\n      } else {\n        column += 1;\n      }\n    }\n    return offset;\n  }\n  class Node {\n    constructor(defaults = {}) {\n      this.raws = {};\n      this[isClean] = false;\n      this[my] = true;\n      for (let name in defaults) {\n        if (name === 'nodes') {\n          this.nodes = [];\n          for (let node of defaults[name]) {\n            if (typeof node.clone === 'function') {\n              this.append(node.clone());\n            } else {\n              this.append(node);\n            }\n          }\n        } else {\n          this[name] = defaults[name];\n        }\n      }\n    }\n    addToError(error) {\n      error.postcssNode = this;\n      if (error.stack && this.source && /\\n\\s{4}at /.test(error.stack)) {\n        let s = this.source;\n        error.stack = error.stack.replace(/\\n\\s{4}at /, `$&${s.input.from}:${s.start.line}:${s.start.column}$&`);\n      }\n      return error;\n    }\n    after(add) {\n      this.parent.insertAfter(this, add);\n      return this;\n    }\n    assign(overrides = {}) {\n      for (let name in overrides) {\n        this[name] = overrides[name];\n      }\n      return this;\n    }\n    before(add) {\n      this.parent.insertBefore(this, add);\n      return this;\n    }\n    cleanRaws(keepBetween) {\n      delete this.raws.before;\n      delete this.raws.after;\n      if (!keepBetween) delete this.raws.between;\n    }\n    clone(overrides = {}) {\n      let cloned = cloneNode(this);\n      for (let name in overrides) {\n        cloned[name] = overrides[name];\n      }\n      return cloned;\n    }\n    cloneAfter(overrides = {}) {\n      let cloned = this.clone(overrides);\n      this.parent.insertAfter(this, cloned);\n      return cloned;\n    }\n    cloneBefore(overrides = {}) {\n      let cloned = this.clone(overrides);\n      this.parent.insertBefore(this, cloned);\n      return cloned;\n    }\n    error(message, opts = {}) {\n      if (this.source) {\n        let {\n          end,\n          start\n        } = this.rangeBy(opts);\n        return this.source.input.error(message, {\n          column: start.column,\n          line: start.line\n        }, {\n          column: end.column,\n          line: end.line\n        }, opts);\n      }\n      return new CssSyntaxError(message);\n    }\n    getProxyProcessor() {\n      return {\n        get(node, prop) {\n          if (prop === 'proxyOf') {\n            return node;\n          } else if (prop === 'root') {\n            return () => node.root().toProxy();\n          } else {\n            return node[prop];\n          }\n        },\n        set(node, prop, value) {\n          if (node[prop] === value) return true;\n          node[prop] = value;\n          if (prop === 'prop' || prop === 'value' || prop === 'name' || prop === 'params' || prop === 'important' || /* c8 ignore next */\n          prop === 'text') {\n            node.markDirty();\n          }\n          return true;\n        }\n      };\n    }\n\n    /* c8 ignore next 3 */\n    markClean() {\n      this[isClean] = true;\n    }\n    markDirty() {\n      if (this[isClean]) {\n        this[isClean] = false;\n        let next = this;\n        while (next = next.parent) {\n          next[isClean] = false;\n        }\n      }\n    }\n    next() {\n      if (!this.parent) return undefined;\n      let index = this.parent.index(this);\n      return this.parent.nodes[index + 1];\n    }\n    positionBy(opts) {\n      let pos = this.source.start;\n      if (opts.index) {\n        pos = this.positionInside(opts.index);\n      } else if (opts.word) {\n        let inputString = 'document' in this.source.input ? this.source.input.document : this.source.input.css;\n        let stringRepresentation = inputString.slice(sourceOffset(inputString, this.source.start), sourceOffset(inputString, this.source.end));\n        let index = stringRepresentation.indexOf(opts.word);\n        if (index !== -1) pos = this.positionInside(index);\n      }\n      return pos;\n    }\n    positionInside(index) {\n      let column = this.source.start.column;\n      let line = this.source.start.line;\n      let inputString = 'document' in this.source.input ? this.source.input.document : this.source.input.css;\n      let offset = sourceOffset(inputString, this.source.start);\n      let end = offset + index;\n      for (let i = offset; i < end; i++) {\n        if (inputString[i] === '\\n') {\n          column = 1;\n          line += 1;\n        } else {\n          column += 1;\n        }\n      }\n      return {\n        column,\n        line\n      };\n    }\n    prev() {\n      if (!this.parent) return undefined;\n      let index = this.parent.index(this);\n      return this.parent.nodes[index - 1];\n    }\n    rangeBy(opts) {\n      let start = {\n        column: this.source.start.column,\n        line: this.source.start.line\n      };\n      let end = this.source.end ? {\n        column: this.source.end.column + 1,\n        line: this.source.end.line\n      } : {\n        column: start.column + 1,\n        line: start.line\n      };\n      if (opts.word) {\n        let inputString = 'document' in this.source.input ? this.source.input.document : this.source.input.css;\n        let stringRepresentation = inputString.slice(sourceOffset(inputString, this.source.start), sourceOffset(inputString, this.source.end));\n        let index = stringRepresentation.indexOf(opts.word);\n        if (index !== -1) {\n          start = this.positionInside(index);\n          end = this.positionInside(index + opts.word.length);\n        }\n      } else {\n        if (opts.start) {\n          start = {\n            column: opts.start.column,\n            line: opts.start.line\n          };\n        } else if (opts.index) {\n          start = this.positionInside(opts.index);\n        }\n        if (opts.end) {\n          end = {\n            column: opts.end.column,\n            line: opts.end.line\n          };\n        } else if (typeof opts.endIndex === 'number') {\n          end = this.positionInside(opts.endIndex);\n        } else if (opts.index) {\n          end = this.positionInside(opts.index + 1);\n        }\n      }\n      if (end.line < start.line || end.line === start.line && end.column <= start.column) {\n        end = {\n          column: start.column + 1,\n          line: start.line\n        };\n      }\n      return {\n        end,\n        start\n      };\n    }\n    raw(prop, defaultType) {\n      let str = new Stringifier();\n      return str.raw(this, prop, defaultType);\n    }\n    remove() {\n      if (this.parent) {\n        this.parent.removeChild(this);\n      }\n      this.parent = undefined;\n      return this;\n    }\n    replaceWith(...nodes) {\n      if (this.parent) {\n        let bookmark = this;\n        let foundSelf = false;\n        for (let node of nodes) {\n          if (node === this) {\n            foundSelf = true;\n          } else if (foundSelf) {\n            this.parent.insertAfter(bookmark, node);\n            bookmark = node;\n          } else {\n            this.parent.insertBefore(bookmark, node);\n          }\n        }\n        if (!foundSelf) {\n          this.remove();\n        }\n      }\n      return this;\n    }\n    root() {\n      let result = this;\n      while (result.parent && result.parent.type !== 'document') {\n        result = result.parent;\n      }\n      return result;\n    }\n    toJSON(_, inputs) {\n      let fixed = {};\n      let emitInputs = inputs == null;\n      inputs = inputs || new Map();\n      let inputsNextIndex = 0;\n      for (let name in this) {\n        if (!Object.prototype.hasOwnProperty.call(this, name)) {\n          /* c8 ignore next 2 */\n          continue;\n        }\n        if (name === 'parent' || name === 'proxyCache') continue;\n        let value = this[name];\n        if (Array.isArray(value)) {\n          fixed[name] = value.map(i => {\n            if (typeof i === 'object' && i.toJSON) {\n              return i.toJSON(null, inputs);\n            } else {\n              return i;\n            }\n          });\n        } else if (typeof value === 'object' && value.toJSON) {\n          fixed[name] = value.toJSON(null, inputs);\n        } else if (name === 'source') {\n          let inputId = inputs.get(value.input);\n          if (inputId == null) {\n            inputId = inputsNextIndex;\n            inputs.set(value.input, inputsNextIndex);\n            inputsNextIndex++;\n          }\n          fixed[name] = {\n            end: value.end,\n            inputId,\n            start: value.start\n          };\n        } else {\n          fixed[name] = value;\n        }\n      }\n      if (emitInputs) {\n        fixed.inputs = [...inputs.keys()].map(input => input.toJSON());\n      }\n      return fixed;\n    }\n    toProxy() {\n      if (!this.proxyCache) {\n        this.proxyCache = new Proxy(this, this.getProxyProcessor());\n      }\n      return this.proxyCache;\n    }\n    toString(stringifier = stringify) {\n      if (stringifier.stringify) stringifier = stringifier.stringify;\n      let result = '';\n      stringifier(this, i => {\n        result += i;\n      });\n      return result;\n    }\n    warn(result, text, opts) {\n      let data = {\n        node: this\n      };\n      for (let i in opts) data[i] = opts[i];\n      return result.warn(text, data);\n    }\n    get proxyOf() {\n      return this;\n    }\n  }\n  node = Node;\n  Node.default = Node;\n  return node;\n}\nvar comment;\nvar hasRequiredComment;\nfunction requireComment() {\n  if (hasRequiredComment) return comment;\n  hasRequiredComment = 1;\n  let Node = requireNode$1();\n  class Comment extends Node {\n    constructor(defaults) {\n      super(defaults);\n      this.type = 'comment';\n    }\n  }\n  comment = Comment;\n  Comment.default = Comment;\n  return comment;\n}\nvar declaration;\nvar hasRequiredDeclaration;\nfunction requireDeclaration() {\n  if (hasRequiredDeclaration) return declaration;\n  hasRequiredDeclaration = 1;\n  let Node = requireNode$1();\n  class Declaration extends Node {\n    constructor(defaults) {\n      if (defaults && typeof defaults.value !== 'undefined' && typeof defaults.value !== 'string') {\n        defaults = {\n          ...defaults,\n          value: String(defaults.value)\n        };\n      }\n      super(defaults);\n      this.type = 'decl';\n    }\n    get variable() {\n      return this.prop.startsWith('--') || this.prop[0] === '$';\n    }\n  }\n  declaration = Declaration;\n  Declaration.default = Declaration;\n  return declaration;\n}\nvar container;\nvar hasRequiredContainer$1;\nfunction requireContainer$1() {\n  if (hasRequiredContainer$1) return container;\n  hasRequiredContainer$1 = 1;\n  let Comment = requireComment();\n  let Declaration = requireDeclaration();\n  let Node = requireNode$1();\n  let {\n    isClean,\n    my\n  } = requireSymbols();\n  let AtRule, parse, Root, Rule;\n  function cleanSource(nodes) {\n    return nodes.map(i => {\n      if (i.nodes) i.nodes = cleanSource(i.nodes);\n      delete i.source;\n      return i;\n    });\n  }\n  function markTreeDirty(node) {\n    node[isClean] = false;\n    if (node.proxyOf.nodes) {\n      for (let i of node.proxyOf.nodes) {\n        markTreeDirty(i);\n      }\n    }\n  }\n  let Container = /*#__PURE__*/(() => {\n    class Container extends Node {\n      append(...children) {\n        for (let child of children) {\n          let nodes = this.normalize(child, this.last);\n          for (let node of nodes) this.proxyOf.nodes.push(node);\n        }\n        this.markDirty();\n        return this;\n      }\n      cleanRaws(keepBetween) {\n        super.cleanRaws(keepBetween);\n        if (this.nodes) {\n          for (let node of this.nodes) node.cleanRaws(keepBetween);\n        }\n      }\n      each(callback) {\n        if (!this.proxyOf.nodes) return undefined;\n        let iterator = this.getIterator();\n        let index, result;\n        while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n          index = this.indexes[iterator];\n          result = callback(this.proxyOf.nodes[index], index);\n          if (result === false) break;\n          this.indexes[iterator] += 1;\n        }\n        delete this.indexes[iterator];\n        return result;\n      }\n      every(condition) {\n        return this.nodes.every(condition);\n      }\n      getIterator() {\n        if (!this.lastEach) this.lastEach = 0;\n        if (!this.indexes) this.indexes = {};\n        this.lastEach += 1;\n        let iterator = this.lastEach;\n        this.indexes[iterator] = 0;\n        return iterator;\n      }\n      getProxyProcessor() {\n        return {\n          get(node, prop) {\n            if (prop === 'proxyOf') {\n              return node;\n            } else if (!node[prop]) {\n              return node[prop];\n            } else if (prop === 'each' || typeof prop === 'string' && prop.startsWith('walk')) {\n              return (...args) => {\n                return node[prop](...args.map(i => {\n                  if (typeof i === 'function') {\n                    return (child, index) => i(child.toProxy(), index);\n                  } else {\n                    return i;\n                  }\n                }));\n              };\n            } else if (prop === 'every' || prop === 'some') {\n              return cb => {\n                return node[prop]((child, ...other) => cb(child.toProxy(), ...other));\n              };\n            } else if (prop === 'root') {\n              return () => node.root().toProxy();\n            } else if (prop === 'nodes') {\n              return node.nodes.map(i => i.toProxy());\n            } else if (prop === 'first' || prop === 'last') {\n              return node[prop].toProxy();\n            } else {\n              return node[prop];\n            }\n          },\n          set(node, prop, value) {\n            if (node[prop] === value) return true;\n            node[prop] = value;\n            if (prop === 'name' || prop === 'params' || prop === 'selector') {\n              node.markDirty();\n            }\n            return true;\n          }\n        };\n      }\n      index(child) {\n        if (typeof child === 'number') return child;\n        if (child.proxyOf) child = child.proxyOf;\n        return this.proxyOf.nodes.indexOf(child);\n      }\n      insertAfter(exist, add) {\n        let existIndex = this.index(exist);\n        let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse();\n        existIndex = this.index(exist);\n        for (let node of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node);\n        let index;\n        for (let id in this.indexes) {\n          index = this.indexes[id];\n          if (existIndex < index) {\n            this.indexes[id] = index + nodes.length;\n          }\n        }\n        this.markDirty();\n        return this;\n      }\n      insertBefore(exist, add) {\n        let existIndex = this.index(exist);\n        let type = existIndex === 0 ? 'prepend' : false;\n        let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse();\n        existIndex = this.index(exist);\n        for (let node of nodes) this.proxyOf.nodes.splice(existIndex, 0, node);\n        let index;\n        for (let id in this.indexes) {\n          index = this.indexes[id];\n          if (existIndex <= index) {\n            this.indexes[id] = index + nodes.length;\n          }\n        }\n        this.markDirty();\n        return this;\n      }\n      normalize(nodes, sample) {\n        if (typeof nodes === 'string') {\n          nodes = cleanSource(parse(nodes).nodes);\n        } else if (typeof nodes === 'undefined') {\n          nodes = [];\n        } else if (Array.isArray(nodes)) {\n          nodes = nodes.slice(0);\n          for (let i of nodes) {\n            if (i.parent) i.parent.removeChild(i, 'ignore');\n          }\n        } else if (nodes.type === 'root' && this.type !== 'document') {\n          nodes = nodes.nodes.slice(0);\n          for (let i of nodes) {\n            if (i.parent) i.parent.removeChild(i, 'ignore');\n          }\n        } else if (nodes.type) {\n          nodes = [nodes];\n        } else if (nodes.prop) {\n          if (typeof nodes.value === 'undefined') {\n            throw new Error('Value field is missed in node creation');\n          } else if (typeof nodes.value !== 'string') {\n            nodes.value = String(nodes.value);\n          }\n          nodes = [new Declaration(nodes)];\n        } else if (nodes.selector || nodes.selectors) {\n          nodes = [new Rule(nodes)];\n        } else if (nodes.name) {\n          nodes = [new AtRule(nodes)];\n        } else if (nodes.text) {\n          nodes = [new Comment(nodes)];\n        } else {\n          throw new Error('Unknown node type in node creation');\n        }\n        let processed = nodes.map(i => {\n          /* c8 ignore next */\n          if (!i[my]) Container.rebuild(i);\n          i = i.proxyOf;\n          if (i.parent) i.parent.removeChild(i);\n          if (i[isClean]) markTreeDirty(i);\n          if (!i.raws) i.raws = {};\n          if (typeof i.raws.before === 'undefined') {\n            if (sample && typeof sample.raws.before !== 'undefined') {\n              i.raws.before = sample.raws.before.replace(/\\S/g, '');\n            }\n          }\n          i.parent = this.proxyOf;\n          return i;\n        });\n        return processed;\n      }\n      prepend(...children) {\n        children = children.reverse();\n        for (let child of children) {\n          let nodes = this.normalize(child, this.first, 'prepend').reverse();\n          for (let node of nodes) this.proxyOf.nodes.unshift(node);\n          for (let id in this.indexes) {\n            this.indexes[id] = this.indexes[id] + nodes.length;\n          }\n        }\n        this.markDirty();\n        return this;\n      }\n      push(child) {\n        child.parent = this;\n        this.proxyOf.nodes.push(child);\n        return this;\n      }\n      removeAll() {\n        for (let node of this.proxyOf.nodes) node.parent = undefined;\n        this.proxyOf.nodes = [];\n        this.markDirty();\n        return this;\n      }\n      removeChild(child) {\n        child = this.index(child);\n        this.proxyOf.nodes[child].parent = undefined;\n        this.proxyOf.nodes.splice(child, 1);\n        let index;\n        for (let id in this.indexes) {\n          index = this.indexes[id];\n          if (index >= child) {\n            this.indexes[id] = index - 1;\n          }\n        }\n        this.markDirty();\n        return this;\n      }\n      replaceValues(pattern, opts, callback) {\n        if (!callback) {\n          callback = opts;\n          opts = {};\n        }\n        this.walkDecls(decl => {\n          if (opts.props && !opts.props.includes(decl.prop)) return;\n          if (opts.fast && !decl.value.includes(opts.fast)) return;\n          decl.value = decl.value.replace(pattern, callback);\n        });\n        this.markDirty();\n        return this;\n      }\n      some(condition) {\n        return this.nodes.some(condition);\n      }\n      walk(callback) {\n        return this.each((child, i) => {\n          let result;\n          try {\n            result = callback(child, i);\n          } catch (e) {\n            throw child.addToError(e);\n          }\n          if (result !== false && child.walk) {\n            result = child.walk(callback);\n          }\n          return result;\n        });\n      }\n      walkAtRules(name, callback) {\n        if (!callback) {\n          callback = name;\n          return this.walk((child, i) => {\n            if (child.type === 'atrule') {\n              return callback(child, i);\n            }\n          });\n        }\n        if (name instanceof RegExp) {\n          return this.walk((child, i) => {\n            if (child.type === 'atrule' && name.test(child.name)) {\n              return callback(child, i);\n            }\n          });\n        }\n        return this.walk((child, i) => {\n          if (child.type === 'atrule' && child.name === name) {\n            return callback(child, i);\n          }\n        });\n      }\n      walkComments(callback) {\n        return this.walk((child, i) => {\n          if (child.type === 'comment') {\n            return callback(child, i);\n          }\n        });\n      }\n      walkDecls(prop, callback) {\n        if (!callback) {\n          callback = prop;\n          return this.walk((child, i) => {\n            if (child.type === 'decl') {\n              return callback(child, i);\n            }\n          });\n        }\n        if (prop instanceof RegExp) {\n          return this.walk((child, i) => {\n            if (child.type === 'decl' && prop.test(child.prop)) {\n              return callback(child, i);\n            }\n          });\n        }\n        return this.walk((child, i) => {\n          if (child.type === 'decl' && child.prop === prop) {\n            return callback(child, i);\n          }\n        });\n      }\n      walkRules(selector, callback) {\n        if (!callback) {\n          callback = selector;\n          return this.walk((child, i) => {\n            if (child.type === 'rule') {\n              return callback(child, i);\n            }\n          });\n        }\n        if (selector instanceof RegExp) {\n          return this.walk((child, i) => {\n            if (child.type === 'rule' && selector.test(child.selector)) {\n              return callback(child, i);\n            }\n          });\n        }\n        return this.walk((child, i) => {\n          if (child.type === 'rule' && child.selector === selector) {\n            return callback(child, i);\n          }\n        });\n      }\n      get first() {\n        if (!this.proxyOf.nodes) return undefined;\n        return this.proxyOf.nodes[0];\n      }\n      get last() {\n        if (!this.proxyOf.nodes) return undefined;\n        return this.proxyOf.nodes[this.proxyOf.nodes.length - 1];\n      }\n    }\n    Container.registerParse = dependant => {\n      parse = dependant;\n    };\n    Container.registerRule = dependant => {\n      Rule = dependant;\n    };\n    Container.registerAtRule = dependant => {\n      AtRule = dependant;\n    };\n    Container.registerRoot = dependant => {\n      Root = dependant;\n    };\n    return Container;\n  })();\n  container = Container;\n  Container.default = Container;\n\n  /* c8 ignore start */\n  Container.rebuild = node => {\n    if (node.type === 'atrule') {\n      Object.setPrototypeOf(node, AtRule.prototype);\n    } else if (node.type === 'rule') {\n      Object.setPrototypeOf(node, Rule.prototype);\n    } else if (node.type === 'decl') {\n      Object.setPrototypeOf(node, Declaration.prototype);\n    } else if (node.type === 'comment') {\n      Object.setPrototypeOf(node, Comment.prototype);\n    } else if (node.type === 'root') {\n      Object.setPrototypeOf(node, Root.prototype);\n    }\n    node[my] = true;\n    if (node.nodes) {\n      node.nodes.forEach(child => {\n        Container.rebuild(child);\n      });\n    }\n  };\n  /* c8 ignore stop */\n  return container;\n}\nvar atRule;\nvar hasRequiredAtRule;\nfunction requireAtRule() {\n  if (hasRequiredAtRule) return atRule;\n  hasRequiredAtRule = 1;\n  let Container = requireContainer$1();\n  class AtRule extends Container {\n    constructor(defaults) {\n      super(defaults);\n      this.type = 'atrule';\n    }\n    append(...children) {\n      if (!this.proxyOf.nodes) this.nodes = [];\n      return super.append(...children);\n    }\n    prepend(...children) {\n      if (!this.proxyOf.nodes) this.nodes = [];\n      return super.prepend(...children);\n    }\n  }\n  atRule = AtRule;\n  AtRule.default = AtRule;\n  Container.registerAtRule(AtRule);\n  return atRule;\n}\nvar document;\nvar hasRequiredDocument;\nfunction requireDocument() {\n  if (hasRequiredDocument) return document;\n  hasRequiredDocument = 1;\n  let Container = requireContainer$1();\n  let LazyResult, Processor;\n  let Document = /*#__PURE__*/(() => {\n    class Document extends Container {\n      constructor(defaults) {\n        // type needs to be passed to super, otherwise child roots won't be normalized correctly\n        super({\n          type: 'document',\n          ...defaults\n        });\n        if (!this.nodes) {\n          this.nodes = [];\n        }\n      }\n      toResult(opts = {}) {\n        let lazy = new LazyResult(new Processor(), this, opts);\n        return lazy.stringify();\n      }\n    }\n    Document.registerLazyResult = dependant => {\n      LazyResult = dependant;\n    };\n    Document.registerProcessor = dependant => {\n      Processor = dependant;\n    };\n    return Document;\n  })();\n  document = Document;\n  Document.default = Document;\n  return document;\n}\nvar nonSecure;\nvar hasRequiredNonSecure;\nfunction requireNonSecure() {\n  if (hasRequiredNonSecure) return nonSecure;\n  hasRequiredNonSecure = 1;\n  // This alphabet uses `A-Za-z0-9_-` symbols.\n  // The order of characters is optimized for better gzip and brotli compression.\n  // References to the same file (works both for gzip and brotli):\n  // `'use`, `andom`, and `rict'`\n  // References to the brotli default dictionary:\n  // `-26T`, `1983`, `40px`, `75px`, `bush`, `jack`, `mind`, `very`, and `wolf`\n  let urlAlphabet = 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict';\n  let customAlphabet = (alphabet, defaultSize = 21) => {\n    return (size = defaultSize) => {\n      let id = '';\n      // A compact alternative for `for (var i = 0; i < step; i++)`.\n      let i = size | 0;\n      while (i--) {\n        // `| 0` is more compact and faster than `Math.floor()`.\n        id += alphabet[Math.random() * alphabet.length | 0];\n      }\n      return id;\n    };\n  };\n  let nanoid = (size = 21) => {\n    let id = '';\n    // A compact alternative for `for (var i = 0; i < step; i++)`.\n    let i = size | 0;\n    while (i--) {\n      // `| 0` is more compact and faster than `Math.floor()`.\n      id += urlAlphabet[Math.random() * 64 | 0];\n    }\n    return id;\n  };\n  nonSecure = {\n    nanoid,\n    customAlphabet\n  };\n  return nonSecure;\n}\nvar previousMap;\nvar hasRequiredPreviousMap;\nfunction requirePreviousMap() {\n  if (hasRequiredPreviousMap) return previousMap;\n  hasRequiredPreviousMap = 1;\n  let {\n    existsSync,\n    readFileSync\n  } = require$$2;\n  let {\n    dirname,\n    join\n  } = require$$2;\n  let {\n    SourceMapConsumer,\n    SourceMapGenerator\n  } = require$$2;\n  function fromBase64(str) {\n    if (Buffer) {\n      return Buffer.from(str, 'base64').toString();\n    } else {\n      /* c8 ignore next 2 */\n      return window.atob(str);\n    }\n  }\n  class PreviousMap {\n    constructor(css, opts) {\n      if (opts.map === false) return;\n      this.loadAnnotation(css);\n      this.inline = this.startWith(this.annotation, 'data:');\n      let prev = opts.map ? opts.map.prev : undefined;\n      let text = this.loadMap(opts.from, prev);\n      if (!this.mapFile && opts.from) {\n        this.mapFile = opts.from;\n      }\n      if (this.mapFile) this.root = dirname(this.mapFile);\n      if (text) this.text = text;\n    }\n    consumer() {\n      if (!this.consumerCache) {\n        this.consumerCache = new SourceMapConsumer(this.text);\n      }\n      return this.consumerCache;\n    }\n    decodeInline(text) {\n      let baseCharsetUri = /^data:application\\/json;charset=utf-?8;base64,/;\n      let baseUri = /^data:application\\/json;base64,/;\n      let charsetUri = /^data:application\\/json;charset=utf-?8,/;\n      let uri = /^data:application\\/json,/;\n      let uriMatch = text.match(charsetUri) || text.match(uri);\n      if (uriMatch) {\n        return decodeURIComponent(text.substr(uriMatch[0].length));\n      }\n      let baseUriMatch = text.match(baseCharsetUri) || text.match(baseUri);\n      if (baseUriMatch) {\n        return fromBase64(text.substr(baseUriMatch[0].length));\n      }\n      let encoding = text.match(/data:application\\/json;([^,]+),/)[1];\n      throw new Error('Unsupported source map encoding ' + encoding);\n    }\n    getAnnotationURL(sourceMapString) {\n      return sourceMapString.replace(/^\\/\\*\\s*# sourceMappingURL=/, '').trim();\n    }\n    isMap(map) {\n      if (typeof map !== 'object') return false;\n      return typeof map.mappings === 'string' || typeof map._mappings === 'string' || Array.isArray(map.sections);\n    }\n    loadAnnotation(css) {\n      let comments = css.match(/\\/\\*\\s*# sourceMappingURL=/g);\n      if (!comments) return;\n\n      // sourceMappingURLs from comments, strings, etc.\n      let start = css.lastIndexOf(comments.pop());\n      let end = css.indexOf('*/', start);\n      if (start > -1 && end > -1) {\n        // Locate the last sourceMappingURL to avoid pickin\n        this.annotation = this.getAnnotationURL(css.substring(start, end));\n      }\n    }\n    loadFile(path) {\n      this.root = dirname(path);\n      if (existsSync(path)) {\n        this.mapFile = path;\n        return readFileSync(path, 'utf-8').toString().trim();\n      }\n    }\n    loadMap(file, prev) {\n      if (prev === false) return false;\n      if (prev) {\n        if (typeof prev === 'string') {\n          return prev;\n        } else if (typeof prev === 'function') {\n          let prevPath = prev(file);\n          if (prevPath) {\n            let map = this.loadFile(prevPath);\n            if (!map) {\n              throw new Error('Unable to load previous source map: ' + prevPath.toString());\n            }\n            return map;\n          }\n        } else if (prev instanceof SourceMapConsumer) {\n          return SourceMapGenerator.fromSourceMap(prev).toString();\n        } else if (prev instanceof SourceMapGenerator) {\n          return prev.toString();\n        } else if (this.isMap(prev)) {\n          return JSON.stringify(prev);\n        } else {\n          throw new Error('Unsupported previous source map format: ' + prev.toString());\n        }\n      } else if (this.inline) {\n        return this.decodeInline(this.annotation);\n      } else if (this.annotation) {\n        let map = this.annotation;\n        if (file) map = join(dirname(file), map);\n        return this.loadFile(map);\n      }\n    }\n    startWith(string, start) {\n      if (!string) return false;\n      return string.substr(0, start.length) === start;\n    }\n    withContent() {\n      return !!(this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0);\n    }\n  }\n  previousMap = PreviousMap;\n  PreviousMap.default = PreviousMap;\n  return previousMap;\n}\nvar input;\nvar hasRequiredInput;\nfunction requireInput() {\n  if (hasRequiredInput) return input;\n  hasRequiredInput = 1;\n  let {\n    nanoid\n  } = /*@__PURE__*/requireNonSecure();\n  let {\n    isAbsolute,\n    resolve\n  } = require$$2;\n  let {\n    SourceMapConsumer,\n    SourceMapGenerator\n  } = require$$2;\n  let {\n    fileURLToPath,\n    pathToFileURL\n  } = require$$2;\n  let CssSyntaxError = requireCssSyntaxError();\n  let PreviousMap = requirePreviousMap();\n  let terminalHighlight = require$$2;\n  let fromOffsetCache = Symbol('fromOffsetCache');\n  let sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator);\n  let pathAvailable = Boolean(resolve && isAbsolute);\n  class Input {\n    constructor(css, opts = {}) {\n      if (css === null || typeof css === 'undefined' || typeof css === 'object' && !css.toString) {\n        throw new Error(`PostCSS received ${css} instead of CSS string`);\n      }\n      this.css = css.toString();\n      if (this.css[0] === '\\uFEFF' || this.css[0] === '\\uFFFE') {\n        this.hasBOM = true;\n        this.css = this.css.slice(1);\n      } else {\n        this.hasBOM = false;\n      }\n      this.document = this.css;\n      if (opts.document) this.document = opts.document.toString();\n      if (opts.from) {\n        if (!pathAvailable || /^\\w+:\\/\\//.test(opts.from) || isAbsolute(opts.from)) {\n          this.file = opts.from;\n        } else {\n          this.file = resolve(opts.from);\n        }\n      }\n      if (pathAvailable && sourceMapAvailable) {\n        let map = new PreviousMap(this.css, opts);\n        if (map.text) {\n          this.map = map;\n          let file = map.consumer().file;\n          if (!this.file && file) this.file = this.mapResolve(file);\n        }\n      }\n      if (!this.file) {\n        this.id = '<input css ' + nanoid(6) + '>';\n      }\n      if (this.map) this.map.file = this.from;\n    }\n    error(message, line, column, opts = {}) {\n      let endColumn, endLine, result;\n      if (line && typeof line === 'object') {\n        let start = line;\n        let end = column;\n        if (typeof start.offset === 'number') {\n          let pos = this.fromOffset(start.offset);\n          line = pos.line;\n          column = pos.col;\n        } else {\n          line = start.line;\n          column = start.column;\n        }\n        if (typeof end.offset === 'number') {\n          let pos = this.fromOffset(end.offset);\n          endLine = pos.line;\n          endColumn = pos.col;\n        } else {\n          endLine = end.line;\n          endColumn = end.column;\n        }\n      } else if (!column) {\n        let pos = this.fromOffset(line);\n        line = pos.line;\n        column = pos.col;\n      }\n      let origin = this.origin(line, column, endLine, endColumn);\n      if (origin) {\n        result = new CssSyntaxError(message, origin.endLine === undefined ? origin.line : {\n          column: origin.column,\n          line: origin.line\n        }, origin.endLine === undefined ? origin.column : {\n          column: origin.endColumn,\n          line: origin.endLine\n        }, origin.source, origin.file, opts.plugin);\n      } else {\n        result = new CssSyntaxError(message, endLine === undefined ? line : {\n          column,\n          line\n        }, endLine === undefined ? column : {\n          column: endColumn,\n          line: endLine\n        }, this.css, this.file, opts.plugin);\n      }\n      result.input = {\n        column,\n        endColumn,\n        endLine,\n        line,\n        source: this.css\n      };\n      if (this.file) {\n        if (pathToFileURL) {\n          result.input.url = pathToFileURL(this.file).toString();\n        }\n        result.input.file = this.file;\n      }\n      return result;\n    }\n    fromOffset(offset) {\n      let lastLine, lineToIndex;\n      if (!this[fromOffsetCache]) {\n        let lines = this.css.split('\\n');\n        lineToIndex = new Array(lines.length);\n        let prevIndex = 0;\n        for (let i = 0, l = lines.length; i < l; i++) {\n          lineToIndex[i] = prevIndex;\n          prevIndex += lines[i].length + 1;\n        }\n        this[fromOffsetCache] = lineToIndex;\n      } else {\n        lineToIndex = this[fromOffsetCache];\n      }\n      lastLine = lineToIndex[lineToIndex.length - 1];\n      let min = 0;\n      if (offset >= lastLine) {\n        min = lineToIndex.length - 1;\n      } else {\n        let max = lineToIndex.length - 2;\n        let mid;\n        while (min < max) {\n          mid = min + (max - min >> 1);\n          if (offset < lineToIndex[mid]) {\n            max = mid - 1;\n          } else if (offset >= lineToIndex[mid + 1]) {\n            min = mid + 1;\n          } else {\n            min = mid;\n            break;\n          }\n        }\n      }\n      return {\n        col: offset - lineToIndex[min] + 1,\n        line: min + 1\n      };\n    }\n    mapResolve(file) {\n      if (/^\\w+:\\/\\//.test(file)) {\n        return file;\n      }\n      return resolve(this.map.consumer().sourceRoot || this.map.root || '.', file);\n    }\n    origin(line, column, endLine, endColumn) {\n      if (!this.map) return false;\n      let consumer = this.map.consumer();\n      let from = consumer.originalPositionFor({\n        column,\n        line\n      });\n      if (!from.source) return false;\n      let to;\n      if (typeof endLine === 'number') {\n        to = consumer.originalPositionFor({\n          column: endColumn,\n          line: endLine\n        });\n      }\n      let fromUrl;\n      if (isAbsolute(from.source)) {\n        fromUrl = pathToFileURL(from.source);\n      } else {\n        fromUrl = new URL(from.source, this.map.consumer().sourceRoot || pathToFileURL(this.map.mapFile));\n      }\n      let result = {\n        column: from.column,\n        endColumn: to && to.column,\n        endLine: to && to.line,\n        line: from.line,\n        url: fromUrl.toString()\n      };\n      if (fromUrl.protocol === 'file:') {\n        if (fileURLToPath) {\n          result.file = fileURLToPath(fromUrl);\n        } else {\n          /* c8 ignore next 2 */\n          throw new Error(`file: protocol is not available in this PostCSS build`);\n        }\n      }\n      let source = consumer.sourceContentFor(from.source);\n      if (source) result.source = source;\n      return result;\n    }\n    toJSON() {\n      let json = {};\n      for (let name of ['hasBOM', 'css', 'file', 'id']) {\n        if (this[name] != null) {\n          json[name] = this[name];\n        }\n      }\n      if (this.map) {\n        json.map = {\n          ...this.map\n        };\n        if (json.map.consumerCache) {\n          json.map.consumerCache = undefined;\n        }\n      }\n      return json;\n    }\n    get from() {\n      return this.file || this.id;\n    }\n  }\n  input = Input;\n  Input.default = Input;\n  if (terminalHighlight && terminalHighlight.registerInput) {\n    terminalHighlight.registerInput(Input);\n  }\n  return input;\n}\nvar root;\nvar hasRequiredRoot;\nfunction requireRoot() {\n  if (hasRequiredRoot) return root;\n  hasRequiredRoot = 1;\n  let Container = requireContainer$1();\n  let LazyResult, Processor;\n  let Root = /*#__PURE__*/(() => {\n    class Root extends Container {\n      constructor(defaults) {\n        super(defaults);\n        this.type = 'root';\n        if (!this.nodes) this.nodes = [];\n      }\n      normalize(child, sample, type) {\n        let nodes = super.normalize(child);\n        if (sample) {\n          if (type === 'prepend') {\n            if (this.nodes.length > 1) {\n              sample.raws.before = this.nodes[1].raws.before;\n            } else {\n              delete sample.raws.before;\n            }\n          } else if (this.first !== sample) {\n            for (let node of nodes) {\n              node.raws.before = sample.raws.before;\n            }\n          }\n        }\n        return nodes;\n      }\n      removeChild(child, ignore) {\n        let index = this.index(child);\n        if (!ignore && index === 0 && this.nodes.length > 1) {\n          this.nodes[1].raws.before = this.nodes[index].raws.before;\n        }\n        return super.removeChild(child);\n      }\n      toResult(opts = {}) {\n        let lazy = new LazyResult(new Processor(), this, opts);\n        return lazy.stringify();\n      }\n    }\n    Root.registerLazyResult = dependant => {\n      LazyResult = dependant;\n    };\n    Root.registerProcessor = dependant => {\n      Processor = dependant;\n    };\n    return Root;\n  })();\n  root = Root;\n  Root.default = Root;\n  Container.registerRoot(Root);\n  return root;\n}\nvar list_1;\nvar hasRequiredList;\nfunction requireList() {\n  if (hasRequiredList) return list_1;\n  hasRequiredList = 1;\n  let list = {\n    comma(string) {\n      return list.split(string, [','], true);\n    },\n    space(string) {\n      let spaces = [' ', '\\n', '\\t'];\n      return list.split(string, spaces);\n    },\n    split(string, separators, last) {\n      let array = [];\n      let current = '';\n      let split = false;\n      let func = 0;\n      let inQuote = false;\n      let prevQuote = '';\n      let escape = false;\n      for (let letter of string) {\n        if (escape) {\n          escape = false;\n        } else if (letter === '\\\\') {\n          escape = true;\n        } else if (inQuote) {\n          if (letter === prevQuote) {\n            inQuote = false;\n          }\n        } else if (letter === '\"' || letter === \"'\") {\n          inQuote = true;\n          prevQuote = letter;\n        } else if (letter === '(') {\n          func += 1;\n        } else if (letter === ')') {\n          if (func > 0) func -= 1;\n        } else if (func === 0) {\n          if (separators.includes(letter)) split = true;\n        }\n        if (split) {\n          if (current !== '') array.push(current.trim());\n          current = '';\n          split = false;\n        } else {\n          current += letter;\n        }\n      }\n      if (last || current !== '') array.push(current.trim());\n      return array;\n    }\n  };\n  list_1 = list;\n  list.default = list;\n  return list_1;\n}\nvar rule;\nvar hasRequiredRule;\nfunction requireRule() {\n  if (hasRequiredRule) return rule;\n  hasRequiredRule = 1;\n  let Container = requireContainer$1();\n  let list = requireList();\n  class Rule extends Container {\n    constructor(defaults) {\n      super(defaults);\n      this.type = 'rule';\n      if (!this.nodes) this.nodes = [];\n    }\n    get selectors() {\n      return list.comma(this.selector);\n    }\n    set selectors(values) {\n      let match = this.selector ? this.selector.match(/,\\s*/) : null;\n      let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen');\n      this.selector = values.join(sep);\n    }\n  }\n  rule = Rule;\n  Rule.default = Rule;\n  Container.registerRule(Rule);\n  return rule;\n}\nvar fromJSON_1;\nvar hasRequiredFromJSON;\nfunction requireFromJSON() {\n  if (hasRequiredFromJSON) return fromJSON_1;\n  hasRequiredFromJSON = 1;\n  let AtRule = requireAtRule();\n  let Comment = requireComment();\n  let Declaration = requireDeclaration();\n  let Input = requireInput();\n  let PreviousMap = requirePreviousMap();\n  let Root = requireRoot();\n  let Rule = requireRule();\n  function fromJSON(json, inputs) {\n    if (Array.isArray(json)) return json.map(n => fromJSON(n));\n    let {\n      inputs: ownInputs,\n      ...defaults\n    } = json;\n    if (ownInputs) {\n      inputs = [];\n      for (let input of ownInputs) {\n        let inputHydrated = {\n          ...input,\n          __proto__: Input.prototype\n        };\n        if (inputHydrated.map) {\n          inputHydrated.map = {\n            ...inputHydrated.map,\n            __proto__: PreviousMap.prototype\n          };\n        }\n        inputs.push(inputHydrated);\n      }\n    }\n    if (defaults.nodes) {\n      defaults.nodes = json.nodes.map(n => fromJSON(n, inputs));\n    }\n    if (defaults.source) {\n      let {\n        inputId,\n        ...source\n      } = defaults.source;\n      defaults.source = source;\n      if (inputId != null) {\n        defaults.source.input = inputs[inputId];\n      }\n    }\n    if (defaults.type === 'root') {\n      return new Root(defaults);\n    } else if (defaults.type === 'decl') {\n      return new Declaration(defaults);\n    } else if (defaults.type === 'rule') {\n      return new Rule(defaults);\n    } else if (defaults.type === 'comment') {\n      return new Comment(defaults);\n    } else if (defaults.type === 'atrule') {\n      return new AtRule(defaults);\n    } else {\n      throw new Error('Unknown node type: ' + json.type);\n    }\n  }\n  fromJSON_1 = fromJSON;\n  fromJSON.default = fromJSON;\n  return fromJSON_1;\n}\nvar mapGenerator;\nvar hasRequiredMapGenerator;\nfunction requireMapGenerator() {\n  if (hasRequiredMapGenerator) return mapGenerator;\n  hasRequiredMapGenerator = 1;\n  let {\n    dirname,\n    relative,\n    resolve,\n    sep\n  } = require$$2;\n  let {\n    SourceMapConsumer,\n    SourceMapGenerator\n  } = require$$2;\n  let {\n    pathToFileURL\n  } = require$$2;\n  let Input = requireInput();\n  let sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator);\n  let pathAvailable = Boolean(dirname && resolve && relative && sep);\n  class MapGenerator {\n    constructor(stringify, root, opts, cssString) {\n      this.stringify = stringify;\n      this.mapOpts = opts.map || {};\n      this.root = root;\n      this.opts = opts;\n      this.css = cssString;\n      this.originalCSS = cssString;\n      this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute;\n      this.memoizedFileURLs = new Map();\n      this.memoizedPaths = new Map();\n      this.memoizedURLs = new Map();\n    }\n    addAnnotation() {\n      let content;\n      if (this.isInline()) {\n        content = 'data:application/json;base64,' + this.toBase64(this.map.toString());\n      } else if (typeof this.mapOpts.annotation === 'string') {\n        content = this.mapOpts.annotation;\n      } else if (typeof this.mapOpts.annotation === 'function') {\n        content = this.mapOpts.annotation(this.opts.to, this.root);\n      } else {\n        content = this.outputFile() + '.map';\n      }\n      let eol = '\\n';\n      if (this.css.includes('\\r\\n')) eol = '\\r\\n';\n      this.css += eol + '/*# sourceMappingURL=' + content + ' */';\n    }\n    applyPrevMaps() {\n      for (let prev of this.previous()) {\n        let from = this.toUrl(this.path(prev.file));\n        let root = prev.root || dirname(prev.file);\n        let map;\n        if (this.mapOpts.sourcesContent === false) {\n          map = new SourceMapConsumer(prev.text);\n          if (map.sourcesContent) {\n            map.sourcesContent = null;\n          }\n        } else {\n          map = prev.consumer();\n        }\n        this.map.applySourceMap(map, from, this.toUrl(this.path(root)));\n      }\n    }\n    clearAnnotation() {\n      if (this.mapOpts.annotation === false) return;\n      if (this.root) {\n        let node;\n        for (let i = this.root.nodes.length - 1; i >= 0; i--) {\n          node = this.root.nodes[i];\n          if (node.type !== 'comment') continue;\n          if (node.text.startsWith('# sourceMappingURL=')) {\n            this.root.removeChild(i);\n          }\n        }\n      } else if (this.css) {\n        this.css = this.css.replace(/\\n*\\/\\*#[\\S\\s]*?\\*\\/$/gm, '');\n      }\n    }\n    generate() {\n      this.clearAnnotation();\n      if (pathAvailable && sourceMapAvailable && this.isMap()) {\n        return this.generateMap();\n      } else {\n        let result = '';\n        this.stringify(this.root, i => {\n          result += i;\n        });\n        return [result];\n      }\n    }\n    generateMap() {\n      if (this.root) {\n        this.generateString();\n      } else if (this.previous().length === 1) {\n        let prev = this.previous()[0].consumer();\n        prev.file = this.outputFile();\n        this.map = SourceMapGenerator.fromSourceMap(prev, {\n          ignoreInvalidMapping: true\n        });\n      } else {\n        this.map = new SourceMapGenerator({\n          file: this.outputFile(),\n          ignoreInvalidMapping: true\n        });\n        this.map.addMapping({\n          generated: {\n            column: 0,\n            line: 1\n          },\n          original: {\n            column: 0,\n            line: 1\n          },\n          source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : '<no source>'\n        });\n      }\n      if (this.isSourcesContent()) this.setSourcesContent();\n      if (this.root && this.previous().length > 0) this.applyPrevMaps();\n      if (this.isAnnotation()) this.addAnnotation();\n      if (this.isInline()) {\n        return [this.css];\n      } else {\n        return [this.css, this.map];\n      }\n    }\n    generateString() {\n      this.css = '';\n      this.map = new SourceMapGenerator({\n        file: this.outputFile(),\n        ignoreInvalidMapping: true\n      });\n      let line = 1;\n      let column = 1;\n      let noSource = '<no source>';\n      let mapping = {\n        generated: {\n          column: 0,\n          line: 0\n        },\n        original: {\n          column: 0,\n          line: 0\n        },\n        source: ''\n      };\n      let last, lines;\n      this.stringify(this.root, (str, node, type) => {\n        this.css += str;\n        if (node && type !== 'end') {\n          mapping.generated.line = line;\n          mapping.generated.column = column - 1;\n          if (node.source && node.source.start) {\n            mapping.source = this.sourcePath(node);\n            mapping.original.line = node.source.start.line;\n            mapping.original.column = node.source.start.column - 1;\n            this.map.addMapping(mapping);\n          } else {\n            mapping.source = noSource;\n            mapping.original.line = 1;\n            mapping.original.column = 0;\n            this.map.addMapping(mapping);\n          }\n        }\n        lines = str.match(/\\n/g);\n        if (lines) {\n          line += lines.length;\n          last = str.lastIndexOf('\\n');\n          column = str.length - last;\n        } else {\n          column += str.length;\n        }\n        if (node && type !== 'start') {\n          let p = node.parent || {\n            raws: {}\n          };\n          let childless = node.type === 'decl' || node.type === 'atrule' && !node.nodes;\n          if (!childless || node !== p.last || p.raws.semicolon) {\n            if (node.source && node.source.end) {\n              mapping.source = this.sourcePath(node);\n              mapping.original.line = node.source.end.line;\n              mapping.original.column = node.source.end.column - 1;\n              mapping.generated.line = line;\n              mapping.generated.column = column - 2;\n              this.map.addMapping(mapping);\n            } else {\n              mapping.source = noSource;\n              mapping.original.line = 1;\n              mapping.original.column = 0;\n              mapping.generated.line = line;\n              mapping.generated.column = column - 1;\n              this.map.addMapping(mapping);\n            }\n          }\n        }\n      });\n    }\n    isAnnotation() {\n      if (this.isInline()) {\n        return true;\n      }\n      if (typeof this.mapOpts.annotation !== 'undefined') {\n        return this.mapOpts.annotation;\n      }\n      if (this.previous().length) {\n        return this.previous().some(i => i.annotation);\n      }\n      return true;\n    }\n    isInline() {\n      if (typeof this.mapOpts.inline !== 'undefined') {\n        return this.mapOpts.inline;\n      }\n      let annotation = this.mapOpts.annotation;\n      if (typeof annotation !== 'undefined' && annotation !== true) {\n        return false;\n      }\n      if (this.previous().length) {\n        return this.previous().some(i => i.inline);\n      }\n      return true;\n    }\n    isMap() {\n      if (typeof this.opts.map !== 'undefined') {\n        return !!this.opts.map;\n      }\n      return this.previous().length > 0;\n    }\n    isSourcesContent() {\n      if (typeof this.mapOpts.sourcesContent !== 'undefined') {\n        return this.mapOpts.sourcesContent;\n      }\n      if (this.previous().length) {\n        return this.previous().some(i => i.withContent());\n      }\n      return true;\n    }\n    outputFile() {\n      if (this.opts.to) {\n        return this.path(this.opts.to);\n      } else if (this.opts.from) {\n        return this.path(this.opts.from);\n      } else {\n        return 'to.css';\n      }\n    }\n    path(file) {\n      if (this.mapOpts.absolute) return file;\n      if (file.charCodeAt(0) === 60 /* `<` */) return file;\n      if (/^\\w+:\\/\\//.test(file)) return file;\n      let cached = this.memoizedPaths.get(file);\n      if (cached) return cached;\n      let from = this.opts.to ? dirname(this.opts.to) : '.';\n      if (typeof this.mapOpts.annotation === 'string') {\n        from = dirname(resolve(from, this.mapOpts.annotation));\n      }\n      let path = relative(from, file);\n      this.memoizedPaths.set(file, path);\n      return path;\n    }\n    previous() {\n      if (!this.previousMaps) {\n        this.previousMaps = [];\n        if (this.root) {\n          this.root.walk(node => {\n            if (node.source && node.source.input.map) {\n              let map = node.source.input.map;\n              if (!this.previousMaps.includes(map)) {\n                this.previousMaps.push(map);\n              }\n            }\n          });\n        } else {\n          let input = new Input(this.originalCSS, this.opts);\n          if (input.map) this.previousMaps.push(input.map);\n        }\n      }\n      return this.previousMaps;\n    }\n    setSourcesContent() {\n      let already = {};\n      if (this.root) {\n        this.root.walk(node => {\n          if (node.source) {\n            let from = node.source.input.from;\n            if (from && !already[from]) {\n              already[from] = true;\n              let fromUrl = this.usesFileUrls ? this.toFileUrl(from) : this.toUrl(this.path(from));\n              this.map.setSourceContent(fromUrl, node.source.input.css);\n            }\n          }\n        });\n      } else if (this.css) {\n        let from = this.opts.from ? this.toUrl(this.path(this.opts.from)) : '<no source>';\n        this.map.setSourceContent(from, this.css);\n      }\n    }\n    sourcePath(node) {\n      if (this.mapOpts.from) {\n        return this.toUrl(this.mapOpts.from);\n      } else if (this.usesFileUrls) {\n        return this.toFileUrl(node.source.input.from);\n      } else {\n        return this.toUrl(this.path(node.source.input.from));\n      }\n    }\n    toBase64(str) {\n      if (Buffer) {\n        return Buffer.from(str).toString('base64');\n      } else {\n        return window.btoa(unescape(encodeURIComponent(str)));\n      }\n    }\n    toFileUrl(path) {\n      let cached = this.memoizedFileURLs.get(path);\n      if (cached) return cached;\n      if (pathToFileURL) {\n        let fileURL = pathToFileURL(path).toString();\n        this.memoizedFileURLs.set(path, fileURL);\n        return fileURL;\n      } else {\n        throw new Error('`map.absolute` option is not available in this PostCSS build');\n      }\n    }\n    toUrl(path) {\n      let cached = this.memoizedURLs.get(path);\n      if (cached) return cached;\n      if (sep === '\\\\') {\n        path = path.replace(/\\\\/g, '/');\n      }\n      let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent);\n      this.memoizedURLs.set(path, url);\n      return url;\n    }\n  }\n  mapGenerator = MapGenerator;\n  return mapGenerator;\n}\nvar tokenize;\nvar hasRequiredTokenize;\nfunction requireTokenize() {\n  if (hasRequiredTokenize) return tokenize;\n  hasRequiredTokenize = 1;\n  const SINGLE_QUOTE = \"'\".charCodeAt(0);\n  const DOUBLE_QUOTE = '\"'.charCodeAt(0);\n  const BACKSLASH = '\\\\'.charCodeAt(0);\n  const SLASH = '/'.charCodeAt(0);\n  const NEWLINE = '\\n'.charCodeAt(0);\n  const SPACE = ' '.charCodeAt(0);\n  const FEED = '\\f'.charCodeAt(0);\n  const TAB = '\\t'.charCodeAt(0);\n  const CR = '\\r'.charCodeAt(0);\n  const OPEN_SQUARE = '['.charCodeAt(0);\n  const CLOSE_SQUARE = ']'.charCodeAt(0);\n  const OPEN_PARENTHESES = '('.charCodeAt(0);\n  const CLOSE_PARENTHESES = ')'.charCodeAt(0);\n  const OPEN_CURLY = '{'.charCodeAt(0);\n  const CLOSE_CURLY = '}'.charCodeAt(0);\n  const SEMICOLON = ';'.charCodeAt(0);\n  const ASTERISK = '*'.charCodeAt(0);\n  const COLON = ':'.charCodeAt(0);\n  const AT = '@'.charCodeAt(0);\n  const RE_AT_END = /[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g;\n  const RE_WORD_END = /[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g;\n  const RE_BAD_BRACKET = /.[\\r\\n\"'(/\\\\]/;\n  const RE_HEX_ESCAPE = /[\\da-f]/i;\n  tokenize = function tokenizer(input, options = {}) {\n    let css = input.css.valueOf();\n    let ignore = options.ignoreErrors;\n    let code, content, escape, next, quote;\n    let currentToken, escaped, escapePos, n, prev;\n    let length = css.length;\n    let pos = 0;\n    let buffer = [];\n    let returned = [];\n    function position() {\n      return pos;\n    }\n    function unclosed(what) {\n      throw input.error('Unclosed ' + what, pos);\n    }\n    function endOfFile() {\n      return returned.length === 0 && pos >= length;\n    }\n    function nextToken(opts) {\n      if (returned.length) return returned.pop();\n      if (pos >= length) return;\n      let ignoreUnclosed = opts ? opts.ignoreUnclosed : false;\n      code = css.charCodeAt(pos);\n      switch (code) {\n        case NEWLINE:\n        case SPACE:\n        case TAB:\n        case CR:\n        case FEED:\n          {\n            next = pos;\n            do {\n              next += 1;\n              code = css.charCodeAt(next);\n            } while (code === SPACE || code === NEWLINE || code === TAB || code === CR || code === FEED);\n            currentToken = ['space', css.slice(pos, next)];\n            pos = next - 1;\n            break;\n          }\n        case OPEN_SQUARE:\n        case CLOSE_SQUARE:\n        case OPEN_CURLY:\n        case CLOSE_CURLY:\n        case COLON:\n        case SEMICOLON:\n        case CLOSE_PARENTHESES:\n          {\n            let controlChar = String.fromCharCode(code);\n            currentToken = [controlChar, controlChar, pos];\n            break;\n          }\n        case OPEN_PARENTHESES:\n          {\n            prev = buffer.length ? buffer.pop()[1] : '';\n            n = css.charCodeAt(pos + 1);\n            if (prev === 'url' && n !== SINGLE_QUOTE && n !== DOUBLE_QUOTE && n !== SPACE && n !== NEWLINE && n !== TAB && n !== FEED && n !== CR) {\n              next = pos;\n              do {\n                escaped = false;\n                next = css.indexOf(')', next + 1);\n                if (next === -1) {\n                  if (ignore || ignoreUnclosed) {\n                    next = pos;\n                    break;\n                  } else {\n                    unclosed('bracket');\n                  }\n                }\n                escapePos = next;\n                while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n                  escapePos -= 1;\n                  escaped = !escaped;\n                }\n              } while (escaped);\n              currentToken = ['brackets', css.slice(pos, next + 1), pos, next];\n              pos = next;\n            } else {\n              next = css.indexOf(')', pos + 1);\n              content = css.slice(pos, next + 1);\n              if (next === -1 || RE_BAD_BRACKET.test(content)) {\n                currentToken = ['(', '(', pos];\n              } else {\n                currentToken = ['brackets', content, pos, next];\n                pos = next;\n              }\n            }\n            break;\n          }\n        case SINGLE_QUOTE:\n        case DOUBLE_QUOTE:\n          {\n            quote = code === SINGLE_QUOTE ? \"'\" : '\"';\n            next = pos;\n            do {\n              escaped = false;\n              next = css.indexOf(quote, next + 1);\n              if (next === -1) {\n                if (ignore || ignoreUnclosed) {\n                  next = pos + 1;\n                  break;\n                } else {\n                  unclosed('string');\n                }\n              }\n              escapePos = next;\n              while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n                escapePos -= 1;\n                escaped = !escaped;\n              }\n            } while (escaped);\n            currentToken = ['string', css.slice(pos, next + 1), pos, next];\n            pos = next;\n            break;\n          }\n        case AT:\n          {\n            RE_AT_END.lastIndex = pos + 1;\n            RE_AT_END.test(css);\n            if (RE_AT_END.lastIndex === 0) {\n              next = css.length - 1;\n            } else {\n              next = RE_AT_END.lastIndex - 2;\n            }\n            currentToken = ['at-word', css.slice(pos, next + 1), pos, next];\n            pos = next;\n            break;\n          }\n        case BACKSLASH:\n          {\n            next = pos;\n            escape = true;\n            while (css.charCodeAt(next + 1) === BACKSLASH) {\n              next += 1;\n              escape = !escape;\n            }\n            code = css.charCodeAt(next + 1);\n            if (escape && code !== SLASH && code !== SPACE && code !== NEWLINE && code !== TAB && code !== CR && code !== FEED) {\n              next += 1;\n              if (RE_HEX_ESCAPE.test(css.charAt(next))) {\n                while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) {\n                  next += 1;\n                }\n                if (css.charCodeAt(next + 1) === SPACE) {\n                  next += 1;\n                }\n              }\n            }\n            currentToken = ['word', css.slice(pos, next + 1), pos, next];\n            pos = next;\n            break;\n          }\n        default:\n          {\n            if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) {\n              next = css.indexOf('*/', pos + 2) + 1;\n              if (next === 0) {\n                if (ignore || ignoreUnclosed) {\n                  next = css.length;\n                } else {\n                  unclosed('comment');\n                }\n              }\n              currentToken = ['comment', css.slice(pos, next + 1), pos, next];\n              pos = next;\n            } else {\n              RE_WORD_END.lastIndex = pos + 1;\n              RE_WORD_END.test(css);\n              if (RE_WORD_END.lastIndex === 0) {\n                next = css.length - 1;\n              } else {\n                next = RE_WORD_END.lastIndex - 2;\n              }\n              currentToken = ['word', css.slice(pos, next + 1), pos, next];\n              buffer.push(currentToken);\n              pos = next;\n            }\n            break;\n          }\n      }\n      pos++;\n      return currentToken;\n    }\n    function back(token) {\n      returned.push(token);\n    }\n    return {\n      back,\n      endOfFile,\n      nextToken,\n      position\n    };\n  };\n  return tokenize;\n}\nvar parser;\nvar hasRequiredParser;\nfunction requireParser() {\n  if (hasRequiredParser) return parser;\n  hasRequiredParser = 1;\n  let AtRule = requireAtRule();\n  let Comment = requireComment();\n  let Declaration = requireDeclaration();\n  let Root = requireRoot();\n  let Rule = requireRule();\n  let tokenizer = requireTokenize();\n  const SAFE_COMMENT_NEIGHBOR = {\n    empty: true,\n    space: true\n  };\n  function findLastWithPosition(tokens) {\n    for (let i = tokens.length - 1; i >= 0; i--) {\n      let token = tokens[i];\n      let pos = token[3] || token[2];\n      if (pos) return pos;\n    }\n  }\n  class Parser {\n    constructor(input) {\n      this.input = input;\n      this.root = new Root();\n      this.current = this.root;\n      this.spaces = '';\n      this.semicolon = false;\n      this.createTokenizer();\n      this.root.source = {\n        input,\n        start: {\n          column: 1,\n          line: 1,\n          offset: 0\n        }\n      };\n    }\n    atrule(token) {\n      let node = new AtRule();\n      node.name = token[1].slice(1);\n      if (node.name === '') {\n        this.unnamedAtrule(node, token);\n      }\n      this.init(node, token[2]);\n      let type;\n      let prev;\n      let shift;\n      let last = false;\n      let open = false;\n      let params = [];\n      let brackets = [];\n      while (!this.tokenizer.endOfFile()) {\n        token = this.tokenizer.nextToken();\n        type = token[0];\n        if (type === '(' || type === '[') {\n          brackets.push(type === '(' ? ')' : ']');\n        } else if (type === '{' && brackets.length > 0) {\n          brackets.push('}');\n        } else if (type === brackets[brackets.length - 1]) {\n          brackets.pop();\n        }\n        if (brackets.length === 0) {\n          if (type === ';') {\n            node.source.end = this.getPosition(token[2]);\n            node.source.end.offset++;\n            this.semicolon = true;\n            break;\n          } else if (type === '{') {\n            open = true;\n            break;\n          } else if (type === '}') {\n            if (params.length > 0) {\n              shift = params.length - 1;\n              prev = params[shift];\n              while (prev && prev[0] === 'space') {\n                prev = params[--shift];\n              }\n              if (prev) {\n                node.source.end = this.getPosition(prev[3] || prev[2]);\n                node.source.end.offset++;\n              }\n            }\n            this.end(token);\n            break;\n          } else {\n            params.push(token);\n          }\n        } else {\n          params.push(token);\n        }\n        if (this.tokenizer.endOfFile()) {\n          last = true;\n          break;\n        }\n      }\n      node.raws.between = this.spacesAndCommentsFromEnd(params);\n      if (params.length) {\n        node.raws.afterName = this.spacesAndCommentsFromStart(params);\n        this.raw(node, 'params', params);\n        if (last) {\n          token = params[params.length - 1];\n          node.source.end = this.getPosition(token[3] || token[2]);\n          node.source.end.offset++;\n          this.spaces = node.raws.between;\n          node.raws.between = '';\n        }\n      } else {\n        node.raws.afterName = '';\n        node.params = '';\n      }\n      if (open) {\n        node.nodes = [];\n        this.current = node;\n      }\n    }\n    checkMissedSemicolon(tokens) {\n      let colon = this.colon(tokens);\n      if (colon === false) return;\n      let founded = 0;\n      let token;\n      for (let j = colon - 1; j >= 0; j--) {\n        token = tokens[j];\n        if (token[0] !== 'space') {\n          founded += 1;\n          if (founded === 2) break;\n        }\n      }\n      // If the token is a word, e.g. `!important`, `red` or any other valid property's value.\n      // Then we need to return the colon after that word token. [3] is the \"end\" colon of that word.\n      // And because we need it after that one we do +1 to get the next one.\n      throw this.input.error('Missed semicolon', token[0] === 'word' ? token[3] + 1 : token[2]);\n    }\n    colon(tokens) {\n      let brackets = 0;\n      let prev, token, type;\n      for (let [i, element] of tokens.entries()) {\n        token = element;\n        type = token[0];\n        if (type === '(') {\n          brackets += 1;\n        }\n        if (type === ')') {\n          brackets -= 1;\n        }\n        if (brackets === 0 && type === ':') {\n          if (!prev) {\n            this.doubleColon(token);\n          } else if (prev[0] === 'word' && prev[1] === 'progid') {\n            continue;\n          } else {\n            return i;\n          }\n        }\n        prev = token;\n      }\n      return false;\n    }\n    comment(token) {\n      let node = new Comment();\n      this.init(node, token[2]);\n      node.source.end = this.getPosition(token[3] || token[2]);\n      node.source.end.offset++;\n      let text = token[1].slice(2, -2);\n      if (/^\\s*$/.test(text)) {\n        node.text = '';\n        node.raws.left = text;\n        node.raws.right = '';\n      } else {\n        let match = text.match(/^(\\s*)([^]*\\S)(\\s*)$/);\n        node.text = match[2];\n        node.raws.left = match[1];\n        node.raws.right = match[3];\n      }\n    }\n    createTokenizer() {\n      this.tokenizer = tokenizer(this.input);\n    }\n    decl(tokens, customProperty) {\n      let node = new Declaration();\n      this.init(node, tokens[0][2]);\n      let last = tokens[tokens.length - 1];\n      if (last[0] === ';') {\n        this.semicolon = true;\n        tokens.pop();\n      }\n      node.source.end = this.getPosition(last[3] || last[2] || findLastWithPosition(tokens));\n      node.source.end.offset++;\n      while (tokens[0][0] !== 'word') {\n        if (tokens.length === 1) this.unknownWord(tokens);\n        node.raws.before += tokens.shift()[1];\n      }\n      node.source.start = this.getPosition(tokens[0][2]);\n      node.prop = '';\n      while (tokens.length) {\n        let type = tokens[0][0];\n        if (type === ':' || type === 'space' || type === 'comment') {\n          break;\n        }\n        node.prop += tokens.shift()[1];\n      }\n      node.raws.between = '';\n      let token;\n      while (tokens.length) {\n        token = tokens.shift();\n        if (token[0] === ':') {\n          node.raws.between += token[1];\n          break;\n        } else {\n          if (token[0] === 'word' && /\\w/.test(token[1])) {\n            this.unknownWord([token]);\n          }\n          node.raws.between += token[1];\n        }\n      }\n      if (node.prop[0] === '_' || node.prop[0] === '*') {\n        node.raws.before += node.prop[0];\n        node.prop = node.prop.slice(1);\n      }\n      let firstSpaces = [];\n      let next;\n      while (tokens.length) {\n        next = tokens[0][0];\n        if (next !== 'space' && next !== 'comment') break;\n        firstSpaces.push(tokens.shift());\n      }\n      this.precheckMissedSemicolon(tokens);\n      for (let i = tokens.length - 1; i >= 0; i--) {\n        token = tokens[i];\n        if (token[1].toLowerCase() === '!important') {\n          node.important = true;\n          let string = this.stringFrom(tokens, i);\n          string = this.spacesFromEnd(tokens) + string;\n          if (string !== ' !important') node.raws.important = string;\n          break;\n        } else if (token[1].toLowerCase() === 'important') {\n          let cache = tokens.slice(0);\n          let str = '';\n          for (let j = i; j > 0; j--) {\n            let type = cache[j][0];\n            if (str.trim().startsWith('!') && type !== 'space') {\n              break;\n            }\n            str = cache.pop()[1] + str;\n          }\n          if (str.trim().startsWith('!')) {\n            node.important = true;\n            node.raws.important = str;\n            tokens = cache;\n          }\n        }\n        if (token[0] !== 'space' && token[0] !== 'comment') {\n          break;\n        }\n      }\n      let hasWord = tokens.some(i => i[0] !== 'space' && i[0] !== 'comment');\n      if (hasWord) {\n        node.raws.between += firstSpaces.map(i => i[1]).join('');\n        firstSpaces = [];\n      }\n      this.raw(node, 'value', firstSpaces.concat(tokens), customProperty);\n      if (node.value.includes(':') && !customProperty) {\n        this.checkMissedSemicolon(tokens);\n      }\n    }\n    doubleColon(token) {\n      throw this.input.error('Double colon', {\n        offset: token[2]\n      }, {\n        offset: token[2] + token[1].length\n      });\n    }\n    emptyRule(token) {\n      let node = new Rule();\n      this.init(node, token[2]);\n      node.selector = '';\n      node.raws.between = '';\n      this.current = node;\n    }\n    end(token) {\n      if (this.current.nodes && this.current.nodes.length) {\n        this.current.raws.semicolon = this.semicolon;\n      }\n      this.semicolon = false;\n      this.current.raws.after = (this.current.raws.after || '') + this.spaces;\n      this.spaces = '';\n      if (this.current.parent) {\n        this.current.source.end = this.getPosition(token[2]);\n        this.current.source.end.offset++;\n        this.current = this.current.parent;\n      } else {\n        this.unexpectedClose(token);\n      }\n    }\n    endFile() {\n      if (this.current.parent) this.unclosedBlock();\n      if (this.current.nodes && this.current.nodes.length) {\n        this.current.raws.semicolon = this.semicolon;\n      }\n      this.current.raws.after = (this.current.raws.after || '') + this.spaces;\n      this.root.source.end = this.getPosition(this.tokenizer.position());\n    }\n    freeSemicolon(token) {\n      this.spaces += token[1];\n      if (this.current.nodes) {\n        let prev = this.current.nodes[this.current.nodes.length - 1];\n        if (prev && prev.type === 'rule' && !prev.raws.ownSemicolon) {\n          prev.raws.ownSemicolon = this.spaces;\n          this.spaces = '';\n          prev.source.end = this.getPosition(token[2]);\n          prev.source.end.offset += prev.raws.ownSemicolon.length;\n        }\n      }\n    }\n\n    // Helpers\n\n    getPosition(offset) {\n      let pos = this.input.fromOffset(offset);\n      return {\n        column: pos.col,\n        line: pos.line,\n        offset\n      };\n    }\n    init(node, offset) {\n      this.current.push(node);\n      node.source = {\n        input: this.input,\n        start: this.getPosition(offset)\n      };\n      node.raws.before = this.spaces;\n      this.spaces = '';\n      if (node.type !== 'comment') this.semicolon = false;\n    }\n    other(start) {\n      let end = false;\n      let type = null;\n      let colon = false;\n      let bracket = null;\n      let brackets = [];\n      let customProperty = start[1].startsWith('--');\n      let tokens = [];\n      let token = start;\n      while (token) {\n        type = token[0];\n        tokens.push(token);\n        if (type === '(' || type === '[') {\n          if (!bracket) bracket = token;\n          brackets.push(type === '(' ? ')' : ']');\n        } else if (customProperty && colon && type === '{') {\n          if (!bracket) bracket = token;\n          brackets.push('}');\n        } else if (brackets.length === 0) {\n          if (type === ';') {\n            if (colon) {\n              this.decl(tokens, customProperty);\n              return;\n            } else {\n              break;\n            }\n          } else if (type === '{') {\n            this.rule(tokens);\n            return;\n          } else if (type === '}') {\n            this.tokenizer.back(tokens.pop());\n            end = true;\n            break;\n          } else if (type === ':') {\n            colon = true;\n          }\n        } else if (type === brackets[brackets.length - 1]) {\n          brackets.pop();\n          if (brackets.length === 0) bracket = null;\n        }\n        token = this.tokenizer.nextToken();\n      }\n      if (this.tokenizer.endOfFile()) end = true;\n      if (brackets.length > 0) this.unclosedBracket(bracket);\n      if (end && colon) {\n        if (!customProperty) {\n          while (tokens.length) {\n            token = tokens[tokens.length - 1][0];\n            if (token !== 'space' && token !== 'comment') break;\n            this.tokenizer.back(tokens.pop());\n          }\n        }\n        this.decl(tokens, customProperty);\n      } else {\n        this.unknownWord(tokens);\n      }\n    }\n    parse() {\n      let token;\n      while (!this.tokenizer.endOfFile()) {\n        token = this.tokenizer.nextToken();\n        switch (token[0]) {\n          case 'space':\n            this.spaces += token[1];\n            break;\n          case ';':\n            this.freeSemicolon(token);\n            break;\n          case '}':\n            this.end(token);\n            break;\n          case 'comment':\n            this.comment(token);\n            break;\n          case 'at-word':\n            this.atrule(token);\n            break;\n          case '{':\n            this.emptyRule(token);\n            break;\n          default:\n            this.other(token);\n            break;\n        }\n      }\n      this.endFile();\n    }\n    precheckMissedSemicolon(/* tokens */\n    ) {\n      // Hook for Safe Parser\n    }\n    raw(node, prop, tokens, customProperty) {\n      let token, type;\n      let length = tokens.length;\n      let value = '';\n      let clean = true;\n      let next, prev;\n      for (let i = 0; i < length; i += 1) {\n        token = tokens[i];\n        type = token[0];\n        if (type === 'space' && i === length - 1 && !customProperty) {\n          clean = false;\n        } else if (type === 'comment') {\n          prev = tokens[i - 1] ? tokens[i - 1][0] : 'empty';\n          next = tokens[i + 1] ? tokens[i + 1][0] : 'empty';\n          if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) {\n            if (value.slice(-1) === ',') {\n              clean = false;\n            } else {\n              value += token[1];\n            }\n          } else {\n            clean = false;\n          }\n        } else {\n          value += token[1];\n        }\n      }\n      if (!clean) {\n        let raw = tokens.reduce((all, i) => all + i[1], '');\n        node.raws[prop] = {\n          raw,\n          value\n        };\n      }\n      node[prop] = value;\n    }\n    rule(tokens) {\n      tokens.pop();\n      let node = new Rule();\n      this.init(node, tokens[0][2]);\n      node.raws.between = this.spacesAndCommentsFromEnd(tokens);\n      this.raw(node, 'selector', tokens);\n      this.current = node;\n    }\n    spacesAndCommentsFromEnd(tokens) {\n      let lastTokenType;\n      let spaces = '';\n      while (tokens.length) {\n        lastTokenType = tokens[tokens.length - 1][0];\n        if (lastTokenType !== 'space' && lastTokenType !== 'comment') break;\n        spaces = tokens.pop()[1] + spaces;\n      }\n      return spaces;\n    }\n\n    // Errors\n\n    spacesAndCommentsFromStart(tokens) {\n      let next;\n      let spaces = '';\n      while (tokens.length) {\n        next = tokens[0][0];\n        if (next !== 'space' && next !== 'comment') break;\n        spaces += tokens.shift()[1];\n      }\n      return spaces;\n    }\n    spacesFromEnd(tokens) {\n      let lastTokenType;\n      let spaces = '';\n      while (tokens.length) {\n        lastTokenType = tokens[tokens.length - 1][0];\n        if (lastTokenType !== 'space') break;\n        spaces = tokens.pop()[1] + spaces;\n      }\n      return spaces;\n    }\n    stringFrom(tokens, from) {\n      let result = '';\n      for (let i = from; i < tokens.length; i++) {\n        result += tokens[i][1];\n      }\n      tokens.splice(from, tokens.length - from);\n      return result;\n    }\n    unclosedBlock() {\n      let pos = this.current.source.start;\n      throw this.input.error('Unclosed block', pos.line, pos.column);\n    }\n    unclosedBracket(bracket) {\n      throw this.input.error('Unclosed bracket', {\n        offset: bracket[2]\n      }, {\n        offset: bracket[2] + 1\n      });\n    }\n    unexpectedClose(token) {\n      throw this.input.error('Unexpected }', {\n        offset: token[2]\n      }, {\n        offset: token[2] + 1\n      });\n    }\n    unknownWord(tokens) {\n      throw this.input.error('Unknown word', {\n        offset: tokens[0][2]\n      }, {\n        offset: tokens[0][2] + tokens[0][1].length\n      });\n    }\n    unnamedAtrule(node, token) {\n      throw this.input.error('At-rule without name', {\n        offset: token[2]\n      }, {\n        offset: token[2] + token[1].length\n      });\n    }\n  }\n  parser = Parser;\n  return parser;\n}\nvar parse_1;\nvar hasRequiredParse;\nfunction requireParse() {\n  if (hasRequiredParse) return parse_1;\n  hasRequiredParse = 1;\n  let Container = requireContainer$1();\n  let Input = requireInput();\n  let Parser = requireParser();\n  function parse(css, opts) {\n    let input = new Input(css, opts);\n    let parser = new Parser(input);\n    try {\n      parser.parse();\n    } catch (e) {\n      if (process.env.NODE_ENV !== 'production') {\n        if (e.name === 'CssSyntaxError' && opts && opts.from) {\n          if (/\\.scss$/i.test(opts.from)) {\n            e.message += '\\nYou tried to parse SCSS with ' + 'the standard CSS parser; ' + 'try again with the postcss-scss parser';\n          } else if (/\\.sass/i.test(opts.from)) {\n            e.message += '\\nYou tried to parse Sass with ' + 'the standard CSS parser; ' + 'try again with the postcss-sass parser';\n          } else if (/\\.less$/i.test(opts.from)) {\n            e.message += '\\nYou tried to parse Less with ' + 'the standard CSS parser; ' + 'try again with the postcss-less parser';\n          }\n        }\n      }\n      throw e;\n    }\n    return parser.root;\n  }\n  parse_1 = parse;\n  parse.default = parse;\n  Container.registerParse(parse);\n  return parse_1;\n}\nvar warning;\nvar hasRequiredWarning;\nfunction requireWarning() {\n  if (hasRequiredWarning) return warning;\n  hasRequiredWarning = 1;\n  class Warning {\n    constructor(text, opts = {}) {\n      this.type = 'warning';\n      this.text = text;\n      if (opts.node && opts.node.source) {\n        let range = opts.node.rangeBy(opts);\n        this.line = range.start.line;\n        this.column = range.start.column;\n        this.endLine = range.end.line;\n        this.endColumn = range.end.column;\n      }\n      for (let opt in opts) this[opt] = opts[opt];\n    }\n    toString() {\n      if (this.node) {\n        return this.node.error(this.text, {\n          index: this.index,\n          plugin: this.plugin,\n          word: this.word\n        }).message;\n      }\n      if (this.plugin) {\n        return this.plugin + ': ' + this.text;\n      }\n      return this.text;\n    }\n  }\n  warning = Warning;\n  Warning.default = Warning;\n  return warning;\n}\nvar result;\nvar hasRequiredResult;\nfunction requireResult() {\n  if (hasRequiredResult) return result;\n  hasRequiredResult = 1;\n  let Warning = requireWarning();\n  class Result {\n    constructor(processor, root, opts) {\n      this.processor = processor;\n      this.messages = [];\n      this.root = root;\n      this.opts = opts;\n      this.css = undefined;\n      this.map = undefined;\n    }\n    toString() {\n      return this.css;\n    }\n    warn(text, opts = {}) {\n      if (!opts.plugin) {\n        if (this.lastPlugin && this.lastPlugin.postcssPlugin) {\n          opts.plugin = this.lastPlugin.postcssPlugin;\n        }\n      }\n      let warning = new Warning(text, opts);\n      this.messages.push(warning);\n      return warning;\n    }\n    warnings() {\n      return this.messages.filter(i => i.type === 'warning');\n    }\n    get content() {\n      return this.css;\n    }\n  }\n  result = Result;\n  Result.default = Result;\n  return result;\n}\n\n/* eslint-disable no-console */\n\nvar warnOnce;\nvar hasRequiredWarnOnce;\nfunction requireWarnOnce() {\n  if (hasRequiredWarnOnce) return warnOnce;\n  hasRequiredWarnOnce = 1;\n  let printed = {};\n  warnOnce = function warnOnce(message) {\n    if (printed[message]) return;\n    printed[message] = true;\n    if (typeof console !== 'undefined' && console.warn) {\n      console.warn(message);\n    }\n  };\n  return warnOnce;\n}\nvar lazyResult;\nvar hasRequiredLazyResult;\nfunction requireLazyResult() {\n  if (hasRequiredLazyResult) return lazyResult;\n  hasRequiredLazyResult = 1;\n  let Container = requireContainer$1();\n  let Document = requireDocument();\n  let MapGenerator = requireMapGenerator();\n  let parse = requireParse();\n  let Result = requireResult();\n  let Root = requireRoot();\n  let stringify = requireStringify();\n  let {\n    isClean,\n    my\n  } = requireSymbols();\n  let warnOnce = requireWarnOnce();\n  const TYPE_TO_CLASS_NAME = {\n    atrule: 'AtRule',\n    comment: 'Comment',\n    decl: 'Declaration',\n    document: 'Document',\n    root: 'Root',\n    rule: 'Rule'\n  };\n  const PLUGIN_PROPS = {\n    AtRule: true,\n    AtRuleExit: true,\n    Comment: true,\n    CommentExit: true,\n    Declaration: true,\n    DeclarationExit: true,\n    Document: true,\n    DocumentExit: true,\n    Once: true,\n    OnceExit: true,\n    postcssPlugin: true,\n    prepare: true,\n    Root: true,\n    RootExit: true,\n    Rule: true,\n    RuleExit: true\n  };\n  const NOT_VISITORS = {\n    Once: true,\n    postcssPlugin: true,\n    prepare: true\n  };\n  const CHILDREN = 0;\n  function isPromise(obj) {\n    return typeof obj === 'object' && typeof obj.then === 'function';\n  }\n  function getEvents(node) {\n    let key = false;\n    let type = TYPE_TO_CLASS_NAME[node.type];\n    if (node.type === 'decl') {\n      key = node.prop.toLowerCase();\n    } else if (node.type === 'atrule') {\n      key = node.name.toLowerCase();\n    }\n    if (key && node.append) {\n      return [type, type + '-' + key, CHILDREN, type + 'Exit', type + 'Exit-' + key];\n    } else if (key) {\n      return [type, type + '-' + key, type + 'Exit', type + 'Exit-' + key];\n    } else if (node.append) {\n      return [type, CHILDREN, type + 'Exit'];\n    } else {\n      return [type, type + 'Exit'];\n    }\n  }\n  function toStack(node) {\n    let events;\n    if (node.type === 'document') {\n      events = ['Document', CHILDREN, 'DocumentExit'];\n    } else if (node.type === 'root') {\n      events = ['Root', CHILDREN, 'RootExit'];\n    } else {\n      events = getEvents(node);\n    }\n    return {\n      eventIndex: 0,\n      events,\n      iterator: 0,\n      node,\n      visitorIndex: 0,\n      visitors: []\n    };\n  }\n  function cleanMarks(node) {\n    node[isClean] = false;\n    if (node.nodes) node.nodes.forEach(i => cleanMarks(i));\n    return node;\n  }\n  let postcss = {};\n  let LazyResult = /*#__PURE__*/(() => {\n    class LazyResult {\n      constructor(processor, css, opts) {\n        this.stringified = false;\n        this.processed = false;\n        let root;\n        if (typeof css === 'object' && css !== null && (css.type === 'root' || css.type === 'document')) {\n          root = cleanMarks(css);\n        } else if (css instanceof LazyResult || css instanceof Result) {\n          root = cleanMarks(css.root);\n          if (css.map) {\n            if (typeof opts.map === 'undefined') opts.map = {};\n            if (!opts.map.inline) opts.map.inline = false;\n            opts.map.prev = css.map;\n          }\n        } else {\n          let parser = parse;\n          if (opts.syntax) parser = opts.syntax.parse;\n          if (opts.parser) parser = opts.parser;\n          if (parser.parse) parser = parser.parse;\n          try {\n            root = parser(css, opts);\n          } catch (error) {\n            this.processed = true;\n            this.error = error;\n          }\n          if (root && !root[my]) {\n            /* c8 ignore next 2 */\n            Container.rebuild(root);\n          }\n        }\n        this.result = new Result(processor, root, opts);\n        this.helpers = {\n          ...postcss,\n          postcss,\n          result: this.result\n        };\n        this.plugins = this.processor.plugins.map(plugin => {\n          if (typeof plugin === 'object' && plugin.prepare) {\n            return {\n              ...plugin,\n              ...plugin.prepare(this.result)\n            };\n          } else {\n            return plugin;\n          }\n        });\n      }\n      async() {\n        if (this.error) return Promise.reject(this.error);\n        if (this.processed) return Promise.resolve(this.result);\n        if (!this.processing) {\n          this.processing = this.runAsync();\n        }\n        return this.processing;\n      }\n      catch(onRejected) {\n        return this.async().catch(onRejected);\n      }\n      finally(onFinally) {\n        return this.async().then(onFinally, onFinally);\n      }\n      getAsyncError() {\n        throw new Error('Use process(css).then(cb) to work with async plugins');\n      }\n      handleError(error, node) {\n        let plugin = this.result.lastPlugin;\n        try {\n          if (node) node.addToError(error);\n          this.error = error;\n          if (error.name === 'CssSyntaxError' && !error.plugin) {\n            error.plugin = plugin.postcssPlugin;\n            error.setMessage();\n          } else if (plugin.postcssVersion) {\n            if (process.env.NODE_ENV !== 'production') {\n              let pluginName = plugin.postcssPlugin;\n              let pluginVer = plugin.postcssVersion;\n              let runtimeVer = this.result.processor.version;\n              let a = pluginVer.split('.');\n              let b = runtimeVer.split('.');\n              if (a[0] !== b[0] || parseInt(a[1]) > parseInt(b[1])) {\n                // eslint-disable-next-line no-console\n                console.error('Unknown error from PostCSS plugin. Your current PostCSS ' + 'version is ' + runtimeVer + ', but ' + pluginName + ' uses ' + pluginVer + '. Perhaps this is the source of the error below.');\n              }\n            }\n          }\n        } catch (err) {\n          /* c8 ignore next 3 */\n          // eslint-disable-next-line no-console\n          if (console && console.error) console.error(err);\n        }\n        return error;\n      }\n      prepareVisitors() {\n        this.listeners = {};\n        let add = (plugin, type, cb) => {\n          if (!this.listeners[type]) this.listeners[type] = [];\n          this.listeners[type].push([plugin, cb]);\n        };\n        for (let plugin of this.plugins) {\n          if (typeof plugin === 'object') {\n            for (let event in plugin) {\n              if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) {\n                throw new Error(`Unknown event ${event} in ${plugin.postcssPlugin}. ` + `Try to update PostCSS (${this.processor.version} now).`);\n              }\n              if (!NOT_VISITORS[event]) {\n                if (typeof plugin[event] === 'object') {\n                  for (let filter in plugin[event]) {\n                    if (filter === '*') {\n                      add(plugin, event, plugin[event][filter]);\n                    } else {\n                      add(plugin, event + '-' + filter.toLowerCase(), plugin[event][filter]);\n                    }\n                  }\n                } else if (typeof plugin[event] === 'function') {\n                  add(plugin, event, plugin[event]);\n                }\n              }\n            }\n          }\n        }\n        this.hasListener = Object.keys(this.listeners).length > 0;\n      }\n      async runAsync() {\n        this.plugin = 0;\n        for (let i = 0; i < this.plugins.length; i++) {\n          let plugin = this.plugins[i];\n          let promise = this.runOnRoot(plugin);\n          if (isPromise(promise)) {\n            try {\n              await promise;\n            } catch (error) {\n              throw this.handleError(error);\n            }\n          }\n        }\n        this.prepareVisitors();\n        if (this.hasListener) {\n          let root = this.result.root;\n          while (!root[isClean]) {\n            root[isClean] = true;\n            let stack = [toStack(root)];\n            while (stack.length > 0) {\n              let promise = this.visitTick(stack);\n              if (isPromise(promise)) {\n                try {\n                  await promise;\n                } catch (e) {\n                  let node = stack[stack.length - 1].node;\n                  throw this.handleError(e, node);\n                }\n              }\n            }\n          }\n          if (this.listeners.OnceExit) {\n            for (let [plugin, visitor] of this.listeners.OnceExit) {\n              this.result.lastPlugin = plugin;\n              try {\n                if (root.type === 'document') {\n                  let roots = root.nodes.map(subRoot => visitor(subRoot, this.helpers));\n                  await Promise.all(roots);\n                } else {\n                  await visitor(root, this.helpers);\n                }\n              } catch (e) {\n                throw this.handleError(e);\n              }\n            }\n          }\n        }\n        this.processed = true;\n        return this.stringify();\n      }\n      runOnRoot(plugin) {\n        this.result.lastPlugin = plugin;\n        try {\n          if (typeof plugin === 'object' && plugin.Once) {\n            if (this.result.root.type === 'document') {\n              let roots = this.result.root.nodes.map(root => plugin.Once(root, this.helpers));\n              if (isPromise(roots[0])) {\n                return Promise.all(roots);\n              }\n              return roots;\n            }\n            return plugin.Once(this.result.root, this.helpers);\n          } else if (typeof plugin === 'function') {\n            return plugin(this.result.root, this.result);\n          }\n        } catch (error) {\n          throw this.handleError(error);\n        }\n      }\n      stringify() {\n        if (this.error) throw this.error;\n        if (this.stringified) return this.result;\n        this.stringified = true;\n        this.sync();\n        let opts = this.result.opts;\n        let str = stringify;\n        if (opts.syntax) str = opts.syntax.stringify;\n        if (opts.stringifier) str = opts.stringifier;\n        if (str.stringify) str = str.stringify;\n        let map = new MapGenerator(str, this.result.root, this.result.opts);\n        let data = map.generate();\n        this.result.css = data[0];\n        this.result.map = data[1];\n        return this.result;\n      }\n      sync() {\n        if (this.error) throw this.error;\n        if (this.processed) return this.result;\n        this.processed = true;\n        if (this.processing) {\n          throw this.getAsyncError();\n        }\n        for (let plugin of this.plugins) {\n          let promise = this.runOnRoot(plugin);\n          if (isPromise(promise)) {\n            throw this.getAsyncError();\n          }\n        }\n        this.prepareVisitors();\n        if (this.hasListener) {\n          let root = this.result.root;\n          while (!root[isClean]) {\n            root[isClean] = true;\n            this.walkSync(root);\n          }\n          if (this.listeners.OnceExit) {\n            if (root.type === 'document') {\n              for (let subRoot of root.nodes) {\n                this.visitSync(this.listeners.OnceExit, subRoot);\n              }\n            } else {\n              this.visitSync(this.listeners.OnceExit, root);\n            }\n          }\n        }\n        return this.result;\n      }\n      then(onFulfilled, onRejected) {\n        if (process.env.NODE_ENV !== 'production') {\n          if (!('from' in this.opts)) {\n            warnOnce('Without `from` option PostCSS could generate wrong source map ' + 'and will not find Browserslist config. Set it to CSS file path ' + 'or to `undefined` to prevent this warning.');\n          }\n        }\n        return this.async().then(onFulfilled, onRejected);\n      }\n      toString() {\n        return this.css;\n      }\n      visitSync(visitors, node) {\n        for (let [plugin, visitor] of visitors) {\n          this.result.lastPlugin = plugin;\n          let promise;\n          try {\n            promise = visitor(node, this.helpers);\n          } catch (e) {\n            throw this.handleError(e, node.proxyOf);\n          }\n          if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n            return true;\n          }\n          if (isPromise(promise)) {\n            throw this.getAsyncError();\n          }\n        }\n      }\n      visitTick(stack) {\n        let visit = stack[stack.length - 1];\n        let {\n          node,\n          visitors\n        } = visit;\n        if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n          stack.pop();\n          return;\n        }\n        if (visitors.length > 0 && visit.visitorIndex < visitors.length) {\n          let [plugin, visitor] = visitors[visit.visitorIndex];\n          visit.visitorIndex += 1;\n          if (visit.visitorIndex === visitors.length) {\n            visit.visitors = [];\n            visit.visitorIndex = 0;\n          }\n          this.result.lastPlugin = plugin;\n          try {\n            return visitor(node.toProxy(), this.helpers);\n          } catch (e) {\n            throw this.handleError(e, node);\n          }\n        }\n        if (visit.iterator !== 0) {\n          let iterator = visit.iterator;\n          let child;\n          while (child = node.nodes[node.indexes[iterator]]) {\n            node.indexes[iterator] += 1;\n            if (!child[isClean]) {\n              child[isClean] = true;\n              stack.push(toStack(child));\n              return;\n            }\n          }\n          visit.iterator = 0;\n          delete node.indexes[iterator];\n        }\n        let events = visit.events;\n        while (visit.eventIndex < events.length) {\n          let event = events[visit.eventIndex];\n          visit.eventIndex += 1;\n          if (event === CHILDREN) {\n            if (node.nodes && node.nodes.length) {\n              node[isClean] = true;\n              visit.iterator = node.getIterator();\n            }\n            return;\n          } else if (this.listeners[event]) {\n            visit.visitors = this.listeners[event];\n            return;\n          }\n        }\n        stack.pop();\n      }\n      walkSync(node) {\n        node[isClean] = true;\n        let events = getEvents(node);\n        for (let event of events) {\n          if (event === CHILDREN) {\n            if (node.nodes) {\n              node.each(child => {\n                if (!child[isClean]) this.walkSync(child);\n              });\n            }\n          } else {\n            let visitors = this.listeners[event];\n            if (visitors) {\n              if (this.visitSync(visitors, node.toProxy())) return;\n            }\n          }\n        }\n      }\n      warnings() {\n        return this.sync().warnings();\n      }\n      get content() {\n        return this.stringify().content;\n      }\n      get css() {\n        return this.stringify().css;\n      }\n      get map() {\n        return this.stringify().map;\n      }\n      get messages() {\n        return this.sync().messages;\n      }\n      get opts() {\n        return this.result.opts;\n      }\n      get processor() {\n        return this.result.processor;\n      }\n      get root() {\n        return this.sync().root;\n      }\n      get [Symbol.toStringTag]() {\n        return 'LazyResult';\n      }\n    }\n    LazyResult.registerPostcss = dependant => {\n      postcss = dependant;\n    };\n    return LazyResult;\n  })();\n  lazyResult = LazyResult;\n  LazyResult.default = LazyResult;\n  Root.registerLazyResult(LazyResult);\n  Document.registerLazyResult(LazyResult);\n  return lazyResult;\n}\nvar noWorkResult;\nvar hasRequiredNoWorkResult;\nfunction requireNoWorkResult() {\n  if (hasRequiredNoWorkResult) return noWorkResult;\n  hasRequiredNoWorkResult = 1;\n  let MapGenerator = requireMapGenerator();\n  let parse = requireParse();\n  const Result = requireResult();\n  let stringify = requireStringify();\n  let warnOnce = requireWarnOnce();\n  class NoWorkResult {\n    constructor(processor, css, opts) {\n      css = css.toString();\n      this.stringified = false;\n      this._processor = processor;\n      this._css = css;\n      this._opts = opts;\n      this._map = undefined;\n      let root;\n      let str = stringify;\n      this.result = new Result(this._processor, root, this._opts);\n      this.result.css = css;\n      let self = this;\n      Object.defineProperty(this.result, 'root', {\n        get() {\n          return self.root;\n        }\n      });\n      let map = new MapGenerator(str, root, this._opts, css);\n      if (map.isMap()) {\n        let [generatedCSS, generatedMap] = map.generate();\n        if (generatedCSS) {\n          this.result.css = generatedCSS;\n        }\n        if (generatedMap) {\n          this.result.map = generatedMap;\n        }\n      } else {\n        map.clearAnnotation();\n        this.result.css = map.css;\n      }\n    }\n    async() {\n      if (this.error) return Promise.reject(this.error);\n      return Promise.resolve(this.result);\n    }\n    catch(onRejected) {\n      return this.async().catch(onRejected);\n    }\n    finally(onFinally) {\n      return this.async().then(onFinally, onFinally);\n    }\n    sync() {\n      if (this.error) throw this.error;\n      return this.result;\n    }\n    then(onFulfilled, onRejected) {\n      if (process.env.NODE_ENV !== 'production') {\n        if (!('from' in this._opts)) {\n          warnOnce('Without `from` option PostCSS could generate wrong source map ' + 'and will not find Browserslist config. Set it to CSS file path ' + 'or to `undefined` to prevent this warning.');\n        }\n      }\n      return this.async().then(onFulfilled, onRejected);\n    }\n    toString() {\n      return this._css;\n    }\n    warnings() {\n      return [];\n    }\n    get content() {\n      return this.result.css;\n    }\n    get css() {\n      return this.result.css;\n    }\n    get map() {\n      return this.result.map;\n    }\n    get messages() {\n      return [];\n    }\n    get opts() {\n      return this.result.opts;\n    }\n    get processor() {\n      return this.result.processor;\n    }\n    get root() {\n      if (this._root) {\n        return this._root;\n      }\n      let root;\n      let parser = parse;\n      try {\n        root = parser(this._css, this._opts);\n      } catch (error) {\n        this.error = error;\n      }\n      if (this.error) {\n        throw this.error;\n      } else {\n        this._root = root;\n        return root;\n      }\n    }\n    get [Symbol.toStringTag]() {\n      return 'NoWorkResult';\n    }\n  }\n  noWorkResult = NoWorkResult;\n  NoWorkResult.default = NoWorkResult;\n  return noWorkResult;\n}\nvar processor;\nvar hasRequiredProcessor;\nfunction requireProcessor() {\n  if (hasRequiredProcessor) return processor;\n  hasRequiredProcessor = 1;\n  let Document = requireDocument();\n  let LazyResult = requireLazyResult();\n  let NoWorkResult = requireNoWorkResult();\n  let Root = requireRoot();\n  class Processor {\n    constructor(plugins = []) {\n      this.version = '8.5.2';\n      this.plugins = this.normalize(plugins);\n    }\n    normalize(plugins) {\n      let normalized = [];\n      for (let i of plugins) {\n        if (i.postcss === true) {\n          i = i();\n        } else if (i.postcss) {\n          i = i.postcss;\n        }\n        if (typeof i === 'object' && Array.isArray(i.plugins)) {\n          normalized = normalized.concat(i.plugins);\n        } else if (typeof i === 'object' && i.postcssPlugin) {\n          normalized.push(i);\n        } else if (typeof i === 'function') {\n          normalized.push(i);\n        } else if (typeof i === 'object' && (i.parse || i.stringify)) {\n          if (process.env.NODE_ENV !== 'production') {\n            throw new Error('PostCSS syntaxes cannot be used as plugins. Instead, please use ' + 'one of the syntax/parser/stringifier options as outlined ' + 'in your PostCSS runner documentation.');\n          }\n        } else {\n          throw new Error(i + ' is not a PostCSS plugin');\n        }\n      }\n      return normalized;\n    }\n    process(css, opts = {}) {\n      if (!this.plugins.length && !opts.parser && !opts.stringifier && !opts.syntax) {\n        return new NoWorkResult(this, css, opts);\n      } else {\n        return new LazyResult(this, css, opts);\n      }\n    }\n    use(plugin) {\n      this.plugins = this.plugins.concat(this.normalize([plugin]));\n      return this;\n    }\n  }\n  processor = Processor;\n  Processor.default = Processor;\n  Root.registerProcessor(Processor);\n  Document.registerProcessor(Processor);\n  return processor;\n}\nvar postcss_1;\nvar hasRequiredPostcss;\nfunction requirePostcss() {\n  if (hasRequiredPostcss) return postcss_1;\n  hasRequiredPostcss = 1;\n  let AtRule = requireAtRule();\n  let Comment = requireComment();\n  let Container = requireContainer$1();\n  let CssSyntaxError = requireCssSyntaxError();\n  let Declaration = requireDeclaration();\n  let Document = requireDocument();\n  let fromJSON = requireFromJSON();\n  let Input = requireInput();\n  let LazyResult = requireLazyResult();\n  let list = requireList();\n  let Node = requireNode$1();\n  let parse = requireParse();\n  let Processor = requireProcessor();\n  let Result = requireResult();\n  let Root = requireRoot();\n  let Rule = requireRule();\n  let stringify = requireStringify();\n  let Warning = requireWarning();\n  function postcss(...plugins) {\n    if (plugins.length === 1 && Array.isArray(plugins[0])) {\n      plugins = plugins[0];\n    }\n    return new Processor(plugins);\n  }\n  postcss.plugin = function plugin(name, initializer) {\n    let warningPrinted = false;\n    function creator(...args) {\n      // eslint-disable-next-line no-console\n      if (console && console.warn && !warningPrinted) {\n        warningPrinted = true;\n        // eslint-disable-next-line no-console\n        console.warn(name + ': postcss.plugin was deprecated. Migration guide:\\n' + 'https://evilmartians.com/chronicles/postcss-8-plugin-migration');\n        if (process.env.LANG && process.env.LANG.startsWith('cn')) {\n          /* c8 ignore next 7 */\n          // eslint-disable-next-line no-console\n          console.warn(name + ': 里面 postcss.plugin 被弃用. 迁移指南:\\n' + 'https://www.w3ctech.com/topic/2226');\n        }\n      }\n      let transformer = initializer(...args);\n      transformer.postcssPlugin = name;\n      transformer.postcssVersion = new Processor().version;\n      return transformer;\n    }\n    let cache;\n    Object.defineProperty(creator, 'postcss', {\n      get() {\n        if (!cache) cache = creator();\n        return cache;\n      }\n    });\n    creator.process = function (css, processOpts, pluginOpts) {\n      return postcss([creator(pluginOpts)]).process(css, processOpts);\n    };\n    return creator;\n  };\n  postcss.stringify = stringify;\n  postcss.parse = parse;\n  postcss.fromJSON = fromJSON;\n  postcss.list = list;\n  postcss.comment = defaults => new Comment(defaults);\n  postcss.atRule = defaults => new AtRule(defaults);\n  postcss.decl = defaults => new Declaration(defaults);\n  postcss.rule = defaults => new Rule(defaults);\n  postcss.root = defaults => new Root(defaults);\n  postcss.document = defaults => new Document(defaults);\n  postcss.CssSyntaxError = CssSyntaxError;\n  postcss.Declaration = Declaration;\n  postcss.Container = Container;\n  postcss.Processor = Processor;\n  postcss.Document = Document;\n  postcss.Comment = Comment;\n  postcss.Warning = Warning;\n  postcss.AtRule = AtRule;\n  postcss.Result = Result;\n  postcss.Input = Input;\n  postcss.Rule = Rule;\n  postcss.Root = Root;\n  postcss.Node = Node;\n  LazyResult.registerPostcss(postcss);\n  postcss_1 = postcss;\n  postcss.default = postcss;\n  return postcss_1;\n}\nvar postcssExports = /*#__PURE__*/requirePostcss();\nvar postcss = /*@__PURE__*/getDefaultExportFromCjs(postcssExports);\nconst stringify = postcss.stringify;\npostcss.fromJSON;\npostcss.plugin;\nconst parse$2 = postcss.parse;\npostcss.list;\npostcss.document;\npostcss.comment;\npostcss.atRule;\npostcss.rule;\npostcss.decl;\npostcss.root;\npostcss.CssSyntaxError;\npostcss.Declaration;\npostcss.Container;\npostcss.Processor;\npostcss.Document;\npostcss.Comment;\npostcss.Warning;\npostcss.AtRule;\npostcss.Result;\npostcss.Input;\npostcss.Rule;\npostcss.Root;\npostcss.Node;\nvar dist = {};\nvar Container = {};\nvar Node$1 = {};\nvar hasRequiredNode;\nfunction requireNode() {\n  if (hasRequiredNode) return Node$1;\n  hasRequiredNode = 1;\n  Object.defineProperty(Node$1, \"__esModule\", {\n    value: true\n  });\n  /**\r\n   * A very generic node. Pretty much any element of a media query\r\n   */\n\n  function Node(opts) {\n    this.after = opts.after;\n    this.before = opts.before;\n    this.type = opts.type;\n    this.value = opts.value;\n    this.sourceIndex = opts.sourceIndex;\n  }\n  Node$1.default = Node;\n  return Node$1;\n}\nvar hasRequiredContainer;\nfunction requireContainer() {\n  if (hasRequiredContainer) return Container;\n  hasRequiredContainer = 1;\n  Object.defineProperty(Container, \"__esModule\", {\n    value: true\n  });\n  var _Node = requireNode();\n  var _Node2 = _interopRequireDefault(_Node);\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n  function Container$1(opts) {\n    var _this = this;\n    this.constructor(opts);\n    this.nodes = opts.nodes;\n    if (this.after === undefined) {\n      this.after = this.nodes.length > 0 ? this.nodes[this.nodes.length - 1].after : '';\n    }\n    if (this.before === undefined) {\n      this.before = this.nodes.length > 0 ? this.nodes[0].before : '';\n    }\n    if (this.sourceIndex === undefined) {\n      this.sourceIndex = this.before.length;\n    }\n    this.nodes.forEach(function (node) {\n      node.parent = _this; // eslint-disable-line no-param-reassign\n    });\n  } /**\r\n     * A node that contains other nodes and support traversing over them\r\n     */\n\n  Container$1.prototype = Object.create(_Node2.default.prototype);\n  Container$1.constructor = _Node2.default;\n\n  /**\r\n   * Iterate over descendant nodes of the node\r\n   *\r\n   * @param {RegExp|string} filter - Optional. Only nodes with node.type that\r\n   *    satisfies the filter will be traversed over\r\n   * @param {function} cb - callback to call on each node. Takes theese params:\r\n   *    node - the node being processed, i - it's index, nodes - the array\r\n   *    of all nodes\r\n   *    If false is returned, the iteration breaks\r\n   *\r\n   * @return (boolean) false, if the iteration was broken\r\n   */\n  Container$1.prototype.walk = function walk(filter, cb) {\n    var hasFilter = typeof filter === 'string' || filter instanceof RegExp;\n    var callback = hasFilter ? cb : filter;\n    var filterReg = typeof filter === 'string' ? new RegExp(filter) : filter;\n    for (var i = 0; i < this.nodes.length; i++) {\n      var node = this.nodes[i];\n      var filtered = hasFilter ? filterReg.test(node.type) : true;\n      if (filtered && callback && callback(node, i, this.nodes) === false) {\n        return false;\n      }\n      if (node.nodes && node.walk(filter, cb) === false) {\n        return false;\n      }\n    }\n    return true;\n  };\n\n  /**\r\n   * Iterate over immediate children of the node\r\n   *\r\n   * @param {function} cb - callback to call on each node. Takes theese params:\r\n   *    node - the node being processed, i - it's index, nodes - the array\r\n   *    of all nodes\r\n   *    If false is returned, the iteration breaks\r\n   *\r\n   * @return (boolean) false, if the iteration was broken\r\n   */\n  Container$1.prototype.each = function each() {\n    var cb = arguments.length <= 0 || arguments[0] === undefined ? function () {} : arguments[0];\n    for (var i = 0; i < this.nodes.length; i++) {\n      var node = this.nodes[i];\n      if (cb(node, i, this.nodes) === false) {\n        return false;\n      }\n    }\n    return true;\n  };\n  Container.default = Container$1;\n  return Container;\n}\nvar parsers = {};\nvar hasRequiredParsers;\nfunction requireParsers() {\n  if (hasRequiredParsers) return parsers;\n  hasRequiredParsers = 1;\n  Object.defineProperty(parsers, \"__esModule\", {\n    value: true\n  });\n  parsers.parseMediaFeature = parseMediaFeature;\n  parsers.parseMediaQuery = parseMediaQuery;\n  parsers.parseMediaList = parseMediaList;\n  var _Node = requireNode();\n  var _Node2 = _interopRequireDefault(_Node);\n  var _Container = requireContainer();\n  var _Container2 = _interopRequireDefault(_Container);\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  /**\r\n   * Parses a media feature expression, e.g. `max-width: 10px`, `(color)`\r\n   *\r\n   * @param {string} string - the source expression string, can be inside parens\r\n   * @param {Number} index - the index of `string` in the overall input\r\n   *\r\n   * @return {Array} an array of Nodes, the first element being a media feature,\r\n   *    the secont - its value (may be missing)\r\n   */\n\n  function parseMediaFeature(string) {\n    var index = arguments.length <= 1 || arguments[1] === undefined ? 0 : arguments[1];\n    var modesEntered = [{\n      mode: 'normal',\n      character: null\n    }];\n    var result = [];\n    var lastModeIndex = 0;\n    var mediaFeature = '';\n    var colon = null;\n    var mediaFeatureValue = null;\n    var indexLocal = index;\n    var stringNormalized = string;\n    // Strip trailing parens (if any), and correct the starting index\n    if (string[0] === '(' && string[string.length - 1] === ')') {\n      stringNormalized = string.substring(1, string.length - 1);\n      indexLocal++;\n    }\n    for (var i = 0; i < stringNormalized.length; i++) {\n      var character = stringNormalized[i];\n\n      // If entering/exiting a string\n      if (character === '\\'' || character === '\"') {\n        if (modesEntered[lastModeIndex].isCalculationEnabled === true) {\n          modesEntered.push({\n            mode: 'string',\n            isCalculationEnabled: false,\n            character: character\n          });\n          lastModeIndex++;\n        } else if (modesEntered[lastModeIndex].mode === 'string' && modesEntered[lastModeIndex].character === character && stringNormalized[i - 1] !== '\\\\') {\n          modesEntered.pop();\n          lastModeIndex--;\n        }\n      }\n\n      // If entering/exiting interpolation\n      if (character === '{') {\n        modesEntered.push({\n          mode: 'interpolation',\n          isCalculationEnabled: true\n        });\n        lastModeIndex++;\n      } else if (character === '}') {\n        modesEntered.pop();\n        lastModeIndex--;\n      }\n\n      // If a : is met outside of a string, function call or interpolation, than\n      // this : separates a media feature and a value\n      if (modesEntered[lastModeIndex].mode === 'normal' && character === ':') {\n        var mediaFeatureValueStr = stringNormalized.substring(i + 1);\n        mediaFeatureValue = {\n          type: 'value',\n          before: /^(\\s*)/.exec(mediaFeatureValueStr)[1],\n          after: /(\\s*)$/.exec(mediaFeatureValueStr)[1],\n          value: mediaFeatureValueStr.trim()\n        };\n        // +1 for the colon\n        mediaFeatureValue.sourceIndex = mediaFeatureValue.before.length + i + 1 + indexLocal;\n        colon = {\n          type: 'colon',\n          sourceIndex: i + indexLocal,\n          after: mediaFeatureValue.before,\n          value: ':'\n        };\n        break;\n      }\n      mediaFeature += character;\n    }\n\n    // Forming a media feature node\n    mediaFeature = {\n      type: 'media-feature',\n      before: /^(\\s*)/.exec(mediaFeature)[1],\n      after: /(\\s*)$/.exec(mediaFeature)[1],\n      value: mediaFeature.trim()\n    };\n    mediaFeature.sourceIndex = mediaFeature.before.length + indexLocal;\n    result.push(mediaFeature);\n    if (colon !== null) {\n      colon.before = mediaFeature.after;\n      result.push(colon);\n    }\n    if (mediaFeatureValue !== null) {\n      result.push(mediaFeatureValue);\n    }\n    return result;\n  }\n\n  /**\r\n   * Parses a media query, e.g. `screen and (color)`, `only tv`\r\n   *\r\n   * @param {string} string - the source media query string\r\n   * @param {Number} index - the index of `string` in the overall input\r\n   *\r\n   * @return {Array} an array of Nodes and Containers\r\n   */\n\n  function parseMediaQuery(string) {\n    var index = arguments.length <= 1 || arguments[1] === undefined ? 0 : arguments[1];\n    var result = [];\n\n    // How many timies the parser entered parens/curly braces\n    var localLevel = 0;\n    // Has any keyword, media type, media feature expression or interpolation\n    // ('element' hereafter) started\n    var insideSomeValue = false;\n    var node = void 0;\n    function resetNode() {\n      return {\n        before: '',\n        after: '',\n        value: ''\n      };\n    }\n    node = resetNode();\n    for (var i = 0; i < string.length; i++) {\n      var character = string[i];\n      // If not yet entered any element\n      if (!insideSomeValue) {\n        if (character.search(/\\s/) !== -1) {\n          // A whitespace\n          // Don't form 'after' yet; will do it later\n          node.before += character;\n        } else {\n          // Not a whitespace - entering an element\n          // Expression start\n          if (character === '(') {\n            node.type = 'media-feature-expression';\n            localLevel++;\n          }\n          node.value = character;\n          node.sourceIndex = index + i;\n          insideSomeValue = true;\n        }\n      } else {\n        // Already in the middle of some alement\n        node.value += character;\n\n        // Here parens just increase localLevel and don't trigger a start of\n        // a media feature expression (since they can't be nested)\n        // Interpolation start\n        if (character === '{' || character === '(') {\n          localLevel++;\n        }\n        // Interpolation/function call/media feature expression end\n        if (character === ')' || character === '}') {\n          localLevel--;\n        }\n      }\n\n      // If exited all parens/curlies and the next symbol\n      if (insideSomeValue && localLevel === 0 && (character === ')' || i === string.length - 1 || string[i + 1].search(/\\s/) !== -1)) {\n        if (['not', 'only', 'and'].indexOf(node.value) !== -1) {\n          node.type = 'keyword';\n        }\n        // if it's an expression, parse its contents\n        if (node.type === 'media-feature-expression') {\n          node.nodes = parseMediaFeature(node.value, node.sourceIndex);\n        }\n        result.push(Array.isArray(node.nodes) ? new _Container2.default(node) : new _Node2.default(node));\n        node = resetNode();\n        insideSomeValue = false;\n      }\n    }\n\n    // Now process the result array - to specify undefined types of the nodes\n    // and specify the `after` prop\n    for (var _i = 0; _i < result.length; _i++) {\n      node = result[_i];\n      if (_i > 0) {\n        result[_i - 1].after = node.before;\n      }\n\n      // Node types. Might not be set because contains interpolation/function\n      // calls or fully consists of them\n      if (node.type === undefined) {\n        if (_i > 0) {\n          // only `and` can follow an expression\n          if (result[_i - 1].type === 'media-feature-expression') {\n            node.type = 'keyword';\n            continue;\n          }\n          // Anything after 'only|not' is a media type\n          if (result[_i - 1].value === 'not' || result[_i - 1].value === 'only') {\n            node.type = 'media-type';\n            continue;\n          }\n          // Anything after 'and' is an expression\n          if (result[_i - 1].value === 'and') {\n            node.type = 'media-feature-expression';\n            continue;\n          }\n          if (result[_i - 1].type === 'media-type') {\n            // if it is the last element - it might be an expression\n            // or 'and' depending on what is after it\n            if (!result[_i + 1]) {\n              node.type = 'media-feature-expression';\n            } else {\n              node.type = result[_i + 1].type === 'media-feature-expression' ? 'keyword' : 'media-feature-expression';\n            }\n          }\n        }\n        if (_i === 0) {\n          // `screen`, `fn( ... )`, `#{ ... }`. Not an expression, since then\n          // its type would have been set by now\n          if (!result[_i + 1]) {\n            node.type = 'media-type';\n            continue;\n          }\n\n          // `screen and` or `#{...} (max-width: 10px)`\n          if (result[_i + 1] && (result[_i + 1].type === 'media-feature-expression' || result[_i + 1].type === 'keyword')) {\n            node.type = 'media-type';\n            continue;\n          }\n          if (result[_i + 2]) {\n            // `screen and (color) ...`\n            if (result[_i + 2].type === 'media-feature-expression') {\n              node.type = 'media-type';\n              result[_i + 1].type = 'keyword';\n              continue;\n            }\n            // `only screen and ...`\n            if (result[_i + 2].type === 'keyword') {\n              node.type = 'keyword';\n              result[_i + 1].type = 'media-type';\n              continue;\n            }\n          }\n          if (result[_i + 3]) {\n            // `screen and (color) ...`\n            if (result[_i + 3].type === 'media-feature-expression') {\n              node.type = 'keyword';\n              result[_i + 1].type = 'media-type';\n              result[_i + 2].type = 'keyword';\n              continue;\n            }\n          }\n        }\n      }\n    }\n    return result;\n  }\n\n  /**\r\n   * Parses a media query list. Takes a possible `url()` at the start into\r\n   * account, and divides the list into media queries that are parsed separately\r\n   *\r\n   * @param {string} string - the source media query list string\r\n   *\r\n   * @return {Array} an array of Nodes/Containers\r\n   */\n\n  function parseMediaList(string) {\n    var result = [];\n    var interimIndex = 0;\n    var levelLocal = 0;\n\n    // Check for a `url(...)` part (if it is contents of an @import rule)\n    var doesHaveUrl = /^(\\s*)url\\s*\\(/.exec(string);\n    if (doesHaveUrl !== null) {\n      var i = doesHaveUrl[0].length;\n      var parenthesesLv = 1;\n      while (parenthesesLv > 0) {\n        var character = string[i];\n        if (character === '(') {\n          parenthesesLv++;\n        }\n        if (character === ')') {\n          parenthesesLv--;\n        }\n        i++;\n      }\n      result.unshift(new _Node2.default({\n        type: 'url',\n        value: string.substring(0, i).trim(),\n        sourceIndex: doesHaveUrl[1].length,\n        before: doesHaveUrl[1],\n        after: /^(\\s*)/.exec(string.substring(i))[1]\n      }));\n      interimIndex = i;\n    }\n\n    // Start processing the media query list\n    for (var _i2 = interimIndex; _i2 < string.length; _i2++) {\n      var _character = string[_i2];\n\n      // Dividing the media query list into comma-separated media queries\n      // Only count commas that are outside of any parens\n      // (i.e., not part of function call params list, etc.)\n      if (_character === '(') {\n        levelLocal++;\n      }\n      if (_character === ')') {\n        levelLocal--;\n      }\n      if (levelLocal === 0 && _character === ',') {\n        var _mediaQueryString = string.substring(interimIndex, _i2);\n        var _spaceBefore = /^(\\s*)/.exec(_mediaQueryString)[1];\n        result.push(new _Container2.default({\n          type: 'media-query',\n          value: _mediaQueryString.trim(),\n          sourceIndex: interimIndex + _spaceBefore.length,\n          nodes: parseMediaQuery(_mediaQueryString, interimIndex),\n          before: _spaceBefore,\n          after: /(\\s*)$/.exec(_mediaQueryString)[1]\n        }));\n        interimIndex = _i2 + 1;\n      }\n    }\n    var mediaQueryString = string.substring(interimIndex);\n    var spaceBefore = /^(\\s*)/.exec(mediaQueryString)[1];\n    result.push(new _Container2.default({\n      type: 'media-query',\n      value: mediaQueryString.trim(),\n      sourceIndex: interimIndex + spaceBefore.length,\n      nodes: parseMediaQuery(mediaQueryString, interimIndex),\n      before: spaceBefore,\n      after: /(\\s*)$/.exec(mediaQueryString)[1]\n    }));\n    return result;\n  }\n  return parsers;\n}\nvar hasRequiredDist;\nfunction requireDist() {\n  if (hasRequiredDist) return dist;\n  hasRequiredDist = 1;\n  Object.defineProperty(dist, \"__esModule\", {\n    value: true\n  });\n  dist.default = parseMedia;\n  var _Container = requireContainer();\n  var _Container2 = _interopRequireDefault(_Container);\n  var _parsers = requireParsers();\n  function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : {\n      default: obj\n    };\n  }\n\n  /**\r\n   * Parses a media query list into an array of nodes. A typical node signature:\r\n   *  {string} node.type -- one of: 'media-query', 'media-type', 'keyword',\r\n   *    'media-feature-expression', 'media-feature', 'colon', 'value'\r\n   *  {string} node.value -- the contents of a particular element, trimmed\r\n   *    e.g.: `screen`, `max-width`, `1024px`\r\n   *  {string} node.after -- whitespaces that follow the element\r\n   *  {string} node.before -- whitespaces that precede the element\r\n   *  {string} node.sourceIndex -- the index of the element in a source media\r\n   *    query list, 0-based\r\n   *  {object} node.parent -- a link to the parent node (a container)\r\n   *\r\n   * Some nodes (media queries, media feature expressions) contain other nodes.\r\n   * They additionally have:\r\n   *  {array} node.nodes -- an array of nodes of the type described here\r\n   *  {funciton} node.each -- traverses direct children of the node, calling\r\n   *    a callback for each one\r\n   *  {funciton} node.walk -- traverses ALL descendants of the node, calling\r\n   *    a callback for each one\r\n   */\n\n  function parseMedia(value) {\n    return new _Container2.default({\n      nodes: (0, _parsers.parseMediaList)(value),\n      type: 'media-query-list',\n      value: value.trim()\n    });\n  }\n  return dist;\n}\nvar distExports = /*#__PURE__*/requireDist();\nvar mediaParser = /*@__PURE__*/getDefaultExportFromCjs(distExports);\n\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType = /*#__PURE__*/function (ElementType) {\n  /** Type for the root element of a document */\n  ElementType[\"Root\"] = \"root\";\n  /** Type for Text */\n  ElementType[\"Text\"] = \"text\";\n  /** Type for <? ... ?> */\n  ElementType[\"Directive\"] = \"directive\";\n  /** Type for <!-- ... --> */\n  ElementType[\"Comment\"] = \"comment\";\n  /** Type for <script> tags */\n  ElementType[\"Script\"] = \"script\";\n  /** Type for <style> tags */\n  ElementType[\"Style\"] = \"style\";\n  /** Type for Any tag */\n  ElementType[\"Tag\"] = \"tag\";\n  /** Type for <![CDATA[ ... ]]> */\n  ElementType[\"CDATA\"] = \"cdata\";\n  /** Type for <!doctype ...> */\n  ElementType[\"Doctype\"] = \"doctype\";\n  return ElementType;\n}(ElementType || {});\n/**\n * Tests whether an element is a tag or not.\n *\n * @param elem Element to test\n */\nfunction isTag$1(elem) {\n  return elem.type === ElementType.Tag || elem.type === ElementType.Script || elem.type === ElementType.Style;\n}\n// Exports for backwards compatibility\n/** Type for the root element of a document */\nconst Root = ElementType.Root;\n/** Type for Text */\nconst Text$1 = ElementType.Text;\n/** Type for <? ... ?> */\nconst Directive = ElementType.Directive;\n/** Type for <!-- ... --> */\nconst Comment$1 = ElementType.Comment;\n/** Type for <script> tags */\nconst Script = ElementType.Script;\n/** Type for <style> tags */\nconst Style = ElementType.Style;\n/** Type for Any tag */\nconst Tag = ElementType.Tag;\n/** Type for <![CDATA[ ... ]]> */\nconst CDATA$1 = ElementType.CDATA;\n/** Type for <!doctype ...> */\nconst Doctype = ElementType.Doctype;\n\n/**\n * This object will be used as the prototype for Nodes when creating a\n * DOM-Level-1-compliant structure.\n */\nclass Node {\n  constructor() {\n    /** Parent of the node */\n    this.parent = null;\n    /** Previous sibling */\n    this.prev = null;\n    /** Next sibling */\n    this.next = null;\n    /** The start index of the node. Requires `withStartIndices` on the handler to be `true. */\n    this.startIndex = null;\n    /** The end index of the node. Requires `withEndIndices` on the handler to be `true. */\n    this.endIndex = null;\n  }\n  // Read-write aliases for properties\n  /**\n   * Same as {@link parent}.\n   * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n   */\n  get parentNode() {\n    return this.parent;\n  }\n  set parentNode(parent) {\n    this.parent = parent;\n  }\n  /**\n   * Same as {@link prev}.\n   * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n   */\n  get previousSibling() {\n    return this.prev;\n  }\n  set previousSibling(prev) {\n    this.prev = prev;\n  }\n  /**\n   * Same as {@link next}.\n   * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n   */\n  get nextSibling() {\n    return this.next;\n  }\n  set nextSibling(next) {\n    this.next = next;\n  }\n  /**\n   * Clone this node, and optionally its children.\n   *\n   * @param recursive Clone child nodes as well.\n   * @returns A clone of the node.\n   */\n  cloneNode(recursive = false) {\n    return cloneNode(this, recursive);\n  }\n}\n/**\n * A node that contains some data.\n */\nclass DataNode extends Node {\n  /**\n   * @param data The content of the data node\n   */\n  constructor(data) {\n    super();\n    this.data = data;\n  }\n  /**\n   * Same as {@link data}.\n   * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n   */\n  get nodeValue() {\n    return this.data;\n  }\n  set nodeValue(data) {\n    this.data = data;\n  }\n}\n/**\n * Text within the document.\n */\nclass Text extends DataNode {\n  constructor() {\n    super(...arguments);\n    this.type = ElementType.Text;\n  }\n  get nodeType() {\n    return 3;\n  }\n}\n/**\n * Comments within the document.\n */\nclass Comment extends DataNode {\n  constructor() {\n    super(...arguments);\n    this.type = ElementType.Comment;\n  }\n  get nodeType() {\n    return 8;\n  }\n}\n/**\n * Processing instructions, including doc types.\n */\nclass ProcessingInstruction extends DataNode {\n  constructor(name, data) {\n    super(data);\n    this.name = name;\n    this.type = ElementType.Directive;\n  }\n  get nodeType() {\n    return 1;\n  }\n}\n/**\n * A `Node` that can have children.\n */\nclass NodeWithChildren extends Node {\n  /**\n   * @param children Children of the node. Only certain node types can have children.\n   */\n  constructor(children) {\n    super();\n    this.children = children;\n  }\n  // Aliases\n  /** First child of the node. */\n  get firstChild() {\n    var _a;\n    return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;\n  }\n  /** Last child of the node. */\n  get lastChild() {\n    return this.children.length > 0 ? this.children[this.children.length - 1] : null;\n  }\n  /**\n   * Same as {@link children}.\n   * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n   */\n  get childNodes() {\n    return this.children;\n  }\n  set childNodes(children) {\n    this.children = children;\n  }\n}\nclass CDATA extends NodeWithChildren {\n  constructor() {\n    super(...arguments);\n    this.type = ElementType.CDATA;\n  }\n  get nodeType() {\n    return 4;\n  }\n}\n/**\n * The root node of the document.\n */\nclass Document extends NodeWithChildren {\n  constructor() {\n    super(...arguments);\n    this.type = ElementType.Root;\n  }\n  get nodeType() {\n    return 9;\n  }\n}\n/**\n * An element within the DOM.\n */\nclass Element extends NodeWithChildren {\n  /**\n   * @param name Name of the tag, eg. `div`, `span`.\n   * @param attribs Object mapping attribute names to attribute values.\n   * @param children Children of the node.\n   */\n  constructor(name, attribs, children = [], type = name === \"script\" ? ElementType.Script : name === \"style\" ? ElementType.Style : ElementType.Tag) {\n    super(children);\n    this.name = name;\n    this.attribs = attribs;\n    this.type = type;\n  }\n  get nodeType() {\n    return 1;\n  }\n  // DOM Level 1 aliases\n  /**\n   * Same as {@link name}.\n   * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n   */\n  get tagName() {\n    return this.name;\n  }\n  set tagName(name) {\n    this.name = name;\n  }\n  get attributes() {\n    return Object.keys(this.attribs).map(name => {\n      var _a, _b;\n      return {\n        name,\n        value: this.attribs[name],\n        namespace: (_a = this[\"x-attribsNamespace\"]) === null || _a === void 0 ? void 0 : _a[name],\n        prefix: (_b = this[\"x-attribsPrefix\"]) === null || _b === void 0 ? void 0 : _b[name]\n      };\n    });\n  }\n}\n/**\n * @param node Node to check.\n * @returns `true` if the node is a `Element`, `false` otherwise.\n */\nfunction isTag(node) {\n  return isTag$1(node);\n}\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `CDATA`, `false` otherwise.\n */\nfunction isCDATA(node) {\n  return node.type === ElementType.CDATA;\n}\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Text`, `false` otherwise.\n */\nfunction isText(node) {\n  return node.type === ElementType.Text;\n}\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Comment`, `false` otherwise.\n */\nfunction isComment(node) {\n  return node.type === ElementType.Comment;\n}\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDirective(node) {\n  return node.type === ElementType.Directive;\n}\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDocument(node) {\n  return node.type === ElementType.Root;\n}\n/**\n * @param node Node to check.\n * @returns `true` if the node has children, `false` otherwise.\n */\nfunction hasChildren(node) {\n  return Object.prototype.hasOwnProperty.call(node, \"children\");\n}\n/**\n * Clone a node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\nfunction cloneNode(node, recursive = false) {\n  let result;\n  if (isText(node)) {\n    result = new Text(node.data);\n  } else if (isComment(node)) {\n    result = new Comment(node.data);\n  } else if (isTag(node)) {\n    const children = recursive ? cloneChildren(node.children) : [];\n    const clone = new Element(node.name, {\n      ...node.attribs\n    }, children);\n    children.forEach(child => child.parent = clone);\n    if (node.namespace != null) {\n      clone.namespace = node.namespace;\n    }\n    if (node[\"x-attribsNamespace\"]) {\n      clone[\"x-attribsNamespace\"] = {\n        ...node[\"x-attribsNamespace\"]\n      };\n    }\n    if (node[\"x-attribsPrefix\"]) {\n      clone[\"x-attribsPrefix\"] = {\n        ...node[\"x-attribsPrefix\"]\n      };\n    }\n    result = clone;\n  } else if (isCDATA(node)) {\n    const children = recursive ? cloneChildren(node.children) : [];\n    const clone = new CDATA(children);\n    children.forEach(child => child.parent = clone);\n    result = clone;\n  } else if (isDocument(node)) {\n    const children = recursive ? cloneChildren(node.children) : [];\n    const clone = new Document(children);\n    children.forEach(child => child.parent = clone);\n    if (node[\"x-mode\"]) {\n      clone[\"x-mode\"] = node[\"x-mode\"];\n    }\n    result = clone;\n  } else if (isDirective(node)) {\n    const instruction = new ProcessingInstruction(node.name, node.data);\n    if (node[\"x-name\"] != null) {\n      instruction[\"x-name\"] = node[\"x-name\"];\n      instruction[\"x-publicId\"] = node[\"x-publicId\"];\n      instruction[\"x-systemId\"] = node[\"x-systemId\"];\n    }\n    result = instruction;\n  } else {\n    throw new Error(`Not implemented yet: ${node.type}`);\n  }\n  result.startIndex = node.startIndex;\n  result.endIndex = node.endIndex;\n  if (node.sourceCodeLocation != null) {\n    result.sourceCodeLocation = node.sourceCodeLocation;\n  }\n  return result;\n}\nfunction cloneChildren(childs) {\n  const children = childs.map(child => cloneNode(child, true));\n  for (let i = 1; i < children.length; i++) {\n    children[i].prev = children[i - 1];\n    children[i - 1].next = children[i];\n  }\n  return children;\n}\n\n// Default options\nconst defaultOpts = {\n  withStartIndices: false,\n  withEndIndices: false,\n  xmlMode: false\n};\nclass DomHandler {\n  /**\n   * @param callback Called once parsing has completed.\n   * @param options Settings for the handler.\n   * @param elementCB Callback whenever a tag is closed.\n   */\n  constructor(callback, options, elementCB) {\n    /** The elements of the DOM */\n    this.dom = [];\n    /** The root element for the DOM */\n    this.root = new Document(this.dom);\n    /** Indicated whether parsing has been completed. */\n    this.done = false;\n    /** Stack of open tags. */\n    this.tagStack = [this.root];\n    /** A data node that is still being written to. */\n    this.lastNode = null;\n    /** Reference to the parser instance. Used for location information. */\n    this.parser = null;\n    // Make it possible to skip arguments, for backwards-compatibility\n    if (typeof options === \"function\") {\n      elementCB = options;\n      options = defaultOpts;\n    }\n    if (typeof callback === \"object\") {\n      options = callback;\n      callback = undefined;\n    }\n    this.callback = callback !== null && callback !== void 0 ? callback : null;\n    this.options = options !== null && options !== void 0 ? options : defaultOpts;\n    this.elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null;\n  }\n  onparserinit(parser) {\n    this.parser = parser;\n  }\n  // Resets the handler back to starting state\n  onreset() {\n    this.dom = [];\n    this.root = new Document(this.dom);\n    this.done = false;\n    this.tagStack = [this.root];\n    this.lastNode = null;\n    this.parser = null;\n  }\n  // Signals the handler that parsing is done\n  onend() {\n    if (this.done) return;\n    this.done = true;\n    this.parser = null;\n    this.handleCallback(null);\n  }\n  onerror(error) {\n    this.handleCallback(error);\n  }\n  onclosetag() {\n    this.lastNode = null;\n    const elem = this.tagStack.pop();\n    if (this.options.withEndIndices) {\n      elem.endIndex = this.parser.endIndex;\n    }\n    if (this.elementCB) this.elementCB(elem);\n  }\n  onopentag(name, attribs) {\n    const type = this.options.xmlMode ? ElementType.Tag : undefined;\n    const element = new Element(name, attribs, undefined, type);\n    this.addNode(element);\n    this.tagStack.push(element);\n  }\n  ontext(data) {\n    const {\n      lastNode\n    } = this;\n    if (lastNode && lastNode.type === ElementType.Text) {\n      lastNode.data += data;\n      if (this.options.withEndIndices) {\n        lastNode.endIndex = this.parser.endIndex;\n      }\n    } else {\n      const node = new Text(data);\n      this.addNode(node);\n      this.lastNode = node;\n    }\n  }\n  oncomment(data) {\n    if (this.lastNode && this.lastNode.type === ElementType.Comment) {\n      this.lastNode.data += data;\n      return;\n    }\n    const node = new Comment(data);\n    this.addNode(node);\n    this.lastNode = node;\n  }\n  oncommentend() {\n    this.lastNode = null;\n  }\n  oncdatastart() {\n    const text = new Text(\"\");\n    const node = new CDATA([text]);\n    this.addNode(node);\n    text.parent = node;\n    this.lastNode = text;\n  }\n  oncdataend() {\n    this.lastNode = null;\n  }\n  onprocessinginstruction(name, data) {\n    const node = new ProcessingInstruction(name, data);\n    this.addNode(node);\n  }\n  handleCallback(error) {\n    if (typeof this.callback === \"function\") {\n      this.callback(error, this.dom);\n    } else if (error) {\n      throw error;\n    }\n  }\n  addNode(node) {\n    const parent = this.tagStack[this.tagStack.length - 1];\n    const previousSibling = parent.children[parent.children.length - 1];\n    if (this.options.withStartIndices) {\n      node.startIndex = this.parser.startIndex;\n    }\n    if (this.options.withEndIndices) {\n      node.endIndex = this.parser.endIndex;\n    }\n    parent.children.push(node);\n    if (previousSibling) {\n      node.prev = previousSibling;\n      previousSibling.next = node;\n    }\n    node.parent = parent;\n    this.lastNode = null;\n  }\n}\n\n// Generated using scripts/write-decode-map.ts\nvar htmlDecodeTree$1 = /*#__PURE__*/new Uint16Array(\n/*#__PURE__*/\n// prettier-ignore\n/*#__PURE__*/\"\\u1d41<\\xd5\\u0131\\u028a\\u049d\\u057b\\u05d0\\u0675\\u06de\\u07a2\\u07d6\\u080f\\u0a4a\\u0a91\\u0da1\\u0e6d\\u0f09\\u0f26\\u10ca\\u1228\\u12e1\\u1415\\u149d\\u14c3\\u14df\\u1525\\0\\0\\0\\0\\0\\0\\u156b\\u16cd\\u198d\\u1c12\\u1ddd\\u1f7e\\u2060\\u21b0\\u228d\\u23c0\\u23fb\\u2442\\u2824\\u2912\\u2d08\\u2e48\\u2fce\\u3016\\u32ba\\u3639\\u37ac\\u38fe\\u3a28\\u3a71\\u3ae0\\u3b2e\\u0800EMabcfglmnoprstu\\\\bfms\\x7f\\x84\\x8b\\x90\\x95\\x98\\xa6\\xb3\\xb9\\xc8\\xcflig\\u803b\\xc6\\u40c6P\\u803b&\\u4026cute\\u803b\\xc1\\u40c1reve;\\u4102\\u0100iyx}rc\\u803b\\xc2\\u40c2;\\u4410r;\\uc000\\ud835\\udd04rave\\u803b\\xc0\\u40c0pha;\\u4391acr;\\u4100d;\\u6a53\\u0100gp\\x9d\\xa1on;\\u4104f;\\uc000\\ud835\\udd38plyFunction;\\u6061ing\\u803b\\xc5\\u40c5\\u0100cs\\xbe\\xc3r;\\uc000\\ud835\\udc9cign;\\u6254ilde\\u803b\\xc3\\u40c3ml\\u803b\\xc4\\u40c4\\u0400aceforsu\\xe5\\xfb\\xfe\\u0117\\u011c\\u0122\\u0127\\u012a\\u0100cr\\xea\\xf2kslash;\\u6216\\u0176\\xf6\\xf8;\\u6ae7ed;\\u6306y;\\u4411\\u0180crt\\u0105\\u010b\\u0114ause;\\u6235noullis;\\u612ca;\\u4392r;\\uc000\\ud835\\udd05pf;\\uc000\\ud835\\udd39eve;\\u42d8c\\xf2\\u0113mpeq;\\u624e\\u0700HOacdefhilorsu\\u014d\\u0151\\u0156\\u0180\\u019e\\u01a2\\u01b5\\u01b7\\u01ba\\u01dc\\u0215\\u0273\\u0278\\u027ecy;\\u4427PY\\u803b\\xa9\\u40a9\\u0180cpy\\u015d\\u0162\\u017aute;\\u4106\\u0100;i\\u0167\\u0168\\u62d2talDifferentialD;\\u6145leys;\\u612d\\u0200aeio\\u0189\\u018e\\u0194\\u0198ron;\\u410cdil\\u803b\\xc7\\u40c7rc;\\u4108nint;\\u6230ot;\\u410a\\u0100dn\\u01a7\\u01adilla;\\u40b8terDot;\\u40b7\\xf2\\u017fi;\\u43a7rcle\\u0200DMPT\\u01c7\\u01cb\\u01d1\\u01d6ot;\\u6299inus;\\u6296lus;\\u6295imes;\\u6297o\\u0100cs\\u01e2\\u01f8kwiseContourIntegral;\\u6232eCurly\\u0100DQ\\u0203\\u020foubleQuote;\\u601duote;\\u6019\\u0200lnpu\\u021e\\u0228\\u0247\\u0255on\\u0100;e\\u0225\\u0226\\u6237;\\u6a74\\u0180git\\u022f\\u0236\\u023aruent;\\u6261nt;\\u622fourIntegral;\\u622e\\u0100fr\\u024c\\u024e;\\u6102oduct;\\u6210nterClockwiseContourIntegral;\\u6233oss;\\u6a2fcr;\\uc000\\ud835\\udc9ep\\u0100;C\\u0284\\u0285\\u62d3ap;\\u624d\\u0580DJSZacefios\\u02a0\\u02ac\\u02b0\\u02b4\\u02b8\\u02cb\\u02d7\\u02e1\\u02e6\\u0333\\u048d\\u0100;o\\u0179\\u02a5trahd;\\u6911cy;\\u4402cy;\\u4405cy;\\u440f\\u0180grs\\u02bf\\u02c4\\u02c7ger;\\u6021r;\\u61a1hv;\\u6ae4\\u0100ay\\u02d0\\u02d5ron;\\u410e;\\u4414l\\u0100;t\\u02dd\\u02de\\u6207a;\\u4394r;\\uc000\\ud835\\udd07\\u0100af\\u02eb\\u0327\\u0100cm\\u02f0\\u0322ritical\\u0200ADGT\\u0300\\u0306\\u0316\\u031ccute;\\u40b4o\\u0174\\u030b\\u030d;\\u42d9bleAcute;\\u42ddrave;\\u4060ilde;\\u42dcond;\\u62c4ferentialD;\\u6146\\u0470\\u033d\\0\\0\\0\\u0342\\u0354\\0\\u0405f;\\uc000\\ud835\\udd3b\\u0180;DE\\u0348\\u0349\\u034d\\u40a8ot;\\u60dcqual;\\u6250ble\\u0300CDLRUV\\u0363\\u0372\\u0382\\u03cf\\u03e2\\u03f8ontourIntegra\\xec\\u0239o\\u0274\\u0379\\0\\0\\u037b\\xbb\\u0349nArrow;\\u61d3\\u0100eo\\u0387\\u03a4ft\\u0180ART\\u0390\\u0396\\u03a1rrow;\\u61d0ightArrow;\\u61d4e\\xe5\\u02cang\\u0100LR\\u03ab\\u03c4eft\\u0100AR\\u03b3\\u03b9rrow;\\u67f8ightArrow;\\u67faightArrow;\\u67f9ight\\u0100AT\\u03d8\\u03derrow;\\u61d2ee;\\u62a8p\\u0241\\u03e9\\0\\0\\u03efrrow;\\u61d1ownArrow;\\u61d5erticalBar;\\u6225n\\u0300ABLRTa\\u0412\\u042a\\u0430\\u045e\\u047f\\u037crrow\\u0180;BU\\u041d\\u041e\\u0422\\u6193ar;\\u6913pArrow;\\u61f5reve;\\u4311eft\\u02d2\\u043a\\0\\u0446\\0\\u0450ightVector;\\u6950eeVector;\\u695eector\\u0100;B\\u0459\\u045a\\u61bdar;\\u6956ight\\u01d4\\u0467\\0\\u0471eeVector;\\u695fector\\u0100;B\\u047a\\u047b\\u61c1ar;\\u6957ee\\u0100;A\\u0486\\u0487\\u62a4rrow;\\u61a7\\u0100ct\\u0492\\u0497r;\\uc000\\ud835\\udc9frok;\\u4110\\u0800NTacdfglmopqstux\\u04bd\\u04c0\\u04c4\\u04cb\\u04de\\u04e2\\u04e7\\u04ee\\u04f5\\u0521\\u052f\\u0536\\u0552\\u055d\\u0560\\u0565G;\\u414aH\\u803b\\xd0\\u40d0cute\\u803b\\xc9\\u40c9\\u0180aiy\\u04d2\\u04d7\\u04dcron;\\u411arc\\u803b\\xca\\u40ca;\\u442dot;\\u4116r;\\uc000\\ud835\\udd08rave\\u803b\\xc8\\u40c8ement;\\u6208\\u0100ap\\u04fa\\u04fecr;\\u4112ty\\u0253\\u0506\\0\\0\\u0512mallSquare;\\u65fberySmallSquare;\\u65ab\\u0100gp\\u0526\\u052aon;\\u4118f;\\uc000\\ud835\\udd3csilon;\\u4395u\\u0100ai\\u053c\\u0549l\\u0100;T\\u0542\\u0543\\u6a75ilde;\\u6242librium;\\u61cc\\u0100ci\\u0557\\u055ar;\\u6130m;\\u6a73a;\\u4397ml\\u803b\\xcb\\u40cb\\u0100ip\\u056a\\u056fsts;\\u6203onentialE;\\u6147\\u0280cfios\\u0585\\u0588\\u058d\\u05b2\\u05ccy;\\u4424r;\\uc000\\ud835\\udd09lled\\u0253\\u0597\\0\\0\\u05a3mallSquare;\\u65fcerySmallSquare;\\u65aa\\u0370\\u05ba\\0\\u05bf\\0\\0\\u05c4f;\\uc000\\ud835\\udd3dAll;\\u6200riertrf;\\u6131c\\xf2\\u05cb\\u0600JTabcdfgorst\\u05e8\\u05ec\\u05ef\\u05fa\\u0600\\u0612\\u0616\\u061b\\u061d\\u0623\\u066c\\u0672cy;\\u4403\\u803b>\\u403emma\\u0100;d\\u05f7\\u05f8\\u4393;\\u43dcreve;\\u411e\\u0180eiy\\u0607\\u060c\\u0610dil;\\u4122rc;\\u411c;\\u4413ot;\\u4120r;\\uc000\\ud835\\udd0a;\\u62d9pf;\\uc000\\ud835\\udd3eeater\\u0300EFGLST\\u0635\\u0644\\u064e\\u0656\\u065b\\u0666qual\\u0100;L\\u063e\\u063f\\u6265ess;\\u62dbullEqual;\\u6267reater;\\u6aa2ess;\\u6277lantEqual;\\u6a7eilde;\\u6273cr;\\uc000\\ud835\\udca2;\\u626b\\u0400Aacfiosu\\u0685\\u068b\\u0696\\u069b\\u069e\\u06aa\\u06be\\u06caRDcy;\\u442a\\u0100ct\\u0690\\u0694ek;\\u42c7;\\u405eirc;\\u4124r;\\u610clbertSpace;\\u610b\\u01f0\\u06af\\0\\u06b2f;\\u610dizontalLine;\\u6500\\u0100ct\\u06c3\\u06c5\\xf2\\u06a9rok;\\u4126mp\\u0144\\u06d0\\u06d8ownHum\\xf0\\u012fqual;\\u624f\\u0700EJOacdfgmnostu\\u06fa\\u06fe\\u0703\\u0707\\u070e\\u071a\\u071e\\u0721\\u0728\\u0744\\u0778\\u078b\\u078f\\u0795cy;\\u4415lig;\\u4132cy;\\u4401cute\\u803b\\xcd\\u40cd\\u0100iy\\u0713\\u0718rc\\u803b\\xce\\u40ce;\\u4418ot;\\u4130r;\\u6111rave\\u803b\\xcc\\u40cc\\u0180;ap\\u0720\\u072f\\u073f\\u0100cg\\u0734\\u0737r;\\u412ainaryI;\\u6148lie\\xf3\\u03dd\\u01f4\\u0749\\0\\u0762\\u0100;e\\u074d\\u074e\\u622c\\u0100gr\\u0753\\u0758ral;\\u622bsection;\\u62c2isible\\u0100CT\\u076c\\u0772omma;\\u6063imes;\\u6062\\u0180gpt\\u077f\\u0783\\u0788on;\\u412ef;\\uc000\\ud835\\udd40a;\\u4399cr;\\u6110ilde;\\u4128\\u01eb\\u079a\\0\\u079ecy;\\u4406l\\u803b\\xcf\\u40cf\\u0280cfosu\\u07ac\\u07b7\\u07bc\\u07c2\\u07d0\\u0100iy\\u07b1\\u07b5rc;\\u4134;\\u4419r;\\uc000\\ud835\\udd0dpf;\\uc000\\ud835\\udd41\\u01e3\\u07c7\\0\\u07ccr;\\uc000\\ud835\\udca5rcy;\\u4408kcy;\\u4404\\u0380HJacfos\\u07e4\\u07e8\\u07ec\\u07f1\\u07fd\\u0802\\u0808cy;\\u4425cy;\\u440cppa;\\u439a\\u0100ey\\u07f6\\u07fbdil;\\u4136;\\u441ar;\\uc000\\ud835\\udd0epf;\\uc000\\ud835\\udd42cr;\\uc000\\ud835\\udca6\\u0580JTaceflmost\\u0825\\u0829\\u082c\\u0850\\u0863\\u09b3\\u09b8\\u09c7\\u09cd\\u0a37\\u0a47cy;\\u4409\\u803b<\\u403c\\u0280cmnpr\\u0837\\u083c\\u0841\\u0844\\u084dute;\\u4139bda;\\u439bg;\\u67ealacetrf;\\u6112r;\\u619e\\u0180aey\\u0857\\u085c\\u0861ron;\\u413ddil;\\u413b;\\u441b\\u0100fs\\u0868\\u0970t\\u0500ACDFRTUVar\\u087e\\u08a9\\u08b1\\u08e0\\u08e6\\u08fc\\u092f\\u095b\\u0390\\u096a\\u0100nr\\u0883\\u088fgleBracket;\\u67e8row\\u0180;BR\\u0899\\u089a\\u089e\\u6190ar;\\u61e4ightArrow;\\u61c6eiling;\\u6308o\\u01f5\\u08b7\\0\\u08c3bleBracket;\\u67e6n\\u01d4\\u08c8\\0\\u08d2eeVector;\\u6961ector\\u0100;B\\u08db\\u08dc\\u61c3ar;\\u6959loor;\\u630aight\\u0100AV\\u08ef\\u08f5rrow;\\u6194ector;\\u694e\\u0100er\\u0901\\u0917e\\u0180;AV\\u0909\\u090a\\u0910\\u62a3rrow;\\u61a4ector;\\u695aiangle\\u0180;BE\\u0924\\u0925\\u0929\\u62b2ar;\\u69cfqual;\\u62b4p\\u0180DTV\\u0937\\u0942\\u094cownVector;\\u6951eeVector;\\u6960ector\\u0100;B\\u0956\\u0957\\u61bfar;\\u6958ector\\u0100;B\\u0965\\u0966\\u61bcar;\\u6952ight\\xe1\\u039cs\\u0300EFGLST\\u097e\\u098b\\u0995\\u099d\\u09a2\\u09adqualGreater;\\u62daullEqual;\\u6266reater;\\u6276ess;\\u6aa1lantEqual;\\u6a7dilde;\\u6272r;\\uc000\\ud835\\udd0f\\u0100;e\\u09bd\\u09be\\u62d8ftarrow;\\u61daidot;\\u413f\\u0180npw\\u09d4\\u0a16\\u0a1bg\\u0200LRlr\\u09de\\u09f7\\u0a02\\u0a10eft\\u0100AR\\u09e6\\u09ecrrow;\\u67f5ightArrow;\\u67f7ightArrow;\\u67f6eft\\u0100ar\\u03b3\\u0a0aight\\xe1\\u03bfight\\xe1\\u03caf;\\uc000\\ud835\\udd43er\\u0100LR\\u0a22\\u0a2ceftArrow;\\u6199ightArrow;\\u6198\\u0180cht\\u0a3e\\u0a40\\u0a42\\xf2\\u084c;\\u61b0rok;\\u4141;\\u626a\\u0400acefiosu\\u0a5a\\u0a5d\\u0a60\\u0a77\\u0a7c\\u0a85\\u0a8b\\u0a8ep;\\u6905y;\\u441c\\u0100dl\\u0a65\\u0a6fiumSpace;\\u605flintrf;\\u6133r;\\uc000\\ud835\\udd10nusPlus;\\u6213pf;\\uc000\\ud835\\udd44c\\xf2\\u0a76;\\u439c\\u0480Jacefostu\\u0aa3\\u0aa7\\u0aad\\u0ac0\\u0b14\\u0b19\\u0d91\\u0d97\\u0d9ecy;\\u440acute;\\u4143\\u0180aey\\u0ab4\\u0ab9\\u0aberon;\\u4147dil;\\u4145;\\u441d\\u0180gsw\\u0ac7\\u0af0\\u0b0eative\\u0180MTV\\u0ad3\\u0adf\\u0ae8ediumSpace;\\u600bhi\\u0100cn\\u0ae6\\u0ad8\\xeb\\u0ad9eryThi\\xee\\u0ad9ted\\u0100GL\\u0af8\\u0b06reaterGreate\\xf2\\u0673essLes\\xf3\\u0a48Line;\\u400ar;\\uc000\\ud835\\udd11\\u0200Bnpt\\u0b22\\u0b28\\u0b37\\u0b3areak;\\u6060BreakingSpace;\\u40a0f;\\u6115\\u0680;CDEGHLNPRSTV\\u0b55\\u0b56\\u0b6a\\u0b7c\\u0ba1\\u0beb\\u0c04\\u0c5e\\u0c84\\u0ca6\\u0cd8\\u0d61\\u0d85\\u6aec\\u0100ou\\u0b5b\\u0b64ngruent;\\u6262pCap;\\u626doubleVerticalBar;\\u6226\\u0180lqx\\u0b83\\u0b8a\\u0b9bement;\\u6209ual\\u0100;T\\u0b92\\u0b93\\u6260ilde;\\uc000\\u2242\\u0338ists;\\u6204reater\\u0380;EFGLST\\u0bb6\\u0bb7\\u0bbd\\u0bc9\\u0bd3\\u0bd8\\u0be5\\u626fqual;\\u6271ullEqual;\\uc000\\u2267\\u0338reater;\\uc000\\u226b\\u0338ess;\\u6279lantEqual;\\uc000\\u2a7e\\u0338ilde;\\u6275ump\\u0144\\u0bf2\\u0bfdownHump;\\uc000\\u224e\\u0338qual;\\uc000\\u224f\\u0338e\\u0100fs\\u0c0a\\u0c27tTriangle\\u0180;BE\\u0c1a\\u0c1b\\u0c21\\u62eaar;\\uc000\\u29cf\\u0338qual;\\u62ecs\\u0300;EGLST\\u0c35\\u0c36\\u0c3c\\u0c44\\u0c4b\\u0c58\\u626equal;\\u6270reater;\\u6278ess;\\uc000\\u226a\\u0338lantEqual;\\uc000\\u2a7d\\u0338ilde;\\u6274ested\\u0100GL\\u0c68\\u0c79reaterGreater;\\uc000\\u2aa2\\u0338essLess;\\uc000\\u2aa1\\u0338recedes\\u0180;ES\\u0c92\\u0c93\\u0c9b\\u6280qual;\\uc000\\u2aaf\\u0338lantEqual;\\u62e0\\u0100ei\\u0cab\\u0cb9verseElement;\\u620cghtTriangle\\u0180;BE\\u0ccb\\u0ccc\\u0cd2\\u62ebar;\\uc000\\u29d0\\u0338qual;\\u62ed\\u0100qu\\u0cdd\\u0d0cuareSu\\u0100bp\\u0ce8\\u0cf9set\\u0100;E\\u0cf0\\u0cf3\\uc000\\u228f\\u0338qual;\\u62e2erset\\u0100;E\\u0d03\\u0d06\\uc000\\u2290\\u0338qual;\\u62e3\\u0180bcp\\u0d13\\u0d24\\u0d4eset\\u0100;E\\u0d1b\\u0d1e\\uc000\\u2282\\u20d2qual;\\u6288ceeds\\u0200;EST\\u0d32\\u0d33\\u0d3b\\u0d46\\u6281qual;\\uc000\\u2ab0\\u0338lantEqual;\\u62e1ilde;\\uc000\\u227f\\u0338erset\\u0100;E\\u0d58\\u0d5b\\uc000\\u2283\\u20d2qual;\\u6289ilde\\u0200;EFT\\u0d6e\\u0d6f\\u0d75\\u0d7f\\u6241qual;\\u6244ullEqual;\\u6247ilde;\\u6249erticalBar;\\u6224cr;\\uc000\\ud835\\udca9ilde\\u803b\\xd1\\u40d1;\\u439d\\u0700Eacdfgmoprstuv\\u0dbd\\u0dc2\\u0dc9\\u0dd5\\u0ddb\\u0de0\\u0de7\\u0dfc\\u0e02\\u0e20\\u0e22\\u0e32\\u0e3f\\u0e44lig;\\u4152cute\\u803b\\xd3\\u40d3\\u0100iy\\u0dce\\u0dd3rc\\u803b\\xd4\\u40d4;\\u441eblac;\\u4150r;\\uc000\\ud835\\udd12rave\\u803b\\xd2\\u40d2\\u0180aei\\u0dee\\u0df2\\u0df6cr;\\u414cga;\\u43a9cron;\\u439fpf;\\uc000\\ud835\\udd46enCurly\\u0100DQ\\u0e0e\\u0e1aoubleQuote;\\u601cuote;\\u6018;\\u6a54\\u0100cl\\u0e27\\u0e2cr;\\uc000\\ud835\\udcaaash\\u803b\\xd8\\u40d8i\\u016c\\u0e37\\u0e3cde\\u803b\\xd5\\u40d5es;\\u6a37ml\\u803b\\xd6\\u40d6er\\u0100BP\\u0e4b\\u0e60\\u0100ar\\u0e50\\u0e53r;\\u603eac\\u0100ek\\u0e5a\\u0e5c;\\u63deet;\\u63b4arenthesis;\\u63dc\\u0480acfhilors\\u0e7f\\u0e87\\u0e8a\\u0e8f\\u0e92\\u0e94\\u0e9d\\u0eb0\\u0efcrtialD;\\u6202y;\\u441fr;\\uc000\\ud835\\udd13i;\\u43a6;\\u43a0usMinus;\\u40b1\\u0100ip\\u0ea2\\u0eadncareplan\\xe5\\u069df;\\u6119\\u0200;eio\\u0eb9\\u0eba\\u0ee0\\u0ee4\\u6abbcedes\\u0200;EST\\u0ec8\\u0ec9\\u0ecf\\u0eda\\u627aqual;\\u6aaflantEqual;\\u627cilde;\\u627eme;\\u6033\\u0100dp\\u0ee9\\u0eeeuct;\\u620fortion\\u0100;a\\u0225\\u0ef9l;\\u621d\\u0100ci\\u0f01\\u0f06r;\\uc000\\ud835\\udcab;\\u43a8\\u0200Ufos\\u0f11\\u0f16\\u0f1b\\u0f1fOT\\u803b\\\"\\u4022r;\\uc000\\ud835\\udd14pf;\\u611acr;\\uc000\\ud835\\udcac\\u0600BEacefhiorsu\\u0f3e\\u0f43\\u0f47\\u0f60\\u0f73\\u0fa7\\u0faa\\u0fad\\u1096\\u10a9\\u10b4\\u10bearr;\\u6910G\\u803b\\xae\\u40ae\\u0180cnr\\u0f4e\\u0f53\\u0f56ute;\\u4154g;\\u67ebr\\u0100;t\\u0f5c\\u0f5d\\u61a0l;\\u6916\\u0180aey\\u0f67\\u0f6c\\u0f71ron;\\u4158dil;\\u4156;\\u4420\\u0100;v\\u0f78\\u0f79\\u611cerse\\u0100EU\\u0f82\\u0f99\\u0100lq\\u0f87\\u0f8eement;\\u620builibrium;\\u61cbpEquilibrium;\\u696fr\\xbb\\u0f79o;\\u43a1ght\\u0400ACDFTUVa\\u0fc1\\u0feb\\u0ff3\\u1022\\u1028\\u105b\\u1087\\u03d8\\u0100nr\\u0fc6\\u0fd2gleBracket;\\u67e9row\\u0180;BL\\u0fdc\\u0fdd\\u0fe1\\u6192ar;\\u61e5eftArrow;\\u61c4eiling;\\u6309o\\u01f5\\u0ff9\\0\\u1005bleBracket;\\u67e7n\\u01d4\\u100a\\0\\u1014eeVector;\\u695dector\\u0100;B\\u101d\\u101e\\u61c2ar;\\u6955loor;\\u630b\\u0100er\\u102d\\u1043e\\u0180;AV\\u1035\\u1036\\u103c\\u62a2rrow;\\u61a6ector;\\u695biangle\\u0180;BE\\u1050\\u1051\\u1055\\u62b3ar;\\u69d0qual;\\u62b5p\\u0180DTV\\u1063\\u106e\\u1078ownVector;\\u694feeVector;\\u695cector\\u0100;B\\u1082\\u1083\\u61bear;\\u6954ector\\u0100;B\\u1091\\u1092\\u61c0ar;\\u6953\\u0100pu\\u109b\\u109ef;\\u611dndImplies;\\u6970ightarrow;\\u61db\\u0100ch\\u10b9\\u10bcr;\\u611b;\\u61b1leDelayed;\\u69f4\\u0680HOacfhimoqstu\\u10e4\\u10f1\\u10f7\\u10fd\\u1119\\u111e\\u1151\\u1156\\u1161\\u1167\\u11b5\\u11bb\\u11bf\\u0100Cc\\u10e9\\u10eeHcy;\\u4429y;\\u4428FTcy;\\u442ccute;\\u415a\\u0280;aeiy\\u1108\\u1109\\u110e\\u1113\\u1117\\u6abcron;\\u4160dil;\\u415erc;\\u415c;\\u4421r;\\uc000\\ud835\\udd16ort\\u0200DLRU\\u112a\\u1134\\u113e\\u1149ownArrow\\xbb\\u041eeftArrow\\xbb\\u089aightArrow\\xbb\\u0fddpArrow;\\u6191gma;\\u43a3allCircle;\\u6218pf;\\uc000\\ud835\\udd4a\\u0272\\u116d\\0\\0\\u1170t;\\u621aare\\u0200;ISU\\u117b\\u117c\\u1189\\u11af\\u65a1ntersection;\\u6293u\\u0100bp\\u118f\\u119eset\\u0100;E\\u1197\\u1198\\u628fqual;\\u6291erset\\u0100;E\\u11a8\\u11a9\\u6290qual;\\u6292nion;\\u6294cr;\\uc000\\ud835\\udcaear;\\u62c6\\u0200bcmp\\u11c8\\u11db\\u1209\\u120b\\u0100;s\\u11cd\\u11ce\\u62d0et\\u0100;E\\u11cd\\u11d5qual;\\u6286\\u0100ch\\u11e0\\u1205eeds\\u0200;EST\\u11ed\\u11ee\\u11f4\\u11ff\\u627bqual;\\u6ab0lantEqual;\\u627dilde;\\u627fTh\\xe1\\u0f8c;\\u6211\\u0180;es\\u1212\\u1213\\u1223\\u62d1rset\\u0100;E\\u121c\\u121d\\u6283qual;\\u6287et\\xbb\\u1213\\u0580HRSacfhiors\\u123e\\u1244\\u1249\\u1255\\u125e\\u1271\\u1276\\u129f\\u12c2\\u12c8\\u12d1ORN\\u803b\\xde\\u40deADE;\\u6122\\u0100Hc\\u124e\\u1252cy;\\u440by;\\u4426\\u0100bu\\u125a\\u125c;\\u4009;\\u43a4\\u0180aey\\u1265\\u126a\\u126fron;\\u4164dil;\\u4162;\\u4422r;\\uc000\\ud835\\udd17\\u0100ei\\u127b\\u1289\\u01f2\\u1280\\0\\u1287efore;\\u6234a;\\u4398\\u0100cn\\u128e\\u1298kSpace;\\uc000\\u205f\\u200aSpace;\\u6009lde\\u0200;EFT\\u12ab\\u12ac\\u12b2\\u12bc\\u623cqual;\\u6243ullEqual;\\u6245ilde;\\u6248pf;\\uc000\\ud835\\udd4bipleDot;\\u60db\\u0100ct\\u12d6\\u12dbr;\\uc000\\ud835\\udcafrok;\\u4166\\u0ae1\\u12f7\\u130e\\u131a\\u1326\\0\\u132c\\u1331\\0\\0\\0\\0\\0\\u1338\\u133d\\u1377\\u1385\\0\\u13ff\\u1404\\u140a\\u1410\\u0100cr\\u12fb\\u1301ute\\u803b\\xda\\u40dar\\u0100;o\\u1307\\u1308\\u619fcir;\\u6949r\\u01e3\\u1313\\0\\u1316y;\\u440eve;\\u416c\\u0100iy\\u131e\\u1323rc\\u803b\\xdb\\u40db;\\u4423blac;\\u4170r;\\uc000\\ud835\\udd18rave\\u803b\\xd9\\u40d9acr;\\u416a\\u0100di\\u1341\\u1369er\\u0100BP\\u1348\\u135d\\u0100ar\\u134d\\u1350r;\\u405fac\\u0100ek\\u1357\\u1359;\\u63dfet;\\u63b5arenthesis;\\u63ddon\\u0100;P\\u1370\\u1371\\u62c3lus;\\u628e\\u0100gp\\u137b\\u137fon;\\u4172f;\\uc000\\ud835\\udd4c\\u0400ADETadps\\u1395\\u13ae\\u13b8\\u13c4\\u03e8\\u13d2\\u13d7\\u13f3rrow\\u0180;BD\\u1150\\u13a0\\u13a4ar;\\u6912ownArrow;\\u61c5ownArrow;\\u6195quilibrium;\\u696eee\\u0100;A\\u13cb\\u13cc\\u62a5rrow;\\u61a5own\\xe1\\u03f3er\\u0100LR\\u13de\\u13e8eftArrow;\\u6196ightArrow;\\u6197i\\u0100;l\\u13f9\\u13fa\\u43d2on;\\u43a5ing;\\u416ecr;\\uc000\\ud835\\udcb0ilde;\\u4168ml\\u803b\\xdc\\u40dc\\u0480Dbcdefosv\\u1427\\u142c\\u1430\\u1433\\u143e\\u1485\\u148a\\u1490\\u1496ash;\\u62abar;\\u6aeby;\\u4412ash\\u0100;l\\u143b\\u143c\\u62a9;\\u6ae6\\u0100er\\u1443\\u1445;\\u62c1\\u0180bty\\u144c\\u1450\\u147aar;\\u6016\\u0100;i\\u144f\\u1455cal\\u0200BLST\\u1461\\u1465\\u146a\\u1474ar;\\u6223ine;\\u407ceparator;\\u6758ilde;\\u6240ThinSpace;\\u600ar;\\uc000\\ud835\\udd19pf;\\uc000\\ud835\\udd4dcr;\\uc000\\ud835\\udcb1dash;\\u62aa\\u0280cefos\\u14a7\\u14ac\\u14b1\\u14b6\\u14bcirc;\\u4174dge;\\u62c0r;\\uc000\\ud835\\udd1apf;\\uc000\\ud835\\udd4ecr;\\uc000\\ud835\\udcb2\\u0200fios\\u14cb\\u14d0\\u14d2\\u14d8r;\\uc000\\ud835\\udd1b;\\u439epf;\\uc000\\ud835\\udd4fcr;\\uc000\\ud835\\udcb3\\u0480AIUacfosu\\u14f1\\u14f5\\u14f9\\u14fd\\u1504\\u150f\\u1514\\u151a\\u1520cy;\\u442fcy;\\u4407cy;\\u442ecute\\u803b\\xdd\\u40dd\\u0100iy\\u1509\\u150drc;\\u4176;\\u442br;\\uc000\\ud835\\udd1cpf;\\uc000\\ud835\\udd50cr;\\uc000\\ud835\\udcb4ml;\\u4178\\u0400Hacdefos\\u1535\\u1539\\u153f\\u154b\\u154f\\u155d\\u1560\\u1564cy;\\u4416cute;\\u4179\\u0100ay\\u1544\\u1549ron;\\u417d;\\u4417ot;\\u417b\\u01f2\\u1554\\0\\u155boWidt\\xe8\\u0ad9a;\\u4396r;\\u6128pf;\\u6124cr;\\uc000\\ud835\\udcb5\\u0be1\\u1583\\u158a\\u1590\\0\\u15b0\\u15b6\\u15bf\\0\\0\\0\\0\\u15c6\\u15db\\u15eb\\u165f\\u166d\\0\\u1695\\u169b\\u16b2\\u16b9\\0\\u16becute\\u803b\\xe1\\u40e1reve;\\u4103\\u0300;Ediuy\\u159c\\u159d\\u15a1\\u15a3\\u15a8\\u15ad\\u623e;\\uc000\\u223e\\u0333;\\u623frc\\u803b\\xe2\\u40e2te\\u80bb\\xb4\\u0306;\\u4430lig\\u803b\\xe6\\u40e6\\u0100;r\\xb2\\u15ba;\\uc000\\ud835\\udd1erave\\u803b\\xe0\\u40e0\\u0100ep\\u15ca\\u15d6\\u0100fp\\u15cf\\u15d4sym;\\u6135\\xe8\\u15d3ha;\\u43b1\\u0100ap\\u15dfc\\u0100cl\\u15e4\\u15e7r;\\u4101g;\\u6a3f\\u0264\\u15f0\\0\\0\\u160a\\u0280;adsv\\u15fa\\u15fb\\u15ff\\u1601\\u1607\\u6227nd;\\u6a55;\\u6a5clope;\\u6a58;\\u6a5a\\u0380;elmrsz\\u1618\\u1619\\u161b\\u161e\\u163f\\u164f\\u1659\\u6220;\\u69a4e\\xbb\\u1619sd\\u0100;a\\u1625\\u1626\\u6221\\u0461\\u1630\\u1632\\u1634\\u1636\\u1638\\u163a\\u163c\\u163e;\\u69a8;\\u69a9;\\u69aa;\\u69ab;\\u69ac;\\u69ad;\\u69ae;\\u69aft\\u0100;v\\u1645\\u1646\\u621fb\\u0100;d\\u164c\\u164d\\u62be;\\u699d\\u0100pt\\u1654\\u1657h;\\u6222\\xbb\\xb9arr;\\u637c\\u0100gp\\u1663\\u1667on;\\u4105f;\\uc000\\ud835\\udd52\\u0380;Eaeiop\\u12c1\\u167b\\u167d\\u1682\\u1684\\u1687\\u168a;\\u6a70cir;\\u6a6f;\\u624ad;\\u624bs;\\u4027rox\\u0100;e\\u12c1\\u1692\\xf1\\u1683ing\\u803b\\xe5\\u40e5\\u0180cty\\u16a1\\u16a6\\u16a8r;\\uc000\\ud835\\udcb6;\\u402amp\\u0100;e\\u12c1\\u16af\\xf1\\u0288ilde\\u803b\\xe3\\u40e3ml\\u803b\\xe4\\u40e4\\u0100ci\\u16c2\\u16c8onin\\xf4\\u0272nt;\\u6a11\\u0800Nabcdefiklnoprsu\\u16ed\\u16f1\\u1730\\u173c\\u1743\\u1748\\u1778\\u177d\\u17e0\\u17e6\\u1839\\u1850\\u170d\\u193d\\u1948\\u1970ot;\\u6aed\\u0100cr\\u16f6\\u171ek\\u0200ceps\\u1700\\u1705\\u170d\\u1713ong;\\u624cpsilon;\\u43f6rime;\\u6035im\\u0100;e\\u171a\\u171b\\u623dq;\\u62cd\\u0176\\u1722\\u1726ee;\\u62bded\\u0100;g\\u172c\\u172d\\u6305e\\xbb\\u172drk\\u0100;t\\u135c\\u1737brk;\\u63b6\\u0100oy\\u1701\\u1741;\\u4431quo;\\u601e\\u0280cmprt\\u1753\\u175b\\u1761\\u1764\\u1768aus\\u0100;e\\u010a\\u0109ptyv;\\u69b0s\\xe9\\u170cno\\xf5\\u0113\\u0180ahw\\u176f\\u1771\\u1773;\\u43b2;\\u6136een;\\u626cr;\\uc000\\ud835\\udd1fg\\u0380costuvw\\u178d\\u179d\\u17b3\\u17c1\\u17d5\\u17db\\u17de\\u0180aiu\\u1794\\u1796\\u179a\\xf0\\u0760rc;\\u65efp\\xbb\\u1371\\u0180dpt\\u17a4\\u17a8\\u17adot;\\u6a00lus;\\u6a01imes;\\u6a02\\u0271\\u17b9\\0\\0\\u17becup;\\u6a06ar;\\u6605riangle\\u0100du\\u17cd\\u17d2own;\\u65bdp;\\u65b3plus;\\u6a04e\\xe5\\u1444\\xe5\\u14adarow;\\u690d\\u0180ako\\u17ed\\u1826\\u1835\\u0100cn\\u17f2\\u1823k\\u0180lst\\u17fa\\u05ab\\u1802ozenge;\\u69ebriangle\\u0200;dlr\\u1812\\u1813\\u1818\\u181d\\u65b4own;\\u65beeft;\\u65c2ight;\\u65b8k;\\u6423\\u01b1\\u182b\\0\\u1833\\u01b2\\u182f\\0\\u1831;\\u6592;\\u65914;\\u6593ck;\\u6588\\u0100eo\\u183e\\u184d\\u0100;q\\u1843\\u1846\\uc000=\\u20e5uiv;\\uc000\\u2261\\u20e5t;\\u6310\\u0200ptwx\\u1859\\u185e\\u1867\\u186cf;\\uc000\\ud835\\udd53\\u0100;t\\u13cb\\u1863om\\xbb\\u13cctie;\\u62c8\\u0600DHUVbdhmptuv\\u1885\\u1896\\u18aa\\u18bb\\u18d7\\u18db\\u18ec\\u18ff\\u1905\\u190a\\u1910\\u1921\\u0200LRlr\\u188e\\u1890\\u1892\\u1894;\\u6557;\\u6554;\\u6556;\\u6553\\u0280;DUdu\\u18a1\\u18a2\\u18a4\\u18a6\\u18a8\\u6550;\\u6566;\\u6569;\\u6564;\\u6567\\u0200LRlr\\u18b3\\u18b5\\u18b7\\u18b9;\\u655d;\\u655a;\\u655c;\\u6559\\u0380;HLRhlr\\u18ca\\u18cb\\u18cd\\u18cf\\u18d1\\u18d3\\u18d5\\u6551;\\u656c;\\u6563;\\u6560;\\u656b;\\u6562;\\u655fox;\\u69c9\\u0200LRlr\\u18e4\\u18e6\\u18e8\\u18ea;\\u6555;\\u6552;\\u6510;\\u650c\\u0280;DUdu\\u06bd\\u18f7\\u18f9\\u18fb\\u18fd;\\u6565;\\u6568;\\u652c;\\u6534inus;\\u629flus;\\u629eimes;\\u62a0\\u0200LRlr\\u1919\\u191b\\u191d\\u191f;\\u655b;\\u6558;\\u6518;\\u6514\\u0380;HLRhlr\\u1930\\u1931\\u1933\\u1935\\u1937\\u1939\\u193b\\u6502;\\u656a;\\u6561;\\u655e;\\u653c;\\u6524;\\u651c\\u0100ev\\u0123\\u1942bar\\u803b\\xa6\\u40a6\\u0200ceio\\u1951\\u1956\\u195a\\u1960r;\\uc000\\ud835\\udcb7mi;\\u604fm\\u0100;e\\u171a\\u171cl\\u0180;bh\\u1968\\u1969\\u196b\\u405c;\\u69c5sub;\\u67c8\\u016c\\u1974\\u197el\\u0100;e\\u1979\\u197a\\u6022t\\xbb\\u197ap\\u0180;Ee\\u012f\\u1985\\u1987;\\u6aae\\u0100;q\\u06dc\\u06db\\u0ce1\\u19a7\\0\\u19e8\\u1a11\\u1a15\\u1a32\\0\\u1a37\\u1a50\\0\\0\\u1ab4\\0\\0\\u1ac1\\0\\0\\u1b21\\u1b2e\\u1b4d\\u1b52\\0\\u1bfd\\0\\u1c0c\\u0180cpr\\u19ad\\u19b2\\u19ddute;\\u4107\\u0300;abcds\\u19bf\\u19c0\\u19c4\\u19ca\\u19d5\\u19d9\\u6229nd;\\u6a44rcup;\\u6a49\\u0100au\\u19cf\\u19d2p;\\u6a4bp;\\u6a47ot;\\u6a40;\\uc000\\u2229\\ufe00\\u0100eo\\u19e2\\u19e5t;\\u6041\\xee\\u0693\\u0200aeiu\\u19f0\\u19fb\\u1a01\\u1a05\\u01f0\\u19f5\\0\\u19f8s;\\u6a4don;\\u410ddil\\u803b\\xe7\\u40e7rc;\\u4109ps\\u0100;s\\u1a0c\\u1a0d\\u6a4cm;\\u6a50ot;\\u410b\\u0180dmn\\u1a1b\\u1a20\\u1a26il\\u80bb\\xb8\\u01adptyv;\\u69b2t\\u8100\\xa2;e\\u1a2d\\u1a2e\\u40a2r\\xe4\\u01b2r;\\uc000\\ud835\\udd20\\u0180cei\\u1a3d\\u1a40\\u1a4dy;\\u4447ck\\u0100;m\\u1a47\\u1a48\\u6713ark\\xbb\\u1a48;\\u43c7r\\u0380;Ecefms\\u1a5f\\u1a60\\u1a62\\u1a6b\\u1aa4\\u1aaa\\u1aae\\u65cb;\\u69c3\\u0180;el\\u1a69\\u1a6a\\u1a6d\\u42c6q;\\u6257e\\u0261\\u1a74\\0\\0\\u1a88rrow\\u0100lr\\u1a7c\\u1a81eft;\\u61baight;\\u61bb\\u0280RSacd\\u1a92\\u1a94\\u1a96\\u1a9a\\u1a9f\\xbb\\u0f47;\\u64c8st;\\u629birc;\\u629aash;\\u629dnint;\\u6a10id;\\u6aefcir;\\u69c2ubs\\u0100;u\\u1abb\\u1abc\\u6663it\\xbb\\u1abc\\u02ec\\u1ac7\\u1ad4\\u1afa\\0\\u1b0aon\\u0100;e\\u1acd\\u1ace\\u403a\\u0100;q\\xc7\\xc6\\u026d\\u1ad9\\0\\0\\u1ae2a\\u0100;t\\u1ade\\u1adf\\u402c;\\u4040\\u0180;fl\\u1ae8\\u1ae9\\u1aeb\\u6201\\xee\\u1160e\\u0100mx\\u1af1\\u1af6ent\\xbb\\u1ae9e\\xf3\\u024d\\u01e7\\u1afe\\0\\u1b07\\u0100;d\\u12bb\\u1b02ot;\\u6a6dn\\xf4\\u0246\\u0180fry\\u1b10\\u1b14\\u1b17;\\uc000\\ud835\\udd54o\\xe4\\u0254\\u8100\\xa9;s\\u0155\\u1b1dr;\\u6117\\u0100ao\\u1b25\\u1b29rr;\\u61b5ss;\\u6717\\u0100cu\\u1b32\\u1b37r;\\uc000\\ud835\\udcb8\\u0100bp\\u1b3c\\u1b44\\u0100;e\\u1b41\\u1b42\\u6acf;\\u6ad1\\u0100;e\\u1b49\\u1b4a\\u6ad0;\\u6ad2dot;\\u62ef\\u0380delprvw\\u1b60\\u1b6c\\u1b77\\u1b82\\u1bac\\u1bd4\\u1bf9arr\\u0100lr\\u1b68\\u1b6a;\\u6938;\\u6935\\u0270\\u1b72\\0\\0\\u1b75r;\\u62dec;\\u62dfarr\\u0100;p\\u1b7f\\u1b80\\u61b6;\\u693d\\u0300;bcdos\\u1b8f\\u1b90\\u1b96\\u1ba1\\u1ba5\\u1ba8\\u622arcap;\\u6a48\\u0100au\\u1b9b\\u1b9ep;\\u6a46p;\\u6a4aot;\\u628dr;\\u6a45;\\uc000\\u222a\\ufe00\\u0200alrv\\u1bb5\\u1bbf\\u1bde\\u1be3rr\\u0100;m\\u1bbc\\u1bbd\\u61b7;\\u693cy\\u0180evw\\u1bc7\\u1bd4\\u1bd8q\\u0270\\u1bce\\0\\0\\u1bd2re\\xe3\\u1b73u\\xe3\\u1b75ee;\\u62ceedge;\\u62cfen\\u803b\\xa4\\u40a4earrow\\u0100lr\\u1bee\\u1bf3eft\\xbb\\u1b80ight\\xbb\\u1bbde\\xe4\\u1bdd\\u0100ci\\u1c01\\u1c07onin\\xf4\\u01f7nt;\\u6231lcty;\\u632d\\u0980AHabcdefhijlorstuwz\\u1c38\\u1c3b\\u1c3f\\u1c5d\\u1c69\\u1c75\\u1c8a\\u1c9e\\u1cac\\u1cb7\\u1cfb\\u1cff\\u1d0d\\u1d7b\\u1d91\\u1dab\\u1dbb\\u1dc6\\u1dcdr\\xf2\\u0381ar;\\u6965\\u0200glrs\\u1c48\\u1c4d\\u1c52\\u1c54ger;\\u6020eth;\\u6138\\xf2\\u1133h\\u0100;v\\u1c5a\\u1c5b\\u6010\\xbb\\u090a\\u016b\\u1c61\\u1c67arow;\\u690fa\\xe3\\u0315\\u0100ay\\u1c6e\\u1c73ron;\\u410f;\\u4434\\u0180;ao\\u0332\\u1c7c\\u1c84\\u0100gr\\u02bf\\u1c81r;\\u61catseq;\\u6a77\\u0180glm\\u1c91\\u1c94\\u1c98\\u803b\\xb0\\u40b0ta;\\u43b4ptyv;\\u69b1\\u0100ir\\u1ca3\\u1ca8sht;\\u697f;\\uc000\\ud835\\udd21ar\\u0100lr\\u1cb3\\u1cb5\\xbb\\u08dc\\xbb\\u101e\\u0280aegsv\\u1cc2\\u0378\\u1cd6\\u1cdc\\u1ce0m\\u0180;os\\u0326\\u1cca\\u1cd4nd\\u0100;s\\u0326\\u1cd1uit;\\u6666amma;\\u43ddin;\\u62f2\\u0180;io\\u1ce7\\u1ce8\\u1cf8\\u40f7de\\u8100\\xf7;o\\u1ce7\\u1cf0ntimes;\\u62c7n\\xf8\\u1cf7cy;\\u4452c\\u026f\\u1d06\\0\\0\\u1d0arn;\\u631eop;\\u630d\\u0280lptuw\\u1d18\\u1d1d\\u1d22\\u1d49\\u1d55lar;\\u4024f;\\uc000\\ud835\\udd55\\u0280;emps\\u030b\\u1d2d\\u1d37\\u1d3d\\u1d42q\\u0100;d\\u0352\\u1d33ot;\\u6251inus;\\u6238lus;\\u6214quare;\\u62a1blebarwedg\\xe5\\xfan\\u0180adh\\u112e\\u1d5d\\u1d67ownarrow\\xf3\\u1c83arpoon\\u0100lr\\u1d72\\u1d76ef\\xf4\\u1cb4igh\\xf4\\u1cb6\\u0162\\u1d7f\\u1d85karo\\xf7\\u0f42\\u026f\\u1d8a\\0\\0\\u1d8ern;\\u631fop;\\u630c\\u0180cot\\u1d98\\u1da3\\u1da6\\u0100ry\\u1d9d\\u1da1;\\uc000\\ud835\\udcb9;\\u4455l;\\u69f6rok;\\u4111\\u0100dr\\u1db0\\u1db4ot;\\u62f1i\\u0100;f\\u1dba\\u1816\\u65bf\\u0100ah\\u1dc0\\u1dc3r\\xf2\\u0429a\\xf2\\u0fa6angle;\\u69a6\\u0100ci\\u1dd2\\u1dd5y;\\u445fgrarr;\\u67ff\\u0900Dacdefglmnopqrstux\\u1e01\\u1e09\\u1e19\\u1e38\\u0578\\u1e3c\\u1e49\\u1e61\\u1e7e\\u1ea5\\u1eaf\\u1ebd\\u1ee1\\u1f2a\\u1f37\\u1f44\\u1f4e\\u1f5a\\u0100Do\\u1e06\\u1d34o\\xf4\\u1c89\\u0100cs\\u1e0e\\u1e14ute\\u803b\\xe9\\u40e9ter;\\u6a6e\\u0200aioy\\u1e22\\u1e27\\u1e31\\u1e36ron;\\u411br\\u0100;c\\u1e2d\\u1e2e\\u6256\\u803b\\xea\\u40ealon;\\u6255;\\u444dot;\\u4117\\u0100Dr\\u1e41\\u1e45ot;\\u6252;\\uc000\\ud835\\udd22\\u0180;rs\\u1e50\\u1e51\\u1e57\\u6a9aave\\u803b\\xe8\\u40e8\\u0100;d\\u1e5c\\u1e5d\\u6a96ot;\\u6a98\\u0200;ils\\u1e6a\\u1e6b\\u1e72\\u1e74\\u6a99nters;\\u63e7;\\u6113\\u0100;d\\u1e79\\u1e7a\\u6a95ot;\\u6a97\\u0180aps\\u1e85\\u1e89\\u1e97cr;\\u4113ty\\u0180;sv\\u1e92\\u1e93\\u1e95\\u6205et\\xbb\\u1e93p\\u01001;\\u1e9d\\u1ea4\\u0133\\u1ea1\\u1ea3;\\u6004;\\u6005\\u6003\\u0100gs\\u1eaa\\u1eac;\\u414bp;\\u6002\\u0100gp\\u1eb4\\u1eb8on;\\u4119f;\\uc000\\ud835\\udd56\\u0180als\\u1ec4\\u1ece\\u1ed2r\\u0100;s\\u1eca\\u1ecb\\u62d5l;\\u69e3us;\\u6a71i\\u0180;lv\\u1eda\\u1edb\\u1edf\\u43b5on\\xbb\\u1edb;\\u43f5\\u0200csuv\\u1eea\\u1ef3\\u1f0b\\u1f23\\u0100io\\u1eef\\u1e31rc\\xbb\\u1e2e\\u0269\\u1ef9\\0\\0\\u1efb\\xed\\u0548ant\\u0100gl\\u1f02\\u1f06tr\\xbb\\u1e5dess\\xbb\\u1e7a\\u0180aei\\u1f12\\u1f16\\u1f1als;\\u403dst;\\u625fv\\u0100;D\\u0235\\u1f20D;\\u6a78parsl;\\u69e5\\u0100Da\\u1f2f\\u1f33ot;\\u6253rr;\\u6971\\u0180cdi\\u1f3e\\u1f41\\u1ef8r;\\u612fo\\xf4\\u0352\\u0100ah\\u1f49\\u1f4b;\\u43b7\\u803b\\xf0\\u40f0\\u0100mr\\u1f53\\u1f57l\\u803b\\xeb\\u40ebo;\\u60ac\\u0180cip\\u1f61\\u1f64\\u1f67l;\\u4021s\\xf4\\u056e\\u0100eo\\u1f6c\\u1f74ctatio\\xee\\u0559nential\\xe5\\u0579\\u09e1\\u1f92\\0\\u1f9e\\0\\u1fa1\\u1fa7\\0\\0\\u1fc6\\u1fcc\\0\\u1fd3\\0\\u1fe6\\u1fea\\u2000\\0\\u2008\\u205allingdotse\\xf1\\u1e44y;\\u4444male;\\u6640\\u0180ilr\\u1fad\\u1fb3\\u1fc1lig;\\u8000\\ufb03\\u0269\\u1fb9\\0\\0\\u1fbdg;\\u8000\\ufb00ig;\\u8000\\ufb04;\\uc000\\ud835\\udd23lig;\\u8000\\ufb01lig;\\uc000fj\\u0180alt\\u1fd9\\u1fdc\\u1fe1t;\\u666dig;\\u8000\\ufb02ns;\\u65b1of;\\u4192\\u01f0\\u1fee\\0\\u1ff3f;\\uc000\\ud835\\udd57\\u0100ak\\u05bf\\u1ff7\\u0100;v\\u1ffc\\u1ffd\\u62d4;\\u6ad9artint;\\u6a0d\\u0100ao\\u200c\\u2055\\u0100cs\\u2011\\u2052\\u03b1\\u201a\\u2030\\u2038\\u2045\\u2048\\0\\u2050\\u03b2\\u2022\\u2025\\u2027\\u202a\\u202c\\0\\u202e\\u803b\\xbd\\u40bd;\\u6153\\u803b\\xbc\\u40bc;\\u6155;\\u6159;\\u615b\\u01b3\\u2034\\0\\u2036;\\u6154;\\u6156\\u02b4\\u203e\\u2041\\0\\0\\u2043\\u803b\\xbe\\u40be;\\u6157;\\u615c5;\\u6158\\u01b6\\u204c\\0\\u204e;\\u615a;\\u615d8;\\u615el;\\u6044wn;\\u6322cr;\\uc000\\ud835\\udcbb\\u0880Eabcdefgijlnorstv\\u2082\\u2089\\u209f\\u20a5\\u20b0\\u20b4\\u20f0\\u20f5\\u20fa\\u20ff\\u2103\\u2112\\u2138\\u0317\\u213e\\u2152\\u219e\\u0100;l\\u064d\\u2087;\\u6a8c\\u0180cmp\\u2090\\u2095\\u209dute;\\u41f5ma\\u0100;d\\u209c\\u1cda\\u43b3;\\u6a86reve;\\u411f\\u0100iy\\u20aa\\u20aerc;\\u411d;\\u4433ot;\\u4121\\u0200;lqs\\u063e\\u0642\\u20bd\\u20c9\\u0180;qs\\u063e\\u064c\\u20c4lan\\xf4\\u0665\\u0200;cdl\\u0665\\u20d2\\u20d5\\u20e5c;\\u6aa9ot\\u0100;o\\u20dc\\u20dd\\u6a80\\u0100;l\\u20e2\\u20e3\\u6a82;\\u6a84\\u0100;e\\u20ea\\u20ed\\uc000\\u22db\\ufe00s;\\u6a94r;\\uc000\\ud835\\udd24\\u0100;g\\u0673\\u061bmel;\\u6137cy;\\u4453\\u0200;Eaj\\u065a\\u210c\\u210e\\u2110;\\u6a92;\\u6aa5;\\u6aa4\\u0200Eaes\\u211b\\u211d\\u2129\\u2134;\\u6269p\\u0100;p\\u2123\\u2124\\u6a8arox\\xbb\\u2124\\u0100;q\\u212e\\u212f\\u6a88\\u0100;q\\u212e\\u211bim;\\u62e7pf;\\uc000\\ud835\\udd58\\u0100ci\\u2143\\u2146r;\\u610am\\u0180;el\\u066b\\u214e\\u2150;\\u6a8e;\\u6a90\\u8300>;cdlqr\\u05ee\\u2160\\u216a\\u216e\\u2173\\u2179\\u0100ci\\u2165\\u2167;\\u6aa7r;\\u6a7aot;\\u62d7Par;\\u6995uest;\\u6a7c\\u0280adels\\u2184\\u216a\\u2190\\u0656\\u219b\\u01f0\\u2189\\0\\u218epro\\xf8\\u209er;\\u6978q\\u0100lq\\u063f\\u2196les\\xf3\\u2088i\\xed\\u066b\\u0100en\\u21a3\\u21adrtneqq;\\uc000\\u2269\\ufe00\\xc5\\u21aa\\u0500Aabcefkosy\\u21c4\\u21c7\\u21f1\\u21f5\\u21fa\\u2218\\u221d\\u222f\\u2268\\u227dr\\xf2\\u03a0\\u0200ilmr\\u21d0\\u21d4\\u21d7\\u21dbrs\\xf0\\u1484f\\xbb\\u2024il\\xf4\\u06a9\\u0100dr\\u21e0\\u21e4cy;\\u444a\\u0180;cw\\u08f4\\u21eb\\u21efir;\\u6948;\\u61adar;\\u610firc;\\u4125\\u0180alr\\u2201\\u220e\\u2213rts\\u0100;u\\u2209\\u220a\\u6665it\\xbb\\u220alip;\\u6026con;\\u62b9r;\\uc000\\ud835\\udd25s\\u0100ew\\u2223\\u2229arow;\\u6925arow;\\u6926\\u0280amopr\\u223a\\u223e\\u2243\\u225e\\u2263rr;\\u61fftht;\\u623bk\\u0100lr\\u2249\\u2253eftarrow;\\u61a9ightarrow;\\u61aaf;\\uc000\\ud835\\udd59bar;\\u6015\\u0180clt\\u226f\\u2274\\u2278r;\\uc000\\ud835\\udcbdas\\xe8\\u21f4rok;\\u4127\\u0100bp\\u2282\\u2287ull;\\u6043hen\\xbb\\u1c5b\\u0ae1\\u22a3\\0\\u22aa\\0\\u22b8\\u22c5\\u22ce\\0\\u22d5\\u22f3\\0\\0\\u22f8\\u2322\\u2367\\u2362\\u237f\\0\\u2386\\u23aa\\u23b4cute\\u803b\\xed\\u40ed\\u0180;iy\\u0771\\u22b0\\u22b5rc\\u803b\\xee\\u40ee;\\u4438\\u0100cx\\u22bc\\u22bfy;\\u4435cl\\u803b\\xa1\\u40a1\\u0100fr\\u039f\\u22c9;\\uc000\\ud835\\udd26rave\\u803b\\xec\\u40ec\\u0200;ino\\u073e\\u22dd\\u22e9\\u22ee\\u0100in\\u22e2\\u22e6nt;\\u6a0ct;\\u622dfin;\\u69dcta;\\u6129lig;\\u4133\\u0180aop\\u22fe\\u231a\\u231d\\u0180cgt\\u2305\\u2308\\u2317r;\\u412b\\u0180elp\\u071f\\u230f\\u2313in\\xe5\\u078ear\\xf4\\u0720h;\\u4131f;\\u62b7ed;\\u41b5\\u0280;cfot\\u04f4\\u232c\\u2331\\u233d\\u2341are;\\u6105in\\u0100;t\\u2338\\u2339\\u621eie;\\u69dddo\\xf4\\u2319\\u0280;celp\\u0757\\u234c\\u2350\\u235b\\u2361al;\\u62ba\\u0100gr\\u2355\\u2359er\\xf3\\u1563\\xe3\\u234darhk;\\u6a17rod;\\u6a3c\\u0200cgpt\\u236f\\u2372\\u2376\\u237by;\\u4451on;\\u412ff;\\uc000\\ud835\\udd5aa;\\u43b9uest\\u803b\\xbf\\u40bf\\u0100ci\\u238a\\u238fr;\\uc000\\ud835\\udcben\\u0280;Edsv\\u04f4\\u239b\\u239d\\u23a1\\u04f3;\\u62f9ot;\\u62f5\\u0100;v\\u23a6\\u23a7\\u62f4;\\u62f3\\u0100;i\\u0777\\u23aelde;\\u4129\\u01eb\\u23b8\\0\\u23bccy;\\u4456l\\u803b\\xef\\u40ef\\u0300cfmosu\\u23cc\\u23d7\\u23dc\\u23e1\\u23e7\\u23f5\\u0100iy\\u23d1\\u23d5rc;\\u4135;\\u4439r;\\uc000\\ud835\\udd27ath;\\u4237pf;\\uc000\\ud835\\udd5b\\u01e3\\u23ec\\0\\u23f1r;\\uc000\\ud835\\udcbfrcy;\\u4458kcy;\\u4454\\u0400acfghjos\\u240b\\u2416\\u2422\\u2427\\u242d\\u2431\\u2435\\u243bppa\\u0100;v\\u2413\\u2414\\u43ba;\\u43f0\\u0100ey\\u241b\\u2420dil;\\u4137;\\u443ar;\\uc000\\ud835\\udd28reen;\\u4138cy;\\u4445cy;\\u445cpf;\\uc000\\ud835\\udd5ccr;\\uc000\\ud835\\udcc0\\u0b80ABEHabcdefghjlmnoprstuv\\u2470\\u2481\\u2486\\u248d\\u2491\\u250e\\u253d\\u255a\\u2580\\u264e\\u265e\\u2665\\u2679\\u267d\\u269a\\u26b2\\u26d8\\u275d\\u2768\\u278b\\u27c0\\u2801\\u2812\\u0180art\\u2477\\u247a\\u247cr\\xf2\\u09c6\\xf2\\u0395ail;\\u691barr;\\u690e\\u0100;g\\u0994\\u248b;\\u6a8bar;\\u6962\\u0963\\u24a5\\0\\u24aa\\0\\u24b1\\0\\0\\0\\0\\0\\u24b5\\u24ba\\0\\u24c6\\u24c8\\u24cd\\0\\u24f9ute;\\u413amptyv;\\u69b4ra\\xee\\u084cbda;\\u43bbg\\u0180;dl\\u088e\\u24c1\\u24c3;\\u6991\\xe5\\u088e;\\u6a85uo\\u803b\\xab\\u40abr\\u0400;bfhlpst\\u0899\\u24de\\u24e6\\u24e9\\u24eb\\u24ee\\u24f1\\u24f5\\u0100;f\\u089d\\u24e3s;\\u691fs;\\u691d\\xeb\\u2252p;\\u61abl;\\u6939im;\\u6973l;\\u61a2\\u0180;ae\\u24ff\\u2500\\u2504\\u6aabil;\\u6919\\u0100;s\\u2509\\u250a\\u6aad;\\uc000\\u2aad\\ufe00\\u0180abr\\u2515\\u2519\\u251drr;\\u690crk;\\u6772\\u0100ak\\u2522\\u252cc\\u0100ek\\u2528\\u252a;\\u407b;\\u405b\\u0100es\\u2531\\u2533;\\u698bl\\u0100du\\u2539\\u253b;\\u698f;\\u698d\\u0200aeuy\\u2546\\u254b\\u2556\\u2558ron;\\u413e\\u0100di\\u2550\\u2554il;\\u413c\\xec\\u08b0\\xe2\\u2529;\\u443b\\u0200cqrs\\u2563\\u2566\\u256d\\u257da;\\u6936uo\\u0100;r\\u0e19\\u1746\\u0100du\\u2572\\u2577har;\\u6967shar;\\u694bh;\\u61b2\\u0280;fgqs\\u258b\\u258c\\u0989\\u25f3\\u25ff\\u6264t\\u0280ahlrt\\u2598\\u25a4\\u25b7\\u25c2\\u25e8rrow\\u0100;t\\u0899\\u25a1a\\xe9\\u24f6arpoon\\u0100du\\u25af\\u25b4own\\xbb\\u045ap\\xbb\\u0966eftarrows;\\u61c7ight\\u0180ahs\\u25cd\\u25d6\\u25derrow\\u0100;s\\u08f4\\u08a7arpoon\\xf3\\u0f98quigarro\\xf7\\u21f0hreetimes;\\u62cb\\u0180;qs\\u258b\\u0993\\u25falan\\xf4\\u09ac\\u0280;cdgs\\u09ac\\u260a\\u260d\\u261d\\u2628c;\\u6aa8ot\\u0100;o\\u2614\\u2615\\u6a7f\\u0100;r\\u261a\\u261b\\u6a81;\\u6a83\\u0100;e\\u2622\\u2625\\uc000\\u22da\\ufe00s;\\u6a93\\u0280adegs\\u2633\\u2639\\u263d\\u2649\\u264bppro\\xf8\\u24c6ot;\\u62d6q\\u0100gq\\u2643\\u2645\\xf4\\u0989gt\\xf2\\u248c\\xf4\\u099bi\\xed\\u09b2\\u0180ilr\\u2655\\u08e1\\u265asht;\\u697c;\\uc000\\ud835\\udd29\\u0100;E\\u099c\\u2663;\\u6a91\\u0161\\u2669\\u2676r\\u0100du\\u25b2\\u266e\\u0100;l\\u0965\\u2673;\\u696alk;\\u6584cy;\\u4459\\u0280;acht\\u0a48\\u2688\\u268b\\u2691\\u2696r\\xf2\\u25c1orne\\xf2\\u1d08ard;\\u696bri;\\u65fa\\u0100io\\u269f\\u26a4dot;\\u4140ust\\u0100;a\\u26ac\\u26ad\\u63b0che\\xbb\\u26ad\\u0200Eaes\\u26bb\\u26bd\\u26c9\\u26d4;\\u6268p\\u0100;p\\u26c3\\u26c4\\u6a89rox\\xbb\\u26c4\\u0100;q\\u26ce\\u26cf\\u6a87\\u0100;q\\u26ce\\u26bbim;\\u62e6\\u0400abnoptwz\\u26e9\\u26f4\\u26f7\\u271a\\u272f\\u2741\\u2747\\u2750\\u0100nr\\u26ee\\u26f1g;\\u67ecr;\\u61fdr\\xeb\\u08c1g\\u0180lmr\\u26ff\\u270d\\u2714eft\\u0100ar\\u09e6\\u2707ight\\xe1\\u09f2apsto;\\u67fcight\\xe1\\u09fdparrow\\u0100lr\\u2725\\u2729ef\\xf4\\u24edight;\\u61ac\\u0180afl\\u2736\\u2739\\u273dr;\\u6985;\\uc000\\ud835\\udd5dus;\\u6a2dimes;\\u6a34\\u0161\\u274b\\u274fst;\\u6217\\xe1\\u134e\\u0180;ef\\u2757\\u2758\\u1800\\u65cange\\xbb\\u2758ar\\u0100;l\\u2764\\u2765\\u4028t;\\u6993\\u0280achmt\\u2773\\u2776\\u277c\\u2785\\u2787r\\xf2\\u08a8orne\\xf2\\u1d8car\\u0100;d\\u0f98\\u2783;\\u696d;\\u600eri;\\u62bf\\u0300achiqt\\u2798\\u279d\\u0a40\\u27a2\\u27ae\\u27bbquo;\\u6039r;\\uc000\\ud835\\udcc1m\\u0180;eg\\u09b2\\u27aa\\u27ac;\\u6a8d;\\u6a8f\\u0100bu\\u252a\\u27b3o\\u0100;r\\u0e1f\\u27b9;\\u601arok;\\u4142\\u8400<;cdhilqr\\u082b\\u27d2\\u2639\\u27dc\\u27e0\\u27e5\\u27ea\\u27f0\\u0100ci\\u27d7\\u27d9;\\u6aa6r;\\u6a79re\\xe5\\u25f2mes;\\u62c9arr;\\u6976uest;\\u6a7b\\u0100Pi\\u27f5\\u27f9ar;\\u6996\\u0180;ef\\u2800\\u092d\\u181b\\u65c3r\\u0100du\\u2807\\u280dshar;\\u694ahar;\\u6966\\u0100en\\u2817\\u2821rtneqq;\\uc000\\u2268\\ufe00\\xc5\\u281e\\u0700Dacdefhilnopsu\\u2840\\u2845\\u2882\\u288e\\u2893\\u28a0\\u28a5\\u28a8\\u28da\\u28e2\\u28e4\\u0a83\\u28f3\\u2902Dot;\\u623a\\u0200clpr\\u284e\\u2852\\u2863\\u287dr\\u803b\\xaf\\u40af\\u0100et\\u2857\\u2859;\\u6642\\u0100;e\\u285e\\u285f\\u6720se\\xbb\\u285f\\u0100;s\\u103b\\u2868to\\u0200;dlu\\u103b\\u2873\\u2877\\u287bow\\xee\\u048cef\\xf4\\u090f\\xf0\\u13d1ker;\\u65ae\\u0100oy\\u2887\\u288cmma;\\u6a29;\\u443cash;\\u6014asuredangle\\xbb\\u1626r;\\uc000\\ud835\\udd2ao;\\u6127\\u0180cdn\\u28af\\u28b4\\u28c9ro\\u803b\\xb5\\u40b5\\u0200;acd\\u1464\\u28bd\\u28c0\\u28c4s\\xf4\\u16a7ir;\\u6af0ot\\u80bb\\xb7\\u01b5us\\u0180;bd\\u28d2\\u1903\\u28d3\\u6212\\u0100;u\\u1d3c\\u28d8;\\u6a2a\\u0163\\u28de\\u28e1p;\\u6adb\\xf2\\u2212\\xf0\\u0a81\\u0100dp\\u28e9\\u28eeels;\\u62a7f;\\uc000\\ud835\\udd5e\\u0100ct\\u28f8\\u28fdr;\\uc000\\ud835\\udcc2pos\\xbb\\u159d\\u0180;lm\\u2909\\u290a\\u290d\\u43bctimap;\\u62b8\\u0c00GLRVabcdefghijlmoprstuvw\\u2942\\u2953\\u297e\\u2989\\u2998\\u29da\\u29e9\\u2a15\\u2a1a\\u2a58\\u2a5d\\u2a83\\u2a95\\u2aa4\\u2aa8\\u2b04\\u2b07\\u2b44\\u2b7f\\u2bae\\u2c34\\u2c67\\u2c7c\\u2ce9\\u0100gt\\u2947\\u294b;\\uc000\\u22d9\\u0338\\u0100;v\\u2950\\u0bcf\\uc000\\u226b\\u20d2\\u0180elt\\u295a\\u2972\\u2976ft\\u0100ar\\u2961\\u2967rrow;\\u61cdightarrow;\\u61ce;\\uc000\\u22d8\\u0338\\u0100;v\\u297b\\u0c47\\uc000\\u226a\\u20d2ightarrow;\\u61cf\\u0100Dd\\u298e\\u2993ash;\\u62afash;\\u62ae\\u0280bcnpt\\u29a3\\u29a7\\u29ac\\u29b1\\u29ccla\\xbb\\u02deute;\\u4144g;\\uc000\\u2220\\u20d2\\u0280;Eiop\\u0d84\\u29bc\\u29c0\\u29c5\\u29c8;\\uc000\\u2a70\\u0338d;\\uc000\\u224b\\u0338s;\\u4149ro\\xf8\\u0d84ur\\u0100;a\\u29d3\\u29d4\\u666el\\u0100;s\\u29d3\\u0b38\\u01f3\\u29df\\0\\u29e3p\\u80bb\\xa0\\u0b37mp\\u0100;e\\u0bf9\\u0c00\\u0280aeouy\\u29f4\\u29fe\\u2a03\\u2a10\\u2a13\\u01f0\\u29f9\\0\\u29fb;\\u6a43on;\\u4148dil;\\u4146ng\\u0100;d\\u0d7e\\u2a0aot;\\uc000\\u2a6d\\u0338p;\\u6a42;\\u443dash;\\u6013\\u0380;Aadqsx\\u0b92\\u2a29\\u2a2d\\u2a3b\\u2a41\\u2a45\\u2a50rr;\\u61d7r\\u0100hr\\u2a33\\u2a36k;\\u6924\\u0100;o\\u13f2\\u13f0ot;\\uc000\\u2250\\u0338ui\\xf6\\u0b63\\u0100ei\\u2a4a\\u2a4ear;\\u6928\\xed\\u0b98ist\\u0100;s\\u0ba0\\u0b9fr;\\uc000\\ud835\\udd2b\\u0200Eest\\u0bc5\\u2a66\\u2a79\\u2a7c\\u0180;qs\\u0bbc\\u2a6d\\u0be1\\u0180;qs\\u0bbc\\u0bc5\\u2a74lan\\xf4\\u0be2i\\xed\\u0bea\\u0100;r\\u0bb6\\u2a81\\xbb\\u0bb7\\u0180Aap\\u2a8a\\u2a8d\\u2a91r\\xf2\\u2971rr;\\u61aear;\\u6af2\\u0180;sv\\u0f8d\\u2a9c\\u0f8c\\u0100;d\\u2aa1\\u2aa2\\u62fc;\\u62facy;\\u445a\\u0380AEadest\\u2ab7\\u2aba\\u2abe\\u2ac2\\u2ac5\\u2af6\\u2af9r\\xf2\\u2966;\\uc000\\u2266\\u0338rr;\\u619ar;\\u6025\\u0200;fqs\\u0c3b\\u2ace\\u2ae3\\u2aeft\\u0100ar\\u2ad4\\u2ad9rro\\xf7\\u2ac1ightarro\\xf7\\u2a90\\u0180;qs\\u0c3b\\u2aba\\u2aealan\\xf4\\u0c55\\u0100;s\\u0c55\\u2af4\\xbb\\u0c36i\\xed\\u0c5d\\u0100;r\\u0c35\\u2afei\\u0100;e\\u0c1a\\u0c25i\\xe4\\u0d90\\u0100pt\\u2b0c\\u2b11f;\\uc000\\ud835\\udd5f\\u8180\\xac;in\\u2b19\\u2b1a\\u2b36\\u40acn\\u0200;Edv\\u0b89\\u2b24\\u2b28\\u2b2e;\\uc000\\u22f9\\u0338ot;\\uc000\\u22f5\\u0338\\u01e1\\u0b89\\u2b33\\u2b35;\\u62f7;\\u62f6i\\u0100;v\\u0cb8\\u2b3c\\u01e1\\u0cb8\\u2b41\\u2b43;\\u62fe;\\u62fd\\u0180aor\\u2b4b\\u2b63\\u2b69r\\u0200;ast\\u0b7b\\u2b55\\u2b5a\\u2b5flle\\xec\\u0b7bl;\\uc000\\u2afd\\u20e5;\\uc000\\u2202\\u0338lint;\\u6a14\\u0180;ce\\u0c92\\u2b70\\u2b73u\\xe5\\u0ca5\\u0100;c\\u0c98\\u2b78\\u0100;e\\u0c92\\u2b7d\\xf1\\u0c98\\u0200Aait\\u2b88\\u2b8b\\u2b9d\\u2ba7r\\xf2\\u2988rr\\u0180;cw\\u2b94\\u2b95\\u2b99\\u619b;\\uc000\\u2933\\u0338;\\uc000\\u219d\\u0338ghtarrow\\xbb\\u2b95ri\\u0100;e\\u0ccb\\u0cd6\\u0380chimpqu\\u2bbd\\u2bcd\\u2bd9\\u2b04\\u0b78\\u2be4\\u2bef\\u0200;cer\\u0d32\\u2bc6\\u0d37\\u2bc9u\\xe5\\u0d45;\\uc000\\ud835\\udcc3ort\\u026d\\u2b05\\0\\0\\u2bd6ar\\xe1\\u2b56m\\u0100;e\\u0d6e\\u2bdf\\u0100;q\\u0d74\\u0d73su\\u0100bp\\u2beb\\u2bed\\xe5\\u0cf8\\xe5\\u0d0b\\u0180bcp\\u2bf6\\u2c11\\u2c19\\u0200;Ees\\u2bff\\u2c00\\u0d22\\u2c04\\u6284;\\uc000\\u2ac5\\u0338et\\u0100;e\\u0d1b\\u2c0bq\\u0100;q\\u0d23\\u2c00c\\u0100;e\\u0d32\\u2c17\\xf1\\u0d38\\u0200;Ees\\u2c22\\u2c23\\u0d5f\\u2c27\\u6285;\\uc000\\u2ac6\\u0338et\\u0100;e\\u0d58\\u2c2eq\\u0100;q\\u0d60\\u2c23\\u0200gilr\\u2c3d\\u2c3f\\u2c45\\u2c47\\xec\\u0bd7lde\\u803b\\xf1\\u40f1\\xe7\\u0c43iangle\\u0100lr\\u2c52\\u2c5ceft\\u0100;e\\u0c1a\\u2c5a\\xf1\\u0c26ight\\u0100;e\\u0ccb\\u2c65\\xf1\\u0cd7\\u0100;m\\u2c6c\\u2c6d\\u43bd\\u0180;es\\u2c74\\u2c75\\u2c79\\u4023ro;\\u6116p;\\u6007\\u0480DHadgilrs\\u2c8f\\u2c94\\u2c99\\u2c9e\\u2ca3\\u2cb0\\u2cb6\\u2cd3\\u2ce3ash;\\u62adarr;\\u6904p;\\uc000\\u224d\\u20d2ash;\\u62ac\\u0100et\\u2ca8\\u2cac;\\uc000\\u2265\\u20d2;\\uc000>\\u20d2nfin;\\u69de\\u0180Aet\\u2cbd\\u2cc1\\u2cc5rr;\\u6902;\\uc000\\u2264\\u20d2\\u0100;r\\u2cca\\u2ccd\\uc000<\\u20d2ie;\\uc000\\u22b4\\u20d2\\u0100At\\u2cd8\\u2cdcrr;\\u6903rie;\\uc000\\u22b5\\u20d2im;\\uc000\\u223c\\u20d2\\u0180Aan\\u2cf0\\u2cf4\\u2d02rr;\\u61d6r\\u0100hr\\u2cfa\\u2cfdk;\\u6923\\u0100;o\\u13e7\\u13e5ear;\\u6927\\u1253\\u1a95\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\u2d2d\\0\\u2d38\\u2d48\\u2d60\\u2d65\\u2d72\\u2d84\\u1b07\\0\\0\\u2d8d\\u2dab\\0\\u2dc8\\u2dce\\0\\u2ddc\\u2e19\\u2e2b\\u2e3e\\u2e43\\u0100cs\\u2d31\\u1a97ute\\u803b\\xf3\\u40f3\\u0100iy\\u2d3c\\u2d45r\\u0100;c\\u1a9e\\u2d42\\u803b\\xf4\\u40f4;\\u443e\\u0280abios\\u1aa0\\u2d52\\u2d57\\u01c8\\u2d5alac;\\u4151v;\\u6a38old;\\u69bclig;\\u4153\\u0100cr\\u2d69\\u2d6dir;\\u69bf;\\uc000\\ud835\\udd2c\\u036f\\u2d79\\0\\0\\u2d7c\\0\\u2d82n;\\u42dbave\\u803b\\xf2\\u40f2;\\u69c1\\u0100bm\\u2d88\\u0df4ar;\\u69b5\\u0200acit\\u2d95\\u2d98\\u2da5\\u2da8r\\xf2\\u1a80\\u0100ir\\u2d9d\\u2da0r;\\u69beoss;\\u69bbn\\xe5\\u0e52;\\u69c0\\u0180aei\\u2db1\\u2db5\\u2db9cr;\\u414dga;\\u43c9\\u0180cdn\\u2dc0\\u2dc5\\u01cdron;\\u43bf;\\u69b6pf;\\uc000\\ud835\\udd60\\u0180ael\\u2dd4\\u2dd7\\u01d2r;\\u69b7rp;\\u69b9\\u0380;adiosv\\u2dea\\u2deb\\u2dee\\u2e08\\u2e0d\\u2e10\\u2e16\\u6228r\\xf2\\u1a86\\u0200;efm\\u2df7\\u2df8\\u2e02\\u2e05\\u6a5dr\\u0100;o\\u2dfe\\u2dff\\u6134f\\xbb\\u2dff\\u803b\\xaa\\u40aa\\u803b\\xba\\u40bagof;\\u62b6r;\\u6a56lope;\\u6a57;\\u6a5b\\u0180clo\\u2e1f\\u2e21\\u2e27\\xf2\\u2e01ash\\u803b\\xf8\\u40f8l;\\u6298i\\u016c\\u2e2f\\u2e34de\\u803b\\xf5\\u40f5es\\u0100;a\\u01db\\u2e3as;\\u6a36ml\\u803b\\xf6\\u40f6bar;\\u633d\\u0ae1\\u2e5e\\0\\u2e7d\\0\\u2e80\\u2e9d\\0\\u2ea2\\u2eb9\\0\\0\\u2ecb\\u0e9c\\0\\u2f13\\0\\0\\u2f2b\\u2fbc\\0\\u2fc8r\\u0200;ast\\u0403\\u2e67\\u2e72\\u0e85\\u8100\\xb6;l\\u2e6d\\u2e6e\\u40b6le\\xec\\u0403\\u0269\\u2e78\\0\\0\\u2e7bm;\\u6af3;\\u6afdy;\\u443fr\\u0280cimpt\\u2e8b\\u2e8f\\u2e93\\u1865\\u2e97nt;\\u4025od;\\u402eil;\\u6030enk;\\u6031r;\\uc000\\ud835\\udd2d\\u0180imo\\u2ea8\\u2eb0\\u2eb4\\u0100;v\\u2ead\\u2eae\\u43c6;\\u43d5ma\\xf4\\u0a76ne;\\u660e\\u0180;tv\\u2ebf\\u2ec0\\u2ec8\\u43c0chfork\\xbb\\u1ffd;\\u43d6\\u0100au\\u2ecf\\u2edfn\\u0100ck\\u2ed5\\u2eddk\\u0100;h\\u21f4\\u2edb;\\u610e\\xf6\\u21f4s\\u0480;abcdemst\\u2ef3\\u2ef4\\u1908\\u2ef9\\u2efd\\u2f04\\u2f06\\u2f0a\\u2f0e\\u402bcir;\\u6a23ir;\\u6a22\\u0100ou\\u1d40\\u2f02;\\u6a25;\\u6a72n\\u80bb\\xb1\\u0e9dim;\\u6a26wo;\\u6a27\\u0180ipu\\u2f19\\u2f20\\u2f25ntint;\\u6a15f;\\uc000\\ud835\\udd61nd\\u803b\\xa3\\u40a3\\u0500;Eaceinosu\\u0ec8\\u2f3f\\u2f41\\u2f44\\u2f47\\u2f81\\u2f89\\u2f92\\u2f7e\\u2fb6;\\u6ab3p;\\u6ab7u\\xe5\\u0ed9\\u0100;c\\u0ece\\u2f4c\\u0300;acens\\u0ec8\\u2f59\\u2f5f\\u2f66\\u2f68\\u2f7eppro\\xf8\\u2f43urlye\\xf1\\u0ed9\\xf1\\u0ece\\u0180aes\\u2f6f\\u2f76\\u2f7approx;\\u6ab9qq;\\u6ab5im;\\u62e8i\\xed\\u0edfme\\u0100;s\\u2f88\\u0eae\\u6032\\u0180Eas\\u2f78\\u2f90\\u2f7a\\xf0\\u2f75\\u0180dfp\\u0eec\\u2f99\\u2faf\\u0180als\\u2fa0\\u2fa5\\u2faalar;\\u632eine;\\u6312urf;\\u6313\\u0100;t\\u0efb\\u2fb4\\xef\\u0efbrel;\\u62b0\\u0100ci\\u2fc0\\u2fc5r;\\uc000\\ud835\\udcc5;\\u43c8ncsp;\\u6008\\u0300fiopsu\\u2fda\\u22e2\\u2fdf\\u2fe5\\u2feb\\u2ff1r;\\uc000\\ud835\\udd2epf;\\uc000\\ud835\\udd62rime;\\u6057cr;\\uc000\\ud835\\udcc6\\u0180aeo\\u2ff8\\u3009\\u3013t\\u0100ei\\u2ffe\\u3005rnion\\xf3\\u06b0nt;\\u6a16st\\u0100;e\\u3010\\u3011\\u403f\\xf1\\u1f19\\xf4\\u0f14\\u0a80ABHabcdefhilmnoprstux\\u3040\\u3051\\u3055\\u3059\\u30e0\\u310e\\u312b\\u3147\\u3162\\u3172\\u318e\\u3206\\u3215\\u3224\\u3229\\u3258\\u326e\\u3272\\u3290\\u32b0\\u32b7\\u0180art\\u3047\\u304a\\u304cr\\xf2\\u10b3\\xf2\\u03ddail;\\u691car\\xf2\\u1c65ar;\\u6964\\u0380cdenqrt\\u3068\\u3075\\u3078\\u307f\\u308f\\u3094\\u30cc\\u0100eu\\u306d\\u3071;\\uc000\\u223d\\u0331te;\\u4155i\\xe3\\u116emptyv;\\u69b3g\\u0200;del\\u0fd1\\u3089\\u308b\\u308d;\\u6992;\\u69a5\\xe5\\u0fd1uo\\u803b\\xbb\\u40bbr\\u0580;abcfhlpstw\\u0fdc\\u30ac\\u30af\\u30b7\\u30b9\\u30bc\\u30be\\u30c0\\u30c3\\u30c7\\u30cap;\\u6975\\u0100;f\\u0fe0\\u30b4s;\\u6920;\\u6933s;\\u691e\\xeb\\u225d\\xf0\\u272el;\\u6945im;\\u6974l;\\u61a3;\\u619d\\u0100ai\\u30d1\\u30d5il;\\u691ao\\u0100;n\\u30db\\u30dc\\u6236al\\xf3\\u0f1e\\u0180abr\\u30e7\\u30ea\\u30eer\\xf2\\u17e5rk;\\u6773\\u0100ak\\u30f3\\u30fdc\\u0100ek\\u30f9\\u30fb;\\u407d;\\u405d\\u0100es\\u3102\\u3104;\\u698cl\\u0100du\\u310a\\u310c;\\u698e;\\u6990\\u0200aeuy\\u3117\\u311c\\u3127\\u3129ron;\\u4159\\u0100di\\u3121\\u3125il;\\u4157\\xec\\u0ff2\\xe2\\u30fa;\\u4440\\u0200clqs\\u3134\\u3137\\u313d\\u3144a;\\u6937dhar;\\u6969uo\\u0100;r\\u020e\\u020dh;\\u61b3\\u0180acg\\u314e\\u315f\\u0f44l\\u0200;ips\\u0f78\\u3158\\u315b\\u109cn\\xe5\\u10bbar\\xf4\\u0fa9t;\\u65ad\\u0180ilr\\u3169\\u1023\\u316esht;\\u697d;\\uc000\\ud835\\udd2f\\u0100ao\\u3177\\u3186r\\u0100du\\u317d\\u317f\\xbb\\u047b\\u0100;l\\u1091\\u3184;\\u696c\\u0100;v\\u318b\\u318c\\u43c1;\\u43f1\\u0180gns\\u3195\\u31f9\\u31fcht\\u0300ahlrst\\u31a4\\u31b0\\u31c2\\u31d8\\u31e4\\u31eerrow\\u0100;t\\u0fdc\\u31ada\\xe9\\u30c8arpoon\\u0100du\\u31bb\\u31bfow\\xee\\u317ep\\xbb\\u1092eft\\u0100ah\\u31ca\\u31d0rrow\\xf3\\u0feaarpoon\\xf3\\u0551ightarrows;\\u61c9quigarro\\xf7\\u30cbhreetimes;\\u62ccg;\\u42daingdotse\\xf1\\u1f32\\u0180ahm\\u320d\\u3210\\u3213r\\xf2\\u0feaa\\xf2\\u0551;\\u600foust\\u0100;a\\u321e\\u321f\\u63b1che\\xbb\\u321fmid;\\u6aee\\u0200abpt\\u3232\\u323d\\u3240\\u3252\\u0100nr\\u3237\\u323ag;\\u67edr;\\u61fer\\xeb\\u1003\\u0180afl\\u3247\\u324a\\u324er;\\u6986;\\uc000\\ud835\\udd63us;\\u6a2eimes;\\u6a35\\u0100ap\\u325d\\u3267r\\u0100;g\\u3263\\u3264\\u4029t;\\u6994olint;\\u6a12ar\\xf2\\u31e3\\u0200achq\\u327b\\u3280\\u10bc\\u3285quo;\\u603ar;\\uc000\\ud835\\udcc7\\u0100bu\\u30fb\\u328ao\\u0100;r\\u0214\\u0213\\u0180hir\\u3297\\u329b\\u32a0re\\xe5\\u31f8mes;\\u62cai\\u0200;efl\\u32aa\\u1059\\u1821\\u32ab\\u65b9tri;\\u69celuhar;\\u6968;\\u611e\\u0d61\\u32d5\\u32db\\u32df\\u332c\\u3338\\u3371\\0\\u337a\\u33a4\\0\\0\\u33ec\\u33f0\\0\\u3428\\u3448\\u345a\\u34ad\\u34b1\\u34ca\\u34f1\\0\\u3616\\0\\0\\u3633cute;\\u415bqu\\xef\\u27ba\\u0500;Eaceinpsy\\u11ed\\u32f3\\u32f5\\u32ff\\u3302\\u330b\\u330f\\u331f\\u3326\\u3329;\\u6ab4\\u01f0\\u32fa\\0\\u32fc;\\u6ab8on;\\u4161u\\xe5\\u11fe\\u0100;d\\u11f3\\u3307il;\\u415frc;\\u415d\\u0180Eas\\u3316\\u3318\\u331b;\\u6ab6p;\\u6abaim;\\u62e9olint;\\u6a13i\\xed\\u1204;\\u4441ot\\u0180;be\\u3334\\u1d47\\u3335\\u62c5;\\u6a66\\u0380Aacmstx\\u3346\\u334a\\u3357\\u335b\\u335e\\u3363\\u336drr;\\u61d8r\\u0100hr\\u3350\\u3352\\xeb\\u2228\\u0100;o\\u0a36\\u0a34t\\u803b\\xa7\\u40a7i;\\u403bwar;\\u6929m\\u0100in\\u3369\\xf0nu\\xf3\\xf1t;\\u6736r\\u0100;o\\u3376\\u2055\\uc000\\ud835\\udd30\\u0200acoy\\u3382\\u3386\\u3391\\u33a0rp;\\u666f\\u0100hy\\u338b\\u338fcy;\\u4449;\\u4448rt\\u026d\\u3399\\0\\0\\u339ci\\xe4\\u1464ara\\xec\\u2e6f\\u803b\\xad\\u40ad\\u0100gm\\u33a8\\u33b4ma\\u0180;fv\\u33b1\\u33b2\\u33b2\\u43c3;\\u43c2\\u0400;deglnpr\\u12ab\\u33c5\\u33c9\\u33ce\\u33d6\\u33de\\u33e1\\u33e6ot;\\u6a6a\\u0100;q\\u12b1\\u12b0\\u0100;E\\u33d3\\u33d4\\u6a9e;\\u6aa0\\u0100;E\\u33db\\u33dc\\u6a9d;\\u6a9fe;\\u6246lus;\\u6a24arr;\\u6972ar\\xf2\\u113d\\u0200aeit\\u33f8\\u3408\\u340f\\u3417\\u0100ls\\u33fd\\u3404lsetm\\xe9\\u336ahp;\\u6a33parsl;\\u69e4\\u0100dl\\u1463\\u3414e;\\u6323\\u0100;e\\u341c\\u341d\\u6aaa\\u0100;s\\u3422\\u3423\\u6aac;\\uc000\\u2aac\\ufe00\\u0180flp\\u342e\\u3433\\u3442tcy;\\u444c\\u0100;b\\u3438\\u3439\\u402f\\u0100;a\\u343e\\u343f\\u69c4r;\\u633ff;\\uc000\\ud835\\udd64a\\u0100dr\\u344d\\u0402es\\u0100;u\\u3454\\u3455\\u6660it\\xbb\\u3455\\u0180csu\\u3460\\u3479\\u349f\\u0100au\\u3465\\u346fp\\u0100;s\\u1188\\u346b;\\uc000\\u2293\\ufe00p\\u0100;s\\u11b4\\u3475;\\uc000\\u2294\\ufe00u\\u0100bp\\u347f\\u348f\\u0180;es\\u1197\\u119c\\u3486et\\u0100;e\\u1197\\u348d\\xf1\\u119d\\u0180;es\\u11a8\\u11ad\\u3496et\\u0100;e\\u11a8\\u349d\\xf1\\u11ae\\u0180;af\\u117b\\u34a6\\u05b0r\\u0165\\u34ab\\u05b1\\xbb\\u117car\\xf2\\u1148\\u0200cemt\\u34b9\\u34be\\u34c2\\u34c5r;\\uc000\\ud835\\udcc8tm\\xee\\xf1i\\xec\\u3415ar\\xe6\\u11be\\u0100ar\\u34ce\\u34d5r\\u0100;f\\u34d4\\u17bf\\u6606\\u0100an\\u34da\\u34edight\\u0100ep\\u34e3\\u34eapsilo\\xee\\u1ee0h\\xe9\\u2eafs\\xbb\\u2852\\u0280bcmnp\\u34fb\\u355e\\u1209\\u358b\\u358e\\u0480;Edemnprs\\u350e\\u350f\\u3511\\u3515\\u351e\\u3523\\u352c\\u3531\\u3536\\u6282;\\u6ac5ot;\\u6abd\\u0100;d\\u11da\\u351aot;\\u6ac3ult;\\u6ac1\\u0100Ee\\u3528\\u352a;\\u6acb;\\u628alus;\\u6abfarr;\\u6979\\u0180eiu\\u353d\\u3552\\u3555t\\u0180;en\\u350e\\u3545\\u354bq\\u0100;q\\u11da\\u350feq\\u0100;q\\u352b\\u3528m;\\u6ac7\\u0100bp\\u355a\\u355c;\\u6ad5;\\u6ad3c\\u0300;acens\\u11ed\\u356c\\u3572\\u3579\\u357b\\u3326ppro\\xf8\\u32faurlye\\xf1\\u11fe\\xf1\\u11f3\\u0180aes\\u3582\\u3588\\u331bppro\\xf8\\u331aq\\xf1\\u3317g;\\u666a\\u0680123;Edehlmnps\\u35a9\\u35ac\\u35af\\u121c\\u35b2\\u35b4\\u35c0\\u35c9\\u35d5\\u35da\\u35df\\u35e8\\u35ed\\u803b\\xb9\\u40b9\\u803b\\xb2\\u40b2\\u803b\\xb3\\u40b3;\\u6ac6\\u0100os\\u35b9\\u35bct;\\u6abeub;\\u6ad8\\u0100;d\\u1222\\u35c5ot;\\u6ac4s\\u0100ou\\u35cf\\u35d2l;\\u67c9b;\\u6ad7arr;\\u697bult;\\u6ac2\\u0100Ee\\u35e4\\u35e6;\\u6acc;\\u628blus;\\u6ac0\\u0180eiu\\u35f4\\u3609\\u360ct\\u0180;en\\u121c\\u35fc\\u3602q\\u0100;q\\u1222\\u35b2eq\\u0100;q\\u35e7\\u35e4m;\\u6ac8\\u0100bp\\u3611\\u3613;\\u6ad4;\\u6ad6\\u0180Aan\\u361c\\u3620\\u362drr;\\u61d9r\\u0100hr\\u3626\\u3628\\xeb\\u222e\\u0100;o\\u0a2b\\u0a29war;\\u692alig\\u803b\\xdf\\u40df\\u0be1\\u3651\\u365d\\u3660\\u12ce\\u3673\\u3679\\0\\u367e\\u36c2\\0\\0\\0\\0\\0\\u36db\\u3703\\0\\u3709\\u376c\\0\\0\\0\\u3787\\u0272\\u3656\\0\\0\\u365bget;\\u6316;\\u43c4r\\xeb\\u0e5f\\u0180aey\\u3666\\u366b\\u3670ron;\\u4165dil;\\u4163;\\u4442lrec;\\u6315r;\\uc000\\ud835\\udd31\\u0200eiko\\u3686\\u369d\\u36b5\\u36bc\\u01f2\\u368b\\0\\u3691e\\u01004f\\u1284\\u1281a\\u0180;sv\\u3698\\u3699\\u369b\\u43b8ym;\\u43d1\\u0100cn\\u36a2\\u36b2k\\u0100as\\u36a8\\u36aeppro\\xf8\\u12c1im\\xbb\\u12acs\\xf0\\u129e\\u0100as\\u36ba\\u36ae\\xf0\\u12c1rn\\u803b\\xfe\\u40fe\\u01ec\\u031f\\u36c6\\u22e7es\\u8180\\xd7;bd\\u36cf\\u36d0\\u36d8\\u40d7\\u0100;a\\u190f\\u36d5r;\\u6a31;\\u6a30\\u0180eps\\u36e1\\u36e3\\u3700\\xe1\\u2a4d\\u0200;bcf\\u0486\\u36ec\\u36f0\\u36f4ot;\\u6336ir;\\u6af1\\u0100;o\\u36f9\\u36fc\\uc000\\ud835\\udd65rk;\\u6ada\\xe1\\u3362rime;\\u6034\\u0180aip\\u370f\\u3712\\u3764d\\xe5\\u1248\\u0380adempst\\u3721\\u374d\\u3740\\u3751\\u3757\\u375c\\u375fngle\\u0280;dlqr\\u3730\\u3731\\u3736\\u3740\\u3742\\u65b5own\\xbb\\u1dbbeft\\u0100;e\\u2800\\u373e\\xf1\\u092e;\\u625cight\\u0100;e\\u32aa\\u374b\\xf1\\u105aot;\\u65ecinus;\\u6a3alus;\\u6a39b;\\u69cdime;\\u6a3bezium;\\u63e2\\u0180cht\\u3772\\u377d\\u3781\\u0100ry\\u3777\\u377b;\\uc000\\ud835\\udcc9;\\u4446cy;\\u445brok;\\u4167\\u0100io\\u378b\\u378ex\\xf4\\u1777head\\u0100lr\\u3797\\u37a0eftarro\\xf7\\u084fightarrow\\xbb\\u0f5d\\u0900AHabcdfghlmoprstuw\\u37d0\\u37d3\\u37d7\\u37e4\\u37f0\\u37fc\\u380e\\u381c\\u3823\\u3834\\u3851\\u385d\\u386b\\u38a9\\u38cc\\u38d2\\u38ea\\u38f6r\\xf2\\u03edar;\\u6963\\u0100cr\\u37dc\\u37e2ute\\u803b\\xfa\\u40fa\\xf2\\u1150r\\u01e3\\u37ea\\0\\u37edy;\\u445eve;\\u416d\\u0100iy\\u37f5\\u37farc\\u803b\\xfb\\u40fb;\\u4443\\u0180abh\\u3803\\u3806\\u380br\\xf2\\u13adlac;\\u4171a\\xf2\\u13c3\\u0100ir\\u3813\\u3818sht;\\u697e;\\uc000\\ud835\\udd32rave\\u803b\\xf9\\u40f9\\u0161\\u3827\\u3831r\\u0100lr\\u382c\\u382e\\xbb\\u0957\\xbb\\u1083lk;\\u6580\\u0100ct\\u3839\\u384d\\u026f\\u383f\\0\\0\\u384arn\\u0100;e\\u3845\\u3846\\u631cr\\xbb\\u3846op;\\u630fri;\\u65f8\\u0100al\\u3856\\u385acr;\\u416b\\u80bb\\xa8\\u0349\\u0100gp\\u3862\\u3866on;\\u4173f;\\uc000\\ud835\\udd66\\u0300adhlsu\\u114b\\u3878\\u387d\\u1372\\u3891\\u38a0own\\xe1\\u13b3arpoon\\u0100lr\\u3888\\u388cef\\xf4\\u382digh\\xf4\\u382fi\\u0180;hl\\u3899\\u389a\\u389c\\u43c5\\xbb\\u13faon\\xbb\\u389aparrows;\\u61c8\\u0180cit\\u38b0\\u38c4\\u38c8\\u026f\\u38b6\\0\\0\\u38c1rn\\u0100;e\\u38bc\\u38bd\\u631dr\\xbb\\u38bdop;\\u630eng;\\u416fri;\\u65f9cr;\\uc000\\ud835\\udcca\\u0180dir\\u38d9\\u38dd\\u38e2ot;\\u62f0lde;\\u4169i\\u0100;f\\u3730\\u38e8\\xbb\\u1813\\u0100am\\u38ef\\u38f2r\\xf2\\u38a8l\\u803b\\xfc\\u40fcangle;\\u69a7\\u0780ABDacdeflnoprsz\\u391c\\u391f\\u3929\\u392d\\u39b5\\u39b8\\u39bd\\u39df\\u39e4\\u39e8\\u39f3\\u39f9\\u39fd\\u3a01\\u3a20r\\xf2\\u03f7ar\\u0100;v\\u3926\\u3927\\u6ae8;\\u6ae9as\\xe8\\u03e1\\u0100nr\\u3932\\u3937grt;\\u699c\\u0380eknprst\\u34e3\\u3946\\u394b\\u3952\\u395d\\u3964\\u3996app\\xe1\\u2415othin\\xe7\\u1e96\\u0180hir\\u34eb\\u2ec8\\u3959op\\xf4\\u2fb5\\u0100;h\\u13b7\\u3962\\xef\\u318d\\u0100iu\\u3969\\u396dgm\\xe1\\u33b3\\u0100bp\\u3972\\u3984setneq\\u0100;q\\u397d\\u3980\\uc000\\u228a\\ufe00;\\uc000\\u2acb\\ufe00setneq\\u0100;q\\u398f\\u3992\\uc000\\u228b\\ufe00;\\uc000\\u2acc\\ufe00\\u0100hr\\u399b\\u399fet\\xe1\\u369ciangle\\u0100lr\\u39aa\\u39afeft\\xbb\\u0925ight\\xbb\\u1051y;\\u4432ash\\xbb\\u1036\\u0180elr\\u39c4\\u39d2\\u39d7\\u0180;be\\u2dea\\u39cb\\u39cfar;\\u62bbq;\\u625alip;\\u62ee\\u0100bt\\u39dc\\u1468a\\xf2\\u1469r;\\uc000\\ud835\\udd33tr\\xe9\\u39aesu\\u0100bp\\u39ef\\u39f1\\xbb\\u0d1c\\xbb\\u0d59pf;\\uc000\\ud835\\udd67ro\\xf0\\u0efbtr\\xe9\\u39b4\\u0100cu\\u3a06\\u3a0br;\\uc000\\ud835\\udccb\\u0100bp\\u3a10\\u3a18n\\u0100Ee\\u3980\\u3a16\\xbb\\u397en\\u0100Ee\\u3992\\u3a1e\\xbb\\u3990igzag;\\u699a\\u0380cefoprs\\u3a36\\u3a3b\\u3a56\\u3a5b\\u3a54\\u3a61\\u3a6airc;\\u4175\\u0100di\\u3a40\\u3a51\\u0100bg\\u3a45\\u3a49ar;\\u6a5fe\\u0100;q\\u15fa\\u3a4f;\\u6259erp;\\u6118r;\\uc000\\ud835\\udd34pf;\\uc000\\ud835\\udd68\\u0100;e\\u1479\\u3a66at\\xe8\\u1479cr;\\uc000\\ud835\\udccc\\u0ae3\\u178e\\u3a87\\0\\u3a8b\\0\\u3a90\\u3a9b\\0\\0\\u3a9d\\u3aa8\\u3aab\\u3aaf\\0\\0\\u3ac3\\u3ace\\0\\u3ad8\\u17dc\\u17dftr\\xe9\\u17d1r;\\uc000\\ud835\\udd35\\u0100Aa\\u3a94\\u3a97r\\xf2\\u03c3r\\xf2\\u09f6;\\u43be\\u0100Aa\\u3aa1\\u3aa4r\\xf2\\u03b8r\\xf2\\u09eba\\xf0\\u2713is;\\u62fb\\u0180dpt\\u17a4\\u3ab5\\u3abe\\u0100fl\\u3aba\\u17a9;\\uc000\\ud835\\udd69im\\xe5\\u17b2\\u0100Aa\\u3ac7\\u3acar\\xf2\\u03cer\\xf2\\u0a01\\u0100cq\\u3ad2\\u17b8r;\\uc000\\ud835\\udccd\\u0100pt\\u17d6\\u3adcr\\xe9\\u17d4\\u0400acefiosu\\u3af0\\u3afd\\u3b08\\u3b0c\\u3b11\\u3b15\\u3b1b\\u3b21c\\u0100uy\\u3af6\\u3afbte\\u803b\\xfd\\u40fd;\\u444f\\u0100iy\\u3b02\\u3b06rc;\\u4177;\\u444bn\\u803b\\xa5\\u40a5r;\\uc000\\ud835\\udd36cy;\\u4457pf;\\uc000\\ud835\\udd6acr;\\uc000\\ud835\\udcce\\u0100cm\\u3b26\\u3b29y;\\u444el\\u803b\\xff\\u40ff\\u0500acdefhiosw\\u3b42\\u3b48\\u3b54\\u3b58\\u3b64\\u3b69\\u3b6d\\u3b74\\u3b7a\\u3b80cute;\\u417a\\u0100ay\\u3b4d\\u3b52ron;\\u417e;\\u4437ot;\\u417c\\u0100et\\u3b5d\\u3b61tr\\xe6\\u155fa;\\u43b6r;\\uc000\\ud835\\udd37cy;\\u4436grarr;\\u61ddpf;\\uc000\\ud835\\udd6bcr;\\uc000\\ud835\\udccf\\u0100jn\\u3b85\\u3b87;\\u600dj;\\u600c\".split(\"\").map(c => c.charCodeAt(0)));\n\n// Generated using scripts/write-decode-map.ts\nvar xmlDecodeTree$1 = /*#__PURE__*/new Uint16Array(\n/*#__PURE__*/\n// prettier-ignore\n/*#__PURE__*/\"\\u0200aglq\\t\\x15\\x18\\x1b\\u026d\\x0f\\0\\0\\x12p;\\u4026os;\\u4027t;\\u403et;\\u403cuot;\\u4022\".split(\"\").map(c => c.charCodeAt(0)));\n\n// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134\nvar _a$1;\nconst decodeMap$1 = /*#__PURE__*/new Map([[0, 65533],\n// C1 Unicode control character reference replacements\n[128, 8364], [130, 8218], [131, 402], [132, 8222], [133, 8230], [134, 8224], [135, 8225], [136, 710], [137, 8240], [138, 352], [139, 8249], [140, 338], [142, 381], [145, 8216], [146, 8217], [147, 8220], [148, 8221], [149, 8226], [150, 8211], [151, 8212], [152, 732], [153, 8482], [154, 353], [155, 8250], [156, 339], [158, 382], [159, 376]]);\n/**\n * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.\n */\nconst fromCodePoint$1 =\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins\n(_a$1 = String.fromCodePoint) !== null && _a$1 !== void 0 ? _a$1 : function (codePoint) {\n  let output = \"\";\n  if (codePoint > 0xffff) {\n    codePoint -= 0x10000;\n    output += String.fromCharCode(codePoint >>> 10 & 0x3ff | 0xd800);\n    codePoint = 0xdc00 | codePoint & 0x3ff;\n  }\n  output += String.fromCharCode(codePoint);\n  return output;\n};\n/**\n * Replace the given code point with a replacement character if it is a\n * surrogate or is outside the valid range. Otherwise return the code\n * point unchanged.\n */\nfunction replaceCodePoint$1(codePoint) {\n  var _a;\n  if (codePoint >= 0xd800 && codePoint <= 0xdfff || codePoint > 0x10ffff) {\n    return 0xfffd;\n  }\n  return (_a = decodeMap$1.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;\n}\nvar CharCodes$2 = /*#__PURE__*/function (CharCodes) {\n  CharCodes[CharCodes[\"NUM\"] = 35] = \"NUM\";\n  CharCodes[CharCodes[\"SEMI\"] = 59] = \"SEMI\";\n  CharCodes[CharCodes[\"EQUALS\"] = 61] = \"EQUALS\";\n  CharCodes[CharCodes[\"ZERO\"] = 48] = \"ZERO\";\n  CharCodes[CharCodes[\"NINE\"] = 57] = \"NINE\";\n  CharCodes[CharCodes[\"LOWER_A\"] = 97] = \"LOWER_A\";\n  CharCodes[CharCodes[\"LOWER_F\"] = 102] = \"LOWER_F\";\n  CharCodes[CharCodes[\"LOWER_X\"] = 120] = \"LOWER_X\";\n  CharCodes[CharCodes[\"LOWER_Z\"] = 122] = \"LOWER_Z\";\n  CharCodes[CharCodes[\"UPPER_A\"] = 65] = \"UPPER_A\";\n  CharCodes[CharCodes[\"UPPER_F\"] = 70] = \"UPPER_F\";\n  CharCodes[CharCodes[\"UPPER_Z\"] = 90] = \"UPPER_Z\";\n  return CharCodes;\n}(CharCodes$2 || {});\n/** Bit that needs to be set to convert an upper case ASCII character to lower case */\nconst TO_LOWER_BIT$1 = 0b100000;\nvar BinTrieFlags$1 = /*#__PURE__*/function (BinTrieFlags) {\n  BinTrieFlags[BinTrieFlags[\"VALUE_LENGTH\"] = 49152] = \"VALUE_LENGTH\";\n  BinTrieFlags[BinTrieFlags[\"BRANCH_LENGTH\"] = 16256] = \"BRANCH_LENGTH\";\n  BinTrieFlags[BinTrieFlags[\"JUMP_TABLE\"] = 127] = \"JUMP_TABLE\";\n  return BinTrieFlags;\n}(BinTrieFlags$1 || {});\nfunction isNumber$1(code) {\n  return code >= CharCodes$2.ZERO && code <= CharCodes$2.NINE;\n}\nfunction isHexadecimalCharacter$1(code) {\n  return code >= CharCodes$2.UPPER_A && code <= CharCodes$2.UPPER_F || code >= CharCodes$2.LOWER_A && code <= CharCodes$2.LOWER_F;\n}\nfunction isAsciiAlphaNumeric$1(code) {\n  return code >= CharCodes$2.UPPER_A && code <= CharCodes$2.UPPER_Z || code >= CharCodes$2.LOWER_A && code <= CharCodes$2.LOWER_Z || isNumber$1(code);\n}\n/**\n * Checks if the given character is a valid end character for an entity in an attribute.\n *\n * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.\n * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state\n */\nfunction isEntityInAttributeInvalidEnd$1(code) {\n  return code === CharCodes$2.EQUALS || isAsciiAlphaNumeric$1(code);\n}\nvar EntityDecoderState$1 = /*#__PURE__*/function (EntityDecoderState) {\n  EntityDecoderState[EntityDecoderState[\"EntityStart\"] = 0] = \"EntityStart\";\n  EntityDecoderState[EntityDecoderState[\"NumericStart\"] = 1] = \"NumericStart\";\n  EntityDecoderState[EntityDecoderState[\"NumericDecimal\"] = 2] = \"NumericDecimal\";\n  EntityDecoderState[EntityDecoderState[\"NumericHex\"] = 3] = \"NumericHex\";\n  EntityDecoderState[EntityDecoderState[\"NamedEntity\"] = 4] = \"NamedEntity\";\n  return EntityDecoderState;\n}(EntityDecoderState$1 || {});\nvar DecodingMode$1 = /*#__PURE__*/function (DecodingMode) {\n  /** Entities in text nodes that can end with any character. */\n  DecodingMode[DecodingMode[\"Legacy\"] = 0] = \"Legacy\";\n  /** Only allow entities terminated with a semicolon. */\n  DecodingMode[DecodingMode[\"Strict\"] = 1] = \"Strict\";\n  /** Entities in attributes have limitations on ending characters. */\n  DecodingMode[DecodingMode[\"Attribute\"] = 2] = \"Attribute\";\n  return DecodingMode;\n}(DecodingMode$1 || {});\n/**\n * Token decoder with support of writing partial entities.\n */\nlet EntityDecoder$1 = class EntityDecoder {\n  constructor(/** The tree used to decode entities. */\n  decodeTree,\n  /**\n   * The function that is called when a codepoint is decoded.\n   *\n   * For multi-byte named entities, this will be called multiple times,\n   * with the second codepoint, and the same `consumed` value.\n   *\n   * @param codepoint The decoded codepoint.\n   * @param consumed The number of bytes consumed by the decoder.\n   */\n  emitCodePoint, /** An object that is used to produce errors. */\n  errors) {\n    this.decodeTree = decodeTree;\n    this.emitCodePoint = emitCodePoint;\n    this.errors = errors;\n    /** The current state of the decoder. */\n    this.state = EntityDecoderState$1.EntityStart;\n    /** Characters that were consumed while parsing an entity. */\n    this.consumed = 1;\n    /**\n     * The result of the entity.\n     *\n     * Either the result index of a numeric entity, or the codepoint of a\n     * numeric entity.\n     */\n    this.result = 0;\n    /** The current index in the decode tree. */\n    this.treeIndex = 0;\n    /** The number of characters that were consumed in excess. */\n    this.excess = 1;\n    /** The mode in which the decoder is operating. */\n    this.decodeMode = DecodingMode$1.Strict;\n  }\n  /** Resets the instance to make it reusable. */\n  startEntity(decodeMode) {\n    this.decodeMode = decodeMode;\n    this.state = EntityDecoderState$1.EntityStart;\n    this.result = 0;\n    this.treeIndex = 0;\n    this.excess = 1;\n    this.consumed = 1;\n  }\n  /**\n   * Write an entity to the decoder. This can be called multiple times with partial entities.\n   * If the entity is incomplete, the decoder will return -1.\n   *\n   * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the\n   * entity is incomplete, and resume when the next string is written.\n   *\n   * @param string The string containing the entity (or a continuation of the entity).\n   * @param offset The offset at which the entity begins. Should be 0 if this is not the first call.\n   * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n   */\n  write(str, offset) {\n    switch (this.state) {\n      case EntityDecoderState$1.EntityStart:\n        {\n          if (str.charCodeAt(offset) === CharCodes$2.NUM) {\n            this.state = EntityDecoderState$1.NumericStart;\n            this.consumed += 1;\n            return this.stateNumericStart(str, offset + 1);\n          }\n          this.state = EntityDecoderState$1.NamedEntity;\n          return this.stateNamedEntity(str, offset);\n        }\n      case EntityDecoderState$1.NumericStart:\n        {\n          return this.stateNumericStart(str, offset);\n        }\n      case EntityDecoderState$1.NumericDecimal:\n        {\n          return this.stateNumericDecimal(str, offset);\n        }\n      case EntityDecoderState$1.NumericHex:\n        {\n          return this.stateNumericHex(str, offset);\n        }\n      case EntityDecoderState$1.NamedEntity:\n        {\n          return this.stateNamedEntity(str, offset);\n        }\n    }\n  }\n  /**\n   * Switches between the numeric decimal and hexadecimal states.\n   *\n   * Equivalent to the `Numeric character reference state` in the HTML spec.\n   *\n   * @param str The string containing the entity (or a continuation of the entity).\n   * @param offset The current offset.\n   * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n   */\n  stateNumericStart(str, offset) {\n    if (offset >= str.length) {\n      return -1;\n    }\n    if ((str.charCodeAt(offset) | TO_LOWER_BIT$1) === CharCodes$2.LOWER_X) {\n      this.state = EntityDecoderState$1.NumericHex;\n      this.consumed += 1;\n      return this.stateNumericHex(str, offset + 1);\n    }\n    this.state = EntityDecoderState$1.NumericDecimal;\n    return this.stateNumericDecimal(str, offset);\n  }\n  addToNumericResult(str, start, end, base) {\n    if (start !== end) {\n      const digitCount = end - start;\n      this.result = this.result * Math.pow(base, digitCount) + parseInt(str.substr(start, digitCount), base);\n      this.consumed += digitCount;\n    }\n  }\n  /**\n   * Parses a hexadecimal numeric entity.\n   *\n   * Equivalent to the `Hexademical character reference state` in the HTML spec.\n   *\n   * @param str The string containing the entity (or a continuation of the entity).\n   * @param offset The current offset.\n   * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n   */\n  stateNumericHex(str, offset) {\n    const startIdx = offset;\n    while (offset < str.length) {\n      const char = str.charCodeAt(offset);\n      if (isNumber$1(char) || isHexadecimalCharacter$1(char)) {\n        offset += 1;\n      } else {\n        this.addToNumericResult(str, startIdx, offset, 16);\n        return this.emitNumericEntity(char, 3);\n      }\n    }\n    this.addToNumericResult(str, startIdx, offset, 16);\n    return -1;\n  }\n  /**\n   * Parses a decimal numeric entity.\n   *\n   * Equivalent to the `Decimal character reference state` in the HTML spec.\n   *\n   * @param str The string containing the entity (or a continuation of the entity).\n   * @param offset The current offset.\n   * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n   */\n  stateNumericDecimal(str, offset) {\n    const startIdx = offset;\n    while (offset < str.length) {\n      const char = str.charCodeAt(offset);\n      if (isNumber$1(char)) {\n        offset += 1;\n      } else {\n        this.addToNumericResult(str, startIdx, offset, 10);\n        return this.emitNumericEntity(char, 2);\n      }\n    }\n    this.addToNumericResult(str, startIdx, offset, 10);\n    return -1;\n  }\n  /**\n   * Validate and emit a numeric entity.\n   *\n   * Implements the logic from the `Hexademical character reference start\n   * state` and `Numeric character reference end state` in the HTML spec.\n   *\n   * @param lastCp The last code point of the entity. Used to see if the\n   *               entity was terminated with a semicolon.\n   * @param expectedLength The minimum number of characters that should be\n   *                       consumed. Used to validate that at least one digit\n   *                       was consumed.\n   * @returns The number of characters that were consumed.\n   */\n  emitNumericEntity(lastCp, expectedLength) {\n    var _a;\n    // Ensure we consumed at least one digit.\n    if (this.consumed <= expectedLength) {\n      (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n      return 0;\n    }\n    // Figure out if this is a legit end of the entity\n    if (lastCp === CharCodes$2.SEMI) {\n      this.consumed += 1;\n    } else if (this.decodeMode === DecodingMode$1.Strict) {\n      return 0;\n    }\n    this.emitCodePoint(replaceCodePoint$1(this.result), this.consumed);\n    if (this.errors) {\n      if (lastCp !== CharCodes$2.SEMI) {\n        this.errors.missingSemicolonAfterCharacterReference();\n      }\n      this.errors.validateNumericCharacterReference(this.result);\n    }\n    return this.consumed;\n  }\n  /**\n   * Parses a named entity.\n   *\n   * Equivalent to the `Named character reference state` in the HTML spec.\n   *\n   * @param str The string containing the entity (or a continuation of the entity).\n   * @param offset The current offset.\n   * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n   */\n  stateNamedEntity(str, offset) {\n    const {\n      decodeTree\n    } = this;\n    let current = decodeTree[this.treeIndex];\n    // The mask is the number of bytes of the value, including the current byte.\n    let valueLength = (current & BinTrieFlags$1.VALUE_LENGTH) >> 14;\n    for (; offset < str.length; offset++, this.excess++) {\n      const char = str.charCodeAt(offset);\n      this.treeIndex = determineBranch$1(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);\n      if (this.treeIndex < 0) {\n        return this.result === 0 ||\n        // If we are parsing an attribute\n        this.decodeMode === DecodingMode$1.Attribute && (\n        // We shouldn't have consumed any characters after the entity,\n        valueLength === 0 ||\n        // And there should be no invalid characters.\n        isEntityInAttributeInvalidEnd$1(char)) ? 0 : this.emitNotTerminatedNamedEntity();\n      }\n      current = decodeTree[this.treeIndex];\n      valueLength = (current & BinTrieFlags$1.VALUE_LENGTH) >> 14;\n      // If the branch is a value, store it and continue\n      if (valueLength !== 0) {\n        // If the entity is terminated by a semicolon, we are done.\n        if (char === CharCodes$2.SEMI) {\n          return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);\n        }\n        // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it.\n        if (this.decodeMode !== DecodingMode$1.Strict) {\n          this.result = this.treeIndex;\n          this.consumed += this.excess;\n          this.excess = 0;\n        }\n      }\n    }\n    return -1;\n  }\n  /**\n   * Emit a named entity that was not terminated with a semicolon.\n   *\n   * @returns The number of characters consumed.\n   */\n  emitNotTerminatedNamedEntity() {\n    var _a;\n    const {\n      result,\n      decodeTree\n    } = this;\n    const valueLength = (decodeTree[result] & BinTrieFlags$1.VALUE_LENGTH) >> 14;\n    this.emitNamedEntityData(result, valueLength, this.consumed);\n    (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();\n    return this.consumed;\n  }\n  /**\n   * Emit a named entity.\n   *\n   * @param result The index of the entity in the decode tree.\n   * @param valueLength The number of bytes in the entity.\n   * @param consumed The number of characters consumed.\n   *\n   * @returns The number of characters consumed.\n   */\n  emitNamedEntityData(result, valueLength, consumed) {\n    const {\n      decodeTree\n    } = this;\n    this.emitCodePoint(valueLength === 1 ? decodeTree[result] & ~BinTrieFlags$1.VALUE_LENGTH : decodeTree[result + 1], consumed);\n    if (valueLength === 3) {\n      // For multi-byte values, we need to emit the second byte.\n      this.emitCodePoint(decodeTree[result + 2], consumed);\n    }\n    return consumed;\n  }\n  /**\n   * Signal to the parser that the end of the input was reached.\n   *\n   * Remaining data will be emitted and relevant errors will be produced.\n   *\n   * @returns The number of characters consumed.\n   */\n  end() {\n    var _a;\n    switch (this.state) {\n      case EntityDecoderState$1.NamedEntity:\n        {\n          // Emit a named entity if we have one.\n          return this.result !== 0 && (this.decodeMode !== DecodingMode$1.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0;\n        }\n      // Otherwise, emit a numeric entity if we have one.\n      case EntityDecoderState$1.NumericDecimal:\n        {\n          return this.emitNumericEntity(0, 2);\n        }\n      case EntityDecoderState$1.NumericHex:\n        {\n          return this.emitNumericEntity(0, 3);\n        }\n      case EntityDecoderState$1.NumericStart:\n        {\n          (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n          return 0;\n        }\n      case EntityDecoderState$1.EntityStart:\n        {\n          // Return 0 if we have no entity.\n          return 0;\n        }\n    }\n  }\n};\n/**\n * Creates a function that decodes entities in a string.\n *\n * @param decodeTree The decode tree.\n * @returns A function that decodes entities in a string.\n */\nfunction getDecoder(decodeTree) {\n  let ret = \"\";\n  const decoder = new EntityDecoder$1(decodeTree, str => ret += fromCodePoint$1(str));\n  return function decodeWithTrie(str, decodeMode) {\n    let lastIndex = 0;\n    let offset = 0;\n    while ((offset = str.indexOf(\"&\", offset)) >= 0) {\n      ret += str.slice(lastIndex, offset);\n      decoder.startEntity(decodeMode);\n      const len = decoder.write(str,\n      // Skip the \"&\"\n      offset + 1);\n      if (len < 0) {\n        lastIndex = offset + decoder.end();\n        break;\n      }\n      lastIndex = offset + len;\n      // If `len` is 0, skip the current `&` and continue.\n      offset = len === 0 ? lastIndex + 1 : lastIndex;\n    }\n    const result = ret + str.slice(lastIndex);\n    // Make sure we don't keep a reference to the final string.\n    ret = \"\";\n    return result;\n  };\n}\n/**\n * Determines the branch of the current node that is taken given the current\n * character. This function is used to traverse the trie.\n *\n * @param decodeTree The trie.\n * @param current The current node.\n * @param nodeIdx The index right after the current node and its value.\n * @param char The current character.\n * @returns The index of the next node, or -1 if no branch is taken.\n */\nfunction determineBranch$1(decodeTree, current, nodeIdx, char) {\n  const branchCount = (current & BinTrieFlags$1.BRANCH_LENGTH) >> 7;\n  const jumpOffset = current & BinTrieFlags$1.JUMP_TABLE;\n  // Case 1: Single branch encoded in jump offset\n  if (branchCount === 0) {\n    return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1;\n  }\n  // Case 2: Multiple branches encoded in jump table\n  if (jumpOffset) {\n    const value = char - jumpOffset;\n    return value < 0 || value >= branchCount ? -1 : decodeTree[nodeIdx + value] - 1;\n  }\n  // Case 3: Multiple branches encoded in dictionary\n  // Binary search for the character.\n  let lo = nodeIdx;\n  let hi = lo + branchCount - 1;\n  while (lo <= hi) {\n    const mid = lo + hi >>> 1;\n    const midVal = decodeTree[mid];\n    if (midVal < char) {\n      lo = mid + 1;\n    } else if (midVal > char) {\n      hi = mid - 1;\n    } else {\n      return decodeTree[mid + branchCount];\n    }\n  }\n  return -1;\n}\n/*#__PURE__*/getDecoder(htmlDecodeTree$1);\n/*#__PURE__*/getDecoder(xmlDecodeTree$1);\n\n// Generated using scripts/write-encode-map.ts\nfunction restoreDiff(arr) {\n  for (let i = 1; i < arr.length; i++) {\n    arr[i][0] += arr[i - 1][0] + 1;\n  }\n  return arr;\n}\n// prettier-ignore\n/*#__PURE__*/new Map(/* #__PURE__ */restoreDiff([[9, \"&Tab;\"], [0, \"&NewLine;\"], [22, \"&excl;\"], [0, \"&quot;\"], [0, \"&num;\"], [0, \"&dollar;\"], [0, \"&percnt;\"], [0, \"&amp;\"], [0, \"&apos;\"], [0, \"&lpar;\"], [0, \"&rpar;\"], [0, \"&ast;\"], [0, \"&plus;\"], [0, \"&comma;\"], [1, \"&period;\"], [0, \"&sol;\"], [10, \"&colon;\"], [0, \"&semi;\"], [0, {\n  v: \"&lt;\",\n  n: 8402,\n  o: \"&nvlt;\"\n}], [0, {\n  v: \"&equals;\",\n  n: 8421,\n  o: \"&bne;\"\n}], [0, {\n  v: \"&gt;\",\n  n: 8402,\n  o: \"&nvgt;\"\n}], [0, \"&quest;\"], [0, \"&commat;\"], [26, \"&lbrack;\"], [0, \"&bsol;\"], [0, \"&rbrack;\"], [0, \"&Hat;\"], [0, \"&lowbar;\"], [0, \"&DiacriticalGrave;\"], [5, {\n  n: 106,\n  o: \"&fjlig;\"\n}], [20, \"&lbrace;\"], [0, \"&verbar;\"], [0, \"&rbrace;\"], [34, \"&nbsp;\"], [0, \"&iexcl;\"], [0, \"&cent;\"], [0, \"&pound;\"], [0, \"&curren;\"], [0, \"&yen;\"], [0, \"&brvbar;\"], [0, \"&sect;\"], [0, \"&die;\"], [0, \"&copy;\"], [0, \"&ordf;\"], [0, \"&laquo;\"], [0, \"&not;\"], [0, \"&shy;\"], [0, \"&circledR;\"], [0, \"&macr;\"], [0, \"&deg;\"], [0, \"&PlusMinus;\"], [0, \"&sup2;\"], [0, \"&sup3;\"], [0, \"&acute;\"], [0, \"&micro;\"], [0, \"&para;\"], [0, \"&centerdot;\"], [0, \"&cedil;\"], [0, \"&sup1;\"], [0, \"&ordm;\"], [0, \"&raquo;\"], [0, \"&frac14;\"], [0, \"&frac12;\"], [0, \"&frac34;\"], [0, \"&iquest;\"], [0, \"&Agrave;\"], [0, \"&Aacute;\"], [0, \"&Acirc;\"], [0, \"&Atilde;\"], [0, \"&Auml;\"], [0, \"&angst;\"], [0, \"&AElig;\"], [0, \"&Ccedil;\"], [0, \"&Egrave;\"], [0, \"&Eacute;\"], [0, \"&Ecirc;\"], [0, \"&Euml;\"], [0, \"&Igrave;\"], [0, \"&Iacute;\"], [0, \"&Icirc;\"], [0, \"&Iuml;\"], [0, \"&ETH;\"], [0, \"&Ntilde;\"], [0, \"&Ograve;\"], [0, \"&Oacute;\"], [0, \"&Ocirc;\"], [0, \"&Otilde;\"], [0, \"&Ouml;\"], [0, \"&times;\"], [0, \"&Oslash;\"], [0, \"&Ugrave;\"], [0, \"&Uacute;\"], [0, \"&Ucirc;\"], [0, \"&Uuml;\"], [0, \"&Yacute;\"], [0, \"&THORN;\"], [0, \"&szlig;\"], [0, \"&agrave;\"], [0, \"&aacute;\"], [0, \"&acirc;\"], [0, \"&atilde;\"], [0, \"&auml;\"], [0, \"&aring;\"], [0, \"&aelig;\"], [0, \"&ccedil;\"], [0, \"&egrave;\"], [0, \"&eacute;\"], [0, \"&ecirc;\"], [0, \"&euml;\"], [0, \"&igrave;\"], [0, \"&iacute;\"], [0, \"&icirc;\"], [0, \"&iuml;\"], [0, \"&eth;\"], [0, \"&ntilde;\"], [0, \"&ograve;\"], [0, \"&oacute;\"], [0, \"&ocirc;\"], [0, \"&otilde;\"], [0, \"&ouml;\"], [0, \"&div;\"], [0, \"&oslash;\"], [0, \"&ugrave;\"], [0, \"&uacute;\"], [0, \"&ucirc;\"], [0, \"&uuml;\"], [0, \"&yacute;\"], [0, \"&thorn;\"], [0, \"&yuml;\"], [0, \"&Amacr;\"], [0, \"&amacr;\"], [0, \"&Abreve;\"], [0, \"&abreve;\"], [0, \"&Aogon;\"], [0, \"&aogon;\"], [0, \"&Cacute;\"], [0, \"&cacute;\"], [0, \"&Ccirc;\"], [0, \"&ccirc;\"], [0, \"&Cdot;\"], [0, \"&cdot;\"], [0, \"&Ccaron;\"], [0, \"&ccaron;\"], [0, \"&Dcaron;\"], [0, \"&dcaron;\"], [0, \"&Dstrok;\"], [0, \"&dstrok;\"], [0, \"&Emacr;\"], [0, \"&emacr;\"], [2, \"&Edot;\"], [0, \"&edot;\"], [0, \"&Eogon;\"], [0, \"&eogon;\"], [0, \"&Ecaron;\"], [0, \"&ecaron;\"], [0, \"&Gcirc;\"], [0, \"&gcirc;\"], [0, \"&Gbreve;\"], [0, \"&gbreve;\"], [0, \"&Gdot;\"], [0, \"&gdot;\"], [0, \"&Gcedil;\"], [1, \"&Hcirc;\"], [0, \"&hcirc;\"], [0, \"&Hstrok;\"], [0, \"&hstrok;\"], [0, \"&Itilde;\"], [0, \"&itilde;\"], [0, \"&Imacr;\"], [0, \"&imacr;\"], [2, \"&Iogon;\"], [0, \"&iogon;\"], [0, \"&Idot;\"], [0, \"&imath;\"], [0, \"&IJlig;\"], [0, \"&ijlig;\"], [0, \"&Jcirc;\"], [0, \"&jcirc;\"], [0, \"&Kcedil;\"], [0, \"&kcedil;\"], [0, \"&kgreen;\"], [0, \"&Lacute;\"], [0, \"&lacute;\"], [0, \"&Lcedil;\"], [0, \"&lcedil;\"], [0, \"&Lcaron;\"], [0, \"&lcaron;\"], [0, \"&Lmidot;\"], [0, \"&lmidot;\"], [0, \"&Lstrok;\"], [0, \"&lstrok;\"], [0, \"&Nacute;\"], [0, \"&nacute;\"], [0, \"&Ncedil;\"], [0, \"&ncedil;\"], [0, \"&Ncaron;\"], [0, \"&ncaron;\"], [0, \"&napos;\"], [0, \"&ENG;\"], [0, \"&eng;\"], [0, \"&Omacr;\"], [0, \"&omacr;\"], [2, \"&Odblac;\"], [0, \"&odblac;\"], [0, \"&OElig;\"], [0, \"&oelig;\"], [0, \"&Racute;\"], [0, \"&racute;\"], [0, \"&Rcedil;\"], [0, \"&rcedil;\"], [0, \"&Rcaron;\"], [0, \"&rcaron;\"], [0, \"&Sacute;\"], [0, \"&sacute;\"], [0, \"&Scirc;\"], [0, \"&scirc;\"], [0, \"&Scedil;\"], [0, \"&scedil;\"], [0, \"&Scaron;\"], [0, \"&scaron;\"], [0, \"&Tcedil;\"], [0, \"&tcedil;\"], [0, \"&Tcaron;\"], [0, \"&tcaron;\"], [0, \"&Tstrok;\"], [0, \"&tstrok;\"], [0, \"&Utilde;\"], [0, \"&utilde;\"], [0, \"&Umacr;\"], [0, \"&umacr;\"], [0, \"&Ubreve;\"], [0, \"&ubreve;\"], [0, \"&Uring;\"], [0, \"&uring;\"], [0, \"&Udblac;\"], [0, \"&udblac;\"], [0, \"&Uogon;\"], [0, \"&uogon;\"], [0, \"&Wcirc;\"], [0, \"&wcirc;\"], [0, \"&Ycirc;\"], [0, \"&ycirc;\"], [0, \"&Yuml;\"], [0, \"&Zacute;\"], [0, \"&zacute;\"], [0, \"&Zdot;\"], [0, \"&zdot;\"], [0, \"&Zcaron;\"], [0, \"&zcaron;\"], [19, \"&fnof;\"], [34, \"&imped;\"], [63, \"&gacute;\"], [65, \"&jmath;\"], [142, \"&circ;\"], [0, \"&caron;\"], [16, \"&breve;\"], [0, \"&DiacriticalDot;\"], [0, \"&ring;\"], [0, \"&ogon;\"], [0, \"&DiacriticalTilde;\"], [0, \"&dblac;\"], [51, \"&DownBreve;\"], [127, \"&Alpha;\"], [0, \"&Beta;\"], [0, \"&Gamma;\"], [0, \"&Delta;\"], [0, \"&Epsilon;\"], [0, \"&Zeta;\"], [0, \"&Eta;\"], [0, \"&Theta;\"], [0, \"&Iota;\"], [0, \"&Kappa;\"], [0, \"&Lambda;\"], [0, \"&Mu;\"], [0, \"&Nu;\"], [0, \"&Xi;\"], [0, \"&Omicron;\"], [0, \"&Pi;\"], [0, \"&Rho;\"], [1, \"&Sigma;\"], [0, \"&Tau;\"], [0, \"&Upsilon;\"], [0, \"&Phi;\"], [0, \"&Chi;\"], [0, \"&Psi;\"], [0, \"&ohm;\"], [7, \"&alpha;\"], [0, \"&beta;\"], [0, \"&gamma;\"], [0, \"&delta;\"], [0, \"&epsi;\"], [0, \"&zeta;\"], [0, \"&eta;\"], [0, \"&theta;\"], [0, \"&iota;\"], [0, \"&kappa;\"], [0, \"&lambda;\"], [0, \"&mu;\"], [0, \"&nu;\"], [0, \"&xi;\"], [0, \"&omicron;\"], [0, \"&pi;\"], [0, \"&rho;\"], [0, \"&sigmaf;\"], [0, \"&sigma;\"], [0, \"&tau;\"], [0, \"&upsi;\"], [0, \"&phi;\"], [0, \"&chi;\"], [0, \"&psi;\"], [0, \"&omega;\"], [7, \"&thetasym;\"], [0, \"&Upsi;\"], [2, \"&phiv;\"], [0, \"&piv;\"], [5, \"&Gammad;\"], [0, \"&digamma;\"], [18, \"&kappav;\"], [0, \"&rhov;\"], [3, \"&epsiv;\"], [0, \"&backepsilon;\"], [10, \"&IOcy;\"], [0, \"&DJcy;\"], [0, \"&GJcy;\"], [0, \"&Jukcy;\"], [0, \"&DScy;\"], [0, \"&Iukcy;\"], [0, \"&YIcy;\"], [0, \"&Jsercy;\"], [0, \"&LJcy;\"], [0, \"&NJcy;\"], [0, \"&TSHcy;\"], [0, \"&KJcy;\"], [1, \"&Ubrcy;\"], [0, \"&DZcy;\"], [0, \"&Acy;\"], [0, \"&Bcy;\"], [0, \"&Vcy;\"], [0, \"&Gcy;\"], [0, \"&Dcy;\"], [0, \"&IEcy;\"], [0, \"&ZHcy;\"], [0, \"&Zcy;\"], [0, \"&Icy;\"], [0, \"&Jcy;\"], [0, \"&Kcy;\"], [0, \"&Lcy;\"], [0, \"&Mcy;\"], [0, \"&Ncy;\"], [0, \"&Ocy;\"], [0, \"&Pcy;\"], [0, \"&Rcy;\"], [0, \"&Scy;\"], [0, \"&Tcy;\"], [0, \"&Ucy;\"], [0, \"&Fcy;\"], [0, \"&KHcy;\"], [0, \"&TScy;\"], [0, \"&CHcy;\"], [0, \"&SHcy;\"], [0, \"&SHCHcy;\"], [0, \"&HARDcy;\"], [0, \"&Ycy;\"], [0, \"&SOFTcy;\"], [0, \"&Ecy;\"], [0, \"&YUcy;\"], [0, \"&YAcy;\"], [0, \"&acy;\"], [0, \"&bcy;\"], [0, \"&vcy;\"], [0, \"&gcy;\"], [0, \"&dcy;\"], [0, \"&iecy;\"], [0, \"&zhcy;\"], [0, \"&zcy;\"], [0, \"&icy;\"], [0, \"&jcy;\"], [0, \"&kcy;\"], [0, \"&lcy;\"], [0, \"&mcy;\"], [0, \"&ncy;\"], [0, \"&ocy;\"], [0, \"&pcy;\"], [0, \"&rcy;\"], [0, \"&scy;\"], [0, \"&tcy;\"], [0, \"&ucy;\"], [0, \"&fcy;\"], [0, \"&khcy;\"], [0, \"&tscy;\"], [0, \"&chcy;\"], [0, \"&shcy;\"], [0, \"&shchcy;\"], [0, \"&hardcy;\"], [0, \"&ycy;\"], [0, \"&softcy;\"], [0, \"&ecy;\"], [0, \"&yucy;\"], [0, \"&yacy;\"], [1, \"&iocy;\"], [0, \"&djcy;\"], [0, \"&gjcy;\"], [0, \"&jukcy;\"], [0, \"&dscy;\"], [0, \"&iukcy;\"], [0, \"&yicy;\"], [0, \"&jsercy;\"], [0, \"&ljcy;\"], [0, \"&njcy;\"], [0, \"&tshcy;\"], [0, \"&kjcy;\"], [1, \"&ubrcy;\"], [0, \"&dzcy;\"], [7074, \"&ensp;\"], [0, \"&emsp;\"], [0, \"&emsp13;\"], [0, \"&emsp14;\"], [1, \"&numsp;\"], [0, \"&puncsp;\"], [0, \"&ThinSpace;\"], [0, \"&hairsp;\"], [0, \"&NegativeMediumSpace;\"], [0, \"&zwnj;\"], [0, \"&zwj;\"], [0, \"&lrm;\"], [0, \"&rlm;\"], [0, \"&dash;\"], [2, \"&ndash;\"], [0, \"&mdash;\"], [0, \"&horbar;\"], [0, \"&Verbar;\"], [1, \"&lsquo;\"], [0, \"&CloseCurlyQuote;\"], [0, \"&lsquor;\"], [1, \"&ldquo;\"], [0, \"&CloseCurlyDoubleQuote;\"], [0, \"&bdquo;\"], [1, \"&dagger;\"], [0, \"&Dagger;\"], [0, \"&bull;\"], [2, \"&nldr;\"], [0, \"&hellip;\"], [9, \"&permil;\"], [0, \"&pertenk;\"], [0, \"&prime;\"], [0, \"&Prime;\"], [0, \"&tprime;\"], [0, \"&backprime;\"], [3, \"&lsaquo;\"], [0, \"&rsaquo;\"], [3, \"&oline;\"], [2, \"&caret;\"], [1, \"&hybull;\"], [0, \"&frasl;\"], [10, \"&bsemi;\"], [7, \"&qprime;\"], [7, {\n  v: \"&MediumSpace;\",\n  n: 8202,\n  o: \"&ThickSpace;\"\n}], [0, \"&NoBreak;\"], [0, \"&af;\"], [0, \"&InvisibleTimes;\"], [0, \"&ic;\"], [72, \"&euro;\"], [46, \"&tdot;\"], [0, \"&DotDot;\"], [37, \"&complexes;\"], [2, \"&incare;\"], [4, \"&gscr;\"], [0, \"&hamilt;\"], [0, \"&Hfr;\"], [0, \"&Hopf;\"], [0, \"&planckh;\"], [0, \"&hbar;\"], [0, \"&imagline;\"], [0, \"&Ifr;\"], [0, \"&lagran;\"], [0, \"&ell;\"], [1, \"&naturals;\"], [0, \"&numero;\"], [0, \"&copysr;\"], [0, \"&weierp;\"], [0, \"&Popf;\"], [0, \"&Qopf;\"], [0, \"&realine;\"], [0, \"&real;\"], [0, \"&reals;\"], [0, \"&rx;\"], [3, \"&trade;\"], [1, \"&integers;\"], [2, \"&mho;\"], [0, \"&zeetrf;\"], [0, \"&iiota;\"], [2, \"&bernou;\"], [0, \"&Cayleys;\"], [1, \"&escr;\"], [0, \"&Escr;\"], [0, \"&Fouriertrf;\"], [1, \"&Mellintrf;\"], [0, \"&order;\"], [0, \"&alefsym;\"], [0, \"&beth;\"], [0, \"&gimel;\"], [0, \"&daleth;\"], [12, \"&CapitalDifferentialD;\"], [0, \"&dd;\"], [0, \"&ee;\"], [0, \"&ii;\"], [10, \"&frac13;\"], [0, \"&frac23;\"], [0, \"&frac15;\"], [0, \"&frac25;\"], [0, \"&frac35;\"], [0, \"&frac45;\"], [0, \"&frac16;\"], [0, \"&frac56;\"], [0, \"&frac18;\"], [0, \"&frac38;\"], [0, \"&frac58;\"], [0, \"&frac78;\"], [49, \"&larr;\"], [0, \"&ShortUpArrow;\"], [0, \"&rarr;\"], [0, \"&darr;\"], [0, \"&harr;\"], [0, \"&updownarrow;\"], [0, \"&nwarr;\"], [0, \"&nearr;\"], [0, \"&LowerRightArrow;\"], [0, \"&LowerLeftArrow;\"], [0, \"&nlarr;\"], [0, \"&nrarr;\"], [1, {\n  v: \"&rarrw;\",\n  n: 824,\n  o: \"&nrarrw;\"\n}], [0, \"&Larr;\"], [0, \"&Uarr;\"], [0, \"&Rarr;\"], [0, \"&Darr;\"], [0, \"&larrtl;\"], [0, \"&rarrtl;\"], [0, \"&LeftTeeArrow;\"], [0, \"&mapstoup;\"], [0, \"&map;\"], [0, \"&DownTeeArrow;\"], [1, \"&hookleftarrow;\"], [0, \"&hookrightarrow;\"], [0, \"&larrlp;\"], [0, \"&looparrowright;\"], [0, \"&harrw;\"], [0, \"&nharr;\"], [1, \"&lsh;\"], [0, \"&rsh;\"], [0, \"&ldsh;\"], [0, \"&rdsh;\"], [1, \"&crarr;\"], [0, \"&cularr;\"], [0, \"&curarr;\"], [2, \"&circlearrowleft;\"], [0, \"&circlearrowright;\"], [0, \"&leftharpoonup;\"], [0, \"&DownLeftVector;\"], [0, \"&RightUpVector;\"], [0, \"&LeftUpVector;\"], [0, \"&rharu;\"], [0, \"&DownRightVector;\"], [0, \"&dharr;\"], [0, \"&dharl;\"], [0, \"&RightArrowLeftArrow;\"], [0, \"&udarr;\"], [0, \"&LeftArrowRightArrow;\"], [0, \"&leftleftarrows;\"], [0, \"&upuparrows;\"], [0, \"&rightrightarrows;\"], [0, \"&ddarr;\"], [0, \"&leftrightharpoons;\"], [0, \"&Equilibrium;\"], [0, \"&nlArr;\"], [0, \"&nhArr;\"], [0, \"&nrArr;\"], [0, \"&DoubleLeftArrow;\"], [0, \"&DoubleUpArrow;\"], [0, \"&DoubleRightArrow;\"], [0, \"&dArr;\"], [0, \"&DoubleLeftRightArrow;\"], [0, \"&DoubleUpDownArrow;\"], [0, \"&nwArr;\"], [0, \"&neArr;\"], [0, \"&seArr;\"], [0, \"&swArr;\"], [0, \"&lAarr;\"], [0, \"&rAarr;\"], [1, \"&zigrarr;\"], [6, \"&larrb;\"], [0, \"&rarrb;\"], [15, \"&DownArrowUpArrow;\"], [7, \"&loarr;\"], [0, \"&roarr;\"], [0, \"&hoarr;\"], [0, \"&forall;\"], [0, \"&comp;\"], [0, {\n  v: \"&part;\",\n  n: 824,\n  o: \"&npart;\"\n}], [0, \"&exist;\"], [0, \"&nexist;\"], [0, \"&empty;\"], [1, \"&Del;\"], [0, \"&Element;\"], [0, \"&NotElement;\"], [1, \"&ni;\"], [0, \"&notni;\"], [2, \"&prod;\"], [0, \"&coprod;\"], [0, \"&sum;\"], [0, \"&minus;\"], [0, \"&MinusPlus;\"], [0, \"&dotplus;\"], [1, \"&Backslash;\"], [0, \"&lowast;\"], [0, \"&compfn;\"], [1, \"&radic;\"], [2, \"&prop;\"], [0, \"&infin;\"], [0, \"&angrt;\"], [0, {\n  v: \"&ang;\",\n  n: 8402,\n  o: \"&nang;\"\n}], [0, \"&angmsd;\"], [0, \"&angsph;\"], [0, \"&mid;\"], [0, \"&nmid;\"], [0, \"&DoubleVerticalBar;\"], [0, \"&NotDoubleVerticalBar;\"], [0, \"&and;\"], [0, \"&or;\"], [0, {\n  v: \"&cap;\",\n  n: 65024,\n  o: \"&caps;\"\n}], [0, {\n  v: \"&cup;\",\n  n: 65024,\n  o: \"&cups;\"\n}], [0, \"&int;\"], [0, \"&Int;\"], [0, \"&iiint;\"], [0, \"&conint;\"], [0, \"&Conint;\"], [0, \"&Cconint;\"], [0, \"&cwint;\"], [0, \"&ClockwiseContourIntegral;\"], [0, \"&awconint;\"], [0, \"&there4;\"], [0, \"&becaus;\"], [0, \"&ratio;\"], [0, \"&Colon;\"], [0, \"&dotminus;\"], [1, \"&mDDot;\"], [0, \"&homtht;\"], [0, {\n  v: \"&sim;\",\n  n: 8402,\n  o: \"&nvsim;\"\n}], [0, {\n  v: \"&backsim;\",\n  n: 817,\n  o: \"&race;\"\n}], [0, {\n  v: \"&ac;\",\n  n: 819,\n  o: \"&acE;\"\n}], [0, \"&acd;\"], [0, \"&VerticalTilde;\"], [0, \"&NotTilde;\"], [0, {\n  v: \"&eqsim;\",\n  n: 824,\n  o: \"&nesim;\"\n}], [0, \"&sime;\"], [0, \"&NotTildeEqual;\"], [0, \"&cong;\"], [0, \"&simne;\"], [0, \"&ncong;\"], [0, \"&ap;\"], [0, \"&nap;\"], [0, \"&ape;\"], [0, {\n  v: \"&apid;\",\n  n: 824,\n  o: \"&napid;\"\n}], [0, \"&backcong;\"], [0, {\n  v: \"&asympeq;\",\n  n: 8402,\n  o: \"&nvap;\"\n}], [0, {\n  v: \"&bump;\",\n  n: 824,\n  o: \"&nbump;\"\n}], [0, {\n  v: \"&bumpe;\",\n  n: 824,\n  o: \"&nbumpe;\"\n}], [0, {\n  v: \"&doteq;\",\n  n: 824,\n  o: \"&nedot;\"\n}], [0, \"&doteqdot;\"], [0, \"&efDot;\"], [0, \"&erDot;\"], [0, \"&Assign;\"], [0, \"&ecolon;\"], [0, \"&ecir;\"], [0, \"&circeq;\"], [1, \"&wedgeq;\"], [0, \"&veeeq;\"], [1, \"&triangleq;\"], [2, \"&equest;\"], [0, \"&ne;\"], [0, {\n  v: \"&Congruent;\",\n  n: 8421,\n  o: \"&bnequiv;\"\n}], [0, \"&nequiv;\"], [1, {\n  v: \"&le;\",\n  n: 8402,\n  o: \"&nvle;\"\n}], [0, {\n  v: \"&ge;\",\n  n: 8402,\n  o: \"&nvge;\"\n}], [0, {\n  v: \"&lE;\",\n  n: 824,\n  o: \"&nlE;\"\n}], [0, {\n  v: \"&gE;\",\n  n: 824,\n  o: \"&ngE;\"\n}], [0, {\n  v: \"&lnE;\",\n  n: 65024,\n  o: \"&lvertneqq;\"\n}], [0, {\n  v: \"&gnE;\",\n  n: 65024,\n  o: \"&gvertneqq;\"\n}], [0, {\n  v: \"&ll;\",\n  n: /*#__PURE__*/new Map(/* #__PURE__ */restoreDiff([[824, \"&nLtv;\"], [7577, \"&nLt;\"]]))\n}], [0, {\n  v: \"&gg;\",\n  n: /*#__PURE__*/new Map(/* #__PURE__ */restoreDiff([[824, \"&nGtv;\"], [7577, \"&nGt;\"]]))\n}], [0, \"&between;\"], [0, \"&NotCupCap;\"], [0, \"&nless;\"], [0, \"&ngt;\"], [0, \"&nle;\"], [0, \"&nge;\"], [0, \"&lesssim;\"], [0, \"&GreaterTilde;\"], [0, \"&nlsim;\"], [0, \"&ngsim;\"], [0, \"&LessGreater;\"], [0, \"&gl;\"], [0, \"&NotLessGreater;\"], [0, \"&NotGreaterLess;\"], [0, \"&pr;\"], [0, \"&sc;\"], [0, \"&prcue;\"], [0, \"&sccue;\"], [0, \"&PrecedesTilde;\"], [0, {\n  v: \"&scsim;\",\n  n: 824,\n  o: \"&NotSucceedsTilde;\"\n}], [0, \"&NotPrecedes;\"], [0, \"&NotSucceeds;\"], [0, {\n  v: \"&sub;\",\n  n: 8402,\n  o: \"&NotSubset;\"\n}], [0, {\n  v: \"&sup;\",\n  n: 8402,\n  o: \"&NotSuperset;\"\n}], [0, \"&nsub;\"], [0, \"&nsup;\"], [0, \"&sube;\"], [0, \"&supe;\"], [0, \"&NotSubsetEqual;\"], [0, \"&NotSupersetEqual;\"], [0, {\n  v: \"&subne;\",\n  n: 65024,\n  o: \"&varsubsetneq;\"\n}], [0, {\n  v: \"&supne;\",\n  n: 65024,\n  o: \"&varsupsetneq;\"\n}], [1, \"&cupdot;\"], [0, \"&UnionPlus;\"], [0, {\n  v: \"&sqsub;\",\n  n: 824,\n  o: \"&NotSquareSubset;\"\n}], [0, {\n  v: \"&sqsup;\",\n  n: 824,\n  o: \"&NotSquareSuperset;\"\n}], [0, \"&sqsube;\"], [0, \"&sqsupe;\"], [0, {\n  v: \"&sqcap;\",\n  n: 65024,\n  o: \"&sqcaps;\"\n}], [0, {\n  v: \"&sqcup;\",\n  n: 65024,\n  o: \"&sqcups;\"\n}], [0, \"&CirclePlus;\"], [0, \"&CircleMinus;\"], [0, \"&CircleTimes;\"], [0, \"&osol;\"], [0, \"&CircleDot;\"], [0, \"&circledcirc;\"], [0, \"&circledast;\"], [1, \"&circleddash;\"], [0, \"&boxplus;\"], [0, \"&boxminus;\"], [0, \"&boxtimes;\"], [0, \"&dotsquare;\"], [0, \"&RightTee;\"], [0, \"&dashv;\"], [0, \"&DownTee;\"], [0, \"&bot;\"], [1, \"&models;\"], [0, \"&DoubleRightTee;\"], [0, \"&Vdash;\"], [0, \"&Vvdash;\"], [0, \"&VDash;\"], [0, \"&nvdash;\"], [0, \"&nvDash;\"], [0, \"&nVdash;\"], [0, \"&nVDash;\"], [0, \"&prurel;\"], [1, \"&LeftTriangle;\"], [0, \"&RightTriangle;\"], [0, {\n  v: \"&LeftTriangleEqual;\",\n  n: 8402,\n  o: \"&nvltrie;\"\n}], [0, {\n  v: \"&RightTriangleEqual;\",\n  n: 8402,\n  o: \"&nvrtrie;\"\n}], [0, \"&origof;\"], [0, \"&imof;\"], [0, \"&multimap;\"], [0, \"&hercon;\"], [0, \"&intcal;\"], [0, \"&veebar;\"], [1, \"&barvee;\"], [0, \"&angrtvb;\"], [0, \"&lrtri;\"], [0, \"&bigwedge;\"], [0, \"&bigvee;\"], [0, \"&bigcap;\"], [0, \"&bigcup;\"], [0, \"&diam;\"], [0, \"&sdot;\"], [0, \"&sstarf;\"], [0, \"&divideontimes;\"], [0, \"&bowtie;\"], [0, \"&ltimes;\"], [0, \"&rtimes;\"], [0, \"&leftthreetimes;\"], [0, \"&rightthreetimes;\"], [0, \"&backsimeq;\"], [0, \"&curlyvee;\"], [0, \"&curlywedge;\"], [0, \"&Sub;\"], [0, \"&Sup;\"], [0, \"&Cap;\"], [0, \"&Cup;\"], [0, \"&fork;\"], [0, \"&epar;\"], [0, \"&lessdot;\"], [0, \"&gtdot;\"], [0, {\n  v: \"&Ll;\",\n  n: 824,\n  o: \"&nLl;\"\n}], [0, {\n  v: \"&Gg;\",\n  n: 824,\n  o: \"&nGg;\"\n}], [0, {\n  v: \"&leg;\",\n  n: 65024,\n  o: \"&lesg;\"\n}], [0, {\n  v: \"&gel;\",\n  n: 65024,\n  o: \"&gesl;\"\n}], [2, \"&cuepr;\"], [0, \"&cuesc;\"], [0, \"&NotPrecedesSlantEqual;\"], [0, \"&NotSucceedsSlantEqual;\"], [0, \"&NotSquareSubsetEqual;\"], [0, \"&NotSquareSupersetEqual;\"], [2, \"&lnsim;\"], [0, \"&gnsim;\"], [0, \"&precnsim;\"], [0, \"&scnsim;\"], [0, \"&nltri;\"], [0, \"&NotRightTriangle;\"], [0, \"&nltrie;\"], [0, \"&NotRightTriangleEqual;\"], [0, \"&vellip;\"], [0, \"&ctdot;\"], [0, \"&utdot;\"], [0, \"&dtdot;\"], [0, \"&disin;\"], [0, \"&isinsv;\"], [0, \"&isins;\"], [0, {\n  v: \"&isindot;\",\n  n: 824,\n  o: \"&notindot;\"\n}], [0, \"&notinvc;\"], [0, \"&notinvb;\"], [1, {\n  v: \"&isinE;\",\n  n: 824,\n  o: \"&notinE;\"\n}], [0, \"&nisd;\"], [0, \"&xnis;\"], [0, \"&nis;\"], [0, \"&notnivc;\"], [0, \"&notnivb;\"], [6, \"&barwed;\"], [0, \"&Barwed;\"], [1, \"&lceil;\"], [0, \"&rceil;\"], [0, \"&LeftFloor;\"], [0, \"&rfloor;\"], [0, \"&drcrop;\"], [0, \"&dlcrop;\"], [0, \"&urcrop;\"], [0, \"&ulcrop;\"], [0, \"&bnot;\"], [1, \"&profline;\"], [0, \"&profsurf;\"], [1, \"&telrec;\"], [0, \"&target;\"], [5, \"&ulcorn;\"], [0, \"&urcorn;\"], [0, \"&dlcorn;\"], [0, \"&drcorn;\"], [2, \"&frown;\"], [0, \"&smile;\"], [9, \"&cylcty;\"], [0, \"&profalar;\"], [7, \"&topbot;\"], [6, \"&ovbar;\"], [1, \"&solbar;\"], [60, \"&angzarr;\"], [51, \"&lmoustache;\"], [0, \"&rmoustache;\"], [2, \"&OverBracket;\"], [0, \"&bbrk;\"], [0, \"&bbrktbrk;\"], [37, \"&OverParenthesis;\"], [0, \"&UnderParenthesis;\"], [0, \"&OverBrace;\"], [0, \"&UnderBrace;\"], [2, \"&trpezium;\"], [4, \"&elinters;\"], [59, \"&blank;\"], [164, \"&circledS;\"], [55, \"&boxh;\"], [1, \"&boxv;\"], [9, \"&boxdr;\"], [3, \"&boxdl;\"], [3, \"&boxur;\"], [3, \"&boxul;\"], [3, \"&boxvr;\"], [7, \"&boxvl;\"], [7, \"&boxhd;\"], [7, \"&boxhu;\"], [7, \"&boxvh;\"], [19, \"&boxH;\"], [0, \"&boxV;\"], [0, \"&boxdR;\"], [0, \"&boxDr;\"], [0, \"&boxDR;\"], [0, \"&boxdL;\"], [0, \"&boxDl;\"], [0, \"&boxDL;\"], [0, \"&boxuR;\"], [0, \"&boxUr;\"], [0, \"&boxUR;\"], [0, \"&boxuL;\"], [0, \"&boxUl;\"], [0, \"&boxUL;\"], [0, \"&boxvR;\"], [0, \"&boxVr;\"], [0, \"&boxVR;\"], [0, \"&boxvL;\"], [0, \"&boxVl;\"], [0, \"&boxVL;\"], [0, \"&boxHd;\"], [0, \"&boxhD;\"], [0, \"&boxHD;\"], [0, \"&boxHu;\"], [0, \"&boxhU;\"], [0, \"&boxHU;\"], [0, \"&boxvH;\"], [0, \"&boxVh;\"], [0, \"&boxVH;\"], [19, \"&uhblk;\"], [3, \"&lhblk;\"], [3, \"&block;\"], [8, \"&blk14;\"], [0, \"&blk12;\"], [0, \"&blk34;\"], [13, \"&square;\"], [8, \"&blacksquare;\"], [0, \"&EmptyVerySmallSquare;\"], [1, \"&rect;\"], [0, \"&marker;\"], [2, \"&fltns;\"], [1, \"&bigtriangleup;\"], [0, \"&blacktriangle;\"], [0, \"&triangle;\"], [2, \"&blacktriangleright;\"], [0, \"&rtri;\"], [3, \"&bigtriangledown;\"], [0, \"&blacktriangledown;\"], [0, \"&dtri;\"], [2, \"&blacktriangleleft;\"], [0, \"&ltri;\"], [6, \"&loz;\"], [0, \"&cir;\"], [32, \"&tridot;\"], [2, \"&bigcirc;\"], [8, \"&ultri;\"], [0, \"&urtri;\"], [0, \"&lltri;\"], [0, \"&EmptySmallSquare;\"], [0, \"&FilledSmallSquare;\"], [8, \"&bigstar;\"], [0, \"&star;\"], [7, \"&phone;\"], [49, \"&female;\"], [1, \"&male;\"], [29, \"&spades;\"], [2, \"&clubs;\"], [1, \"&hearts;\"], [0, \"&diamondsuit;\"], [3, \"&sung;\"], [2, \"&flat;\"], [0, \"&natural;\"], [0, \"&sharp;\"], [163, \"&check;\"], [3, \"&cross;\"], [8, \"&malt;\"], [21, \"&sext;\"], [33, \"&VerticalSeparator;\"], [25, \"&lbbrk;\"], [0, \"&rbbrk;\"], [84, \"&bsolhsub;\"], [0, \"&suphsol;\"], [28, \"&LeftDoubleBracket;\"], [0, \"&RightDoubleBracket;\"], [0, \"&lang;\"], [0, \"&rang;\"], [0, \"&Lang;\"], [0, \"&Rang;\"], [0, \"&loang;\"], [0, \"&roang;\"], [7, \"&longleftarrow;\"], [0, \"&longrightarrow;\"], [0, \"&longleftrightarrow;\"], [0, \"&DoubleLongLeftArrow;\"], [0, \"&DoubleLongRightArrow;\"], [0, \"&DoubleLongLeftRightArrow;\"], [1, \"&longmapsto;\"], [2, \"&dzigrarr;\"], [258, \"&nvlArr;\"], [0, \"&nvrArr;\"], [0, \"&nvHarr;\"], [0, \"&Map;\"], [6, \"&lbarr;\"], [0, \"&bkarow;\"], [0, \"&lBarr;\"], [0, \"&dbkarow;\"], [0, \"&drbkarow;\"], [0, \"&DDotrahd;\"], [0, \"&UpArrowBar;\"], [0, \"&DownArrowBar;\"], [2, \"&Rarrtl;\"], [2, \"&latail;\"], [0, \"&ratail;\"], [0, \"&lAtail;\"], [0, \"&rAtail;\"], [0, \"&larrfs;\"], [0, \"&rarrfs;\"], [0, \"&larrbfs;\"], [0, \"&rarrbfs;\"], [2, \"&nwarhk;\"], [0, \"&nearhk;\"], [0, \"&hksearow;\"], [0, \"&hkswarow;\"], [0, \"&nwnear;\"], [0, \"&nesear;\"], [0, \"&seswar;\"], [0, \"&swnwar;\"], [8, {\n  v: \"&rarrc;\",\n  n: 824,\n  o: \"&nrarrc;\"\n}], [1, \"&cudarrr;\"], [0, \"&ldca;\"], [0, \"&rdca;\"], [0, \"&cudarrl;\"], [0, \"&larrpl;\"], [2, \"&curarrm;\"], [0, \"&cularrp;\"], [7, \"&rarrpl;\"], [2, \"&harrcir;\"], [0, \"&Uarrocir;\"], [0, \"&lurdshar;\"], [0, \"&ldrushar;\"], [2, \"&LeftRightVector;\"], [0, \"&RightUpDownVector;\"], [0, \"&DownLeftRightVector;\"], [0, \"&LeftUpDownVector;\"], [0, \"&LeftVectorBar;\"], [0, \"&RightVectorBar;\"], [0, \"&RightUpVectorBar;\"], [0, \"&RightDownVectorBar;\"], [0, \"&DownLeftVectorBar;\"], [0, \"&DownRightVectorBar;\"], [0, \"&LeftUpVectorBar;\"], [0, \"&LeftDownVectorBar;\"], [0, \"&LeftTeeVector;\"], [0, \"&RightTeeVector;\"], [0, \"&RightUpTeeVector;\"], [0, \"&RightDownTeeVector;\"], [0, \"&DownLeftTeeVector;\"], [0, \"&DownRightTeeVector;\"], [0, \"&LeftUpTeeVector;\"], [0, \"&LeftDownTeeVector;\"], [0, \"&lHar;\"], [0, \"&uHar;\"], [0, \"&rHar;\"], [0, \"&dHar;\"], [0, \"&luruhar;\"], [0, \"&ldrdhar;\"], [0, \"&ruluhar;\"], [0, \"&rdldhar;\"], [0, \"&lharul;\"], [0, \"&llhard;\"], [0, \"&rharul;\"], [0, \"&lrhard;\"], [0, \"&udhar;\"], [0, \"&duhar;\"], [0, \"&RoundImplies;\"], [0, \"&erarr;\"], [0, \"&simrarr;\"], [0, \"&larrsim;\"], [0, \"&rarrsim;\"], [0, \"&rarrap;\"], [0, \"&ltlarr;\"], [1, \"&gtrarr;\"], [0, \"&subrarr;\"], [1, \"&suplarr;\"], [0, \"&lfisht;\"], [0, \"&rfisht;\"], [0, \"&ufisht;\"], [0, \"&dfisht;\"], [5, \"&lopar;\"], [0, \"&ropar;\"], [4, \"&lbrke;\"], [0, \"&rbrke;\"], [0, \"&lbrkslu;\"], [0, \"&rbrksld;\"], [0, \"&lbrksld;\"], [0, \"&rbrkslu;\"], [0, \"&langd;\"], [0, \"&rangd;\"], [0, \"&lparlt;\"], [0, \"&rpargt;\"], [0, \"&gtlPar;\"], [0, \"&ltrPar;\"], [3, \"&vzigzag;\"], [1, \"&vangrt;\"], [0, \"&angrtvbd;\"], [6, \"&ange;\"], [0, \"&range;\"], [0, \"&dwangle;\"], [0, \"&uwangle;\"], [0, \"&angmsdaa;\"], [0, \"&angmsdab;\"], [0, \"&angmsdac;\"], [0, \"&angmsdad;\"], [0, \"&angmsdae;\"], [0, \"&angmsdaf;\"], [0, \"&angmsdag;\"], [0, \"&angmsdah;\"], [0, \"&bemptyv;\"], [0, \"&demptyv;\"], [0, \"&cemptyv;\"], [0, \"&raemptyv;\"], [0, \"&laemptyv;\"], [0, \"&ohbar;\"], [0, \"&omid;\"], [0, \"&opar;\"], [1, \"&operp;\"], [1, \"&olcross;\"], [0, \"&odsold;\"], [1, \"&olcir;\"], [0, \"&ofcir;\"], [0, \"&olt;\"], [0, \"&ogt;\"], [0, \"&cirscir;\"], [0, \"&cirE;\"], [0, \"&solb;\"], [0, \"&bsolb;\"], [3, \"&boxbox;\"], [3, \"&trisb;\"], [0, \"&rtriltri;\"], [0, {\n  v: \"&LeftTriangleBar;\",\n  n: 824,\n  o: \"&NotLeftTriangleBar;\"\n}], [0, {\n  v: \"&RightTriangleBar;\",\n  n: 824,\n  o: \"&NotRightTriangleBar;\"\n}], [11, \"&iinfin;\"], [0, \"&infintie;\"], [0, \"&nvinfin;\"], [4, \"&eparsl;\"], [0, \"&smeparsl;\"], [0, \"&eqvparsl;\"], [5, \"&blacklozenge;\"], [8, \"&RuleDelayed;\"], [1, \"&dsol;\"], [9, \"&bigodot;\"], [0, \"&bigoplus;\"], [0, \"&bigotimes;\"], [1, \"&biguplus;\"], [1, \"&bigsqcup;\"], [5, \"&iiiint;\"], [0, \"&fpartint;\"], [2, \"&cirfnint;\"], [0, \"&awint;\"], [0, \"&rppolint;\"], [0, \"&scpolint;\"], [0, \"&npolint;\"], [0, \"&pointint;\"], [0, \"&quatint;\"], [0, \"&intlarhk;\"], [10, \"&pluscir;\"], [0, \"&plusacir;\"], [0, \"&simplus;\"], [0, \"&plusdu;\"], [0, \"&plussim;\"], [0, \"&plustwo;\"], [1, \"&mcomma;\"], [0, \"&minusdu;\"], [2, \"&loplus;\"], [0, \"&roplus;\"], [0, \"&Cross;\"], [0, \"&timesd;\"], [0, \"&timesbar;\"], [1, \"&smashp;\"], [0, \"&lotimes;\"], [0, \"&rotimes;\"], [0, \"&otimesas;\"], [0, \"&Otimes;\"], [0, \"&odiv;\"], [0, \"&triplus;\"], [0, \"&triminus;\"], [0, \"&tritime;\"], [0, \"&intprod;\"], [2, \"&amalg;\"], [0, \"&capdot;\"], [1, \"&ncup;\"], [0, \"&ncap;\"], [0, \"&capand;\"], [0, \"&cupor;\"], [0, \"&cupcap;\"], [0, \"&capcup;\"], [0, \"&cupbrcap;\"], [0, \"&capbrcup;\"], [0, \"&cupcup;\"], [0, \"&capcap;\"], [0, \"&ccups;\"], [0, \"&ccaps;\"], [2, \"&ccupssm;\"], [2, \"&And;\"], [0, \"&Or;\"], [0, \"&andand;\"], [0, \"&oror;\"], [0, \"&orslope;\"], [0, \"&andslope;\"], [1, \"&andv;\"], [0, \"&orv;\"], [0, \"&andd;\"], [0, \"&ord;\"], [1, \"&wedbar;\"], [6, \"&sdote;\"], [3, \"&simdot;\"], [2, {\n  v: \"&congdot;\",\n  n: 824,\n  o: \"&ncongdot;\"\n}], [0, \"&easter;\"], [0, \"&apacir;\"], [0, {\n  v: \"&apE;\",\n  n: 824,\n  o: \"&napE;\"\n}], [0, \"&eplus;\"], [0, \"&pluse;\"], [0, \"&Esim;\"], [0, \"&Colone;\"], [0, \"&Equal;\"], [1, \"&ddotseq;\"], [0, \"&equivDD;\"], [0, \"&ltcir;\"], [0, \"&gtcir;\"], [0, \"&ltquest;\"], [0, \"&gtquest;\"], [0, {\n  v: \"&leqslant;\",\n  n: 824,\n  o: \"&nleqslant;\"\n}], [0, {\n  v: \"&geqslant;\",\n  n: 824,\n  o: \"&ngeqslant;\"\n}], [0, \"&lesdot;\"], [0, \"&gesdot;\"], [0, \"&lesdoto;\"], [0, \"&gesdoto;\"], [0, \"&lesdotor;\"], [0, \"&gesdotol;\"], [0, \"&lap;\"], [0, \"&gap;\"], [0, \"&lne;\"], [0, \"&gne;\"], [0, \"&lnap;\"], [0, \"&gnap;\"], [0, \"&lEg;\"], [0, \"&gEl;\"], [0, \"&lsime;\"], [0, \"&gsime;\"], [0, \"&lsimg;\"], [0, \"&gsiml;\"], [0, \"&lgE;\"], [0, \"&glE;\"], [0, \"&lesges;\"], [0, \"&gesles;\"], [0, \"&els;\"], [0, \"&egs;\"], [0, \"&elsdot;\"], [0, \"&egsdot;\"], [0, \"&el;\"], [0, \"&eg;\"], [2, \"&siml;\"], [0, \"&simg;\"], [0, \"&simlE;\"], [0, \"&simgE;\"], [0, {\n  v: \"&LessLess;\",\n  n: 824,\n  o: \"&NotNestedLessLess;\"\n}], [0, {\n  v: \"&GreaterGreater;\",\n  n: 824,\n  o: \"&NotNestedGreaterGreater;\"\n}], [1, \"&glj;\"], [0, \"&gla;\"], [0, \"&ltcc;\"], [0, \"&gtcc;\"], [0, \"&lescc;\"], [0, \"&gescc;\"], [0, \"&smt;\"], [0, \"&lat;\"], [0, {\n  v: \"&smte;\",\n  n: 65024,\n  o: \"&smtes;\"\n}], [0, {\n  v: \"&late;\",\n  n: 65024,\n  o: \"&lates;\"\n}], [0, \"&bumpE;\"], [0, {\n  v: \"&PrecedesEqual;\",\n  n: 824,\n  o: \"&NotPrecedesEqual;\"\n}], [0, {\n  v: \"&sce;\",\n  n: 824,\n  o: \"&NotSucceedsEqual;\"\n}], [2, \"&prE;\"], [0, \"&scE;\"], [0, \"&precneqq;\"], [0, \"&scnE;\"], [0, \"&prap;\"], [0, \"&scap;\"], [0, \"&precnapprox;\"], [0, \"&scnap;\"], [0, \"&Pr;\"], [0, \"&Sc;\"], [0, \"&subdot;\"], [0, \"&supdot;\"], [0, \"&subplus;\"], [0, \"&supplus;\"], [0, \"&submult;\"], [0, \"&supmult;\"], [0, \"&subedot;\"], [0, \"&supedot;\"], [0, {\n  v: \"&subE;\",\n  n: 824,\n  o: \"&nsubE;\"\n}], [0, {\n  v: \"&supE;\",\n  n: 824,\n  o: \"&nsupE;\"\n}], [0, \"&subsim;\"], [0, \"&supsim;\"], [2, {\n  v: \"&subnE;\",\n  n: 65024,\n  o: \"&varsubsetneqq;\"\n}], [0, {\n  v: \"&supnE;\",\n  n: 65024,\n  o: \"&varsupsetneqq;\"\n}], [2, \"&csub;\"], [0, \"&csup;\"], [0, \"&csube;\"], [0, \"&csupe;\"], [0, \"&subsup;\"], [0, \"&supsub;\"], [0, \"&subsub;\"], [0, \"&supsup;\"], [0, \"&suphsub;\"], [0, \"&supdsub;\"], [0, \"&forkv;\"], [0, \"&topfork;\"], [0, \"&mlcp;\"], [8, \"&Dashv;\"], [1, \"&Vdashl;\"], [0, \"&Barv;\"], [0, \"&vBar;\"], [0, \"&vBarv;\"], [1, \"&Vbar;\"], [0, \"&Not;\"], [0, \"&bNot;\"], [0, \"&rnmid;\"], [0, \"&cirmid;\"], [0, \"&midcir;\"], [0, \"&topcir;\"], [0, \"&nhpar;\"], [0, \"&parsim;\"], [9, {\n  v: \"&parsl;\",\n  n: 8421,\n  o: \"&nparsl;\"\n}], [44343, {\n  n: /*#__PURE__*/new Map(/* #__PURE__ */restoreDiff([[56476, \"&Ascr;\"], [1, \"&Cscr;\"], [0, \"&Dscr;\"], [2, \"&Gscr;\"], [2, \"&Jscr;\"], [0, \"&Kscr;\"], [2, \"&Nscr;\"], [0, \"&Oscr;\"], [0, \"&Pscr;\"], [0, \"&Qscr;\"], [1, \"&Sscr;\"], [0, \"&Tscr;\"], [0, \"&Uscr;\"], [0, \"&Vscr;\"], [0, \"&Wscr;\"], [0, \"&Xscr;\"], [0, \"&Yscr;\"], [0, \"&Zscr;\"], [0, \"&ascr;\"], [0, \"&bscr;\"], [0, \"&cscr;\"], [0, \"&dscr;\"], [1, \"&fscr;\"], [1, \"&hscr;\"], [0, \"&iscr;\"], [0, \"&jscr;\"], [0, \"&kscr;\"], [0, \"&lscr;\"], [0, \"&mscr;\"], [0, \"&nscr;\"], [1, \"&pscr;\"], [0, \"&qscr;\"], [0, \"&rscr;\"], [0, \"&sscr;\"], [0, \"&tscr;\"], [0, \"&uscr;\"], [0, \"&vscr;\"], [0, \"&wscr;\"], [0, \"&xscr;\"], [0, \"&yscr;\"], [0, \"&zscr;\"], [52, \"&Afr;\"], [0, \"&Bfr;\"], [1, \"&Dfr;\"], [0, \"&Efr;\"], [0, \"&Ffr;\"], [0, \"&Gfr;\"], [2, \"&Jfr;\"], [0, \"&Kfr;\"], [0, \"&Lfr;\"], [0, \"&Mfr;\"], [0, \"&Nfr;\"], [0, \"&Ofr;\"], [0, \"&Pfr;\"], [0, \"&Qfr;\"], [1, \"&Sfr;\"], [0, \"&Tfr;\"], [0, \"&Ufr;\"], [0, \"&Vfr;\"], [0, \"&Wfr;\"], [0, \"&Xfr;\"], [0, \"&Yfr;\"], [1, \"&afr;\"], [0, \"&bfr;\"], [0, \"&cfr;\"], [0, \"&dfr;\"], [0, \"&efr;\"], [0, \"&ffr;\"], [0, \"&gfr;\"], [0, \"&hfr;\"], [0, \"&ifr;\"], [0, \"&jfr;\"], [0, \"&kfr;\"], [0, \"&lfr;\"], [0, \"&mfr;\"], [0, \"&nfr;\"], [0, \"&ofr;\"], [0, \"&pfr;\"], [0, \"&qfr;\"], [0, \"&rfr;\"], [0, \"&sfr;\"], [0, \"&tfr;\"], [0, \"&ufr;\"], [0, \"&vfr;\"], [0, \"&wfr;\"], [0, \"&xfr;\"], [0, \"&yfr;\"], [0, \"&zfr;\"], [0, \"&Aopf;\"], [0, \"&Bopf;\"], [1, \"&Dopf;\"], [0, \"&Eopf;\"], [0, \"&Fopf;\"], [0, \"&Gopf;\"], [1, \"&Iopf;\"], [0, \"&Jopf;\"], [0, \"&Kopf;\"], [0, \"&Lopf;\"], [0, \"&Mopf;\"], [1, \"&Oopf;\"], [3, \"&Sopf;\"], [0, \"&Topf;\"], [0, \"&Uopf;\"], [0, \"&Vopf;\"], [0, \"&Wopf;\"], [0, \"&Xopf;\"], [0, \"&Yopf;\"], [1, \"&aopf;\"], [0, \"&bopf;\"], [0, \"&copf;\"], [0, \"&dopf;\"], [0, \"&eopf;\"], [0, \"&fopf;\"], [0, \"&gopf;\"], [0, \"&hopf;\"], [0, \"&iopf;\"], [0, \"&jopf;\"], [0, \"&kopf;\"], [0, \"&lopf;\"], [0, \"&mopf;\"], [0, \"&nopf;\"], [0, \"&oopf;\"], [0, \"&popf;\"], [0, \"&qopf;\"], [0, \"&ropf;\"], [0, \"&sopf;\"], [0, \"&topf;\"], [0, \"&uopf;\"], [0, \"&vopf;\"], [0, \"&wopf;\"], [0, \"&xopf;\"], [0, \"&yopf;\"], [0, \"&zopf;\"]]))\n}], [8906, \"&fflig;\"], [0, \"&filig;\"], [0, \"&fllig;\"], [0, \"&ffilig;\"], [0, \"&ffllig;\"]]));\nconst xmlReplacer = /[\"&'<>$\\x80-\\uFFFF]/g;\nconst xmlCodeMap = /*#__PURE__*/new Map([[34, \"&quot;\"], [38, \"&amp;\"], [39, \"&apos;\"], [60, \"&lt;\"], [62, \"&gt;\"]]);\n// For compatibility with node < 4, we wrap `codePointAt`\nconst getCodePoint =\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nString.prototype.codePointAt != null ? (str, index) => str.codePointAt(index) :\n// http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n(c, index) => (c.charCodeAt(index) & 0xfc00) === 0xd800 ? (c.charCodeAt(index) - 0xd800) * 0x400 + c.charCodeAt(index + 1) - 0xdc00 + 0x10000 : c.charCodeAt(index);\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using XML entities.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `&#xfc;`) will be used.\n */\nfunction encodeXML(str) {\n  let ret = \"\";\n  let lastIdx = 0;\n  let match;\n  while ((match = xmlReplacer.exec(str)) !== null) {\n    const i = match.index;\n    const char = str.charCodeAt(i);\n    const next = xmlCodeMap.get(char);\n    if (next !== undefined) {\n      ret += str.substring(lastIdx, i) + next;\n      lastIdx = i + 1;\n    } else {\n      ret += `${str.substring(lastIdx, i)}&#x${getCodePoint(str, i).toString(16)};`;\n      // Increase by 1 if we have a surrogate pair\n      lastIdx = xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800);\n    }\n  }\n  return ret + str.substr(lastIdx);\n}\n/**\n * Creates a function that escapes all characters matched by the given regular\n * expression using the given map of characters to escape to their entities.\n *\n * @param regex Regular expression to match characters to escape.\n * @param map Map of characters to escape to their entities.\n *\n * @returns Function that escapes all characters matched by the given regular\n * expression using the given map of characters to escape to their entities.\n */\nfunction getEscaper(regex, map) {\n  return function escape(data) {\n    let match;\n    let lastIdx = 0;\n    let result = \"\";\n    while (match = regex.exec(data)) {\n      if (lastIdx !== match.index) {\n        result += data.substring(lastIdx, match.index);\n      }\n      // We know that this character will be in the map.\n      result += map.get(match[0].charCodeAt(0));\n      // Every match will be of length 1\n      lastIdx = match.index + 1;\n    }\n    return result + data.substring(lastIdx);\n  };\n}\n/**\n * Encodes all characters that have to be escaped in HTML attributes,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n *\n * @param data String to escape.\n */\nconst escapeAttribute = /*#__PURE__*/getEscaper(/[\"&\\u00A0]/g, /*#__PURE__*/new Map([[34, \"&quot;\"], [38, \"&amp;\"], [160, \"&nbsp;\"]]));\n/**\n * Encodes all characters that have to be escaped in HTML text,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n *\n * @param data String to escape.\n */\nconst escapeText = /*#__PURE__*/getEscaper(/[&<>\\u00A0]/g, /*#__PURE__*/new Map([[38, \"&amp;\"], [60, \"&lt;\"], [62, \"&gt;\"], [160, \"&nbsp;\"]]));\n\n/** The level of entities to support. */\nvar EntityLevel = /*#__PURE__*/function (EntityLevel) {\n  /** Support only XML entities. */\n  EntityLevel[EntityLevel[\"XML\"] = 0] = \"XML\";\n  /** Support HTML entities, which are a superset of XML entities. */\n  EntityLevel[EntityLevel[\"HTML\"] = 1] = \"HTML\";\n  return EntityLevel;\n}(EntityLevel || {});\nvar EncodingMode = /*#__PURE__*/function (EncodingMode) {\n  /**\n   * The output is UTF-8 encoded. Only characters that need escaping within\n   * XML will be escaped.\n   */\n  EncodingMode[EncodingMode[\"UTF8\"] = 0] = \"UTF8\";\n  /**\n   * The output consists only of ASCII characters. Characters that need\n   * escaping within HTML, and characters that aren't ASCII characters will\n   * be escaped.\n   */\n  EncodingMode[EncodingMode[\"ASCII\"] = 1] = \"ASCII\";\n  /**\n   * Encode all characters that have an equivalent entity, as well as all\n   * characters that are not ASCII characters.\n   */\n  EncodingMode[EncodingMode[\"Extensive\"] = 2] = \"Extensive\";\n  /**\n   * Encode all characters that have to be escaped in HTML attributes,\n   * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n   */\n  EncodingMode[EncodingMode[\"Attribute\"] = 3] = \"Attribute\";\n  /**\n   * Encode all characters that have to be escaped in HTML text,\n   * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n   */\n  EncodingMode[EncodingMode[\"Text\"] = 4] = \"Text\";\n  return EncodingMode;\n}(EncodingMode || {});\nconst elementNames = /*#__PURE__*/new Map(/*#__PURE__*/[\"altGlyph\", \"altGlyphDef\", \"altGlyphItem\", \"animateColor\", \"animateMotion\", \"animateTransform\", \"clipPath\", \"feBlend\", \"feColorMatrix\", \"feComponentTransfer\", \"feComposite\", \"feConvolveMatrix\", \"feDiffuseLighting\", \"feDisplacementMap\", \"feDistantLight\", \"feDropShadow\", \"feFlood\", \"feFuncA\", \"feFuncB\", \"feFuncG\", \"feFuncR\", \"feGaussianBlur\", \"feImage\", \"feMerge\", \"feMergeNode\", \"feMorphology\", \"feOffset\", \"fePointLight\", \"feSpecularLighting\", \"feSpotLight\", \"feTile\", \"feTurbulence\", \"foreignObject\", \"glyphRef\", \"linearGradient\", \"radialGradient\", \"textPath\"].map(val => [val.toLowerCase(), val]));\nconst attributeNames = /*#__PURE__*/new Map(/*#__PURE__*/[\"definitionURL\", \"attributeName\", \"attributeType\", \"baseFrequency\", \"baseProfile\", \"calcMode\", \"clipPathUnits\", \"diffuseConstant\", \"edgeMode\", \"filterUnits\", \"glyphRef\", \"gradientTransform\", \"gradientUnits\", \"kernelMatrix\", \"kernelUnitLength\", \"keyPoints\", \"keySplines\", \"keyTimes\", \"lengthAdjust\", \"limitingConeAngle\", \"markerHeight\", \"markerUnits\", \"markerWidth\", \"maskContentUnits\", \"maskUnits\", \"numOctaves\", \"pathLength\", \"patternContentUnits\", \"patternTransform\", \"patternUnits\", \"pointsAtX\", \"pointsAtY\", \"pointsAtZ\", \"preserveAlpha\", \"preserveAspectRatio\", \"primitiveUnits\", \"refX\", \"refY\", \"repeatCount\", \"repeatDur\", \"requiredExtensions\", \"requiredFeatures\", \"specularConstant\", \"specularExponent\", \"spreadMethod\", \"startOffset\", \"stdDeviation\", \"stitchTiles\", \"surfaceScale\", \"systemLanguage\", \"tableValues\", \"targetX\", \"targetY\", \"textLength\", \"viewBox\", \"viewTarget\", \"xChannelSelector\", \"yChannelSelector\", \"zoomAndPan\"].map(val => [val.toLowerCase(), val]));\n\n/*\n * Module dependencies\n */\nconst unencodedElements = /*#__PURE__*/new Set([\"style\", \"script\", \"xmp\", \"iframe\", \"noembed\", \"noframes\", \"plaintext\", \"noscript\"]);\nfunction replaceQuotes(value) {\n  return value.replace(/\"/g, \"&quot;\");\n}\n/**\n * Format attributes\n */\nfunction formatAttributes(attributes, opts) {\n  var _a;\n  if (!attributes) return;\n  const encode = ((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) === false ? replaceQuotes : opts.xmlMode || opts.encodeEntities !== \"utf8\" ? encodeXML : escapeAttribute;\n  return Object.keys(attributes).map(key => {\n    var _a, _b;\n    const value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : \"\";\n    if (opts.xmlMode === \"foreign\") {\n      /* Fix up mixed-case attribute names */\n      key = (_b = attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;\n    }\n    if (!opts.emptyAttrs && !opts.xmlMode && value === \"\") {\n      return key;\n    }\n    return `${key}=\"${encode(value)}\"`;\n  }).join(\" \");\n}\n/**\n * Self-enclosing tags\n */\nconst singleTag = /*#__PURE__*/new Set([\"area\", \"base\", \"basefont\", \"br\", \"col\", \"command\", \"embed\", \"frame\", \"hr\", \"img\", \"input\", \"isindex\", \"keygen\", \"link\", \"meta\", \"param\", \"source\", \"track\", \"wbr\"]);\n/**\n * Renders a DOM node or an array of DOM nodes to a string.\n *\n * Can be thought of as the equivalent of the `outerHTML` of the passed node(s).\n *\n * @param node Node to be rendered.\n * @param options Changes serialization behavior\n */\nfunction render(node, options = {}) {\n  const nodes = \"length\" in node ? node : [node];\n  let output = \"\";\n  for (let i = 0; i < nodes.length; i++) {\n    output += renderNode(nodes[i], options);\n  }\n  return output;\n}\nfunction renderNode(node, options) {\n  switch (node.type) {\n    case Root:\n      return render(node.children, options);\n    // @ts-expect-error We don't use `Doctype` yet\n    case Doctype:\n    case Directive:\n      return renderDirective(node);\n    case Comment$1:\n      return renderComment(node);\n    case CDATA$1:\n      return renderCdata(node);\n    case Script:\n    case Style:\n    case Tag:\n      return renderTag(node, options);\n    case Text$1:\n      return renderText(node, options);\n  }\n}\nconst foreignModeIntegrationPoints = /*#__PURE__*/new Set([\"mi\", \"mo\", \"mn\", \"ms\", \"mtext\", \"annotation-xml\", \"foreignObject\", \"desc\", \"title\"]);\nconst foreignElements = /*#__PURE__*/new Set([\"svg\", \"math\"]);\nfunction renderTag(elem, opts) {\n  var _a;\n  // Handle SVG / MathML in HTML\n  if (opts.xmlMode === \"foreign\") {\n    /* Fix up mixed-case element names */\n    elem.name = (_a = elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;\n    /* Exit foreign mode at integration points */\n    if (elem.parent && foreignModeIntegrationPoints.has(elem.parent.name)) {\n      opts = {\n        ...opts,\n        xmlMode: false\n      };\n    }\n  }\n  if (!opts.xmlMode && foreignElements.has(elem.name)) {\n    opts = {\n      ...opts,\n      xmlMode: \"foreign\"\n    };\n  }\n  let tag = `<${elem.name}`;\n  const attribs = formatAttributes(elem.attribs, opts);\n  if (attribs) {\n    tag += ` ${attribs}`;\n  }\n  if (elem.children.length === 0 && (opts.xmlMode ?\n  // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags\n  opts.selfClosingTags !== false :\n  // User explicitly asked for self-closing tags, even in HTML mode\n  opts.selfClosingTags && singleTag.has(elem.name))) {\n    if (!opts.xmlMode) tag += \" \";\n    tag += \"/>\";\n  } else {\n    tag += \">\";\n    if (elem.children.length > 0) {\n      tag += render(elem.children, opts);\n    }\n    if (opts.xmlMode || !singleTag.has(elem.name)) {\n      tag += `</${elem.name}>`;\n    }\n  }\n  return tag;\n}\nfunction renderDirective(elem) {\n  return `<${elem.data}>`;\n}\nfunction renderText(elem, opts) {\n  var _a;\n  let data = elem.data || \"\";\n  // If entities weren't decoded, no need to encode them back\n  if (((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) !== false && !(!opts.xmlMode && elem.parent && unencodedElements.has(elem.parent.name))) {\n    data = opts.xmlMode || opts.encodeEntities !== \"utf8\" ? encodeXML(data) : escapeText(data);\n  }\n  return data;\n}\nfunction renderCdata(elem) {\n  return `<![CDATA[${elem.children[0].data}]]>`;\n}\nfunction renderComment(elem) {\n  return `<!--${elem.data}-->`;\n}\n\n/**\n * @category Stringify\n * @deprecated Use the `dom-serializer` module directly.\n * @param node Node to get the outer HTML of.\n * @param options Options for serialization.\n * @returns `node`'s outer HTML.\n */\nfunction getOuterHTML(node, options) {\n  return render(node, options);\n}\n/**\n * @category Stringify\n * @deprecated Use the `dom-serializer` module directly.\n * @param node Node to get the inner HTML of.\n * @param options Options for serialization.\n * @returns `node`'s inner HTML.\n */\nfunction getInnerHTML(node, options) {\n  return hasChildren(node) ? node.children.map(node => getOuterHTML(node, options)).join(\"\") : \"\";\n}\n/**\n * Get a node's inner text. Same as `textContent`, but inserts newlines for `<br>` tags. Ignores comments.\n *\n * @category Stringify\n * @deprecated Use `textContent` instead.\n * @param node Node to get the inner text of.\n * @returns `node`'s inner text.\n */\nfunction getText(node) {\n  if (Array.isArray(node)) return node.map(getText).join(\"\");\n  if (isTag(node)) return node.name === \"br\" ? \"\\n\" : getText(node.children);\n  if (isCDATA(node)) return getText(node.children);\n  if (isText(node)) return node.data;\n  return \"\";\n}\n/**\n * Get a node's text content. Ignores comments.\n *\n * @category Stringify\n * @param node Node to get the text content of.\n * @returns `node`'s text content.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent}\n */\nfunction textContent(node) {\n  if (Array.isArray(node)) return node.map(textContent).join(\"\");\n  if (hasChildren(node) && !isComment(node)) {\n    return textContent(node.children);\n  }\n  if (isText(node)) return node.data;\n  return \"\";\n}\n/**\n * Get a node's inner text, ignoring `<script>` and `<style>` tags. Ignores comments.\n *\n * @category Stringify\n * @param node Node to get the inner text of.\n * @returns `node`'s inner text.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/innerText}\n */\nfunction innerText(node) {\n  if (Array.isArray(node)) return node.map(innerText).join(\"\");\n  if (hasChildren(node) && (node.type === ElementType.Tag || isCDATA(node))) {\n    return innerText(node.children);\n  }\n  if (isText(node)) return node.data;\n  return \"\";\n}\n\n/**\n * Get a node's children.\n *\n * @category Traversal\n * @param elem Node to get the children of.\n * @returns `elem`'s children, or an empty array.\n */\nfunction getChildren(elem) {\n  return hasChildren(elem) ? elem.children : [];\n}\n/**\n * Get a node's parent.\n *\n * @category Traversal\n * @param elem Node to get the parent of.\n * @returns `elem`'s parent node, or `null` if `elem` is a root node.\n */\nfunction getParent(elem) {\n  return elem.parent || null;\n}\n/**\n * Gets an elements siblings, including the element itself.\n *\n * Attempts to get the children through the element's parent first. If we don't\n * have a parent (the element is a root node), we walk the element's `prev` &\n * `next` to get all remaining nodes.\n *\n * @category Traversal\n * @param elem Element to get the siblings of.\n * @returns `elem`'s siblings, including `elem`.\n */\nfunction getSiblings(elem) {\n  const parent = getParent(elem);\n  if (parent != null) return getChildren(parent);\n  const siblings = [elem];\n  let {\n    prev,\n    next\n  } = elem;\n  while (prev != null) {\n    siblings.unshift(prev);\n    ({\n      prev\n    } = prev);\n  }\n  while (next != null) {\n    siblings.push(next);\n    ({\n      next\n    } = next);\n  }\n  return siblings;\n}\n/**\n * Gets an attribute from an element.\n *\n * @category Traversal\n * @param elem Element to check.\n * @param name Attribute name to retrieve.\n * @returns The element's attribute value, or `undefined`.\n */\nfunction getAttributeValue(elem, name) {\n  var _a;\n  return (_a = elem.attribs) === null || _a === void 0 ? void 0 : _a[name];\n}\n/**\n * Checks whether an element has an attribute.\n *\n * @category Traversal\n * @param elem Element to check.\n * @param name Attribute name to look for.\n * @returns Returns whether `elem` has the attribute `name`.\n */\nfunction hasAttrib(elem, name) {\n  return elem.attribs != null && Object.prototype.hasOwnProperty.call(elem.attribs, name) && elem.attribs[name] != null;\n}\n/**\n * Get the tag name of an element.\n *\n * @category Traversal\n * @param elem The element to get the name for.\n * @returns The tag name of `elem`.\n */\nfunction getName(elem) {\n  return elem.name;\n}\n/**\n * Returns the next element sibling of a node.\n *\n * @category Traversal\n * @param elem The element to get the next sibling of.\n * @returns `elem`'s next sibling that is a tag, or `null` if there is no next\n * sibling.\n */\nfunction nextElementSibling(elem) {\n  let {\n    next\n  } = elem;\n  while (next !== null && !isTag(next)) ({\n    next\n  } = next);\n  return next;\n}\n/**\n * Returns the previous element sibling of a node.\n *\n * @category Traversal\n * @param elem The element to get the previous sibling of.\n * @returns `elem`'s previous sibling that is a tag, or `null` if there is no\n * previous sibling.\n */\nfunction prevElementSibling(elem) {\n  let {\n    prev\n  } = elem;\n  while (prev !== null && !isTag(prev)) ({\n    prev\n  } = prev);\n  return prev;\n}\n\n/**\n * Remove an element from the dom\n *\n * @category Manipulation\n * @param elem The element to be removed\n */\nfunction removeElement(elem) {\n  if (elem.prev) elem.prev.next = elem.next;\n  if (elem.next) elem.next.prev = elem.prev;\n  if (elem.parent) {\n    const childs = elem.parent.children;\n    const childsIndex = childs.lastIndexOf(elem);\n    if (childsIndex >= 0) {\n      childs.splice(childsIndex, 1);\n    }\n  }\n  elem.next = null;\n  elem.prev = null;\n  elem.parent = null;\n}\n/**\n * Replace an element in the dom\n *\n * @category Manipulation\n * @param elem The element to be replaced\n * @param replacement The element to be added\n */\nfunction replaceElement(elem, replacement) {\n  const prev = replacement.prev = elem.prev;\n  if (prev) {\n    prev.next = replacement;\n  }\n  const next = replacement.next = elem.next;\n  if (next) {\n    next.prev = replacement;\n  }\n  const parent = replacement.parent = elem.parent;\n  if (parent) {\n    const childs = parent.children;\n    childs[childs.lastIndexOf(elem)] = replacement;\n    elem.parent = null;\n  }\n}\n/**\n * Append a child to an element.\n *\n * @category Manipulation\n * @param parent The element to append to.\n * @param child The element to be added as a child.\n */\nfunction appendChild(parent, child) {\n  removeElement(child);\n  child.next = null;\n  child.parent = parent;\n  if (parent.children.push(child) > 1) {\n    const sibling = parent.children[parent.children.length - 2];\n    sibling.next = child;\n    child.prev = sibling;\n  } else {\n    child.prev = null;\n  }\n}\n/**\n * Append an element after another.\n *\n * @category Manipulation\n * @param elem The element to append after.\n * @param next The element be added.\n */\nfunction append(elem, next) {\n  removeElement(next);\n  const {\n    parent\n  } = elem;\n  const currNext = elem.next;\n  next.next = currNext;\n  next.prev = elem;\n  elem.next = next;\n  next.parent = parent;\n  if (currNext) {\n    currNext.prev = next;\n    if (parent) {\n      const childs = parent.children;\n      childs.splice(childs.lastIndexOf(currNext), 0, next);\n    }\n  } else if (parent) {\n    parent.children.push(next);\n  }\n}\n/**\n * Prepend a child to an element.\n *\n * @category Manipulation\n * @param parent The element to prepend before.\n * @param child The element to be added as a child.\n */\nfunction prependChild(parent, child) {\n  removeElement(child);\n  child.parent = parent;\n  child.prev = null;\n  if (parent.children.unshift(child) !== 1) {\n    const sibling = parent.children[1];\n    sibling.prev = child;\n    child.next = sibling;\n  } else {\n    child.next = null;\n  }\n}\n/**\n * Prepend an element before another.\n *\n * @category Manipulation\n * @param elem The element to prepend before.\n * @param prev The element be added.\n */\nfunction prepend(elem, prev) {\n  removeElement(prev);\n  const {\n    parent\n  } = elem;\n  if (parent) {\n    const childs = parent.children;\n    childs.splice(childs.indexOf(elem), 0, prev);\n  }\n  if (elem.prev) {\n    elem.prev.next = prev;\n  }\n  prev.parent = parent;\n  prev.prev = elem.prev;\n  prev.next = elem;\n  elem.prev = prev;\n}\n\n/**\n * Search a node and its children for nodes passing a test function. If `node` is not an array, it will be wrapped in one.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param node Node to search. Will be included in the result set if it matches.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes passing `test`.\n */\nfunction filter(test, node, recurse = true, limit = Infinity) {\n  return find(test, Array.isArray(node) ? node : [node], recurse, limit);\n}\n/**\n * Search an array of nodes and their children for nodes passing a test function.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes passing `test`.\n */\nfunction find(test, nodes, recurse, limit) {\n  const result = [];\n  /** Stack of the arrays we are looking at. */\n  const nodeStack = [Array.isArray(nodes) ? nodes : [nodes]];\n  /** Stack of the indices within the arrays. */\n  const indexStack = [0];\n  for (;;) {\n    // First, check if the current array has any more elements to look at.\n    if (indexStack[0] >= nodeStack[0].length) {\n      // If we have no more arrays to look at, we are done.\n      if (indexStack.length === 1) {\n        return result;\n      }\n      // Otherwise, remove the current array from the stack.\n      nodeStack.shift();\n      indexStack.shift();\n      // Loop back to the start to continue with the next array.\n      continue;\n    }\n    const elem = nodeStack[0][indexStack[0]++];\n    if (test(elem)) {\n      result.push(elem);\n      if (--limit <= 0) return result;\n    }\n    if (recurse && hasChildren(elem) && elem.children.length > 0) {\n      /*\n       * Add the children to the stack. We are depth-first, so this is\n       * the next array we look at.\n       */\n      indexStack.unshift(0);\n      nodeStack.unshift(elem.children);\n    }\n  }\n}\n/**\n * Finds the first element inside of an array that matches a test function. This is an alias for `Array.prototype.find`.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @returns The first node in the array that passes `test`.\n * @deprecated Use `Array.prototype.find` directly.\n */\nfunction findOneChild(test, nodes) {\n  return nodes.find(test);\n}\n/**\n * Finds one element in a tree that passes a test.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Node or array of nodes to search.\n * @param recurse Also consider child nodes.\n * @returns The first node that passes `test`.\n */\nfunction findOne(test, nodes, recurse = true) {\n  const searchedNodes = Array.isArray(nodes) ? nodes : [nodes];\n  for (let i = 0; i < searchedNodes.length; i++) {\n    const node = searchedNodes[i];\n    if (isTag(node) && test(node)) {\n      return node;\n    }\n    if (recurse && hasChildren(node) && node.children.length > 0) {\n      const found = findOne(test, node.children, true);\n      if (found) return found;\n    }\n  }\n  return null;\n}\n/**\n * Checks if a tree of nodes contains at least one node passing a test.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @returns Whether a tree of nodes contains at least one node passing the test.\n */\nfunction existsOne(test, nodes) {\n  return (Array.isArray(nodes) ? nodes : [nodes]).some(node => isTag(node) && test(node) || hasChildren(node) && existsOne(test, node.children));\n}\n/**\n * Search an array of nodes and their children for elements passing a test function.\n *\n * Same as `find`, but limited to elements and with less options, leading to reduced complexity.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @returns All nodes passing `test`.\n */\nfunction findAll(test, nodes) {\n  const result = [];\n  const nodeStack = [Array.isArray(nodes) ? nodes : [nodes]];\n  const indexStack = [0];\n  for (;;) {\n    if (indexStack[0] >= nodeStack[0].length) {\n      if (nodeStack.length === 1) {\n        return result;\n      }\n      // Otherwise, remove the current array from the stack.\n      nodeStack.shift();\n      indexStack.shift();\n      // Loop back to the start to continue with the next array.\n      continue;\n    }\n    const elem = nodeStack[0][indexStack[0]++];\n    if (isTag(elem) && test(elem)) result.push(elem);\n    if (hasChildren(elem) && elem.children.length > 0) {\n      indexStack.unshift(0);\n      nodeStack.unshift(elem.children);\n    }\n  }\n}\n\n/**\n * A map of functions to check nodes against.\n */\nconst Checks = {\n  tag_name(name) {\n    if (typeof name === \"function\") {\n      return elem => isTag(elem) && name(elem.name);\n    } else if (name === \"*\") {\n      return isTag;\n    }\n    return elem => isTag(elem) && elem.name === name;\n  },\n  tag_type(type) {\n    if (typeof type === \"function\") {\n      return elem => type(elem.type);\n    }\n    return elem => elem.type === type;\n  },\n  tag_contains(data) {\n    if (typeof data === \"function\") {\n      return elem => isText(elem) && data(elem.data);\n    }\n    return elem => isText(elem) && elem.data === data;\n  }\n};\n/**\n * Returns a function to check whether a node has an attribute with a particular\n * value.\n *\n * @param attrib Attribute to check.\n * @param value Attribute value to look for.\n * @returns A function to check whether the a node has an attribute with a\n *   particular value.\n */\nfunction getAttribCheck(attrib, value) {\n  if (typeof value === \"function\") {\n    return elem => isTag(elem) && value(elem.attribs[attrib]);\n  }\n  return elem => isTag(elem) && elem.attribs[attrib] === value;\n}\n/**\n * Returns a function that returns `true` if either of the input functions\n * returns `true` for a node.\n *\n * @param a First function to combine.\n * @param b Second function to combine.\n * @returns A function taking a node and returning `true` if either of the input\n *   functions returns `true` for the node.\n */\nfunction combineFuncs(a, b) {\n  return elem => a(elem) || b(elem);\n}\n/**\n * Returns a function that executes all checks in `options` and returns `true`\n * if any of them match a node.\n *\n * @param options An object describing nodes to look for.\n * @returns A function that executes all checks in `options` and returns `true`\n *   if any of them match a node.\n */\nfunction compileTest(options) {\n  const funcs = Object.keys(options).map(key => {\n    const value = options[key];\n    return Object.prototype.hasOwnProperty.call(Checks, key) ? Checks[key](value) : getAttribCheck(key, value);\n  });\n  return funcs.length === 0 ? null : funcs.reduce(combineFuncs);\n}\n/**\n * Checks whether a node matches the description in `options`.\n *\n * @category Legacy Query Functions\n * @param options An object describing nodes to look for.\n * @param node The element to test.\n * @returns Whether the element matches the description in `options`.\n */\nfunction testElement(options, node) {\n  const test = compileTest(options);\n  return test ? test(node) : true;\n}\n/**\n * Returns all nodes that match `options`.\n *\n * @category Legacy Query Functions\n * @param options An object describing nodes to look for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes that match `options`.\n */\nfunction getElements(options, nodes, recurse, limit = Infinity) {\n  const test = compileTest(options);\n  return test ? filter(test, nodes, recurse, limit) : [];\n}\n/**\n * Returns the node with the supplied ID.\n *\n * @category Legacy Query Functions\n * @param id The unique ID attribute value to look for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @returns The node with the supplied ID.\n */\nfunction getElementById(id, nodes, recurse = true) {\n  if (!Array.isArray(nodes)) nodes = [nodes];\n  return findOne(getAttribCheck(\"id\", id), nodes, recurse);\n}\n/**\n * Returns all nodes with the supplied `tagName`.\n *\n * @category Legacy Query Functions\n * @param tagName Tag name to search for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes with the supplied `tagName`.\n */\nfunction getElementsByTagName(tagName, nodes, recurse = true, limit = Infinity) {\n  return filter(Checks[\"tag_name\"](tagName), nodes, recurse, limit);\n}\n/**\n * Returns all nodes with the supplied `className`.\n *\n * @category Legacy Query Functions\n * @param className Class name to search for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes with the supplied `className`.\n */\nfunction getElementsByClassName(className, nodes, recurse = true, limit = Infinity) {\n  return filter(getAttribCheck(\"class\", className), nodes, recurse, limit);\n}\n/**\n * Returns all nodes with the supplied `type`.\n *\n * @category Legacy Query Functions\n * @param type Element type to look for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes with the supplied `type`.\n */\nfunction getElementsByTagType(type, nodes, recurse = true, limit = Infinity) {\n  return filter(Checks[\"tag_type\"](type), nodes, recurse, limit);\n}\n\n/**\n * Given an array of nodes, remove any member that is contained by another\n * member.\n *\n * @category Helpers\n * @param nodes Nodes to filter.\n * @returns Remaining nodes that aren't contained by other nodes.\n */\nfunction removeSubsets(nodes) {\n  let idx = nodes.length;\n  /*\n   * Check if each node (or one of its ancestors) is already contained in the\n   * array.\n   */\n  while (--idx >= 0) {\n    const node = nodes[idx];\n    /*\n     * Remove the node if it is not unique.\n     * We are going through the array from the end, so we only\n     * have to check nodes that preceed the node under consideration in the array.\n     */\n    if (idx > 0 && nodes.lastIndexOf(node, idx - 1) >= 0) {\n      nodes.splice(idx, 1);\n      continue;\n    }\n    for (let ancestor = node.parent; ancestor; ancestor = ancestor.parent) {\n      if (nodes.includes(ancestor)) {\n        nodes.splice(idx, 1);\n        break;\n      }\n    }\n  }\n  return nodes;\n}\n/**\n * @category Helpers\n * @see {@link http://dom.spec.whatwg.org/#dom-node-comparedocumentposition}\n */\nvar DocumentPosition = /*#__PURE__*/function (DocumentPosition) {\n  DocumentPosition[DocumentPosition[\"DISCONNECTED\"] = 1] = \"DISCONNECTED\";\n  DocumentPosition[DocumentPosition[\"PRECEDING\"] = 2] = \"PRECEDING\";\n  DocumentPosition[DocumentPosition[\"FOLLOWING\"] = 4] = \"FOLLOWING\";\n  DocumentPosition[DocumentPosition[\"CONTAINS\"] = 8] = \"CONTAINS\";\n  DocumentPosition[DocumentPosition[\"CONTAINED_BY\"] = 16] = \"CONTAINED_BY\";\n  return DocumentPosition;\n}(DocumentPosition || {});\n/**\n * Compare the position of one node against another node in any other document,\n * returning a bitmask with the values from {@link DocumentPosition}.\n *\n * Document order:\n * > There is an ordering, document order, defined on all the nodes in the\n * > document corresponding to the order in which the first character of the\n * > XML representation of each node occurs in the XML representation of the\n * > document after expansion of general entities. Thus, the document element\n * > node will be the first node. Element nodes occur before their children.\n * > Thus, document order orders element nodes in order of the occurrence of\n * > their start-tag in the XML (after expansion of entities). The attribute\n * > nodes of an element occur after the element and before its children. The\n * > relative order of attribute nodes is implementation-dependent.\n *\n * Source:\n * http://www.w3.org/TR/DOM-Level-3-Core/glossary.html#dt-document-order\n *\n * @category Helpers\n * @param nodeA The first node to use in the comparison\n * @param nodeB The second node to use in the comparison\n * @returns A bitmask describing the input nodes' relative position.\n *\n * See http://dom.spec.whatwg.org/#dom-node-comparedocumentposition for\n * a description of these values.\n */\nfunction compareDocumentPosition(nodeA, nodeB) {\n  const aParents = [];\n  const bParents = [];\n  if (nodeA === nodeB) {\n    return 0;\n  }\n  let current = hasChildren(nodeA) ? nodeA : nodeA.parent;\n  while (current) {\n    aParents.unshift(current);\n    current = current.parent;\n  }\n  current = hasChildren(nodeB) ? nodeB : nodeB.parent;\n  while (current) {\n    bParents.unshift(current);\n    current = current.parent;\n  }\n  const maxIdx = Math.min(aParents.length, bParents.length);\n  let idx = 0;\n  while (idx < maxIdx && aParents[idx] === bParents[idx]) {\n    idx++;\n  }\n  if (idx === 0) {\n    return DocumentPosition.DISCONNECTED;\n  }\n  const sharedParent = aParents[idx - 1];\n  const siblings = sharedParent.children;\n  const aSibling = aParents[idx];\n  const bSibling = bParents[idx];\n  if (siblings.indexOf(aSibling) > siblings.indexOf(bSibling)) {\n    if (sharedParent === nodeB) {\n      return DocumentPosition.FOLLOWING | DocumentPosition.CONTAINED_BY;\n    }\n    return DocumentPosition.FOLLOWING;\n  }\n  if (sharedParent === nodeA) {\n    return DocumentPosition.PRECEDING | DocumentPosition.CONTAINS;\n  }\n  return DocumentPosition.PRECEDING;\n}\n/**\n * Sort an array of nodes based on their relative position in the document,\n * removing any duplicate nodes. If the array contains nodes that do not belong\n * to the same document, sort order is unspecified.\n *\n * @category Helpers\n * @param nodes Array of DOM nodes.\n * @returns Collection of unique nodes, sorted in document order.\n */\nfunction uniqueSort(nodes) {\n  nodes = nodes.filter((node, i, arr) => !arr.includes(node, i + 1));\n  nodes.sort((a, b) => {\n    const relative = compareDocumentPosition(a, b);\n    if (relative & DocumentPosition.PRECEDING) {\n      return -1;\n    } else if (relative & DocumentPosition.FOLLOWING) {\n      return 1;\n    }\n    return 0;\n  });\n  return nodes;\n}\n\n/**\n * Get the feed object from the root of a DOM tree.\n *\n * @category Feeds\n * @param doc - The DOM to to extract the feed from.\n * @returns The feed.\n */\nfunction getFeed(doc) {\n  const feedRoot = getOneElement(isValidFeed, doc);\n  return !feedRoot ? null : feedRoot.name === \"feed\" ? getAtomFeed(feedRoot) : getRssFeed(feedRoot);\n}\n/**\n * Parse an Atom feed.\n *\n * @param feedRoot The root of the feed.\n * @returns The parsed feed.\n */\nfunction getAtomFeed(feedRoot) {\n  var _a;\n  const childs = feedRoot.children;\n  const feed = {\n    type: \"atom\",\n    items: getElementsByTagName(\"entry\", childs).map(item => {\n      var _a;\n      const {\n        children\n      } = item;\n      const entry = {\n        media: getMediaElements(children)\n      };\n      addConditionally(entry, \"id\", \"id\", children);\n      addConditionally(entry, \"title\", \"title\", children);\n      const href = (_a = getOneElement(\"link\", children)) === null || _a === void 0 ? void 0 : _a.attribs[\"href\"];\n      if (href) {\n        entry.link = href;\n      }\n      const description = fetch(\"summary\", children) || fetch(\"content\", children);\n      if (description) {\n        entry.description = description;\n      }\n      const pubDate = fetch(\"updated\", children);\n      if (pubDate) {\n        entry.pubDate = new Date(pubDate);\n      }\n      return entry;\n    })\n  };\n  addConditionally(feed, \"id\", \"id\", childs);\n  addConditionally(feed, \"title\", \"title\", childs);\n  const href = (_a = getOneElement(\"link\", childs)) === null || _a === void 0 ? void 0 : _a.attribs[\"href\"];\n  if (href) {\n    feed.link = href;\n  }\n  addConditionally(feed, \"description\", \"subtitle\", childs);\n  const updated = fetch(\"updated\", childs);\n  if (updated) {\n    feed.updated = new Date(updated);\n  }\n  addConditionally(feed, \"author\", \"email\", childs, true);\n  return feed;\n}\n/**\n * Parse a RSS feed.\n *\n * @param feedRoot The root of the feed.\n * @returns The parsed feed.\n */\nfunction getRssFeed(feedRoot) {\n  var _a, _b;\n  const childs = (_b = (_a = getOneElement(\"channel\", feedRoot.children)) === null || _a === void 0 ? void 0 : _a.children) !== null && _b !== void 0 ? _b : [];\n  const feed = {\n    type: feedRoot.name.substr(0, 3),\n    id: \"\",\n    items: getElementsByTagName(\"item\", feedRoot.children).map(item => {\n      const {\n        children\n      } = item;\n      const entry = {\n        media: getMediaElements(children)\n      };\n      addConditionally(entry, \"id\", \"guid\", children);\n      addConditionally(entry, \"title\", \"title\", children);\n      addConditionally(entry, \"link\", \"link\", children);\n      addConditionally(entry, \"description\", \"description\", children);\n      const pubDate = fetch(\"pubDate\", children) || fetch(\"dc:date\", children);\n      if (pubDate) entry.pubDate = new Date(pubDate);\n      return entry;\n    })\n  };\n  addConditionally(feed, \"title\", \"title\", childs);\n  addConditionally(feed, \"link\", \"link\", childs);\n  addConditionally(feed, \"description\", \"description\", childs);\n  const updated = fetch(\"lastBuildDate\", childs);\n  if (updated) {\n    feed.updated = new Date(updated);\n  }\n  addConditionally(feed, \"author\", \"managingEditor\", childs, true);\n  return feed;\n}\nconst MEDIA_KEYS_STRING = [\"url\", \"type\", \"lang\"];\nconst MEDIA_KEYS_INT = [\"fileSize\", \"bitrate\", \"framerate\", \"samplingrate\", \"channels\", \"duration\", \"height\", \"width\"];\n/**\n * Get all media elements of a feed item.\n *\n * @param where Nodes to search in.\n * @returns Media elements.\n */\nfunction getMediaElements(where) {\n  return getElementsByTagName(\"media:content\", where).map(elem => {\n    const {\n      attribs\n    } = elem;\n    const media = {\n      medium: attribs[\"medium\"],\n      isDefault: !!attribs[\"isDefault\"]\n    };\n    for (const attrib of MEDIA_KEYS_STRING) {\n      if (attribs[attrib]) {\n        media[attrib] = attribs[attrib];\n      }\n    }\n    for (const attrib of MEDIA_KEYS_INT) {\n      if (attribs[attrib]) {\n        media[attrib] = parseInt(attribs[attrib], 10);\n      }\n    }\n    if (attribs[\"expression\"]) {\n      media.expression = attribs[\"expression\"];\n    }\n    return media;\n  });\n}\n/**\n * Get one element by tag name.\n *\n * @param tagName Tag name to look for\n * @param node Node to search in\n * @returns The element or null\n */\nfunction getOneElement(tagName, node) {\n  return getElementsByTagName(tagName, node, true, 1)[0];\n}\n/**\n * Get the text content of an element with a certain tag name.\n *\n * @param tagName Tag name to look for.\n * @param where Node to search in.\n * @param recurse Whether to recurse into child nodes.\n * @returns The text content of the element.\n */\nfunction fetch(tagName, where, recurse = false) {\n  return textContent(getElementsByTagName(tagName, where, recurse, 1)).trim();\n}\n/**\n * Adds a property to an object if it has a value.\n *\n * @param obj Object to be extended\n * @param prop Property name\n * @param tagName Tag name that contains the conditionally added property\n * @param where Element to search for the property\n * @param recurse Whether to recurse into child nodes.\n */\nfunction addConditionally(obj, prop, tagName, where, recurse = false) {\n  const val = fetch(tagName, where, recurse);\n  if (val) obj[prop] = val;\n}\n/**\n * Checks if an element is a feed root node.\n *\n * @param value The name of the element to check.\n * @returns Whether an element is a feed root node.\n */\nfunction isValidFeed(value) {\n  return value === \"rss\" || value === \"feed\" || value === \"rdf:RDF\";\n}\nvar DomUtils = /*#__PURE__*/Object.freeze({\n  __proto__: null,\n  get DocumentPosition() {\n    return DocumentPosition;\n  },\n  append: append,\n  appendChild: appendChild,\n  compareDocumentPosition: compareDocumentPosition,\n  existsOne: existsOne,\n  filter: filter,\n  find: find,\n  findAll: findAll,\n  findOne: findOne,\n  findOneChild: findOneChild,\n  getAttributeValue: getAttributeValue,\n  getChildren: getChildren,\n  getElementById: getElementById,\n  getElements: getElements,\n  getElementsByClassName: getElementsByClassName,\n  getElementsByTagName: getElementsByTagName,\n  getElementsByTagType: getElementsByTagType,\n  getFeed: getFeed,\n  getInnerHTML: getInnerHTML,\n  getName: getName,\n  getOuterHTML: getOuterHTML,\n  getParent: getParent,\n  getSiblings: getSiblings,\n  getText: getText,\n  hasAttrib: hasAttrib,\n  hasChildren: hasChildren,\n  innerText: innerText,\n  isCDATA: isCDATA,\n  isComment: isComment,\n  isDocument: isDocument,\n  isTag: isTag,\n  isText: isText,\n  nextElementSibling: nextElementSibling,\n  prepend: prepend,\n  prependChild: prependChild,\n  prevElementSibling: prevElementSibling,\n  removeElement: removeElement,\n  removeSubsets: removeSubsets,\n  replaceElement: replaceElement,\n  testElement: testElement,\n  textContent: textContent,\n  uniqueSort: uniqueSort\n});\nvar boolbase$1;\nvar hasRequiredBoolbase;\nfunction requireBoolbase() {\n  if (hasRequiredBoolbase) return boolbase$1;\n  hasRequiredBoolbase = 1;\n  boolbase$1 = {\n    trueFunc: function trueFunc() {\n      return true;\n    },\n    falseFunc: function falseFunc() {\n      return false;\n    }\n  };\n  return boolbase$1;\n}\nvar boolbaseExports = /*#__PURE__*/requireBoolbase();\nvar boolbase = /*@__PURE__*/getDefaultExportFromCjs(boolbaseExports);\nvar SelectorType = /*#__PURE__*/function (SelectorType) {\n  SelectorType[\"Attribute\"] = \"attribute\";\n  SelectorType[\"Pseudo\"] = \"pseudo\";\n  SelectorType[\"PseudoElement\"] = \"pseudo-element\";\n  SelectorType[\"Tag\"] = \"tag\";\n  SelectorType[\"Universal\"] = \"universal\";\n  // Traversals\n  SelectorType[\"Adjacent\"] = \"adjacent\";\n  SelectorType[\"Child\"] = \"child\";\n  SelectorType[\"Descendant\"] = \"descendant\";\n  SelectorType[\"Parent\"] = \"parent\";\n  SelectorType[\"Sibling\"] = \"sibling\";\n  SelectorType[\"ColumnCombinator\"] = \"column-combinator\";\n  return SelectorType;\n}(SelectorType || {});\nvar AttributeAction = /*#__PURE__*/function (AttributeAction) {\n  AttributeAction[\"Any\"] = \"any\";\n  AttributeAction[\"Element\"] = \"element\";\n  AttributeAction[\"End\"] = \"end\";\n  AttributeAction[\"Equals\"] = \"equals\";\n  AttributeAction[\"Exists\"] = \"exists\";\n  AttributeAction[\"Hyphen\"] = \"hyphen\";\n  AttributeAction[\"Not\"] = \"not\";\n  AttributeAction[\"Start\"] = \"start\";\n  return AttributeAction;\n}(AttributeAction || {});\nconst reName = /^[^\\\\#]?(?:\\\\(?:[\\da-f]{1,6}\\s?|.)|[\\w\\-\\u00b0-\\uFFFF])+/;\nconst reEscape = /\\\\([\\da-f]{1,6}\\s?|(\\s)|.)/gi;\nconst actionTypes = /*#__PURE__*/new Map([[126 /* Tilde */, AttributeAction.Element], [94 /* Circumflex */, AttributeAction.Start], [36 /* Dollar */, AttributeAction.End], [42 /* Asterisk */, AttributeAction.Any], [33 /* ExclamationMark */, AttributeAction.Not], [124 /* Pipe */, AttributeAction.Hyphen]]);\n// Pseudos, whose data property is parsed as well.\nconst unpackPseudos = /*#__PURE__*/new Set([\"has\", \"not\", \"matches\", \"is\", \"where\", \"host\", \"host-context\"]);\n/**\n * Checks whether a specific selector is a traversal.\n * This is useful eg. in swapping the order of elements that\n * are not traversals.\n *\n * @param selector Selector to check.\n */\nfunction isTraversal$1(selector) {\n  switch (selector.type) {\n    case SelectorType.Adjacent:\n    case SelectorType.Child:\n    case SelectorType.Descendant:\n    case SelectorType.Parent:\n    case SelectorType.Sibling:\n    case SelectorType.ColumnCombinator:\n      return true;\n    default:\n      return false;\n  }\n}\nconst stripQuotesFromPseudos = /*#__PURE__*/new Set([\"contains\", \"icontains\"]);\n// Unescape function taken from https://github.com/jquery/sizzle/blob/master/src/sizzle.js#L152\nfunction funescape(_, escaped, escapedWhitespace) {\n  const high = parseInt(escaped, 16) - 0x10000;\n  // NaN means non-codepoint\n  return high !== high || escapedWhitespace ? escaped : high < 0 ?\n  // BMP codepoint\n  String.fromCharCode(high + 0x10000) :\n  // Supplemental Plane codepoint (surrogate pair)\n  String.fromCharCode(high >> 10 | 0xd800, high & 0x3ff | 0xdc00);\n}\nfunction unescapeCSS(str) {\n  return str.replace(reEscape, funescape);\n}\nfunction isQuote(c) {\n  return c === 39 /* SingleQuote */ || c === 34 /* DoubleQuote */;\n}\nfunction isWhitespace$1(c) {\n  return c === 32 /* Space */ || c === 9 /* Tab */ || c === 10 /* NewLine */ || c === 12 /* FormFeed */ || c === 13 /* CarriageReturn */;\n}\n/**\n * Parses `selector`, optionally with the passed `options`.\n *\n * @param selector Selector to parse.\n * @param options Options for parsing.\n * @returns Returns a two-dimensional array.\n * The first dimension represents selectors separated by commas (eg. `sub1, sub2`),\n * the second contains the relevant tokens for that selector.\n */\nfunction parse$1(selector) {\n  const subselects = [];\n  const endIndex = parseSelector(subselects, `${selector}`, 0);\n  if (endIndex < selector.length) {\n    throw new Error(`Unmatched selector: ${selector.slice(endIndex)}`);\n  }\n  return subselects;\n}\nfunction parseSelector(subselects, selector, selectorIndex) {\n  let tokens = [];\n  function getName(offset) {\n    const match = selector.slice(selectorIndex + offset).match(reName);\n    if (!match) {\n      throw new Error(`Expected name, found ${selector.slice(selectorIndex)}`);\n    }\n    const [name] = match;\n    selectorIndex += offset + name.length;\n    return unescapeCSS(name);\n  }\n  function stripWhitespace(offset) {\n    selectorIndex += offset;\n    while (selectorIndex < selector.length && isWhitespace$1(selector.charCodeAt(selectorIndex))) {\n      selectorIndex++;\n    }\n  }\n  function readValueWithParenthesis() {\n    selectorIndex += 1;\n    const start = selectorIndex;\n    let counter = 1;\n    for (; counter > 0 && selectorIndex < selector.length; selectorIndex++) {\n      if (selector.charCodeAt(selectorIndex) === 40 /* LeftParenthesis */ && !isEscaped(selectorIndex)) {\n        counter++;\n      } else if (selector.charCodeAt(selectorIndex) === 41 /* RightParenthesis */ && !isEscaped(selectorIndex)) {\n        counter--;\n      }\n    }\n    if (counter) {\n      throw new Error(\"Parenthesis not matched\");\n    }\n    return unescapeCSS(selector.slice(start, selectorIndex - 1));\n  }\n  function isEscaped(pos) {\n    let slashCount = 0;\n    while (selector.charCodeAt(--pos) === 92 /* BackSlash */) slashCount++;\n    return (slashCount & 1) === 1;\n  }\n  function ensureNotTraversal() {\n    if (tokens.length > 0 && isTraversal$1(tokens[tokens.length - 1])) {\n      throw new Error(\"Did not expect successive traversals.\");\n    }\n  }\n  function addTraversal(type) {\n    if (tokens.length > 0 && tokens[tokens.length - 1].type === SelectorType.Descendant) {\n      tokens[tokens.length - 1].type = type;\n      return;\n    }\n    ensureNotTraversal();\n    tokens.push({\n      type\n    });\n  }\n  function addSpecialAttribute(name, action) {\n    tokens.push({\n      type: SelectorType.Attribute,\n      name,\n      action,\n      value: getName(1),\n      namespace: null,\n      ignoreCase: \"quirks\"\n    });\n  }\n  /**\n   * We have finished parsing the current part of the selector.\n   *\n   * Remove descendant tokens at the end if they exist,\n   * and return the last index, so that parsing can be\n   * picked up from here.\n   */\n  function finalizeSubselector() {\n    if (tokens.length && tokens[tokens.length - 1].type === SelectorType.Descendant) {\n      tokens.pop();\n    }\n    if (tokens.length === 0) {\n      throw new Error(\"Empty sub-selector\");\n    }\n    subselects.push(tokens);\n  }\n  stripWhitespace(0);\n  if (selector.length === selectorIndex) {\n    return selectorIndex;\n  }\n  loop: while (selectorIndex < selector.length) {\n    const firstChar = selector.charCodeAt(selectorIndex);\n    switch (firstChar) {\n      // Whitespace\n      case 32 /* Space */:\n      case 9 /* Tab */:\n      case 10 /* NewLine */:\n      case 12 /* FormFeed */:\n      case 13 /* CarriageReturn */:\n        {\n          if (tokens.length === 0 || tokens[0].type !== SelectorType.Descendant) {\n            ensureNotTraversal();\n            tokens.push({\n              type: SelectorType.Descendant\n            });\n          }\n          stripWhitespace(1);\n          break;\n        }\n      // Traversals\n      case 62 /* GreaterThan */:\n        {\n          addTraversal(SelectorType.Child);\n          stripWhitespace(1);\n          break;\n        }\n      case 60 /* LessThan */:\n        {\n          addTraversal(SelectorType.Parent);\n          stripWhitespace(1);\n          break;\n        }\n      case 126 /* Tilde */:\n        {\n          addTraversal(SelectorType.Sibling);\n          stripWhitespace(1);\n          break;\n        }\n      case 43 /* Plus */:\n        {\n          addTraversal(SelectorType.Adjacent);\n          stripWhitespace(1);\n          break;\n        }\n      // Special attribute selectors: .class, #id\n      case 46 /* Period */:\n        {\n          addSpecialAttribute(\"class\", AttributeAction.Element);\n          break;\n        }\n      case 35 /* Hash */:\n        {\n          addSpecialAttribute(\"id\", AttributeAction.Equals);\n          break;\n        }\n      case 91 /* LeftSquareBracket */:\n        {\n          stripWhitespace(1);\n          // Determine attribute name and namespace\n          let name;\n          let namespace = null;\n          if (selector.charCodeAt(selectorIndex) === 124 /* Pipe */) {\n            // Equivalent to no namespace\n            name = getName(1);\n          } else if (selector.startsWith(\"*|\", selectorIndex)) {\n            namespace = \"*\";\n            name = getName(2);\n          } else {\n            name = getName(0);\n            if (selector.charCodeAt(selectorIndex) === 124 /* Pipe */ && selector.charCodeAt(selectorIndex + 1) !== 61 /* Equal */) {\n              namespace = name;\n              name = getName(1);\n            }\n          }\n          stripWhitespace(0);\n          // Determine comparison operation\n          let action = AttributeAction.Exists;\n          const possibleAction = actionTypes.get(selector.charCodeAt(selectorIndex));\n          if (possibleAction) {\n            action = possibleAction;\n            if (selector.charCodeAt(selectorIndex + 1) !== 61 /* Equal */) {\n              throw new Error(\"Expected `=`\");\n            }\n            stripWhitespace(2);\n          } else if (selector.charCodeAt(selectorIndex) === 61 /* Equal */) {\n            action = AttributeAction.Equals;\n            stripWhitespace(1);\n          }\n          // Determine value\n          let value = \"\";\n          let ignoreCase = null;\n          if (action !== \"exists\") {\n            if (isQuote(selector.charCodeAt(selectorIndex))) {\n              const quote = selector.charCodeAt(selectorIndex);\n              let sectionEnd = selectorIndex + 1;\n              while (sectionEnd < selector.length && (selector.charCodeAt(sectionEnd) !== quote || isEscaped(sectionEnd))) {\n                sectionEnd += 1;\n              }\n              if (selector.charCodeAt(sectionEnd) !== quote) {\n                throw new Error(\"Attribute value didn't end\");\n              }\n              value = unescapeCSS(selector.slice(selectorIndex + 1, sectionEnd));\n              selectorIndex = sectionEnd + 1;\n            } else {\n              const valueStart = selectorIndex;\n              while (selectorIndex < selector.length && (!isWhitespace$1(selector.charCodeAt(selectorIndex)) && selector.charCodeAt(selectorIndex) !== 93 /* RightSquareBracket */ || isEscaped(selectorIndex))) {\n                selectorIndex += 1;\n              }\n              value = unescapeCSS(selector.slice(valueStart, selectorIndex));\n            }\n            stripWhitespace(0);\n            // See if we have a force ignore flag\n            const forceIgnore = selector.charCodeAt(selectorIndex) | 0x20;\n            // If the forceIgnore flag is set (either `i` or `s`), use that value\n            if (forceIgnore === 115 /* LowerS */) {\n              ignoreCase = false;\n              stripWhitespace(1);\n            } else if (forceIgnore === 105 /* LowerI */) {\n              ignoreCase = true;\n              stripWhitespace(1);\n            }\n          }\n          if (selector.charCodeAt(selectorIndex) !== 93 /* RightSquareBracket */) {\n            throw new Error(\"Attribute selector didn't terminate\");\n          }\n          selectorIndex += 1;\n          const attributeSelector = {\n            type: SelectorType.Attribute,\n            name,\n            action,\n            value,\n            namespace,\n            ignoreCase\n          };\n          tokens.push(attributeSelector);\n          break;\n        }\n      case 58 /* Colon */:\n        {\n          if (selector.charCodeAt(selectorIndex + 1) === 58 /* Colon */) {\n            tokens.push({\n              type: SelectorType.PseudoElement,\n              name: getName(2).toLowerCase(),\n              data: selector.charCodeAt(selectorIndex) === 40 /* LeftParenthesis */ ? readValueWithParenthesis() : null\n            });\n            continue;\n          }\n          const name = getName(1).toLowerCase();\n          let data = null;\n          if (selector.charCodeAt(selectorIndex) === 40 /* LeftParenthesis */) {\n            if (unpackPseudos.has(name)) {\n              if (isQuote(selector.charCodeAt(selectorIndex + 1))) {\n                throw new Error(`Pseudo-selector ${name} cannot be quoted`);\n              }\n              data = [];\n              selectorIndex = parseSelector(data, selector, selectorIndex + 1);\n              if (selector.charCodeAt(selectorIndex) !== 41 /* RightParenthesis */) {\n                throw new Error(`Missing closing parenthesis in :${name} (${selector})`);\n              }\n              selectorIndex += 1;\n            } else {\n              data = readValueWithParenthesis();\n              if (stripQuotesFromPseudos.has(name)) {\n                const quot = data.charCodeAt(0);\n                if (quot === data.charCodeAt(data.length - 1) && isQuote(quot)) {\n                  data = data.slice(1, -1);\n                }\n              }\n              data = unescapeCSS(data);\n            }\n          }\n          tokens.push({\n            type: SelectorType.Pseudo,\n            name,\n            data\n          });\n          break;\n        }\n      case 44 /* Comma */:\n        {\n          finalizeSubselector();\n          tokens = [];\n          stripWhitespace(1);\n          break;\n        }\n      default:\n        {\n          if (selector.startsWith(\"/*\", selectorIndex)) {\n            const endIndex = selector.indexOf(\"*/\", selectorIndex + 2);\n            if (endIndex < 0) {\n              throw new Error(\"Comment was not terminated\");\n            }\n            selectorIndex = endIndex + 2;\n            // Remove leading whitespace\n            if (tokens.length === 0) {\n              stripWhitespace(0);\n            }\n            break;\n          }\n          let namespace = null;\n          let name;\n          if (firstChar === 42 /* Asterisk */) {\n            selectorIndex += 1;\n            name = \"*\";\n          } else if (firstChar === 124 /* Pipe */) {\n            name = \"\";\n            if (selector.charCodeAt(selectorIndex + 1) === 124 /* Pipe */) {\n              addTraversal(SelectorType.ColumnCombinator);\n              stripWhitespace(2);\n              break;\n            }\n          } else if (reName.test(selector.slice(selectorIndex))) {\n            name = getName(0);\n          } else {\n            break loop;\n          }\n          if (selector.charCodeAt(selectorIndex) === 124 /* Pipe */ && selector.charCodeAt(selectorIndex + 1) !== 124 /* Pipe */) {\n            namespace = name;\n            if (selector.charCodeAt(selectorIndex + 1) === 42 /* Asterisk */) {\n              name = \"*\";\n              selectorIndex += 2;\n            } else {\n              name = getName(1);\n            }\n          }\n          tokens.push(name === \"*\" ? {\n            type: SelectorType.Universal,\n            namespace\n          } : {\n            type: SelectorType.Tag,\n            name,\n            namespace\n          });\n        }\n    }\n  }\n  finalizeSubselector();\n  return selectorIndex;\n}\nconst attribValChars = [\"\\\\\", '\"'];\nconst pseudoValChars = [...attribValChars, \"(\", \")\"];\n/*#__PURE__*/new Set(/*#__PURE__*/attribValChars.map(c => c.charCodeAt(0)));\n/*#__PURE__*/new Set(/*#__PURE__*/pseudoValChars.map(c => c.charCodeAt(0)));\n/*#__PURE__*/new Set(/*#__PURE__*/[...pseudoValChars, \"~\", \"^\", \"$\", \"*\", \"+\", \"!\", \"|\", \":\", \"[\", \"]\", \" \", \".\"].map(c => c.charCodeAt(0)));\nconst procedure = /*#__PURE__*/new Map([[SelectorType.Universal, 50], [SelectorType.Tag, 30], [SelectorType.Attribute, 1], [SelectorType.Pseudo, 0]]);\nfunction isTraversal(token) {\n  return !procedure.has(token.type);\n}\nconst attributes = /*#__PURE__*/new Map([[AttributeAction.Exists, 10], [AttributeAction.Equals, 8], [AttributeAction.Not, 7], [AttributeAction.Start, 6], [AttributeAction.End, 6], [AttributeAction.Any, 5]]);\n/**\n * Sort the parts of the passed selector,\n * as there is potential for optimization\n * (some types of selectors are faster than others)\n *\n * @param arr Selector to sort\n */\nfunction sortByProcedure(arr) {\n  const procs = arr.map(getProcedure);\n  for (let i = 1; i < arr.length; i++) {\n    const procNew = procs[i];\n    if (procNew < 0) continue;\n    for (let j = i - 1; j >= 0 && procNew < procs[j]; j--) {\n      const token = arr[j + 1];\n      arr[j + 1] = arr[j];\n      arr[j] = token;\n      procs[j + 1] = procs[j];\n      procs[j] = procNew;\n    }\n  }\n}\nfunction getProcedure(token) {\n  var _a, _b;\n  let proc = (_a = procedure.get(token.type)) !== null && _a !== void 0 ? _a : -1;\n  if (token.type === SelectorType.Attribute) {\n    proc = (_b = attributes.get(token.action)) !== null && _b !== void 0 ? _b : 4;\n    if (token.action === AttributeAction.Equals && token.name === \"id\") {\n      // Prefer ID selectors (eg. #ID)\n      proc = 9;\n    }\n    if (token.ignoreCase) {\n      /*\n       * IgnoreCase adds some overhead, prefer \"normal\" token\n       * this is a binary operation, to ensure it's still an int\n       */\n      proc >>= 1;\n    }\n  } else if (token.type === SelectorType.Pseudo) {\n    if (!token.data) {\n      proc = 3;\n    } else if (token.name === \"has\" || token.name === \"contains\") {\n      proc = 0; // Expensive in any case\n    } else if (Array.isArray(token.data)) {\n      // Eg. :matches, :not\n      proc = Math.min(...token.data.map(d => Math.min(...d.map(getProcedure))));\n      // If we have traversals, try to avoid executing this selector\n      if (proc < 0) {\n        proc = 0;\n      }\n    } else {\n      proc = 2;\n    }\n  }\n  return proc;\n}\n\n/**\n * All reserved characters in a regex, used for escaping.\n *\n * Taken from XRegExp, (c) 2007-2020 Steven Levithan under the MIT license\n * https://github.com/slevithan/xregexp/blob/95eeebeb8fac8754d54eafe2b4743661ac1cf028/src/xregexp.js#L794\n */\nconst reChars = /[-[\\]{}()*+?.,\\\\^$|#\\s]/g;\nfunction escapeRegex(value) {\n  return value.replace(reChars, \"\\\\$&\");\n}\n/**\n * Attributes that are case-insensitive in HTML.\n *\n * @private\n * @see https://html.spec.whatwg.org/multipage/semantics-other.html#case-sensitivity-of-selectors\n */\nconst caseInsensitiveAttributes = /*#__PURE__*/new Set([\"accept\", \"accept-charset\", \"align\", \"alink\", \"axis\", \"bgcolor\", \"charset\", \"checked\", \"clear\", \"codetype\", \"color\", \"compact\", \"declare\", \"defer\", \"dir\", \"direction\", \"disabled\", \"enctype\", \"face\", \"frame\", \"hreflang\", \"http-equiv\", \"lang\", \"language\", \"link\", \"media\", \"method\", \"multiple\", \"nohref\", \"noresize\", \"noshade\", \"nowrap\", \"readonly\", \"rel\", \"rev\", \"rules\", \"scope\", \"scrolling\", \"selected\", \"shape\", \"target\", \"text\", \"type\", \"valign\", \"valuetype\", \"vlink\"]);\nfunction shouldIgnoreCase(selector, options) {\n  return typeof selector.ignoreCase === \"boolean\" ? selector.ignoreCase : selector.ignoreCase === \"quirks\" ? !!options.quirksMode : !options.xmlMode && caseInsensitiveAttributes.has(selector.name);\n}\n/**\n * Attribute selectors\n */\nconst attributeRules = {\n  equals(next, data, options) {\n    const {\n      adapter\n    } = options;\n    const {\n      name\n    } = data;\n    let {\n      value\n    } = data;\n    if (shouldIgnoreCase(data, options)) {\n      value = value.toLowerCase();\n      return elem => {\n        const attr = adapter.getAttributeValue(elem, name);\n        return attr != null && attr.length === value.length && attr.toLowerCase() === value && next(elem);\n      };\n    }\n    return elem => adapter.getAttributeValue(elem, name) === value && next(elem);\n  },\n  hyphen(next, data, options) {\n    const {\n      adapter\n    } = options;\n    const {\n      name\n    } = data;\n    let {\n      value\n    } = data;\n    const len = value.length;\n    if (shouldIgnoreCase(data, options)) {\n      value = value.toLowerCase();\n      return function hyphenIC(elem) {\n        const attr = adapter.getAttributeValue(elem, name);\n        return attr != null && (attr.length === len || attr.charAt(len) === \"-\") && attr.substr(0, len).toLowerCase() === value && next(elem);\n      };\n    }\n    return function hyphen(elem) {\n      const attr = adapter.getAttributeValue(elem, name);\n      return attr != null && (attr.length === len || attr.charAt(len) === \"-\") && attr.substr(0, len) === value && next(elem);\n    };\n  },\n  element(next, data, options) {\n    const {\n      adapter\n    } = options;\n    const {\n      name,\n      value\n    } = data;\n    if (/\\s/.test(value)) {\n      return boolbase.falseFunc;\n    }\n    const regex = new RegExp(`(?:^|\\\\s)${escapeRegex(value)}(?:$|\\\\s)`, shouldIgnoreCase(data, options) ? \"i\" : \"\");\n    return function element(elem) {\n      const attr = adapter.getAttributeValue(elem, name);\n      return attr != null && attr.length >= value.length && regex.test(attr) && next(elem);\n    };\n  },\n  exists(next, {\n    name\n  }, {\n    adapter\n  }) {\n    return elem => adapter.hasAttrib(elem, name) && next(elem);\n  },\n  start(next, data, options) {\n    const {\n      adapter\n    } = options;\n    const {\n      name\n    } = data;\n    let {\n      value\n    } = data;\n    const len = value.length;\n    if (len === 0) {\n      return boolbase.falseFunc;\n    }\n    if (shouldIgnoreCase(data, options)) {\n      value = value.toLowerCase();\n      return elem => {\n        const attr = adapter.getAttributeValue(elem, name);\n        return attr != null && attr.length >= len && attr.substr(0, len).toLowerCase() === value && next(elem);\n      };\n    }\n    return elem => {\n      var _a;\n      return !!((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.startsWith(value)) && next(elem);\n    };\n  },\n  end(next, data, options) {\n    const {\n      adapter\n    } = options;\n    const {\n      name\n    } = data;\n    let {\n      value\n    } = data;\n    const len = -value.length;\n    if (len === 0) {\n      return boolbase.falseFunc;\n    }\n    if (shouldIgnoreCase(data, options)) {\n      value = value.toLowerCase();\n      return elem => {\n        var _a;\n        return ((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.substr(len).toLowerCase()) === value && next(elem);\n      };\n    }\n    return elem => {\n      var _a;\n      return !!((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.endsWith(value)) && next(elem);\n    };\n  },\n  any(next, data, options) {\n    const {\n      adapter\n    } = options;\n    const {\n      name,\n      value\n    } = data;\n    if (value === \"\") {\n      return boolbase.falseFunc;\n    }\n    if (shouldIgnoreCase(data, options)) {\n      const regex = new RegExp(escapeRegex(value), \"i\");\n      return function anyIC(elem) {\n        const attr = adapter.getAttributeValue(elem, name);\n        return attr != null && attr.length >= value.length && regex.test(attr) && next(elem);\n      };\n    }\n    return elem => {\n      var _a;\n      return !!((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.includes(value)) && next(elem);\n    };\n  },\n  not(next, data, options) {\n    const {\n      adapter\n    } = options;\n    const {\n      name\n    } = data;\n    let {\n      value\n    } = data;\n    if (value === \"\") {\n      return elem => !!adapter.getAttributeValue(elem, name) && next(elem);\n    } else if (shouldIgnoreCase(data, options)) {\n      value = value.toLowerCase();\n      return elem => {\n        const attr = adapter.getAttributeValue(elem, name);\n        return (attr == null || attr.length !== value.length || attr.toLowerCase() !== value) && next(elem);\n      };\n    }\n    return elem => adapter.getAttributeValue(elem, name) !== value && next(elem);\n  }\n};\n\n// Following http://www.w3.org/TR/css3-selectors/#nth-child-pseudo\n// Whitespace as per https://www.w3.org/TR/selectors-3/#lex is \" \\t\\r\\n\\f\"\nconst whitespace = /*#__PURE__*/new Set([9, 10, 12, 13, 32]);\nconst ZERO = /*#__PURE__*/\"0\".charCodeAt(0);\nconst NINE = /*#__PURE__*/\"9\".charCodeAt(0);\n/**\n * Parses an expression.\n *\n * @throws An `Error` if parsing fails.\n * @returns An array containing the integer step size and the integer offset of the nth rule.\n * @example nthCheck.parse(\"2n+3\"); // returns [2, 3]\n */\nfunction parse(formula) {\n  formula = formula.trim().toLowerCase();\n  if (formula === \"even\") {\n    return [2, 0];\n  } else if (formula === \"odd\") {\n    return [2, 1];\n  }\n  // Parse [ ['-'|'+']? INTEGER? {N} [ S* ['-'|'+'] S* INTEGER ]?\n  let idx = 0;\n  let a = 0;\n  let sign = readSign();\n  let number = readNumber();\n  if (idx < formula.length && formula.charAt(idx) === \"n\") {\n    idx++;\n    a = sign * (number !== null && number !== void 0 ? number : 1);\n    skipWhitespace();\n    if (idx < formula.length) {\n      sign = readSign();\n      skipWhitespace();\n      number = readNumber();\n    } else {\n      sign = number = 0;\n    }\n  }\n  // Throw if there is anything else\n  if (number === null || idx < formula.length) {\n    throw new Error(`n-th rule couldn't be parsed ('${formula}')`);\n  }\n  return [a, sign * number];\n  function readSign() {\n    if (formula.charAt(idx) === \"-\") {\n      idx++;\n      return -1;\n    }\n    if (formula.charAt(idx) === \"+\") {\n      idx++;\n    }\n    return 1;\n  }\n  function readNumber() {\n    const start = idx;\n    let value = 0;\n    while (idx < formula.length && formula.charCodeAt(idx) >= ZERO && formula.charCodeAt(idx) <= NINE) {\n      value = value * 10 + (formula.charCodeAt(idx) - ZERO);\n      idx++;\n    }\n    // Return `null` if we didn't read anything.\n    return idx === start ? null : value;\n  }\n  function skipWhitespace() {\n    while (idx < formula.length && whitespace.has(formula.charCodeAt(idx))) {\n      idx++;\n    }\n  }\n}\n\n/**\n * Returns a function that checks if an elements index matches the given rule\n * highly optimized to return the fastest solution.\n *\n * @param parsed A tuple [a, b], as returned by `parse`.\n * @returns A highly optimized function that returns whether an index matches the nth-check.\n * @example\n *\n * ```js\n * const check = nthCheck.compile([2, 3]);\n *\n * check(0); // `false`\n * check(1); // `false`\n * check(2); // `true`\n * check(3); // `false`\n * check(4); // `true`\n * check(5); // `false`\n * check(6); // `true`\n * ```\n */\nfunction compile(parsed) {\n  const a = parsed[0];\n  // Subtract 1 from `b`, to convert from one- to zero-indexed.\n  const b = parsed[1] - 1;\n  /*\n   * When `b <= 0`, `a * n` won't be lead to any matches for `a < 0`.\n   * Besides, the specification states that no elements are\n   * matched when `a` and `b` are 0.\n   *\n   * `b < 0` here as we subtracted 1 from `b` above.\n   */\n  if (b < 0 && a <= 0) return boolbase.falseFunc;\n  // When `a` is in the range -1..1, it matches any element (so only `b` is checked).\n  if (a === -1) return index => index <= b;\n  if (a === 0) return index => index === b;\n  // When `b <= 0` and `a === 1`, they match any element.\n  if (a === 1) return b < 0 ? boolbase.trueFunc : index => index >= b;\n  /*\n   * Otherwise, modulo can be used to check if there is a match.\n   *\n   * Modulo doesn't care about the sign, so let's use `a`s absolute value.\n   */\n  const absA = Math.abs(a);\n  // Get `b mod a`, + a if this is negative.\n  const bMod = (b % absA + absA) % absA;\n  return a > 1 ? index => index >= b && index % absA === bMod : index => index <= b && index % absA === bMod;\n}\n\n/**\n * Parses and compiles a formula to a highly optimized function.\n * Combination of {@link parse} and {@link compile}.\n *\n * If the formula doesn't match any elements,\n * it returns [`boolbase`](https://github.com/fb55/boolbase)'s `falseFunc`.\n * Otherwise, a function accepting an _index_ is returned, which returns\n * whether or not the passed _index_ matches the formula.\n *\n * Note: The nth-rule starts counting at `1`, the returned function at `0`.\n *\n * @param formula The formula to compile.\n * @example\n * const check = nthCheck(\"2n+3\");\n *\n * check(0); // `false`\n * check(1); // `false`\n * check(2); // `true`\n * check(3); // `false`\n * check(4); // `true`\n * check(5); // `false`\n * check(6); // `true`\n */\nfunction nthCheck(formula) {\n  return compile(parse(formula));\n}\nfunction getChildFunc(next, adapter) {\n  return elem => {\n    const parent = adapter.getParent(elem);\n    return parent != null && adapter.isTag(parent) && next(elem);\n  };\n}\nconst filters = {\n  contains(next, text, {\n    adapter\n  }) {\n    return function contains(elem) {\n      return next(elem) && adapter.getText(elem).includes(text);\n    };\n  },\n  icontains(next, text, {\n    adapter\n  }) {\n    const itext = text.toLowerCase();\n    return function icontains(elem) {\n      return next(elem) && adapter.getText(elem).toLowerCase().includes(itext);\n    };\n  },\n  // Location specific methods\n  \"nth-child\"(next, rule, {\n    adapter,\n    equals\n  }) {\n    const func = nthCheck(rule);\n    if (func === boolbase.falseFunc) return boolbase.falseFunc;\n    if (func === boolbase.trueFunc) return getChildFunc(next, adapter);\n    return function nthChild(elem) {\n      const siblings = adapter.getSiblings(elem);\n      let pos = 0;\n      for (let i = 0; i < siblings.length; i++) {\n        if (equals(elem, siblings[i])) break;\n        if (adapter.isTag(siblings[i])) {\n          pos++;\n        }\n      }\n      return func(pos) && next(elem);\n    };\n  },\n  \"nth-last-child\"(next, rule, {\n    adapter,\n    equals\n  }) {\n    const func = nthCheck(rule);\n    if (func === boolbase.falseFunc) return boolbase.falseFunc;\n    if (func === boolbase.trueFunc) return getChildFunc(next, adapter);\n    return function nthLastChild(elem) {\n      const siblings = adapter.getSiblings(elem);\n      let pos = 0;\n      for (let i = siblings.length - 1; i >= 0; i--) {\n        if (equals(elem, siblings[i])) break;\n        if (adapter.isTag(siblings[i])) {\n          pos++;\n        }\n      }\n      return func(pos) && next(elem);\n    };\n  },\n  \"nth-of-type\"(next, rule, {\n    adapter,\n    equals\n  }) {\n    const func = nthCheck(rule);\n    if (func === boolbase.falseFunc) return boolbase.falseFunc;\n    if (func === boolbase.trueFunc) return getChildFunc(next, adapter);\n    return function nthOfType(elem) {\n      const siblings = adapter.getSiblings(elem);\n      let pos = 0;\n      for (let i = 0; i < siblings.length; i++) {\n        const currentSibling = siblings[i];\n        if (equals(elem, currentSibling)) break;\n        if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === adapter.getName(elem)) {\n          pos++;\n        }\n      }\n      return func(pos) && next(elem);\n    };\n  },\n  \"nth-last-of-type\"(next, rule, {\n    adapter,\n    equals\n  }) {\n    const func = nthCheck(rule);\n    if (func === boolbase.falseFunc) return boolbase.falseFunc;\n    if (func === boolbase.trueFunc) return getChildFunc(next, adapter);\n    return function nthLastOfType(elem) {\n      const siblings = adapter.getSiblings(elem);\n      let pos = 0;\n      for (let i = siblings.length - 1; i >= 0; i--) {\n        const currentSibling = siblings[i];\n        if (equals(elem, currentSibling)) break;\n        if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === adapter.getName(elem)) {\n          pos++;\n        }\n      }\n      return func(pos) && next(elem);\n    };\n  },\n  // TODO determine the actual root element\n  root(next, _rule, {\n    adapter\n  }) {\n    return elem => {\n      const parent = adapter.getParent(elem);\n      return (parent == null || !adapter.isTag(parent)) && next(elem);\n    };\n  },\n  scope(next, rule, options, context) {\n    const {\n      equals\n    } = options;\n    if (!context || context.length === 0) {\n      // Equivalent to :root\n      return filters[\"root\"](next, rule, options);\n    }\n    if (context.length === 1) {\n      // NOTE: can't be unpacked, as :has uses this for side-effects\n      return elem => equals(context[0], elem) && next(elem);\n    }\n    return elem => context.includes(elem) && next(elem);\n  },\n  hover: /*#__PURE__*/dynamicStatePseudo(\"isHovered\"),\n  visited: /*#__PURE__*/dynamicStatePseudo(\"isVisited\"),\n  active: /*#__PURE__*/dynamicStatePseudo(\"isActive\")\n};\n/**\n * Dynamic state pseudos. These depend on optional Adapter methods.\n *\n * @param name The name of the adapter method to call.\n * @returns Pseudo for the `filters` object.\n */\nfunction dynamicStatePseudo(name) {\n  return function dynamicPseudo(next, _rule, {\n    adapter\n  }) {\n    const func = adapter[name];\n    if (typeof func !== \"function\") {\n      return boolbase.falseFunc;\n    }\n    return function active(elem) {\n      return func(elem) && next(elem);\n    };\n  };\n}\n\n// While filters are precompiled, pseudos get called when they are needed\nconst pseudos = {\n  empty(elem, {\n    adapter\n  }) {\n    return !adapter.getChildren(elem).some(elem =>\n    // FIXME: `getText` call is potentially expensive.\n    adapter.isTag(elem) || adapter.getText(elem) !== \"\");\n  },\n  \"first-child\"(elem, {\n    adapter,\n    equals\n  }) {\n    if (adapter.prevElementSibling) {\n      return adapter.prevElementSibling(elem) == null;\n    }\n    const firstChild = adapter.getSiblings(elem).find(elem => adapter.isTag(elem));\n    return firstChild != null && equals(elem, firstChild);\n  },\n  \"last-child\"(elem, {\n    adapter,\n    equals\n  }) {\n    const siblings = adapter.getSiblings(elem);\n    for (let i = siblings.length - 1; i >= 0; i--) {\n      if (equals(elem, siblings[i])) return true;\n      if (adapter.isTag(siblings[i])) break;\n    }\n    return false;\n  },\n  \"first-of-type\"(elem, {\n    adapter,\n    equals\n  }) {\n    const siblings = adapter.getSiblings(elem);\n    const elemName = adapter.getName(elem);\n    for (let i = 0; i < siblings.length; i++) {\n      const currentSibling = siblings[i];\n      if (equals(elem, currentSibling)) return true;\n      if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === elemName) {\n        break;\n      }\n    }\n    return false;\n  },\n  \"last-of-type\"(elem, {\n    adapter,\n    equals\n  }) {\n    const siblings = adapter.getSiblings(elem);\n    const elemName = adapter.getName(elem);\n    for (let i = siblings.length - 1; i >= 0; i--) {\n      const currentSibling = siblings[i];\n      if (equals(elem, currentSibling)) return true;\n      if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === elemName) {\n        break;\n      }\n    }\n    return false;\n  },\n  \"only-of-type\"(elem, {\n    adapter,\n    equals\n  }) {\n    const elemName = adapter.getName(elem);\n    return adapter.getSiblings(elem).every(sibling => equals(elem, sibling) || !adapter.isTag(sibling) || adapter.getName(sibling) !== elemName);\n  },\n  \"only-child\"(elem, {\n    adapter,\n    equals\n  }) {\n    return adapter.getSiblings(elem).every(sibling => equals(elem, sibling) || !adapter.isTag(sibling));\n  }\n};\nfunction verifyPseudoArgs(func, name, subselect, argIndex) {\n  if (subselect === null) {\n    if (func.length > argIndex) {\n      throw new Error(`Pseudo-class :${name} requires an argument`);\n    }\n  } else if (func.length === argIndex) {\n    throw new Error(`Pseudo-class :${name} doesn't have any arguments`);\n  }\n}\n\n/**\n * Aliases are pseudos that are expressed as selectors.\n */\nconst aliases = {\n  // Links\n  \"any-link\": \":is(a, area, link)[href]\",\n  link: \":any-link:not(:visited)\",\n  // Forms\n  // https://html.spec.whatwg.org/multipage/scripting.html#disabled-elements\n  disabled: `:is(\n        :is(button, input, select, textarea, optgroup, option)[disabled],\n        optgroup[disabled] > option,\n        fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)\n    )`,\n  enabled: \":not(:disabled)\",\n  checked: \":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)\",\n  required: \":is(input, select, textarea)[required]\",\n  optional: \":is(input, select, textarea):not([required])\",\n  // JQuery extensions\n  // https://html.spec.whatwg.org/multipage/form-elements.html#concept-option-selectedness\n  selected: \"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)\",\n  checkbox: \"[type=checkbox]\",\n  file: \"[type=file]\",\n  password: \"[type=password]\",\n  radio: \"[type=radio]\",\n  reset: \"[type=reset]\",\n  image: \"[type=image]\",\n  submit: \"[type=submit]\",\n  parent: \":not(:empty)\",\n  header: \":is(h1, h2, h3, h4, h5, h6)\",\n  button: \":is(button, input[type=button])\",\n  input: \":is(input, textarea, select, button)\",\n  text: \"input:is(:not([type!='']), [type=text])\"\n};\n\n/** Used as a placeholder for :has. Will be replaced with the actual element. */\nconst PLACEHOLDER_ELEMENT = {};\nfunction ensureIsTag(next, adapter) {\n  if (next === boolbase.falseFunc) return boolbase.falseFunc;\n  return elem => adapter.isTag(elem) && next(elem);\n}\nfunction getNextSiblings(elem, adapter) {\n  const siblings = adapter.getSiblings(elem);\n  if (siblings.length <= 1) return [];\n  const elemIndex = siblings.indexOf(elem);\n  if (elemIndex < 0 || elemIndex === siblings.length - 1) return [];\n  return siblings.slice(elemIndex + 1).filter(adapter.isTag);\n}\nfunction copyOptions(options) {\n  // Not copied: context, rootFunc\n  return {\n    xmlMode: !!options.xmlMode,\n    lowerCaseAttributeNames: !!options.lowerCaseAttributeNames,\n    lowerCaseTags: !!options.lowerCaseTags,\n    quirksMode: !!options.quirksMode,\n    cacheResults: !!options.cacheResults,\n    pseudos: options.pseudos,\n    adapter: options.adapter,\n    equals: options.equals\n  };\n}\nconst is = (next, token, options, context, compileToken) => {\n  const func = compileToken(token, copyOptions(options), context);\n  return func === boolbase.trueFunc ? next : func === boolbase.falseFunc ? boolbase.falseFunc : elem => func(elem) && next(elem);\n};\n/*\n * :not, :has, :is, :matches and :where have to compile selectors\n * doing this in src/pseudos.ts would lead to circular dependencies,\n * so we add them here\n */\nconst subselects = {\n  is,\n  /**\n   * `:matches` and `:where` are aliases for `:is`.\n   */\n  matches: is,\n  where: is,\n  not(next, token, options, context, compileToken) {\n    const func = compileToken(token, copyOptions(options), context);\n    return func === boolbase.falseFunc ? next : func === boolbase.trueFunc ? boolbase.falseFunc : elem => !func(elem) && next(elem);\n  },\n  has(next, subselect, options, _context, compileToken) {\n    const {\n      adapter\n    } = options;\n    const opts = copyOptions(options);\n    opts.relativeSelector = true;\n    const context = subselect.some(s => s.some(isTraversal)) ?\n    // Used as a placeholder. Will be replaced with the actual element.\n    [PLACEHOLDER_ELEMENT] : undefined;\n    const compiled = compileToken(subselect, opts, context);\n    if (compiled === boolbase.falseFunc) return boolbase.falseFunc;\n    const hasElement = ensureIsTag(compiled, adapter);\n    // If `compiled` is `trueFunc`, we can skip this.\n    if (context && compiled !== boolbase.trueFunc) {\n      /*\n       * `shouldTestNextSiblings` will only be true if the query starts with\n       * a traversal (sibling or adjacent). That means we will always have a context.\n       */\n      const {\n        shouldTestNextSiblings = false\n      } = compiled;\n      return elem => {\n        if (!next(elem)) return false;\n        context[0] = elem;\n        const childs = adapter.getChildren(elem);\n        const nextElements = shouldTestNextSiblings ? [...childs, ...getNextSiblings(elem, adapter)] : childs;\n        return adapter.existsOne(hasElement, nextElements);\n      };\n    }\n    return elem => next(elem) && adapter.existsOne(hasElement, adapter.getChildren(elem));\n  }\n};\nfunction compilePseudoSelector(next, selector, options, context, compileToken) {\n  var _a;\n  const {\n    name,\n    data\n  } = selector;\n  if (Array.isArray(data)) {\n    if (!(name in subselects)) {\n      throw new Error(`Unknown pseudo-class :${name}(${data})`);\n    }\n    return subselects[name](next, data, options, context, compileToken);\n  }\n  const userPseudo = (_a = options.pseudos) === null || _a === void 0 ? void 0 : _a[name];\n  const stringPseudo = typeof userPseudo === \"string\" ? userPseudo : aliases[name];\n  if (typeof stringPseudo === \"string\") {\n    if (data != null) {\n      throw new Error(`Pseudo ${name} doesn't have any arguments`);\n    }\n    // The alias has to be parsed here, to make sure options are respected.\n    const alias = parse$1(stringPseudo);\n    return subselects[\"is\"](next, alias, options, context, compileToken);\n  }\n  if (typeof userPseudo === \"function\") {\n    verifyPseudoArgs(userPseudo, name, data, 1);\n    return elem => userPseudo(elem, data) && next(elem);\n  }\n  if (name in filters) {\n    return filters[name](next, data, options, context);\n  }\n  if (name in pseudos) {\n    const pseudo = pseudos[name];\n    verifyPseudoArgs(pseudo, name, data, 2);\n    return elem => pseudo(elem, options, data) && next(elem);\n  }\n  throw new Error(`Unknown pseudo-class :${name}`);\n}\nfunction getElementParent(node, adapter) {\n  const parent = adapter.getParent(node);\n  if (parent && adapter.isTag(parent)) {\n    return parent;\n  }\n  return null;\n}\n/*\n * All available rules\n */\nfunction compileGeneralSelector(next, selector, options, context, compileToken) {\n  const {\n    adapter,\n    equals\n  } = options;\n  switch (selector.type) {\n    case SelectorType.PseudoElement:\n      {\n        throw new Error(\"Pseudo-elements are not supported by css-select\");\n      }\n    case SelectorType.ColumnCombinator:\n      {\n        throw new Error(\"Column combinators are not yet supported by css-select\");\n      }\n    case SelectorType.Attribute:\n      {\n        if (selector.namespace != null) {\n          throw new Error(\"Namespaced attributes are not yet supported by css-select\");\n        }\n        if (!options.xmlMode || options.lowerCaseAttributeNames) {\n          selector.name = selector.name.toLowerCase();\n        }\n        return attributeRules[selector.action](next, selector, options);\n      }\n    case SelectorType.Pseudo:\n      {\n        return compilePseudoSelector(next, selector, options, context, compileToken);\n      }\n    // Tags\n    case SelectorType.Tag:\n      {\n        if (selector.namespace != null) {\n          throw new Error(\"Namespaced tag names are not yet supported by css-select\");\n        }\n        let {\n          name\n        } = selector;\n        if (!options.xmlMode || options.lowerCaseTags) {\n          name = name.toLowerCase();\n        }\n        return function tag(elem) {\n          return adapter.getName(elem) === name && next(elem);\n        };\n      }\n    // Traversal\n    case SelectorType.Descendant:\n      {\n        if (options.cacheResults === false || typeof WeakSet === \"undefined\") {\n          return function descendant(elem) {\n            let current = elem;\n            while (current = getElementParent(current, adapter)) {\n              if (next(current)) {\n                return true;\n              }\n            }\n            return false;\n          };\n        }\n        // @ts-expect-error `ElementNode` is not extending object\n        const isFalseCache = new WeakSet();\n        return function cachedDescendant(elem) {\n          let current = elem;\n          while (current = getElementParent(current, adapter)) {\n            if (!isFalseCache.has(current)) {\n              if (adapter.isTag(current) && next(current)) {\n                return true;\n              }\n              isFalseCache.add(current);\n            }\n          }\n          return false;\n        };\n      }\n    case \"_flexibleDescendant\":\n      {\n        // Include element itself, only used while querying an array\n        return function flexibleDescendant(elem) {\n          let current = elem;\n          do {\n            if (next(current)) return true;\n          } while (current = getElementParent(current, adapter));\n          return false;\n        };\n      }\n    case SelectorType.Parent:\n      {\n        return function parent(elem) {\n          return adapter.getChildren(elem).some(elem => adapter.isTag(elem) && next(elem));\n        };\n      }\n    case SelectorType.Child:\n      {\n        return function child(elem) {\n          const parent = adapter.getParent(elem);\n          return parent != null && adapter.isTag(parent) && next(parent);\n        };\n      }\n    case SelectorType.Sibling:\n      {\n        return function sibling(elem) {\n          const siblings = adapter.getSiblings(elem);\n          for (let i = 0; i < siblings.length; i++) {\n            const currentSibling = siblings[i];\n            if (equals(elem, currentSibling)) break;\n            if (adapter.isTag(currentSibling) && next(currentSibling)) {\n              return true;\n            }\n          }\n          return false;\n        };\n      }\n    case SelectorType.Adjacent:\n      {\n        if (adapter.prevElementSibling) {\n          return function adjacent(elem) {\n            const previous = adapter.prevElementSibling(elem);\n            return previous != null && next(previous);\n          };\n        }\n        return function adjacent(elem) {\n          const siblings = adapter.getSiblings(elem);\n          let lastElement;\n          for (let i = 0; i < siblings.length; i++) {\n            const currentSibling = siblings[i];\n            if (equals(elem, currentSibling)) break;\n            if (adapter.isTag(currentSibling)) {\n              lastElement = currentSibling;\n            }\n          }\n          return !!lastElement && next(lastElement);\n        };\n      }\n    case SelectorType.Universal:\n      {\n        if (selector.namespace != null && selector.namespace !== \"*\") {\n          throw new Error(\"Namespaced universal selectors are not yet supported by css-select\");\n        }\n        return next;\n      }\n  }\n}\nfunction compileUnsafe(selector, options, context) {\n  const token = typeof selector === \"string\" ? parse$1(selector) : selector;\n  return compileToken(token, options, context);\n}\nfunction includesScopePseudo(t) {\n  return t.type === SelectorType.Pseudo && (t.name === \"scope\" || Array.isArray(t.data) && t.data.some(data => data.some(includesScopePseudo)));\n}\nconst DESCENDANT_TOKEN = {\n  type: SelectorType.Descendant\n};\nconst FLEXIBLE_DESCENDANT_TOKEN = {\n  type: \"_flexibleDescendant\"\n};\nconst SCOPE_TOKEN = {\n  type: SelectorType.Pseudo,\n  name: \"scope\",\n  data: null\n};\n/*\n * CSS 4 Spec (Draft): 3.4.1. Absolutizing a Relative Selector\n * http://www.w3.org/TR/selectors4/#absolutizing\n */\nfunction absolutize(token, {\n  adapter\n}, context) {\n  // TODO Use better check if the context is a document\n  const hasContext = !!(context === null || context === void 0 ? void 0 : context.every(e => {\n    const parent = adapter.isTag(e) && adapter.getParent(e);\n    return e === PLACEHOLDER_ELEMENT || parent && adapter.isTag(parent);\n  }));\n  for (const t of token) {\n    if (t.length > 0 && isTraversal(t[0]) && t[0].type !== SelectorType.Descendant) ;else if (hasContext && !t.some(includesScopePseudo)) {\n      t.unshift(DESCENDANT_TOKEN);\n    } else {\n      continue;\n    }\n    t.unshift(SCOPE_TOKEN);\n  }\n}\nfunction compileToken(token, options, context) {\n  var _a;\n  token.forEach(sortByProcedure);\n  context = (_a = options.context) !== null && _a !== void 0 ? _a : context;\n  const isArrayContext = Array.isArray(context);\n  const finalContext = context && (Array.isArray(context) ? context : [context]);\n  // Check if the selector is relative\n  if (options.relativeSelector !== false) {\n    absolutize(token, options, finalContext);\n  } else if (token.some(t => t.length > 0 && isTraversal(t[0]))) {\n    throw new Error(\"Relative selectors are not allowed when the `relativeSelector` option is disabled\");\n  }\n  let shouldTestNextSiblings = false;\n  const query = token.map(rules => {\n    if (rules.length >= 2) {\n      const [first, second] = rules;\n      if (first.type !== SelectorType.Pseudo || first.name !== \"scope\") ;else if (isArrayContext && second.type === SelectorType.Descendant) {\n        rules[1] = FLEXIBLE_DESCENDANT_TOKEN;\n      } else if (second.type === SelectorType.Adjacent || second.type === SelectorType.Sibling) {\n        shouldTestNextSiblings = true;\n      }\n    }\n    return compileRules(rules, options, finalContext);\n  }).reduce(reduceRules, boolbase.falseFunc);\n  query.shouldTestNextSiblings = shouldTestNextSiblings;\n  return query;\n}\nfunction compileRules(rules, options, context) {\n  var _a;\n  return rules.reduce((previous, rule) => previous === boolbase.falseFunc ? boolbase.falseFunc : compileGeneralSelector(previous, rule, options, context, compileToken), (_a = options.rootFunc) !== null && _a !== void 0 ? _a : boolbase.trueFunc);\n}\nfunction reduceRules(a, b) {\n  if (b === boolbase.falseFunc || a === boolbase.trueFunc) {\n    return a;\n  }\n  if (a === boolbase.falseFunc || b === boolbase.trueFunc) {\n    return b;\n  }\n  return function combine(elem) {\n    return a(elem) || b(elem);\n  };\n}\nconst defaultEquals = (a, b) => a === b;\nconst defaultOptions = {\n  adapter: DomUtils,\n  equals: defaultEquals\n};\nfunction convertOptionFormats(options) {\n  var _a, _b, _c, _d;\n  /*\n   * We force one format of options to the other one.\n   */\n  // @ts-expect-error Default options may have incompatible `Node` / `ElementNode`.\n  const opts = options !== null && options !== void 0 ? options : defaultOptions;\n  // @ts-expect-error Same as above.\n  (_a = opts.adapter) !== null && _a !== void 0 ? _a : opts.adapter = DomUtils;\n  // @ts-expect-error `equals` does not exist on `Options`\n  (_b = opts.equals) !== null && _b !== void 0 ? _b : opts.equals = (_d = (_c = opts.adapter) === null || _c === void 0 ? void 0 : _c.equals) !== null && _d !== void 0 ? _d : defaultEquals;\n  return opts;\n}\nfunction getSelectorFunc(searchFunc) {\n  return function select(query, elements, options) {\n    const opts = convertOptionFormats(options);\n    if (typeof query !== \"function\") {\n      query = compileUnsafe(query, opts, elements);\n    }\n    const filteredElements = prepareContext(elements, opts.adapter, query.shouldTestNextSiblings);\n    return searchFunc(query, filteredElements, opts);\n  };\n}\nfunction prepareContext(elems, adapter, shouldTestNextSiblings = false) {\n  /*\n   * Add siblings if the query requires them.\n   * See https://github.com/fb55/css-select/pull/43#issuecomment-225414692\n   */\n  if (shouldTestNextSiblings) {\n    elems = appendNextSiblings(elems, adapter);\n  }\n  return Array.isArray(elems) ? adapter.removeSubsets(elems) : adapter.getChildren(elems);\n}\nfunction appendNextSiblings(elem, adapter) {\n  // Order matters because jQuery seems to check the children before the siblings\n  const elems = Array.isArray(elem) ? elem.slice(0) : [elem];\n  const elemsLength = elems.length;\n  for (let i = 0; i < elemsLength; i++) {\n    const nextSiblings = getNextSiblings(elems[i], adapter);\n    elems.push(...nextSiblings);\n  }\n  return elems;\n}\n/**\n * @template Node The generic Node type for the DOM adapter being used.\n * @template ElementNode The Node type for elements for the DOM adapter being used.\n * @param elems Elements to query. If it is an element, its children will be queried..\n * @param query can be either a CSS selector string or a compiled query function.\n * @param [options] options for querying the document.\n * @see compile for supported selector queries.\n * @returns All matching elements.\n *\n */\nconst selectAll = /*#__PURE__*/getSelectorFunc((query, elems, options) => query === boolbase.falseFunc || !elems || elems.length === 0 ? [] : options.adapter.findAll(query, elems));\n/**\n * @template Node The generic Node type for the DOM adapter being used.\n * @template ElementNode The Node type for elements for the DOM adapter being used.\n * @param elems Elements to query. If it is an element, its children will be queried..\n * @param query can be either a CSS selector string or a compiled query function.\n * @param [options] options for querying the document.\n * @see compile for supported selector queries.\n * @returns the first match, or null if there was no match.\n */\nconst selectOne = /*#__PURE__*/getSelectorFunc((query, elems, options) => query === boolbase.falseFunc || !elems || elems.length === 0 ? null : options.adapter.findOne(query, elems));\n\n// Generated using scripts/write-decode-map.ts\nconst htmlDecodeTree = /* #__PURE__ */new Uint16Array(\n// prettier-ignore\n/* #__PURE__ */\n/*#__PURE__*/\"\\u1d41<\\xd5\\u0131\\u028a\\u049d\\u057b\\u05d0\\u0675\\u06de\\u07a2\\u07d6\\u080f\\u0a4a\\u0a91\\u0da1\\u0e6d\\u0f09\\u0f26\\u10ca\\u1228\\u12e1\\u1415\\u149d\\u14c3\\u14df\\u1525\\0\\0\\0\\0\\0\\0\\u156b\\u16cd\\u198d\\u1c12\\u1ddd\\u1f7e\\u2060\\u21b0\\u228d\\u23c0\\u23fb\\u2442\\u2824\\u2912\\u2d08\\u2e48\\u2fce\\u3016\\u32ba\\u3639\\u37ac\\u38fe\\u3a28\\u3a71\\u3ae0\\u3b2e\\u0800EMabcfglmnoprstu\\\\bfms\\x7f\\x84\\x8b\\x90\\x95\\x98\\xa6\\xb3\\xb9\\xc8\\xcflig\\u803b\\xc6\\u40c6P\\u803b&\\u4026cute\\u803b\\xc1\\u40c1reve;\\u4102\\u0100iyx}rc\\u803b\\xc2\\u40c2;\\u4410r;\\uc000\\ud835\\udd04rave\\u803b\\xc0\\u40c0pha;\\u4391acr;\\u4100d;\\u6a53\\u0100gp\\x9d\\xa1on;\\u4104f;\\uc000\\ud835\\udd38plyFunction;\\u6061ing\\u803b\\xc5\\u40c5\\u0100cs\\xbe\\xc3r;\\uc000\\ud835\\udc9cign;\\u6254ilde\\u803b\\xc3\\u40c3ml\\u803b\\xc4\\u40c4\\u0400aceforsu\\xe5\\xfb\\xfe\\u0117\\u011c\\u0122\\u0127\\u012a\\u0100cr\\xea\\xf2kslash;\\u6216\\u0176\\xf6\\xf8;\\u6ae7ed;\\u6306y;\\u4411\\u0180crt\\u0105\\u010b\\u0114ause;\\u6235noullis;\\u612ca;\\u4392r;\\uc000\\ud835\\udd05pf;\\uc000\\ud835\\udd39eve;\\u42d8c\\xf2\\u0113mpeq;\\u624e\\u0700HOacdefhilorsu\\u014d\\u0151\\u0156\\u0180\\u019e\\u01a2\\u01b5\\u01b7\\u01ba\\u01dc\\u0215\\u0273\\u0278\\u027ecy;\\u4427PY\\u803b\\xa9\\u40a9\\u0180cpy\\u015d\\u0162\\u017aute;\\u4106\\u0100;i\\u0167\\u0168\\u62d2talDifferentialD;\\u6145leys;\\u612d\\u0200aeio\\u0189\\u018e\\u0194\\u0198ron;\\u410cdil\\u803b\\xc7\\u40c7rc;\\u4108nint;\\u6230ot;\\u410a\\u0100dn\\u01a7\\u01adilla;\\u40b8terDot;\\u40b7\\xf2\\u017fi;\\u43a7rcle\\u0200DMPT\\u01c7\\u01cb\\u01d1\\u01d6ot;\\u6299inus;\\u6296lus;\\u6295imes;\\u6297o\\u0100cs\\u01e2\\u01f8kwiseContourIntegral;\\u6232eCurly\\u0100DQ\\u0203\\u020foubleQuote;\\u601duote;\\u6019\\u0200lnpu\\u021e\\u0228\\u0247\\u0255on\\u0100;e\\u0225\\u0226\\u6237;\\u6a74\\u0180git\\u022f\\u0236\\u023aruent;\\u6261nt;\\u622fourIntegral;\\u622e\\u0100fr\\u024c\\u024e;\\u6102oduct;\\u6210nterClockwiseContourIntegral;\\u6233oss;\\u6a2fcr;\\uc000\\ud835\\udc9ep\\u0100;C\\u0284\\u0285\\u62d3ap;\\u624d\\u0580DJSZacefios\\u02a0\\u02ac\\u02b0\\u02b4\\u02b8\\u02cb\\u02d7\\u02e1\\u02e6\\u0333\\u048d\\u0100;o\\u0179\\u02a5trahd;\\u6911cy;\\u4402cy;\\u4405cy;\\u440f\\u0180grs\\u02bf\\u02c4\\u02c7ger;\\u6021r;\\u61a1hv;\\u6ae4\\u0100ay\\u02d0\\u02d5ron;\\u410e;\\u4414l\\u0100;t\\u02dd\\u02de\\u6207a;\\u4394r;\\uc000\\ud835\\udd07\\u0100af\\u02eb\\u0327\\u0100cm\\u02f0\\u0322ritical\\u0200ADGT\\u0300\\u0306\\u0316\\u031ccute;\\u40b4o\\u0174\\u030b\\u030d;\\u42d9bleAcute;\\u42ddrave;\\u4060ilde;\\u42dcond;\\u62c4ferentialD;\\u6146\\u0470\\u033d\\0\\0\\0\\u0342\\u0354\\0\\u0405f;\\uc000\\ud835\\udd3b\\u0180;DE\\u0348\\u0349\\u034d\\u40a8ot;\\u60dcqual;\\u6250ble\\u0300CDLRUV\\u0363\\u0372\\u0382\\u03cf\\u03e2\\u03f8ontourIntegra\\xec\\u0239o\\u0274\\u0379\\0\\0\\u037b\\xbb\\u0349nArrow;\\u61d3\\u0100eo\\u0387\\u03a4ft\\u0180ART\\u0390\\u0396\\u03a1rrow;\\u61d0ightArrow;\\u61d4e\\xe5\\u02cang\\u0100LR\\u03ab\\u03c4eft\\u0100AR\\u03b3\\u03b9rrow;\\u67f8ightArrow;\\u67faightArrow;\\u67f9ight\\u0100AT\\u03d8\\u03derrow;\\u61d2ee;\\u62a8p\\u0241\\u03e9\\0\\0\\u03efrrow;\\u61d1ownArrow;\\u61d5erticalBar;\\u6225n\\u0300ABLRTa\\u0412\\u042a\\u0430\\u045e\\u047f\\u037crrow\\u0180;BU\\u041d\\u041e\\u0422\\u6193ar;\\u6913pArrow;\\u61f5reve;\\u4311eft\\u02d2\\u043a\\0\\u0446\\0\\u0450ightVector;\\u6950eeVector;\\u695eector\\u0100;B\\u0459\\u045a\\u61bdar;\\u6956ight\\u01d4\\u0467\\0\\u0471eeVector;\\u695fector\\u0100;B\\u047a\\u047b\\u61c1ar;\\u6957ee\\u0100;A\\u0486\\u0487\\u62a4rrow;\\u61a7\\u0100ct\\u0492\\u0497r;\\uc000\\ud835\\udc9frok;\\u4110\\u0800NTacdfglmopqstux\\u04bd\\u04c0\\u04c4\\u04cb\\u04de\\u04e2\\u04e7\\u04ee\\u04f5\\u0521\\u052f\\u0536\\u0552\\u055d\\u0560\\u0565G;\\u414aH\\u803b\\xd0\\u40d0cute\\u803b\\xc9\\u40c9\\u0180aiy\\u04d2\\u04d7\\u04dcron;\\u411arc\\u803b\\xca\\u40ca;\\u442dot;\\u4116r;\\uc000\\ud835\\udd08rave\\u803b\\xc8\\u40c8ement;\\u6208\\u0100ap\\u04fa\\u04fecr;\\u4112ty\\u0253\\u0506\\0\\0\\u0512mallSquare;\\u65fberySmallSquare;\\u65ab\\u0100gp\\u0526\\u052aon;\\u4118f;\\uc000\\ud835\\udd3csilon;\\u4395u\\u0100ai\\u053c\\u0549l\\u0100;T\\u0542\\u0543\\u6a75ilde;\\u6242librium;\\u61cc\\u0100ci\\u0557\\u055ar;\\u6130m;\\u6a73a;\\u4397ml\\u803b\\xcb\\u40cb\\u0100ip\\u056a\\u056fsts;\\u6203onentialE;\\u6147\\u0280cfios\\u0585\\u0588\\u058d\\u05b2\\u05ccy;\\u4424r;\\uc000\\ud835\\udd09lled\\u0253\\u0597\\0\\0\\u05a3mallSquare;\\u65fcerySmallSquare;\\u65aa\\u0370\\u05ba\\0\\u05bf\\0\\0\\u05c4f;\\uc000\\ud835\\udd3dAll;\\u6200riertrf;\\u6131c\\xf2\\u05cb\\u0600JTabcdfgorst\\u05e8\\u05ec\\u05ef\\u05fa\\u0600\\u0612\\u0616\\u061b\\u061d\\u0623\\u066c\\u0672cy;\\u4403\\u803b>\\u403emma\\u0100;d\\u05f7\\u05f8\\u4393;\\u43dcreve;\\u411e\\u0180eiy\\u0607\\u060c\\u0610dil;\\u4122rc;\\u411c;\\u4413ot;\\u4120r;\\uc000\\ud835\\udd0a;\\u62d9pf;\\uc000\\ud835\\udd3eeater\\u0300EFGLST\\u0635\\u0644\\u064e\\u0656\\u065b\\u0666qual\\u0100;L\\u063e\\u063f\\u6265ess;\\u62dbullEqual;\\u6267reater;\\u6aa2ess;\\u6277lantEqual;\\u6a7eilde;\\u6273cr;\\uc000\\ud835\\udca2;\\u626b\\u0400Aacfiosu\\u0685\\u068b\\u0696\\u069b\\u069e\\u06aa\\u06be\\u06caRDcy;\\u442a\\u0100ct\\u0690\\u0694ek;\\u42c7;\\u405eirc;\\u4124r;\\u610clbertSpace;\\u610b\\u01f0\\u06af\\0\\u06b2f;\\u610dizontalLine;\\u6500\\u0100ct\\u06c3\\u06c5\\xf2\\u06a9rok;\\u4126mp\\u0144\\u06d0\\u06d8ownHum\\xf0\\u012fqual;\\u624f\\u0700EJOacdfgmnostu\\u06fa\\u06fe\\u0703\\u0707\\u070e\\u071a\\u071e\\u0721\\u0728\\u0744\\u0778\\u078b\\u078f\\u0795cy;\\u4415lig;\\u4132cy;\\u4401cute\\u803b\\xcd\\u40cd\\u0100iy\\u0713\\u0718rc\\u803b\\xce\\u40ce;\\u4418ot;\\u4130r;\\u6111rave\\u803b\\xcc\\u40cc\\u0180;ap\\u0720\\u072f\\u073f\\u0100cg\\u0734\\u0737r;\\u412ainaryI;\\u6148lie\\xf3\\u03dd\\u01f4\\u0749\\0\\u0762\\u0100;e\\u074d\\u074e\\u622c\\u0100gr\\u0753\\u0758ral;\\u622bsection;\\u62c2isible\\u0100CT\\u076c\\u0772omma;\\u6063imes;\\u6062\\u0180gpt\\u077f\\u0783\\u0788on;\\u412ef;\\uc000\\ud835\\udd40a;\\u4399cr;\\u6110ilde;\\u4128\\u01eb\\u079a\\0\\u079ecy;\\u4406l\\u803b\\xcf\\u40cf\\u0280cfosu\\u07ac\\u07b7\\u07bc\\u07c2\\u07d0\\u0100iy\\u07b1\\u07b5rc;\\u4134;\\u4419r;\\uc000\\ud835\\udd0dpf;\\uc000\\ud835\\udd41\\u01e3\\u07c7\\0\\u07ccr;\\uc000\\ud835\\udca5rcy;\\u4408kcy;\\u4404\\u0380HJacfos\\u07e4\\u07e8\\u07ec\\u07f1\\u07fd\\u0802\\u0808cy;\\u4425cy;\\u440cppa;\\u439a\\u0100ey\\u07f6\\u07fbdil;\\u4136;\\u441ar;\\uc000\\ud835\\udd0epf;\\uc000\\ud835\\udd42cr;\\uc000\\ud835\\udca6\\u0580JTaceflmost\\u0825\\u0829\\u082c\\u0850\\u0863\\u09b3\\u09b8\\u09c7\\u09cd\\u0a37\\u0a47cy;\\u4409\\u803b<\\u403c\\u0280cmnpr\\u0837\\u083c\\u0841\\u0844\\u084dute;\\u4139bda;\\u439bg;\\u67ealacetrf;\\u6112r;\\u619e\\u0180aey\\u0857\\u085c\\u0861ron;\\u413ddil;\\u413b;\\u441b\\u0100fs\\u0868\\u0970t\\u0500ACDFRTUVar\\u087e\\u08a9\\u08b1\\u08e0\\u08e6\\u08fc\\u092f\\u095b\\u0390\\u096a\\u0100nr\\u0883\\u088fgleBracket;\\u67e8row\\u0180;BR\\u0899\\u089a\\u089e\\u6190ar;\\u61e4ightArrow;\\u61c6eiling;\\u6308o\\u01f5\\u08b7\\0\\u08c3bleBracket;\\u67e6n\\u01d4\\u08c8\\0\\u08d2eeVector;\\u6961ector\\u0100;B\\u08db\\u08dc\\u61c3ar;\\u6959loor;\\u630aight\\u0100AV\\u08ef\\u08f5rrow;\\u6194ector;\\u694e\\u0100er\\u0901\\u0917e\\u0180;AV\\u0909\\u090a\\u0910\\u62a3rrow;\\u61a4ector;\\u695aiangle\\u0180;BE\\u0924\\u0925\\u0929\\u62b2ar;\\u69cfqual;\\u62b4p\\u0180DTV\\u0937\\u0942\\u094cownVector;\\u6951eeVector;\\u6960ector\\u0100;B\\u0956\\u0957\\u61bfar;\\u6958ector\\u0100;B\\u0965\\u0966\\u61bcar;\\u6952ight\\xe1\\u039cs\\u0300EFGLST\\u097e\\u098b\\u0995\\u099d\\u09a2\\u09adqualGreater;\\u62daullEqual;\\u6266reater;\\u6276ess;\\u6aa1lantEqual;\\u6a7dilde;\\u6272r;\\uc000\\ud835\\udd0f\\u0100;e\\u09bd\\u09be\\u62d8ftarrow;\\u61daidot;\\u413f\\u0180npw\\u09d4\\u0a16\\u0a1bg\\u0200LRlr\\u09de\\u09f7\\u0a02\\u0a10eft\\u0100AR\\u09e6\\u09ecrrow;\\u67f5ightArrow;\\u67f7ightArrow;\\u67f6eft\\u0100ar\\u03b3\\u0a0aight\\xe1\\u03bfight\\xe1\\u03caf;\\uc000\\ud835\\udd43er\\u0100LR\\u0a22\\u0a2ceftArrow;\\u6199ightArrow;\\u6198\\u0180cht\\u0a3e\\u0a40\\u0a42\\xf2\\u084c;\\u61b0rok;\\u4141;\\u626a\\u0400acefiosu\\u0a5a\\u0a5d\\u0a60\\u0a77\\u0a7c\\u0a85\\u0a8b\\u0a8ep;\\u6905y;\\u441c\\u0100dl\\u0a65\\u0a6fiumSpace;\\u605flintrf;\\u6133r;\\uc000\\ud835\\udd10nusPlus;\\u6213pf;\\uc000\\ud835\\udd44c\\xf2\\u0a76;\\u439c\\u0480Jacefostu\\u0aa3\\u0aa7\\u0aad\\u0ac0\\u0b14\\u0b19\\u0d91\\u0d97\\u0d9ecy;\\u440acute;\\u4143\\u0180aey\\u0ab4\\u0ab9\\u0aberon;\\u4147dil;\\u4145;\\u441d\\u0180gsw\\u0ac7\\u0af0\\u0b0eative\\u0180MTV\\u0ad3\\u0adf\\u0ae8ediumSpace;\\u600bhi\\u0100cn\\u0ae6\\u0ad8\\xeb\\u0ad9eryThi\\xee\\u0ad9ted\\u0100GL\\u0af8\\u0b06reaterGreate\\xf2\\u0673essLes\\xf3\\u0a48Line;\\u400ar;\\uc000\\ud835\\udd11\\u0200Bnpt\\u0b22\\u0b28\\u0b37\\u0b3areak;\\u6060BreakingSpace;\\u40a0f;\\u6115\\u0680;CDEGHLNPRSTV\\u0b55\\u0b56\\u0b6a\\u0b7c\\u0ba1\\u0beb\\u0c04\\u0c5e\\u0c84\\u0ca6\\u0cd8\\u0d61\\u0d85\\u6aec\\u0100ou\\u0b5b\\u0b64ngruent;\\u6262pCap;\\u626doubleVerticalBar;\\u6226\\u0180lqx\\u0b83\\u0b8a\\u0b9bement;\\u6209ual\\u0100;T\\u0b92\\u0b93\\u6260ilde;\\uc000\\u2242\\u0338ists;\\u6204reater\\u0380;EFGLST\\u0bb6\\u0bb7\\u0bbd\\u0bc9\\u0bd3\\u0bd8\\u0be5\\u626fqual;\\u6271ullEqual;\\uc000\\u2267\\u0338reater;\\uc000\\u226b\\u0338ess;\\u6279lantEqual;\\uc000\\u2a7e\\u0338ilde;\\u6275ump\\u0144\\u0bf2\\u0bfdownHump;\\uc000\\u224e\\u0338qual;\\uc000\\u224f\\u0338e\\u0100fs\\u0c0a\\u0c27tTriangle\\u0180;BE\\u0c1a\\u0c1b\\u0c21\\u62eaar;\\uc000\\u29cf\\u0338qual;\\u62ecs\\u0300;EGLST\\u0c35\\u0c36\\u0c3c\\u0c44\\u0c4b\\u0c58\\u626equal;\\u6270reater;\\u6278ess;\\uc000\\u226a\\u0338lantEqual;\\uc000\\u2a7d\\u0338ilde;\\u6274ested\\u0100GL\\u0c68\\u0c79reaterGreater;\\uc000\\u2aa2\\u0338essLess;\\uc000\\u2aa1\\u0338recedes\\u0180;ES\\u0c92\\u0c93\\u0c9b\\u6280qual;\\uc000\\u2aaf\\u0338lantEqual;\\u62e0\\u0100ei\\u0cab\\u0cb9verseElement;\\u620cghtTriangle\\u0180;BE\\u0ccb\\u0ccc\\u0cd2\\u62ebar;\\uc000\\u29d0\\u0338qual;\\u62ed\\u0100qu\\u0cdd\\u0d0cuareSu\\u0100bp\\u0ce8\\u0cf9set\\u0100;E\\u0cf0\\u0cf3\\uc000\\u228f\\u0338qual;\\u62e2erset\\u0100;E\\u0d03\\u0d06\\uc000\\u2290\\u0338qual;\\u62e3\\u0180bcp\\u0d13\\u0d24\\u0d4eset\\u0100;E\\u0d1b\\u0d1e\\uc000\\u2282\\u20d2qual;\\u6288ceeds\\u0200;EST\\u0d32\\u0d33\\u0d3b\\u0d46\\u6281qual;\\uc000\\u2ab0\\u0338lantEqual;\\u62e1ilde;\\uc000\\u227f\\u0338erset\\u0100;E\\u0d58\\u0d5b\\uc000\\u2283\\u20d2qual;\\u6289ilde\\u0200;EFT\\u0d6e\\u0d6f\\u0d75\\u0d7f\\u6241qual;\\u6244ullEqual;\\u6247ilde;\\u6249erticalBar;\\u6224cr;\\uc000\\ud835\\udca9ilde\\u803b\\xd1\\u40d1;\\u439d\\u0700Eacdfgmoprstuv\\u0dbd\\u0dc2\\u0dc9\\u0dd5\\u0ddb\\u0de0\\u0de7\\u0dfc\\u0e02\\u0e20\\u0e22\\u0e32\\u0e3f\\u0e44lig;\\u4152cute\\u803b\\xd3\\u40d3\\u0100iy\\u0dce\\u0dd3rc\\u803b\\xd4\\u40d4;\\u441eblac;\\u4150r;\\uc000\\ud835\\udd12rave\\u803b\\xd2\\u40d2\\u0180aei\\u0dee\\u0df2\\u0df6cr;\\u414cga;\\u43a9cron;\\u439fpf;\\uc000\\ud835\\udd46enCurly\\u0100DQ\\u0e0e\\u0e1aoubleQuote;\\u601cuote;\\u6018;\\u6a54\\u0100cl\\u0e27\\u0e2cr;\\uc000\\ud835\\udcaaash\\u803b\\xd8\\u40d8i\\u016c\\u0e37\\u0e3cde\\u803b\\xd5\\u40d5es;\\u6a37ml\\u803b\\xd6\\u40d6er\\u0100BP\\u0e4b\\u0e60\\u0100ar\\u0e50\\u0e53r;\\u603eac\\u0100ek\\u0e5a\\u0e5c;\\u63deet;\\u63b4arenthesis;\\u63dc\\u0480acfhilors\\u0e7f\\u0e87\\u0e8a\\u0e8f\\u0e92\\u0e94\\u0e9d\\u0eb0\\u0efcrtialD;\\u6202y;\\u441fr;\\uc000\\ud835\\udd13i;\\u43a6;\\u43a0usMinus;\\u40b1\\u0100ip\\u0ea2\\u0eadncareplan\\xe5\\u069df;\\u6119\\u0200;eio\\u0eb9\\u0eba\\u0ee0\\u0ee4\\u6abbcedes\\u0200;EST\\u0ec8\\u0ec9\\u0ecf\\u0eda\\u627aqual;\\u6aaflantEqual;\\u627cilde;\\u627eme;\\u6033\\u0100dp\\u0ee9\\u0eeeuct;\\u620fortion\\u0100;a\\u0225\\u0ef9l;\\u621d\\u0100ci\\u0f01\\u0f06r;\\uc000\\ud835\\udcab;\\u43a8\\u0200Ufos\\u0f11\\u0f16\\u0f1b\\u0f1fOT\\u803b\\\"\\u4022r;\\uc000\\ud835\\udd14pf;\\u611acr;\\uc000\\ud835\\udcac\\u0600BEacefhiorsu\\u0f3e\\u0f43\\u0f47\\u0f60\\u0f73\\u0fa7\\u0faa\\u0fad\\u1096\\u10a9\\u10b4\\u10bearr;\\u6910G\\u803b\\xae\\u40ae\\u0180cnr\\u0f4e\\u0f53\\u0f56ute;\\u4154g;\\u67ebr\\u0100;t\\u0f5c\\u0f5d\\u61a0l;\\u6916\\u0180aey\\u0f67\\u0f6c\\u0f71ron;\\u4158dil;\\u4156;\\u4420\\u0100;v\\u0f78\\u0f79\\u611cerse\\u0100EU\\u0f82\\u0f99\\u0100lq\\u0f87\\u0f8eement;\\u620builibrium;\\u61cbpEquilibrium;\\u696fr\\xbb\\u0f79o;\\u43a1ght\\u0400ACDFTUVa\\u0fc1\\u0feb\\u0ff3\\u1022\\u1028\\u105b\\u1087\\u03d8\\u0100nr\\u0fc6\\u0fd2gleBracket;\\u67e9row\\u0180;BL\\u0fdc\\u0fdd\\u0fe1\\u6192ar;\\u61e5eftArrow;\\u61c4eiling;\\u6309o\\u01f5\\u0ff9\\0\\u1005bleBracket;\\u67e7n\\u01d4\\u100a\\0\\u1014eeVector;\\u695dector\\u0100;B\\u101d\\u101e\\u61c2ar;\\u6955loor;\\u630b\\u0100er\\u102d\\u1043e\\u0180;AV\\u1035\\u1036\\u103c\\u62a2rrow;\\u61a6ector;\\u695biangle\\u0180;BE\\u1050\\u1051\\u1055\\u62b3ar;\\u69d0qual;\\u62b5p\\u0180DTV\\u1063\\u106e\\u1078ownVector;\\u694feeVector;\\u695cector\\u0100;B\\u1082\\u1083\\u61bear;\\u6954ector\\u0100;B\\u1091\\u1092\\u61c0ar;\\u6953\\u0100pu\\u109b\\u109ef;\\u611dndImplies;\\u6970ightarrow;\\u61db\\u0100ch\\u10b9\\u10bcr;\\u611b;\\u61b1leDelayed;\\u69f4\\u0680HOacfhimoqstu\\u10e4\\u10f1\\u10f7\\u10fd\\u1119\\u111e\\u1151\\u1156\\u1161\\u1167\\u11b5\\u11bb\\u11bf\\u0100Cc\\u10e9\\u10eeHcy;\\u4429y;\\u4428FTcy;\\u442ccute;\\u415a\\u0280;aeiy\\u1108\\u1109\\u110e\\u1113\\u1117\\u6abcron;\\u4160dil;\\u415erc;\\u415c;\\u4421r;\\uc000\\ud835\\udd16ort\\u0200DLRU\\u112a\\u1134\\u113e\\u1149ownArrow\\xbb\\u041eeftArrow\\xbb\\u089aightArrow\\xbb\\u0fddpArrow;\\u6191gma;\\u43a3allCircle;\\u6218pf;\\uc000\\ud835\\udd4a\\u0272\\u116d\\0\\0\\u1170t;\\u621aare\\u0200;ISU\\u117b\\u117c\\u1189\\u11af\\u65a1ntersection;\\u6293u\\u0100bp\\u118f\\u119eset\\u0100;E\\u1197\\u1198\\u628fqual;\\u6291erset\\u0100;E\\u11a8\\u11a9\\u6290qual;\\u6292nion;\\u6294cr;\\uc000\\ud835\\udcaear;\\u62c6\\u0200bcmp\\u11c8\\u11db\\u1209\\u120b\\u0100;s\\u11cd\\u11ce\\u62d0et\\u0100;E\\u11cd\\u11d5qual;\\u6286\\u0100ch\\u11e0\\u1205eeds\\u0200;EST\\u11ed\\u11ee\\u11f4\\u11ff\\u627bqual;\\u6ab0lantEqual;\\u627dilde;\\u627fTh\\xe1\\u0f8c;\\u6211\\u0180;es\\u1212\\u1213\\u1223\\u62d1rset\\u0100;E\\u121c\\u121d\\u6283qual;\\u6287et\\xbb\\u1213\\u0580HRSacfhiors\\u123e\\u1244\\u1249\\u1255\\u125e\\u1271\\u1276\\u129f\\u12c2\\u12c8\\u12d1ORN\\u803b\\xde\\u40deADE;\\u6122\\u0100Hc\\u124e\\u1252cy;\\u440by;\\u4426\\u0100bu\\u125a\\u125c;\\u4009;\\u43a4\\u0180aey\\u1265\\u126a\\u126fron;\\u4164dil;\\u4162;\\u4422r;\\uc000\\ud835\\udd17\\u0100ei\\u127b\\u1289\\u01f2\\u1280\\0\\u1287efore;\\u6234a;\\u4398\\u0100cn\\u128e\\u1298kSpace;\\uc000\\u205f\\u200aSpace;\\u6009lde\\u0200;EFT\\u12ab\\u12ac\\u12b2\\u12bc\\u623cqual;\\u6243ullEqual;\\u6245ilde;\\u6248pf;\\uc000\\ud835\\udd4bipleDot;\\u60db\\u0100ct\\u12d6\\u12dbr;\\uc000\\ud835\\udcafrok;\\u4166\\u0ae1\\u12f7\\u130e\\u131a\\u1326\\0\\u132c\\u1331\\0\\0\\0\\0\\0\\u1338\\u133d\\u1377\\u1385\\0\\u13ff\\u1404\\u140a\\u1410\\u0100cr\\u12fb\\u1301ute\\u803b\\xda\\u40dar\\u0100;o\\u1307\\u1308\\u619fcir;\\u6949r\\u01e3\\u1313\\0\\u1316y;\\u440eve;\\u416c\\u0100iy\\u131e\\u1323rc\\u803b\\xdb\\u40db;\\u4423blac;\\u4170r;\\uc000\\ud835\\udd18rave\\u803b\\xd9\\u40d9acr;\\u416a\\u0100di\\u1341\\u1369er\\u0100BP\\u1348\\u135d\\u0100ar\\u134d\\u1350r;\\u405fac\\u0100ek\\u1357\\u1359;\\u63dfet;\\u63b5arenthesis;\\u63ddon\\u0100;P\\u1370\\u1371\\u62c3lus;\\u628e\\u0100gp\\u137b\\u137fon;\\u4172f;\\uc000\\ud835\\udd4c\\u0400ADETadps\\u1395\\u13ae\\u13b8\\u13c4\\u03e8\\u13d2\\u13d7\\u13f3rrow\\u0180;BD\\u1150\\u13a0\\u13a4ar;\\u6912ownArrow;\\u61c5ownArrow;\\u6195quilibrium;\\u696eee\\u0100;A\\u13cb\\u13cc\\u62a5rrow;\\u61a5own\\xe1\\u03f3er\\u0100LR\\u13de\\u13e8eftArrow;\\u6196ightArrow;\\u6197i\\u0100;l\\u13f9\\u13fa\\u43d2on;\\u43a5ing;\\u416ecr;\\uc000\\ud835\\udcb0ilde;\\u4168ml\\u803b\\xdc\\u40dc\\u0480Dbcdefosv\\u1427\\u142c\\u1430\\u1433\\u143e\\u1485\\u148a\\u1490\\u1496ash;\\u62abar;\\u6aeby;\\u4412ash\\u0100;l\\u143b\\u143c\\u62a9;\\u6ae6\\u0100er\\u1443\\u1445;\\u62c1\\u0180bty\\u144c\\u1450\\u147aar;\\u6016\\u0100;i\\u144f\\u1455cal\\u0200BLST\\u1461\\u1465\\u146a\\u1474ar;\\u6223ine;\\u407ceparator;\\u6758ilde;\\u6240ThinSpace;\\u600ar;\\uc000\\ud835\\udd19pf;\\uc000\\ud835\\udd4dcr;\\uc000\\ud835\\udcb1dash;\\u62aa\\u0280cefos\\u14a7\\u14ac\\u14b1\\u14b6\\u14bcirc;\\u4174dge;\\u62c0r;\\uc000\\ud835\\udd1apf;\\uc000\\ud835\\udd4ecr;\\uc000\\ud835\\udcb2\\u0200fios\\u14cb\\u14d0\\u14d2\\u14d8r;\\uc000\\ud835\\udd1b;\\u439epf;\\uc000\\ud835\\udd4fcr;\\uc000\\ud835\\udcb3\\u0480AIUacfosu\\u14f1\\u14f5\\u14f9\\u14fd\\u1504\\u150f\\u1514\\u151a\\u1520cy;\\u442fcy;\\u4407cy;\\u442ecute\\u803b\\xdd\\u40dd\\u0100iy\\u1509\\u150drc;\\u4176;\\u442br;\\uc000\\ud835\\udd1cpf;\\uc000\\ud835\\udd50cr;\\uc000\\ud835\\udcb4ml;\\u4178\\u0400Hacdefos\\u1535\\u1539\\u153f\\u154b\\u154f\\u155d\\u1560\\u1564cy;\\u4416cute;\\u4179\\u0100ay\\u1544\\u1549ron;\\u417d;\\u4417ot;\\u417b\\u01f2\\u1554\\0\\u155boWidt\\xe8\\u0ad9a;\\u4396r;\\u6128pf;\\u6124cr;\\uc000\\ud835\\udcb5\\u0be1\\u1583\\u158a\\u1590\\0\\u15b0\\u15b6\\u15bf\\0\\0\\0\\0\\u15c6\\u15db\\u15eb\\u165f\\u166d\\0\\u1695\\u169b\\u16b2\\u16b9\\0\\u16becute\\u803b\\xe1\\u40e1reve;\\u4103\\u0300;Ediuy\\u159c\\u159d\\u15a1\\u15a3\\u15a8\\u15ad\\u623e;\\uc000\\u223e\\u0333;\\u623frc\\u803b\\xe2\\u40e2te\\u80bb\\xb4\\u0306;\\u4430lig\\u803b\\xe6\\u40e6\\u0100;r\\xb2\\u15ba;\\uc000\\ud835\\udd1erave\\u803b\\xe0\\u40e0\\u0100ep\\u15ca\\u15d6\\u0100fp\\u15cf\\u15d4sym;\\u6135\\xe8\\u15d3ha;\\u43b1\\u0100ap\\u15dfc\\u0100cl\\u15e4\\u15e7r;\\u4101g;\\u6a3f\\u0264\\u15f0\\0\\0\\u160a\\u0280;adsv\\u15fa\\u15fb\\u15ff\\u1601\\u1607\\u6227nd;\\u6a55;\\u6a5clope;\\u6a58;\\u6a5a\\u0380;elmrsz\\u1618\\u1619\\u161b\\u161e\\u163f\\u164f\\u1659\\u6220;\\u69a4e\\xbb\\u1619sd\\u0100;a\\u1625\\u1626\\u6221\\u0461\\u1630\\u1632\\u1634\\u1636\\u1638\\u163a\\u163c\\u163e;\\u69a8;\\u69a9;\\u69aa;\\u69ab;\\u69ac;\\u69ad;\\u69ae;\\u69aft\\u0100;v\\u1645\\u1646\\u621fb\\u0100;d\\u164c\\u164d\\u62be;\\u699d\\u0100pt\\u1654\\u1657h;\\u6222\\xbb\\xb9arr;\\u637c\\u0100gp\\u1663\\u1667on;\\u4105f;\\uc000\\ud835\\udd52\\u0380;Eaeiop\\u12c1\\u167b\\u167d\\u1682\\u1684\\u1687\\u168a;\\u6a70cir;\\u6a6f;\\u624ad;\\u624bs;\\u4027rox\\u0100;e\\u12c1\\u1692\\xf1\\u1683ing\\u803b\\xe5\\u40e5\\u0180cty\\u16a1\\u16a6\\u16a8r;\\uc000\\ud835\\udcb6;\\u402amp\\u0100;e\\u12c1\\u16af\\xf1\\u0288ilde\\u803b\\xe3\\u40e3ml\\u803b\\xe4\\u40e4\\u0100ci\\u16c2\\u16c8onin\\xf4\\u0272nt;\\u6a11\\u0800Nabcdefiklnoprsu\\u16ed\\u16f1\\u1730\\u173c\\u1743\\u1748\\u1778\\u177d\\u17e0\\u17e6\\u1839\\u1850\\u170d\\u193d\\u1948\\u1970ot;\\u6aed\\u0100cr\\u16f6\\u171ek\\u0200ceps\\u1700\\u1705\\u170d\\u1713ong;\\u624cpsilon;\\u43f6rime;\\u6035im\\u0100;e\\u171a\\u171b\\u623dq;\\u62cd\\u0176\\u1722\\u1726ee;\\u62bded\\u0100;g\\u172c\\u172d\\u6305e\\xbb\\u172drk\\u0100;t\\u135c\\u1737brk;\\u63b6\\u0100oy\\u1701\\u1741;\\u4431quo;\\u601e\\u0280cmprt\\u1753\\u175b\\u1761\\u1764\\u1768aus\\u0100;e\\u010a\\u0109ptyv;\\u69b0s\\xe9\\u170cno\\xf5\\u0113\\u0180ahw\\u176f\\u1771\\u1773;\\u43b2;\\u6136een;\\u626cr;\\uc000\\ud835\\udd1fg\\u0380costuvw\\u178d\\u179d\\u17b3\\u17c1\\u17d5\\u17db\\u17de\\u0180aiu\\u1794\\u1796\\u179a\\xf0\\u0760rc;\\u65efp\\xbb\\u1371\\u0180dpt\\u17a4\\u17a8\\u17adot;\\u6a00lus;\\u6a01imes;\\u6a02\\u0271\\u17b9\\0\\0\\u17becup;\\u6a06ar;\\u6605riangle\\u0100du\\u17cd\\u17d2own;\\u65bdp;\\u65b3plus;\\u6a04e\\xe5\\u1444\\xe5\\u14adarow;\\u690d\\u0180ako\\u17ed\\u1826\\u1835\\u0100cn\\u17f2\\u1823k\\u0180lst\\u17fa\\u05ab\\u1802ozenge;\\u69ebriangle\\u0200;dlr\\u1812\\u1813\\u1818\\u181d\\u65b4own;\\u65beeft;\\u65c2ight;\\u65b8k;\\u6423\\u01b1\\u182b\\0\\u1833\\u01b2\\u182f\\0\\u1831;\\u6592;\\u65914;\\u6593ck;\\u6588\\u0100eo\\u183e\\u184d\\u0100;q\\u1843\\u1846\\uc000=\\u20e5uiv;\\uc000\\u2261\\u20e5t;\\u6310\\u0200ptwx\\u1859\\u185e\\u1867\\u186cf;\\uc000\\ud835\\udd53\\u0100;t\\u13cb\\u1863om\\xbb\\u13cctie;\\u62c8\\u0600DHUVbdhmptuv\\u1885\\u1896\\u18aa\\u18bb\\u18d7\\u18db\\u18ec\\u18ff\\u1905\\u190a\\u1910\\u1921\\u0200LRlr\\u188e\\u1890\\u1892\\u1894;\\u6557;\\u6554;\\u6556;\\u6553\\u0280;DUdu\\u18a1\\u18a2\\u18a4\\u18a6\\u18a8\\u6550;\\u6566;\\u6569;\\u6564;\\u6567\\u0200LRlr\\u18b3\\u18b5\\u18b7\\u18b9;\\u655d;\\u655a;\\u655c;\\u6559\\u0380;HLRhlr\\u18ca\\u18cb\\u18cd\\u18cf\\u18d1\\u18d3\\u18d5\\u6551;\\u656c;\\u6563;\\u6560;\\u656b;\\u6562;\\u655fox;\\u69c9\\u0200LRlr\\u18e4\\u18e6\\u18e8\\u18ea;\\u6555;\\u6552;\\u6510;\\u650c\\u0280;DUdu\\u06bd\\u18f7\\u18f9\\u18fb\\u18fd;\\u6565;\\u6568;\\u652c;\\u6534inus;\\u629flus;\\u629eimes;\\u62a0\\u0200LRlr\\u1919\\u191b\\u191d\\u191f;\\u655b;\\u6558;\\u6518;\\u6514\\u0380;HLRhlr\\u1930\\u1931\\u1933\\u1935\\u1937\\u1939\\u193b\\u6502;\\u656a;\\u6561;\\u655e;\\u653c;\\u6524;\\u651c\\u0100ev\\u0123\\u1942bar\\u803b\\xa6\\u40a6\\u0200ceio\\u1951\\u1956\\u195a\\u1960r;\\uc000\\ud835\\udcb7mi;\\u604fm\\u0100;e\\u171a\\u171cl\\u0180;bh\\u1968\\u1969\\u196b\\u405c;\\u69c5sub;\\u67c8\\u016c\\u1974\\u197el\\u0100;e\\u1979\\u197a\\u6022t\\xbb\\u197ap\\u0180;Ee\\u012f\\u1985\\u1987;\\u6aae\\u0100;q\\u06dc\\u06db\\u0ce1\\u19a7\\0\\u19e8\\u1a11\\u1a15\\u1a32\\0\\u1a37\\u1a50\\0\\0\\u1ab4\\0\\0\\u1ac1\\0\\0\\u1b21\\u1b2e\\u1b4d\\u1b52\\0\\u1bfd\\0\\u1c0c\\u0180cpr\\u19ad\\u19b2\\u19ddute;\\u4107\\u0300;abcds\\u19bf\\u19c0\\u19c4\\u19ca\\u19d5\\u19d9\\u6229nd;\\u6a44rcup;\\u6a49\\u0100au\\u19cf\\u19d2p;\\u6a4bp;\\u6a47ot;\\u6a40;\\uc000\\u2229\\ufe00\\u0100eo\\u19e2\\u19e5t;\\u6041\\xee\\u0693\\u0200aeiu\\u19f0\\u19fb\\u1a01\\u1a05\\u01f0\\u19f5\\0\\u19f8s;\\u6a4don;\\u410ddil\\u803b\\xe7\\u40e7rc;\\u4109ps\\u0100;s\\u1a0c\\u1a0d\\u6a4cm;\\u6a50ot;\\u410b\\u0180dmn\\u1a1b\\u1a20\\u1a26il\\u80bb\\xb8\\u01adptyv;\\u69b2t\\u8100\\xa2;e\\u1a2d\\u1a2e\\u40a2r\\xe4\\u01b2r;\\uc000\\ud835\\udd20\\u0180cei\\u1a3d\\u1a40\\u1a4dy;\\u4447ck\\u0100;m\\u1a47\\u1a48\\u6713ark\\xbb\\u1a48;\\u43c7r\\u0380;Ecefms\\u1a5f\\u1a60\\u1a62\\u1a6b\\u1aa4\\u1aaa\\u1aae\\u65cb;\\u69c3\\u0180;el\\u1a69\\u1a6a\\u1a6d\\u42c6q;\\u6257e\\u0261\\u1a74\\0\\0\\u1a88rrow\\u0100lr\\u1a7c\\u1a81eft;\\u61baight;\\u61bb\\u0280RSacd\\u1a92\\u1a94\\u1a96\\u1a9a\\u1a9f\\xbb\\u0f47;\\u64c8st;\\u629birc;\\u629aash;\\u629dnint;\\u6a10id;\\u6aefcir;\\u69c2ubs\\u0100;u\\u1abb\\u1abc\\u6663it\\xbb\\u1abc\\u02ec\\u1ac7\\u1ad4\\u1afa\\0\\u1b0aon\\u0100;e\\u1acd\\u1ace\\u403a\\u0100;q\\xc7\\xc6\\u026d\\u1ad9\\0\\0\\u1ae2a\\u0100;t\\u1ade\\u1adf\\u402c;\\u4040\\u0180;fl\\u1ae8\\u1ae9\\u1aeb\\u6201\\xee\\u1160e\\u0100mx\\u1af1\\u1af6ent\\xbb\\u1ae9e\\xf3\\u024d\\u01e7\\u1afe\\0\\u1b07\\u0100;d\\u12bb\\u1b02ot;\\u6a6dn\\xf4\\u0246\\u0180fry\\u1b10\\u1b14\\u1b17;\\uc000\\ud835\\udd54o\\xe4\\u0254\\u8100\\xa9;s\\u0155\\u1b1dr;\\u6117\\u0100ao\\u1b25\\u1b29rr;\\u61b5ss;\\u6717\\u0100cu\\u1b32\\u1b37r;\\uc000\\ud835\\udcb8\\u0100bp\\u1b3c\\u1b44\\u0100;e\\u1b41\\u1b42\\u6acf;\\u6ad1\\u0100;e\\u1b49\\u1b4a\\u6ad0;\\u6ad2dot;\\u62ef\\u0380delprvw\\u1b60\\u1b6c\\u1b77\\u1b82\\u1bac\\u1bd4\\u1bf9arr\\u0100lr\\u1b68\\u1b6a;\\u6938;\\u6935\\u0270\\u1b72\\0\\0\\u1b75r;\\u62dec;\\u62dfarr\\u0100;p\\u1b7f\\u1b80\\u61b6;\\u693d\\u0300;bcdos\\u1b8f\\u1b90\\u1b96\\u1ba1\\u1ba5\\u1ba8\\u622arcap;\\u6a48\\u0100au\\u1b9b\\u1b9ep;\\u6a46p;\\u6a4aot;\\u628dr;\\u6a45;\\uc000\\u222a\\ufe00\\u0200alrv\\u1bb5\\u1bbf\\u1bde\\u1be3rr\\u0100;m\\u1bbc\\u1bbd\\u61b7;\\u693cy\\u0180evw\\u1bc7\\u1bd4\\u1bd8q\\u0270\\u1bce\\0\\0\\u1bd2re\\xe3\\u1b73u\\xe3\\u1b75ee;\\u62ceedge;\\u62cfen\\u803b\\xa4\\u40a4earrow\\u0100lr\\u1bee\\u1bf3eft\\xbb\\u1b80ight\\xbb\\u1bbde\\xe4\\u1bdd\\u0100ci\\u1c01\\u1c07onin\\xf4\\u01f7nt;\\u6231lcty;\\u632d\\u0980AHabcdefhijlorstuwz\\u1c38\\u1c3b\\u1c3f\\u1c5d\\u1c69\\u1c75\\u1c8a\\u1c9e\\u1cac\\u1cb7\\u1cfb\\u1cff\\u1d0d\\u1d7b\\u1d91\\u1dab\\u1dbb\\u1dc6\\u1dcdr\\xf2\\u0381ar;\\u6965\\u0200glrs\\u1c48\\u1c4d\\u1c52\\u1c54ger;\\u6020eth;\\u6138\\xf2\\u1133h\\u0100;v\\u1c5a\\u1c5b\\u6010\\xbb\\u090a\\u016b\\u1c61\\u1c67arow;\\u690fa\\xe3\\u0315\\u0100ay\\u1c6e\\u1c73ron;\\u410f;\\u4434\\u0180;ao\\u0332\\u1c7c\\u1c84\\u0100gr\\u02bf\\u1c81r;\\u61catseq;\\u6a77\\u0180glm\\u1c91\\u1c94\\u1c98\\u803b\\xb0\\u40b0ta;\\u43b4ptyv;\\u69b1\\u0100ir\\u1ca3\\u1ca8sht;\\u697f;\\uc000\\ud835\\udd21ar\\u0100lr\\u1cb3\\u1cb5\\xbb\\u08dc\\xbb\\u101e\\u0280aegsv\\u1cc2\\u0378\\u1cd6\\u1cdc\\u1ce0m\\u0180;os\\u0326\\u1cca\\u1cd4nd\\u0100;s\\u0326\\u1cd1uit;\\u6666amma;\\u43ddin;\\u62f2\\u0180;io\\u1ce7\\u1ce8\\u1cf8\\u40f7de\\u8100\\xf7;o\\u1ce7\\u1cf0ntimes;\\u62c7n\\xf8\\u1cf7cy;\\u4452c\\u026f\\u1d06\\0\\0\\u1d0arn;\\u631eop;\\u630d\\u0280lptuw\\u1d18\\u1d1d\\u1d22\\u1d49\\u1d55lar;\\u4024f;\\uc000\\ud835\\udd55\\u0280;emps\\u030b\\u1d2d\\u1d37\\u1d3d\\u1d42q\\u0100;d\\u0352\\u1d33ot;\\u6251inus;\\u6238lus;\\u6214quare;\\u62a1blebarwedg\\xe5\\xfan\\u0180adh\\u112e\\u1d5d\\u1d67ownarrow\\xf3\\u1c83arpoon\\u0100lr\\u1d72\\u1d76ef\\xf4\\u1cb4igh\\xf4\\u1cb6\\u0162\\u1d7f\\u1d85karo\\xf7\\u0f42\\u026f\\u1d8a\\0\\0\\u1d8ern;\\u631fop;\\u630c\\u0180cot\\u1d98\\u1da3\\u1da6\\u0100ry\\u1d9d\\u1da1;\\uc000\\ud835\\udcb9;\\u4455l;\\u69f6rok;\\u4111\\u0100dr\\u1db0\\u1db4ot;\\u62f1i\\u0100;f\\u1dba\\u1816\\u65bf\\u0100ah\\u1dc0\\u1dc3r\\xf2\\u0429a\\xf2\\u0fa6angle;\\u69a6\\u0100ci\\u1dd2\\u1dd5y;\\u445fgrarr;\\u67ff\\u0900Dacdefglmnopqrstux\\u1e01\\u1e09\\u1e19\\u1e38\\u0578\\u1e3c\\u1e49\\u1e61\\u1e7e\\u1ea5\\u1eaf\\u1ebd\\u1ee1\\u1f2a\\u1f37\\u1f44\\u1f4e\\u1f5a\\u0100Do\\u1e06\\u1d34o\\xf4\\u1c89\\u0100cs\\u1e0e\\u1e14ute\\u803b\\xe9\\u40e9ter;\\u6a6e\\u0200aioy\\u1e22\\u1e27\\u1e31\\u1e36ron;\\u411br\\u0100;c\\u1e2d\\u1e2e\\u6256\\u803b\\xea\\u40ealon;\\u6255;\\u444dot;\\u4117\\u0100Dr\\u1e41\\u1e45ot;\\u6252;\\uc000\\ud835\\udd22\\u0180;rs\\u1e50\\u1e51\\u1e57\\u6a9aave\\u803b\\xe8\\u40e8\\u0100;d\\u1e5c\\u1e5d\\u6a96ot;\\u6a98\\u0200;ils\\u1e6a\\u1e6b\\u1e72\\u1e74\\u6a99nters;\\u63e7;\\u6113\\u0100;d\\u1e79\\u1e7a\\u6a95ot;\\u6a97\\u0180aps\\u1e85\\u1e89\\u1e97cr;\\u4113ty\\u0180;sv\\u1e92\\u1e93\\u1e95\\u6205et\\xbb\\u1e93p\\u01001;\\u1e9d\\u1ea4\\u0133\\u1ea1\\u1ea3;\\u6004;\\u6005\\u6003\\u0100gs\\u1eaa\\u1eac;\\u414bp;\\u6002\\u0100gp\\u1eb4\\u1eb8on;\\u4119f;\\uc000\\ud835\\udd56\\u0180als\\u1ec4\\u1ece\\u1ed2r\\u0100;s\\u1eca\\u1ecb\\u62d5l;\\u69e3us;\\u6a71i\\u0180;lv\\u1eda\\u1edb\\u1edf\\u43b5on\\xbb\\u1edb;\\u43f5\\u0200csuv\\u1eea\\u1ef3\\u1f0b\\u1f23\\u0100io\\u1eef\\u1e31rc\\xbb\\u1e2e\\u0269\\u1ef9\\0\\0\\u1efb\\xed\\u0548ant\\u0100gl\\u1f02\\u1f06tr\\xbb\\u1e5dess\\xbb\\u1e7a\\u0180aei\\u1f12\\u1f16\\u1f1als;\\u403dst;\\u625fv\\u0100;D\\u0235\\u1f20D;\\u6a78parsl;\\u69e5\\u0100Da\\u1f2f\\u1f33ot;\\u6253rr;\\u6971\\u0180cdi\\u1f3e\\u1f41\\u1ef8r;\\u612fo\\xf4\\u0352\\u0100ah\\u1f49\\u1f4b;\\u43b7\\u803b\\xf0\\u40f0\\u0100mr\\u1f53\\u1f57l\\u803b\\xeb\\u40ebo;\\u60ac\\u0180cip\\u1f61\\u1f64\\u1f67l;\\u4021s\\xf4\\u056e\\u0100eo\\u1f6c\\u1f74ctatio\\xee\\u0559nential\\xe5\\u0579\\u09e1\\u1f92\\0\\u1f9e\\0\\u1fa1\\u1fa7\\0\\0\\u1fc6\\u1fcc\\0\\u1fd3\\0\\u1fe6\\u1fea\\u2000\\0\\u2008\\u205allingdotse\\xf1\\u1e44y;\\u4444male;\\u6640\\u0180ilr\\u1fad\\u1fb3\\u1fc1lig;\\u8000\\ufb03\\u0269\\u1fb9\\0\\0\\u1fbdg;\\u8000\\ufb00ig;\\u8000\\ufb04;\\uc000\\ud835\\udd23lig;\\u8000\\ufb01lig;\\uc000fj\\u0180alt\\u1fd9\\u1fdc\\u1fe1t;\\u666dig;\\u8000\\ufb02ns;\\u65b1of;\\u4192\\u01f0\\u1fee\\0\\u1ff3f;\\uc000\\ud835\\udd57\\u0100ak\\u05bf\\u1ff7\\u0100;v\\u1ffc\\u1ffd\\u62d4;\\u6ad9artint;\\u6a0d\\u0100ao\\u200c\\u2055\\u0100cs\\u2011\\u2052\\u03b1\\u201a\\u2030\\u2038\\u2045\\u2048\\0\\u2050\\u03b2\\u2022\\u2025\\u2027\\u202a\\u202c\\0\\u202e\\u803b\\xbd\\u40bd;\\u6153\\u803b\\xbc\\u40bc;\\u6155;\\u6159;\\u615b\\u01b3\\u2034\\0\\u2036;\\u6154;\\u6156\\u02b4\\u203e\\u2041\\0\\0\\u2043\\u803b\\xbe\\u40be;\\u6157;\\u615c5;\\u6158\\u01b6\\u204c\\0\\u204e;\\u615a;\\u615d8;\\u615el;\\u6044wn;\\u6322cr;\\uc000\\ud835\\udcbb\\u0880Eabcdefgijlnorstv\\u2082\\u2089\\u209f\\u20a5\\u20b0\\u20b4\\u20f0\\u20f5\\u20fa\\u20ff\\u2103\\u2112\\u2138\\u0317\\u213e\\u2152\\u219e\\u0100;l\\u064d\\u2087;\\u6a8c\\u0180cmp\\u2090\\u2095\\u209dute;\\u41f5ma\\u0100;d\\u209c\\u1cda\\u43b3;\\u6a86reve;\\u411f\\u0100iy\\u20aa\\u20aerc;\\u411d;\\u4433ot;\\u4121\\u0200;lqs\\u063e\\u0642\\u20bd\\u20c9\\u0180;qs\\u063e\\u064c\\u20c4lan\\xf4\\u0665\\u0200;cdl\\u0665\\u20d2\\u20d5\\u20e5c;\\u6aa9ot\\u0100;o\\u20dc\\u20dd\\u6a80\\u0100;l\\u20e2\\u20e3\\u6a82;\\u6a84\\u0100;e\\u20ea\\u20ed\\uc000\\u22db\\ufe00s;\\u6a94r;\\uc000\\ud835\\udd24\\u0100;g\\u0673\\u061bmel;\\u6137cy;\\u4453\\u0200;Eaj\\u065a\\u210c\\u210e\\u2110;\\u6a92;\\u6aa5;\\u6aa4\\u0200Eaes\\u211b\\u211d\\u2129\\u2134;\\u6269p\\u0100;p\\u2123\\u2124\\u6a8arox\\xbb\\u2124\\u0100;q\\u212e\\u212f\\u6a88\\u0100;q\\u212e\\u211bim;\\u62e7pf;\\uc000\\ud835\\udd58\\u0100ci\\u2143\\u2146r;\\u610am\\u0180;el\\u066b\\u214e\\u2150;\\u6a8e;\\u6a90\\u8300>;cdlqr\\u05ee\\u2160\\u216a\\u216e\\u2173\\u2179\\u0100ci\\u2165\\u2167;\\u6aa7r;\\u6a7aot;\\u62d7Par;\\u6995uest;\\u6a7c\\u0280adels\\u2184\\u216a\\u2190\\u0656\\u219b\\u01f0\\u2189\\0\\u218epro\\xf8\\u209er;\\u6978q\\u0100lq\\u063f\\u2196les\\xf3\\u2088i\\xed\\u066b\\u0100en\\u21a3\\u21adrtneqq;\\uc000\\u2269\\ufe00\\xc5\\u21aa\\u0500Aabcefkosy\\u21c4\\u21c7\\u21f1\\u21f5\\u21fa\\u2218\\u221d\\u222f\\u2268\\u227dr\\xf2\\u03a0\\u0200ilmr\\u21d0\\u21d4\\u21d7\\u21dbrs\\xf0\\u1484f\\xbb\\u2024il\\xf4\\u06a9\\u0100dr\\u21e0\\u21e4cy;\\u444a\\u0180;cw\\u08f4\\u21eb\\u21efir;\\u6948;\\u61adar;\\u610firc;\\u4125\\u0180alr\\u2201\\u220e\\u2213rts\\u0100;u\\u2209\\u220a\\u6665it\\xbb\\u220alip;\\u6026con;\\u62b9r;\\uc000\\ud835\\udd25s\\u0100ew\\u2223\\u2229arow;\\u6925arow;\\u6926\\u0280amopr\\u223a\\u223e\\u2243\\u225e\\u2263rr;\\u61fftht;\\u623bk\\u0100lr\\u2249\\u2253eftarrow;\\u61a9ightarrow;\\u61aaf;\\uc000\\ud835\\udd59bar;\\u6015\\u0180clt\\u226f\\u2274\\u2278r;\\uc000\\ud835\\udcbdas\\xe8\\u21f4rok;\\u4127\\u0100bp\\u2282\\u2287ull;\\u6043hen\\xbb\\u1c5b\\u0ae1\\u22a3\\0\\u22aa\\0\\u22b8\\u22c5\\u22ce\\0\\u22d5\\u22f3\\0\\0\\u22f8\\u2322\\u2367\\u2362\\u237f\\0\\u2386\\u23aa\\u23b4cute\\u803b\\xed\\u40ed\\u0180;iy\\u0771\\u22b0\\u22b5rc\\u803b\\xee\\u40ee;\\u4438\\u0100cx\\u22bc\\u22bfy;\\u4435cl\\u803b\\xa1\\u40a1\\u0100fr\\u039f\\u22c9;\\uc000\\ud835\\udd26rave\\u803b\\xec\\u40ec\\u0200;ino\\u073e\\u22dd\\u22e9\\u22ee\\u0100in\\u22e2\\u22e6nt;\\u6a0ct;\\u622dfin;\\u69dcta;\\u6129lig;\\u4133\\u0180aop\\u22fe\\u231a\\u231d\\u0180cgt\\u2305\\u2308\\u2317r;\\u412b\\u0180elp\\u071f\\u230f\\u2313in\\xe5\\u078ear\\xf4\\u0720h;\\u4131f;\\u62b7ed;\\u41b5\\u0280;cfot\\u04f4\\u232c\\u2331\\u233d\\u2341are;\\u6105in\\u0100;t\\u2338\\u2339\\u621eie;\\u69dddo\\xf4\\u2319\\u0280;celp\\u0757\\u234c\\u2350\\u235b\\u2361al;\\u62ba\\u0100gr\\u2355\\u2359er\\xf3\\u1563\\xe3\\u234darhk;\\u6a17rod;\\u6a3c\\u0200cgpt\\u236f\\u2372\\u2376\\u237by;\\u4451on;\\u412ff;\\uc000\\ud835\\udd5aa;\\u43b9uest\\u803b\\xbf\\u40bf\\u0100ci\\u238a\\u238fr;\\uc000\\ud835\\udcben\\u0280;Edsv\\u04f4\\u239b\\u239d\\u23a1\\u04f3;\\u62f9ot;\\u62f5\\u0100;v\\u23a6\\u23a7\\u62f4;\\u62f3\\u0100;i\\u0777\\u23aelde;\\u4129\\u01eb\\u23b8\\0\\u23bccy;\\u4456l\\u803b\\xef\\u40ef\\u0300cfmosu\\u23cc\\u23d7\\u23dc\\u23e1\\u23e7\\u23f5\\u0100iy\\u23d1\\u23d5rc;\\u4135;\\u4439r;\\uc000\\ud835\\udd27ath;\\u4237pf;\\uc000\\ud835\\udd5b\\u01e3\\u23ec\\0\\u23f1r;\\uc000\\ud835\\udcbfrcy;\\u4458kcy;\\u4454\\u0400acfghjos\\u240b\\u2416\\u2422\\u2427\\u242d\\u2431\\u2435\\u243bppa\\u0100;v\\u2413\\u2414\\u43ba;\\u43f0\\u0100ey\\u241b\\u2420dil;\\u4137;\\u443ar;\\uc000\\ud835\\udd28reen;\\u4138cy;\\u4445cy;\\u445cpf;\\uc000\\ud835\\udd5ccr;\\uc000\\ud835\\udcc0\\u0b80ABEHabcdefghjlmnoprstuv\\u2470\\u2481\\u2486\\u248d\\u2491\\u250e\\u253d\\u255a\\u2580\\u264e\\u265e\\u2665\\u2679\\u267d\\u269a\\u26b2\\u26d8\\u275d\\u2768\\u278b\\u27c0\\u2801\\u2812\\u0180art\\u2477\\u247a\\u247cr\\xf2\\u09c6\\xf2\\u0395ail;\\u691barr;\\u690e\\u0100;g\\u0994\\u248b;\\u6a8bar;\\u6962\\u0963\\u24a5\\0\\u24aa\\0\\u24b1\\0\\0\\0\\0\\0\\u24b5\\u24ba\\0\\u24c6\\u24c8\\u24cd\\0\\u24f9ute;\\u413amptyv;\\u69b4ra\\xee\\u084cbda;\\u43bbg\\u0180;dl\\u088e\\u24c1\\u24c3;\\u6991\\xe5\\u088e;\\u6a85uo\\u803b\\xab\\u40abr\\u0400;bfhlpst\\u0899\\u24de\\u24e6\\u24e9\\u24eb\\u24ee\\u24f1\\u24f5\\u0100;f\\u089d\\u24e3s;\\u691fs;\\u691d\\xeb\\u2252p;\\u61abl;\\u6939im;\\u6973l;\\u61a2\\u0180;ae\\u24ff\\u2500\\u2504\\u6aabil;\\u6919\\u0100;s\\u2509\\u250a\\u6aad;\\uc000\\u2aad\\ufe00\\u0180abr\\u2515\\u2519\\u251drr;\\u690crk;\\u6772\\u0100ak\\u2522\\u252cc\\u0100ek\\u2528\\u252a;\\u407b;\\u405b\\u0100es\\u2531\\u2533;\\u698bl\\u0100du\\u2539\\u253b;\\u698f;\\u698d\\u0200aeuy\\u2546\\u254b\\u2556\\u2558ron;\\u413e\\u0100di\\u2550\\u2554il;\\u413c\\xec\\u08b0\\xe2\\u2529;\\u443b\\u0200cqrs\\u2563\\u2566\\u256d\\u257da;\\u6936uo\\u0100;r\\u0e19\\u1746\\u0100du\\u2572\\u2577har;\\u6967shar;\\u694bh;\\u61b2\\u0280;fgqs\\u258b\\u258c\\u0989\\u25f3\\u25ff\\u6264t\\u0280ahlrt\\u2598\\u25a4\\u25b7\\u25c2\\u25e8rrow\\u0100;t\\u0899\\u25a1a\\xe9\\u24f6arpoon\\u0100du\\u25af\\u25b4own\\xbb\\u045ap\\xbb\\u0966eftarrows;\\u61c7ight\\u0180ahs\\u25cd\\u25d6\\u25derrow\\u0100;s\\u08f4\\u08a7arpoon\\xf3\\u0f98quigarro\\xf7\\u21f0hreetimes;\\u62cb\\u0180;qs\\u258b\\u0993\\u25falan\\xf4\\u09ac\\u0280;cdgs\\u09ac\\u260a\\u260d\\u261d\\u2628c;\\u6aa8ot\\u0100;o\\u2614\\u2615\\u6a7f\\u0100;r\\u261a\\u261b\\u6a81;\\u6a83\\u0100;e\\u2622\\u2625\\uc000\\u22da\\ufe00s;\\u6a93\\u0280adegs\\u2633\\u2639\\u263d\\u2649\\u264bppro\\xf8\\u24c6ot;\\u62d6q\\u0100gq\\u2643\\u2645\\xf4\\u0989gt\\xf2\\u248c\\xf4\\u099bi\\xed\\u09b2\\u0180ilr\\u2655\\u08e1\\u265asht;\\u697c;\\uc000\\ud835\\udd29\\u0100;E\\u099c\\u2663;\\u6a91\\u0161\\u2669\\u2676r\\u0100du\\u25b2\\u266e\\u0100;l\\u0965\\u2673;\\u696alk;\\u6584cy;\\u4459\\u0280;acht\\u0a48\\u2688\\u268b\\u2691\\u2696r\\xf2\\u25c1orne\\xf2\\u1d08ard;\\u696bri;\\u65fa\\u0100io\\u269f\\u26a4dot;\\u4140ust\\u0100;a\\u26ac\\u26ad\\u63b0che\\xbb\\u26ad\\u0200Eaes\\u26bb\\u26bd\\u26c9\\u26d4;\\u6268p\\u0100;p\\u26c3\\u26c4\\u6a89rox\\xbb\\u26c4\\u0100;q\\u26ce\\u26cf\\u6a87\\u0100;q\\u26ce\\u26bbim;\\u62e6\\u0400abnoptwz\\u26e9\\u26f4\\u26f7\\u271a\\u272f\\u2741\\u2747\\u2750\\u0100nr\\u26ee\\u26f1g;\\u67ecr;\\u61fdr\\xeb\\u08c1g\\u0180lmr\\u26ff\\u270d\\u2714eft\\u0100ar\\u09e6\\u2707ight\\xe1\\u09f2apsto;\\u67fcight\\xe1\\u09fdparrow\\u0100lr\\u2725\\u2729ef\\xf4\\u24edight;\\u61ac\\u0180afl\\u2736\\u2739\\u273dr;\\u6985;\\uc000\\ud835\\udd5dus;\\u6a2dimes;\\u6a34\\u0161\\u274b\\u274fst;\\u6217\\xe1\\u134e\\u0180;ef\\u2757\\u2758\\u1800\\u65cange\\xbb\\u2758ar\\u0100;l\\u2764\\u2765\\u4028t;\\u6993\\u0280achmt\\u2773\\u2776\\u277c\\u2785\\u2787r\\xf2\\u08a8orne\\xf2\\u1d8car\\u0100;d\\u0f98\\u2783;\\u696d;\\u600eri;\\u62bf\\u0300achiqt\\u2798\\u279d\\u0a40\\u27a2\\u27ae\\u27bbquo;\\u6039r;\\uc000\\ud835\\udcc1m\\u0180;eg\\u09b2\\u27aa\\u27ac;\\u6a8d;\\u6a8f\\u0100bu\\u252a\\u27b3o\\u0100;r\\u0e1f\\u27b9;\\u601arok;\\u4142\\u8400<;cdhilqr\\u082b\\u27d2\\u2639\\u27dc\\u27e0\\u27e5\\u27ea\\u27f0\\u0100ci\\u27d7\\u27d9;\\u6aa6r;\\u6a79re\\xe5\\u25f2mes;\\u62c9arr;\\u6976uest;\\u6a7b\\u0100Pi\\u27f5\\u27f9ar;\\u6996\\u0180;ef\\u2800\\u092d\\u181b\\u65c3r\\u0100du\\u2807\\u280dshar;\\u694ahar;\\u6966\\u0100en\\u2817\\u2821rtneqq;\\uc000\\u2268\\ufe00\\xc5\\u281e\\u0700Dacdefhilnopsu\\u2840\\u2845\\u2882\\u288e\\u2893\\u28a0\\u28a5\\u28a8\\u28da\\u28e2\\u28e4\\u0a83\\u28f3\\u2902Dot;\\u623a\\u0200clpr\\u284e\\u2852\\u2863\\u287dr\\u803b\\xaf\\u40af\\u0100et\\u2857\\u2859;\\u6642\\u0100;e\\u285e\\u285f\\u6720se\\xbb\\u285f\\u0100;s\\u103b\\u2868to\\u0200;dlu\\u103b\\u2873\\u2877\\u287bow\\xee\\u048cef\\xf4\\u090f\\xf0\\u13d1ker;\\u65ae\\u0100oy\\u2887\\u288cmma;\\u6a29;\\u443cash;\\u6014asuredangle\\xbb\\u1626r;\\uc000\\ud835\\udd2ao;\\u6127\\u0180cdn\\u28af\\u28b4\\u28c9ro\\u803b\\xb5\\u40b5\\u0200;acd\\u1464\\u28bd\\u28c0\\u28c4s\\xf4\\u16a7ir;\\u6af0ot\\u80bb\\xb7\\u01b5us\\u0180;bd\\u28d2\\u1903\\u28d3\\u6212\\u0100;u\\u1d3c\\u28d8;\\u6a2a\\u0163\\u28de\\u28e1p;\\u6adb\\xf2\\u2212\\xf0\\u0a81\\u0100dp\\u28e9\\u28eeels;\\u62a7f;\\uc000\\ud835\\udd5e\\u0100ct\\u28f8\\u28fdr;\\uc000\\ud835\\udcc2pos\\xbb\\u159d\\u0180;lm\\u2909\\u290a\\u290d\\u43bctimap;\\u62b8\\u0c00GLRVabcdefghijlmoprstuvw\\u2942\\u2953\\u297e\\u2989\\u2998\\u29da\\u29e9\\u2a15\\u2a1a\\u2a58\\u2a5d\\u2a83\\u2a95\\u2aa4\\u2aa8\\u2b04\\u2b07\\u2b44\\u2b7f\\u2bae\\u2c34\\u2c67\\u2c7c\\u2ce9\\u0100gt\\u2947\\u294b;\\uc000\\u22d9\\u0338\\u0100;v\\u2950\\u0bcf\\uc000\\u226b\\u20d2\\u0180elt\\u295a\\u2972\\u2976ft\\u0100ar\\u2961\\u2967rrow;\\u61cdightarrow;\\u61ce;\\uc000\\u22d8\\u0338\\u0100;v\\u297b\\u0c47\\uc000\\u226a\\u20d2ightarrow;\\u61cf\\u0100Dd\\u298e\\u2993ash;\\u62afash;\\u62ae\\u0280bcnpt\\u29a3\\u29a7\\u29ac\\u29b1\\u29ccla\\xbb\\u02deute;\\u4144g;\\uc000\\u2220\\u20d2\\u0280;Eiop\\u0d84\\u29bc\\u29c0\\u29c5\\u29c8;\\uc000\\u2a70\\u0338d;\\uc000\\u224b\\u0338s;\\u4149ro\\xf8\\u0d84ur\\u0100;a\\u29d3\\u29d4\\u666el\\u0100;s\\u29d3\\u0b38\\u01f3\\u29df\\0\\u29e3p\\u80bb\\xa0\\u0b37mp\\u0100;e\\u0bf9\\u0c00\\u0280aeouy\\u29f4\\u29fe\\u2a03\\u2a10\\u2a13\\u01f0\\u29f9\\0\\u29fb;\\u6a43on;\\u4148dil;\\u4146ng\\u0100;d\\u0d7e\\u2a0aot;\\uc000\\u2a6d\\u0338p;\\u6a42;\\u443dash;\\u6013\\u0380;Aadqsx\\u0b92\\u2a29\\u2a2d\\u2a3b\\u2a41\\u2a45\\u2a50rr;\\u61d7r\\u0100hr\\u2a33\\u2a36k;\\u6924\\u0100;o\\u13f2\\u13f0ot;\\uc000\\u2250\\u0338ui\\xf6\\u0b63\\u0100ei\\u2a4a\\u2a4ear;\\u6928\\xed\\u0b98ist\\u0100;s\\u0ba0\\u0b9fr;\\uc000\\ud835\\udd2b\\u0200Eest\\u0bc5\\u2a66\\u2a79\\u2a7c\\u0180;qs\\u0bbc\\u2a6d\\u0be1\\u0180;qs\\u0bbc\\u0bc5\\u2a74lan\\xf4\\u0be2i\\xed\\u0bea\\u0100;r\\u0bb6\\u2a81\\xbb\\u0bb7\\u0180Aap\\u2a8a\\u2a8d\\u2a91r\\xf2\\u2971rr;\\u61aear;\\u6af2\\u0180;sv\\u0f8d\\u2a9c\\u0f8c\\u0100;d\\u2aa1\\u2aa2\\u62fc;\\u62facy;\\u445a\\u0380AEadest\\u2ab7\\u2aba\\u2abe\\u2ac2\\u2ac5\\u2af6\\u2af9r\\xf2\\u2966;\\uc000\\u2266\\u0338rr;\\u619ar;\\u6025\\u0200;fqs\\u0c3b\\u2ace\\u2ae3\\u2aeft\\u0100ar\\u2ad4\\u2ad9rro\\xf7\\u2ac1ightarro\\xf7\\u2a90\\u0180;qs\\u0c3b\\u2aba\\u2aealan\\xf4\\u0c55\\u0100;s\\u0c55\\u2af4\\xbb\\u0c36i\\xed\\u0c5d\\u0100;r\\u0c35\\u2afei\\u0100;e\\u0c1a\\u0c25i\\xe4\\u0d90\\u0100pt\\u2b0c\\u2b11f;\\uc000\\ud835\\udd5f\\u8180\\xac;in\\u2b19\\u2b1a\\u2b36\\u40acn\\u0200;Edv\\u0b89\\u2b24\\u2b28\\u2b2e;\\uc000\\u22f9\\u0338ot;\\uc000\\u22f5\\u0338\\u01e1\\u0b89\\u2b33\\u2b35;\\u62f7;\\u62f6i\\u0100;v\\u0cb8\\u2b3c\\u01e1\\u0cb8\\u2b41\\u2b43;\\u62fe;\\u62fd\\u0180aor\\u2b4b\\u2b63\\u2b69r\\u0200;ast\\u0b7b\\u2b55\\u2b5a\\u2b5flle\\xec\\u0b7bl;\\uc000\\u2afd\\u20e5;\\uc000\\u2202\\u0338lint;\\u6a14\\u0180;ce\\u0c92\\u2b70\\u2b73u\\xe5\\u0ca5\\u0100;c\\u0c98\\u2b78\\u0100;e\\u0c92\\u2b7d\\xf1\\u0c98\\u0200Aait\\u2b88\\u2b8b\\u2b9d\\u2ba7r\\xf2\\u2988rr\\u0180;cw\\u2b94\\u2b95\\u2b99\\u619b;\\uc000\\u2933\\u0338;\\uc000\\u219d\\u0338ghtarrow\\xbb\\u2b95ri\\u0100;e\\u0ccb\\u0cd6\\u0380chimpqu\\u2bbd\\u2bcd\\u2bd9\\u2b04\\u0b78\\u2be4\\u2bef\\u0200;cer\\u0d32\\u2bc6\\u0d37\\u2bc9u\\xe5\\u0d45;\\uc000\\ud835\\udcc3ort\\u026d\\u2b05\\0\\0\\u2bd6ar\\xe1\\u2b56m\\u0100;e\\u0d6e\\u2bdf\\u0100;q\\u0d74\\u0d73su\\u0100bp\\u2beb\\u2bed\\xe5\\u0cf8\\xe5\\u0d0b\\u0180bcp\\u2bf6\\u2c11\\u2c19\\u0200;Ees\\u2bff\\u2c00\\u0d22\\u2c04\\u6284;\\uc000\\u2ac5\\u0338et\\u0100;e\\u0d1b\\u2c0bq\\u0100;q\\u0d23\\u2c00c\\u0100;e\\u0d32\\u2c17\\xf1\\u0d38\\u0200;Ees\\u2c22\\u2c23\\u0d5f\\u2c27\\u6285;\\uc000\\u2ac6\\u0338et\\u0100;e\\u0d58\\u2c2eq\\u0100;q\\u0d60\\u2c23\\u0200gilr\\u2c3d\\u2c3f\\u2c45\\u2c47\\xec\\u0bd7lde\\u803b\\xf1\\u40f1\\xe7\\u0c43iangle\\u0100lr\\u2c52\\u2c5ceft\\u0100;e\\u0c1a\\u2c5a\\xf1\\u0c26ight\\u0100;e\\u0ccb\\u2c65\\xf1\\u0cd7\\u0100;m\\u2c6c\\u2c6d\\u43bd\\u0180;es\\u2c74\\u2c75\\u2c79\\u4023ro;\\u6116p;\\u6007\\u0480DHadgilrs\\u2c8f\\u2c94\\u2c99\\u2c9e\\u2ca3\\u2cb0\\u2cb6\\u2cd3\\u2ce3ash;\\u62adarr;\\u6904p;\\uc000\\u224d\\u20d2ash;\\u62ac\\u0100et\\u2ca8\\u2cac;\\uc000\\u2265\\u20d2;\\uc000>\\u20d2nfin;\\u69de\\u0180Aet\\u2cbd\\u2cc1\\u2cc5rr;\\u6902;\\uc000\\u2264\\u20d2\\u0100;r\\u2cca\\u2ccd\\uc000<\\u20d2ie;\\uc000\\u22b4\\u20d2\\u0100At\\u2cd8\\u2cdcrr;\\u6903rie;\\uc000\\u22b5\\u20d2im;\\uc000\\u223c\\u20d2\\u0180Aan\\u2cf0\\u2cf4\\u2d02rr;\\u61d6r\\u0100hr\\u2cfa\\u2cfdk;\\u6923\\u0100;o\\u13e7\\u13e5ear;\\u6927\\u1253\\u1a95\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\u2d2d\\0\\u2d38\\u2d48\\u2d60\\u2d65\\u2d72\\u2d84\\u1b07\\0\\0\\u2d8d\\u2dab\\0\\u2dc8\\u2dce\\0\\u2ddc\\u2e19\\u2e2b\\u2e3e\\u2e43\\u0100cs\\u2d31\\u1a97ute\\u803b\\xf3\\u40f3\\u0100iy\\u2d3c\\u2d45r\\u0100;c\\u1a9e\\u2d42\\u803b\\xf4\\u40f4;\\u443e\\u0280abios\\u1aa0\\u2d52\\u2d57\\u01c8\\u2d5alac;\\u4151v;\\u6a38old;\\u69bclig;\\u4153\\u0100cr\\u2d69\\u2d6dir;\\u69bf;\\uc000\\ud835\\udd2c\\u036f\\u2d79\\0\\0\\u2d7c\\0\\u2d82n;\\u42dbave\\u803b\\xf2\\u40f2;\\u69c1\\u0100bm\\u2d88\\u0df4ar;\\u69b5\\u0200acit\\u2d95\\u2d98\\u2da5\\u2da8r\\xf2\\u1a80\\u0100ir\\u2d9d\\u2da0r;\\u69beoss;\\u69bbn\\xe5\\u0e52;\\u69c0\\u0180aei\\u2db1\\u2db5\\u2db9cr;\\u414dga;\\u43c9\\u0180cdn\\u2dc0\\u2dc5\\u01cdron;\\u43bf;\\u69b6pf;\\uc000\\ud835\\udd60\\u0180ael\\u2dd4\\u2dd7\\u01d2r;\\u69b7rp;\\u69b9\\u0380;adiosv\\u2dea\\u2deb\\u2dee\\u2e08\\u2e0d\\u2e10\\u2e16\\u6228r\\xf2\\u1a86\\u0200;efm\\u2df7\\u2df8\\u2e02\\u2e05\\u6a5dr\\u0100;o\\u2dfe\\u2dff\\u6134f\\xbb\\u2dff\\u803b\\xaa\\u40aa\\u803b\\xba\\u40bagof;\\u62b6r;\\u6a56lope;\\u6a57;\\u6a5b\\u0180clo\\u2e1f\\u2e21\\u2e27\\xf2\\u2e01ash\\u803b\\xf8\\u40f8l;\\u6298i\\u016c\\u2e2f\\u2e34de\\u803b\\xf5\\u40f5es\\u0100;a\\u01db\\u2e3as;\\u6a36ml\\u803b\\xf6\\u40f6bar;\\u633d\\u0ae1\\u2e5e\\0\\u2e7d\\0\\u2e80\\u2e9d\\0\\u2ea2\\u2eb9\\0\\0\\u2ecb\\u0e9c\\0\\u2f13\\0\\0\\u2f2b\\u2fbc\\0\\u2fc8r\\u0200;ast\\u0403\\u2e67\\u2e72\\u0e85\\u8100\\xb6;l\\u2e6d\\u2e6e\\u40b6le\\xec\\u0403\\u0269\\u2e78\\0\\0\\u2e7bm;\\u6af3;\\u6afdy;\\u443fr\\u0280cimpt\\u2e8b\\u2e8f\\u2e93\\u1865\\u2e97nt;\\u4025od;\\u402eil;\\u6030enk;\\u6031r;\\uc000\\ud835\\udd2d\\u0180imo\\u2ea8\\u2eb0\\u2eb4\\u0100;v\\u2ead\\u2eae\\u43c6;\\u43d5ma\\xf4\\u0a76ne;\\u660e\\u0180;tv\\u2ebf\\u2ec0\\u2ec8\\u43c0chfork\\xbb\\u1ffd;\\u43d6\\u0100au\\u2ecf\\u2edfn\\u0100ck\\u2ed5\\u2eddk\\u0100;h\\u21f4\\u2edb;\\u610e\\xf6\\u21f4s\\u0480;abcdemst\\u2ef3\\u2ef4\\u1908\\u2ef9\\u2efd\\u2f04\\u2f06\\u2f0a\\u2f0e\\u402bcir;\\u6a23ir;\\u6a22\\u0100ou\\u1d40\\u2f02;\\u6a25;\\u6a72n\\u80bb\\xb1\\u0e9dim;\\u6a26wo;\\u6a27\\u0180ipu\\u2f19\\u2f20\\u2f25ntint;\\u6a15f;\\uc000\\ud835\\udd61nd\\u803b\\xa3\\u40a3\\u0500;Eaceinosu\\u0ec8\\u2f3f\\u2f41\\u2f44\\u2f47\\u2f81\\u2f89\\u2f92\\u2f7e\\u2fb6;\\u6ab3p;\\u6ab7u\\xe5\\u0ed9\\u0100;c\\u0ece\\u2f4c\\u0300;acens\\u0ec8\\u2f59\\u2f5f\\u2f66\\u2f68\\u2f7eppro\\xf8\\u2f43urlye\\xf1\\u0ed9\\xf1\\u0ece\\u0180aes\\u2f6f\\u2f76\\u2f7approx;\\u6ab9qq;\\u6ab5im;\\u62e8i\\xed\\u0edfme\\u0100;s\\u2f88\\u0eae\\u6032\\u0180Eas\\u2f78\\u2f90\\u2f7a\\xf0\\u2f75\\u0180dfp\\u0eec\\u2f99\\u2faf\\u0180als\\u2fa0\\u2fa5\\u2faalar;\\u632eine;\\u6312urf;\\u6313\\u0100;t\\u0efb\\u2fb4\\xef\\u0efbrel;\\u62b0\\u0100ci\\u2fc0\\u2fc5r;\\uc000\\ud835\\udcc5;\\u43c8ncsp;\\u6008\\u0300fiopsu\\u2fda\\u22e2\\u2fdf\\u2fe5\\u2feb\\u2ff1r;\\uc000\\ud835\\udd2epf;\\uc000\\ud835\\udd62rime;\\u6057cr;\\uc000\\ud835\\udcc6\\u0180aeo\\u2ff8\\u3009\\u3013t\\u0100ei\\u2ffe\\u3005rnion\\xf3\\u06b0nt;\\u6a16st\\u0100;e\\u3010\\u3011\\u403f\\xf1\\u1f19\\xf4\\u0f14\\u0a80ABHabcdefhilmnoprstux\\u3040\\u3051\\u3055\\u3059\\u30e0\\u310e\\u312b\\u3147\\u3162\\u3172\\u318e\\u3206\\u3215\\u3224\\u3229\\u3258\\u326e\\u3272\\u3290\\u32b0\\u32b7\\u0180art\\u3047\\u304a\\u304cr\\xf2\\u10b3\\xf2\\u03ddail;\\u691car\\xf2\\u1c65ar;\\u6964\\u0380cdenqrt\\u3068\\u3075\\u3078\\u307f\\u308f\\u3094\\u30cc\\u0100eu\\u306d\\u3071;\\uc000\\u223d\\u0331te;\\u4155i\\xe3\\u116emptyv;\\u69b3g\\u0200;del\\u0fd1\\u3089\\u308b\\u308d;\\u6992;\\u69a5\\xe5\\u0fd1uo\\u803b\\xbb\\u40bbr\\u0580;abcfhlpstw\\u0fdc\\u30ac\\u30af\\u30b7\\u30b9\\u30bc\\u30be\\u30c0\\u30c3\\u30c7\\u30cap;\\u6975\\u0100;f\\u0fe0\\u30b4s;\\u6920;\\u6933s;\\u691e\\xeb\\u225d\\xf0\\u272el;\\u6945im;\\u6974l;\\u61a3;\\u619d\\u0100ai\\u30d1\\u30d5il;\\u691ao\\u0100;n\\u30db\\u30dc\\u6236al\\xf3\\u0f1e\\u0180abr\\u30e7\\u30ea\\u30eer\\xf2\\u17e5rk;\\u6773\\u0100ak\\u30f3\\u30fdc\\u0100ek\\u30f9\\u30fb;\\u407d;\\u405d\\u0100es\\u3102\\u3104;\\u698cl\\u0100du\\u310a\\u310c;\\u698e;\\u6990\\u0200aeuy\\u3117\\u311c\\u3127\\u3129ron;\\u4159\\u0100di\\u3121\\u3125il;\\u4157\\xec\\u0ff2\\xe2\\u30fa;\\u4440\\u0200clqs\\u3134\\u3137\\u313d\\u3144a;\\u6937dhar;\\u6969uo\\u0100;r\\u020e\\u020dh;\\u61b3\\u0180acg\\u314e\\u315f\\u0f44l\\u0200;ips\\u0f78\\u3158\\u315b\\u109cn\\xe5\\u10bbar\\xf4\\u0fa9t;\\u65ad\\u0180ilr\\u3169\\u1023\\u316esht;\\u697d;\\uc000\\ud835\\udd2f\\u0100ao\\u3177\\u3186r\\u0100du\\u317d\\u317f\\xbb\\u047b\\u0100;l\\u1091\\u3184;\\u696c\\u0100;v\\u318b\\u318c\\u43c1;\\u43f1\\u0180gns\\u3195\\u31f9\\u31fcht\\u0300ahlrst\\u31a4\\u31b0\\u31c2\\u31d8\\u31e4\\u31eerrow\\u0100;t\\u0fdc\\u31ada\\xe9\\u30c8arpoon\\u0100du\\u31bb\\u31bfow\\xee\\u317ep\\xbb\\u1092eft\\u0100ah\\u31ca\\u31d0rrow\\xf3\\u0feaarpoon\\xf3\\u0551ightarrows;\\u61c9quigarro\\xf7\\u30cbhreetimes;\\u62ccg;\\u42daingdotse\\xf1\\u1f32\\u0180ahm\\u320d\\u3210\\u3213r\\xf2\\u0feaa\\xf2\\u0551;\\u600foust\\u0100;a\\u321e\\u321f\\u63b1che\\xbb\\u321fmid;\\u6aee\\u0200abpt\\u3232\\u323d\\u3240\\u3252\\u0100nr\\u3237\\u323ag;\\u67edr;\\u61fer\\xeb\\u1003\\u0180afl\\u3247\\u324a\\u324er;\\u6986;\\uc000\\ud835\\udd63us;\\u6a2eimes;\\u6a35\\u0100ap\\u325d\\u3267r\\u0100;g\\u3263\\u3264\\u4029t;\\u6994olint;\\u6a12ar\\xf2\\u31e3\\u0200achq\\u327b\\u3280\\u10bc\\u3285quo;\\u603ar;\\uc000\\ud835\\udcc7\\u0100bu\\u30fb\\u328ao\\u0100;r\\u0214\\u0213\\u0180hir\\u3297\\u329b\\u32a0re\\xe5\\u31f8mes;\\u62cai\\u0200;efl\\u32aa\\u1059\\u1821\\u32ab\\u65b9tri;\\u69celuhar;\\u6968;\\u611e\\u0d61\\u32d5\\u32db\\u32df\\u332c\\u3338\\u3371\\0\\u337a\\u33a4\\0\\0\\u33ec\\u33f0\\0\\u3428\\u3448\\u345a\\u34ad\\u34b1\\u34ca\\u34f1\\0\\u3616\\0\\0\\u3633cute;\\u415bqu\\xef\\u27ba\\u0500;Eaceinpsy\\u11ed\\u32f3\\u32f5\\u32ff\\u3302\\u330b\\u330f\\u331f\\u3326\\u3329;\\u6ab4\\u01f0\\u32fa\\0\\u32fc;\\u6ab8on;\\u4161u\\xe5\\u11fe\\u0100;d\\u11f3\\u3307il;\\u415frc;\\u415d\\u0180Eas\\u3316\\u3318\\u331b;\\u6ab6p;\\u6abaim;\\u62e9olint;\\u6a13i\\xed\\u1204;\\u4441ot\\u0180;be\\u3334\\u1d47\\u3335\\u62c5;\\u6a66\\u0380Aacmstx\\u3346\\u334a\\u3357\\u335b\\u335e\\u3363\\u336drr;\\u61d8r\\u0100hr\\u3350\\u3352\\xeb\\u2228\\u0100;o\\u0a36\\u0a34t\\u803b\\xa7\\u40a7i;\\u403bwar;\\u6929m\\u0100in\\u3369\\xf0nu\\xf3\\xf1t;\\u6736r\\u0100;o\\u3376\\u2055\\uc000\\ud835\\udd30\\u0200acoy\\u3382\\u3386\\u3391\\u33a0rp;\\u666f\\u0100hy\\u338b\\u338fcy;\\u4449;\\u4448rt\\u026d\\u3399\\0\\0\\u339ci\\xe4\\u1464ara\\xec\\u2e6f\\u803b\\xad\\u40ad\\u0100gm\\u33a8\\u33b4ma\\u0180;fv\\u33b1\\u33b2\\u33b2\\u43c3;\\u43c2\\u0400;deglnpr\\u12ab\\u33c5\\u33c9\\u33ce\\u33d6\\u33de\\u33e1\\u33e6ot;\\u6a6a\\u0100;q\\u12b1\\u12b0\\u0100;E\\u33d3\\u33d4\\u6a9e;\\u6aa0\\u0100;E\\u33db\\u33dc\\u6a9d;\\u6a9fe;\\u6246lus;\\u6a24arr;\\u6972ar\\xf2\\u113d\\u0200aeit\\u33f8\\u3408\\u340f\\u3417\\u0100ls\\u33fd\\u3404lsetm\\xe9\\u336ahp;\\u6a33parsl;\\u69e4\\u0100dl\\u1463\\u3414e;\\u6323\\u0100;e\\u341c\\u341d\\u6aaa\\u0100;s\\u3422\\u3423\\u6aac;\\uc000\\u2aac\\ufe00\\u0180flp\\u342e\\u3433\\u3442tcy;\\u444c\\u0100;b\\u3438\\u3439\\u402f\\u0100;a\\u343e\\u343f\\u69c4r;\\u633ff;\\uc000\\ud835\\udd64a\\u0100dr\\u344d\\u0402es\\u0100;u\\u3454\\u3455\\u6660it\\xbb\\u3455\\u0180csu\\u3460\\u3479\\u349f\\u0100au\\u3465\\u346fp\\u0100;s\\u1188\\u346b;\\uc000\\u2293\\ufe00p\\u0100;s\\u11b4\\u3475;\\uc000\\u2294\\ufe00u\\u0100bp\\u347f\\u348f\\u0180;es\\u1197\\u119c\\u3486et\\u0100;e\\u1197\\u348d\\xf1\\u119d\\u0180;es\\u11a8\\u11ad\\u3496et\\u0100;e\\u11a8\\u349d\\xf1\\u11ae\\u0180;af\\u117b\\u34a6\\u05b0r\\u0165\\u34ab\\u05b1\\xbb\\u117car\\xf2\\u1148\\u0200cemt\\u34b9\\u34be\\u34c2\\u34c5r;\\uc000\\ud835\\udcc8tm\\xee\\xf1i\\xec\\u3415ar\\xe6\\u11be\\u0100ar\\u34ce\\u34d5r\\u0100;f\\u34d4\\u17bf\\u6606\\u0100an\\u34da\\u34edight\\u0100ep\\u34e3\\u34eapsilo\\xee\\u1ee0h\\xe9\\u2eafs\\xbb\\u2852\\u0280bcmnp\\u34fb\\u355e\\u1209\\u358b\\u358e\\u0480;Edemnprs\\u350e\\u350f\\u3511\\u3515\\u351e\\u3523\\u352c\\u3531\\u3536\\u6282;\\u6ac5ot;\\u6abd\\u0100;d\\u11da\\u351aot;\\u6ac3ult;\\u6ac1\\u0100Ee\\u3528\\u352a;\\u6acb;\\u628alus;\\u6abfarr;\\u6979\\u0180eiu\\u353d\\u3552\\u3555t\\u0180;en\\u350e\\u3545\\u354bq\\u0100;q\\u11da\\u350feq\\u0100;q\\u352b\\u3528m;\\u6ac7\\u0100bp\\u355a\\u355c;\\u6ad5;\\u6ad3c\\u0300;acens\\u11ed\\u356c\\u3572\\u3579\\u357b\\u3326ppro\\xf8\\u32faurlye\\xf1\\u11fe\\xf1\\u11f3\\u0180aes\\u3582\\u3588\\u331bppro\\xf8\\u331aq\\xf1\\u3317g;\\u666a\\u0680123;Edehlmnps\\u35a9\\u35ac\\u35af\\u121c\\u35b2\\u35b4\\u35c0\\u35c9\\u35d5\\u35da\\u35df\\u35e8\\u35ed\\u803b\\xb9\\u40b9\\u803b\\xb2\\u40b2\\u803b\\xb3\\u40b3;\\u6ac6\\u0100os\\u35b9\\u35bct;\\u6abeub;\\u6ad8\\u0100;d\\u1222\\u35c5ot;\\u6ac4s\\u0100ou\\u35cf\\u35d2l;\\u67c9b;\\u6ad7arr;\\u697bult;\\u6ac2\\u0100Ee\\u35e4\\u35e6;\\u6acc;\\u628blus;\\u6ac0\\u0180eiu\\u35f4\\u3609\\u360ct\\u0180;en\\u121c\\u35fc\\u3602q\\u0100;q\\u1222\\u35b2eq\\u0100;q\\u35e7\\u35e4m;\\u6ac8\\u0100bp\\u3611\\u3613;\\u6ad4;\\u6ad6\\u0180Aan\\u361c\\u3620\\u362drr;\\u61d9r\\u0100hr\\u3626\\u3628\\xeb\\u222e\\u0100;o\\u0a2b\\u0a29war;\\u692alig\\u803b\\xdf\\u40df\\u0be1\\u3651\\u365d\\u3660\\u12ce\\u3673\\u3679\\0\\u367e\\u36c2\\0\\0\\0\\0\\0\\u36db\\u3703\\0\\u3709\\u376c\\0\\0\\0\\u3787\\u0272\\u3656\\0\\0\\u365bget;\\u6316;\\u43c4r\\xeb\\u0e5f\\u0180aey\\u3666\\u366b\\u3670ron;\\u4165dil;\\u4163;\\u4442lrec;\\u6315r;\\uc000\\ud835\\udd31\\u0200eiko\\u3686\\u369d\\u36b5\\u36bc\\u01f2\\u368b\\0\\u3691e\\u01004f\\u1284\\u1281a\\u0180;sv\\u3698\\u3699\\u369b\\u43b8ym;\\u43d1\\u0100cn\\u36a2\\u36b2k\\u0100as\\u36a8\\u36aeppro\\xf8\\u12c1im\\xbb\\u12acs\\xf0\\u129e\\u0100as\\u36ba\\u36ae\\xf0\\u12c1rn\\u803b\\xfe\\u40fe\\u01ec\\u031f\\u36c6\\u22e7es\\u8180\\xd7;bd\\u36cf\\u36d0\\u36d8\\u40d7\\u0100;a\\u190f\\u36d5r;\\u6a31;\\u6a30\\u0180eps\\u36e1\\u36e3\\u3700\\xe1\\u2a4d\\u0200;bcf\\u0486\\u36ec\\u36f0\\u36f4ot;\\u6336ir;\\u6af1\\u0100;o\\u36f9\\u36fc\\uc000\\ud835\\udd65rk;\\u6ada\\xe1\\u3362rime;\\u6034\\u0180aip\\u370f\\u3712\\u3764d\\xe5\\u1248\\u0380adempst\\u3721\\u374d\\u3740\\u3751\\u3757\\u375c\\u375fngle\\u0280;dlqr\\u3730\\u3731\\u3736\\u3740\\u3742\\u65b5own\\xbb\\u1dbbeft\\u0100;e\\u2800\\u373e\\xf1\\u092e;\\u625cight\\u0100;e\\u32aa\\u374b\\xf1\\u105aot;\\u65ecinus;\\u6a3alus;\\u6a39b;\\u69cdime;\\u6a3bezium;\\u63e2\\u0180cht\\u3772\\u377d\\u3781\\u0100ry\\u3777\\u377b;\\uc000\\ud835\\udcc9;\\u4446cy;\\u445brok;\\u4167\\u0100io\\u378b\\u378ex\\xf4\\u1777head\\u0100lr\\u3797\\u37a0eftarro\\xf7\\u084fightarrow\\xbb\\u0f5d\\u0900AHabcdfghlmoprstuw\\u37d0\\u37d3\\u37d7\\u37e4\\u37f0\\u37fc\\u380e\\u381c\\u3823\\u3834\\u3851\\u385d\\u386b\\u38a9\\u38cc\\u38d2\\u38ea\\u38f6r\\xf2\\u03edar;\\u6963\\u0100cr\\u37dc\\u37e2ute\\u803b\\xfa\\u40fa\\xf2\\u1150r\\u01e3\\u37ea\\0\\u37edy;\\u445eve;\\u416d\\u0100iy\\u37f5\\u37farc\\u803b\\xfb\\u40fb;\\u4443\\u0180abh\\u3803\\u3806\\u380br\\xf2\\u13adlac;\\u4171a\\xf2\\u13c3\\u0100ir\\u3813\\u3818sht;\\u697e;\\uc000\\ud835\\udd32rave\\u803b\\xf9\\u40f9\\u0161\\u3827\\u3831r\\u0100lr\\u382c\\u382e\\xbb\\u0957\\xbb\\u1083lk;\\u6580\\u0100ct\\u3839\\u384d\\u026f\\u383f\\0\\0\\u384arn\\u0100;e\\u3845\\u3846\\u631cr\\xbb\\u3846op;\\u630fri;\\u65f8\\u0100al\\u3856\\u385acr;\\u416b\\u80bb\\xa8\\u0349\\u0100gp\\u3862\\u3866on;\\u4173f;\\uc000\\ud835\\udd66\\u0300adhlsu\\u114b\\u3878\\u387d\\u1372\\u3891\\u38a0own\\xe1\\u13b3arpoon\\u0100lr\\u3888\\u388cef\\xf4\\u382digh\\xf4\\u382fi\\u0180;hl\\u3899\\u389a\\u389c\\u43c5\\xbb\\u13faon\\xbb\\u389aparrows;\\u61c8\\u0180cit\\u38b0\\u38c4\\u38c8\\u026f\\u38b6\\0\\0\\u38c1rn\\u0100;e\\u38bc\\u38bd\\u631dr\\xbb\\u38bdop;\\u630eng;\\u416fri;\\u65f9cr;\\uc000\\ud835\\udcca\\u0180dir\\u38d9\\u38dd\\u38e2ot;\\u62f0lde;\\u4169i\\u0100;f\\u3730\\u38e8\\xbb\\u1813\\u0100am\\u38ef\\u38f2r\\xf2\\u38a8l\\u803b\\xfc\\u40fcangle;\\u69a7\\u0780ABDacdeflnoprsz\\u391c\\u391f\\u3929\\u392d\\u39b5\\u39b8\\u39bd\\u39df\\u39e4\\u39e8\\u39f3\\u39f9\\u39fd\\u3a01\\u3a20r\\xf2\\u03f7ar\\u0100;v\\u3926\\u3927\\u6ae8;\\u6ae9as\\xe8\\u03e1\\u0100nr\\u3932\\u3937grt;\\u699c\\u0380eknprst\\u34e3\\u3946\\u394b\\u3952\\u395d\\u3964\\u3996app\\xe1\\u2415othin\\xe7\\u1e96\\u0180hir\\u34eb\\u2ec8\\u3959op\\xf4\\u2fb5\\u0100;h\\u13b7\\u3962\\xef\\u318d\\u0100iu\\u3969\\u396dgm\\xe1\\u33b3\\u0100bp\\u3972\\u3984setneq\\u0100;q\\u397d\\u3980\\uc000\\u228a\\ufe00;\\uc000\\u2acb\\ufe00setneq\\u0100;q\\u398f\\u3992\\uc000\\u228b\\ufe00;\\uc000\\u2acc\\ufe00\\u0100hr\\u399b\\u399fet\\xe1\\u369ciangle\\u0100lr\\u39aa\\u39afeft\\xbb\\u0925ight\\xbb\\u1051y;\\u4432ash\\xbb\\u1036\\u0180elr\\u39c4\\u39d2\\u39d7\\u0180;be\\u2dea\\u39cb\\u39cfar;\\u62bbq;\\u625alip;\\u62ee\\u0100bt\\u39dc\\u1468a\\xf2\\u1469r;\\uc000\\ud835\\udd33tr\\xe9\\u39aesu\\u0100bp\\u39ef\\u39f1\\xbb\\u0d1c\\xbb\\u0d59pf;\\uc000\\ud835\\udd67ro\\xf0\\u0efbtr\\xe9\\u39b4\\u0100cu\\u3a06\\u3a0br;\\uc000\\ud835\\udccb\\u0100bp\\u3a10\\u3a18n\\u0100Ee\\u3980\\u3a16\\xbb\\u397en\\u0100Ee\\u3992\\u3a1e\\xbb\\u3990igzag;\\u699a\\u0380cefoprs\\u3a36\\u3a3b\\u3a56\\u3a5b\\u3a54\\u3a61\\u3a6airc;\\u4175\\u0100di\\u3a40\\u3a51\\u0100bg\\u3a45\\u3a49ar;\\u6a5fe\\u0100;q\\u15fa\\u3a4f;\\u6259erp;\\u6118r;\\uc000\\ud835\\udd34pf;\\uc000\\ud835\\udd68\\u0100;e\\u1479\\u3a66at\\xe8\\u1479cr;\\uc000\\ud835\\udccc\\u0ae3\\u178e\\u3a87\\0\\u3a8b\\0\\u3a90\\u3a9b\\0\\0\\u3a9d\\u3aa8\\u3aab\\u3aaf\\0\\0\\u3ac3\\u3ace\\0\\u3ad8\\u17dc\\u17dftr\\xe9\\u17d1r;\\uc000\\ud835\\udd35\\u0100Aa\\u3a94\\u3a97r\\xf2\\u03c3r\\xf2\\u09f6;\\u43be\\u0100Aa\\u3aa1\\u3aa4r\\xf2\\u03b8r\\xf2\\u09eba\\xf0\\u2713is;\\u62fb\\u0180dpt\\u17a4\\u3ab5\\u3abe\\u0100fl\\u3aba\\u17a9;\\uc000\\ud835\\udd69im\\xe5\\u17b2\\u0100Aa\\u3ac7\\u3acar\\xf2\\u03cer\\xf2\\u0a01\\u0100cq\\u3ad2\\u17b8r;\\uc000\\ud835\\udccd\\u0100pt\\u17d6\\u3adcr\\xe9\\u17d4\\u0400acefiosu\\u3af0\\u3afd\\u3b08\\u3b0c\\u3b11\\u3b15\\u3b1b\\u3b21c\\u0100uy\\u3af6\\u3afbte\\u803b\\xfd\\u40fd;\\u444f\\u0100iy\\u3b02\\u3b06rc;\\u4177;\\u444bn\\u803b\\xa5\\u40a5r;\\uc000\\ud835\\udd36cy;\\u4457pf;\\uc000\\ud835\\udd6acr;\\uc000\\ud835\\udcce\\u0100cm\\u3b26\\u3b29y;\\u444el\\u803b\\xff\\u40ff\\u0500acdefhiosw\\u3b42\\u3b48\\u3b54\\u3b58\\u3b64\\u3b69\\u3b6d\\u3b74\\u3b7a\\u3b80cute;\\u417a\\u0100ay\\u3b4d\\u3b52ron;\\u417e;\\u4437ot;\\u417c\\u0100et\\u3b5d\\u3b61tr\\xe6\\u155fa;\\u43b6r;\\uc000\\ud835\\udd37cy;\\u4436grarr;\\u61ddpf;\\uc000\\ud835\\udd6bcr;\\uc000\\ud835\\udccf\\u0100jn\\u3b85\\u3b87;\\u600dj;\\u600c\".split(\"\").map(c => c.charCodeAt(0)));\n\n// Generated using scripts/write-decode-map.ts\nconst xmlDecodeTree = /* #__PURE__ */new Uint16Array(\n// prettier-ignore\n/* #__PURE__ */\n/*#__PURE__*/\"\\u0200aglq\\t\\x15\\x18\\x1b\\u026d\\x0f\\0\\0\\x12p;\\u4026os;\\u4027t;\\u403et;\\u403cuot;\\u4022\".split(\"\").map(c => c.charCodeAt(0)));\n\n// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134\nvar _a;\nconst decodeMap = /*#__PURE__*/new Map([[0, 65533],\n// C1 Unicode control character reference replacements\n[128, 8364], [130, 8218], [131, 402], [132, 8222], [133, 8230], [134, 8224], [135, 8225], [136, 710], [137, 8240], [138, 352], [139, 8249], [140, 338], [142, 381], [145, 8216], [146, 8217], [147, 8220], [148, 8221], [149, 8226], [150, 8211], [151, 8212], [152, 732], [153, 8482], [154, 353], [155, 8250], [156, 339], [158, 382], [159, 376]]);\n/**\n * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.\n */\nconst fromCodePoint =\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, n/no-unsupported-features/es-builtins\n(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) {\n  let output = \"\";\n  if (codePoint > 65535) {\n    codePoint -= 65536;\n    output += String.fromCharCode(codePoint >>> 10 & 1023 | 55296);\n    codePoint = 56320 | codePoint & 1023;\n  }\n  output += String.fromCharCode(codePoint);\n  return output;\n};\n/**\n * Replace the given code point with a replacement character if it is a\n * surrogate or is outside the valid range. Otherwise return the code\n * point unchanged.\n */\nfunction replaceCodePoint(codePoint) {\n  var _a;\n  if (codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111) {\n    return 65533;\n  }\n  return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;\n}\nvar CharCodes$1 = /*#__PURE__*/function (CharCodes) {\n  CharCodes[CharCodes[\"NUM\"] = 35] = \"NUM\";\n  CharCodes[CharCodes[\"SEMI\"] = 59] = \"SEMI\";\n  CharCodes[CharCodes[\"EQUALS\"] = 61] = \"EQUALS\";\n  CharCodes[CharCodes[\"ZERO\"] = 48] = \"ZERO\";\n  CharCodes[CharCodes[\"NINE\"] = 57] = \"NINE\";\n  CharCodes[CharCodes[\"LOWER_A\"] = 97] = \"LOWER_A\";\n  CharCodes[CharCodes[\"LOWER_F\"] = 102] = \"LOWER_F\";\n  CharCodes[CharCodes[\"LOWER_X\"] = 120] = \"LOWER_X\";\n  CharCodes[CharCodes[\"LOWER_Z\"] = 122] = \"LOWER_Z\";\n  CharCodes[CharCodes[\"UPPER_A\"] = 65] = \"UPPER_A\";\n  CharCodes[CharCodes[\"UPPER_F\"] = 70] = \"UPPER_F\";\n  CharCodes[CharCodes[\"UPPER_Z\"] = 90] = \"UPPER_Z\";\n  return CharCodes;\n}(CharCodes$1 || {});\n/** Bit that needs to be set to convert an upper case ASCII character to lower case */\nconst TO_LOWER_BIT = 32;\nvar BinTrieFlags = /*#__PURE__*/function (BinTrieFlags) {\n  BinTrieFlags[BinTrieFlags[\"VALUE_LENGTH\"] = 49152] = \"VALUE_LENGTH\";\n  BinTrieFlags[BinTrieFlags[\"BRANCH_LENGTH\"] = 16256] = \"BRANCH_LENGTH\";\n  BinTrieFlags[BinTrieFlags[\"JUMP_TABLE\"] = 127] = \"JUMP_TABLE\";\n  return BinTrieFlags;\n}(BinTrieFlags || {});\nfunction isNumber(code) {\n  return code >= CharCodes$1.ZERO && code <= CharCodes$1.NINE;\n}\nfunction isHexadecimalCharacter(code) {\n  return code >= CharCodes$1.UPPER_A && code <= CharCodes$1.UPPER_F || code >= CharCodes$1.LOWER_A && code <= CharCodes$1.LOWER_F;\n}\nfunction isAsciiAlphaNumeric(code) {\n  return code >= CharCodes$1.UPPER_A && code <= CharCodes$1.UPPER_Z || code >= CharCodes$1.LOWER_A && code <= CharCodes$1.LOWER_Z || isNumber(code);\n}\n/**\n * Checks if the given character is a valid end character for an entity in an attribute.\n *\n * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.\n * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state\n */\nfunction isEntityInAttributeInvalidEnd(code) {\n  return code === CharCodes$1.EQUALS || isAsciiAlphaNumeric(code);\n}\nvar EntityDecoderState = /*#__PURE__*/function (EntityDecoderState) {\n  EntityDecoderState[EntityDecoderState[\"EntityStart\"] = 0] = \"EntityStart\";\n  EntityDecoderState[EntityDecoderState[\"NumericStart\"] = 1] = \"NumericStart\";\n  EntityDecoderState[EntityDecoderState[\"NumericDecimal\"] = 2] = \"NumericDecimal\";\n  EntityDecoderState[EntityDecoderState[\"NumericHex\"] = 3] = \"NumericHex\";\n  EntityDecoderState[EntityDecoderState[\"NamedEntity\"] = 4] = \"NamedEntity\";\n  return EntityDecoderState;\n}(EntityDecoderState || {});\nvar DecodingMode = /*#__PURE__*/function (DecodingMode) {\n  /** Entities in text nodes that can end with any character. */\n  DecodingMode[DecodingMode[\"Legacy\"] = 0] = \"Legacy\";\n  /** Only allow entities terminated with a semicolon. */\n  DecodingMode[DecodingMode[\"Strict\"] = 1] = \"Strict\";\n  /** Entities in attributes have limitations on ending characters. */\n  DecodingMode[DecodingMode[\"Attribute\"] = 2] = \"Attribute\";\n  return DecodingMode;\n}(DecodingMode || {});\n/**\n * Token decoder with support of writing partial entities.\n */\nclass EntityDecoder {\n  constructor(/** The tree used to decode entities. */\n  decodeTree,\n  /**\n   * The function that is called when a codepoint is decoded.\n   *\n   * For multi-byte named entities, this will be called multiple times,\n   * with the second codepoint, and the same `consumed` value.\n   *\n   * @param codepoint The decoded codepoint.\n   * @param consumed The number of bytes consumed by the decoder.\n   */\n  emitCodePoint, /** An object that is used to produce errors. */\n  errors) {\n    this.decodeTree = decodeTree;\n    this.emitCodePoint = emitCodePoint;\n    this.errors = errors;\n    /** The current state of the decoder. */\n    this.state = EntityDecoderState.EntityStart;\n    /** Characters that were consumed while parsing an entity. */\n    this.consumed = 1;\n    /**\n     * The result of the entity.\n     *\n     * Either the result index of a numeric entity, or the codepoint of a\n     * numeric entity.\n     */\n    this.result = 0;\n    /** The current index in the decode tree. */\n    this.treeIndex = 0;\n    /** The number of characters that were consumed in excess. */\n    this.excess = 1;\n    /** The mode in which the decoder is operating. */\n    this.decodeMode = DecodingMode.Strict;\n  }\n  /** Resets the instance to make it reusable. */\n  startEntity(decodeMode) {\n    this.decodeMode = decodeMode;\n    this.state = EntityDecoderState.EntityStart;\n    this.result = 0;\n    this.treeIndex = 0;\n    this.excess = 1;\n    this.consumed = 1;\n  }\n  /**\n   * Write an entity to the decoder. This can be called multiple times with partial entities.\n   * If the entity is incomplete, the decoder will return -1.\n   *\n   * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the\n   * entity is incomplete, and resume when the next string is written.\n   *\n   * @param input The string containing the entity (or a continuation of the entity).\n   * @param offset The offset at which the entity begins. Should be 0 if this is not the first call.\n   * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n   */\n  write(input, offset) {\n    switch (this.state) {\n      case EntityDecoderState.EntityStart:\n        {\n          if (input.charCodeAt(offset) === CharCodes$1.NUM) {\n            this.state = EntityDecoderState.NumericStart;\n            this.consumed += 1;\n            return this.stateNumericStart(input, offset + 1);\n          }\n          this.state = EntityDecoderState.NamedEntity;\n          return this.stateNamedEntity(input, offset);\n        }\n      case EntityDecoderState.NumericStart:\n        {\n          return this.stateNumericStart(input, offset);\n        }\n      case EntityDecoderState.NumericDecimal:\n        {\n          return this.stateNumericDecimal(input, offset);\n        }\n      case EntityDecoderState.NumericHex:\n        {\n          return this.stateNumericHex(input, offset);\n        }\n      case EntityDecoderState.NamedEntity:\n        {\n          return this.stateNamedEntity(input, offset);\n        }\n    }\n  }\n  /**\n   * Switches between the numeric decimal and hexadecimal states.\n   *\n   * Equivalent to the `Numeric character reference state` in the HTML spec.\n   *\n   * @param input The string containing the entity (or a continuation of the entity).\n   * @param offset The current offset.\n   * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n   */\n  stateNumericStart(input, offset) {\n    if (offset >= input.length) {\n      return -1;\n    }\n    if ((input.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes$1.LOWER_X) {\n      this.state = EntityDecoderState.NumericHex;\n      this.consumed += 1;\n      return this.stateNumericHex(input, offset + 1);\n    }\n    this.state = EntityDecoderState.NumericDecimal;\n    return this.stateNumericDecimal(input, offset);\n  }\n  addToNumericResult(input, start, end, base) {\n    if (start !== end) {\n      const digitCount = end - start;\n      this.result = this.result * Math.pow(base, digitCount) + Number.parseInt(input.substr(start, digitCount), base);\n      this.consumed += digitCount;\n    }\n  }\n  /**\n   * Parses a hexadecimal numeric entity.\n   *\n   * Equivalent to the `Hexademical character reference state` in the HTML spec.\n   *\n   * @param input The string containing the entity (or a continuation of the entity).\n   * @param offset The current offset.\n   * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n   */\n  stateNumericHex(input, offset) {\n    const startIndex = offset;\n    while (offset < input.length) {\n      const char = input.charCodeAt(offset);\n      if (isNumber(char) || isHexadecimalCharacter(char)) {\n        offset += 1;\n      } else {\n        this.addToNumericResult(input, startIndex, offset, 16);\n        return this.emitNumericEntity(char, 3);\n      }\n    }\n    this.addToNumericResult(input, startIndex, offset, 16);\n    return -1;\n  }\n  /**\n   * Parses a decimal numeric entity.\n   *\n   * Equivalent to the `Decimal character reference state` in the HTML spec.\n   *\n   * @param input The string containing the entity (or a continuation of the entity).\n   * @param offset The current offset.\n   * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n   */\n  stateNumericDecimal(input, offset) {\n    const startIndex = offset;\n    while (offset < input.length) {\n      const char = input.charCodeAt(offset);\n      if (isNumber(char)) {\n        offset += 1;\n      } else {\n        this.addToNumericResult(input, startIndex, offset, 10);\n        return this.emitNumericEntity(char, 2);\n      }\n    }\n    this.addToNumericResult(input, startIndex, offset, 10);\n    return -1;\n  }\n  /**\n   * Validate and emit a numeric entity.\n   *\n   * Implements the logic from the `Hexademical character reference start\n   * state` and `Numeric character reference end state` in the HTML spec.\n   *\n   * @param lastCp The last code point of the entity. Used to see if the\n   *               entity was terminated with a semicolon.\n   * @param expectedLength The minimum number of characters that should be\n   *                       consumed. Used to validate that at least one digit\n   *                       was consumed.\n   * @returns The number of characters that were consumed.\n   */\n  emitNumericEntity(lastCp, expectedLength) {\n    var _a;\n    // Ensure we consumed at least one digit.\n    if (this.consumed <= expectedLength) {\n      (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n      return 0;\n    }\n    // Figure out if this is a legit end of the entity\n    if (lastCp === CharCodes$1.SEMI) {\n      this.consumed += 1;\n    } else if (this.decodeMode === DecodingMode.Strict) {\n      return 0;\n    }\n    this.emitCodePoint(replaceCodePoint(this.result), this.consumed);\n    if (this.errors) {\n      if (lastCp !== CharCodes$1.SEMI) {\n        this.errors.missingSemicolonAfterCharacterReference();\n      }\n      this.errors.validateNumericCharacterReference(this.result);\n    }\n    return this.consumed;\n  }\n  /**\n   * Parses a named entity.\n   *\n   * Equivalent to the `Named character reference state` in the HTML spec.\n   *\n   * @param input The string containing the entity (or a continuation of the entity).\n   * @param offset The current offset.\n   * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n   */\n  stateNamedEntity(input, offset) {\n    const {\n      decodeTree\n    } = this;\n    let current = decodeTree[this.treeIndex];\n    // The mask is the number of bytes of the value, including the current byte.\n    let valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n    for (; offset < input.length; offset++, this.excess++) {\n      const char = input.charCodeAt(offset);\n      this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);\n      if (this.treeIndex < 0) {\n        return this.result === 0 ||\n        // If we are parsing an attribute\n        this.decodeMode === DecodingMode.Attribute && (\n        // We shouldn't have consumed any characters after the entity,\n        valueLength === 0 ||\n        // And there should be no invalid characters.\n        isEntityInAttributeInvalidEnd(char)) ? 0 : this.emitNotTerminatedNamedEntity();\n      }\n      current = decodeTree[this.treeIndex];\n      valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n      // If the branch is a value, store it and continue\n      if (valueLength !== 0) {\n        // If the entity is terminated by a semicolon, we are done.\n        if (char === CharCodes$1.SEMI) {\n          return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);\n        }\n        // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it.\n        if (this.decodeMode !== DecodingMode.Strict) {\n          this.result = this.treeIndex;\n          this.consumed += this.excess;\n          this.excess = 0;\n        }\n      }\n    }\n    return -1;\n  }\n  /**\n   * Emit a named entity that was not terminated with a semicolon.\n   *\n   * @returns The number of characters consumed.\n   */\n  emitNotTerminatedNamedEntity() {\n    var _a;\n    const {\n      result,\n      decodeTree\n    } = this;\n    const valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;\n    this.emitNamedEntityData(result, valueLength, this.consumed);\n    (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();\n    return this.consumed;\n  }\n  /**\n   * Emit a named entity.\n   *\n   * @param result The index of the entity in the decode tree.\n   * @param valueLength The number of bytes in the entity.\n   * @param consumed The number of characters consumed.\n   *\n   * @returns The number of characters consumed.\n   */\n  emitNamedEntityData(result, valueLength, consumed) {\n    const {\n      decodeTree\n    } = this;\n    this.emitCodePoint(valueLength === 1 ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH : decodeTree[result + 1], consumed);\n    if (valueLength === 3) {\n      // For multi-byte values, we need to emit the second byte.\n      this.emitCodePoint(decodeTree[result + 2], consumed);\n    }\n    return consumed;\n  }\n  /**\n   * Signal to the parser that the end of the input was reached.\n   *\n   * Remaining data will be emitted and relevant errors will be produced.\n   *\n   * @returns The number of characters consumed.\n   */\n  end() {\n    var _a;\n    switch (this.state) {\n      case EntityDecoderState.NamedEntity:\n        {\n          // Emit a named entity if we have one.\n          return this.result !== 0 && (this.decodeMode !== DecodingMode.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0;\n        }\n      // Otherwise, emit a numeric entity if we have one.\n      case EntityDecoderState.NumericDecimal:\n        {\n          return this.emitNumericEntity(0, 2);\n        }\n      case EntityDecoderState.NumericHex:\n        {\n          return this.emitNumericEntity(0, 3);\n        }\n      case EntityDecoderState.NumericStart:\n        {\n          (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n          return 0;\n        }\n      case EntityDecoderState.EntityStart:\n        {\n          // Return 0 if we have no entity.\n          return 0;\n        }\n    }\n  }\n}\n/**\n * Determines the branch of the current node that is taken given the current\n * character. This function is used to traverse the trie.\n *\n * @param decodeTree The trie.\n * @param current The current node.\n * @param nodeIdx The index right after the current node and its value.\n * @param char The current character.\n * @returns The index of the next node, or -1 if no branch is taken.\n */\nfunction determineBranch(decodeTree, current, nodeIndex, char) {\n  const branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;\n  const jumpOffset = current & BinTrieFlags.JUMP_TABLE;\n  // Case 1: Single branch encoded in jump offset\n  if (branchCount === 0) {\n    return jumpOffset !== 0 && char === jumpOffset ? nodeIndex : -1;\n  }\n  // Case 2: Multiple branches encoded in jump table\n  if (jumpOffset) {\n    const value = char - jumpOffset;\n    return value < 0 || value >= branchCount ? -1 : decodeTree[nodeIndex + value] - 1;\n  }\n  // Case 3: Multiple branches encoded in dictionary\n  // Binary search for the character.\n  let lo = nodeIndex;\n  let hi = lo + branchCount - 1;\n  while (lo <= hi) {\n    const mid = lo + hi >>> 1;\n    const midValue = decodeTree[mid];\n    if (midValue < char) {\n      lo = mid + 1;\n    } else if (midValue > char) {\n      hi = mid - 1;\n    } else {\n      return decodeTree[mid + branchCount];\n    }\n  }\n  return -1;\n}\nvar CharCodes = /*#__PURE__*/function (CharCodes) {\n  CharCodes[CharCodes[\"Tab\"] = 9] = \"Tab\";\n  CharCodes[CharCodes[\"NewLine\"] = 10] = \"NewLine\";\n  CharCodes[CharCodes[\"FormFeed\"] = 12] = \"FormFeed\";\n  CharCodes[CharCodes[\"CarriageReturn\"] = 13] = \"CarriageReturn\";\n  CharCodes[CharCodes[\"Space\"] = 32] = \"Space\";\n  CharCodes[CharCodes[\"ExclamationMark\"] = 33] = \"ExclamationMark\";\n  CharCodes[CharCodes[\"Number\"] = 35] = \"Number\";\n  CharCodes[CharCodes[\"Amp\"] = 38] = \"Amp\";\n  CharCodes[CharCodes[\"SingleQuote\"] = 39] = \"SingleQuote\";\n  CharCodes[CharCodes[\"DoubleQuote\"] = 34] = \"DoubleQuote\";\n  CharCodes[CharCodes[\"Dash\"] = 45] = \"Dash\";\n  CharCodes[CharCodes[\"Slash\"] = 47] = \"Slash\";\n  CharCodes[CharCodes[\"Zero\"] = 48] = \"Zero\";\n  CharCodes[CharCodes[\"Nine\"] = 57] = \"Nine\";\n  CharCodes[CharCodes[\"Semi\"] = 59] = \"Semi\";\n  CharCodes[CharCodes[\"Lt\"] = 60] = \"Lt\";\n  CharCodes[CharCodes[\"Eq\"] = 61] = \"Eq\";\n  CharCodes[CharCodes[\"Gt\"] = 62] = \"Gt\";\n  CharCodes[CharCodes[\"Questionmark\"] = 63] = \"Questionmark\";\n  CharCodes[CharCodes[\"UpperA\"] = 65] = \"UpperA\";\n  CharCodes[CharCodes[\"LowerA\"] = 97] = \"LowerA\";\n  CharCodes[CharCodes[\"UpperF\"] = 70] = \"UpperF\";\n  CharCodes[CharCodes[\"LowerF\"] = 102] = \"LowerF\";\n  CharCodes[CharCodes[\"UpperZ\"] = 90] = \"UpperZ\";\n  CharCodes[CharCodes[\"LowerZ\"] = 122] = \"LowerZ\";\n  CharCodes[CharCodes[\"LowerX\"] = 120] = \"LowerX\";\n  CharCodes[CharCodes[\"OpeningSquareBracket\"] = 91] = \"OpeningSquareBracket\";\n  return CharCodes;\n}(CharCodes || {});\n/** All the states the tokenizer can be in. */\nvar State = /*#__PURE__*/function (State) {\n  State[State[\"Text\"] = 1] = \"Text\";\n  State[State[\"BeforeTagName\"] = 2] = \"BeforeTagName\";\n  State[State[\"InTagName\"] = 3] = \"InTagName\";\n  State[State[\"InSelfClosingTag\"] = 4] = \"InSelfClosingTag\";\n  State[State[\"BeforeClosingTagName\"] = 5] = \"BeforeClosingTagName\";\n  State[State[\"InClosingTagName\"] = 6] = \"InClosingTagName\";\n  State[State[\"AfterClosingTagName\"] = 7] = \"AfterClosingTagName\";\n  // Attributes\n  State[State[\"BeforeAttributeName\"] = 8] = \"BeforeAttributeName\";\n  State[State[\"InAttributeName\"] = 9] = \"InAttributeName\";\n  State[State[\"AfterAttributeName\"] = 10] = \"AfterAttributeName\";\n  State[State[\"BeforeAttributeValue\"] = 11] = \"BeforeAttributeValue\";\n  State[State[\"InAttributeValueDq\"] = 12] = \"InAttributeValueDq\";\n  State[State[\"InAttributeValueSq\"] = 13] = \"InAttributeValueSq\";\n  State[State[\"InAttributeValueNq\"] = 14] = \"InAttributeValueNq\";\n  // Declarations\n  State[State[\"BeforeDeclaration\"] = 15] = \"BeforeDeclaration\";\n  State[State[\"InDeclaration\"] = 16] = \"InDeclaration\";\n  // Processing instructions\n  State[State[\"InProcessingInstruction\"] = 17] = \"InProcessingInstruction\";\n  // Comments & CDATA\n  State[State[\"BeforeComment\"] = 18] = \"BeforeComment\";\n  State[State[\"CDATASequence\"] = 19] = \"CDATASequence\";\n  State[State[\"InSpecialComment\"] = 20] = \"InSpecialComment\";\n  State[State[\"InCommentLike\"] = 21] = \"InCommentLike\";\n  // Special tags\n  State[State[\"BeforeSpecialS\"] = 22] = \"BeforeSpecialS\";\n  State[State[\"BeforeSpecialT\"] = 23] = \"BeforeSpecialT\";\n  State[State[\"SpecialStartSequence\"] = 24] = \"SpecialStartSequence\";\n  State[State[\"InSpecialTag\"] = 25] = \"InSpecialTag\";\n  State[State[\"InEntity\"] = 26] = \"InEntity\";\n  return State;\n}(State || {});\nfunction isWhitespace(c) {\n  return c === CharCodes.Space || c === CharCodes.NewLine || c === CharCodes.Tab || c === CharCodes.FormFeed || c === CharCodes.CarriageReturn;\n}\nfunction isEndOfTagSection(c) {\n  return c === CharCodes.Slash || c === CharCodes.Gt || isWhitespace(c);\n}\nfunction isASCIIAlpha(c) {\n  return c >= CharCodes.LowerA && c <= CharCodes.LowerZ || c >= CharCodes.UpperA && c <= CharCodes.UpperZ;\n}\nvar QuoteType = /*#__PURE__*/function (QuoteType) {\n  QuoteType[QuoteType[\"NoValue\"] = 0] = \"NoValue\";\n  QuoteType[QuoteType[\"Unquoted\"] = 1] = \"Unquoted\";\n  QuoteType[QuoteType[\"Single\"] = 2] = \"Single\";\n  QuoteType[QuoteType[\"Double\"] = 3] = \"Double\";\n  return QuoteType;\n}(QuoteType || {});\n/**\n * Sequences used to match longer strings.\n *\n * We don't have `Script`, `Style`, or `Title` here. Instead, we re-use the *End\n * sequences with an increased offset.\n */\nconst Sequences = {\n  Cdata: /*#__PURE__*/new Uint8Array([0x43, 0x44, 0x41, 0x54, 0x41, 0x5b]),\n  // CDATA[\n  CdataEnd: /*#__PURE__*/new Uint8Array([0x5d, 0x5d, 0x3e]),\n  // ]]>\n  CommentEnd: /*#__PURE__*/new Uint8Array([0x2d, 0x2d, 0x3e]),\n  // `-->`\n  ScriptEnd: /*#__PURE__*/new Uint8Array([0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74]),\n  // `</script`\n  StyleEnd: /*#__PURE__*/new Uint8Array([0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65]),\n  // `</style`\n  TitleEnd: /*#__PURE__*/new Uint8Array([0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65]),\n  // `</title`\n  TextareaEnd: /*#__PURE__*/new Uint8Array([0x3c, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72, 0x65, 0x61]),\n  // `</textarea`\n  XmpEnd: /*#__PURE__*/new Uint8Array([0x3c, 0x2f, 0x78, 0x6d, 0x70]) // `</xmp`\n};\nclass Tokenizer {\n  constructor({\n    xmlMode = false,\n    decodeEntities = true\n  }, cbs) {\n    this.cbs = cbs;\n    /** The current state the tokenizer is in. */\n    this.state = State.Text;\n    /** The read buffer. */\n    this.buffer = \"\";\n    /** The beginning of the section that is currently being read. */\n    this.sectionStart = 0;\n    /** The index within the buffer that we are currently looking at. */\n    this.index = 0;\n    /** The start of the last entity. */\n    this.entityStart = 0;\n    /** Some behavior, eg. when decoding entities, is done while we are in another state. This keeps track of the other state type. */\n    this.baseState = State.Text;\n    /** For special parsing behavior inside of script and style tags. */\n    this.isSpecial = false;\n    /** Indicates whether the tokenizer has been paused. */\n    this.running = true;\n    /** The offset of the current buffer. */\n    this.offset = 0;\n    this.currentSequence = undefined;\n    this.sequenceIndex = 0;\n    this.xmlMode = xmlMode;\n    this.decodeEntities = decodeEntities;\n    this.entityDecoder = new EntityDecoder(xmlMode ? xmlDecodeTree : htmlDecodeTree, (cp, consumed) => this.emitCodePoint(cp, consumed));\n  }\n  reset() {\n    this.state = State.Text;\n    this.buffer = \"\";\n    this.sectionStart = 0;\n    this.index = 0;\n    this.baseState = State.Text;\n    this.currentSequence = undefined;\n    this.running = true;\n    this.offset = 0;\n  }\n  write(chunk) {\n    this.offset += this.buffer.length;\n    this.buffer = chunk;\n    this.parse();\n  }\n  end() {\n    if (this.running) this.finish();\n  }\n  pause() {\n    this.running = false;\n  }\n  resume() {\n    this.running = true;\n    if (this.index < this.buffer.length + this.offset) {\n      this.parse();\n    }\n  }\n  stateText(c) {\n    if (c === CharCodes.Lt || !this.decodeEntities && this.fastForwardTo(CharCodes.Lt)) {\n      if (this.index > this.sectionStart) {\n        this.cbs.ontext(this.sectionStart, this.index);\n      }\n      this.state = State.BeforeTagName;\n      this.sectionStart = this.index;\n    } else if (this.decodeEntities && c === CharCodes.Amp) {\n      this.startEntity();\n    }\n  }\n  stateSpecialStartSequence(c) {\n    const isEnd = this.sequenceIndex === this.currentSequence.length;\n    const isMatch = isEnd ?\n    // If we are at the end of the sequence, make sure the tag name has ended\n    isEndOfTagSection(c) :\n    // Otherwise, do a case-insensitive comparison\n    (c | 0x20) === this.currentSequence[this.sequenceIndex];\n    if (!isMatch) {\n      this.isSpecial = false;\n    } else if (!isEnd) {\n      this.sequenceIndex++;\n      return;\n    }\n    this.sequenceIndex = 0;\n    this.state = State.InTagName;\n    this.stateInTagName(c);\n  }\n  /** Look for an end tag. For <title> tags, also decode entities. */\n  stateInSpecialTag(c) {\n    if (this.sequenceIndex === this.currentSequence.length) {\n      if (c === CharCodes.Gt || isWhitespace(c)) {\n        const endOfText = this.index - this.currentSequence.length;\n        if (this.sectionStart < endOfText) {\n          // Spoof the index so that reported locations match up.\n          const actualIndex = this.index;\n          this.index = endOfText;\n          this.cbs.ontext(this.sectionStart, endOfText);\n          this.index = actualIndex;\n        }\n        this.isSpecial = false;\n        this.sectionStart = endOfText + 2; // Skip over the `</`\n        this.stateInClosingTagName(c);\n        return; // We are done; skip the rest of the function.\n      }\n      this.sequenceIndex = 0;\n    }\n    if ((c | 0x20) === this.currentSequence[this.sequenceIndex]) {\n      this.sequenceIndex += 1;\n    } else if (this.sequenceIndex === 0) {\n      if (this.currentSequence === Sequences.TitleEnd) {\n        // We have to parse entities in <title> tags.\n        if (this.decodeEntities && c === CharCodes.Amp) {\n          this.startEntity();\n        }\n      } else if (this.fastForwardTo(CharCodes.Lt)) {\n        // Outside of <title> tags, we can fast-forward.\n        this.sequenceIndex = 1;\n      }\n    } else {\n      // If we see a `<`, set the sequence index to 1; useful for eg. `<</script>`.\n      this.sequenceIndex = Number(c === CharCodes.Lt);\n    }\n  }\n  stateCDATASequence(c) {\n    if (c === Sequences.Cdata[this.sequenceIndex]) {\n      if (++this.sequenceIndex === Sequences.Cdata.length) {\n        this.state = State.InCommentLike;\n        this.currentSequence = Sequences.CdataEnd;\n        this.sequenceIndex = 0;\n        this.sectionStart = this.index + 1;\n      }\n    } else {\n      this.sequenceIndex = 0;\n      this.state = State.InDeclaration;\n      this.stateInDeclaration(c); // Reconsume the character\n    }\n  }\n  /**\n   * When we wait for one specific character, we can speed things up\n   * by skipping through the buffer until we find it.\n   *\n   * @returns Whether the character was found.\n   */\n  fastForwardTo(c) {\n    while (++this.index < this.buffer.length + this.offset) {\n      if (this.buffer.charCodeAt(this.index - this.offset) === c) {\n        return true;\n      }\n    }\n    /*\n     * We increment the index at the end of the `parse` loop,\n     * so set it to `buffer.length - 1` here.\n     *\n     * TODO: Refactor `parse` to increment index before calling states.\n     */\n    this.index = this.buffer.length + this.offset - 1;\n    return false;\n  }\n  /**\n   * Comments and CDATA end with `-->` and `]]>`.\n   *\n   * Their common qualities are:\n   * - Their end sequences have a distinct character they start with.\n   * - That character is then repeated, so we have to check multiple repeats.\n   * - All characters but the start character of the sequence can be skipped.\n   */\n  stateInCommentLike(c) {\n    if (c === this.currentSequence[this.sequenceIndex]) {\n      if (++this.sequenceIndex === this.currentSequence.length) {\n        if (this.currentSequence === Sequences.CdataEnd) {\n          this.cbs.oncdata(this.sectionStart, this.index, 2);\n        } else {\n          this.cbs.oncomment(this.sectionStart, this.index, 2);\n        }\n        this.sequenceIndex = 0;\n        this.sectionStart = this.index + 1;\n        this.state = State.Text;\n      }\n    } else if (this.sequenceIndex === 0) {\n      // Fast-forward to the first character of the sequence\n      if (this.fastForwardTo(this.currentSequence[0])) {\n        this.sequenceIndex = 1;\n      }\n    } else if (c !== this.currentSequence[this.sequenceIndex - 1]) {\n      // Allow long sequences, eg. --->, ]]]>\n      this.sequenceIndex = 0;\n    }\n  }\n  /**\n   * HTML only allows ASCII alpha characters (a-z and A-Z) at the beginning of a tag name.\n   *\n   * XML allows a lot more characters here (@see https://www.w3.org/TR/REC-xml/#NT-NameStartChar).\n   * We allow anything that wouldn't end the tag.\n   */\n  isTagStartChar(c) {\n    return this.xmlMode ? !isEndOfTagSection(c) : isASCIIAlpha(c);\n  }\n  startSpecial(sequence, offset) {\n    this.isSpecial = true;\n    this.currentSequence = sequence;\n    this.sequenceIndex = offset;\n    this.state = State.SpecialStartSequence;\n  }\n  stateBeforeTagName(c) {\n    if (c === CharCodes.ExclamationMark) {\n      this.state = State.BeforeDeclaration;\n      this.sectionStart = this.index + 1;\n    } else if (c === CharCodes.Questionmark) {\n      this.state = State.InProcessingInstruction;\n      this.sectionStart = this.index + 1;\n    } else if (this.isTagStartChar(c)) {\n      const lower = c | 0x20;\n      this.sectionStart = this.index;\n      if (this.xmlMode) {\n        this.state = State.InTagName;\n      } else if (lower === Sequences.ScriptEnd[2]) {\n        this.state = State.BeforeSpecialS;\n      } else if (lower === Sequences.TitleEnd[2] || lower === Sequences.XmpEnd[2]) {\n        this.state = State.BeforeSpecialT;\n      } else {\n        this.state = State.InTagName;\n      }\n    } else if (c === CharCodes.Slash) {\n      this.state = State.BeforeClosingTagName;\n    } else {\n      this.state = State.Text;\n      this.stateText(c);\n    }\n  }\n  stateInTagName(c) {\n    if (isEndOfTagSection(c)) {\n      this.cbs.onopentagname(this.sectionStart, this.index);\n      this.sectionStart = -1;\n      this.state = State.BeforeAttributeName;\n      this.stateBeforeAttributeName(c);\n    }\n  }\n  stateBeforeClosingTagName(c) {\n    if (isWhitespace(c)) ;else if (c === CharCodes.Gt) {\n      this.state = State.Text;\n    } else {\n      this.state = this.isTagStartChar(c) ? State.InClosingTagName : State.InSpecialComment;\n      this.sectionStart = this.index;\n    }\n  }\n  stateInClosingTagName(c) {\n    if (c === CharCodes.Gt || isWhitespace(c)) {\n      this.cbs.onclosetag(this.sectionStart, this.index);\n      this.sectionStart = -1;\n      this.state = State.AfterClosingTagName;\n      this.stateAfterClosingTagName(c);\n    }\n  }\n  stateAfterClosingTagName(c) {\n    // Skip everything until \">\"\n    if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n      this.state = State.Text;\n      this.sectionStart = this.index + 1;\n    }\n  }\n  stateBeforeAttributeName(c) {\n    if (c === CharCodes.Gt) {\n      this.cbs.onopentagend(this.index);\n      if (this.isSpecial) {\n        this.state = State.InSpecialTag;\n        this.sequenceIndex = 0;\n      } else {\n        this.state = State.Text;\n      }\n      this.sectionStart = this.index + 1;\n    } else if (c === CharCodes.Slash) {\n      this.state = State.InSelfClosingTag;\n    } else if (!isWhitespace(c)) {\n      this.state = State.InAttributeName;\n      this.sectionStart = this.index;\n    }\n  }\n  stateInSelfClosingTag(c) {\n    if (c === CharCodes.Gt) {\n      this.cbs.onselfclosingtag(this.index);\n      this.state = State.Text;\n      this.sectionStart = this.index + 1;\n      this.isSpecial = false; // Reset special state, in case of self-closing special tags\n    } else if (!isWhitespace(c)) {\n      this.state = State.BeforeAttributeName;\n      this.stateBeforeAttributeName(c);\n    }\n  }\n  stateInAttributeName(c) {\n    if (c === CharCodes.Eq || isEndOfTagSection(c)) {\n      this.cbs.onattribname(this.sectionStart, this.index);\n      this.sectionStart = this.index;\n      this.state = State.AfterAttributeName;\n      this.stateAfterAttributeName(c);\n    }\n  }\n  stateAfterAttributeName(c) {\n    if (c === CharCodes.Eq) {\n      this.state = State.BeforeAttributeValue;\n    } else if (c === CharCodes.Slash || c === CharCodes.Gt) {\n      this.cbs.onattribend(QuoteType.NoValue, this.sectionStart);\n      this.sectionStart = -1;\n      this.state = State.BeforeAttributeName;\n      this.stateBeforeAttributeName(c);\n    } else if (!isWhitespace(c)) {\n      this.cbs.onattribend(QuoteType.NoValue, this.sectionStart);\n      this.state = State.InAttributeName;\n      this.sectionStart = this.index;\n    }\n  }\n  stateBeforeAttributeValue(c) {\n    if (c === CharCodes.DoubleQuote) {\n      this.state = State.InAttributeValueDq;\n      this.sectionStart = this.index + 1;\n    } else if (c === CharCodes.SingleQuote) {\n      this.state = State.InAttributeValueSq;\n      this.sectionStart = this.index + 1;\n    } else if (!isWhitespace(c)) {\n      this.sectionStart = this.index;\n      this.state = State.InAttributeValueNq;\n      this.stateInAttributeValueNoQuotes(c); // Reconsume token\n    }\n  }\n  handleInAttributeValue(c, quote) {\n    if (c === quote || !this.decodeEntities && this.fastForwardTo(quote)) {\n      this.cbs.onattribdata(this.sectionStart, this.index);\n      this.sectionStart = -1;\n      this.cbs.onattribend(quote === CharCodes.DoubleQuote ? QuoteType.Double : QuoteType.Single, this.index + 1);\n      this.state = State.BeforeAttributeName;\n    } else if (this.decodeEntities && c === CharCodes.Amp) {\n      this.startEntity();\n    }\n  }\n  stateInAttributeValueDoubleQuotes(c) {\n    this.handleInAttributeValue(c, CharCodes.DoubleQuote);\n  }\n  stateInAttributeValueSingleQuotes(c) {\n    this.handleInAttributeValue(c, CharCodes.SingleQuote);\n  }\n  stateInAttributeValueNoQuotes(c) {\n    if (isWhitespace(c) || c === CharCodes.Gt) {\n      this.cbs.onattribdata(this.sectionStart, this.index);\n      this.sectionStart = -1;\n      this.cbs.onattribend(QuoteType.Unquoted, this.index);\n      this.state = State.BeforeAttributeName;\n      this.stateBeforeAttributeName(c);\n    } else if (this.decodeEntities && c === CharCodes.Amp) {\n      this.startEntity();\n    }\n  }\n  stateBeforeDeclaration(c) {\n    if (c === CharCodes.OpeningSquareBracket) {\n      this.state = State.CDATASequence;\n      this.sequenceIndex = 0;\n    } else {\n      this.state = c === CharCodes.Dash ? State.BeforeComment : State.InDeclaration;\n    }\n  }\n  stateInDeclaration(c) {\n    if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n      this.cbs.ondeclaration(this.sectionStart, this.index);\n      this.state = State.Text;\n      this.sectionStart = this.index + 1;\n    }\n  }\n  stateInProcessingInstruction(c) {\n    if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n      this.cbs.onprocessinginstruction(this.sectionStart, this.index);\n      this.state = State.Text;\n      this.sectionStart = this.index + 1;\n    }\n  }\n  stateBeforeComment(c) {\n    if (c === CharCodes.Dash) {\n      this.state = State.InCommentLike;\n      this.currentSequence = Sequences.CommentEnd;\n      // Allow short comments (eg. <!-->)\n      this.sequenceIndex = 2;\n      this.sectionStart = this.index + 1;\n    } else {\n      this.state = State.InDeclaration;\n    }\n  }\n  stateInSpecialComment(c) {\n    if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n      this.cbs.oncomment(this.sectionStart, this.index, 0);\n      this.state = State.Text;\n      this.sectionStart = this.index + 1;\n    }\n  }\n  stateBeforeSpecialS(c) {\n    const lower = c | 0x20;\n    if (lower === Sequences.ScriptEnd[3]) {\n      this.startSpecial(Sequences.ScriptEnd, 4);\n    } else if (lower === Sequences.StyleEnd[3]) {\n      this.startSpecial(Sequences.StyleEnd, 4);\n    } else {\n      this.state = State.InTagName;\n      this.stateInTagName(c); // Consume the token again\n    }\n  }\n  stateBeforeSpecialT(c) {\n    const lower = c | 0x20;\n    switch (lower) {\n      case Sequences.TitleEnd[3]:\n        {\n          this.startSpecial(Sequences.TitleEnd, 4);\n          break;\n        }\n      case Sequences.TextareaEnd[3]:\n        {\n          this.startSpecial(Sequences.TextareaEnd, 4);\n          break;\n        }\n      case Sequences.XmpEnd[3]:\n        {\n          this.startSpecial(Sequences.XmpEnd, 4);\n          break;\n        }\n      default:\n        {\n          this.state = State.InTagName;\n          this.stateInTagName(c); // Consume the token again\n        }\n    }\n  }\n  startEntity() {\n    this.baseState = this.state;\n    this.state = State.InEntity;\n    this.entityStart = this.index;\n    this.entityDecoder.startEntity(this.xmlMode ? DecodingMode.Strict : this.baseState === State.Text || this.baseState === State.InSpecialTag ? DecodingMode.Legacy : DecodingMode.Attribute);\n  }\n  stateInEntity() {\n    const length = this.entityDecoder.write(this.buffer, this.index - this.offset);\n    // If `length` is positive, we are done with the entity.\n    if (length >= 0) {\n      this.state = this.baseState;\n      if (length === 0) {\n        this.index = this.entityStart;\n      }\n    } else {\n      // Mark buffer as consumed.\n      this.index = this.offset + this.buffer.length - 1;\n    }\n  }\n  /**\n   * Remove data that has already been consumed from the buffer.\n   */\n  cleanup() {\n    // If we are inside of text or attributes, emit what we already have.\n    if (this.running && this.sectionStart !== this.index) {\n      if (this.state === State.Text || this.state === State.InSpecialTag && this.sequenceIndex === 0) {\n        this.cbs.ontext(this.sectionStart, this.index);\n        this.sectionStart = this.index;\n      } else if (this.state === State.InAttributeValueDq || this.state === State.InAttributeValueSq || this.state === State.InAttributeValueNq) {\n        this.cbs.onattribdata(this.sectionStart, this.index);\n        this.sectionStart = this.index;\n      }\n    }\n  }\n  shouldContinue() {\n    return this.index < this.buffer.length + this.offset && this.running;\n  }\n  /**\n   * Iterates through the buffer, calling the function corresponding to the current state.\n   *\n   * States that are more likely to be hit are higher up, as a performance improvement.\n   */\n  parse() {\n    while (this.shouldContinue()) {\n      const c = this.buffer.charCodeAt(this.index - this.offset);\n      switch (this.state) {\n        case State.Text:\n          {\n            this.stateText(c);\n            break;\n          }\n        case State.SpecialStartSequence:\n          {\n            this.stateSpecialStartSequence(c);\n            break;\n          }\n        case State.InSpecialTag:\n          {\n            this.stateInSpecialTag(c);\n            break;\n          }\n        case State.CDATASequence:\n          {\n            this.stateCDATASequence(c);\n            break;\n          }\n        case State.InAttributeValueDq:\n          {\n            this.stateInAttributeValueDoubleQuotes(c);\n            break;\n          }\n        case State.InAttributeName:\n          {\n            this.stateInAttributeName(c);\n            break;\n          }\n        case State.InCommentLike:\n          {\n            this.stateInCommentLike(c);\n            break;\n          }\n        case State.InSpecialComment:\n          {\n            this.stateInSpecialComment(c);\n            break;\n          }\n        case State.BeforeAttributeName:\n          {\n            this.stateBeforeAttributeName(c);\n            break;\n          }\n        case State.InTagName:\n          {\n            this.stateInTagName(c);\n            break;\n          }\n        case State.InClosingTagName:\n          {\n            this.stateInClosingTagName(c);\n            break;\n          }\n        case State.BeforeTagName:\n          {\n            this.stateBeforeTagName(c);\n            break;\n          }\n        case State.AfterAttributeName:\n          {\n            this.stateAfterAttributeName(c);\n            break;\n          }\n        case State.InAttributeValueSq:\n          {\n            this.stateInAttributeValueSingleQuotes(c);\n            break;\n          }\n        case State.BeforeAttributeValue:\n          {\n            this.stateBeforeAttributeValue(c);\n            break;\n          }\n        case State.BeforeClosingTagName:\n          {\n            this.stateBeforeClosingTagName(c);\n            break;\n          }\n        case State.AfterClosingTagName:\n          {\n            this.stateAfterClosingTagName(c);\n            break;\n          }\n        case State.BeforeSpecialS:\n          {\n            this.stateBeforeSpecialS(c);\n            break;\n          }\n        case State.BeforeSpecialT:\n          {\n            this.stateBeforeSpecialT(c);\n            break;\n          }\n        case State.InAttributeValueNq:\n          {\n            this.stateInAttributeValueNoQuotes(c);\n            break;\n          }\n        case State.InSelfClosingTag:\n          {\n            this.stateInSelfClosingTag(c);\n            break;\n          }\n        case State.InDeclaration:\n          {\n            this.stateInDeclaration(c);\n            break;\n          }\n        case State.BeforeDeclaration:\n          {\n            this.stateBeforeDeclaration(c);\n            break;\n          }\n        case State.BeforeComment:\n          {\n            this.stateBeforeComment(c);\n            break;\n          }\n        case State.InProcessingInstruction:\n          {\n            this.stateInProcessingInstruction(c);\n            break;\n          }\n        case State.InEntity:\n          {\n            this.stateInEntity();\n            break;\n          }\n      }\n      this.index++;\n    }\n    this.cleanup();\n  }\n  finish() {\n    if (this.state === State.InEntity) {\n      this.entityDecoder.end();\n      this.state = this.baseState;\n    }\n    this.handleTrailingData();\n    this.cbs.onend();\n  }\n  /** Handle any trailing data. */\n  handleTrailingData() {\n    const endIndex = this.buffer.length + this.offset;\n    // If there is no remaining data, we are done.\n    if (this.sectionStart >= endIndex) {\n      return;\n    }\n    if (this.state === State.InCommentLike) {\n      if (this.currentSequence === Sequences.CdataEnd) {\n        this.cbs.oncdata(this.sectionStart, endIndex, 0);\n      } else {\n        this.cbs.oncomment(this.sectionStart, endIndex, 0);\n      }\n    } else if (this.state === State.InTagName || this.state === State.BeforeAttributeName || this.state === State.BeforeAttributeValue || this.state === State.AfterAttributeName || this.state === State.InAttributeName || this.state === State.InAttributeValueSq || this.state === State.InAttributeValueDq || this.state === State.InAttributeValueNq || this.state === State.InClosingTagName) ;else {\n      this.cbs.ontext(this.sectionStart, endIndex);\n    }\n  }\n  emitCodePoint(cp, consumed) {\n    if (this.baseState !== State.Text && this.baseState !== State.InSpecialTag) {\n      if (this.sectionStart < this.entityStart) {\n        this.cbs.onattribdata(this.sectionStart, this.entityStart);\n      }\n      this.sectionStart = this.entityStart + consumed;\n      this.index = this.sectionStart - 1;\n      this.cbs.onattribentity(cp);\n    } else {\n      if (this.sectionStart < this.entityStart) {\n        this.cbs.ontext(this.sectionStart, this.entityStart);\n      }\n      this.sectionStart = this.entityStart + consumed;\n      this.index = this.sectionStart - 1;\n      this.cbs.ontextentity(cp, this.sectionStart);\n    }\n  }\n}\nconst formTags = /*#__PURE__*/new Set([\"input\", \"option\", \"optgroup\", \"select\", \"button\", \"datalist\", \"textarea\"]);\nconst pTag = /*#__PURE__*/new Set([\"p\"]);\nconst tableSectionTags = /*#__PURE__*/new Set([\"thead\", \"tbody\"]);\nconst ddtTags = /*#__PURE__*/new Set([\"dd\", \"dt\"]);\nconst rtpTags = /*#__PURE__*/new Set([\"rt\", \"rp\"]);\nconst openImpliesClose = /*#__PURE__*/new Map([[\"tr\", /*#__PURE__*/new Set([\"tr\", \"th\", \"td\"])], [\"th\", /*#__PURE__*/new Set([\"th\"])], [\"td\", /*#__PURE__*/new Set([\"thead\", \"th\", \"td\"])], [\"body\", /*#__PURE__*/new Set([\"head\", \"link\", \"script\"])], [\"li\", /*#__PURE__*/new Set([\"li\"])], [\"p\", pTag], [\"h1\", pTag], [\"h2\", pTag], [\"h3\", pTag], [\"h4\", pTag], [\"h5\", pTag], [\"h6\", pTag], [\"select\", formTags], [\"input\", formTags], [\"output\", formTags], [\"button\", formTags], [\"datalist\", formTags], [\"textarea\", formTags], [\"option\", /*#__PURE__*/new Set([\"option\"])], [\"optgroup\", /*#__PURE__*/new Set([\"optgroup\", \"option\"])], [\"dd\", ddtTags], [\"dt\", ddtTags], [\"address\", pTag], [\"article\", pTag], [\"aside\", pTag], [\"blockquote\", pTag], [\"details\", pTag], [\"div\", pTag], [\"dl\", pTag], [\"fieldset\", pTag], [\"figcaption\", pTag], [\"figure\", pTag], [\"footer\", pTag], [\"form\", pTag], [\"header\", pTag], [\"hr\", pTag], [\"main\", pTag], [\"nav\", pTag], [\"ol\", pTag], [\"pre\", pTag], [\"section\", pTag], [\"table\", pTag], [\"ul\", pTag], [\"rt\", rtpTags], [\"rp\", rtpTags], [\"tbody\", tableSectionTags], [\"tfoot\", tableSectionTags]]);\nconst voidElements = /*#__PURE__*/new Set([\"area\", \"base\", \"basefont\", \"br\", \"col\", \"command\", \"embed\", \"frame\", \"hr\", \"img\", \"input\", \"isindex\", \"keygen\", \"link\", \"meta\", \"param\", \"source\", \"track\", \"wbr\"]);\nconst foreignContextElements = /*#__PURE__*/new Set([\"math\", \"svg\"]);\nconst htmlIntegrationElements = /*#__PURE__*/new Set([\"mi\", \"mo\", \"mn\", \"ms\", \"mtext\", \"annotation-xml\", \"foreignobject\", \"desc\", \"title\"]);\nconst reNameEnd = /\\s|\\//;\nclass Parser {\n  constructor(cbs, options = {}) {\n    var _a, _b, _c, _d, _e, _f;\n    this.options = options;\n    /** The start index of the last event. */\n    this.startIndex = 0;\n    /** The end index of the last event. */\n    this.endIndex = 0;\n    /**\n     * Store the start index of the current open tag,\n     * so we can update the start index for attributes.\n     */\n    this.openTagStart = 0;\n    this.tagname = \"\";\n    this.attribname = \"\";\n    this.attribvalue = \"\";\n    this.attribs = null;\n    this.stack = [];\n    this.buffers = [];\n    this.bufferOffset = 0;\n    /** The index of the last written buffer. Used when resuming after a `pause()`. */\n    this.writeIndex = 0;\n    /** Indicates whether the parser has finished running / `.end` has been called. */\n    this.ended = false;\n    this.cbs = cbs !== null && cbs !== void 0 ? cbs : {};\n    this.htmlMode = !this.options.xmlMode;\n    this.lowerCaseTagNames = (_a = options.lowerCaseTags) !== null && _a !== void 0 ? _a : this.htmlMode;\n    this.lowerCaseAttributeNames = (_b = options.lowerCaseAttributeNames) !== null && _b !== void 0 ? _b : this.htmlMode;\n    this.recognizeSelfClosing = (_c = options.recognizeSelfClosing) !== null && _c !== void 0 ? _c : !this.htmlMode;\n    this.tokenizer = new ((_d = options.Tokenizer) !== null && _d !== void 0 ? _d : Tokenizer)(this.options, this);\n    this.foreignContext = [!this.htmlMode];\n    (_f = (_e = this.cbs).onparserinit) === null || _f === void 0 ? void 0 : _f.call(_e, this);\n  }\n  // Tokenizer event handlers\n  /** @internal */\n  ontext(start, endIndex) {\n    var _a, _b;\n    const data = this.getSlice(start, endIndex);\n    this.endIndex = endIndex - 1;\n    (_b = (_a = this.cbs).ontext) === null || _b === void 0 ? void 0 : _b.call(_a, data);\n    this.startIndex = endIndex;\n  }\n  /** @internal */\n  ontextentity(cp, endIndex) {\n    var _a, _b;\n    this.endIndex = endIndex - 1;\n    (_b = (_a = this.cbs).ontext) === null || _b === void 0 ? void 0 : _b.call(_a, fromCodePoint(cp));\n    this.startIndex = endIndex;\n  }\n  /**\n   * Checks if the current tag is a void element. Override this if you want\n   * to specify your own additional void elements.\n   */\n  isVoidElement(name) {\n    return this.htmlMode && voidElements.has(name);\n  }\n  /** @internal */\n  onopentagname(start, endIndex) {\n    this.endIndex = endIndex;\n    let name = this.getSlice(start, endIndex);\n    if (this.lowerCaseTagNames) {\n      name = name.toLowerCase();\n    }\n    this.emitOpenTag(name);\n  }\n  emitOpenTag(name) {\n    var _a, _b, _c, _d;\n    this.openTagStart = this.startIndex;\n    this.tagname = name;\n    const impliesClose = this.htmlMode && openImpliesClose.get(name);\n    if (impliesClose) {\n      while (this.stack.length > 0 && impliesClose.has(this.stack[0])) {\n        const element = this.stack.shift();\n        (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, element, true);\n      }\n    }\n    if (!this.isVoidElement(name)) {\n      this.stack.unshift(name);\n      if (this.htmlMode) {\n        if (foreignContextElements.has(name)) {\n          this.foreignContext.unshift(true);\n        } else if (htmlIntegrationElements.has(name)) {\n          this.foreignContext.unshift(false);\n        }\n      }\n    }\n    (_d = (_c = this.cbs).onopentagname) === null || _d === void 0 ? void 0 : _d.call(_c, name);\n    if (this.cbs.onopentag) this.attribs = {};\n  }\n  endOpenTag(isImplied) {\n    var _a, _b;\n    this.startIndex = this.openTagStart;\n    if (this.attribs) {\n      (_b = (_a = this.cbs).onopentag) === null || _b === void 0 ? void 0 : _b.call(_a, this.tagname, this.attribs, isImplied);\n      this.attribs = null;\n    }\n    if (this.cbs.onclosetag && this.isVoidElement(this.tagname)) {\n      this.cbs.onclosetag(this.tagname, true);\n    }\n    this.tagname = \"\";\n  }\n  /** @internal */\n  onopentagend(endIndex) {\n    this.endIndex = endIndex;\n    this.endOpenTag(false);\n    // Set `startIndex` for next node\n    this.startIndex = endIndex + 1;\n  }\n  /** @internal */\n  onclosetag(start, endIndex) {\n    var _a, _b, _c, _d, _e, _f, _g, _h;\n    this.endIndex = endIndex;\n    let name = this.getSlice(start, endIndex);\n    if (this.lowerCaseTagNames) {\n      name = name.toLowerCase();\n    }\n    if (this.htmlMode && (foreignContextElements.has(name) || htmlIntegrationElements.has(name))) {\n      this.foreignContext.shift();\n    }\n    if (!this.isVoidElement(name)) {\n      const pos = this.stack.indexOf(name);\n      if (pos !== -1) {\n        for (let index = 0; index <= pos; index++) {\n          const element = this.stack.shift();\n          // We know the stack has sufficient elements.\n          (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, element, index !== pos);\n        }\n      } else if (this.htmlMode && name === \"p\") {\n        // Implicit open before close\n        this.emitOpenTag(\"p\");\n        this.closeCurrentTag(true);\n      }\n    } else if (this.htmlMode && name === \"br\") {\n      // We can't use `emitOpenTag` for implicit open, as `br` would be implicitly closed.\n      (_d = (_c = this.cbs).onopentagname) === null || _d === void 0 ? void 0 : _d.call(_c, \"br\");\n      (_f = (_e = this.cbs).onopentag) === null || _f === void 0 ? void 0 : _f.call(_e, \"br\", {}, true);\n      (_h = (_g = this.cbs).onclosetag) === null || _h === void 0 ? void 0 : _h.call(_g, \"br\", false);\n    }\n    // Set `startIndex` for next node\n    this.startIndex = endIndex + 1;\n  }\n  /** @internal */\n  onselfclosingtag(endIndex) {\n    this.endIndex = endIndex;\n    if (this.recognizeSelfClosing || this.foreignContext[0]) {\n      this.closeCurrentTag(false);\n      // Set `startIndex` for next node\n      this.startIndex = endIndex + 1;\n    } else {\n      // Ignore the fact that the tag is self-closing.\n      this.onopentagend(endIndex);\n    }\n  }\n  closeCurrentTag(isOpenImplied) {\n    var _a, _b;\n    const name = this.tagname;\n    this.endOpenTag(isOpenImplied);\n    // Self-closing tags will be on the top of the stack\n    if (this.stack[0] === name) {\n      // If the opening tag isn't implied, the closing tag has to be implied.\n      (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, name, !isOpenImplied);\n      this.stack.shift();\n    }\n  }\n  /** @internal */\n  onattribname(start, endIndex) {\n    this.startIndex = start;\n    const name = this.getSlice(start, endIndex);\n    this.attribname = this.lowerCaseAttributeNames ? name.toLowerCase() : name;\n  }\n  /** @internal */\n  onattribdata(start, endIndex) {\n    this.attribvalue += this.getSlice(start, endIndex);\n  }\n  /** @internal */\n  onattribentity(cp) {\n    this.attribvalue += fromCodePoint(cp);\n  }\n  /** @internal */\n  onattribend(quote, endIndex) {\n    var _a, _b;\n    this.endIndex = endIndex;\n    (_b = (_a = this.cbs).onattribute) === null || _b === void 0 ? void 0 : _b.call(_a, this.attribname, this.attribvalue, quote === QuoteType.Double ? '\"' : quote === QuoteType.Single ? \"'\" : quote === QuoteType.NoValue ? undefined : null);\n    if (this.attribs && !Object.prototype.hasOwnProperty.call(this.attribs, this.attribname)) {\n      this.attribs[this.attribname] = this.attribvalue;\n    }\n    this.attribvalue = \"\";\n  }\n  getInstructionName(value) {\n    const index = value.search(reNameEnd);\n    let name = index < 0 ? value : value.substr(0, index);\n    if (this.lowerCaseTagNames) {\n      name = name.toLowerCase();\n    }\n    return name;\n  }\n  /** @internal */\n  ondeclaration(start, endIndex) {\n    this.endIndex = endIndex;\n    const value = this.getSlice(start, endIndex);\n    if (this.cbs.onprocessinginstruction) {\n      const name = this.getInstructionName(value);\n      this.cbs.onprocessinginstruction(`!${name}`, `!${value}`);\n    }\n    // Set `startIndex` for next node\n    this.startIndex = endIndex + 1;\n  }\n  /** @internal */\n  onprocessinginstruction(start, endIndex) {\n    this.endIndex = endIndex;\n    const value = this.getSlice(start, endIndex);\n    if (this.cbs.onprocessinginstruction) {\n      const name = this.getInstructionName(value);\n      this.cbs.onprocessinginstruction(`?${name}`, `?${value}`);\n    }\n    // Set `startIndex` for next node\n    this.startIndex = endIndex + 1;\n  }\n  /** @internal */\n  oncomment(start, endIndex, offset) {\n    var _a, _b, _c, _d;\n    this.endIndex = endIndex;\n    (_b = (_a = this.cbs).oncomment) === null || _b === void 0 ? void 0 : _b.call(_a, this.getSlice(start, endIndex - offset));\n    (_d = (_c = this.cbs).oncommentend) === null || _d === void 0 ? void 0 : _d.call(_c);\n    // Set `startIndex` for next node\n    this.startIndex = endIndex + 1;\n  }\n  /** @internal */\n  oncdata(start, endIndex, offset) {\n    var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n    this.endIndex = endIndex;\n    const value = this.getSlice(start, endIndex - offset);\n    if (!this.htmlMode || this.options.recognizeCDATA) {\n      (_b = (_a = this.cbs).oncdatastart) === null || _b === void 0 ? void 0 : _b.call(_a);\n      (_d = (_c = this.cbs).ontext) === null || _d === void 0 ? void 0 : _d.call(_c, value);\n      (_f = (_e = this.cbs).oncdataend) === null || _f === void 0 ? void 0 : _f.call(_e);\n    } else {\n      (_h = (_g = this.cbs).oncomment) === null || _h === void 0 ? void 0 : _h.call(_g, `[CDATA[${value}]]`);\n      (_k = (_j = this.cbs).oncommentend) === null || _k === void 0 ? void 0 : _k.call(_j);\n    }\n    // Set `startIndex` for next node\n    this.startIndex = endIndex + 1;\n  }\n  /** @internal */\n  onend() {\n    var _a, _b;\n    if (this.cbs.onclosetag) {\n      // Set the end index for all remaining tags\n      this.endIndex = this.startIndex;\n      for (let index = 0; index < this.stack.length; index++) {\n        this.cbs.onclosetag(this.stack[index], true);\n      }\n    }\n    (_b = (_a = this.cbs).onend) === null || _b === void 0 ? void 0 : _b.call(_a);\n  }\n  /**\n   * Resets the parser to a blank state, ready to parse a new HTML document\n   */\n  reset() {\n    var _a, _b, _c, _d;\n    (_b = (_a = this.cbs).onreset) === null || _b === void 0 ? void 0 : _b.call(_a);\n    this.tokenizer.reset();\n    this.tagname = \"\";\n    this.attribname = \"\";\n    this.attribs = null;\n    this.stack.length = 0;\n    this.startIndex = 0;\n    this.endIndex = 0;\n    (_d = (_c = this.cbs).onparserinit) === null || _d === void 0 ? void 0 : _d.call(_c, this);\n    this.buffers.length = 0;\n    this.foreignContext.length = 0;\n    this.foreignContext.unshift(!this.htmlMode);\n    this.bufferOffset = 0;\n    this.writeIndex = 0;\n    this.ended = false;\n  }\n  /**\n   * Resets the parser, then parses a complete document and\n   * pushes it to the handler.\n   *\n   * @param data Document to parse.\n   */\n  parseComplete(data) {\n    this.reset();\n    this.end(data);\n  }\n  getSlice(start, end) {\n    while (start - this.bufferOffset >= this.buffers[0].length) {\n      this.shiftBuffer();\n    }\n    let slice = this.buffers[0].slice(start - this.bufferOffset, end - this.bufferOffset);\n    while (end - this.bufferOffset > this.buffers[0].length) {\n      this.shiftBuffer();\n      slice += this.buffers[0].slice(0, end - this.bufferOffset);\n    }\n    return slice;\n  }\n  shiftBuffer() {\n    this.bufferOffset += this.buffers[0].length;\n    this.writeIndex--;\n    this.buffers.shift();\n  }\n  /**\n   * Parses a chunk of data and calls the corresponding callbacks.\n   *\n   * @param chunk Chunk to parse.\n   */\n  write(chunk) {\n    var _a, _b;\n    if (this.ended) {\n      (_b = (_a = this.cbs).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(\".write() after done!\"));\n      return;\n    }\n    this.buffers.push(chunk);\n    if (this.tokenizer.running) {\n      this.tokenizer.write(chunk);\n      this.writeIndex++;\n    }\n  }\n  /**\n   * Parses the end of the buffer and clears the stack, calls onend.\n   *\n   * @param chunk Optional final chunk to parse.\n   */\n  end(chunk) {\n    var _a, _b;\n    if (this.ended) {\n      (_b = (_a = this.cbs).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(\".end() after done!\"));\n      return;\n    }\n    if (chunk) this.write(chunk);\n    this.ended = true;\n    this.tokenizer.end();\n  }\n  /**\n   * Pauses parsing. The parser won't emit events until `resume` is called.\n   */\n  pause() {\n    this.tokenizer.pause();\n  }\n  /**\n   * Resumes parsing after `pause` was called.\n   */\n  resume() {\n    this.tokenizer.resume();\n    while (this.tokenizer.running && this.writeIndex < this.buffers.length) {\n      this.tokenizer.write(this.buffers[this.writeIndex++]);\n    }\n    if (this.ended) this.tokenizer.end();\n  }\n  /**\n   * Alias of `write`, for backwards compatibility.\n   *\n   * @param chunk Chunk to parse.\n   * @deprecated\n   */\n  parseChunk(chunk) {\n    this.write(chunk);\n  }\n  /**\n   * Alias of `end`, for backwards compatibility.\n   *\n   * @param chunk Optional final chunk to parse.\n   * @deprecated\n   */\n  done(chunk) {\n    this.end(chunk);\n  }\n}\n\n// Helper methods\n/**\n * Parses the data, returns the resulting document.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM handler.\n */\nfunction parseDocument(data, options) {\n  const handler = new DomHandler(undefined, options);\n  new Parser(handler, options).end(data);\n  return handler.root;\n}\nvar picocolors_browserExports = /*#__PURE__*/requirePicocolors_browser();\nvar pc = /*@__PURE__*/getDefaultExportFromCjs(picocolors_browserExports);\nfunction parseStylesheet(stylesheet) {\n  return parse$2(stylesheet);\n}\nfunction serializeStylesheet(ast, options) {\n  const cssParts = [];\n  stringify(ast, (result, node, type) => {\n    if (node?.type === \"decl\" && node.value.includes(\"</style>\")) {\n      return;\n    }\n    if (!options.compress) {\n      cssParts.push(result);\n      return;\n    }\n    if (node?.type === \"comment\") return;\n    if (node?.type === \"decl\") {\n      const prefix = node.prop + node.raws.between;\n      cssParts.push(result.replace(prefix, prefix.trim()));\n      return;\n    }\n    if (type === \"start\") {\n      if (node?.type === \"rule\" && node.selectors) {\n        if (node.selectors.length === 1) {\n          cssParts.push(node.selectors[0] ?? \"\", \"{\");\n        } else {\n          cssParts.push(node.selectors.join(\",\"), \"{\");\n        }\n      } else {\n        cssParts.push(result.trim());\n      }\n      return;\n    }\n    if (type === \"end\" && result === \"}\" && node?.raws?.semicolon) {\n      const lastItemIdx = cssParts.length - 2;\n      if (lastItemIdx >= 0 && cssParts[lastItemIdx]) {\n        cssParts[lastItemIdx] = cssParts[lastItemIdx].slice(0, -1);\n      }\n    }\n    cssParts.push(result.trim());\n  });\n  return cssParts.join(\"\");\n}\nfunction markOnly(predicate) {\n  return rule => {\n    const sel = \"selectors\" in rule ? rule.selectors : void 0;\n    if (predicate(rule) === false) {\n      rule.$$remove = true;\n    }\n    if (\"selectors\" in rule) {\n      rule.$$markedSelectors = rule.selectors;\n      rule.selectors = sel;\n    }\n    if (rule._other) {\n      rule._other.$$markedSelectors = rule._other.selectors;\n    }\n  };\n}\nfunction applyMarkedSelectors(rule) {\n  if (rule.$$markedSelectors) {\n    rule.selectors = rule.$$markedSelectors;\n  }\n  if (rule._other) {\n    applyMarkedSelectors(rule._other);\n  }\n}\nfunction walkStyleRules(node, iterator) {\n  if (!(\"nodes\" in node)) {\n    return;\n  }\n  node.nodes = node.nodes?.filter(rule => {\n    if (hasNestedRules(rule)) {\n      walkStyleRules(rule, iterator);\n    }\n    rule._other = void 0;\n    rule.filterSelectors = filterSelectors;\n    return iterator(rule) !== false;\n  });\n}\nfunction walkStyleRulesWithReverseMirror(node, node2, iterator) {\n  if (!node2) return walkStyleRules(node, iterator);\n  [node.nodes, node2.nodes] = splitFilter(node.nodes, node2.nodes, (rule, index, _rules, rules2) => {\n    const rule2 = rules2?.[index];\n    if (hasNestedRules(rule)) {\n      walkStyleRulesWithReverseMirror(rule, rule2, iterator);\n    }\n    rule._other = rule2;\n    rule.filterSelectors = filterSelectors;\n    return iterator(rule) !== false;\n  });\n}\nfunction hasNestedRules(rule) {\n  return \"nodes\" in rule && !!rule.nodes?.length && (!(\"name\" in rule) || rule.name !== \"keyframes\" && rule.name !== \"-webkit-keyframes\") && rule.nodes.some(n => n.type === \"rule\" || n.type === \"atrule\");\n}\nfunction splitFilter(a, b, predicate) {\n  const aOut = [];\n  const bOut = [];\n  for (let index = 0; index < a.length; index++) {\n    const item = a[index];\n    if (predicate(item, index, a, b)) {\n      aOut.push(item);\n    } else {\n      bOut.push(item);\n    }\n  }\n  return [aOut, bOut];\n}\nfunction filterSelectors(predicate) {\n  if (this._other) {\n    const [a, b] = splitFilter(this.selectors, this._other.selectors, predicate);\n    this.selectors = a;\n    this._other.selectors = b;\n  } else {\n    this.selectors = this.selectors.filter(predicate);\n  }\n}\nconst MEDIA_TYPES = /* @__PURE__ */new Set([\"all\", \"print\", \"screen\", \"speech\"]);\nconst MEDIA_KEYWORDS = /* @__PURE__ */new Set([\"and\", \"not\", \",\"]);\nconst MEDIA_FEATURES = /*#__PURE__*/new Set(/*#__PURE__*/[\"width\", \"aspect-ratio\", \"color\", \"color-index\", \"grid\", \"height\", \"monochrome\", \"orientation\", \"resolution\", \"scan\"].flatMap(feature => [feature, `min-${feature}`, `max-${feature}`]));\nfunction validateMediaType(node) {\n  const {\n    type: nodeType,\n    value: nodeValue\n  } = node;\n  if (nodeType === \"media-type\") {\n    return MEDIA_TYPES.has(nodeValue);\n  } else if (nodeType === \"keyword\") {\n    return MEDIA_KEYWORDS.has(nodeValue);\n  } else if (nodeType === \"media-feature\") {\n    return MEDIA_FEATURES.has(nodeValue);\n  }\n}\nfunction validateMediaQuery(query) {\n  const mediaParserFn = \"default\" in mediaParser ? mediaParser.default : mediaParser;\n  const mediaTree = mediaParserFn(query);\n  const nodeTypes = /* @__PURE__ */new Set([\"media-type\", \"keyword\", \"media-feature\"]);\n  const stack = [mediaTree];\n  while (stack.length > 0) {\n    const node = stack.pop();\n    if (nodeTypes.has(node.type) && !validateMediaType(node)) {\n      return false;\n    }\n    if (node.nodes) {\n      stack.push(...node.nodes);\n    }\n  }\n  return true;\n}\nlet classCache = null;\nlet idCache = null;\nfunction buildCache(container) {\n  classCache = /* @__PURE__ */new Set();\n  idCache = /* @__PURE__ */new Set();\n  const queue = [container];\n  while (queue.length) {\n    const node = queue.shift();\n    if (node.hasAttribute?.(\"class\")) {\n      const classList = node.getAttribute(\"class\").trim().split(\" \");\n      classList.forEach(cls => {\n        classCache.add(cls);\n      });\n    }\n    if (node.hasAttribute?.(\"id\")) {\n      const id = node.getAttribute(\"id\").trim();\n      idCache.add(id);\n    }\n    if (\"children\" in node) {\n      queue.push(...node.children.filter(child => child.type === \"tag\"));\n    }\n  }\n}\nfunction createDocument(html) {\n  const document = parseDocument(html, {\n    decodeEntities: false\n  });\n  extendDocument(document);\n  extendElement(Element.prototype);\n  let beastiesContainer = document.querySelector(\"[data-beasties-container]\");\n  if (!beastiesContainer) {\n    document.documentElement?.setAttribute(\"data-beasties-container\", \"\");\n    beastiesContainer = document.documentElement || document;\n  }\n  document.beastiesContainer = beastiesContainer;\n  buildCache(beastiesContainer);\n  return document;\n}\nfunction serializeDocument(document) {\n  return render(document, {\n    decodeEntities: false\n  });\n}\nlet extended = false;\nfunction extendElement(element) {\n  if (extended) {\n    return;\n  }\n  extended = true;\n  Object.defineProperties(element, {\n    nodeName: {\n      get() {\n        return this.tagName.toUpperCase();\n      }\n    },\n    id: {\n      get() {\n        return this.getAttribute(\"id\");\n      },\n      set(value) {\n        this.setAttribute(\"id\", value);\n      }\n    },\n    className: {\n      get() {\n        return this.getAttribute(\"class\");\n      },\n      set(value) {\n        this.setAttribute(\"class\", value);\n      }\n    },\n    insertBefore: {\n      value(child, referenceNode) {\n        if (!referenceNode) return this.appendChild(child);\n        prepend(referenceNode, child);\n        return child;\n      }\n    },\n    appendChild: {\n      value(child) {\n        appendChild(this, child);\n        return child;\n      }\n    },\n    removeChild: {\n      value(child) {\n        removeElement(child);\n      }\n    },\n    remove: {\n      value() {\n        removeElement(this);\n      }\n    },\n    textContent: {\n      get() {\n        return getText(this);\n      },\n      set(text) {\n        this.children = [];\n        appendChild(this, new Text(text));\n      }\n    },\n    setAttribute: {\n      value(name, value) {\n        if (this.attribs == null) this.attribs = {};\n        if (value == null) value = \"\";\n        this.attribs[name] = value;\n      }\n    },\n    removeAttribute: {\n      value(name) {\n        if (this.attribs != null) {\n          delete this.attribs[name];\n        }\n      }\n    },\n    getAttribute: {\n      value(name) {\n        return this.attribs != null && this.attribs[name];\n      }\n    },\n    hasAttribute: {\n      value(name) {\n        return this.attribs != null && this.attribs[name] != null;\n      }\n    },\n    getAttributeNode: {\n      value(name) {\n        const value = this.getAttribute(name);\n        if (value != null) return {\n          specified: true,\n          value\n        };\n      }\n    },\n    exists: {\n      value(sel) {\n        return cachedQuerySelector(sel, this);\n      }\n    },\n    querySelector: {\n      value(sel) {\n        return selectOne(sel, this);\n      }\n    },\n    querySelectorAll: {\n      value(sel) {\n        return selectAll(sel, this);\n      }\n    }\n  });\n}\nfunction extendDocument(document) {\n  Object.defineProperties(document, {\n    // document is just an Element in htmlparser2, giving it a nodeType of ELEMENT_NODE.\n    // TODO: verify if these are needed for css-select\n    nodeType: {\n      get() {\n        return 9;\n      }\n    },\n    contentType: {\n      get() {\n        return \"text/html\";\n      }\n    },\n    nodeName: {\n      get() {\n        return \"#document\";\n      }\n    },\n    documentElement: {\n      get() {\n        return this.children.find(child => \"tagName\" in child && String(child.tagName).toLowerCase() === \"html\");\n      }\n    },\n    head: {\n      get() {\n        return this.querySelector(\"head\");\n      }\n    },\n    body: {\n      get() {\n        return this.querySelector(\"body\");\n      }\n    },\n    createElement: {\n      value(name) {\n        return new Element(name, {});\n      }\n    },\n    createTextNode: {\n      value(text) {\n        return new Text(text);\n      }\n    },\n    exists: {\n      value(sel) {\n        return cachedQuerySelector(sel, this);\n      }\n    },\n    querySelector: {\n      value(sel) {\n        return selectOne(sel, this);\n      }\n    },\n    querySelectorAll: {\n      value(sel) {\n        if (sel === \":root\") {\n          return this;\n        }\n        return selectAll(sel, this);\n      }\n    }\n  });\n}\nconst selectorTokensCache = /* @__PURE__ */new Map();\nfunction cachedQuerySelector(sel, node) {\n  let selectorTokens = selectorTokensCache.get(sel);\n  if (selectorTokens === void 0) {\n    selectorTokens = parseRelevantSelectors(sel);\n    selectorTokensCache.set(sel, selectorTokens);\n  }\n  if (selectorTokens) {\n    for (const token of selectorTokens) {\n      if (token.name === \"class\") {\n        return classCache.has(token.value);\n      }\n      if (token.name === \"id\") {\n        return idCache.has(token.value);\n      }\n    }\n  }\n  return !!selectOne(sel, node);\n}\nfunction parseRelevantSelectors(sel) {\n  const tokens = parse$1(sel);\n  const relevantTokens = [];\n  for (let i = 0; i < tokens.length; i++) {\n    const tokenGroup = tokens[i];\n    if (tokenGroup?.length !== 1) {\n      continue;\n    }\n    const token = tokenGroup[0];\n    if (token?.type === \"attribute\" && (token.name === \"class\" || token.name === \"id\")) {\n      relevantTokens.push(token);\n    }\n  }\n  return relevantTokens.length > 0 ? relevantTokens : null;\n}\nconst LOG_LEVELS = [\"trace\", \"debug\", \"info\", \"warn\", \"error\", \"silent\"];\nconst defaultLogger = {\n  trace(msg) {\n    console.trace(msg);\n  },\n  debug(msg) {\n    console.debug(msg);\n  },\n  warn(msg) {\n    console.warn(pc.yellow(msg));\n  },\n  error(msg) {\n    console.error(pc.bold(pc.red(msg)));\n  },\n  info(msg) {\n    console.info(pc.bold(pc.blue(msg)));\n  },\n  silent() {}\n};\nfunction createLogger(logLevel) {\n  const logLevelIdx = LOG_LEVELS.indexOf(logLevel);\n  return LOG_LEVELS.reduce((logger, type, index) => {\n    if (index >= logLevelIdx) {\n      logger[type] = defaultLogger[type];\n    } else {\n      logger[type] = defaultLogger.silent;\n    }\n    return logger;\n  }, {});\n}\nfunction isSubpath(basePath, currentPath) {\n  return !_pathModule.relative(basePath, currentPath).startsWith(\"..\");\n}\nconst removePseudoClassesAndElementsPattern = /(?<!\\\\)::?[a-z-]+(?:\\(.+\\))?/gi;\nconst doubleNestingPattern = />\\s*(?=>|$)/g;\nconst removeTrailingCommasPattern = /\\(\\s*,|,\\s*\\)/g;\nclass Beasties {\n  #selectorCache = /* @__PURE__ */new Map();\n  options;\n  logger;\n  fs;\n  constructor(options = {}) {\n    this.options = Object.assign({\n      logLevel: \"info\",\n      path: \"\",\n      publicPath: \"\",\n      reduceInlineStyles: true,\n      pruneSource: false,\n      additionalStylesheets: [],\n      allowRules: []\n    }, options);\n    this.logger = this.options.logger || createLogger(this.options.logLevel);\n  }\n  /**\n   * Read the contents of a file from the specified filesystem or disk\n   */\n  readFile(filename) {\n    const fs = this.fs;\n    return new Promise((resolve, reject) => {\n      const callback = (err, data) => {\n        if (err) reject(err);else resolve(data.toString());\n      };\n      if (fs && fs.readFile) {\n        fs.readFile(filename, callback);\n      } else {\n        readFile(filename, \"utf-8\", callback);\n      }\n    });\n  }\n  /**\n   * Apply critical CSS processing to the html\n   */\n  async process(html) {\n    const start = Date.now();\n    const document = createDocument(html);\n    if (this.options.additionalStylesheets.length > 0) {\n      await this.embedAdditionalStylesheet(document);\n    }\n    if (this.options.external !== false) {\n      const externalSheets = [...document.querySelectorAll('link[rel=\"stylesheet\"]')];\n      await Promise.all(externalSheets.map(link => this.embedLinkedStylesheet(link, document)));\n    }\n    const styles = this.getAffectedStyleTags(document);\n    for (const style of styles) {\n      this.processStyle(style, document);\n    }\n    if (this.options.mergeStylesheets !== false && styles.length !== 0) {\n      this.mergeStylesheets(document);\n    }\n    const output = serializeDocument(document);\n    const end = Date.now();\n    this.logger.info?.(`Time ${end - start}ms`);\n    return output;\n  }\n  /**\n   * Get the style tags that need processing\n   */\n  getAffectedStyleTags(document) {\n    const styles = [...document.querySelectorAll(\"style\")];\n    if (this.options.reduceInlineStyles === false) {\n      return styles.filter(style => style.$$external);\n    }\n    return styles;\n  }\n  mergeStylesheets(document) {\n    const styles = this.getAffectedStyleTags(document);\n    if (styles.length === 0) {\n      this.logger.warn?.(\"Merging inline stylesheets into a single <style> tag skipped, no inline stylesheets to merge\");\n      return;\n    }\n    const first = styles[0];\n    let sheet = first.textContent;\n    for (let i = 1; i < styles.length; i++) {\n      const node = styles[i];\n      sheet += node.textContent;\n      node.remove();\n    }\n    first.textContent = sheet;\n  }\n  /**\n   * Given href, find the corresponding CSS asset\n   */\n  async getCssAsset(href, _style) {\n    const outputPath = this.options.path;\n    const publicPath = this.options.publicPath;\n    let normalizedPath = href.replace(/^\\//, \"\");\n    const pathPrefix = `${(publicPath || \"\").replace(/(^\\/|\\/$)/g, \"\")}/`;\n    if (normalizedPath.startsWith(pathPrefix)) {\n      normalizedPath = normalizedPath.substring(pathPrefix.length).replace(/^\\//, \"\");\n    }\n    if (/^https?:\\/\\//.test(normalizedPath) || href.startsWith(\"//\")) {\n      return void 0;\n    }\n    const filename = _pathModule.resolve(outputPath, normalizedPath);\n    if (!isSubpath(outputPath, filename)) {\n      return void 0;\n    }\n    let sheet;\n    try {\n      sheet = await this.readFile(filename);\n    } catch {\n      this.logger.warn?.(`Unable to locate stylesheet: ${filename}`);\n    }\n    return sheet;\n  }\n  checkInlineThreshold(link, style, sheet) {\n    if (this.options.inlineThreshold && sheet.length < this.options.inlineThreshold) {\n      const href = style.$$name;\n      style.$$reduce = false;\n      this.logger.info?.(`\\x1B[32mInlined all of ${href} (${sheet.length} was below the threshold of ${this.options.inlineThreshold})\\x1B[39m`);\n      link.remove();\n      return true;\n    }\n    return false;\n  }\n  /**\n   * Inline the stylesheets from options.additionalStylesheets (assuming it passes `options.filter`)\n   */\n  async embedAdditionalStylesheet(document) {\n    const styleSheetsIncluded = [];\n    const sources = await Promise.all(this.options.additionalStylesheets.map(cssFile => {\n      if (styleSheetsIncluded.includes(cssFile)) {\n        return [];\n      }\n      styleSheetsIncluded.push(cssFile);\n      const style = document.createElement(\"style\");\n      style.$$external = true;\n      return this.getCssAsset(cssFile, style).then(sheet => [sheet, style]);\n    }));\n    for (const [sheet, style] of sources) {\n      if (sheet) {\n        style.textContent = sheet;\n        document.head.appendChild(style);\n      }\n    }\n  }\n  /**\n   * Inline the target stylesheet referred to by a <link rel=\"stylesheet\"> (assuming it passes `options.filter`)\n   */\n  async embedLinkedStylesheet(link, document) {\n    const href = link.getAttribute(\"href\");\n    if (!href?.endsWith(\".css\")) {\n      return void 0;\n    }\n    const style = document.createElement(\"style\");\n    style.$$external = true;\n    const sheet = await this.getCssAsset(href, style);\n    if (!sheet) {\n      return;\n    }\n    style.textContent = sheet;\n    style.$$name = href;\n    style.$$links = [link];\n    link.parentNode?.insertBefore(style, link);\n    if (this.checkInlineThreshold(link, style, sheet)) {\n      return;\n    }\n    let media = link.getAttribute(\"media\");\n    if (media && !validateMediaQuery(media)) {\n      media = void 0;\n    }\n    const preloadMode = this.options.preload;\n    let cssLoaderPreamble = \"function $loadcss(u,m,l){(l=document.createElement('link')).rel='stylesheet';l.href=u;document.head.appendChild(l)}\";\n    const lazy = preloadMode === \"js-lazy\";\n    if (lazy) {\n      cssLoaderPreamble = cssLoaderPreamble.replace(\"l.href\", \"l.media='print';l.onload=function(){l.media=m};l.href\");\n    }\n    if (preloadMode === false) return;\n    let noscriptFallback = false;\n    let updateLinkToPreload = false;\n    const noscriptLink = link.cloneNode(false);\n    if (preloadMode === \"body\") {\n      document.body.appendChild(link);\n    } else {\n      if (preloadMode === \"js\" || preloadMode === \"js-lazy\") {\n        const script = document.createElement(\"script\");\n        script.setAttribute(\"data-href\", href);\n        script.setAttribute(\"data-media\", media || \"all\");\n        const js = `${cssLoaderPreamble}$loadcss(document.currentScript.dataset.href,document.currentScript.dataset.media)`;\n        script.textContent = js;\n        link.parentNode.insertBefore(script, link.nextSibling);\n        style.$$links.push(script);\n        cssLoaderPreamble = \"\";\n        noscriptFallback = true;\n        updateLinkToPreload = true;\n      } else if (preloadMode === \"media\") {\n        link.setAttribute(\"media\", \"print\");\n        link.setAttribute(\"onload\", `this.media='${media || \"all\"}'`);\n        noscriptFallback = true;\n      } else if (preloadMode === \"swap-high\") {\n        link.setAttribute(\"rel\", \"alternate stylesheet preload\");\n        link.setAttribute(\"title\", \"styles\");\n        link.setAttribute(\"onload\", `this.title='';this.rel='stylesheet'`);\n        noscriptFallback = true;\n      } else if (preloadMode === \"swap-low\") {\n        link.setAttribute(\"rel\", \"alternate stylesheet\");\n        link.setAttribute(\"title\", \"styles\");\n        link.setAttribute(\"onload\", `this.title='';this.rel='stylesheet'`);\n        noscriptFallback = true;\n      } else if (preloadMode === \"swap\") {\n        link.setAttribute(\"onload\", \"this.rel='stylesheet'\");\n        updateLinkToPreload = true;\n        noscriptFallback = true;\n      } else {\n        const bodyLink = link.cloneNode(false);\n        bodyLink.removeAttribute(\"id\");\n        document.body.appendChild(bodyLink);\n        style.$$links.push(bodyLink);\n        updateLinkToPreload = true;\n      }\n    }\n    if (this.options.noscriptFallback !== false && noscriptFallback && !href.includes(\"</noscript>\")) {\n      const noscript = document.createElement(\"noscript\");\n      noscriptLink.removeAttribute(\"id\");\n      noscript.appendChild(noscriptLink);\n      link.parentNode.insertBefore(noscript, link.nextSibling);\n      style.$$links.push(noscript);\n    }\n    if (updateLinkToPreload) {\n      link.setAttribute(\"rel\", \"preload\");\n      link.setAttribute(\"as\", \"style\");\n    }\n  }\n  /**\n   * Prune the source CSS files\n   */\n  pruneSource(style, before, sheetInverse) {\n    const minSize = this.options.minimumExternalSize;\n    const name = style.$$name;\n    const shouldInline = minSize && sheetInverse.length < minSize;\n    if (shouldInline) {\n      this.logger.info?.(`\\x1B[32mInlined all of ${name} (non-critical external stylesheet would have been ${sheetInverse.length}b, which was below the threshold of ${minSize})\\x1B[39m`);\n    }\n    if (shouldInline || !sheetInverse) {\n      style.textContent = before;\n      if (style.$$links) {\n        for (const link of style.$$links) {\n          const parent = link.parentNode;\n          parent?.removeChild(link);\n        }\n      }\n    }\n    return !!shouldInline;\n  }\n  /**\n   * Parse the stylesheet within a <style> element, then reduce it to contain only rules used by the document.\n   */\n  processStyle(style, document) {\n    if (style.$$reduce === false) return;\n    const name = style.$$name ? style.$$name.replace(/^\\//, \"\") : \"inline CSS\";\n    const options = this.options;\n    const beastiesContainer = document.beastiesContainer;\n    let keyframesMode = options.keyframes ?? \"critical\";\n    if (keyframesMode === true) keyframesMode = \"all\";\n    if (keyframesMode === false) keyframesMode = \"none\";\n    let sheet = style.textContent;\n    const before = sheet;\n    if (!sheet) return;\n    const ast = parseStylesheet(sheet);\n    const astInverse = options.pruneSource ? parseStylesheet(sheet) : null;\n    let criticalFonts = \"\";\n    const failedSelectors = [];\n    const criticalKeyframeNames = /* @__PURE__ */new Set();\n    let includeNext = false;\n    let includeAll = false;\n    let excludeNext = false;\n    let excludeAll = false;\n    const shouldPreloadFonts = options.fonts === true || options.preloadFonts === true;\n    const shouldInlineFonts = options.fonts !== false && options.inlineFonts === true;\n    walkStyleRules(ast, markOnly(rule => {\n      if (rule.type === \"comment\") {\n        const beastiesComment = rule.text.match(/^(?<!! )beasties:(.*)/);\n        const command = beastiesComment && beastiesComment[1];\n        if (command) {\n          switch (command) {\n            case \"include\":\n              includeNext = true;\n              break;\n            case \"exclude\":\n              excludeNext = true;\n              break;\n            case \"include start\":\n              includeAll = true;\n              break;\n            case \"include end\":\n              includeAll = false;\n              break;\n            case \"exclude start\":\n              excludeAll = true;\n              break;\n            case \"exclude end\":\n              excludeAll = false;\n              break;\n          }\n        }\n      }\n      if (rule.type === \"rule\") {\n        if (includeNext) {\n          includeNext = false;\n          return true;\n        }\n        if (excludeNext) {\n          excludeNext = false;\n          return false;\n        }\n        if (includeAll) {\n          return true;\n        }\n        if (excludeAll) {\n          return false;\n        }\n        rule.filterSelectors?.(sel => {\n          const isAllowedRule = options.allowRules.some(exp => {\n            if (exp instanceof RegExp) {\n              return exp.test(sel);\n            }\n            return exp === sel;\n          });\n          if (isAllowedRule) return true;\n          if (sel === \":root\" || sel === \"html\" || sel === \"body\" || sel[0] === \":\" && /^::?(?:before|after)$/.test(sel)) {\n            return true;\n          }\n          sel = this.normalizeCssSelector(sel);\n          if (!sel) return false;\n          try {\n            return beastiesContainer.exists(sel);\n          } catch (e) {\n            failedSelectors.push(`${sel} -> ${e.message || e.toString()}`);\n            return false;\n          }\n        });\n        if (!rule.selector) {\n          return false;\n        }\n        if (rule.nodes) {\n          for (const decl of rule.nodes) {\n            if (!(\"prop\" in decl)) {\n              continue;\n            }\n            if (shouldInlineFonts && /\\bfont(?:-family)?\\b/i.test(decl.prop)) {\n              criticalFonts += ` ${decl.value}`;\n            }\n            if (decl.prop === \"animation\" || decl.prop === \"animation-name\") {\n              for (const name2 of decl.value.split(/\\s+/)) {\n                const nameTrimmed = name2.trim();\n                if (nameTrimmed) criticalKeyframeNames.add(nameTrimmed);\n              }\n            }\n          }\n        }\n      }\n      if (rule.type === \"atrule\" && (rule.name === \"font-face\" || rule.name === \"layer\")) return;\n      const hasRemainingRules = (\"nodes\" in rule && rule.nodes?.some(rule2 => !rule2.$$remove)) ?? true;\n      return hasRemainingRules;\n    }));\n    if (failedSelectors.length !== 0) {\n      this.logger.warn?.(`${failedSelectors.length} rules skipped due to selector errors:\n  ${failedSelectors.join(\"\\n  \")}`);\n    }\n    const preloadedFonts = /* @__PURE__ */new Set();\n    walkStyleRulesWithReverseMirror(ast, astInverse, rule => {\n      if (rule.$$remove === true) return false;\n      if (\"selectors\" in rule) {\n        applyMarkedSelectors(rule);\n      }\n      if (rule.type === \"atrule\" && rule.name === \"keyframes\") {\n        if (keyframesMode === \"none\") return false;\n        if (keyframesMode === \"all\") return true;\n        return criticalKeyframeNames.has(rule.params);\n      }\n      if (rule.type === \"atrule\" && rule.name === \"font-face\") {\n        let family, src;\n        if (rule.nodes) {\n          for (const decl of rule.nodes) {\n            if (!(\"prop\" in decl)) {\n              continue;\n            }\n            if (decl.prop === \"src\") {\n              src = (decl.value.match(/url\\s*\\(\\s*(['\"]?)(.+?)\\1\\s*\\)/) || [])[2];\n            } else if (decl.prop === \"font-family\") {\n              family = decl.value;\n            }\n          }\n          if (src && shouldPreloadFonts && !preloadedFonts.has(src)) {\n            preloadedFonts.add(src);\n            const preload = document.createElement(\"link\");\n            preload.setAttribute(\"rel\", \"preload\");\n            preload.setAttribute(\"as\", \"font\");\n            preload.setAttribute(\"crossorigin\", \"anonymous\");\n            preload.setAttribute(\"href\", src.trim());\n            document.head.appendChild(preload);\n          }\n        }\n        if (!shouldInlineFonts || !family || !src || !criticalFonts.includes(family)) {\n          return false;\n        }\n      }\n    });\n    sheet = serializeStylesheet(ast, {\n      compress: this.options.compress !== false\n    });\n    if (sheet.trim().length === 0) {\n      if (style.parentNode) {\n        style.remove();\n      }\n      return;\n    }\n    let afterText = \"\";\n    let styleInlinedCompletely = false;\n    if (options.pruneSource) {\n      const sheetInverse = serializeStylesheet(astInverse, {\n        compress: this.options.compress !== false\n      });\n      styleInlinedCompletely = this.pruneSource(style, before, sheetInverse);\n      if (styleInlinedCompletely) {\n        const percent2 = sheetInverse.length / before.length * 100;\n        afterText = `, reducing non-inlined size ${percent2 | 0}% to ${formatSize(sheetInverse.length)}`;\n      }\n    }\n    if (!styleInlinedCompletely) {\n      style.textContent = sheet;\n    }\n    const percent = sheet.length / before.length * 100 | 0;\n    this.logger.info?.(`\\x1B[32mInlined ${formatSize(sheet.length)} (${percent}% of original ${formatSize(before.length)}) of ${name}${afterText}.\\x1B[39m`);\n  }\n  normalizeCssSelector(sel) {\n    let normalizedSelector = this.#selectorCache.get(sel);\n    if (normalizedSelector !== void 0) {\n      return normalizedSelector;\n    }\n    normalizedSelector = sel.replace(removePseudoClassesAndElementsPattern, \"\").replace(removeTrailingCommasPattern, match => match.includes(\"(\") ? \"(\" : \")\").replace(doubleNestingPattern, \"> *\").trim();\n    this.#selectorCache.set(sel, normalizedSelector);\n    return normalizedSelector;\n  }\n}\nfunction formatSize(size) {\n  if (size <= 0) {\n    return \"0 bytes\";\n  }\n  const abbreviations = [\"bytes\", \"kB\", \"MB\", \"GB\"];\n  const index = Math.floor(Math.log(size) / Math.log(1024));\n  const roundedSize = size / 1024 ** index;\n  const fractionDigits = index === 0 ? 0 : 2;\n  return `${roundedSize.toFixed(fractionDigits)} ${abbreviations[index]}`;\n}\nexport { Beasties as default };\n","import { v as validateRequest, c as cloneRequestAndPatchHeaders } from './validation-DhKAntwS.mjs';\nimport { ɵConsole as _Console, InjectionToken, makeEnvironmentProviders, ɵENABLE_ROOT_COMPONENT_BOOTSTRAP as _ENABLE_ROOT_COMPONENT_BOOTSTRAP, ApplicationRef, Compiler, runInInjectionContext, ɵresetCompiledComponents as _resetCompiledComponents, REQUEST, REQUEST_CONTEXT, RESPONSE_INIT, LOCALE_ID } from '@angular/core';\nimport { ROUTES, Router, ɵloadChildren as _loadChildren } from '@angular/router';\nimport { APP_BASE_HREF, PlatformLocation } from '@angular/common';\nimport { renderModule, renderApplication, ɵSERVER_CONTEXT as _SERVER_CONTEXT, platformServer, INITIAL_CONFIG } from '@angular/platform-server';\nimport Beasties from '../third_party/beasties/index.js';\n\n/**\n * Manages server-side assets.\n */\nclass ServerAssets {\n  manifest;\n  /**\n   * Creates an instance of ServerAsset.\n   *\n   * @param manifest - The manifest containing the server assets.\n   */\n  constructor(manifest) {\n    this.manifest = manifest;\n  }\n  /**\n   * Retrieves the content of a server-side asset using its path.\n   *\n   * @param path - The path to the server asset within the manifest.\n   * @returns The server asset associated with the provided path, as a `ServerAsset` object.\n   * @throws Error - Throws an error if the asset does not exist.\n   */\n  getServerAsset(path) {\n    const asset = this.manifest.assets[path];\n    if (!asset) {\n      throw new Error(`Server asset '${path}' does not exist.`);\n    }\n    return asset;\n  }\n  /**\n   * Checks if a specific server-side asset exists.\n   *\n   * @param path - The path to the server asset.\n   * @returns A boolean indicating whether the asset exists.\n   */\n  hasServerAsset(path) {\n    return !!this.manifest.assets[path];\n  }\n  /**\n   * Retrieves the asset for 'index.server.html'.\n   *\n   * @returns The `ServerAsset` object for 'index.server.html'.\n   * @throws Error - Throws an error if 'index.server.html' does not exist.\n   */\n  getIndexServerHtml() {\n    return this.getServerAsset('index.server.html');\n  }\n}\n\n/**\n * A set of log messages that should be ignored and not printed to the console.\n */\nconst IGNORED_LOGS = /*#__PURE__*/new Set(['Angular is running in development mode.']);\n/**\n * Custom implementation of the Angular Console service that filters out specific log messages.\n *\n * This class extends the internal Angular `ɵConsole` class to provide customized logging behavior.\n * It overrides the `log` method to suppress logs that match certain predefined messages.\n */\nclass Console extends _Console {\n  /**\n   * Logs a message to the console if it is not in the set of ignored messages.\n   *\n   * @param message - The message to log to the console.\n   *\n   * This method overrides the `log` method of the `ɵConsole` class. It checks if the\n   * message is in the `IGNORED_LOGS` set. If it is not, it delegates the logging to\n   * the parent class's `log` method. Otherwise, the message is suppressed.\n   */\n  log(message) {\n    if (!IGNORED_LOGS.has(message)) {\n      super.log(message);\n    }\n  }\n}\n\n/**\n * The Angular app manifest object.\n * This is used internally to store the current Angular app manifest.\n */\nlet angularAppManifest;\n/**\n * Sets the Angular app manifest.\n *\n * @param manifest - The manifest object to set for the Angular application.\n */\nfunction setAngularAppManifest(manifest) {\n  angularAppManifest = manifest;\n}\n/**\n * Gets the Angular app manifest.\n *\n * @returns The Angular app manifest.\n * @throws Will throw an error if the Angular app manifest is not set.\n */\nfunction getAngularAppManifest() {\n  if (!angularAppManifest) {\n    throw new Error('Angular app manifest is not set. ' + `Please ensure you are using the '@angular/build:application' builder to build your server application.`);\n  }\n  return angularAppManifest;\n}\n/**\n * The Angular app engine manifest object.\n * This is used internally to store the current Angular app engine manifest.\n */\nlet angularAppEngineManifest;\n/**\n * Sets the Angular app engine manifest.\n *\n * @param manifest - The engine manifest object to set.\n */\nfunction setAngularAppEngineManifest(manifest) {\n  angularAppEngineManifest = manifest;\n}\n/**\n * Gets the Angular app engine manifest.\n *\n * @returns The Angular app engine manifest.\n * @throws Will throw an error if the Angular app engine manifest is not set.\n */\nfunction getAngularAppEngineManifest() {\n  if (!angularAppEngineManifest) {\n    throw new Error('Angular app engine manifest is not set. ' + `Please ensure you are using the '@angular/build:application' builder to build your server application.`);\n  }\n  return angularAppEngineManifest;\n}\n\n/**\n * Removes the trailing slash from a URL if it exists.\n *\n * @param url - The URL string from which to remove the trailing slash.\n * @returns The URL string without a trailing slash.\n *\n * @example\n * ```js\n * stripTrailingSlash('path/'); // 'path'\n * stripTrailingSlash('/path');  // '/path'\n * stripTrailingSlash('/'); // '/'\n * stripTrailingSlash(''); // ''\n * ```\n */\n/**\n * Removes the leading slash from a URL if it exists.\n *\n * @param url - The URL string from which to remove the leading slash.\n * @returns The URL string without a leading slash.\n *\n * @example\n * ```js\n * stripLeadingSlash('/path'); // 'path'\n * stripLeadingSlash('/path/');  // 'path/'\n * stripLeadingSlash('/'); // '/'\n * stripLeadingSlash(''); // ''\n * ```\n */\nfunction stripLeadingSlash(url) {\n  // Check if the first character of the URL is a slash\n  return url.length > 1 && url[0] === '/' ? url.slice(1) : url;\n}\n/**\n * Adds a leading slash to a URL if it does not already have one.\n *\n * @param url - The URL string to which the leading slash will be added.\n * @returns The URL string with a leading slash.\n *\n * @example\n * ```js\n * addLeadingSlash('path'); // '/path'\n * addLeadingSlash('/path'); // '/path'\n * ```\n */\nfunction addLeadingSlash(url) {\n  // Check if the URL already starts with a slash\n  return url[0] === '/' ? url : `/${url}`;\n}\n/**\n * Adds a trailing slash to a URL if it does not already have one.\n *\n * @param url - The URL string to which the trailing slash will be added.\n * @returns The URL string with a trailing slash.\n *\n * @example\n * ```js\n * addTrailingSlash('path'); // 'path/'\n * addTrailingSlash('path/'); // 'path/'\n * ```\n */\nfunction addTrailingSlash(url) {\n  // Check if the URL already end with a slash\n  return url[url.length - 1] === '/' ? url : `${url}/`;\n}\n/**\n * Joins URL parts into a single URL string.\n *\n * This function takes multiple URL segments, normalizes them by removing leading\n * and trailing slashes where appropriate, and then joins them into a single URL.\n *\n * @param parts - The parts of the URL to join. Each part can be a string with or without slashes.\n * @returns The joined URL string, with normalized slashes.\n *\n * @example\n * ```js\n * joinUrlParts('path/', '/to/resource'); // '/path/to/resource'\n * joinUrlParts('/path/', 'to/resource'); // '/path/to/resource'\n * joinUrlParts('', ''); // '/'\n * ```\n */\nfunction joinUrlParts(...parts) {\n  const normalizedParts = [];\n  for (const part of parts) {\n    if (part === '') {\n      // Skip any empty parts\n      continue;\n    }\n    let start = 0;\n    let end = part.length;\n    // Use \"Pointers\" to avoid intermediate slices\n    while (start < end && part[start] === '/') {\n      start++;\n    }\n    while (end > start && part[end - 1] === '/') {\n      end--;\n    }\n    if (start < end) {\n      normalizedParts.push(part.slice(start, end));\n    }\n  }\n  return addLeadingSlash(normalizedParts.join('/'));\n}\n/**\n * Strips `/index.html` from the end of a URL's path, if present.\n *\n * This function is used to convert URLs pointing to an `index.html` file into their directory\n * equivalents. For example, it transforms a URL like `http://www.example.com/page/index.html`\n * into `http://www.example.com/page`.\n *\n * @param url - The URL object to process.\n * @returns A new URL object with `/index.html` removed from the path, if it was present.\n *\n * @example\n * ```typescript\n * const originalUrl = new URL('http://www.example.com/page/index.html');\n * const cleanedUrl = stripIndexHtmlFromURL(originalUrl);\n * console.log(cleanedUrl.href); // Output: 'http://www.example.com/page'\n * ```\n */\nfunction stripIndexHtmlFromURL(url) {\n  if (url.pathname.endsWith('/index.html')) {\n    const modifiedURL = new URL(url);\n    // Remove '/index.html' from the pathname\n    modifiedURL.pathname = modifiedURL.pathname.slice(0, /** '/index.html'.length */-11);\n    return modifiedURL;\n  }\n  return url;\n}\n/**\n * Resolves `*` placeholders in a path template by mapping them to corresponding segments\n * from a base path. This is useful for constructing paths dynamically based on a given base path.\n *\n * The function processes the `toPath` string, replacing each `*` placeholder with\n * the corresponding segment from the `fromPath`. If the `toPath` contains no placeholders,\n * it is returned as-is. Invalid `toPath` formats (not starting with `/`) will throw an error.\n *\n * @param toPath - A path template string that may contain `*` placeholders. Each `*` is replaced\n * by the corresponding segment from the `fromPath`. Static paths (e.g., `/static/path`) are returned\n * directly without placeholder replacement.\n * @param fromPath - A base path string, split into segments, that provides values for\n * replacing `*` placeholders in the `toPath`.\n * @returns A resolved path string with `*` placeholders replaced by segments from the `fromPath`,\n * or the `toPath` returned unchanged if it contains no placeholders.\n *\n * @throws If the `toPath` does not start with a `/`, indicating an invalid path format.\n *\n * @example\n * ```typescript\n * // Example with placeholders resolved\n * const resolvedPath = buildPathWithParams('/*\\/details', '/123/abc');\n * console.log(resolvedPath); // Outputs: '/123/details'\n *\n * // Example with a static path\n * const staticPath = buildPathWithParams('/static/path', '/base/unused');\n * console.log(staticPath); // Outputs: '/static/path'\n * ```\n */\nfunction buildPathWithParams(toPath, fromPath) {\n  if (toPath[0] !== '/') {\n    throw new Error(`Invalid toPath: The string must start with a '/'. Received: '${toPath}'`);\n  }\n  if (fromPath[0] !== '/') {\n    throw new Error(`Invalid fromPath: The string must start with a '/'. Received: '${fromPath}'`);\n  }\n  if (!toPath.includes('/*')) {\n    return toPath;\n  }\n  const fromPathParts = fromPath.split('/');\n  const toPathParts = toPath.split('/');\n  const resolvedParts = toPathParts.map((part, index) => toPathParts[index] === '*' ? fromPathParts[index] : part);\n  return joinUrlParts(...resolvedParts);\n}\n\n/**\n * Renders an Angular application or module to an HTML string.\n *\n * This function determines whether the provided `bootstrap` value is an Angular module\n * or a bootstrap function and calls the appropriate rendering method (`renderModule` or\n * `renderApplication`) based on that determination.\n *\n * @param html - The HTML string to be used as the initial document content.\n * @param bootstrap - Either an Angular module type or a function that returns a promise\n *                    resolving to an `ApplicationRef`.\n * @param url - The URL of the application. This is used for server-side rendering to\n *              correctly handle route-based rendering.\n * @param platformProviders - An array of platform providers to be used during the\n *                             rendering process.\n * @param serverContext - A string representing the server context, used to provide additional\n *                        context or metadata during server-side rendering.\n * @returns A promise that resolves to a string containing the rendered HTML.\n */\nfunction renderAngular(html, bootstrap, url, platformProviders, serverContext) {\n  const providers = [{\n    provide: _SERVER_CONTEXT,\n    useValue: serverContext\n  }, {\n    // An Angular Console Provider that does not print a set of predefined logs.\n    provide: _Console,\n    // Using `useClass` would necessitate decorating `Console` with `@Injectable`,\n    // which would require switching from `ts_library` to `ng_module`. This change\n    // would also necessitate various patches of `@angular/bazel` to support ESM.\n    useFactory: () => new Console()\n  }, ...platformProviders];\n  // A request to `http://www.example.com/page/index.html` will render the Angular route corresponding to `http://www.example.com/page`.\n  const urlToRender = stripIndexHtmlFromURL(url).toString();\n  return isNgModule(bootstrap) ? renderModule(bootstrap, {\n    url: urlToRender,\n    document: html,\n    extraProviders: providers\n  }) : renderApplication(bootstrap, {\n    url: urlToRender,\n    document: html,\n    platformProviders: providers\n  });\n}\n/**\n * Type guard to determine if a given value is an Angular module.\n * Angular modules are identified by the presence of the `ɵmod` static property.\n * This function helps distinguish between Angular modules and bootstrap functions.\n *\n * @param value - The value to be checked.\n * @returns True if the value is an Angular module (i.e., it has the `ɵmod` property), false otherwise.\n */\nfunction isNgModule(value) {\n  return 'ɵmod' in value;\n}\n\n/**\n * Creates a promise that resolves with the result of the provided `promise` or rejects with an\n * `AbortError` if the `AbortSignal` is triggered before the promise resolves.\n *\n * @param promise - The promise to monitor for completion.\n * @param signal - An `AbortSignal` used to monitor for an abort event. If the signal is aborted,\n *                 the returned promise will reject.\n * @param errorMessagePrefix - A custom message prefix to include in the error message when the operation is aborted.\n * @returns A promise that either resolves with the value of the provided `promise` or rejects with\n *          an `AbortError` if the `AbortSignal` is triggered.\n *\n * @throws {AbortError} If the `AbortSignal` is triggered before the `promise` resolves.\n */\nfunction promiseWithAbort(promise, signal, errorMessagePrefix) {\n  return new Promise((resolve, reject) => {\n    const abortHandler = () => {\n      reject(new DOMException(`${errorMessagePrefix} was aborted.\\n${signal.reason}`, 'AbortError'));\n    };\n    // Check for abort signal\n    if (signal.aborted) {\n      abortHandler();\n      return;\n    }\n    signal.addEventListener('abort', abortHandler, {\n      once: true\n    });\n    promise.then(resolve).catch(reject).finally(() => {\n      signal.removeEventListener('abort', abortHandler);\n    });\n  });\n}\n\n/**\n * The internal path used for the app shell route.\n * @internal\n */\nconst APP_SHELL_ROUTE = 'ng-app-shell';\n/**\n * Identifies a particular kind of `ServerRoutesFeatureKind`.\n * @see {@link ServerRoutesFeature}\n * @developerPreview\n */\nvar ServerRoutesFeatureKind = /*#__PURE__*/function (ServerRoutesFeatureKind) {\n  ServerRoutesFeatureKind[ServerRoutesFeatureKind[\"AppShell\"] = 0] = \"AppShell\";\n  return ServerRoutesFeatureKind;\n}(ServerRoutesFeatureKind || {});\n/**\n * Different rendering modes for server routes.\n * @see {@link provideServerRouting}\n * @see {@link ServerRoute}\n * @developerPreview\n */\nvar RenderMode = /*#__PURE__*/function (RenderMode) {\n  /** Server-Side Rendering (SSR) mode, where content is rendered on the server for each request. */\n  RenderMode[RenderMode[\"Server\"] = 0] = \"Server\";\n  /** Client-Side Rendering (CSR) mode, where content is rendered on the client side in the browser. */\n  RenderMode[RenderMode[\"Client\"] = 1] = \"Client\";\n  /** Static Site Generation (SSG) mode, where content is pre-rendered at build time and served as static files. */\n  RenderMode[RenderMode[\"Prerender\"] = 2] = \"Prerender\";\n  return RenderMode;\n}(RenderMode || {});\n/**\n * Defines the fallback strategies for Static Site Generation (SSG) routes when a pre-rendered path is not available.\n * This is particularly relevant for routes with parameterized URLs where some paths might not be pre-rendered at build time.\n * @see {@link ServerRoutePrerenderWithParams}\n * @developerPreview\n */\nvar PrerenderFallback = /*#__PURE__*/function (PrerenderFallback) {\n  /**\n   * Fallback to Server-Side Rendering (SSR) if the pre-rendered path is not available.\n   * This strategy dynamically generates the page on the server at request time.\n   */\n  PrerenderFallback[PrerenderFallback[\"Server\"] = 0] = \"Server\";\n  /**\n   * Fallback to Client-Side Rendering (CSR) if the pre-rendered path is not available.\n   * This strategy allows the page to be rendered on the client side.\n   */\n  PrerenderFallback[PrerenderFallback[\"Client\"] = 1] = \"Client\";\n  /**\n   * No fallback; if the path is not pre-rendered, the server will not handle the request.\n   * This means the application will not provide any response for paths that are not pre-rendered.\n   */\n  PrerenderFallback[PrerenderFallback[\"None\"] = 2] = \"None\";\n  return PrerenderFallback;\n}(PrerenderFallback || {});\n/**\n * Token for providing the server routes configuration.\n * @internal\n */\nconst SERVER_ROUTES_CONFIG = /*#__PURE__*/new InjectionToken('SERVER_ROUTES_CONFIG');\n/**\n * Sets up the necessary providers for configuring server routes.\n * This function accepts an array of server routes and optional configuration\n * options, returning an `EnvironmentProviders` object that encapsulates\n * the server routes and configuration settings.\n *\n * @param routes - An array of server routes to be provided.\n * @param options - (Optional) An object containing additional configuration options for server routes.\n * @returns An `EnvironmentProviders` instance with the server routes configuration.\n *\n * @see {@link ServerRoute}\n * @see {@link ServerRoutesConfigOptions}\n * @see {@link provideServerRouting}\n * @deprecated use `provideServerRouting`. This will be removed in version 20.\n * @developerPreview\n */\nfunction provideServerRoutesConfig(routes, options) {\n  if (typeof ngServerMode === 'undefined' || !ngServerMode) {\n    throw new Error(`The 'provideServerRoutesConfig' function should not be invoked within the browser portion of the application.`);\n  }\n  return makeEnvironmentProviders([{\n    provide: SERVER_ROUTES_CONFIG,\n    useValue: {\n      routes,\n      ...options\n    }\n  }]);\n}\n/**\n * Sets up the necessary providers for configuring server routes.\n * This function accepts an array of server routes and optional configuration\n * options, returning an `EnvironmentProviders` object that encapsulates\n * the server routes and configuration settings.\n *\n * @param routes - An array of server routes to be provided.\n * @param features - (Optional) server routes features.\n * @returns An `EnvironmentProviders` instance with the server routes configuration.\n *\n * @see {@link ServerRoute}\n * @see {@link withAppShell}\n * @developerPreview\n */\nfunction provideServerRouting(routes, ...features) {\n  const config = {\n    routes\n  };\n  const hasAppShell = features.some(f => f.ɵkind === ServerRoutesFeatureKind.AppShell);\n  if (hasAppShell) {\n    config.appShellRoute = APP_SHELL_ROUTE;\n  }\n  const providers = [{\n    provide: SERVER_ROUTES_CONFIG,\n    useValue: config\n  }];\n  for (const feature of features) {\n    providers.push(...feature.ɵproviders);\n  }\n  return makeEnvironmentProviders(providers);\n}\n/**\n * Configures the app shell route with the provided component.\n *\n * The app shell serves as the main entry point for the application and is commonly used\n * to enable server-side rendering (SSR) of the application shell. It handles requests\n * that do not match any specific server route, providing a fallback mechanism and improving\n * perceived performance during navigation.\n *\n * This configuration is particularly useful in applications leveraging Progressive Web App (PWA)\n * patterns, such as service workers, to deliver a seamless user experience.\n *\n * @param component The Angular component to render for the app shell route.\n * @returns A server routes feature configuration for the app shell.\n *\n * @see {@link provideServerRouting}\n * @see {@link https://angular.dev/ecosystem/service-workers/app-shell | App shell pattern on Angular.dev}\n */\nfunction withAppShell(component) {\n  const routeConfig = {\n    path: APP_SHELL_ROUTE\n  };\n  if ('ɵcmp' in component) {\n    routeConfig.component = component;\n  } else {\n    routeConfig.loadComponent = component;\n  }\n  return {\n    ɵkind: ServerRoutesFeatureKind.AppShell,\n    ɵproviders: [{\n      provide: ROUTES,\n      useValue: routeConfig,\n      multi: true\n    }]\n  };\n}\n\n/**\n * A route tree implementation that supports efficient route matching, including support for wildcard routes.\n * This structure is useful for organizing and retrieving routes in a hierarchical manner,\n * enabling complex routing scenarios with nested paths.\n *\n * @typeParam AdditionalMetadata - Type of additional metadata that can be associated with route nodes.\n */\nclass RouteTree {\n  /**\n   * The root node of the route tree.\n   * All routes are stored and accessed relative to this root node.\n   */\n  root = /*#__PURE__*/this.createEmptyRouteTreeNode();\n  /**\n   * Inserts a new route into the route tree.\n   * The route is broken down into segments, and each segment is added to the tree.\n   * Parameterized segments (e.g., :id) are normalized to wildcards (*) for matching purposes.\n   *\n   * @param route - The route path to insert into the tree.\n   * @param metadata - Metadata associated with the route, excluding the route path itself.\n   */\n  insert(route, metadata) {\n    let node = this.root;\n    const segments = this.getPathSegments(route);\n    const normalizedSegments = [];\n    for (const segment of segments) {\n      // Replace parameterized segments (e.g., :id) with a wildcard (*) for matching\n      const normalizedSegment = segment[0] === ':' ? '*' : segment;\n      let childNode = node.children.get(normalizedSegment);\n      if (!childNode) {\n        childNode = this.createEmptyRouteTreeNode();\n        node.children.set(normalizedSegment, childNode);\n      }\n      node = childNode;\n      normalizedSegments.push(normalizedSegment);\n    }\n    // At the leaf node, store the full route and its associated metadata\n    node.metadata = {\n      ...metadata,\n      route: addLeadingSlash(normalizedSegments.join('/'))\n    };\n  }\n  /**\n   * Matches a given route against the route tree and returns the best matching route's metadata.\n   * The best match is determined by the lowest insertion index, meaning the earliest defined route\n   * takes precedence.\n   *\n   * @param route - The route path to match against the route tree.\n   * @returns The metadata of the best matching route or `undefined` if no match is found.\n   */\n  match(route) {\n    const segments = this.getPathSegments(route);\n    return this.traverseBySegments(segments)?.metadata;\n  }\n  /**\n   * Converts the route tree into a serialized format representation.\n   * This method converts the route tree into an array of metadata objects that describe the structure of the tree.\n   * The array represents the routes in a nested manner where each entry includes the route and its associated metadata.\n   *\n   * @returns An array of `RouteTreeNodeMetadata` objects representing the route tree structure.\n   *          Each object includes the `route` and associated metadata of a route.\n   */\n  toObject() {\n    return Array.from(this.traverse());\n  }\n  /**\n   * Constructs a `RouteTree` from an object representation.\n   * This method is used to recreate a `RouteTree` instance from an array of metadata objects.\n   * The array should be in the format produced by `toObject`, allowing for the reconstruction of the route tree\n   * with the same routes and metadata.\n   *\n   * @param value - An array of `RouteTreeNodeMetadata` objects that represent the serialized format of the route tree.\n   *                Each object should include a `route` and its associated metadata.\n   * @returns A new `RouteTree` instance constructed from the provided metadata objects.\n   */\n  static fromObject(value) {\n    const tree = new RouteTree();\n    for (const {\n      route,\n      ...metadata\n    } of value) {\n      tree.insert(route, metadata);\n    }\n    return tree;\n  }\n  /**\n   * A generator function that recursively traverses the route tree and yields the metadata of each node.\n   * This allows for easy and efficient iteration over all nodes in the tree.\n   *\n   * @param node - The current node to start the traversal from. Defaults to the root node of the tree.\n   */\n  *traverse(node = this.root) {\n    if (node.metadata) {\n      yield node.metadata;\n    }\n    for (const childNode of node.children.values()) {\n      yield* this.traverse(childNode);\n    }\n  }\n  /**\n   * Extracts the path segments from a given route string.\n   *\n   * @param route - The route string from which to extract segments.\n   * @returns An array of path segments.\n   */\n  getPathSegments(route) {\n    return route.split('/').filter(Boolean);\n  }\n  /**\n   * Recursively traverses the route tree from a given node, attempting to match the remaining route segments.\n   * If the node is a leaf node (no more segments to match) and contains metadata, the node is yielded.\n   *\n   * This function prioritizes exact segment matches first, followed by wildcard matches (`*`),\n   * and finally deep wildcard matches (`**`) that consume all segments.\n   *\n   * @param segments - The array of route path segments to match against the route tree.\n   * @param node - The current node in the route tree to start traversal from. Defaults to the root node.\n   * @param currentIndex - The index of the segment in `remainingSegments` currently being matched.\n   * Defaults to `0` (the first segment).\n   *\n   * @returns The node that best matches the remaining segments or `undefined` if no match is found.\n   */\n  traverseBySegments(segments, node = this.root, currentIndex = 0) {\n    if (currentIndex >= segments.length) {\n      return node.metadata ? node : node.children.get('**');\n    }\n    if (!node.children.size) {\n      return undefined;\n    }\n    const segment = segments[currentIndex];\n    // 1. Attempt exact match with the current segment.\n    const exactMatch = node.children.get(segment);\n    if (exactMatch) {\n      const match = this.traverseBySegments(segments, exactMatch, currentIndex + 1);\n      if (match) {\n        return match;\n      }\n    }\n    // 2. Attempt wildcard match ('*').\n    const wildcardMatch = node.children.get('*');\n    if (wildcardMatch) {\n      const match = this.traverseBySegments(segments, wildcardMatch, currentIndex + 1);\n      if (match) {\n        return match;\n      }\n    }\n    // 3. Attempt double wildcard match ('**').\n    return node.children.get('**');\n  }\n  /**\n   * Creates an empty route tree node.\n   * This helper function is used during the tree construction.\n   *\n   * @returns A new, empty route tree node.\n   */\n  createEmptyRouteTreeNode() {\n    return {\n      children: new Map()\n    };\n  }\n}\n\n/**\n * The maximum number of module preload link elements that should be added for\n * initial scripts.\n */\nconst MODULE_PRELOAD_MAX = 10;\n/**\n * Regular expression to match a catch-all route pattern in a URL path,\n * specifically one that ends with '/**'.\n */\nconst CATCH_ALL_REGEXP = /\\/(\\*\\*)$/;\n/**\n * Regular expression to match segments preceded by a colon in a string.\n */\nconst URL_PARAMETER_REGEXP = /(?<!\\\\):([^/]+)/g;\n/**\n * An set of HTTP status codes that are considered valid for redirect responses.\n */\nconst VALID_REDIRECT_RESPONSE_CODES = /*#__PURE__*/new Set([301, 302, 303, 307, 308]);\n/**\n * Handles a single route within the route tree and yields metadata or errors.\n *\n * @param options - Configuration options for handling the route.\n * @returns An async iterable iterator yielding `RouteTreeNodeMetadata` or an error object.\n */\nasync function* handleRoute(options) {\n  try {\n    const {\n      metadata,\n      currentRoutePath,\n      route,\n      compiler,\n      parentInjector,\n      serverConfigRouteTree,\n      entryPointToBrowserMapping,\n      invokeGetPrerenderParams,\n      includePrerenderFallbackRoutes\n    } = options;\n    const {\n      redirectTo,\n      loadChildren,\n      loadComponent,\n      children,\n      ɵentryName\n    } = route;\n    if (ɵentryName && loadComponent) {\n      appendPreloadToMetadata(ɵentryName, entryPointToBrowserMapping, metadata, true);\n    }\n    if (metadata.renderMode === RenderMode.Prerender) {\n      yield* handleSSGRoute(serverConfigRouteTree, typeof redirectTo === 'string' ? redirectTo : undefined, metadata, parentInjector, invokeGetPrerenderParams, includePrerenderFallbackRoutes);\n    } else if (typeof redirectTo === 'string') {\n      if (metadata.status && !VALID_REDIRECT_RESPONSE_CODES.has(metadata.status)) {\n        yield {\n          error: `The '${metadata.status}' status code is not a valid redirect response code. ` + `Please use one of the following redirect response codes: ${[...VALID_REDIRECT_RESPONSE_CODES.values()].join(', ')}.`\n        };\n      } else {\n        yield {\n          ...metadata,\n          redirectTo: resolveRedirectTo(metadata.route, redirectTo)\n        };\n      }\n    } else {\n      yield metadata;\n    }\n    // Recursively process child routes\n    if (children?.length) {\n      yield* traverseRoutesConfig({\n        ...options,\n        routes: children,\n        parentRoute: currentRoutePath,\n        parentPreloads: metadata.preload\n      });\n    }\n    // Load and process lazy-loaded child routes\n    if (loadChildren) {\n      if (ɵentryName) {\n        // When using `loadChildren`, the entire feature area (including multiple routes) is loaded.\n        // As a result, we do not want all dynamic-import dependencies to be preload, because it involves multiple dependencies\n        // across different child routes. In contrast, `loadComponent` only loads a single component, which allows\n        // for precise control over preloading, ensuring that the files preloaded are exactly those required for that specific route.\n        appendPreloadToMetadata(ɵentryName, entryPointToBrowserMapping, metadata, false);\n      }\n      const loadedChildRoutes = await _loadChildren(route, compiler, parentInjector).toPromise();\n      if (loadedChildRoutes) {\n        const {\n          routes: childRoutes,\n          injector = parentInjector\n        } = loadedChildRoutes;\n        yield* traverseRoutesConfig({\n          ...options,\n          routes: childRoutes,\n          parentInjector: injector,\n          parentRoute: currentRoutePath,\n          parentPreloads: metadata.preload\n        });\n      }\n    }\n  } catch (error) {\n    yield {\n      error: `Error in handleRoute for '${options.currentRoutePath}': ${error.message}`\n    };\n  }\n}\n/**\n * Traverses an array of route configurations to generate route tree node metadata.\n *\n * This function processes each route and its children, handling redirects, SSG (Static Site Generation) settings,\n * and lazy-loaded routes. It yields route metadata for each route and its potential variants.\n *\n * @param options - The configuration options for traversing routes.\n * @returns An async iterable iterator yielding either route tree node metadata or an error object with an error message.\n */\nasync function* traverseRoutesConfig(options) {\n  const {\n    routes: routeConfigs,\n    parentPreloads,\n    parentRoute,\n    serverConfigRouteTree\n  } = options;\n  for (const route of routeConfigs) {\n    const {\n      matcher,\n      path = matcher ? '**' : ''\n    } = route;\n    const currentRoutePath = joinUrlParts(parentRoute, path);\n    if (matcher && serverConfigRouteTree) {\n      let foundMatch = false;\n      for (const matchedMetaData of serverConfigRouteTree.traverse()) {\n        if (!matchedMetaData.route.startsWith(currentRoutePath)) {\n          continue;\n        }\n        foundMatch = true;\n        matchedMetaData.presentInClientRouter = true;\n        if (matchedMetaData.renderMode === RenderMode.Prerender) {\n          yield {\n            error: `The route '${stripLeadingSlash(currentRoutePath)}' is set for prerendering but has a defined matcher. ` + `Routes with matchers cannot use prerendering. Please specify a different 'renderMode'.`\n          };\n          continue;\n        }\n        yield* handleRoute({\n          ...options,\n          currentRoutePath,\n          route,\n          metadata: {\n            ...matchedMetaData,\n            preload: parentPreloads,\n            route: matchedMetaData.route,\n            presentInClientRouter: undefined\n          }\n        });\n      }\n      if (!foundMatch) {\n        yield {\n          error: `The route '${stripLeadingSlash(currentRoutePath)}' has a defined matcher but does not ` + 'match any route in the server routing configuration. Please ensure this route is added to the server routing configuration.'\n        };\n      }\n      continue;\n    }\n    let matchedMetaData;\n    if (serverConfigRouteTree) {\n      matchedMetaData = serverConfigRouteTree.match(currentRoutePath);\n      if (!matchedMetaData) {\n        yield {\n          error: `The '${stripLeadingSlash(currentRoutePath)}' route does not match any route defined in the server routing configuration. ` + 'Please ensure this route is added to the server routing configuration.'\n        };\n        continue;\n      }\n      matchedMetaData.presentInClientRouter = true;\n    }\n    yield* handleRoute({\n      ...options,\n      metadata: {\n        renderMode: RenderMode.Prerender,\n        ...matchedMetaData,\n        preload: parentPreloads,\n        // Match Angular router behavior\n        // ['one', 'two', ''] -> 'one/two/'\n        // ['one', 'two', 'three'] -> 'one/two/three'\n        route: path === '' ? addTrailingSlash(currentRoutePath) : currentRoutePath,\n        presentInClientRouter: undefined\n      },\n      currentRoutePath,\n      route\n    });\n  }\n}\n/**\n * Appends preload information to the metadata object based on the specified entry-point and chunk mappings.\n *\n * This function extracts preload data for a given entry-point from the provided chunk mappings. It adds the\n * corresponding browser bundles to the metadata's preload list, ensuring no duplicates and limiting the total\n * preloads to a predefined maximum.\n */\nfunction appendPreloadToMetadata(entryName, entryPointToBrowserMapping, metadata, includeDynamicImports) {\n  const existingPreloads = metadata.preload ?? [];\n  if (!entryPointToBrowserMapping || existingPreloads.length >= MODULE_PRELOAD_MAX) {\n    return;\n  }\n  const preload = entryPointToBrowserMapping[entryName];\n  if (!preload?.length) {\n    return;\n  }\n  // Merge existing preloads with new ones, ensuring uniqueness and limiting the total to the maximum allowed.\n  const combinedPreloads = new Set(existingPreloads);\n  for (const {\n    dynamicImport,\n    path\n  } of preload) {\n    if (dynamicImport && !includeDynamicImports) {\n      continue;\n    }\n    combinedPreloads.add(path);\n    if (combinedPreloads.size === MODULE_PRELOAD_MAX) {\n      break;\n    }\n  }\n  metadata.preload = Array.from(combinedPreloads);\n}\n/**\n * Handles SSG (Static Site Generation) routes by invoking `getPrerenderParams` and yielding\n * all parameterized paths, returning any errors encountered.\n *\n * @param serverConfigRouteTree - The tree representing the server's routing setup.\n * @param redirectTo - Optional path to redirect to, if specified.\n * @param metadata - The metadata associated with the route tree node.\n * @param parentInjector - The dependency injection container for the parent route.\n * @param invokeGetPrerenderParams - A flag indicating whether to invoke the `getPrerenderParams` function.\n * @param includePrerenderFallbackRoutes - A flag indicating whether to include fallback routes in the result.\n * @returns An async iterable iterator that yields route tree node metadata for each SSG path or errors.\n */\nasync function* handleSSGRoute(serverConfigRouteTree, redirectTo, metadata, parentInjector, invokeGetPrerenderParams, includePrerenderFallbackRoutes) {\n  if (metadata.renderMode !== RenderMode.Prerender) {\n    throw new Error(`'handleSSGRoute' was called for a route which rendering mode is not prerender.`);\n  }\n  const {\n    route: currentRoutePath,\n    fallback,\n    ...meta\n  } = metadata;\n  const getPrerenderParams = 'getPrerenderParams' in meta ? meta.getPrerenderParams : undefined;\n  if ('getPrerenderParams' in meta) {\n    delete meta['getPrerenderParams'];\n  }\n  if (redirectTo !== undefined) {\n    meta.redirectTo = resolveRedirectTo(currentRoutePath, redirectTo);\n  }\n  const isCatchAllRoute = CATCH_ALL_REGEXP.test(currentRoutePath);\n  if (isCatchAllRoute && !getPrerenderParams || !isCatchAllRoute && !URL_PARAMETER_REGEXP.test(currentRoutePath)) {\n    // Route has no parameters\n    yield {\n      ...meta,\n      route: currentRoutePath\n    };\n    return;\n  }\n  if (invokeGetPrerenderParams) {\n    if (!getPrerenderParams) {\n      yield {\n        error: `The '${stripLeadingSlash(currentRoutePath)}' route uses prerendering and includes parameters, but 'getPrerenderParams' ` + `is missing. Please define 'getPrerenderParams' function for this route in your server routing configuration ` + `or specify a different 'renderMode'.`\n      };\n      return;\n    }\n    if (serverConfigRouteTree) {\n      // Automatically resolve dynamic parameters for nested routes.\n      const catchAllRoutePath = isCatchAllRoute ? currentRoutePath : joinUrlParts(currentRoutePath, '**');\n      const match = serverConfigRouteTree.match(catchAllRoutePath);\n      if (match && match.renderMode === RenderMode.Prerender && !('getPrerenderParams' in match)) {\n        serverConfigRouteTree.insert(catchAllRoutePath, {\n          ...match,\n          presentInClientRouter: true,\n          getPrerenderParams\n        });\n      }\n    }\n    const parameters = await runInInjectionContext(parentInjector, () => getPrerenderParams());\n    try {\n      for (const params of parameters) {\n        const replacer = handlePrerenderParamsReplacement(params, currentRoutePath);\n        const routeWithResolvedParams = currentRoutePath.replace(URL_PARAMETER_REGEXP, replacer).replace(CATCH_ALL_REGEXP, replacer);\n        yield {\n          ...meta,\n          route: routeWithResolvedParams,\n          redirectTo: redirectTo === undefined ? undefined : resolveRedirectTo(routeWithResolvedParams, redirectTo)\n        };\n      }\n    } catch (error) {\n      yield {\n        error: `${error.message}`\n      };\n      return;\n    }\n  }\n  // Handle fallback render modes\n  if (includePrerenderFallbackRoutes && (fallback !== PrerenderFallback.None || !invokeGetPrerenderParams)) {\n    yield {\n      ...meta,\n      route: currentRoutePath,\n      renderMode: fallback === PrerenderFallback.Client ? RenderMode.Client : RenderMode.Server\n    };\n  }\n}\n/**\n * Creates a replacer function used for substituting parameter placeholders in a route path\n * with their corresponding values provided in the `params` object.\n *\n * @param params - An object mapping parameter names to their string values.\n * @param currentRoutePath - The current route path, used for constructing error messages.\n * @returns A function that replaces a matched parameter placeholder (e.g., ':id') with its corresponding value.\n */\nfunction handlePrerenderParamsReplacement(params, currentRoutePath) {\n  return match => {\n    const parameterName = match.slice(1);\n    const value = params[parameterName];\n    if (typeof value !== 'string') {\n      throw new Error(`The 'getPrerenderParams' function defined for the '${stripLeadingSlash(currentRoutePath)}' route ` + `returned a non-string value for parameter '${parameterName}'. ` + `Please make sure the 'getPrerenderParams' function returns values for all parameters ` + 'specified in this route.');\n    }\n    return parameterName === '**' ? `/${value}` : value;\n  };\n}\n/**\n * Resolves the `redirectTo` property for a given route.\n *\n * This function processes the `redirectTo` property to ensure that it correctly\n * resolves relative to the current route path. If `redirectTo` is an absolute path,\n * it is returned as is. If it is a relative path, it is resolved based on the current route path.\n *\n * @param routePath - The current route path.\n * @param redirectTo - The target path for redirection.\n * @returns The resolved redirect path as a string.\n */\nfunction resolveRedirectTo(routePath, redirectTo) {\n  if (redirectTo[0] === '/') {\n    // If the redirectTo path is absolute, return it as is.\n    return redirectTo;\n  }\n  // Resolve relative redirectTo based on the current route path.\n  const segments = routePath.replace(URL_PARAMETER_REGEXP, '*').split('/');\n  segments.pop(); // Remove the last segment to make it relative.\n  return joinUrlParts(...segments, redirectTo);\n}\n/**\n * Builds a server configuration route tree from the given server routes configuration.\n *\n * @param serverRoutesConfig - The server routes to be used for configuration.\n\n * @returns An object containing:\n * - `serverConfigRouteTree`: A populated `RouteTree` instance, which organizes the server routes\n *   along with their additional metadata.\n * - `errors`: An array of strings that list any errors encountered during the route tree construction\n *   process, such as invalid paths.\n */\nfunction buildServerConfigRouteTree({\n  routes,\n  appShellRoute\n}) {\n  const serverRoutes = [...routes];\n  if (appShellRoute !== undefined) {\n    serverRoutes.unshift({\n      path: appShellRoute,\n      renderMode: RenderMode.Prerender\n    });\n  }\n  const serverConfigRouteTree = new RouteTree();\n  const errors = [];\n  for (const {\n    path,\n    ...metadata\n  } of serverRoutes) {\n    if (path[0] === '/') {\n      errors.push(`Invalid '${path}' route configuration: the path cannot start with a slash.`);\n      continue;\n    }\n    if ('getPrerenderParams' in metadata && (path.includes('/*/') || path.endsWith('/*'))) {\n      errors.push(`Invalid '${path}' route configuration: 'getPrerenderParams' cannot be used with a '*' route.`);\n      continue;\n    }\n    serverConfigRouteTree.insert(path, metadata);\n  }\n  return {\n    serverConfigRouteTree,\n    errors\n  };\n}\n/**\n * Retrieves routes from the given Angular application.\n *\n * This function initializes an Angular platform, bootstraps the application or module,\n * and retrieves routes from the Angular router configuration. It handles both module-based\n * and function-based bootstrapping. It yields the resulting routes as `RouteTreeNodeMetadata` objects or errors.\n *\n * @param bootstrap - A function that returns a promise resolving to an `ApplicationRef` or an Angular module to bootstrap.\n * @param document - The initial HTML document used for server-side rendering.\n * This document is necessary to render the application on the server.\n * @param url - The URL for server-side rendering. The URL is used to configure `ServerPlatformLocation`. This configuration is crucial\n * for ensuring that API requests for relative paths succeed, which is essential for accurate route extraction.\n * @param invokeGetPrerenderParams - A boolean flag indicating whether to invoke `getPrerenderParams` for parameterized SSG routes\n * to handle prerendering paths. Defaults to `false`.\n * @param includePrerenderFallbackRoutes - A flag indicating whether to include fallback routes in the result. Defaults to `true`.\n * @param entryPointToBrowserMapping - Maps the entry-point name to the associated JavaScript browser bundles.\n *\n * @returns A promise that resolves to an object of type `AngularRouterConfigResult` or errors.\n */\nasync function getRoutesFromAngularRouterConfig(bootstrap, document, url, invokeGetPrerenderParams = false, includePrerenderFallbackRoutes = true, entryPointToBrowserMapping = undefined) {\n  const {\n    protocol,\n    host\n  } = url;\n  // Create and initialize the Angular platform for server-side rendering.\n  const platformRef = platformServer([{\n    provide: INITIAL_CONFIG,\n    useValue: {\n      document,\n      url: `${protocol}//${host}/`\n    }\n  }, {\n    // An Angular Console Provider that does not print a set of predefined logs.\n    provide: _Console,\n    // Using `useClass` would necessitate decorating `Console` with `@Injectable`,\n    // which would require switching from `ts_library` to `ng_module`. This change\n    // would also necessitate various patches of `@angular/bazel` to support ESM.\n    useFactory: () => new Console()\n  }, {\n    provide: _ENABLE_ROOT_COMPONENT_BOOTSTRAP,\n    useValue: false\n  }]);\n  try {\n    let applicationRef;\n    if (isNgModule(bootstrap)) {\n      const moduleRef = await platformRef.bootstrapModule(bootstrap);\n      applicationRef = moduleRef.injector.get(ApplicationRef);\n    } else {\n      applicationRef = await bootstrap({\n        platformRef\n      });\n    }\n    const injector = applicationRef.injector;\n    const router = injector.get(Router);\n    // Workaround to unblock navigation when `withEnabledBlockingInitialNavigation()` is used.\n    // This is necessary because route extraction disables component bootstrapping.\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    router.navigationTransitions.afterPreactivation()?.next?.();\n    // Wait until the application is stable.\n    await applicationRef.whenStable();\n    const errors = [];\n    const rawBaseHref = injector.get(APP_BASE_HREF, null, {\n      optional: true\n    }) ?? injector.get(PlatformLocation).getBaseHrefFromDOM();\n    const {\n      pathname: baseHref\n    } = new URL(rawBaseHref, 'http://localhost');\n    const compiler = injector.get(Compiler);\n    const serverRoutesConfig = injector.get(SERVER_ROUTES_CONFIG, null, {\n      optional: true\n    });\n    let serverConfigRouteTree;\n    if (serverRoutesConfig) {\n      const result = buildServerConfigRouteTree(serverRoutesConfig);\n      serverConfigRouteTree = result.serverConfigRouteTree;\n      errors.push(...result.errors);\n    }\n    if (errors.length) {\n      return {\n        baseHref,\n        routes: [],\n        errors\n      };\n    }\n    const routesResults = [];\n    if (router.config.length) {\n      // Retrieve all routes from the Angular router configuration.\n      const traverseRoutes = traverseRoutesConfig({\n        routes: router.config,\n        compiler,\n        parentInjector: injector,\n        parentRoute: '',\n        serverConfigRouteTree,\n        invokeGetPrerenderParams,\n        includePrerenderFallbackRoutes,\n        entryPointToBrowserMapping\n      });\n      const seenRoutes = new Set();\n      for await (const routeMetadata of traverseRoutes) {\n        if ('error' in routeMetadata) {\n          errors.push(routeMetadata.error);\n          continue;\n        }\n        // If a result already exists for the exact same route, subsequent matches should be ignored.\n        // This aligns with Angular's app router behavior, which prioritizes the first route.\n        const routePath = routeMetadata.route;\n        if (!seenRoutes.has(routePath)) {\n          routesResults.push(routeMetadata);\n          seenRoutes.add(routePath);\n        }\n      }\n      // This timeout is necessary to prevent 'adev' from hanging in production builds.\n      // The exact cause is unclear, but removing it leads to the issue.\n      await new Promise(resolve => setTimeout(resolve, 0));\n      if (serverConfigRouteTree) {\n        for (const {\n          route,\n          presentInClientRouter\n        } of serverConfigRouteTree.traverse()) {\n          if (presentInClientRouter || route.endsWith('/**')) {\n            // Skip if matched or it's the catch-all route.\n            continue;\n          }\n          errors.push(`The '${stripLeadingSlash(route)}' server route does not match any routes defined in the Angular ` + `routing configuration (typically provided as a part of the 'provideRouter' call). ` + 'Please make sure that the mentioned server route is present in the Angular routing configuration.');\n        }\n      }\n    } else {\n      const rootRouteMetadata = serverConfigRouteTree?.match('') ?? {\n        route: '',\n        renderMode: RenderMode.Prerender\n      };\n      routesResults.push({\n        ...rootRouteMetadata,\n        // Matched route might be `/*` or `/**`, which would make Angular serve all routes rather than just `/`.\n        // So we limit to just `/` for the empty app router case.\n        route: ''\n      });\n    }\n    return {\n      baseHref,\n      routes: routesResults,\n      errors,\n      appShellRoute: serverRoutesConfig?.appShellRoute\n    };\n  } finally {\n    platformRef.destroy();\n  }\n}\n/**\n * Asynchronously extracts routes from the Angular application configuration\n * and creates a `RouteTree` to manage server-side routing.\n *\n * @param options - An object containing the following options:\n *  - `url`: The URL for server-side rendering. The URL is used to configure `ServerPlatformLocation`. This configuration is crucial\n *     for ensuring that API requests for relative paths succeed, which is essential for accurate route extraction.\n *     See:\n *      - https://github.com/angular/angular/blob/d608b857c689d17a7ffa33bbb510301014d24a17/packages/platform-server/src/location.ts#L51\n *      - https://github.com/angular/angular/blob/6882cc7d9eed26d3caeedca027452367ba25f2b9/packages/platform-server/src/http.ts#L44\n *  - `manifest`: An optional `AngularAppManifest` that contains the application's routing and configuration details.\n *     If not provided, the default manifest is retrieved using `getAngularAppManifest()`.\n *  - `invokeGetPrerenderParams`: A boolean flag indicating whether to invoke `getPrerenderParams` for parameterized SSG routes\n *     to handle prerendering paths. Defaults to `false`.\n *  - `includePrerenderFallbackRoutes`: A flag indicating whether to include fallback routes in the result. Defaults to `true`.\n *  - `signal`: An optional `AbortSignal` that can be used to abort the operation.\n *\n * @returns A promise that resolves to an object containing:\n *  - `routeTree`: A populated `RouteTree` containing all extracted routes from the Angular application.\n *  - `appShellRoute`: The specified route for the app-shell, if configured.\n *  - `errors`: An array of strings representing any errors encountered during the route extraction process.\n */\nfunction extractRoutesAndCreateRouteTree(options) {\n  const {\n    url,\n    manifest = getAngularAppManifest(),\n    invokeGetPrerenderParams = false,\n    includePrerenderFallbackRoutes = true,\n    signal\n  } = options;\n  async function extract() {\n    const routeTree = new RouteTree();\n    const document = await new ServerAssets(manifest).getIndexServerHtml().text();\n    const bootstrap = await manifest.bootstrap();\n    const {\n      baseHref,\n      appShellRoute,\n      routes,\n      errors\n    } = await getRoutesFromAngularRouterConfig(bootstrap, document, url, invokeGetPrerenderParams, includePrerenderFallbackRoutes, manifest.entryPointToBrowserMapping);\n    for (const {\n      route,\n      ...metadata\n    } of routes) {\n      if (metadata.redirectTo !== undefined) {\n        metadata.redirectTo = joinUrlParts(baseHref, metadata.redirectTo);\n      }\n      // Remove undefined fields\n      // Helps avoid unnecessary test updates\n      for (const [key, value] of Object.entries(metadata)) {\n        if (value === undefined) {\n          // eslint-disable-next-line @typescript-eslint/no-explicit-any\n          delete metadata[key];\n        }\n      }\n      const fullRoute = joinUrlParts(baseHref, route);\n      routeTree.insert(fullRoute, metadata);\n    }\n    return {\n      appShellRoute,\n      routeTree,\n      errors\n    };\n  }\n  return signal ? promiseWithAbort(extract(), signal, 'Routes extraction') : extract();\n}\n\n/**\n * Manages a collection of hooks and provides methods to register and execute them.\n * Hooks are functions that can be invoked with specific arguments to allow modifications or enhancements.\n */\nclass Hooks {\n  /**\n   * A map of hook names to arrays of hook functions.\n   * Each hook name can have multiple associated functions, which are executed in sequence.\n   */\n  store = /*#__PURE__*/new Map();\n  /**\n   * Executes all hooks associated with the specified name, passing the given argument to each hook function.\n   * The hooks are invoked sequentially, and the argument may be modified by each hook.\n   *\n   * @template Hook - The type of the hook name. It should be one of the keys of `HooksMapping`.\n   * @param name - The name of the hook whose functions will be executed.\n   * @param context - The input value to be passed to each hook function. The value is mutated by each hook function.\n   * @returns A promise that resolves once all hook functions have been executed.\n   *\n   * @example\n   * ```typescript\n   * const hooks = new Hooks();\n   * hooks.on('html:transform:pre', async (ctx) => {\n   *   ctx.html = ctx.html.replace(/foo/g, 'bar');\n   *   return ctx.html;\n   * });\n   * const result = await hooks.run('html:transform:pre', { html: '<div>foo</div>' });\n   * console.log(result); // '<div>bar</div>'\n   * ```\n   * @internal\n   */\n  async run(name, context) {\n    const hooks = this.store.get(name);\n    switch (name) {\n      case 'html:transform:pre':\n        {\n          if (!hooks) {\n            return context.html;\n          }\n          const ctx = {\n            ...context\n          };\n          for (const hook of hooks) {\n            ctx.html = await hook(ctx);\n          }\n          return ctx.html;\n        }\n      default:\n        throw new Error(`Running hook \"${name}\" is not supported.`);\n    }\n  }\n  /**\n   * Registers a new hook function under the specified hook name.\n   * This function should be a function that takes an argument of type `T` and returns a `string` or `Promise<string>`.\n   *\n   * @template Hook - The type of the hook name. It should be one of the keys of `HooksMapping`.\n   * @param name - The name of the hook under which the function will be registered.\n   * @param handler - A function to be executed when the hook is triggered. The handler will be called with an argument\n   *                  that may be modified by the hook functions.\n   *\n   * @remarks\n   * - If there are existing handlers registered under the given hook name, the new handler will be added to the list.\n   * - If no handlers are registered under the given hook name, a new list will be created with the handler as its first element.\n   *\n   * @example\n   * ```typescript\n   * hooks.on('html:transform:pre', async (ctx) => {\n   *   return ctx.html.replace(/foo/g, 'bar');\n   * });\n   * ```\n   */\n  on(name, handler) {\n    const hooks = this.store.get(name);\n    if (hooks) {\n      hooks.push(handler);\n    } else {\n      this.store.set(name, [handler]);\n    }\n  }\n  /**\n   * Checks if there are any hooks registered under the specified name.\n   *\n   * @param name - The name of the hook to check.\n   * @returns `true` if there are hooks registered under the specified name, otherwise `false`.\n   */\n  has(name) {\n    return !!this.store.get(name)?.length;\n  }\n}\n\n/**\n * Manages the application's server routing logic by building and maintaining a route tree.\n *\n * This class is responsible for constructing the route tree from the Angular application\n * configuration and using it to match incoming requests to the appropriate routes.\n */\nclass ServerRouter {\n  routeTree;\n  /**\n   * Creates an instance of the `ServerRouter`.\n   *\n   * @param routeTree - An instance of `RouteTree` that holds the routing information.\n   * The `RouteTree` is used to match request URLs to the appropriate route metadata.\n   */\n  constructor(routeTree) {\n    this.routeTree = routeTree;\n  }\n  /**\n   * Static property to track the ongoing build promise.\n   */\n  static #extractionPromise;\n  /**\n   * Creates or retrieves a `ServerRouter` instance based on the provided manifest and URL.\n   *\n   * If the manifest contains pre-built routes, a new `ServerRouter` is immediately created.\n   * Otherwise, it builds the router by extracting routes from the Angular configuration\n   * asynchronously. This method ensures that concurrent builds are prevented by re-using\n   * the same promise.\n   *\n   * @param manifest - An instance of `AngularAppManifest` that contains the route information.\n   * @param url - The URL for server-side rendering. The URL is needed to configure `ServerPlatformLocation`.\n   * This is necessary to ensure that API requests for relative paths succeed, which is crucial for correct route extraction.\n   * [Reference](https://github.com/angular/angular/blob/d608b857c689d17a7ffa33bbb510301014d24a17/packages/platform-server/src/location.ts#L51)\n   * @returns A promise resolving to a `ServerRouter` instance.\n   */\n  static from(manifest, url) {\n    if (manifest.routes) {\n      const routeTree = RouteTree.fromObject(manifest.routes);\n      return Promise.resolve(new ServerRouter(routeTree));\n    }\n    // Create and store a new promise for the build process.\n    // This prevents concurrent builds by re-using the same promise.\n    ServerRouter.#extractionPromise ??= extractRoutesAndCreateRouteTree({\n      url,\n      manifest\n    }).then(({\n      routeTree,\n      errors\n    }) => {\n      if (errors.length > 0) {\n        throw new Error('Error(s) occurred while extracting routes:\\n' + errors.map(error => `- ${error}`).join('\\n'));\n      }\n      return new ServerRouter(routeTree);\n    }).finally(() => {\n      ServerRouter.#extractionPromise = undefined;\n    });\n    return ServerRouter.#extractionPromise;\n  }\n  /**\n   * Matches a request URL against the route tree to retrieve route metadata.\n   *\n   * This method strips 'index.html' from the URL if it is present and then attempts\n   * to find a match in the route tree. If a match is found, it returns the associated\n   * route metadata; otherwise, it returns `undefined`.\n   *\n   * @param url - The URL to be matched against the route tree.\n   * @returns The metadata for the matched route or `undefined` if no match is found.\n   */\n  match(url) {\n    // Strip 'index.html' from URL if present.\n    // A request to `http://www.example.com/page/index.html` will render the Angular route corresponding to `http://www.example.com/page`.\n    const {\n      pathname\n    } = stripIndexHtmlFromURL(url);\n    return this.routeTree.match(decodeURIComponent(pathname));\n  }\n}\n\n/**\n * Generates a SHA-256 hash of the provided string.\n *\n * @param data - The input string to be hashed.\n * @returns A promise that resolves to the SHA-256 hash of the input,\n * represented as a hexadecimal string.\n */\nasync function sha256(data) {\n  const encodedData = new TextEncoder().encode(data);\n  const hashBuffer = await crypto.subtle.digest('SHA-256', encodedData);\n  const hashParts = [];\n  for (const h of new Uint8Array(hashBuffer)) {\n    hashParts.push(h.toString(16).padStart(2, '0'));\n  }\n  return hashParts.join('');\n}\n\n/**\n * Pattern used to extract the media query set by Beasties in an `onload` handler.\n */\nconst MEDIA_SET_HANDLER_PATTERN = /^this\\.media=[\"'](.*)[\"'];?$/;\n/**\n * Name of the attribute used to save the Beasties media query so it can be re-assigned on load.\n */\nconst CSP_MEDIA_ATTR = 'ngCspMedia';\n/**\n * Script that dynamically updates the `media` attribute of `<link>` tags based on a custom attribute (`CSP_MEDIA_ATTR`).\n *\n * NOTE:\n * We do not use `document.querySelectorAll('link').forEach((s) => s.addEventListener('load', ...)`\n * because load events are not always triggered reliably on Chrome.\n * See: https://github.com/angular/angular-cli/issues/26932 and https://crbug.com/1521256\n *\n * The script:\n * - Ensures the event target is a `<link>` tag with the `CSP_MEDIA_ATTR` attribute.\n * - Updates the `media` attribute with the value of `CSP_MEDIA_ATTR` and then removes the attribute.\n * - Removes the event listener when all relevant `<link>` tags have been processed.\n * - Uses event capturing (the `true` parameter) since load events do not bubble up the DOM.\n */\nconst LINK_LOAD_SCRIPT_CONTENT = /* @__PURE__ */(() => `(() => {\n  const CSP_MEDIA_ATTR = '${CSP_MEDIA_ATTR}';\n  const documentElement = document.documentElement;\n\n  // Listener for load events on link tags.\n  const listener = (e) => {\n    const target = e.target;\n    if (\n      !target ||\n      target.tagName !== 'LINK' ||\n      !target.hasAttribute(CSP_MEDIA_ATTR)\n    ) {\n      return;\n    }\n\n    target.media = target.getAttribute(CSP_MEDIA_ATTR);\n    target.removeAttribute(CSP_MEDIA_ATTR);\n\n    if (!document.head.querySelector(\\`link[\\${CSP_MEDIA_ATTR}]\\`)) {\n      documentElement.removeEventListener('load', listener);\n    }\n  };\n\n  documentElement.addEventListener('load', listener, true);\n})();`)();\nclass BeastiesBase extends Beasties {}\n/* eslint-enable @typescript-eslint/no-unsafe-declaration-merging */\nclass InlineCriticalCssProcessor extends BeastiesBase {\n  readFile;\n  outputPath;\n  addedCspScriptsDocuments = /*#__PURE__*/new WeakSet();\n  documentNonces = /*#__PURE__*/new WeakMap();\n  constructor(readFile, outputPath) {\n    super({\n      logger: {\n        // eslint-disable-next-line no-console\n        warn: s => console.warn(s),\n        // eslint-disable-next-line no-console\n        error: s => console.error(s),\n        info: () => {}\n      },\n      logLevel: 'warn',\n      path: outputPath,\n      publicPath: undefined,\n      compress: false,\n      pruneSource: false,\n      reduceInlineStyles: false,\n      mergeStylesheets: false,\n      // Note: if `preload` changes to anything other than `media`, the logic in\n      // `embedLinkedStylesheet` will have to be updated.\n      preload: 'media',\n      noscriptFallback: true,\n      inlineFonts: true\n    });\n    this.readFile = readFile;\n    this.outputPath = outputPath;\n  }\n  /**\n   * Override of the Beasties `embedLinkedStylesheet` method\n   * that makes it work with Angular's CSP APIs.\n   */\n  async embedLinkedStylesheet(link, document) {\n    if (link.getAttribute('media') === 'print' && link.next?.name === 'noscript') {\n      // Workaround for https://github.com/GoogleChromeLabs/critters/issues/64\n      // NB: this is only needed for the webpack based builders.\n      const media = link.getAttribute('onload')?.match(MEDIA_SET_HANDLER_PATTERN);\n      if (media) {\n        link.removeAttribute('onload');\n        link.setAttribute('media', media[1]);\n        link?.next?.remove();\n      }\n    }\n    const returnValue = await super.embedLinkedStylesheet(link, document);\n    const cspNonce = this.findCspNonce(document);\n    if (cspNonce) {\n      const beastiesMedia = link.getAttribute('onload')?.match(MEDIA_SET_HANDLER_PATTERN);\n      if (beastiesMedia) {\n        // If there's a Beasties-generated `onload` handler and the file has an Angular CSP nonce,\n        // we have to remove the handler, because it's incompatible with CSP. We save the value\n        // in a different attribute and we generate a script tag with the nonce that uses\n        // `addEventListener` to apply the media query instead.\n        link.removeAttribute('onload');\n        link.setAttribute(CSP_MEDIA_ATTR, beastiesMedia[1]);\n        this.conditionallyInsertCspLoadingScript(document, cspNonce, link);\n      }\n      // Ideally we would hook in at the time Beasties inserts the `style` tags, but there isn't\n      // a way of doing that at the moment so we fall back to doing it any time a `link` tag is\n      // inserted. We mitigate it by only iterating the direct children of the `<head>` which\n      // should be pretty shallow.\n      document.head.children.forEach(child => {\n        if (child.tagName === 'style' && !child.hasAttribute('nonce')) {\n          child.setAttribute('nonce', cspNonce);\n        }\n      });\n    }\n    return returnValue;\n  }\n  /**\n   * Finds the CSP nonce for a specific document.\n   */\n  findCspNonce(document) {\n    if (this.documentNonces.has(document)) {\n      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n      return this.documentNonces.get(document);\n    }\n    // HTML attribute are case-insensitive, but the parser used by Beasties is case-sensitive.\n    const nonceElement = document.querySelector('[ngCspNonce], [ngcspnonce]');\n    const cspNonce = nonceElement?.getAttribute('ngCspNonce') || nonceElement?.getAttribute('ngcspnonce') || null;\n    this.documentNonces.set(document, cspNonce);\n    return cspNonce;\n  }\n  /**\n   * Inserts the `script` tag that swaps the critical CSS at runtime,\n   * if one hasn't been inserted into the document already.\n   */\n  conditionallyInsertCspLoadingScript(document, nonce, link) {\n    if (this.addedCspScriptsDocuments.has(document)) {\n      return;\n    }\n    if (document.head.textContent.includes(LINK_LOAD_SCRIPT_CONTENT)) {\n      // Script was already added during the build.\n      this.addedCspScriptsDocuments.add(document);\n      return;\n    }\n    const script = document.createElement('script');\n    script.setAttribute('nonce', nonce);\n    script.textContent = LINK_LOAD_SCRIPT_CONTENT;\n    // Prepend the script to the head since it needs to\n    // run as early as possible, before the `link` tags.\n    document.head.insertBefore(script, link);\n    this.addedCspScriptsDocuments.add(document);\n  }\n}\n\n/**\n * A Least Recently Used (LRU) cache implementation.\n *\n * This cache stores a fixed number of key-value pairs, and when the cache exceeds its capacity,\n * the least recently accessed items are evicted.\n *\n * @template Key - The type of the cache keys.\n * @template Value - The type of the cache values.\n */\nclass LRUCache {\n  /**\n   * The maximum number of items the cache can hold.\n   */\n  capacity;\n  /**\n   * Internal storage for the cache, mapping keys to their associated nodes in the linked list.\n   */\n  cache = /*#__PURE__*/new Map();\n  /**\n   * Head of the doubly linked list, representing the most recently used item.\n   */\n  head;\n  /**\n   * Tail of the doubly linked list, representing the least recently used item.\n   */\n  tail;\n  /**\n   * Creates a new LRUCache instance.\n   * @param capacity The maximum number of items the cache can hold.\n   */\n  constructor(capacity) {\n    this.capacity = capacity;\n  }\n  /**\n   * Gets the value associated with the given key.\n   * @param key The key to retrieve the value for.\n   * @returns The value associated with the key, or undefined if the key is not found.\n   */\n  get(key) {\n    const node = this.cache.get(key);\n    if (node) {\n      this.moveToHead(node);\n      return node.value;\n    }\n    return undefined;\n  }\n  /**\n   * Puts a key-value pair into the cache.\n   * If the key already exists, the value is updated.\n   * If the cache is full, the least recently used item is evicted.\n   * @param key The key to insert or update.\n   * @param value The value to associate with the key.\n   */\n  put(key, value) {\n    const cachedNode = this.cache.get(key);\n    if (cachedNode) {\n      // Update existing node\n      cachedNode.value = value;\n      this.moveToHead(cachedNode);\n      return;\n    }\n    // Create a new node\n    const newNode = {\n      key,\n      value,\n      prev: undefined,\n      next: undefined\n    };\n    this.cache.set(key, newNode);\n    this.addToHead(newNode);\n    if (this.cache.size > this.capacity) {\n      // Evict the LRU item\n      const tail = this.removeTail();\n      if (tail) {\n        this.cache.delete(tail.key);\n      }\n    }\n  }\n  /**\n   * Adds a node to the head of the linked list.\n   * @param node The node to add.\n   */\n  addToHead(node) {\n    node.next = this.head;\n    node.prev = undefined;\n    if (this.head) {\n      this.head.prev = node;\n    }\n    this.head = node;\n    if (!this.tail) {\n      this.tail = node;\n    }\n  }\n  /**\n   * Removes a node from the linked list.\n   * @param node The node to remove.\n   */\n  removeNode(node) {\n    if (node.prev) {\n      node.prev.next = node.next;\n    } else {\n      this.head = node.next;\n    }\n    if (node.next) {\n      node.next.prev = node.prev;\n    } else {\n      this.tail = node.prev;\n    }\n  }\n  /**\n   * Moves a node to the head of the linked list.\n   * @param node The node to move.\n   */\n  moveToHead(node) {\n    this.removeNode(node);\n    this.addToHead(node);\n  }\n  /**\n   * Removes the tail node from the linked list.\n   * @returns The removed tail node, or undefined if the list is empty.\n   */\n  removeTail() {\n    const node = this.tail;\n    if (node) {\n      this.removeNode(node);\n    }\n    return node;\n  }\n}\n\n/**\n * Maximum number of critical CSS entries the cache can store.\n * This value determines the capacity of the LRU (Least Recently Used) cache, which stores critical CSS for pages.\n */\nconst MAX_INLINE_CSS_CACHE_ENTRIES = 50;\n/**\n * A mapping of `RenderMode` enum values to corresponding string representations.\n *\n * This record is used to map each `RenderMode` to a specific string value that represents\n * the server context. The string values are used internally to differentiate\n * between various rendering strategies when processing routes.\n *\n * - `RenderMode.Prerender` maps to `'ssg'` (Static Site Generation).\n * - `RenderMode.Server` maps to `'ssr'` (Server-Side Rendering).\n * - `RenderMode.Client` maps to an empty string `''` (Client-Side Rendering, no server context needed).\n */\nconst SERVER_CONTEXT_VALUE = {\n  [RenderMode.Prerender]: 'ssg',\n  [RenderMode.Server]: 'ssr',\n  [RenderMode.Client]: ''\n};\n/**\n * Represents a locale-specific Angular server application managed by the server application engine.\n *\n * The `AngularServerApp` class handles server-side rendering and asset management for a specific locale.\n */\nclass AngularServerApp {\n  options;\n  /**\n   * Whether prerendered routes should be rendered on demand or served directly.\n   *\n   * @see {@link AngularServerAppOptions.allowStaticRouteRender} for more details.\n   */\n  allowStaticRouteRender;\n  /**\n   * Hooks for extending or modifying server behavior.\n   *\n   * @see {@link AngularServerAppOptions.hooks} for more details.\n   */\n  hooks;\n  /**\n   * Constructs an instance of `AngularServerApp`.\n   *\n   * @param options Optional configuration options for the server application.\n   */\n  constructor(options = {}) {\n    this.options = options;\n    this.allowStaticRouteRender = this.options.allowStaticRouteRender ?? false;\n    this.hooks = options.hooks ?? new Hooks();\n  }\n  /**\n   * The manifest associated with this server application.\n   */\n  manifest = /*#__PURE__*/getAngularAppManifest();\n  /**\n   * An instance of ServerAsset that handles server-side asset.\n   */\n  assets = /*#__PURE__*/new ServerAssets(this.manifest);\n  /**\n   * The router instance used for route matching and handling.\n   */\n  router;\n  /**\n   * The `inlineCriticalCssProcessor` is responsible for handling critical CSS inlining.\n   */\n  inlineCriticalCssProcessor;\n  /**\n   * The bootstrap mechanism for the server application.\n   */\n  boostrap;\n  /**\n   * Cache for storing critical CSS for pages.\n   * Stores a maximum of MAX_INLINE_CSS_CACHE_ENTRIES entries.\n   *\n   * Uses an LRU (Least Recently Used) eviction policy, meaning that when the cache is full,\n   * the least recently accessed page's critical CSS will be removed to make space for new entries.\n   */\n  criticalCssLRUCache = /*#__PURE__*/new LRUCache(MAX_INLINE_CSS_CACHE_ENTRIES);\n  /**\n   * Handles an incoming HTTP request by serving prerendered content, performing server-side rendering,\n   * or delivering a static file for client-side rendered routes based on the `RenderMode` setting.\n   *\n   * @param request - The HTTP request to handle.\n   * @param requestContext - Optional context for rendering, such as metadata associated with the request.\n   * @returns A promise that resolves to the resulting HTTP response object, or `null` if no matching Angular route is found.\n   *\n   * @remarks A request to `https://www.example.com/page/index.html` will serve or render the Angular route\n   * corresponding to `https://www.example.com/page`.\n   */\n  async handle(request, requestContext) {\n    const url = new URL(request.url);\n    this.router ??= await ServerRouter.from(this.manifest, url);\n    const matchedRoute = this.router.match(url);\n    if (!matchedRoute) {\n      // Not a known Angular route.\n      return null;\n    }\n    const {\n      redirectTo,\n      status,\n      renderMode\n    } = matchedRoute;\n    if (redirectTo !== undefined) {\n      return new Response(null, {\n        // Note: The status code is validated during route extraction.\n        // 302 Found is used by default for redirections\n        // See: https://developer.mozilla.org/en-US/docs/Web/API/Response/redirect_static#status\n        status: status ?? 302,\n        headers: {\n          'Location': buildPathWithParams(redirectTo, url.pathname)\n        }\n      });\n    }\n    if (renderMode === RenderMode.Prerender) {\n      const response = await this.handleServe(request, matchedRoute);\n      if (response) {\n        return response;\n      }\n    }\n    return promiseWithAbort(this.handleRendering(request, matchedRoute, requestContext), request.signal, `Request for: ${request.url}`);\n  }\n  /**\n   * Handles serving a prerendered static asset if available for the matched route.\n   *\n   * This method only supports `GET` and `HEAD` requests.\n   *\n   * @param request - The incoming HTTP request for serving a static page.\n   * @param matchedRoute - The metadata of the matched route for rendering.\n   * If not provided, the method attempts to find a matching route based on the request URL.\n   * @returns A promise that resolves to a `Response` object if the prerendered page is found, or `null`.\n   */\n  async handleServe(request, matchedRoute) {\n    const {\n      headers,\n      renderMode\n    } = matchedRoute;\n    if (renderMode !== RenderMode.Prerender) {\n      return null;\n    }\n    const {\n      method\n    } = request;\n    if (method !== 'GET' && method !== 'HEAD') {\n      return null;\n    }\n    const assetPath = this.buildServerAssetPathFromRequest(request);\n    const {\n      manifest: {\n        locale\n      },\n      assets\n    } = this;\n    if (!assets.hasServerAsset(assetPath)) {\n      return null;\n    }\n    const {\n      text,\n      hash,\n      size\n    } = assets.getServerAsset(assetPath);\n    const etag = `\"${hash}\"`;\n    return request.headers.get('if-none-match') === etag ? new Response(undefined, {\n      status: 304,\n      statusText: 'Not Modified'\n    }) : new Response(await text(), {\n      headers: {\n        'Content-Length': size.toString(),\n        'ETag': etag,\n        'Content-Type': 'text/html;charset=UTF-8',\n        ...(locale !== undefined ? {\n          'Content-Language': locale\n        } : {}),\n        ...headers\n      }\n    });\n  }\n  /**\n   * Handles the server-side rendering process for the given HTTP request.\n   * This method matches the request URL to a route and performs rendering if a matching route is found.\n   *\n   * @param request - The incoming HTTP request to be processed.\n   * @param matchedRoute - The metadata of the matched route for rendering.\n   * If not provided, the method attempts to find a matching route based on the request URL.\n   * @param requestContext - Optional additional context for rendering, such as request metadata.\n   *\n   * @returns A promise that resolves to the rendered response, or null if no matching route is found.\n   */\n  async handleRendering(request, matchedRoute, requestContext) {\n    const {\n      renderMode,\n      headers,\n      status,\n      preload\n    } = matchedRoute;\n    if (!this.allowStaticRouteRender && renderMode === RenderMode.Prerender) {\n      return null;\n    }\n    const url = new URL(request.url);\n    const platformProviders = [];\n    const {\n      manifest: {\n        bootstrap,\n        inlineCriticalCss,\n        locale\n      },\n      assets\n    } = this;\n    // Initialize the response with status and headers if available.\n    const responseInit = {\n      status,\n      headers: new Headers({\n        'Content-Type': 'text/html;charset=UTF-8',\n        ...(locale !== undefined ? {\n          'Content-Language': locale\n        } : {}),\n        ...headers\n      })\n    };\n    if (renderMode === RenderMode.Server) {\n      // Configure platform providers for request and response only for SSR.\n      platformProviders.push({\n        provide: REQUEST,\n        useValue: request\n      }, {\n        provide: REQUEST_CONTEXT,\n        useValue: requestContext\n      }, {\n        provide: RESPONSE_INIT,\n        useValue: responseInit\n      });\n    } else if (renderMode === RenderMode.Client) {\n      // Serve the client-side rendered version if the route is configured for CSR.\n      let html = await this.assets.getServerAsset('index.csr.html').text();\n      html = await this.runTransformsOnHtml(html, url, preload);\n      return new Response(html, responseInit);\n    }\n    if (locale !== undefined) {\n      platformProviders.push({\n        provide: LOCALE_ID,\n        useValue: locale\n      });\n    }\n    this.boostrap ??= await bootstrap();\n    let html = await assets.getIndexServerHtml().text();\n    html = await this.runTransformsOnHtml(html, url, preload);\n    html = await renderAngular(html, this.boostrap, url, platformProviders, SERVER_CONTEXT_VALUE[renderMode]);\n    if (inlineCriticalCss) {\n      // Optionally inline critical CSS.\n      this.inlineCriticalCssProcessor ??= new InlineCriticalCssProcessor(path => {\n        const fileName = path.split('/').pop() ?? path;\n        return this.assets.getServerAsset(fileName).text();\n      });\n      // TODO(alanagius): remove once Node.js version 18 is no longer supported.\n      if (renderMode === RenderMode.Server && typeof crypto === 'undefined') {\n        // eslint-disable-next-line no-console\n        console.error(`The global 'crypto' module is unavailable. ` + `If you are running on Node.js, please ensure you are using version 20 or later, ` + `which includes built-in support for the Web Crypto module.`);\n      }\n      if (renderMode === RenderMode.Server && typeof crypto !== 'undefined') {\n        // Only cache if we are running in SSR Mode.\n        const cacheKey = await sha256(html);\n        let htmlWithCriticalCss = this.criticalCssLRUCache.get(cacheKey);\n        if (htmlWithCriticalCss === undefined) {\n          htmlWithCriticalCss = await this.inlineCriticalCssProcessor.process(html);\n          this.criticalCssLRUCache.put(cacheKey, htmlWithCriticalCss);\n        }\n        html = htmlWithCriticalCss;\n      } else {\n        html = await this.inlineCriticalCssProcessor.process(html);\n      }\n    }\n    return new Response(html, responseInit);\n  }\n  /**\n   * Constructs the asset path on the server based on the provided HTTP request.\n   *\n   * This method processes the incoming request URL to derive a path corresponding\n   * to the requested asset. It ensures the path points to the correct file (e.g.,\n   * `index.html`) and removes any base href if it is not part of the asset path.\n   *\n   * @param request - The incoming HTTP request object.\n   * @returns The server-relative asset path derived from the request.\n   */\n  buildServerAssetPathFromRequest(request) {\n    let {\n      pathname: assetPath\n    } = new URL(request.url);\n    if (!assetPath.endsWith('/index.html')) {\n      // Append \"index.html\" to build the default asset path.\n      assetPath = joinUrlParts(assetPath, 'index.html');\n    }\n    const {\n      baseHref\n    } = this.manifest;\n    // Check if the asset path starts with the base href and the base href is not (`/` or ``).\n    if (baseHref.length > 1 && assetPath.startsWith(baseHref)) {\n      // Remove the base href from the start of the asset path to align with server-asset expectations.\n      assetPath = assetPath.slice(baseHref.length);\n    }\n    return stripLeadingSlash(assetPath);\n  }\n  /**\n   * Runs the registered transform hooks on the given HTML content.\n   *\n   * @param html - The raw HTML content to be transformed.\n   * @param url - The URL associated with the HTML content, used for context during transformations.\n   * @param preload - An array of URLs representing the JavaScript resources to preload.\n   * @returns A promise that resolves to the transformed HTML string.\n   */\n  async runTransformsOnHtml(html, url, preload) {\n    if (this.hooks.has('html:transform:pre')) {\n      html = await this.hooks.run('html:transform:pre', {\n        html,\n        url\n      });\n    }\n    if (preload?.length) {\n      html = appendPreloadHintsToHtml(html, preload);\n    }\n    return html;\n  }\n  /**\n   * Serves the client-side version of the application.\n   * TODO(alanagius): Remove this method in version 22.\n   * @internal\n   */\n  async serveClientSidePage() {\n    const {\n      manifest: {\n        locale\n      },\n      assets\n    } = this;\n    const html = await assets.getServerAsset('index.csr.html').text();\n    return new Response(html, {\n      headers: new Headers({\n        'Content-Type': 'text/html;charset=UTF-8',\n        ...(locale !== undefined ? {\n          'Content-Language': locale\n        } : {})\n      })\n    });\n  }\n}\nlet angularServerApp;\n/**\n * Retrieves or creates an instance of `AngularServerApp`.\n * - If an instance of `AngularServerApp` already exists, it will return the existing one.\n * - If no instance exists, it will create a new one with the provided options.\n *\n * @param options Optional configuration options for the server application.\n *\n * @returns The existing or newly created instance of `AngularServerApp`.\n */\nfunction getOrCreateAngularServerApp(options) {\n  return angularServerApp ??= new AngularServerApp(options);\n}\n/**\n * Destroys the existing `AngularServerApp` instance, releasing associated resources and resetting the\n * reference to `undefined`.\n *\n * This function is primarily used to enable the recreation of the `AngularServerApp` instance,\n * typically when server configuration or application state needs to be refreshed.\n */\nfunction destroyAngularServerApp() {\n  if (typeof ngDevMode === 'undefined' || ngDevMode) {\n    // Need to clean up GENERATED_COMP_IDS map in `@angular/core`.\n    // Otherwise an incorrect component ID generation collision detected warning will be displayed in development.\n    // See: https://github.com/angular/angular-cli/issues/25924\n    _resetCompiledComponents();\n  }\n  angularServerApp = undefined;\n}\n/**\n * Appends module preload hints to an HTML string for specified JavaScript resources.\n * This function enhances the HTML by injecting `<link rel=\"modulepreload\">` elements\n * for each provided resource, allowing browsers to preload the specified JavaScript\n * modules for better performance.\n *\n * @param html - The original HTML string to which preload hints will be added.\n * @param preload - An array of URLs representing the JavaScript resources to preload.\n * @returns The modified HTML string with the preload hints injected before the closing `</body>` tag.\n *          If `</body>` is not found, the links are not added.\n */\nfunction appendPreloadHintsToHtml(html, preload) {\n  const bodyCloseIdx = html.lastIndexOf('</body>');\n  if (bodyCloseIdx === -1) {\n    return html;\n  }\n  // Note: Module preloads should be placed at the end before the closing body tag to avoid a performance penalty.\n  // Placing them earlier can cause the browser to prioritize downloading these modules\n  // over other critical page resources like images, CSS, and fonts.\n  return [html.slice(0, bodyCloseIdx), ...preload.map(val => `<link rel=\"modulepreload\" href=\"${val}\">`), html.slice(bodyCloseIdx)].join('\\n');\n}\n\n/**\n * Extracts a potential locale ID from a given URL based on the specified base path.\n *\n * This function parses the URL to locate a potential locale identifier that immediately\n * follows the base path segment in the URL's pathname. If the URL does not contain a valid\n * locale ID, an empty string is returned.\n *\n * @param url - The full URL from which to extract the locale ID.\n * @param basePath - The base path used as the reference point for extracting the locale ID.\n * @returns The extracted locale ID if present, or an empty string if no valid locale ID is found.\n *\n * @example\n * ```js\n * const url = new URL('https://example.com/base/en/page');\n * const basePath = '/base';\n * const localeId = getPotentialLocaleIdFromUrl(url, basePath);\n * console.log(localeId); // Output: 'en'\n * ```\n */\nfunction getPotentialLocaleIdFromUrl(url, basePath) {\n  const {\n    pathname\n  } = url;\n  // Move forward of the base path section.\n  let start = basePath.length;\n  if (pathname[start] === '/') {\n    start++;\n  }\n  // Find the next forward slash.\n  let end = pathname.indexOf('/', start);\n  if (end === -1) {\n    end = pathname.length;\n  }\n  // Extract the potential locale id.\n  return pathname.slice(start, end);\n}\n/**\n * Parses the `Accept-Language` header and returns a list of locale preferences with their respective quality values.\n *\n * The `Accept-Language` header is typically a comma-separated list of locales, with optional quality values\n * in the form of `q=<value>`. If no quality value is specified, a default quality of `1` is assumed.\n * Special case: if the header is `*`, it returns the default locale with a quality of `1`.\n *\n * @param header - The value of the `Accept-Language` header, typically a comma-separated list of locales\n *                  with optional quality values (e.g., `en-US;q=0.8,fr-FR;q=0.9`). If the header is `*`,\n *                  it represents a wildcard for any language, returning the default locale.\n *\n * @returns A `ReadonlyMap` where the key is the locale (e.g., `en-US`, `fr-FR`), and the value is\n *          the associated quality value (a number between 0 and 1). If no quality value is provided,\n *          a default of `1` is used.\n *\n * @example\n * ```js\n * parseLanguageHeader('en-US;q=0.8,fr-FR;q=0.9')\n * // returns new Map([['en-US', 0.8], ['fr-FR', 0.9]])\n\n * parseLanguageHeader('*')\n * // returns new Map([['*', 1]])\n * ```\n */\nfunction parseLanguageHeader(header) {\n  if (header === '*') {\n    return new Map([['*', 1]]);\n  }\n  const parsedValues = header.split(',').map(item => {\n    const [locale, qualityValue] = item.split(';', 2).map(v => v.trim());\n    let quality = qualityValue?.startsWith('q=') ? parseFloat(qualityValue.slice(2)) : undefined;\n    if (typeof quality !== 'number' || isNaN(quality) || quality < 0 || quality > 1) {\n      quality = 1; // Invalid quality value defaults to 1\n    }\n    return [locale, quality];\n  }).sort(([_localeA, qualityA], [_localeB, qualityB]) => qualityB - qualityA);\n  return new Map(parsedValues);\n}\n/**\n * Gets the preferred locale based on the highest quality value from the provided `Accept-Language` header\n * and the set of available locales.\n *\n * This function adheres to the HTTP `Accept-Language` header specification as defined in\n * [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-5.3.5), including:\n * - Case-insensitive matching of language tags.\n * - Quality value handling (e.g., `q=1`, `q=0.8`). If no quality value is provided, it defaults to `q=1`.\n * - Prefix matching (e.g., `en` matching `en-US` or `en-GB`).\n *\n * @param header - The `Accept-Language` header string to parse and evaluate. It may contain multiple\n *                 locales with optional quality values, for example: `'en-US;q=0.8,fr-FR;q=0.9'`.\n * @param supportedLocales - An array of supported locales (e.g., `['en-US', 'fr-FR']`),\n *                           representing the locales available in the application.\n * @returns The best matching locale from the supported languages, or `undefined` if no match is found.\n *\n * @example\n * ```js\n * getPreferredLocale('en-US;q=0.8,fr-FR;q=0.9', ['en-US', 'fr-FR', 'de-DE'])\n * // returns 'fr-FR'\n *\n * getPreferredLocale('en;q=0.9,fr-FR;q=0.8', ['en-US', 'fr-FR', 'de-DE'])\n * // returns 'en-US'\n *\n * getPreferredLocale('es-ES;q=0.7', ['en-US', 'fr-FR', 'de-DE'])\n * // returns undefined\n * ```\n */\nfunction getPreferredLocale(header, supportedLocales) {\n  if (supportedLocales.length < 2) {\n    return supportedLocales[0];\n  }\n  const parsedLocales = parseLanguageHeader(header);\n  // Handle edge cases:\n  // - No preferred locales provided.\n  // - Only one supported locale.\n  // - Wildcard preference.\n  if (parsedLocales.size === 0 || parsedLocales.size === 1 && parsedLocales.has('*')) {\n    return supportedLocales[0];\n  }\n  // Create a map for case-insensitive lookup of supported locales.\n  // Keys are normalized (lowercase) locale values, values are original casing.\n  const normalizedSupportedLocales = new Map();\n  for (const locale of supportedLocales) {\n    normalizedSupportedLocales.set(normalizeLocale(locale), locale);\n  }\n  // Iterate through parsed locales in descending order of quality.\n  let bestMatch;\n  const qualityZeroNormalizedLocales = new Set();\n  for (const [locale, quality] of parsedLocales) {\n    const normalizedLocale = normalizeLocale(locale);\n    if (quality === 0) {\n      qualityZeroNormalizedLocales.add(normalizedLocale);\n      continue; // Skip locales with quality value of 0.\n    }\n    // Exact match found.\n    if (normalizedSupportedLocales.has(normalizedLocale)) {\n      return normalizedSupportedLocales.get(normalizedLocale);\n    }\n    // If an exact match is not found, try prefix matching (e.g., \"en\" matches \"en-US\").\n    // Store the first prefix match encountered, as it has the highest quality value.\n    if (bestMatch !== undefined) {\n      continue;\n    }\n    const [languagePrefix] = normalizedLocale.split('-', 1);\n    for (const supportedLocale of normalizedSupportedLocales.keys()) {\n      if (supportedLocale.startsWith(languagePrefix)) {\n        bestMatch = normalizedSupportedLocales.get(supportedLocale);\n        break; // No need to continue searching for this locale.\n      }\n    }\n  }\n  if (bestMatch !== undefined) {\n    return bestMatch;\n  }\n  // Return the first locale that is not quality zero.\n  for (const [normalizedLocale, locale] of normalizedSupportedLocales) {\n    if (!qualityZeroNormalizedLocales.has(normalizedLocale)) {\n      return locale;\n    }\n  }\n}\n/**\n * Normalizes a locale string by converting it to lowercase.\n *\n * @param locale - The locale string to normalize.\n * @returns The normalized locale string in lowercase.\n *\n * @example\n * ```ts\n * const normalized = normalizeLocale('EN-US');\n * console.log(normalized); // Output: \"en-us\"\n * ```\n */\nfunction normalizeLocale(locale) {\n  return locale.toLowerCase();\n}\n\n/**\n * Angular server application engine.\n * Manages Angular server applications (including localized ones), handles rendering requests,\n * and optionally transforms index HTML before rendering.\n *\n * @remarks This class should be instantiated once and used as a singleton across the server-side\n * application to ensure consistent handling of rendering requests and resource management.\n *\n * @developerPreview\n */\nlet AngularAppEngine = /*#__PURE__*/(() => {\n  class AngularAppEngine {\n    /**\n     * A flag to enable or disable the rendering of prerendered routes.\n     *\n     * Typically used during development to avoid prerendering all routes ahead of time,\n     * allowing them to be rendered on the fly as requested.\n     *\n     * @private\n     */\n    static ɵallowStaticRouteRender = false;\n    /**\n     * Hooks for extending or modifying the behavior of the server application.\n     * These hooks are used by the Angular CLI when running the development server and\n     * provide extensibility points for the application lifecycle.\n     *\n     * @private\n     */\n    static ɵhooks = /* #__PURE__*/new Hooks();\n    /**\n     * The manifest for the server application.\n     */\n    manifest = getAngularAppEngineManifest();\n    /**\n     * A set of allowed hostnames for the server application.\n     */\n    allowedHosts;\n    /**\n     * A map of supported locales from the server application's manifest.\n     */\n    supportedLocales = Object.keys(this.manifest.supportedLocales);\n    /**\n     * A cache that holds entry points, keyed by their potential locale string.\n     */\n    entryPointsCache = new Map();\n    /**\n     * Creates a new instance of the Angular server application engine.\n     * @param options Options for the Angular server application engine.\n     */\n    constructor(options) {\n      this.allowedHosts = new Set([...(options?.allowedHosts ?? []), ...this.manifest.allowedHosts]);\n    }\n    /**\n     * Handles an incoming HTTP request by serving prerendered content, performing server-side rendering,\n     * or delivering a static file for client-side rendered routes based on the `RenderMode` setting.\n     *\n     * @param request - The HTTP request to handle.\n     * @param requestContext - Optional context for rendering, such as metadata associated with the request.\n     * @returns A promise that resolves to the resulting HTTP response object, or `null` if no matching Angular route is found.\n     *\n     * @remarks A request to `https://www.example.com/page/index.html` will serve or render the Angular route\n     * corresponding to `https://www.example.com/page`.\n     *\n     * @remarks\n     * To prevent potential Server-Side Request Forgery (SSRF), this function verifies the hostname\n     * of the `request.url` against a list of authorized hosts.\n     * If the hostname is not recognized and `allowedHosts` is not empty, a Client-Side Rendered (CSR) version of the\n     * page is returned otherwise a 400 Bad Request is returned.\n     * Resolution:\n     * Authorize your hostname by configuring `allowedHosts` in `angular.json` in:\n     * `projects.[project-name].architect.build.options.security.allowedHosts`.\n     * Alternatively, you pass it directly through the configuration options of `AngularAppEngine`.\n     *\n     * For more information see: https://angular.dev/best-practices/security#preventing-server-side-request-forgery-ssrf\n     */\n    async handle(request, requestContext) {\n      const allowedHost = this.allowedHosts;\n      try {\n        validateRequest(request, allowedHost);\n      } catch (error) {\n        return this.handleValidationError(error, request);\n      }\n      // Clone request with patched headers to prevent unallowed host header access.\n      const {\n        request: securedRequest,\n        onError: onHeaderValidationError\n      } = cloneRequestAndPatchHeaders(request, allowedHost);\n      const serverApp = await this.getAngularServerAppForRequest(securedRequest);\n      if (serverApp) {\n        return Promise.race([onHeaderValidationError.then(error => this.handleValidationError(error, securedRequest)), serverApp.handle(securedRequest, requestContext)]);\n      }\n      if (this.supportedLocales.length > 1) {\n        // Redirect to the preferred language if i18n is enabled.\n        return this.redirectBasedOnAcceptLanguage(request);\n      }\n      return null;\n    }\n    /**\n     * Handles requests for the base path when i18n is enabled.\n     * Redirects the user to a locale-specific path based on the `Accept-Language` header.\n     *\n     * @param request The incoming request.\n     * @returns A `Response` object with a 302 redirect, or `null` if i18n is not enabled\n     *          or the request is not for the base path.\n     */\n    redirectBasedOnAcceptLanguage(request) {\n      const {\n        basePath,\n        supportedLocales\n      } = this.manifest;\n      // If the request is not for the base path, it's not our responsibility to handle it.\n      const {\n        pathname\n      } = new URL(request.url);\n      if (pathname !== basePath) {\n        return null;\n      }\n      // For requests to the base path (typically '/'), attempt to extract the preferred locale\n      // from the 'Accept-Language' header.\n      const preferredLocale = getPreferredLocale(request.headers.get('Accept-Language') || '*', this.supportedLocales);\n      if (preferredLocale) {\n        const subPath = supportedLocales[preferredLocale];\n        if (subPath !== undefined) {\n          return new Response(null, {\n            status: 302,\n            // Use a 302 redirect as language preference may change.\n            headers: {\n              'Location': joinUrlParts(pathname, subPath),\n              'Vary': 'Accept-Language'\n            }\n          });\n        }\n      }\n      return null;\n    }\n    /**\n     * Retrieves the Angular server application instance for a given request.\n     *\n     * This method checks if the request URL corresponds to an Angular application entry point.\n     * If so, it initializes or retrieves an instance of the Angular server application for that entry point.\n     * Requests that resemble file requests (except for `/index.html`) are skipped.\n     *\n     * @param request - The incoming HTTP request object.\n     * @returns A promise that resolves to an `AngularServerApp` instance if a valid entry point is found,\n     * or `null` if no entry point matches the request URL.\n     */\n    async getAngularServerAppForRequest(request) {\n      // Skip if the request looks like a file but not `/index.html`.\n      const url = new URL(request.url);\n      const entryPoint = await this.getEntryPointExportsForUrl(url);\n      if (!entryPoint) {\n        return null;\n      }\n      // Note: Using `instanceof` is not feasible here because `AngularServerApp` will\n      // be located in separate bundles, making `instanceof` checks unreliable.\n      const ɵgetOrCreateAngularServerApp = entryPoint.ɵgetOrCreateAngularServerApp;\n      const serverApp = ɵgetOrCreateAngularServerApp({\n        allowStaticRouteRender: AngularAppEngine.ɵallowStaticRouteRender,\n        hooks: AngularAppEngine.ɵhooks\n      });\n      return serverApp;\n    }\n    /**\n     * Retrieves the exports for a specific entry point, caching the result.\n     *\n     * @param potentialLocale - The locale string used to find the corresponding entry point.\n     * @returns A promise that resolves to the entry point exports or `undefined` if not found.\n     */\n    getEntryPointExports(potentialLocale) {\n      const cachedEntryPoint = this.entryPointsCache.get(potentialLocale);\n      if (cachedEntryPoint) {\n        return cachedEntryPoint;\n      }\n      const {\n        entryPoints\n      } = this.manifest;\n      const entryPoint = entryPoints[potentialLocale];\n      if (!entryPoint) {\n        return undefined;\n      }\n      const entryPointExports = entryPoint();\n      this.entryPointsCache.set(potentialLocale, entryPointExports);\n      return entryPointExports;\n    }\n    /**\n     * Retrieves the entry point for a given URL by determining the locale and mapping it to\n     * the appropriate application bundle.\n     *\n     * This method determines the appropriate entry point and locale for rendering the application by examining the URL.\n     * If there is only one entry point available, it is returned regardless of the URL.\n     * Otherwise, the method extracts a potential locale identifier from the URL and looks up the corresponding entry point.\n     *\n     * @param url - The URL of the request.\n     * @returns A promise that resolves to the entry point exports or `undefined` if not found.\n     */\n    getEntryPointExportsForUrl(url) {\n      const {\n        basePath\n      } = this.manifest;\n      if (this.supportedLocales.length === 1) {\n        return this.getEntryPointExports('');\n      }\n      const potentialLocale = getPotentialLocaleIdFromUrl(url, basePath);\n      return this.getEntryPointExports(potentialLocale) ?? this.getEntryPointExports('');\n    }\n    /**\n     * Handles validation errors by logging the error and returning an appropriate response.\n     *\n     * @param error - The validation error to handle.\n     * @param request - The HTTP request that caused the validation error.\n     * @returns A promise that resolves to a `Response` object with a 400 status code if allowed hosts are configured,\n     * or `null` if allowed hosts are not configured (in which case the request is served client-side).\n     */\n    async handleValidationError(error, request) {\n      const isAllowedHostConfigured = this.allowedHosts.size > 0;\n      const errorMessage = error.message;\n      // eslint-disable-next-line no-console\n      console.error(`ERROR: Bad Request (\"${request.url}\").\\n` + errorMessage + (isAllowedHostConfigured ? '' : '\\nFalling back to client side rendering. This will become a 400 Bad Request in a future major version.') + '\\n\\nFor more information, see https://angular.dev/best-practices/security#preventing-server-side-request-forgery-ssrf');\n      if (isAllowedHostConfigured) {\n        // Allowed hosts has been configured incorrectly, thus we can return a 400 bad request.\n        return new Response(errorMessage, {\n          status: 400,\n          statusText: 'Bad Request',\n          headers: {\n            'Content-Type': 'text/plain'\n          }\n        });\n      }\n      // Fallback to CSR to avoid a breaking change.\n      // TODO(alanagius): Return a 400 and remove this fallback in the next major version (v22).\n      const serverApp = await this.getAngularServerAppForRequest(request);\n      return serverApp?.serveClientSidePage() ?? null;\n    }\n  }\n  return AngularAppEngine;\n})();\n/**\n * Annotates a request handler function with metadata, marking it as a special\n * handler.\n *\n * @param handler - The request handler function to be annotated.\n * @returns The same handler function passed in, with metadata attached.\n *\n * @example\n * Example usage in a Hono application:\n * ```ts\n * const app = new Hono();\n * export default createRequestHandler(app.fetch);\n * ```\n *\n * @example\n * Example usage in a H3 application:\n * ```ts\n * const app = createApp();\n * const handler = toWebHandler(app);\n * export default createRequestHandler(handler);\n * ```\n * @developerPreview\n */\nfunction createRequestHandler(handler) {\n  handler['__ng_request_handler__'] = true;\n  return handler;\n}\nexport { AngularAppEngine, PrerenderFallback, RenderMode, createRequestHandler, provideServerRoutesConfig, provideServerRouting, withAppShell, InlineCriticalCssProcessor as ɵInlineCriticalCssProcessor, destroyAngularServerApp as ɵdestroyAngularServerApp, extractRoutesAndCreateRouteTree as ɵextractRoutesAndCreateRouteTree, getOrCreateAngularServerApp as ɵgetOrCreateAngularServerApp, getRoutesFromAngularRouterConfig as ɵgetRoutesFromAngularRouterConfig, setAngularAppEngineManifest as ɵsetAngularAppEngineManifest, setAngularAppManifest as ɵsetAngularAppManifest };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, ElementRef, Renderer2, viewChild, input, effect, Component, signal, ChangeDetectionStrategy, ViewEncapsulation, Type, computed } from '@angular/core';\n\n/**\n * Default icon configuration options.\n */\nconst _c0 = [\"contentRef\"];\nconst _c1 = [\"lucideIcon\", \"\"];\nconst _c2 = [[[\"title\"]], \"*\"];\nconst _c3 = [\"title\", \"*\"];\nfunction LucideIconBase_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c4 = [\"lucideAArrowDown\", \"\"];\nfunction LucideAArrowDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c5 = [\"lucideAccessibility\", \"\"];\nfunction LucideAccessibility_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c6 = [\"lucideAArrowUp\", \"\"];\nfunction LucideAArrowUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c7 = [\"lucideActivity\", \"\"];\nfunction LucideActivity_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c8 = [\"lucideAirplay\", \"\"];\nfunction LucideAirplay_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c9 = [\"lucideAirVent\", \"\"];\nfunction LucideAirVent_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c10 = [\"lucideALargeSmall\", \"\"];\nfunction LucideALargeSmall_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c11 = [\"lucideAlarmClockMinus\", \"\"];\nfunction LucideAlarmClockMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c12 = [\"lucideAlarmClockOff\", \"\"];\nfunction LucideAlarmClockOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c13 = [\"lucideAlarmClockPlus\", \"\"];\nfunction LucideAlarmClockPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c14 = [\"lucideAlarmClockCheck\", \"\"];\nfunction LucideAlarmClockCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c15 = [\"lucideAlarmSmoke\", \"\"];\nfunction LucideAlarmSmoke_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c16 = [\"lucideAlbum\", \"\"];\nfunction LucideAlbum_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c17 = [\"lucideAlignCenterHorizontal\", \"\"];\nfunction LucideAlignCenterHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c18 = [\"lucideAlignCenterVertical\", \"\"];\nfunction LucideAlignCenterVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c19 = [\"lucideAlignEndHorizontal\", \"\"];\nfunction LucideAlignEndHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c20 = [\"lucideAlignHorizontalDistributeCenter\", \"\"];\nfunction LucideAlignHorizontalDistributeCenter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c21 = [\"lucideAlignEndVertical\", \"\"];\nfunction LucideAlignEndVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c22 = [\"lucideAlignHorizontalDistributeEnd\", \"\"];\nfunction LucideAlignHorizontalDistributeEnd_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c23 = [\"lucideAlarmClock\", \"\"];\nfunction LucideAlarmClock_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c24 = [\"lucideAlignHorizontalJustifyEnd\", \"\"];\nfunction LucideAlignHorizontalJustifyEnd_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c25 = [\"lucideAlignHorizontalJustifyCenter\", \"\"];\nfunction LucideAlignHorizontalJustifyCenter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c26 = [\"lucideAlignHorizontalJustifyStart\", \"\"];\nfunction LucideAlignHorizontalJustifyStart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c27 = [\"lucideAlignHorizontalSpaceAround\", \"\"];\nfunction LucideAlignHorizontalSpaceAround_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c28 = [\"lucideAlignHorizontalSpaceBetween\", \"\"];\nfunction LucideAlignHorizontalSpaceBetween_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c29 = [\"lucideAlignHorizontalDistributeStart\", \"\"];\nfunction LucideAlignHorizontalDistributeStart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c30 = [\"lucideAlignStartHorizontal\", \"\"];\nfunction LucideAlignStartHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c31 = [\"lucideAlignVerticalDistributeCenter\", \"\"];\nfunction LucideAlignVerticalDistributeCenter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c32 = [\"lucideAlignVerticalDistributeEnd\", \"\"];\nfunction LucideAlignVerticalDistributeEnd_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c33 = [\"lucideAlignVerticalDistributeStart\", \"\"];\nfunction LucideAlignVerticalDistributeStart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c34 = [\"lucideAlignVerticalJustifyCenter\", \"\"];\nfunction LucideAlignVerticalJustifyCenter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c35 = [\"lucideAlignVerticalJustifyEnd\", \"\"];\nfunction LucideAlignVerticalJustifyEnd_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c36 = [\"lucideAlignVerticalJustifyStart\", \"\"];\nfunction LucideAlignVerticalJustifyStart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c37 = [\"lucideAlignVerticalSpaceAround\", \"\"];\nfunction LucideAlignVerticalSpaceAround_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c38 = [\"lucideAlignVerticalSpaceBetween\", \"\"];\nfunction LucideAlignVerticalSpaceBetween_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c39 = [\"lucideAmbulance\", \"\"];\nfunction LucideAmbulance_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c40 = [\"lucideAlignStartVertical\", \"\"];\nfunction LucideAlignStartVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c41 = [\"lucideAmpersand\", \"\"];\nfunction LucideAmpersand_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c42 = [\"lucideAmpersands\", \"\"];\nfunction LucideAmpersands_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c43 = [\"lucideAmphora\", \"\"];\nfunction LucideAmphora_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c44 = [\"lucideAngry\", \"\"];\nfunction LucideAngry_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c45 = [\"lucideAnnoyed\", \"\"];\nfunction LucideAnnoyed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c46 = [\"lucideAntenna\", \"\"];\nfunction LucideAntenna_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c47 = [\"lucideAnvil\", \"\"];\nfunction LucideAnvil_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c48 = [\"lucideAperture\", \"\"];\nfunction LucideAperture_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c49 = [\"lucideAnchor\", \"\"];\nfunction LucideAnchor_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c50 = [\"lucideAppWindow\", \"\"];\nfunction LucideAppWindow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c51 = [\"lucideApple\", \"\"];\nfunction LucideApple_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c52 = [\"lucideArchiveRestore\", \"\"];\nfunction LucideArchiveRestore_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c53 = [\"lucideArchiveX\", \"\"];\nfunction LucideArchiveX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c54 = [\"lucideArchive\", \"\"];\nfunction LucideArchive_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c55 = [\"lucideArmchair\", \"\"];\nfunction LucideArmchair_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c56 = [\"lucideAppWindowMac\", \"\"];\nfunction LucideAppWindowMac_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c57 = [\"lucideArrowBigLeftDash\", \"\"];\nfunction LucideArrowBigLeftDash_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c58 = [\"lucideArrowBigDownDash\", \"\"];\nfunction LucideArrowBigDownDash_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c59 = [\"lucideArrowBigLeft\", \"\"];\nfunction LucideArrowBigLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c60 = [\"lucideArrowBigRightDash\", \"\"];\nfunction LucideArrowBigRightDash_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c61 = [\"lucideArrowBigRight\", \"\"];\nfunction LucideArrowBigRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c62 = [\"lucideArrowBigUpDash\", \"\"];\nfunction LucideArrowBigUpDash_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c63 = [\"lucideArrowBigUp\", \"\"];\nfunction LucideArrowBigUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c64 = [\"lucideArrowDown10\", \"\"];\nfunction LucideArrowDown10_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c65 = [\"lucideArrowDown01\", \"\"];\nfunction LucideArrowDown01_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c66 = [\"lucideArrowDownFromLine\", \"\"];\nfunction LucideArrowDownFromLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c67 = [\"lucideArrowDownAZ\", \"\"];\nfunction LucideArrowDownAZ_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c68 = [\"lucideArrowDownLeft\", \"\"];\nfunction LucideArrowDownLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c69 = [\"lucideArrowDownNarrowWide\", \"\"];\nfunction LucideArrowDownNarrowWide_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c70 = [\"lucideArrowDownRight\", \"\"];\nfunction LucideArrowDownRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c71 = [\"lucideArrowDownToDot\", \"\"];\nfunction LucideArrowDownToDot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c72 = [\"lucideArrowDownToLine\", \"\"];\nfunction LucideArrowDownToLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c73 = [\"lucideArrowDownUp\", \"\"];\nfunction LucideArrowDownUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c74 = [\"lucideArrowDownWideNarrow\", \"\"];\nfunction LucideArrowDownWideNarrow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c75 = [\"lucideArrowDownZA\", \"\"];\nfunction LucideArrowDownZA_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c76 = [\"lucideArrowDown\", \"\"];\nfunction LucideArrowDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c77 = [\"lucideArrowLeftFromLine\", \"\"];\nfunction LucideArrowLeftFromLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c78 = [\"lucideArrowLeftRight\", \"\"];\nfunction LucideArrowLeftRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c79 = [\"lucideArrowLeftToLine\", \"\"];\nfunction LucideArrowLeftToLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c80 = [\"lucideArrowLeft\", \"\"];\nfunction LucideArrowLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c81 = [\"lucideArrowRightFromLine\", \"\"];\nfunction LucideArrowRightFromLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c82 = [\"lucideArrowRightLeft\", \"\"];\nfunction LucideArrowRightLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c83 = [\"lucideArrowRightToLine\", \"\"];\nfunction LucideArrowRightToLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c84 = [\"lucideArrowRight\", \"\"];\nfunction LucideArrowRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c85 = [\"lucideArrowUp01\", \"\"];\nfunction LucideArrowUp01_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c86 = [\"lucideArrowUp10\", \"\"];\nfunction LucideArrowUp10_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c87 = [\"lucideArrowUpAZ\", \"\"];\nfunction LucideArrowUpAZ_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c88 = [\"lucideArrowUpDown\", \"\"];\nfunction LucideArrowUpDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c89 = [\"lucideArrowUpFromDot\", \"\"];\nfunction LucideArrowUpFromDot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c90 = [\"lucideArrowUpFromLine\", \"\"];\nfunction LucideArrowUpFromLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c91 = [\"lucideArrowUpLeft\", \"\"];\nfunction LucideArrowUpLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c92 = [\"lucideArrowUpNarrowWide\", \"\"];\nfunction LucideArrowUpNarrowWide_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c93 = [\"lucideArrowUpRight\", \"\"];\nfunction LucideArrowUpRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c94 = [\"lucideArrowUpToLine\", \"\"];\nfunction LucideArrowUpToLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c95 = [\"lucideArrowUpWideNarrow\", \"\"];\nfunction LucideArrowUpWideNarrow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c96 = [\"lucideArrowUpZA\", \"\"];\nfunction LucideArrowUpZA_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c97 = [\"lucideArrowUp\", \"\"];\nfunction LucideArrowUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c98 = [\"lucideArrowsUpFromLine\", \"\"];\nfunction LucideArrowsUpFromLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c99 = [\"lucideAsterisk\", \"\"];\nfunction LucideAsterisk_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c100 = [\"lucideAtSign\", \"\"];\nfunction LucideAtSign_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c101 = [\"lucideAtom\", \"\"];\nfunction LucideAtom_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c102 = [\"lucideAudioLines\", \"\"];\nfunction LucideAudioLines_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c103 = [\"lucideAudioWaveform\", \"\"];\nfunction LucideAudioWaveform_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c104 = [\"lucideAward\", \"\"];\nfunction LucideAward_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c105 = [\"lucideAxe\", \"\"];\nfunction LucideAxe_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c106 = [\"lucideBaby\", \"\"];\nfunction LucideBaby_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c107 = [\"lucideAxis3d\", \"\"];\nfunction LucideAxis3d_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c108 = [\"lucideBackpack\", \"\"];\nfunction LucideBackpack_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c109 = [\"lucideBadgeAlert\", \"\"];\nfunction LucideBadgeAlert_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c110 = [\"lucideBadgeCent\", \"\"];\nfunction LucideBadgeCent_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c111 = [\"lucideBadgeCheck\", \"\"];\nfunction LucideBadgeCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c112 = [\"lucideBadgeDollarSign\", \"\"];\nfunction LucideBadgeDollarSign_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c113 = [\"lucideBadgeEuro\", \"\"];\nfunction LucideBadgeEuro_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c114 = [\"lucideBadgeIndianRupee\", \"\"];\nfunction LucideBadgeIndianRupee_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c115 = [\"lucideBadgeInfo\", \"\"];\nfunction LucideBadgeInfo_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c116 = [\"lucideArrowBigDown\", \"\"];\nfunction LucideArrowBigDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c117 = [\"lucideBadgePercent\", \"\"];\nfunction LucideBadgePercent_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c118 = [\"lucideBadgePlus\", \"\"];\nfunction LucideBadgePlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c119 = [\"lucideBadgePoundSterling\", \"\"];\nfunction LucideBadgePoundSterling_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c120 = [\"lucideBadgeQuestionMark\", \"\"];\nfunction LucideBadgeQuestionMark_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c121 = [\"lucideBadgeJapaneseYen\", \"\"];\nfunction LucideBadgeJapaneseYen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c122 = [\"lucideBadgeRussianRuble\", \"\"];\nfunction LucideBadgeRussianRuble_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c123 = [\"lucideBadgeSwissFranc\", \"\"];\nfunction LucideBadgeSwissFranc_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c124 = [\"lucideBadgeTurkishLira\", \"\"];\nfunction LucideBadgeTurkishLira_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c125 = [\"lucideBadgeX\", \"\"];\nfunction LucideBadgeX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c126 = [\"lucideBadge\", \"\"];\nfunction LucideBadge_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c127 = [\"lucideBaggageClaim\", \"\"];\nfunction LucideBaggageClaim_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c128 = [\"lucideBalloon\", \"\"];\nfunction LucideBalloon_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c129 = [\"lucideBan\", \"\"];\nfunction LucideBan_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c130 = [\"lucideBanana\", \"\"];\nfunction LucideBanana_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c131 = [\"lucideBandage\", \"\"];\nfunction LucideBandage_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c132 = [\"lucideBanknoteArrowDown\", \"\"];\nfunction LucideBanknoteArrowDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c133 = [\"lucideBanknoteArrowUp\", \"\"];\nfunction LucideBanknoteArrowUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c134 = [\"lucideBanknoteX\", \"\"];\nfunction LucideBanknoteX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c135 = [\"lucideBanknote\", \"\"];\nfunction LucideBanknote_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c136 = [\"lucideBarcode\", \"\"];\nfunction LucideBarcode_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c137 = [\"lucideBarrel\", \"\"];\nfunction LucideBarrel_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c138 = [\"lucideBaseline\", \"\"];\nfunction LucideBaseline_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c139 = [\"lucideBatteryCharging\", \"\"];\nfunction LucideBatteryCharging_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c140 = [\"lucideBath\", \"\"];\nfunction LucideBath_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c141 = [\"lucideBatteryFull\", \"\"];\nfunction LucideBatteryFull_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c142 = [\"lucideBatteryLow\", \"\"];\nfunction LucideBatteryLow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c143 = [\"lucideBatteryMedium\", \"\"];\nfunction LucideBatteryMedium_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c144 = [\"lucideBatteryPlus\", \"\"];\nfunction LucideBatteryPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c145 = [\"lucideBatteryWarning\", \"\"];\nfunction LucideBatteryWarning_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c146 = [\"lucideBattery\", \"\"];\nfunction LucideBattery_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c147 = [\"lucideBeaker\", \"\"];\nfunction LucideBeaker_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c148 = [\"lucideBeanOff\", \"\"];\nfunction LucideBeanOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c149 = [\"lucideBean\", \"\"];\nfunction LucideBean_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c150 = [\"lucideBedDouble\", \"\"];\nfunction LucideBedDouble_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c151 = [\"lucideBadgeMinus\", \"\"];\nfunction LucideBadgeMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c152 = [\"lucideBed\", \"\"];\nfunction LucideBed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c153 = [\"lucideBeefOff\", \"\"];\nfunction LucideBeefOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c154 = [\"lucideBeerOff\", \"\"];\nfunction LucideBeerOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c155 = [\"lucideBeer\", \"\"];\nfunction LucideBeer_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c156 = [\"lucideBellDot\", \"\"];\nfunction LucideBellDot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c157 = [\"lucideBeef\", \"\"];\nfunction LucideBeef_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c158 = [\"lucideBedSingle\", \"\"];\nfunction LucideBedSingle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c159 = [\"lucideBellMinus\", \"\"];\nfunction LucideBellMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c160 = [\"lucideBellOff\", \"\"];\nfunction LucideBellOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c161 = [\"lucideBellPlus\", \"\"];\nfunction LucideBellPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c162 = [\"lucideBellElectric\", \"\"];\nfunction LucideBellElectric_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c163 = [\"lucideBell\", \"\"];\nfunction LucideBell_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c164 = [\"lucideBetweenHorizontalEnd\", \"\"];\nfunction LucideBetweenHorizontalEnd_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c165 = [\"lucideBetweenHorizontalStart\", \"\"];\nfunction LucideBetweenHorizontalStart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c166 = [\"lucideBetweenVerticalEnd\", \"\"];\nfunction LucideBetweenVerticalEnd_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c167 = [\"lucideBetweenVerticalStart\", \"\"];\nfunction LucideBetweenVerticalStart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c168 = [\"lucideBike\", \"\"];\nfunction LucideBike_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c169 = [\"lucideBicepsFlexed\", \"\"];\nfunction LucideBicepsFlexed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c170 = [\"lucideBinary\", \"\"];\nfunction LucideBinary_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c171 = [\"lucideBinoculars\", \"\"];\nfunction LucideBinoculars_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c172 = [\"lucideBiohazard\", \"\"];\nfunction LucideBiohazard_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c173 = [\"lucideBird\", \"\"];\nfunction LucideBird_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c174 = [\"lucideBirdhouse\", \"\"];\nfunction LucideBirdhouse_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c175 = [\"lucideBitcoin\", \"\"];\nfunction LucideBitcoin_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c176 = [\"lucideBlend\", \"\"];\nfunction LucideBlend_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c177 = [\"lucideBlinds\", \"\"];\nfunction LucideBlinds_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c178 = [\"lucideBlocks\", \"\"];\nfunction LucideBlocks_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c179 = [\"lucideBluetoothConnected\", \"\"];\nfunction LucideBluetoothConnected_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c180 = [\"lucideBluetoothOff\", \"\"];\nfunction LucideBluetoothOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c181 = [\"lucideBluetoothSearching\", \"\"];\nfunction LucideBluetoothSearching_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c182 = [\"lucideBluetooth\", \"\"];\nfunction LucideBluetooth_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c183 = [\"lucideBold\", \"\"];\nfunction LucideBold_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c184 = [\"lucideBolt\", \"\"];\nfunction LucideBolt_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c185 = [\"lucideBone\", \"\"];\nfunction LucideBone_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c186 = [\"lucideBomb\", \"\"];\nfunction LucideBomb_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c187 = [\"lucideBookA\", \"\"];\nfunction LucideBookA_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c188 = [\"lucideBookAlert\", \"\"];\nfunction LucideBookAlert_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c189 = [\"lucideBookAudio\", \"\"];\nfunction LucideBookAudio_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c190 = [\"lucideBookCopy\", \"\"];\nfunction LucideBookCopy_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c191 = [\"lucideBellRing\", \"\"];\nfunction LucideBellRing_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c192 = [\"lucideBookDashed\", \"\"];\nfunction LucideBookDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c193 = [\"lucideBookDown\", \"\"];\nfunction LucideBookDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c194 = [\"lucideBookHeadphones\", \"\"];\nfunction LucideBookHeadphones_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c195 = [\"lucideBookHeart\", \"\"];\nfunction LucideBookHeart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c196 = [\"lucideBookImage\", \"\"];\nfunction LucideBookImage_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c197 = [\"lucideBookKey\", \"\"];\nfunction LucideBookKey_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c198 = [\"lucideBookLock\", \"\"];\nfunction LucideBookLock_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c199 = [\"lucideBookMarked\", \"\"];\nfunction LucideBookMarked_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c200 = [\"lucideBookMinus\", \"\"];\nfunction LucideBookMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c201 = [\"lucideBookOpenCheck\", \"\"];\nfunction LucideBookOpenCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c202 = [\"lucideBookOpenText\", \"\"];\nfunction LucideBookOpenText_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c203 = [\"lucideBookOpen\", \"\"];\nfunction LucideBookOpen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c204 = [\"lucideBookPlus\", \"\"];\nfunction LucideBookPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c205 = [\"lucideBookSearch\", \"\"];\nfunction LucideBookSearch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c206 = [\"lucideBookText\", \"\"];\nfunction LucideBookText_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c207 = [\"lucideBookType\", \"\"];\nfunction LucideBookType_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c208 = [\"lucideBookUp2\", \"\"];\nfunction LucideBookUp2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c209 = [\"lucideBookUser\", \"\"];\nfunction LucideBookUser_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c210 = [\"lucideBookUp\", \"\"];\nfunction LucideBookUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c211 = [\"lucideBookX\", \"\"];\nfunction LucideBookX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c212 = [\"lucideBook\", \"\"];\nfunction LucideBook_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c213 = [\"lucideBookmarkCheck\", \"\"];\nfunction LucideBookmarkCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c214 = [\"lucideBookmarkMinus\", \"\"];\nfunction LucideBookmarkMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c215 = [\"lucideBookmarkPlus\", \"\"];\nfunction LucideBookmarkPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c216 = [\"lucideBookmarkX\", \"\"];\nfunction LucideBookmarkX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c217 = [\"lucideBookmark\", \"\"];\nfunction LucideBookmark_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c218 = [\"lucideBoomBox\", \"\"];\nfunction LucideBoomBox_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c219 = [\"lucideBotMessageSquare\", \"\"];\nfunction LucideBotMessageSquare_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c220 = [\"lucideBotOff\", \"\"];\nfunction LucideBotOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c221 = [\"lucideBot\", \"\"];\nfunction LucideBot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c222 = [\"lucideBottleWine\", \"\"];\nfunction LucideBottleWine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c223 = [\"lucideBowArrow\", \"\"];\nfunction LucideBowArrow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c224 = [\"lucideBox\", \"\"];\nfunction LucideBox_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c225 = [\"lucideBoxes\", \"\"];\nfunction LucideBoxes_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c226 = [\"lucideBraces\", \"\"];\nfunction LucideBraces_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c227 = [\"lucideBrackets\", \"\"];\nfunction LucideBrackets_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c228 = [\"lucideBrainCircuit\", \"\"];\nfunction LucideBrainCircuit_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c229 = [\"lucideBrainCog\", \"\"];\nfunction LucideBrainCog_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c230 = [\"lucideBrain\", \"\"];\nfunction LucideBrain_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c231 = [\"lucideBrickWallFire\", \"\"];\nfunction LucideBrickWallFire_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c232 = [\"lucideBookCheck\", \"\"];\nfunction LucideBookCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c233 = [\"lucideBrickWall\", \"\"];\nfunction LucideBrickWall_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c234 = [\"lucideBriefcaseBusiness\", \"\"];\nfunction LucideBriefcaseBusiness_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c235 = [\"lucideBriefcaseConveyorBelt\", \"\"];\nfunction LucideBriefcaseConveyorBelt_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c236 = [\"lucideBriefcaseMedical\", \"\"];\nfunction LucideBriefcaseMedical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c237 = [\"lucideBringToFront\", \"\"];\nfunction LucideBringToFront_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c238 = [\"lucideBriefcase\", \"\"];\nfunction LucideBriefcase_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c239 = [\"lucideBrushCleaning\", \"\"];\nfunction LucideBrushCleaning_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c240 = [\"lucideBrush\", \"\"];\nfunction LucideBrush_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c241 = [\"lucideBrickWallShield\", \"\"];\nfunction LucideBrickWallShield_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c242 = [\"lucideBubbles\", \"\"];\nfunction LucideBubbles_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c243 = [\"lucideBugPlay\", \"\"];\nfunction LucideBugPlay_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c244 = [\"lucideBug\", \"\"];\nfunction LucideBug_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c245 = [\"lucideBuilding2\", \"\"];\nfunction LucideBuilding2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c246 = [\"lucideBuilding\", \"\"];\nfunction LucideBuilding_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c247 = [\"lucideBusFront\", \"\"];\nfunction LucideBusFront_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c248 = [\"lucideCableCar\", \"\"];\nfunction LucideCableCar_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c249 = [\"lucideBugOff\", \"\"];\nfunction LucideBugOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c250 = [\"lucideCable\", \"\"];\nfunction LucideCable_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c251 = [\"lucideBus\", \"\"];\nfunction LucideBus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c252 = [\"lucideCalculator\", \"\"];\nfunction LucideCalculator_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c253 = [\"lucideCakeSlice\", \"\"];\nfunction LucideCakeSlice_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c254 = [\"lucideCalendar1\", \"\"];\nfunction LucideCalendar1_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c255 = [\"lucideCalendarArrowDown\", \"\"];\nfunction LucideCalendarArrowDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c256 = [\"lucideCalendarArrowUp\", \"\"];\nfunction LucideCalendarArrowUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c257 = [\"lucideCalendarCheck2\", \"\"];\nfunction LucideCalendarCheck2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c258 = [\"lucideCalendarCheck\", \"\"];\nfunction LucideCalendarCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c259 = [\"lucideCalendarClock\", \"\"];\nfunction LucideCalendarClock_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c260 = [\"lucideCake\", \"\"];\nfunction LucideCake_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c261 = [\"lucideCalendarCog\", \"\"];\nfunction LucideCalendarCog_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c262 = [\"lucideCalendarFold\", \"\"];\nfunction LucideCalendarFold_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c263 = [\"lucideCalendarHeart\", \"\"];\nfunction LucideCalendarHeart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c264 = [\"lucideCalendarMinus2\", \"\"];\nfunction LucideCalendarMinus2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c265 = [\"lucideCalendarMinus\", \"\"];\nfunction LucideCalendarMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c266 = [\"lucideCalendarOff\", \"\"];\nfunction LucideCalendarOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c267 = [\"lucideCalendarDays\", \"\"];\nfunction LucideCalendarDays_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c268 = [\"lucideCalendarPlus\", \"\"];\nfunction LucideCalendarPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c269 = [\"lucideCalendarPlus2\", \"\"];\nfunction LucideCalendarPlus2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c270 = [\"lucideCalendarSearch\", \"\"];\nfunction LucideCalendarSearch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c271 = [\"lucideCalendarSync\", \"\"];\nfunction LucideCalendarSync_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c272 = [\"lucideCalendarRange\", \"\"];\nfunction LucideCalendarRange_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c273 = [\"lucideCalendarX2\", \"\"];\nfunction LucideCalendarX2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c274 = [\"lucideCalendarX\", \"\"];\nfunction LucideCalendarX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c275 = [\"lucideCalendar\", \"\"];\nfunction LucideCalendar_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c276 = [\"lucideCamera\", \"\"];\nfunction LucideCamera_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c277 = [\"lucideCameraOff\", \"\"];\nfunction LucideCameraOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c278 = [\"lucideCandyCane\", \"\"];\nfunction LucideCandyCane_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c279 = [\"lucideCandyOff\", \"\"];\nfunction LucideCandyOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c280 = [\"lucideCannabisOff\", \"\"];\nfunction LucideCannabisOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c281 = [\"lucideCandy\", \"\"];\nfunction LucideCandy_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c282 = [\"lucideCannabis\", \"\"];\nfunction LucideCannabis_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c283 = [\"lucideCaptions\", \"\"];\nfunction LucideCaptions_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c284 = [\"lucideCaptionsOff\", \"\"];\nfunction LucideCaptionsOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c285 = [\"lucideCalendars\", \"\"];\nfunction LucideCalendars_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c286 = [\"lucideCarFront\", \"\"];\nfunction LucideCarFront_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c287 = [\"lucideCarTaxiFront\", \"\"];\nfunction LucideCarTaxiFront_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c288 = [\"lucideCaravan\", \"\"];\nfunction LucideCaravan_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c289 = [\"lucideCardSim\", \"\"];\nfunction LucideCardSim_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c290 = [\"lucideCarrot\", \"\"];\nfunction LucideCarrot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c291 = [\"lucideCaseLower\", \"\"];\nfunction LucideCaseLower_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c292 = [\"lucideCaseSensitive\", \"\"];\nfunction LucideCaseSensitive_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c293 = [\"lucideCaseUpper\", \"\"];\nfunction LucideCaseUpper_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c294 = [\"lucideCassetteTape\", \"\"];\nfunction LucideCassetteTape_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c295 = [\"lucideCast\", \"\"];\nfunction LucideCast_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c296 = [\"lucideCastle\", \"\"];\nfunction LucideCastle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c297 = [\"lucideCat\", \"\"];\nfunction LucideCat_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c298 = [\"lucideCctvOff\", \"\"];\nfunction LucideCctvOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c299 = [\"lucideCctv\", \"\"];\nfunction LucideCctv_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c300 = [\"lucideChartArea\", \"\"];\nfunction LucideChartArea_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c301 = [\"lucideChartBarBig\", \"\"];\nfunction LucideChartBarBig_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c302 = [\"lucideChartBarDecreasing\", \"\"];\nfunction LucideChartBarDecreasing_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c303 = [\"lucideChartBarIncreasing\", \"\"];\nfunction LucideChartBarIncreasing_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c304 = [\"lucideChartBarStacked\", \"\"];\nfunction LucideChartBarStacked_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c305 = [\"lucideChartBar\", \"\"];\nfunction LucideChartBar_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c306 = [\"lucideChartCandlestick\", \"\"];\nfunction LucideChartCandlestick_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c307 = [\"lucideChartColumnBig\", \"\"];\nfunction LucideChartColumnBig_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c308 = [\"lucideChartColumnDecreasing\", \"\"];\nfunction LucideChartColumnDecreasing_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c309 = [\"lucideChartColumnIncreasing\", \"\"];\nfunction LucideChartColumnIncreasing_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c310 = [\"lucideChartColumnStacked\", \"\"];\nfunction LucideChartColumnStacked_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c311 = [\"lucideCar\", \"\"];\nfunction LucideCar_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c312 = [\"lucideChartColumn\", \"\"];\nfunction LucideChartColumn_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c313 = [\"lucideChartLine\", \"\"];\nfunction LucideChartLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c314 = [\"lucideChartNetwork\", \"\"];\nfunction LucideChartNetwork_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c315 = [\"lucideChartNoAxesColumnDecreasing\", \"\"];\nfunction LucideChartNoAxesColumnDecreasing_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c316 = [\"lucideChartNoAxesColumnIncreasing\", \"\"];\nfunction LucideChartNoAxesColumnIncreasing_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c317 = [\"lucideChartNoAxesColumn\", \"\"];\nfunction LucideChartNoAxesColumn_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c318 = [\"lucideChartNoAxesCombined\", \"\"];\nfunction LucideChartNoAxesCombined_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c319 = [\"lucideChartNoAxesGantt\", \"\"];\nfunction LucideChartNoAxesGantt_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c320 = [\"lucideChartPie\", \"\"];\nfunction LucideChartPie_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c321 = [\"lucideChartScatter\", \"\"];\nfunction LucideChartScatter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c322 = [\"lucideChartSpline\", \"\"];\nfunction LucideChartSpline_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c323 = [\"lucideCheckCheck\", \"\"];\nfunction LucideCheckCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c324 = [\"lucideCheckLine\", \"\"];\nfunction LucideCheckLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c325 = [\"lucideCheck\", \"\"];\nfunction LucideCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c326 = [\"lucideChefHat\", \"\"];\nfunction LucideChefHat_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c327 = [\"lucideCherry\", \"\"];\nfunction LucideCherry_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c328 = [\"lucideChessBishop\", \"\"];\nfunction LucideChessBishop_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c329 = [\"lucideChessKing\", \"\"];\nfunction LucideChessKing_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c330 = [\"lucideChessKnight\", \"\"];\nfunction LucideChessKnight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c331 = [\"lucideChessPawn\", \"\"];\nfunction LucideChessPawn_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c332 = [\"lucideChessQueen\", \"\"];\nfunction LucideChessQueen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c333 = [\"lucideChessRook\", \"\"];\nfunction LucideChessRook_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c334 = [\"lucideChevronDown\", \"\"];\nfunction LucideChevronDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c335 = [\"lucideChevronLast\", \"\"];\nfunction LucideChevronLast_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c336 = [\"lucideChevronLeft\", \"\"];\nfunction LucideChevronLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c337 = [\"lucideChevronFirst\", \"\"];\nfunction LucideChevronFirst_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c338 = [\"lucideChevronRight\", \"\"];\nfunction LucideChevronRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c339 = [\"lucideChevronUp\", \"\"];\nfunction LucideChevronUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c340 = [\"lucideChevronsDownUp\", \"\"];\nfunction LucideChevronsDownUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c341 = [\"lucideChevronsDown\", \"\"];\nfunction LucideChevronsDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c342 = [\"lucideChevronsLeftRightEllipsis\", \"\"];\nfunction LucideChevronsLeftRightEllipsis_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c343 = [\"lucideChevronsLeftRight\", \"\"];\nfunction LucideChevronsLeftRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c344 = [\"lucideChevronsLeft\", \"\"];\nfunction LucideChevronsLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c345 = [\"lucideChevronsRightLeft\", \"\"];\nfunction LucideChevronsRightLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c346 = [\"lucideChevronsRight\", \"\"];\nfunction LucideChevronsRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c347 = [\"lucideChevronsUpDown\", \"\"];\nfunction LucideChevronsUpDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c348 = [\"lucideChevronsUp\", \"\"];\nfunction LucideChevronsUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c349 = [\"lucideCigaretteOff\", \"\"];\nfunction LucideCigaretteOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c350 = [\"lucideChurch\", \"\"];\nfunction LucideChurch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c351 = [\"lucideCigarette\", \"\"];\nfunction LucideCigarette_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c352 = [\"lucideCircleAlert\", \"\"];\nfunction LucideCircleAlert_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c353 = [\"lucideCircleArrowDown\", \"\"];\nfunction LucideCircleArrowDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c354 = [\"lucideCircleArrowLeft\", \"\"];\nfunction LucideCircleArrowLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c355 = [\"lucideCircleArrowOutDownLeft\", \"\"];\nfunction LucideCircleArrowOutDownLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c356 = [\"lucideCircleArrowOutDownRight\", \"\"];\nfunction LucideCircleArrowOutDownRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c357 = [\"lucideCircleArrowOutUpLeft\", \"\"];\nfunction LucideCircleArrowOutUpLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c358 = [\"lucideCircleArrowOutUpRight\", \"\"];\nfunction LucideCircleArrowOutUpRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c359 = [\"lucideCircleArrowRight\", \"\"];\nfunction LucideCircleArrowRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c360 = [\"lucideCircleArrowUp\", \"\"];\nfunction LucideCircleArrowUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c361 = [\"lucideCircleCheckBig\", \"\"];\nfunction LucideCircleCheckBig_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c362 = [\"lucideCircleCheck\", \"\"];\nfunction LucideCircleCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c363 = [\"lucideCircleChevronDown\", \"\"];\nfunction LucideCircleChevronDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c364 = [\"lucideCircleChevronLeft\", \"\"];\nfunction LucideCircleChevronLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c365 = [\"lucideCircleChevronRight\", \"\"];\nfunction LucideCircleChevronRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c366 = [\"lucideCircleChevronUp\", \"\"];\nfunction LucideCircleChevronUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c367 = [\"lucideCircleDashed\", \"\"];\nfunction LucideCircleDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c368 = [\"lucideCircleDivide\", \"\"];\nfunction LucideCircleDivide_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c369 = [\"lucideCircleDollarSign\", \"\"];\nfunction LucideCircleDollarSign_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c370 = [\"lucideCircleDotDashed\", \"\"];\nfunction LucideCircleDotDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c371 = [\"lucideCircleDot\", \"\"];\nfunction LucideCircleDot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c372 = [\"lucideCircleEllipsis\", \"\"];\nfunction LucideCircleEllipsis_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c373 = [\"lucideCircleEqual\", \"\"];\nfunction LucideCircleEqual_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c374 = [\"lucideCircleFadingArrowUp\", \"\"];\nfunction LucideCircleFadingArrowUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c375 = [\"lucideCircleFadingPlus\", \"\"];\nfunction LucideCircleFadingPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c376 = [\"lucideCircleGauge\", \"\"];\nfunction LucideCircleGauge_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c377 = [\"lucideCircleMinus\", \"\"];\nfunction LucideCircleMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c378 = [\"lucideCircleOff\", \"\"];\nfunction LucideCircleOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c379 = [\"lucideCircleParkingOff\", \"\"];\nfunction LucideCircleParkingOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c380 = [\"lucideCircleParking\", \"\"];\nfunction LucideCircleParking_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c381 = [\"lucideCirclePause\", \"\"];\nfunction LucideCirclePause_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c382 = [\"lucideCirclePercent\", \"\"];\nfunction LucideCirclePercent_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c383 = [\"lucideCirclePile\", \"\"];\nfunction LucideCirclePile_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c384 = [\"lucideCirclePlay\", \"\"];\nfunction LucideCirclePlay_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c385 = [\"lucideCirclePlus\", \"\"];\nfunction LucideCirclePlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c386 = [\"lucideCirclePoundSterling\", \"\"];\nfunction LucideCirclePoundSterling_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c387 = [\"lucideCirclePower\", \"\"];\nfunction LucideCirclePower_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c388 = [\"lucideChartGantt\", \"\"];\nfunction LucideChartGantt_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c389 = [\"lucideCircleSlash2\", \"\"];\nfunction LucideCircleSlash2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c390 = [\"lucideCircleSlash\", \"\"];\nfunction LucideCircleSlash_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c391 = [\"lucideCircleSmall\", \"\"];\nfunction LucideCircleSmall_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c392 = [\"lucideCircleStar\", \"\"];\nfunction LucideCircleStar_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c393 = [\"lucideCircleStop\", \"\"];\nfunction LucideCircleStop_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c394 = [\"lucideCircleUserRound\", \"\"];\nfunction LucideCircleUserRound_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c395 = [\"lucideCircleUser\", \"\"];\nfunction LucideCircleUser_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c396 = [\"lucideCircleX\", \"\"];\nfunction LucideCircleX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c397 = [\"lucideCircle\", \"\"];\nfunction LucideCircle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c398 = [\"lucideCircuitBoard\", \"\"];\nfunction LucideCircuitBoard_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c399 = [\"lucideCitrus\", \"\"];\nfunction LucideCitrus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c400 = [\"lucideClapperboard\", \"\"];\nfunction LucideClapperboard_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c401 = [\"lucideClipboardCheck\", \"\"];\nfunction LucideClipboardCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c402 = [\"lucideClipboardClock\", \"\"];\nfunction LucideClipboardClock_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c403 = [\"lucideClipboardCopy\", \"\"];\nfunction LucideClipboardCopy_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c404 = [\"lucideClipboardList\", \"\"];\nfunction LucideClipboardList_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c405 = [\"lucideClipboardMinus\", \"\"];\nfunction LucideClipboardMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c406 = [\"lucideClipboardPaste\", \"\"];\nfunction LucideClipboardPaste_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c407 = [\"lucideClipboardPenLine\", \"\"];\nfunction LucideClipboardPenLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c408 = [\"lucideClipboardPen\", \"\"];\nfunction LucideClipboardPen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c409 = [\"lucideClipboardPlus\", \"\"];\nfunction LucideClipboardPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c410 = [\"lucideClipboardX\", \"\"];\nfunction LucideClipboardX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c411 = [\"lucideClipboardType\", \"\"];\nfunction LucideClipboardType_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c412 = [\"lucideClipboard\", \"\"];\nfunction LucideClipboard_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c413 = [\"lucideClock1\", \"\"];\nfunction LucideClock1_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c414 = [\"lucideClock10\", \"\"];\nfunction LucideClock10_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c415 = [\"lucideClock11\", \"\"];\nfunction LucideClock11_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c416 = [\"lucideClock12\", \"\"];\nfunction LucideClock12_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c417 = [\"lucideClock2\", \"\"];\nfunction LucideClock2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c418 = [\"lucideClock3\", \"\"];\nfunction LucideClock3_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c419 = [\"lucideClock5\", \"\"];\nfunction LucideClock5_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c420 = [\"lucideCircleQuestionMark\", \"\"];\nfunction LucideCircleQuestionMark_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c421 = [\"lucideClock7\", \"\"];\nfunction LucideClock7_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c422 = [\"lucideClock4\", \"\"];\nfunction LucideClock4_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c423 = [\"lucideClock8\", \"\"];\nfunction LucideClock8_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c424 = [\"lucideClock6\", \"\"];\nfunction LucideClock6_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c425 = [\"lucideClockAlert\", \"\"];\nfunction LucideClockAlert_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c426 = [\"lucideClockArrowDown\", \"\"];\nfunction LucideClockArrowDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c427 = [\"lucideClockArrowUp\", \"\"];\nfunction LucideClockArrowUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c428 = [\"lucideClockCheck\", \"\"];\nfunction LucideClockCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c429 = [\"lucideClockFading\", \"\"];\nfunction LucideClockFading_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c430 = [\"lucideClockPlus\", \"\"];\nfunction LucideClockPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c431 = [\"lucideClock\", \"\"];\nfunction LucideClock_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c432 = [\"lucideCloudAlert\", \"\"];\nfunction LucideCloudAlert_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c433 = [\"lucideClock9\", \"\"];\nfunction LucideClock9_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c434 = [\"lucideCloudBackup\", \"\"];\nfunction LucideCloudBackup_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c435 = [\"lucideClosedCaption\", \"\"];\nfunction LucideClosedCaption_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c436 = [\"lucideCloudCog\", \"\"];\nfunction LucideCloudCog_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c437 = [\"lucideCloudDownload\", \"\"];\nfunction LucideCloudDownload_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c438 = [\"lucideCloudDrizzle\", \"\"];\nfunction LucideCloudDrizzle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c439 = [\"lucideCloudFog\", \"\"];\nfunction LucideCloudFog_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c440 = [\"lucideCloudHail\", \"\"];\nfunction LucideCloudHail_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c441 = [\"lucideCloudLightning\", \"\"];\nfunction LucideCloudLightning_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c442 = [\"lucideCloudMoonRain\", \"\"];\nfunction LucideCloudMoonRain_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c443 = [\"lucideCloudMoon\", \"\"];\nfunction LucideCloudMoon_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c444 = [\"lucideCloudOff\", \"\"];\nfunction LucideCloudOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c445 = [\"lucideCloudRainWind\", \"\"];\nfunction LucideCloudRainWind_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c446 = [\"lucideCloudRain\", \"\"];\nfunction LucideCloudRain_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c447 = [\"lucideCloudSunRain\", \"\"];\nfunction LucideCloudSunRain_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c448 = [\"lucideCloudSnow\", \"\"];\nfunction LucideCloudSnow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c449 = [\"lucideCloudSun\", \"\"];\nfunction LucideCloudSun_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c450 = [\"lucideCloudSync\", \"\"];\nfunction LucideCloudSync_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c451 = [\"lucideCloudUpload\", \"\"];\nfunction LucideCloudUpload_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c452 = [\"lucideCloud\", \"\"];\nfunction LucideCloud_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c453 = [\"lucideCloudy\", \"\"];\nfunction LucideCloudy_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c454 = [\"lucideClover\", \"\"];\nfunction LucideClover_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c455 = [\"lucideClub\", \"\"];\nfunction LucideClub_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c456 = [\"lucideCodeXml\", \"\"];\nfunction LucideCodeXml_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c457 = [\"lucideCode\", \"\"];\nfunction LucideCode_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c458 = [\"lucideCoffee\", \"\"];\nfunction LucideCoffee_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c459 = [\"lucideCog\", \"\"];\nfunction LucideCog_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c460 = [\"lucideCoins\", \"\"];\nfunction LucideCoins_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c461 = [\"lucideColumns3Cog\", \"\"];\nfunction LucideColumns3Cog_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c462 = [\"lucideColumns2\", \"\"];\nfunction LucideColumns2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c463 = [\"lucideColumns3\", \"\"];\nfunction LucideColumns3_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c464 = [\"lucideColumns4\", \"\"];\nfunction LucideColumns4_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c465 = [\"lucideCommand\", \"\"];\nfunction LucideCommand_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c466 = [\"lucideCompass\", \"\"];\nfunction LucideCompass_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c467 = [\"lucideCombine\", \"\"];\nfunction LucideCombine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c468 = [\"lucideComponent\", \"\"];\nfunction LucideComponent_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c469 = [\"lucideComputer\", \"\"];\nfunction LucideComputer_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c470 = [\"lucideCone\", \"\"];\nfunction LucideCone_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c471 = [\"lucideCloudCheck\", \"\"];\nfunction LucideCloudCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c472 = [\"lucideConstruction\", \"\"];\nfunction LucideConstruction_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c473 = [\"lucideContactRound\", \"\"];\nfunction LucideContactRound_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c474 = [\"lucideContact\", \"\"];\nfunction LucideContact_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c475 = [\"lucideContrast\", \"\"];\nfunction LucideContrast_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c476 = [\"lucideContainer\", \"\"];\nfunction LucideContainer_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c477 = [\"lucideCookie\", \"\"];\nfunction LucideCookie_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c478 = [\"lucideCookingPot\", \"\"];\nfunction LucideCookingPot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c479 = [\"lucideCopyCheck\", \"\"];\nfunction LucideCopyCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c480 = [\"lucideCopyMinus\", \"\"];\nfunction LucideCopyMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c481 = [\"lucideConciergeBell\", \"\"];\nfunction LucideConciergeBell_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c482 = [\"lucideCopySlash\", \"\"];\nfunction LucideCopySlash_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c483 = [\"lucideCopyX\", \"\"];\nfunction LucideCopyX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c484 = [\"lucideCopy\", \"\"];\nfunction LucideCopy_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c485 = [\"lucideCopyleft\", \"\"];\nfunction LucideCopyleft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c486 = [\"lucideCopyright\", \"\"];\nfunction LucideCopyright_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c487 = [\"lucideCornerDownLeft\", \"\"];\nfunction LucideCornerDownLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c488 = [\"lucideCopyPlus\", \"\"];\nfunction LucideCopyPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c489 = [\"lucideCornerLeftDown\", \"\"];\nfunction LucideCornerLeftDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c490 = [\"lucideCornerLeftUp\", \"\"];\nfunction LucideCornerLeftUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c491 = [\"lucideCornerDownRight\", \"\"];\nfunction LucideCornerDownRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c492 = [\"lucideCornerRightDown\", \"\"];\nfunction LucideCornerRightDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c493 = [\"lucideCornerUpLeft\", \"\"];\nfunction LucideCornerUpLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c494 = [\"lucideCpu\", \"\"];\nfunction LucideCpu_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c495 = [\"lucideCornerUpRight\", \"\"];\nfunction LucideCornerUpRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c496 = [\"lucideCreativeCommons\", \"\"];\nfunction LucideCreativeCommons_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c497 = [\"lucideCreditCard\", \"\"];\nfunction LucideCreditCard_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c498 = [\"lucideCroissant\", \"\"];\nfunction LucideCroissant_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c499 = [\"lucideCrop\", \"\"];\nfunction LucideCrop_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c500 = [\"lucideCross\", \"\"];\nfunction LucideCross_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c501 = [\"lucideCrosshair\", \"\"];\nfunction LucideCrosshair_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c502 = [\"lucideCrown\", \"\"];\nfunction LucideCrown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c503 = [\"lucideCuboid\", \"\"];\nfunction LucideCuboid_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c504 = [\"lucideCupSoda\", \"\"];\nfunction LucideCupSoda_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c505 = [\"lucideCurrency\", \"\"];\nfunction LucideCurrency_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c506 = [\"lucideCylinder\", \"\"];\nfunction LucideCylinder_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c507 = [\"lucideDam\", \"\"];\nfunction LucideDam_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c508 = [\"lucideDatabaseBackup\", \"\"];\nfunction LucideDatabaseBackup_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c509 = [\"lucideDatabaseSearch\", \"\"];\nfunction LucideDatabaseSearch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c510 = [\"lucideDatabaseZap\", \"\"];\nfunction LucideDatabaseZap_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c511 = [\"lucideDatabase\", \"\"];\nfunction LucideDatabase_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c512 = [\"lucideDecimalsArrowLeft\", \"\"];\nfunction LucideDecimalsArrowLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c513 = [\"lucideDelete\", \"\"];\nfunction LucideDelete_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c514 = [\"lucideDecimalsArrowRight\", \"\"];\nfunction LucideDecimalsArrowRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c515 = [\"lucideDessert\", \"\"];\nfunction LucideDessert_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c516 = [\"lucideDiameter\", \"\"];\nfunction LucideDiameter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c517 = [\"lucideDiamondMinus\", \"\"];\nfunction LucideDiamondMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c518 = [\"lucideDiamondPercent\", \"\"];\nfunction LucideDiamondPercent_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c519 = [\"lucideDiamondPlus\", \"\"];\nfunction LucideDiamondPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c520 = [\"lucideDiamond\", \"\"];\nfunction LucideDiamond_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c521 = [\"lucideDice1\", \"\"];\nfunction LucideDice1_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c522 = [\"lucideDice2\", \"\"];\nfunction LucideDice2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c523 = [\"lucideDice3\", \"\"];\nfunction LucideDice3_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c524 = [\"lucideDice4\", \"\"];\nfunction LucideDice4_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c525 = [\"lucideDice5\", \"\"];\nfunction LucideDice5_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c526 = [\"lucideDice6\", \"\"];\nfunction LucideDice6_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c527 = [\"lucideDices\", \"\"];\nfunction LucideDices_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c528 = [\"lucideCornerRightUp\", \"\"];\nfunction LucideCornerRightUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c529 = [\"lucideDisc2\", \"\"];\nfunction LucideDisc2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c530 = [\"lucideDisc3\", \"\"];\nfunction LucideDisc3_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c531 = [\"lucideDiscAlbum\", \"\"];\nfunction LucideDiscAlbum_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c532 = [\"lucideDisc\", \"\"];\nfunction LucideDisc_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c533 = [\"lucideDivide\", \"\"];\nfunction LucideDivide_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c534 = [\"lucideDnaOff\", \"\"];\nfunction LucideDnaOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c535 = [\"lucideDna\", \"\"];\nfunction LucideDna_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c536 = [\"lucideDock\", \"\"];\nfunction LucideDock_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c537 = [\"lucideDog\", \"\"];\nfunction LucideDog_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c538 = [\"lucideDollarSign\", \"\"];\nfunction LucideDollarSign_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c539 = [\"lucideDonut\", \"\"];\nfunction LucideDonut_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c540 = [\"lucideDoorClosedLocked\", \"\"];\nfunction LucideDoorClosedLocked_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c541 = [\"lucideDoorClosed\", \"\"];\nfunction LucideDoorClosed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c542 = [\"lucideDoorOpen\", \"\"];\nfunction LucideDoorOpen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c543 = [\"lucideDot\", \"\"];\nfunction LucideDot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c544 = [\"lucideDownload\", \"\"];\nfunction LucideDownload_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c545 = [\"lucideDraftingCompass\", \"\"];\nfunction LucideDraftingCompass_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c546 = [\"lucideDrama\", \"\"];\nfunction LucideDrama_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c547 = [\"lucideDrill\", \"\"];\nfunction LucideDrill_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c548 = [\"lucideDrone\", \"\"];\nfunction LucideDrone_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c549 = [\"lucideDropletOff\", \"\"];\nfunction LucideDropletOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c550 = [\"lucideDroplet\", \"\"];\nfunction LucideDroplet_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c551 = [\"lucideDroplets\", \"\"];\nfunction LucideDroplets_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c552 = [\"lucideDrum\", \"\"];\nfunction LucideDrum_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c553 = [\"lucideDiff\", \"\"];\nfunction LucideDiff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c554 = [\"lucideDrumstick\", \"\"];\nfunction LucideDrumstick_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c555 = [\"lucideDumbbell\", \"\"];\nfunction LucideDumbbell_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c556 = [\"lucideEarOff\", \"\"];\nfunction LucideEarOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c557 = [\"lucideEar\", \"\"];\nfunction LucideEar_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c558 = [\"lucideEarth\", \"\"];\nfunction LucideEarth_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c559 = [\"lucideEclipse\", \"\"];\nfunction LucideEclipse_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c560 = [\"lucideEarthLock\", \"\"];\nfunction LucideEarthLock_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c561 = [\"lucideEggFried\", \"\"];\nfunction LucideEggFried_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c562 = [\"lucideEggOff\", \"\"];\nfunction LucideEggOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c563 = [\"lucideEllipse\", \"\"];\nfunction LucideEllipse_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c564 = [\"lucideEgg\", \"\"];\nfunction LucideEgg_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c565 = [\"lucideEllipsisVertical\", \"\"];\nfunction LucideEllipsisVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c566 = [\"lucideEqualApproximately\", \"\"];\nfunction LucideEqualApproximately_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c567 = [\"lucideEllipsis\", \"\"];\nfunction LucideEllipsis_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c568 = [\"lucideEraser\", \"\"];\nfunction LucideEraser_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c569 = [\"lucideEqualNot\", \"\"];\nfunction LucideEqualNot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c570 = [\"lucideEqual\", \"\"];\nfunction LucideEqual_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c571 = [\"lucideEthernetPort\", \"\"];\nfunction LucideEthernetPort_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c572 = [\"lucideEvCharger\", \"\"];\nfunction LucideEvCharger_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c573 = [\"lucideEuro\", \"\"];\nfunction LucideEuro_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c574 = [\"lucideExpand\", \"\"];\nfunction LucideExpand_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c575 = [\"lucideExternalLink\", \"\"];\nfunction LucideExternalLink_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c576 = [\"lucideEyeOff\", \"\"];\nfunction LucideEyeOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c577 = [\"lucideEyeClosed\", \"\"];\nfunction LucideEyeClosed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c578 = [\"lucideFactory\", \"\"];\nfunction LucideFactory_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c579 = [\"lucideEye\", \"\"];\nfunction LucideEye_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c580 = [\"lucideFan\", \"\"];\nfunction LucideFan_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c581 = [\"lucideFastForward\", \"\"];\nfunction LucideFastForward_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c582 = [\"lucideFeather\", \"\"];\nfunction LucideFeather_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c583 = [\"lucideFence\", \"\"];\nfunction LucideFence_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c584 = [\"lucideFerrisWheel\", \"\"];\nfunction LucideFerrisWheel_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c585 = [\"lucideFileArchive\", \"\"];\nfunction LucideFileArchive_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c586 = [\"lucideFileBadge\", \"\"];\nfunction LucideFileBadge_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c587 = [\"lucideFileAxis3d\", \"\"];\nfunction LucideFileAxis3d_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c588 = [\"lucideFileBox\", \"\"];\nfunction LucideFileBox_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c589 = [\"lucideFileBracesCorner\", \"\"];\nfunction LucideFileBracesCorner_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c590 = [\"lucideFileBraces\", \"\"];\nfunction LucideFileBraces_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c591 = [\"lucideFileChartColumnIncreasing\", \"\"];\nfunction LucideFileChartColumnIncreasing_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c592 = [\"lucideFileChartColumn\", \"\"];\nfunction LucideFileChartColumn_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c593 = [\"lucideFileChartLine\", \"\"];\nfunction LucideFileChartLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c594 = [\"lucideFileChartPie\", \"\"];\nfunction LucideFileChartPie_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c595 = [\"lucideFileCheckCorner\", \"\"];\nfunction LucideFileCheckCorner_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c596 = [\"lucideFileCheck\", \"\"];\nfunction LucideFileCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c597 = [\"lucideFileClock\", \"\"];\nfunction LucideFileClock_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c598 = [\"lucideFileCodeCorner\", \"\"];\nfunction LucideFileCodeCorner_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c599 = [\"lucideFileCode\", \"\"];\nfunction LucideFileCode_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c600 = [\"lucideFileDiff\", \"\"];\nfunction LucideFileDiff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c601 = [\"lucideFileCog\", \"\"];\nfunction LucideFileCog_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c602 = [\"lucideFileDigit\", \"\"];\nfunction LucideFileDigit_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c603 = [\"lucideFileExclamationPoint\", \"\"];\nfunction LucideFileExclamationPoint_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c604 = [\"lucideFileDown\", \"\"];\nfunction LucideFileDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c605 = [\"lucideFileHeadphone\", \"\"];\nfunction LucideFileHeadphone_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c606 = [\"lucideFileHeart\", \"\"];\nfunction LucideFileHeart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c607 = [\"lucideFileKey\", \"\"];\nfunction LucideFileKey_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c608 = [\"lucideFileLock\", \"\"];\nfunction LucideFileLock_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c609 = [\"lucideFileImage\", \"\"];\nfunction LucideFileImage_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c610 = [\"lucideFileInput\", \"\"];\nfunction LucideFileInput_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c611 = [\"lucideFileMinus\", \"\"];\nfunction LucideFileMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c612 = [\"lucideFileMinusCorner\", \"\"];\nfunction LucideFileMinusCorner_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c613 = [\"lucideFileMusic\", \"\"];\nfunction LucideFileMusic_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c614 = [\"lucideFilePenLine\", \"\"];\nfunction LucideFilePenLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c615 = [\"lucideFileOutput\", \"\"];\nfunction LucideFileOutput_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c616 = [\"lucideFilePen\", \"\"];\nfunction LucideFilePen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c617 = [\"lucideFilePlay\", \"\"];\nfunction LucideFilePlay_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c618 = [\"lucideFilePlusCorner\", \"\"];\nfunction LucideFilePlusCorner_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c619 = [\"lucideFilePlus\", \"\"];\nfunction LucideFilePlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c620 = [\"lucideFileScan\", \"\"];\nfunction LucideFileScan_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c621 = [\"lucideFileQuestionMark\", \"\"];\nfunction LucideFileQuestionMark_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c622 = [\"lucideFileSearchCorner\", \"\"];\nfunction LucideFileSearchCorner_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c623 = [\"lucideFileSignal\", \"\"];\nfunction LucideFileSignal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c624 = [\"lucideFileSliders\", \"\"];\nfunction LucideFileSliders_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c625 = [\"lucideFileSearch\", \"\"];\nfunction LucideFileSearch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c626 = [\"lucideFileSpreadsheet\", \"\"];\nfunction LucideFileSpreadsheet_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c627 = [\"lucideFileSymlink\", \"\"];\nfunction LucideFileSymlink_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c628 = [\"lucideFileTerminal\", \"\"];\nfunction LucideFileTerminal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c629 = [\"lucideFileStack\", \"\"];\nfunction LucideFileStack_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c630 = [\"lucideFileText\", \"\"];\nfunction LucideFileText_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c631 = [\"lucideFileType\", \"\"];\nfunction LucideFileType_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c632 = [\"lucideFileTypeCorner\", \"\"];\nfunction LucideFileTypeCorner_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c633 = [\"lucideFileUp\", \"\"];\nfunction LucideFileUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c634 = [\"lucideFileVideoCamera\", \"\"];\nfunction LucideFileVideoCamera_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c635 = [\"lucideFileXCorner\", \"\"];\nfunction LucideFileXCorner_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c636 = [\"lucideFileUser\", \"\"];\nfunction LucideFileUser_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c637 = [\"lucideFileVolume\", \"\"];\nfunction LucideFileVolume_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c638 = [\"lucideFiles\", \"\"];\nfunction LucideFiles_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c639 = [\"lucideFileX\", \"\"];\nfunction LucideFileX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c640 = [\"lucideFilm\", \"\"];\nfunction LucideFilm_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c641 = [\"lucideFile\", \"\"];\nfunction LucideFile_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c642 = [\"lucideFingerprintPattern\", \"\"];\nfunction LucideFingerprintPattern_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c643 = [\"lucideFireExtinguisher\", \"\"];\nfunction LucideFireExtinguisher_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c644 = [\"lucideFishSymbol\", \"\"];\nfunction LucideFishSymbol_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c645 = [\"lucideFishOff\", \"\"];\nfunction LucideFishOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c646 = [\"lucideFish\", \"\"];\nfunction LucideFish_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c647 = [\"lucideFishingHook\", \"\"];\nfunction LucideFishingHook_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c648 = [\"lucideFlagOff\", \"\"];\nfunction LucideFlagOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c649 = [\"lucideFishingRod\", \"\"];\nfunction LucideFishingRod_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c650 = [\"lucideFlagTriangleLeft\", \"\"];\nfunction LucideFlagTriangleLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c651 = [\"lucideFlagTriangleRight\", \"\"];\nfunction LucideFlagTriangleRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c652 = [\"lucideFlameKindling\", \"\"];\nfunction LucideFlameKindling_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c653 = [\"lucideFlame\", \"\"];\nfunction LucideFlame_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c654 = [\"lucideFlag\", \"\"];\nfunction LucideFlag_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c655 = [\"lucideFlashlightOff\", \"\"];\nfunction LucideFlashlightOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c656 = [\"lucideFlashlight\", \"\"];\nfunction LucideFlashlight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c657 = [\"lucideFlaskConicalOff\", \"\"];\nfunction LucideFlaskConicalOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c658 = [\"lucideFlipHorizontal2\", \"\"];\nfunction LucideFlipHorizontal2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c659 = [\"lucideFlaskConical\", \"\"];\nfunction LucideFlaskConical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c660 = [\"lucideFlaskRound\", \"\"];\nfunction LucideFlaskRound_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c661 = [\"lucideFlipVertical2\", \"\"];\nfunction LucideFlipVertical2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c662 = [\"lucideFlower2\", \"\"];\nfunction LucideFlower2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c663 = [\"lucideFocus\", \"\"];\nfunction LucideFocus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c664 = [\"lucideFlower\", \"\"];\nfunction LucideFlower_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c665 = [\"lucideFoldHorizontal\", \"\"];\nfunction LucideFoldHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c666 = [\"lucideFoldVertical\", \"\"];\nfunction LucideFoldVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c667 = [\"lucideFolderArchive\", \"\"];\nfunction LucideFolderArchive_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c668 = [\"lucideFolderCheck\", \"\"];\nfunction LucideFolderCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c669 = [\"lucideFolderClock\", \"\"];\nfunction LucideFolderClock_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c670 = [\"lucideFolderCog\", \"\"];\nfunction LucideFolderCog_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c671 = [\"lucideFolderDot\", \"\"];\nfunction LucideFolderDot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c672 = [\"lucideFolderCode\", \"\"];\nfunction LucideFolderCode_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c673 = [\"lucideFolderClosed\", \"\"];\nfunction LucideFolderClosed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c674 = [\"lucideFolderHeart\", \"\"];\nfunction LucideFolderHeart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c675 = [\"lucideFolderGit\", \"\"];\nfunction LucideFolderGit_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c676 = [\"lucideFolderDown\", \"\"];\nfunction LucideFolderDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c677 = [\"lucideFolderGit2\", \"\"];\nfunction LucideFolderGit2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c678 = [\"lucideFolderKanban\", \"\"];\nfunction LucideFolderKanban_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c679 = [\"lucideFolderKey\", \"\"];\nfunction LucideFolderKey_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c680 = [\"lucideFolderLock\", \"\"];\nfunction LucideFolderLock_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c681 = [\"lucideFolderInput\", \"\"];\nfunction LucideFolderInput_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c682 = [\"lucideFolderMinus\", \"\"];\nfunction LucideFolderMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c683 = [\"lucideFolderOpenDot\", \"\"];\nfunction LucideFolderOpenDot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c684 = [\"lucideFolderOpen\", \"\"];\nfunction LucideFolderOpen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c685 = [\"lucideFolderPen\", \"\"];\nfunction LucideFolderPen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c686 = [\"lucideFolderPlus\", \"\"];\nfunction LucideFolderPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c687 = [\"lucideFolderOutput\", \"\"];\nfunction LucideFolderOutput_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c688 = [\"lucideFolderSearch2\", \"\"];\nfunction LucideFolderSearch2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c689 = [\"lucideFolderSymlink\", \"\"];\nfunction LucideFolderSymlink_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c690 = [\"lucideFolderSearch\", \"\"];\nfunction LucideFolderSearch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c691 = [\"lucideFolderRoot\", \"\"];\nfunction LucideFolderRoot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c692 = [\"lucideFolderSync\", \"\"];\nfunction LucideFolderSync_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c693 = [\"lucideFolderTree\", \"\"];\nfunction LucideFolderTree_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c694 = [\"lucideFolderUp\", \"\"];\nfunction LucideFolderUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c695 = [\"lucideFolder\", \"\"];\nfunction LucideFolder_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c696 = [\"lucideFolderX\", \"\"];\nfunction LucideFolderX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c697 = [\"lucideFolders\", \"\"];\nfunction LucideFolders_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c698 = [\"lucideFootprints\", \"\"];\nfunction LucideFootprints_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c699 = [\"lucideForklift\", \"\"];\nfunction LucideForklift_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c700 = [\"lucideForward\", \"\"];\nfunction LucideForward_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c701 = [\"lucideForm\", \"\"];\nfunction LucideForm_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c702 = [\"lucideFrame\", \"\"];\nfunction LucideFrame_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c703 = [\"lucideFrown\", \"\"];\nfunction LucideFrown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c704 = [\"lucideFuel\", \"\"];\nfunction LucideFuel_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c705 = [\"lucideFullscreen\", \"\"];\nfunction LucideFullscreen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c706 = [\"lucideFunnelPlus\", \"\"];\nfunction LucideFunnelPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c707 = [\"lucideFunnel\", \"\"];\nfunction LucideFunnel_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c708 = [\"lucideGalleryHorizontalEnd\", \"\"];\nfunction LucideGalleryHorizontalEnd_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c709 = [\"lucideFunnelX\", \"\"];\nfunction LucideFunnelX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c710 = [\"lucideGalleryHorizontal\", \"\"];\nfunction LucideGalleryHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c711 = [\"lucideGalleryThumbnails\", \"\"];\nfunction LucideGalleryThumbnails_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c712 = [\"lucideGalleryVerticalEnd\", \"\"];\nfunction LucideGalleryVerticalEnd_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c713 = [\"lucideGalleryVertical\", \"\"];\nfunction LucideGalleryVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c714 = [\"lucideGamepad2\", \"\"];\nfunction LucideGamepad2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c715 = [\"lucideGauge\", \"\"];\nfunction LucideGauge_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c716 = [\"lucideGamepad\", \"\"];\nfunction LucideGamepad_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c717 = [\"lucideGamepadDirectional\", \"\"];\nfunction LucideGamepadDirectional_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c718 = [\"lucideGavel\", \"\"];\nfunction LucideGavel_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c719 = [\"lucideGem\", \"\"];\nfunction LucideGem_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c720 = [\"lucideGhost\", \"\"];\nfunction LucideGhost_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c721 = [\"lucideGift\", \"\"];\nfunction LucideGift_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c722 = [\"lucideGeorgianLari\", \"\"];\nfunction LucideGeorgianLari_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c723 = [\"lucideGitBranchPlus\", \"\"];\nfunction LucideGitBranchPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c724 = [\"lucideGitBranchMinus\", \"\"];\nfunction LucideGitBranchMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c725 = [\"lucideGitBranch\", \"\"];\nfunction LucideGitBranch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c726 = [\"lucideGitCommitVertical\", \"\"];\nfunction LucideGitCommitVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c727 = [\"lucideGitCommitHorizontal\", \"\"];\nfunction LucideGitCommitHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c728 = [\"lucideGitCompareArrows\", \"\"];\nfunction LucideGitCompareArrows_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c729 = [\"lucideGitFork\", \"\"];\nfunction LucideGitFork_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c730 = [\"lucideGitGraph\", \"\"];\nfunction LucideGitGraph_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c731 = [\"lucideGitCompare\", \"\"];\nfunction LucideGitCompare_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c732 = [\"lucideGitMergeConflict\", \"\"];\nfunction LucideGitMergeConflict_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c733 = [\"lucideGitPullRequestArrow\", \"\"];\nfunction LucideGitPullRequestArrow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c734 = [\"lucideGitPullRequestClosed\", \"\"];\nfunction LucideGitPullRequestClosed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c735 = [\"lucideGitMerge\", \"\"];\nfunction LucideGitMerge_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c736 = [\"lucideGitPullRequestCreateArrow\", \"\"];\nfunction LucideGitPullRequestCreateArrow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c737 = [\"lucideGitPullRequest\", \"\"];\nfunction LucideGitPullRequest_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c738 = [\"lucideGitPullRequestCreate\", \"\"];\nfunction LucideGitPullRequestCreate_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c739 = [\"lucideGitPullRequestDraft\", \"\"];\nfunction LucideGitPullRequestDraft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c740 = [\"lucideGlassWater\", \"\"];\nfunction LucideGlassWater_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c741 = [\"lucideGlobeLock\", \"\"];\nfunction LucideGlobeLock_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c742 = [\"lucideGlasses\", \"\"];\nfunction LucideGlasses_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c743 = [\"lucideGlobeOff\", \"\"];\nfunction LucideGlobeOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c744 = [\"lucideGlobeX\", \"\"];\nfunction LucideGlobeX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c745 = [\"lucideGoal\", \"\"];\nfunction LucideGoal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c746 = [\"lucideGpu\", \"\"];\nfunction LucideGpu_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c747 = [\"lucideGraduationCap\", \"\"];\nfunction LucideGraduationCap_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c748 = [\"lucideGlobe\", \"\"];\nfunction LucideGlobe_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c749 = [\"lucideGrid2x2Check\", \"\"];\nfunction LucideGrid2x2Check_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c750 = [\"lucideGrape\", \"\"];\nfunction LucideGrape_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c751 = [\"lucideGrid2x2Plus\", \"\"];\nfunction LucideGrid2x2Plus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c752 = [\"lucideGrid2x2X\", \"\"];\nfunction LucideGrid2x2X_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c753 = [\"lucideGrid3x2\", \"\"];\nfunction LucideGrid3x2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c754 = [\"lucideGrid2x2\", \"\"];\nfunction LucideGrid2x2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c755 = [\"lucideGrid3x3\", \"\"];\nfunction LucideGrid3x3_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c756 = [\"lucideGripHorizontal\", \"\"];\nfunction LucideGripHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c757 = [\"lucideGripVertical\", \"\"];\nfunction LucideGripVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c758 = [\"lucideGrip\", \"\"];\nfunction LucideGrip_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c759 = [\"lucideGroup\", \"\"];\nfunction LucideGroup_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c760 = [\"lucideHam\", \"\"];\nfunction LucideHam_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c761 = [\"lucideGuitar\", \"\"];\nfunction LucideGuitar_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c762 = [\"lucideHamburger\", \"\"];\nfunction LucideHamburger_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c763 = [\"lucideHammer\", \"\"];\nfunction LucideHammer_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c764 = [\"lucideHandGrab\", \"\"];\nfunction LucideHandGrab_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c765 = [\"lucideHandFist\", \"\"];\nfunction LucideHandFist_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c766 = [\"lucideHandCoins\", \"\"];\nfunction LucideHandCoins_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c767 = [\"lucideHandHeart\", \"\"];\nfunction LucideHandHeart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c768 = [\"lucideHandMetal\", \"\"];\nfunction LucideHandMetal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c769 = [\"lucideHandHelping\", \"\"];\nfunction LucideHandHelping_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c770 = [\"lucideHandbag\", \"\"];\nfunction LucideHandbag_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c771 = [\"lucideHandPlatter\", \"\"];\nfunction LucideHandPlatter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c772 = [\"lucideHand\", \"\"];\nfunction LucideHand_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c773 = [\"lucideHandshake\", \"\"];\nfunction LucideHandshake_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c774 = [\"lucideHardDriveDownload\", \"\"];\nfunction LucideHardDriveDownload_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c775 = [\"lucideHardDriveUpload\", \"\"];\nfunction LucideHardDriveUpload_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c776 = [\"lucideHardHat\", \"\"];\nfunction LucideHardHat_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c777 = [\"lucideHardDrive\", \"\"];\nfunction LucideHardDrive_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c778 = [\"lucideHash\", \"\"];\nfunction LucideHash_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c779 = [\"lucideHatGlasses\", \"\"];\nfunction LucideHatGlasses_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c780 = [\"lucideHd\", \"\"];\nfunction LucideHd_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c781 = [\"lucideHaze\", \"\"];\nfunction LucideHaze_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c782 = [\"lucideHdmiPort\", \"\"];\nfunction LucideHdmiPort_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c783 = [\"lucideHeading1\", \"\"];\nfunction LucideHeading1_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c784 = [\"lucideHeading2\", \"\"];\nfunction LucideHeading2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c785 = [\"lucideHeading3\", \"\"];\nfunction LucideHeading3_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c786 = [\"lucideHeading4\", \"\"];\nfunction LucideHeading4_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c787 = [\"lucideHeading5\", \"\"];\nfunction LucideHeading5_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c788 = [\"lucideHeading6\", \"\"];\nfunction LucideHeading6_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c789 = [\"lucideHeading\", \"\"];\nfunction LucideHeading_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c790 = [\"lucideHeadphoneOff\", \"\"];\nfunction LucideHeadphoneOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c791 = [\"lucideHeadphones\", \"\"];\nfunction LucideHeadphones_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c792 = [\"lucideHeadset\", \"\"];\nfunction LucideHeadset_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c793 = [\"lucideHeartCrack\", \"\"];\nfunction LucideHeartCrack_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c794 = [\"lucideHeartHandshake\", \"\"];\nfunction LucideHeartHandshake_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c795 = [\"lucideHeartMinus\", \"\"];\nfunction LucideHeartMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c796 = [\"lucideHeartOff\", \"\"];\nfunction LucideHeartOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c797 = [\"lucideHeartPulse\", \"\"];\nfunction LucideHeartPulse_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c798 = [\"lucideHeartPlus\", \"\"];\nfunction LucideHeartPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c799 = [\"lucideHeart\", \"\"];\nfunction LucideHeart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c800 = [\"lucideHexagon\", \"\"];\nfunction LucideHexagon_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c801 = [\"lucideHeater\", \"\"];\nfunction LucideHeater_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c802 = [\"lucideHelicopter\", \"\"];\nfunction LucideHelicopter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c803 = [\"lucideHighlighter\", \"\"];\nfunction LucideHighlighter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c804 = [\"lucideHistory\", \"\"];\nfunction LucideHistory_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c805 = [\"lucideHop\", \"\"];\nfunction LucideHop_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c806 = [\"lucideHospital\", \"\"];\nfunction LucideHospital_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c807 = [\"lucideHopOff\", \"\"];\nfunction LucideHopOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c808 = [\"lucideHotel\", \"\"];\nfunction LucideHotel_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c809 = [\"lucideHourglass\", \"\"];\nfunction LucideHourglass_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c810 = [\"lucideHouseHeart\", \"\"];\nfunction LucideHouseHeart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c811 = [\"lucideHousePlus\", \"\"];\nfunction LucideHousePlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c812 = [\"lucideHouseWifi\", \"\"];\nfunction LucideHouseWifi_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c813 = [\"lucideHousePlug\", \"\"];\nfunction LucideHousePlug_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c814 = [\"lucideHouse\", \"\"];\nfunction LucideHouse_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c815 = [\"lucideIceCreamBowl\", \"\"];\nfunction LucideIceCreamBowl_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c816 = [\"lucideIceCreamCone\", \"\"];\nfunction LucideIceCreamCone_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c817 = [\"lucideIdCardLanyard\", \"\"];\nfunction LucideIdCardLanyard_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c818 = [\"lucideIdCard\", \"\"];\nfunction LucideIdCard_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c819 = [\"lucideImageDown\", \"\"];\nfunction LucideImageDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c820 = [\"lucideImageOff\", \"\"];\nfunction LucideImageOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c821 = [\"lucideImagePlay\", \"\"];\nfunction LucideImagePlay_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c822 = [\"lucideImageMinus\", \"\"];\nfunction LucideImageMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c823 = [\"lucideImageUp\", \"\"];\nfunction LucideImageUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c824 = [\"lucideImagePlus\", \"\"];\nfunction LucideImagePlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c825 = [\"lucideImage\", \"\"];\nfunction LucideImage_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c826 = [\"lucideImages\", \"\"];\nfunction LucideImages_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c827 = [\"lucideImport\", \"\"];\nfunction LucideImport_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c828 = [\"lucideImageUpscale\", \"\"];\nfunction LucideImageUpscale_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c829 = [\"lucideInbox\", \"\"];\nfunction LucideInbox_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c830 = [\"lucideInfinity\", \"\"];\nfunction LucideInfinity_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c831 = [\"lucideIndianRupee\", \"\"];\nfunction LucideIndianRupee_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c832 = [\"lucideInfo\", \"\"];\nfunction LucideInfo_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c833 = [\"lucideInspectionPanel\", \"\"];\nfunction LucideInspectionPanel_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c834 = [\"lucideIterationCcw\", \"\"];\nfunction LucideIterationCcw_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c835 = [\"lucideIterationCw\", \"\"];\nfunction LucideIterationCw_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c836 = [\"lucideItalic\", \"\"];\nfunction LucideItalic_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c837 = [\"lucideJoystick\", \"\"];\nfunction LucideJoystick_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c838 = [\"lucideJapaneseYen\", \"\"];\nfunction LucideJapaneseYen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c839 = [\"lucideKanban\", \"\"];\nfunction LucideKanban_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c840 = [\"lucideKayak\", \"\"];\nfunction LucideKayak_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c841 = [\"lucideKeyRound\", \"\"];\nfunction LucideKeyRound_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c842 = [\"lucideKeySquare\", \"\"];\nfunction LucideKeySquare_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c843 = [\"lucideKey\", \"\"];\nfunction LucideKey_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c844 = [\"lucideKeyboardOff\", \"\"];\nfunction LucideKeyboardOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c845 = [\"lucideKeyboard\", \"\"];\nfunction LucideKeyboard_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c846 = [\"lucideKeyboardMusic\", \"\"];\nfunction LucideKeyboardMusic_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c847 = [\"lucideLampCeiling\", \"\"];\nfunction LucideLampCeiling_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c848 = [\"lucideLampDesk\", \"\"];\nfunction LucideLampDesk_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c849 = [\"lucideLampFloor\", \"\"];\nfunction LucideLampFloor_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c850 = [\"lucideLampWallDown\", \"\"];\nfunction LucideLampWallDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c851 = [\"lucideLampWallUp\", \"\"];\nfunction LucideLampWallUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c852 = [\"lucideLamp\", \"\"];\nfunction LucideLamp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c853 = [\"lucideLandmark\", \"\"];\nfunction LucideLandmark_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c854 = [\"lucideLandPlot\", \"\"];\nfunction LucideLandPlot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c855 = [\"lucideLanguages\", \"\"];\nfunction LucideLanguages_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c856 = [\"lucideLaptopMinimalCheck\", \"\"];\nfunction LucideLaptopMinimalCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c857 = [\"lucideLaptop\", \"\"];\nfunction LucideLaptop_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c858 = [\"lucideLaptopMinimal\", \"\"];\nfunction LucideLaptopMinimal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c859 = [\"lucideLassoSelect\", \"\"];\nfunction LucideLassoSelect_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c860 = [\"lucideLasso\", \"\"];\nfunction LucideLasso_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c861 = [\"lucideLayers2\", \"\"];\nfunction LucideLayers2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c862 = [\"lucideLaugh\", \"\"];\nfunction LucideLaugh_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c863 = [\"lucideLayersPlus\", \"\"];\nfunction LucideLayersPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c864 = [\"lucideLayoutGrid\", \"\"];\nfunction LucideLayoutGrid_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c865 = [\"lucideLayers\", \"\"];\nfunction LucideLayers_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c866 = [\"lucideLayoutDashboard\", \"\"];\nfunction LucideLayoutDashboard_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c867 = [\"lucideLayoutList\", \"\"];\nfunction LucideLayoutList_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c868 = [\"lucideLayoutPanelLeft\", \"\"];\nfunction LucideLayoutPanelLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c869 = [\"lucideLayoutTemplate\", \"\"];\nfunction LucideLayoutTemplate_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c870 = [\"lucideLayoutPanelTop\", \"\"];\nfunction LucideLayoutPanelTop_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c871 = [\"lucideLeaf\", \"\"];\nfunction LucideLeaf_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c872 = [\"lucideLeafyGreen\", \"\"];\nfunction LucideLeafyGreen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c873 = [\"lucideLectern\", \"\"];\nfunction LucideLectern_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c874 = [\"lucideLensConcave\", \"\"];\nfunction LucideLensConcave_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c875 = [\"lucideLensConvex\", \"\"];\nfunction LucideLensConvex_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c876 = [\"lucideLifeBuoy\", \"\"];\nfunction LucideLifeBuoy_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c877 = [\"lucideLibrary\", \"\"];\nfunction LucideLibrary_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c878 = [\"lucideLibraryBig\", \"\"];\nfunction LucideLibraryBig_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c879 = [\"lucideLigature\", \"\"];\nfunction LucideLigature_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c880 = [\"lucideLineDotRightHorizontal\", \"\"];\nfunction LucideLineDotRightHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c881 = [\"lucideLightbulb\", \"\"];\nfunction LucideLightbulb_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c882 = [\"lucideLightbulbOff\", \"\"];\nfunction LucideLightbulbOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c883 = [\"lucideLineSquiggle\", \"\"];\nfunction LucideLineSquiggle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c884 = [\"lucideLineStyle\", \"\"];\nfunction LucideLineStyle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c885 = [\"lucideLink2Off\", \"\"];\nfunction LucideLink2Off_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c886 = [\"lucideLink2\", \"\"];\nfunction LucideLink2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c887 = [\"lucideLink\", \"\"];\nfunction LucideLink_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c888 = [\"lucideListChecks\", \"\"];\nfunction LucideListChecks_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c889 = [\"lucideListChevronsDownUp\", \"\"];\nfunction LucideListChevronsDownUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c890 = [\"lucideListCheck\", \"\"];\nfunction LucideListCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c891 = [\"lucideListFilterPlus\", \"\"];\nfunction LucideListFilterPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c892 = [\"lucideListEnd\", \"\"];\nfunction LucideListEnd_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c893 = [\"lucideListCollapse\", \"\"];\nfunction LucideListCollapse_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c894 = [\"lucideListChevronsUpDown\", \"\"];\nfunction LucideListChevronsUpDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c895 = [\"lucideListIndentIncrease\", \"\"];\nfunction LucideListIndentIncrease_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c896 = [\"lucideListIndentDecrease\", \"\"];\nfunction LucideListIndentDecrease_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c897 = [\"lucideListMinus\", \"\"];\nfunction LucideListMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c898 = [\"lucideListFilter\", \"\"];\nfunction LucideListFilter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c899 = [\"lucideListOrdered\", \"\"];\nfunction LucideListOrdered_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c900 = [\"lucideListPlus\", \"\"];\nfunction LucideListPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c901 = [\"lucideListMusic\", \"\"];\nfunction LucideListMusic_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c902 = [\"lucideListRestart\", \"\"];\nfunction LucideListRestart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c903 = [\"lucideListStart\", \"\"];\nfunction LucideListStart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c904 = [\"lucideListTree\", \"\"];\nfunction LucideListTree_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c905 = [\"lucideListTodo\", \"\"];\nfunction LucideListTodo_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c906 = [\"lucideListVideo\", \"\"];\nfunction LucideListVideo_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c907 = [\"lucideListX\", \"\"];\nfunction LucideListX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c908 = [\"lucideList\", \"\"];\nfunction LucideList_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c909 = [\"lucideLoaderPinwheel\", \"\"];\nfunction LucideLoaderPinwheel_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c910 = [\"lucideLoaderCircle\", \"\"];\nfunction LucideLoaderCircle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c911 = [\"lucideLoader\", \"\"];\nfunction LucideLoader_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c912 = [\"lucideLocateFixed\", \"\"];\nfunction LucideLocateFixed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c913 = [\"lucideLocateOff\", \"\"];\nfunction LucideLocateOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c914 = [\"lucideLocate\", \"\"];\nfunction LucideLocate_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c915 = [\"lucideLockKeyhole\", \"\"];\nfunction LucideLockKeyhole_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c916 = [\"lucideLockKeyholeOpen\", \"\"];\nfunction LucideLockKeyholeOpen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c917 = [\"lucideLock\", \"\"];\nfunction LucideLock_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c918 = [\"lucideLockOpen\", \"\"];\nfunction LucideLockOpen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c919 = [\"lucideLollipop\", \"\"];\nfunction LucideLollipop_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c920 = [\"lucideLogIn\", \"\"];\nfunction LucideLogIn_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c921 = [\"lucideLogOut\", \"\"];\nfunction LucideLogOut_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c922 = [\"lucideLogs\", \"\"];\nfunction LucideLogs_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c923 = [\"lucideLuggage\", \"\"];\nfunction LucideLuggage_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c924 = [\"lucideMailCheck\", \"\"];\nfunction LucideMailCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c925 = [\"lucideMailMinus\", \"\"];\nfunction LucideMailMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c926 = [\"lucideMagnet\", \"\"];\nfunction LucideMagnet_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c927 = [\"lucideMailOpen\", \"\"];\nfunction LucideMailOpen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c928 = [\"lucideMailPlus\", \"\"];\nfunction LucideMailPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c929 = [\"lucideMailSearch\", \"\"];\nfunction LucideMailSearch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c930 = [\"lucideMailQuestionMark\", \"\"];\nfunction LucideMailQuestionMark_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c931 = [\"lucideMailWarning\", \"\"];\nfunction LucideMailWarning_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c932 = [\"lucideMail\", \"\"];\nfunction LucideMail_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c933 = [\"lucideMailbox\", \"\"];\nfunction LucideMailbox_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c934 = [\"lucideMailX\", \"\"];\nfunction LucideMailX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c935 = [\"lucideMails\", \"\"];\nfunction LucideMails_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c936 = [\"lucideMapPinCheck\", \"\"];\nfunction LucideMapPinCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c937 = [\"lucideMapMinus\", \"\"];\nfunction LucideMapMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c938 = [\"lucideMapPinHouse\", \"\"];\nfunction LucideMapPinHouse_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c939 = [\"lucideMapPinCheckInside\", \"\"];\nfunction LucideMapPinCheckInside_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c940 = [\"lucideMapPinMinusInside\", \"\"];\nfunction LucideMapPinMinusInside_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c941 = [\"lucideMapPinMinus\", \"\"];\nfunction LucideMapPinMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c942 = [\"lucideMapPinOff\", \"\"];\nfunction LucideMapPinOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c943 = [\"lucideMapPinPen\", \"\"];\nfunction LucideMapPinPen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c944 = [\"lucideMapPinPlus\", \"\"];\nfunction LucideMapPinPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c945 = [\"lucideMapPinPlusInside\", \"\"];\nfunction LucideMapPinPlusInside_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c946 = [\"lucideMapPinX\", \"\"];\nfunction LucideMapPinX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c947 = [\"lucideMapPinSearch\", \"\"];\nfunction LucideMapPinSearch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c948 = [\"lucideMapPin\", \"\"];\nfunction LucideMapPin_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c949 = [\"lucideMapPinned\", \"\"];\nfunction LucideMapPinned_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c950 = [\"lucideMapPinXInside\", \"\"];\nfunction LucideMapPinXInside_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c951 = [\"lucideMapPlus\", \"\"];\nfunction LucideMapPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c952 = [\"lucideMap\", \"\"];\nfunction LucideMap_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c953 = [\"lucideMarsStroke\", \"\"];\nfunction LucideMarsStroke_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c954 = [\"lucideMars\", \"\"];\nfunction LucideMars_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c955 = [\"lucideMartini\", \"\"];\nfunction LucideMartini_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c956 = [\"lucideMaximize2\", \"\"];\nfunction LucideMaximize2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c957 = [\"lucideMaximize\", \"\"];\nfunction LucideMaximize_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c958 = [\"lucideMegaphone\", \"\"];\nfunction LucideMegaphone_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c959 = [\"lucideMegaphoneOff\", \"\"];\nfunction LucideMegaphoneOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c960 = [\"lucideMeh\", \"\"];\nfunction LucideMeh_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c961 = [\"lucideMedal\", \"\"];\nfunction LucideMedal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c962 = [\"lucideMemoryStick\", \"\"];\nfunction LucideMemoryStick_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c963 = [\"lucideMenu\", \"\"];\nfunction LucideMenu_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c964 = [\"lucideMerge\", \"\"];\nfunction LucideMerge_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c965 = [\"lucideMessageCircleCheck\", \"\"];\nfunction LucideMessageCircleCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c966 = [\"lucideMessageCircleCode\", \"\"];\nfunction LucideMessageCircleCode_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c967 = [\"lucideMessageCircleDashed\", \"\"];\nfunction LucideMessageCircleDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c968 = [\"lucideMessageCircleHeart\", \"\"];\nfunction LucideMessageCircleHeart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c969 = [\"lucideMessageCircleMore\", \"\"];\nfunction LucideMessageCircleMore_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c970 = [\"lucideMessageCircleOff\", \"\"];\nfunction LucideMessageCircleOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c971 = [\"lucideMessageCirclePlus\", \"\"];\nfunction LucideMessageCirclePlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c972 = [\"lucideMessageCircleQuestionMark\", \"\"];\nfunction LucideMessageCircleQuestionMark_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c973 = [\"lucideMessageCircleX\", \"\"];\nfunction LucideMessageCircleX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c974 = [\"lucideMessageCircleReply\", \"\"];\nfunction LucideMessageCircleReply_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c975 = [\"lucideMessageCircleWarning\", \"\"];\nfunction LucideMessageCircleWarning_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c976 = [\"lucideMessageCircle\", \"\"];\nfunction LucideMessageCircle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c977 = [\"lucideMessageSquareDashed\", \"\"];\nfunction LucideMessageSquareDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c978 = [\"lucideMessageSquareCheck\", \"\"];\nfunction LucideMessageSquareCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c979 = [\"lucideMessageSquareCode\", \"\"];\nfunction LucideMessageSquareCode_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c980 = [\"lucideMessageSquareDiff\", \"\"];\nfunction LucideMessageSquareDiff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c981 = [\"lucideMessageSquareDot\", \"\"];\nfunction LucideMessageSquareDot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c982 = [\"lucideMessageSquareHeart\", \"\"];\nfunction LucideMessageSquareHeart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c983 = [\"lucideMessageSquareLock\", \"\"];\nfunction LucideMessageSquareLock_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c984 = [\"lucideMessageSquareMore\", \"\"];\nfunction LucideMessageSquareMore_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c985 = [\"lucideMessageSquarePlus\", \"\"];\nfunction LucideMessageSquarePlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c986 = [\"lucideMessageSquareQuote\", \"\"];\nfunction LucideMessageSquareQuote_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c987 = [\"lucideMessageSquareOff\", \"\"];\nfunction LucideMessageSquareOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c988 = [\"lucideMessageSquareReply\", \"\"];\nfunction LucideMessageSquareReply_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c989 = [\"lucideMessageSquareShare\", \"\"];\nfunction LucideMessageSquareShare_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c990 = [\"lucideMessageSquareWarning\", \"\"];\nfunction LucideMessageSquareWarning_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c991 = [\"lucideMessageSquareText\", \"\"];\nfunction LucideMessageSquareText_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c992 = [\"lucideMessageSquareX\", \"\"];\nfunction LucideMessageSquareX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c993 = [\"lucideMessagesSquare\", \"\"];\nfunction LucideMessagesSquare_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c994 = [\"lucideMessageSquare\", \"\"];\nfunction LucideMessageSquare_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c995 = [\"lucideMetronome\", \"\"];\nfunction LucideMetronome_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c996 = [\"lucideMicOff\", \"\"];\nfunction LucideMicOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c997 = [\"lucideMic\", \"\"];\nfunction LucideMic_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c998 = [\"lucideMicrochip\", \"\"];\nfunction LucideMicrochip_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c999 = [\"lucideMicVocal\", \"\"];\nfunction LucideMicVocal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1000 = [\"lucideMicroscope\", \"\"];\nfunction LucideMicroscope_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1001 = [\"lucideMilkOff\", \"\"];\nfunction LucideMilkOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1002 = [\"lucideMilestone\", \"\"];\nfunction LucideMilestone_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1003 = [\"lucideMicrowave\", \"\"];\nfunction LucideMicrowave_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1004 = [\"lucideMilk\", \"\"];\nfunction LucideMilk_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1005 = [\"lucideMinimize\", \"\"];\nfunction LucideMinimize_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1006 = [\"lucideMinimize2\", \"\"];\nfunction LucideMinimize2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1007 = [\"lucideMirrorRectangular\", \"\"];\nfunction LucideMirrorRectangular_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1008 = [\"lucideMinus\", \"\"];\nfunction LucideMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1009 = [\"lucideMirrorRound\", \"\"];\nfunction LucideMirrorRound_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1010 = [\"lucideMonitorCheck\", \"\"];\nfunction LucideMonitorCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1011 = [\"lucideMonitorCog\", \"\"];\nfunction LucideMonitorCog_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1012 = [\"lucideMonitorCloud\", \"\"];\nfunction LucideMonitorCloud_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1013 = [\"lucideMonitorDown\", \"\"];\nfunction LucideMonitorDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1014 = [\"lucideMonitorDot\", \"\"];\nfunction LucideMonitorDot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1015 = [\"lucideMonitorOff\", \"\"];\nfunction LucideMonitorOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1016 = [\"lucideMonitorPause\", \"\"];\nfunction LucideMonitorPause_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1017 = [\"lucideMonitorSmartphone\", \"\"];\nfunction LucideMonitorSmartphone_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1018 = [\"lucideMonitorPlay\", \"\"];\nfunction LucideMonitorPlay_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1019 = [\"lucideMonitorSpeaker\", \"\"];\nfunction LucideMonitorSpeaker_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1020 = [\"lucideMonitorUp\", \"\"];\nfunction LucideMonitorUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1021 = [\"lucideMonitorStop\", \"\"];\nfunction LucideMonitorStop_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1022 = [\"lucideMonitorX\", \"\"];\nfunction LucideMonitorX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1023 = [\"lucideMonitor\", \"\"];\nfunction LucideMonitor_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1024 = [\"lucideMoonStar\", \"\"];\nfunction LucideMoonStar_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1025 = [\"lucideMoon\", \"\"];\nfunction LucideMoon_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1026 = [\"lucideMotorbike\", \"\"];\nfunction LucideMotorbike_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1027 = [\"lucideMountainSnow\", \"\"];\nfunction LucideMountainSnow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1028 = [\"lucideMouseLeft\", \"\"];\nfunction LucideMouseLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1029 = [\"lucideMountain\", \"\"];\nfunction LucideMountain_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1030 = [\"lucideMouseOff\", \"\"];\nfunction LucideMouseOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1031 = [\"lucideMousePointer2Off\", \"\"];\nfunction LucideMousePointer2Off_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1032 = [\"lucideMousePointer2\", \"\"];\nfunction LucideMousePointer2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1033 = [\"lucideMousePointerClick\", \"\"];\nfunction LucideMousePointerClick_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1034 = [\"lucideMousePointerBan\", \"\"];\nfunction LucideMousePointerBan_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1035 = [\"lucideMousePointer\", \"\"];\nfunction LucideMousePointer_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1036 = [\"lucideMouse\", \"\"];\nfunction LucideMouse_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1037 = [\"lucideMouseRight\", \"\"];\nfunction LucideMouseRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1038 = [\"lucideMove3d\", \"\"];\nfunction LucideMove3d_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1039 = [\"lucideMoveDiagonal2\", \"\"];\nfunction LucideMoveDiagonal2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1040 = [\"lucideMoveDownRight\", \"\"];\nfunction LucideMoveDownRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1041 = [\"lucideMoveDownLeft\", \"\"];\nfunction LucideMoveDownLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1042 = [\"lucideMoveDown\", \"\"];\nfunction LucideMoveDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1043 = [\"lucideMoveDiagonal\", \"\"];\nfunction LucideMoveDiagonal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1044 = [\"lucideMoveHorizontal\", \"\"];\nfunction LucideMoveHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1045 = [\"lucideMoveLeft\", \"\"];\nfunction LucideMoveLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1046 = [\"lucideMoveRight\", \"\"];\nfunction LucideMoveRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1047 = [\"lucideMoveUpLeft\", \"\"];\nfunction LucideMoveUpLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1048 = [\"lucideMoveUpRight\", \"\"];\nfunction LucideMoveUpRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1049 = [\"lucideMoveUp\", \"\"];\nfunction LucideMoveUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1050 = [\"lucideMove\", \"\"];\nfunction LucideMove_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1051 = [\"lucideMoveVertical\", \"\"];\nfunction LucideMoveVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1052 = [\"lucideMusic2\", \"\"];\nfunction LucideMusic2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1053 = [\"lucideMusic3\", \"\"];\nfunction LucideMusic3_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1054 = [\"lucideMusic4\", \"\"];\nfunction LucideMusic4_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1055 = [\"lucideNavigation2Off\", \"\"];\nfunction LucideNavigation2Off_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1056 = [\"lucideMusic\", \"\"];\nfunction LucideMusic_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1057 = [\"lucideNavigation2\", \"\"];\nfunction LucideNavigation2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1058 = [\"lucideNavigationOff\", \"\"];\nfunction LucideNavigationOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1059 = [\"lucideNavigation\", \"\"];\nfunction LucideNavigation_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1060 = [\"lucideNetwork\", \"\"];\nfunction LucideNetwork_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1061 = [\"lucideNewspaper\", \"\"];\nfunction LucideNewspaper_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1062 = [\"lucideNonBinary\", \"\"];\nfunction LucideNonBinary_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1063 = [\"lucideNfc\", \"\"];\nfunction LucideNfc_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1064 = [\"lucideNotebookPen\", \"\"];\nfunction LucideNotebookPen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1065 = [\"lucideNotebookTabs\", \"\"];\nfunction LucideNotebookTabs_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1066 = [\"lucideNotebook\", \"\"];\nfunction LucideNotebook_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1067 = [\"lucideNotebookText\", \"\"];\nfunction LucideNotebookText_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1068 = [\"lucideNotepadTextDashed\", \"\"];\nfunction LucideNotepadTextDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1069 = [\"lucideNotepadText\", \"\"];\nfunction LucideNotepadText_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1070 = [\"lucideNutOff\", \"\"];\nfunction LucideNutOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1071 = [\"lucideNut\", \"\"];\nfunction LucideNut_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1072 = [\"lucideOctagonAlert\", \"\"];\nfunction LucideOctagonAlert_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1073 = [\"lucideOctagonX\", \"\"];\nfunction LucideOctagonX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1074 = [\"lucideOctagonPause\", \"\"];\nfunction LucideOctagonPause_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1075 = [\"lucideOctagonMinus\", \"\"];\nfunction LucideOctagonMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1076 = [\"lucideOctagon\", \"\"];\nfunction LucideOctagon_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1077 = [\"lucideOmega\", \"\"];\nfunction LucideOmega_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1078 = [\"lucideOption\", \"\"];\nfunction LucideOption_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1079 = [\"lucideOrbit\", \"\"];\nfunction LucideOrbit_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1080 = [\"lucideOrigami\", \"\"];\nfunction LucideOrigami_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1081 = [\"lucidePackageMinus\", \"\"];\nfunction LucidePackageMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1082 = [\"lucidePackageCheck\", \"\"];\nfunction LucidePackageCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1083 = [\"lucidePackage2\", \"\"];\nfunction LucidePackage2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1084 = [\"lucidePackageOpen\", \"\"];\nfunction LucidePackageOpen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1085 = [\"lucidePackageX\", \"\"];\nfunction LucidePackageX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1086 = [\"lucidePackageSearch\", \"\"];\nfunction LucidePackageSearch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1087 = [\"lucidePackagePlus\", \"\"];\nfunction LucidePackagePlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1088 = [\"lucidePackage\", \"\"];\nfunction LucidePackage_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1089 = [\"lucidePaintBucket\", \"\"];\nfunction LucidePaintBucket_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1090 = [\"lucidePaintRoller\", \"\"];\nfunction LucidePaintRoller_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1091 = [\"lucidePaintbrushVertical\", \"\"];\nfunction LucidePaintbrushVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1092 = [\"lucidePaintbrush\", \"\"];\nfunction LucidePaintbrush_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1093 = [\"lucidePalette\", \"\"];\nfunction LucidePalette_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1094 = [\"lucidePanelBottomClose\", \"\"];\nfunction LucidePanelBottomClose_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1095 = [\"lucidePanda\", \"\"];\nfunction LucidePanda_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1096 = [\"lucidePanelBottomDashed\", \"\"];\nfunction LucidePanelBottomDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1097 = [\"lucidePanelBottomOpen\", \"\"];\nfunction LucidePanelBottomOpen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1098 = [\"lucidePanelLeftClose\", \"\"];\nfunction LucidePanelLeftClose_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1099 = [\"lucidePanelBottom\", \"\"];\nfunction LucidePanelBottom_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1100 = [\"lucidePanelLeftDashed\", \"\"];\nfunction LucidePanelLeftDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1101 = [\"lucidePanelLeftOpen\", \"\"];\nfunction LucidePanelLeftOpen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1102 = [\"lucidePanelLeft\", \"\"];\nfunction LucidePanelLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1103 = [\"lucidePanelLeftRightDashed\", \"\"];\nfunction LucidePanelLeftRightDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1104 = [\"lucidePanelRightClose\", \"\"];\nfunction LucidePanelRightClose_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1105 = [\"lucidePanelRightOpen\", \"\"];\nfunction LucidePanelRightOpen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1106 = [\"lucidePanelRight\", \"\"];\nfunction LucidePanelRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1107 = [\"lucidePanelRightDashed\", \"\"];\nfunction LucidePanelRightDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1108 = [\"lucidePanelTopBottomDashed\", \"\"];\nfunction LucidePanelTopBottomDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1109 = [\"lucidePanelTopClose\", \"\"];\nfunction LucidePanelTopClose_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1110 = [\"lucidePanelTopOpen\", \"\"];\nfunction LucidePanelTopOpen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1111 = [\"lucidePanelTopDashed\", \"\"];\nfunction LucidePanelTopDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1112 = [\"lucidePanelTop\", \"\"];\nfunction LucidePanelTop_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1113 = [\"lucidePanelsRightBottom\", \"\"];\nfunction LucidePanelsRightBottom_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1114 = [\"lucidePanelsLeftBottom\", \"\"];\nfunction LucidePanelsLeftBottom_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1115 = [\"lucidePanelsTopLeft\", \"\"];\nfunction LucidePanelsTopLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1116 = [\"lucidePaperclip\", \"\"];\nfunction LucidePaperclip_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1117 = [\"lucideParentheses\", \"\"];\nfunction LucideParentheses_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1118 = [\"lucideParkingMeter\", \"\"];\nfunction LucideParkingMeter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1119 = [\"lucidePartyPopper\", \"\"];\nfunction LucidePartyPopper_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1120 = [\"lucidePause\", \"\"];\nfunction LucidePause_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1121 = [\"lucidePcCase\", \"\"];\nfunction LucidePcCase_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1122 = [\"lucidePawPrint\", \"\"];\nfunction LucidePawPrint_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1123 = [\"lucidePenLine\", \"\"];\nfunction LucidePenLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1124 = [\"lucidePenOff\", \"\"];\nfunction LucidePenOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1125 = [\"lucidePen\", \"\"];\nfunction LucidePen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1126 = [\"lucidePencilOff\", \"\"];\nfunction LucidePencilOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1127 = [\"lucidePenTool\", \"\"];\nfunction LucidePenTool_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1128 = [\"lucidePencilLine\", \"\"];\nfunction LucidePencilLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1129 = [\"lucidePencilRuler\", \"\"];\nfunction LucidePencilRuler_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1130 = [\"lucidePercent\", \"\"];\nfunction LucidePercent_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1131 = [\"lucidePentagon\", \"\"];\nfunction LucidePentagon_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1132 = [\"lucidePhilippinePeso\", \"\"];\nfunction LucidePhilippinePeso_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1133 = [\"lucidePencil\", \"\"];\nfunction LucidePencil_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1134 = [\"lucidePersonStanding\", \"\"];\nfunction LucidePersonStanding_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1135 = [\"lucidePhoneCall\", \"\"];\nfunction LucidePhoneCall_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1136 = [\"lucidePhoneIncoming\", \"\"];\nfunction LucidePhoneIncoming_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1137 = [\"lucidePhoneForwarded\", \"\"];\nfunction LucidePhoneForwarded_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1138 = [\"lucidePhoneMissed\", \"\"];\nfunction LucidePhoneMissed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1139 = [\"lucidePhoneOff\", \"\"];\nfunction LucidePhoneOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1140 = [\"lucidePhoneOutgoing\", \"\"];\nfunction LucidePhoneOutgoing_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1141 = [\"lucidePhone\", \"\"];\nfunction LucidePhone_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1142 = [\"lucidePi\", \"\"];\nfunction LucidePi_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1143 = [\"lucidePiano\", \"\"];\nfunction LucidePiano_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1144 = [\"lucidePickaxe\", \"\"];\nfunction LucidePickaxe_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1145 = [\"lucidePictureInPicture\", \"\"];\nfunction LucidePictureInPicture_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1146 = [\"lucidePictureInPicture2\", \"\"];\nfunction LucidePictureInPicture2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1147 = [\"lucidePiggyBank\", \"\"];\nfunction LucidePiggyBank_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1148 = [\"lucidePilcrow\", \"\"];\nfunction LucidePilcrow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1149 = [\"lucidePilcrowLeft\", \"\"];\nfunction LucidePilcrowLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1150 = [\"lucidePilcrowRight\", \"\"];\nfunction LucidePilcrowRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1151 = [\"lucidePillBottle\", \"\"];\nfunction LucidePillBottle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1152 = [\"lucidePinOff\", \"\"];\nfunction LucidePinOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1153 = [\"lucidePin\", \"\"];\nfunction LucidePin_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1154 = [\"lucidePill\", \"\"];\nfunction LucidePill_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1155 = [\"lucidePipette\", \"\"];\nfunction LucidePipette_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1156 = [\"lucidePizza\", \"\"];\nfunction LucidePizza_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1157 = [\"lucidePlaneLanding\", \"\"];\nfunction LucidePlaneLanding_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1158 = [\"lucidePlaneTakeoff\", \"\"];\nfunction LucidePlaneTakeoff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1159 = [\"lucidePlane\", \"\"];\nfunction LucidePlane_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1160 = [\"lucidePlug2\", \"\"];\nfunction LucidePlug2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1161 = [\"lucidePlay\", \"\"];\nfunction LucidePlay_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1162 = [\"lucidePlugZap\", \"\"];\nfunction LucidePlugZap_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1163 = [\"lucidePlug\", \"\"];\nfunction LucidePlug_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1164 = [\"lucidePocketKnife\", \"\"];\nfunction LucidePocketKnife_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1165 = [\"lucidePlus\", \"\"];\nfunction LucidePlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1166 = [\"lucidePodcast\", \"\"];\nfunction LucidePodcast_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1167 = [\"lucidePointerOff\", \"\"];\nfunction LucidePointerOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1168 = [\"lucidePointer\", \"\"];\nfunction LucidePointer_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1169 = [\"lucidePopsicle\", \"\"];\nfunction LucidePopsicle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1170 = [\"lucidePopcorn\", \"\"];\nfunction LucidePopcorn_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1171 = [\"lucidePoundSterling\", \"\"];\nfunction LucidePoundSterling_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1172 = [\"lucidePowerOff\", \"\"];\nfunction LucidePowerOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1173 = [\"lucidePower\", \"\"];\nfunction LucidePower_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1174 = [\"lucidePresentation\", \"\"];\nfunction LucidePresentation_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1175 = [\"lucidePrinterCheck\", \"\"];\nfunction LucidePrinterCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1176 = [\"lucidePrinterX\", \"\"];\nfunction LucidePrinterX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1177 = [\"lucidePrinter\", \"\"];\nfunction LucidePrinter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1178 = [\"lucideProjector\", \"\"];\nfunction LucideProjector_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1179 = [\"lucideProportions\", \"\"];\nfunction LucideProportions_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1180 = [\"lucideQrCode\", \"\"];\nfunction LucideQrCode_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1181 = [\"lucidePuzzle\", \"\"];\nfunction LucidePuzzle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1182 = [\"lucideQuote\", \"\"];\nfunction LucideQuote_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1183 = [\"lucidePyramid\", \"\"];\nfunction LucidePyramid_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1184 = [\"lucideRadar\", \"\"];\nfunction LucideRadar_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1185 = [\"lucideRadiation\", \"\"];\nfunction LucideRadiation_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1186 = [\"lucideRabbit\", \"\"];\nfunction LucideRabbit_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1187 = [\"lucideRadical\", \"\"];\nfunction LucideRadical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1188 = [\"lucideRadioOff\", \"\"];\nfunction LucideRadioOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1189 = [\"lucideRadioReceiver\", \"\"];\nfunction LucideRadioReceiver_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1190 = [\"lucideRadio\", \"\"];\nfunction LucideRadio_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1191 = [\"lucideRadioTower\", \"\"];\nfunction LucideRadioTower_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1192 = [\"lucideRadius\", \"\"];\nfunction LucideRadius_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1193 = [\"lucideRainbow\", \"\"];\nfunction LucideRainbow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1194 = [\"lucideReceiptCent\", \"\"];\nfunction LucideReceiptCent_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1195 = [\"lucideRat\", \"\"];\nfunction LucideRat_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1196 = [\"lucideRatio\", \"\"];\nfunction LucideRatio_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1197 = [\"lucideReceiptEuro\", \"\"];\nfunction LucideReceiptEuro_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1198 = [\"lucideReceiptIndianRupee\", \"\"];\nfunction LucideReceiptIndianRupee_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1199 = [\"lucideReceiptJapaneseYen\", \"\"];\nfunction LucideReceiptJapaneseYen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1200 = [\"lucideReceiptPoundSterling\", \"\"];\nfunction LucideReceiptPoundSterling_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1201 = [\"lucideReceiptRussianRuble\", \"\"];\nfunction LucideReceiptRussianRuble_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1202 = [\"lucideReceiptTurkishLira\", \"\"];\nfunction LucideReceiptTurkishLira_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1203 = [\"lucideReceiptText\", \"\"];\nfunction LucideReceiptText_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1204 = [\"lucideReceiptSwissFranc\", \"\"];\nfunction LucideReceiptSwissFranc_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1205 = [\"lucideReceipt\", \"\"];\nfunction LucideReceipt_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1206 = [\"lucideRectangleGoggles\", \"\"];\nfunction LucideRectangleGoggles_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1207 = [\"lucideRectangleCircle\", \"\"];\nfunction LucideRectangleCircle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1208 = [\"lucideRectangleEllipsis\", \"\"];\nfunction LucideRectangleEllipsis_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1209 = [\"lucideRectangleHorizontal\", \"\"];\nfunction LucideRectangleHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1210 = [\"lucideRectangleVertical\", \"\"];\nfunction LucideRectangleVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1211 = [\"lucideRecycle\", \"\"];\nfunction LucideRecycle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1212 = [\"lucideRedo2\", \"\"];\nfunction LucideRedo2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1213 = [\"lucideRedoDot\", \"\"];\nfunction LucideRedoDot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1214 = [\"lucideRedo\", \"\"];\nfunction LucideRedo_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1215 = [\"lucideRefreshCcw\", \"\"];\nfunction LucideRefreshCcw_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1216 = [\"lucideRefreshCcwDot\", \"\"];\nfunction LucideRefreshCcwDot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1217 = [\"lucideRefreshCwOff\", \"\"];\nfunction LucideRefreshCwOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1218 = [\"lucideRefrigerator\", \"\"];\nfunction LucideRefrigerator_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1219 = [\"lucideRegex\", \"\"];\nfunction LucideRegex_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1220 = [\"lucideRefreshCw\", \"\"];\nfunction LucideRefreshCw_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1221 = [\"lucideRemoveFormatting\", \"\"];\nfunction LucideRemoveFormatting_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1222 = [\"lucideRepeat1\", \"\"];\nfunction LucideRepeat1_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1223 = [\"lucideRepeat2\", \"\"];\nfunction LucideRepeat2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1224 = [\"lucideRepeat\", \"\"];\nfunction LucideRepeat_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1225 = [\"lucideReplaceAll\", \"\"];\nfunction LucideReplaceAll_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1226 = [\"lucideReply\", \"\"];\nfunction LucideReply_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1227 = [\"lucideReplace\", \"\"];\nfunction LucideReplace_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1228 = [\"lucideReplyAll\", \"\"];\nfunction LucideReplyAll_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1229 = [\"lucideRewind\", \"\"];\nfunction LucideRewind_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1230 = [\"lucideRocket\", \"\"];\nfunction LucideRocket_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1231 = [\"lucideRibbon\", \"\"];\nfunction LucideRibbon_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1232 = [\"lucideRoad\", \"\"];\nfunction LucideRoad_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1233 = [\"lucideRockingChair\", \"\"];\nfunction LucideRockingChair_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1234 = [\"lucideRose\", \"\"];\nfunction LucideRose_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1235 = [\"lucideRotate3d\", \"\"];\nfunction LucideRotate3d_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1236 = [\"lucideRollerCoaster\", \"\"];\nfunction LucideRollerCoaster_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1237 = [\"lucideRotateCwSquare\", \"\"];\nfunction LucideRotateCwSquare_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1238 = [\"lucideRotateCcw\", \"\"];\nfunction LucideRotateCcw_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1239 = [\"lucideRotateCcwKey\", \"\"];\nfunction LucideRotateCcwKey_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1240 = [\"lucideRotateCcwSquare\", \"\"];\nfunction LucideRotateCcwSquare_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1241 = [\"lucideRotateCw\", \"\"];\nfunction LucideRotateCw_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1242 = [\"lucideRouter\", \"\"];\nfunction LucideRouter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1243 = [\"lucideRouteOff\", \"\"];\nfunction LucideRouteOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1244 = [\"lucideRoute\", \"\"];\nfunction LucideRoute_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1245 = [\"lucideRows2\", \"\"];\nfunction LucideRows2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1246 = [\"lucideRss\", \"\"];\nfunction LucideRss_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1247 = [\"lucideRows3\", \"\"];\nfunction LucideRows3_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1248 = [\"lucideRulerDimensionLine\", \"\"];\nfunction LucideRulerDimensionLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1249 = [\"lucideRows4\", \"\"];\nfunction LucideRows4_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1250 = [\"lucideRussianRuble\", \"\"];\nfunction LucideRussianRuble_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1251 = [\"lucideRuler\", \"\"];\nfunction LucideRuler_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1252 = [\"lucideSailboat\", \"\"];\nfunction LucideSailboat_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1253 = [\"lucideSalad\", \"\"];\nfunction LucideSalad_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1254 = [\"lucideSandwich\", \"\"];\nfunction LucideSandwich_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1255 = [\"lucideSatelliteDish\", \"\"];\nfunction LucideSatelliteDish_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1256 = [\"lucideSaveOff\", \"\"];\nfunction LucideSaveOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1257 = [\"lucideSaveAll\", \"\"];\nfunction LucideSaveAll_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1258 = [\"lucideSatellite\", \"\"];\nfunction LucideSatellite_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1259 = [\"lucideSaudiRiyal\", \"\"];\nfunction LucideSaudiRiyal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1260 = [\"lucideSave\", \"\"];\nfunction LucideSave_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1261 = [\"lucideScaling\", \"\"];\nfunction LucideScaling_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1262 = [\"lucideScale3d\", \"\"];\nfunction LucideScale3d_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1263 = [\"lucideScale\", \"\"];\nfunction LucideScale_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1264 = [\"lucideScanBarcode\", \"\"];\nfunction LucideScanBarcode_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1265 = [\"lucideScanEye\", \"\"];\nfunction LucideScanEye_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1266 = [\"lucideScanLine\", \"\"];\nfunction LucideScanLine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1267 = [\"lucideScanHeart\", \"\"];\nfunction LucideScanHeart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1268 = [\"lucideScanFace\", \"\"];\nfunction LucideScanFace_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1269 = [\"lucideScanSearch\", \"\"];\nfunction LucideScanSearch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1270 = [\"lucideScanQrCode\", \"\"];\nfunction LucideScanQrCode_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1271 = [\"lucideScanText\", \"\"];\nfunction LucideScanText_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1272 = [\"lucideScan\", \"\"];\nfunction LucideScan_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1273 = [\"lucideSchool\", \"\"];\nfunction LucideSchool_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1274 = [\"lucideScissorsLineDashed\", \"\"];\nfunction LucideScissorsLineDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1275 = [\"lucideScissors\", \"\"];\nfunction LucideScissors_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1276 = [\"lucideScreenShare\", \"\"];\nfunction LucideScreenShare_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1277 = [\"lucideScooter\", \"\"];\nfunction LucideScooter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1278 = [\"lucideScreenShareOff\", \"\"];\nfunction LucideScreenShareOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1279 = [\"lucideScrollText\", \"\"];\nfunction LucideScrollText_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1280 = [\"lucideSearchCheck\", \"\"];\nfunction LucideSearchCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1281 = [\"lucideSearchAlert\", \"\"];\nfunction LucideSearchAlert_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1282 = [\"lucideScroll\", \"\"];\nfunction LucideScroll_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1283 = [\"lucideSearchCode\", \"\"];\nfunction LucideSearchCode_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1284 = [\"lucideSearchSlash\", \"\"];\nfunction LucideSearchSlash_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1285 = [\"lucideSearch\", \"\"];\nfunction LucideSearch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1286 = [\"lucideSearchX\", \"\"];\nfunction LucideSearchX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1287 = [\"lucideSection\", \"\"];\nfunction LucideSection_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1288 = [\"lucideSendToBack\", \"\"];\nfunction LucideSendToBack_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1289 = [\"lucideSendHorizontal\", \"\"];\nfunction LucideSendHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1290 = [\"lucideSend\", \"\"];\nfunction LucideSend_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1291 = [\"lucideSeparatorHorizontal\", \"\"];\nfunction LucideSeparatorHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1292 = [\"lucideSeparatorVertical\", \"\"];\nfunction LucideSeparatorVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1293 = [\"lucideServerCog\", \"\"];\nfunction LucideServerCog_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1294 = [\"lucideServerOff\", \"\"];\nfunction LucideServerOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1295 = [\"lucideServerCrash\", \"\"];\nfunction LucideServerCrash_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1296 = [\"lucideServer\", \"\"];\nfunction LucideServer_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1297 = [\"lucideSettings2\", \"\"];\nfunction LucideSettings2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1298 = [\"lucideSettings\", \"\"];\nfunction LucideSettings_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1299 = [\"lucideShapes\", \"\"];\nfunction LucideShapes_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1300 = [\"lucideShare2\", \"\"];\nfunction LucideShare2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1301 = [\"lucideShare\", \"\"];\nfunction LucideShare_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1302 = [\"lucideSheet\", \"\"];\nfunction LucideSheet_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1303 = [\"lucideShelvingUnit\", \"\"];\nfunction LucideShelvingUnit_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1304 = [\"lucideShell\", \"\"];\nfunction LucideShell_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1305 = [\"lucideShieldAlert\", \"\"];\nfunction LucideShieldAlert_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1306 = [\"lucideShieldBan\", \"\"];\nfunction LucideShieldBan_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1307 = [\"lucideShieldCogCorner\", \"\"];\nfunction LucideShieldCogCorner_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1308 = [\"lucideShieldCog\", \"\"];\nfunction LucideShieldCog_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1309 = [\"lucideShieldCheck\", \"\"];\nfunction LucideShieldCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1310 = [\"lucideShieldEllipsis\", \"\"];\nfunction LucideShieldEllipsis_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1311 = [\"lucideShieldHalf\", \"\"];\nfunction LucideShieldHalf_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1312 = [\"lucideShieldMinus\", \"\"];\nfunction LucideShieldMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1313 = [\"lucideShieldOff\", \"\"];\nfunction LucideShieldOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1314 = [\"lucideShieldPlus\", \"\"];\nfunction LucideShieldPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1315 = [\"lucideShieldQuestionMark\", \"\"];\nfunction LucideShieldQuestionMark_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1316 = [\"lucideShieldX\", \"\"];\nfunction LucideShieldX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1317 = [\"lucideShieldUser\", \"\"];\nfunction LucideShieldUser_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1318 = [\"lucideShield\", \"\"];\nfunction LucideShield_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1319 = [\"lucideShirt\", \"\"];\nfunction LucideShirt_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1320 = [\"lucideShip\", \"\"];\nfunction LucideShip_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1321 = [\"lucideShipWheel\", \"\"];\nfunction LucideShipWheel_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1322 = [\"lucideShoppingBag\", \"\"];\nfunction LucideShoppingBag_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1323 = [\"lucideShoppingCart\", \"\"];\nfunction LucideShoppingCart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1324 = [\"lucideShoppingBasket\", \"\"];\nfunction LucideShoppingBasket_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1325 = [\"lucideShovel\", \"\"];\nfunction LucideShovel_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1326 = [\"lucideShowerHead\", \"\"];\nfunction LucideShowerHead_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1327 = [\"lucideShrimp\", \"\"];\nfunction LucideShrimp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1328 = [\"lucideShrink\", \"\"];\nfunction LucideShrink_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1329 = [\"lucideShredder\", \"\"];\nfunction LucideShredder_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1330 = [\"lucideShrub\", \"\"];\nfunction LucideShrub_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1331 = [\"lucideShuffle\", \"\"];\nfunction LucideShuffle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1332 = [\"lucideSignalHigh\", \"\"];\nfunction LucideSignalHigh_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1333 = [\"lucideSigma\", \"\"];\nfunction LucideSigma_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1334 = [\"lucideSignalLow\", \"\"];\nfunction LucideSignalLow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1335 = [\"lucideSignalMedium\", \"\"];\nfunction LucideSignalMedium_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1336 = [\"lucideSignalZero\", \"\"];\nfunction LucideSignalZero_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1337 = [\"lucideSignal\", \"\"];\nfunction LucideSignal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1338 = [\"lucideSignature\", \"\"];\nfunction LucideSignature_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1339 = [\"lucideSignpostBig\", \"\"];\nfunction LucideSignpostBig_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1340 = [\"lucideSignpost\", \"\"];\nfunction LucideSignpost_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1341 = [\"lucideSiren\", \"\"];\nfunction LucideSiren_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1342 = [\"lucideSkipBack\", \"\"];\nfunction LucideSkipBack_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1343 = [\"lucideSkipForward\", \"\"];\nfunction LucideSkipForward_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1344 = [\"lucideSlash\", \"\"];\nfunction LucideSlash_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1345 = [\"lucideSkull\", \"\"];\nfunction LucideSkull_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1346 = [\"lucideSlice\", \"\"];\nfunction LucideSlice_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1347 = [\"lucideSlidersHorizontal\", \"\"];\nfunction LucideSlidersHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1348 = [\"lucideSmartphoneNfc\", \"\"];\nfunction LucideSmartphoneNfc_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1349 = [\"lucideSmartphoneCharging\", \"\"];\nfunction LucideSmartphoneCharging_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1350 = [\"lucideSlidersVertical\", \"\"];\nfunction LucideSlidersVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1351 = [\"lucideSmartphone\", \"\"];\nfunction LucideSmartphone_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1352 = [\"lucideSmilePlus\", \"\"];\nfunction LucideSmilePlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1353 = [\"lucideSnail\", \"\"];\nfunction LucideSnail_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1354 = [\"lucideSmile\", \"\"];\nfunction LucideSmile_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1355 = [\"lucideSnowflake\", \"\"];\nfunction LucideSnowflake_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1356 = [\"lucideSoapDispenserDroplet\", \"\"];\nfunction LucideSoapDispenserDroplet_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1357 = [\"lucideSolarPanel\", \"\"];\nfunction LucideSolarPanel_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1358 = [\"lucideSofa\", \"\"];\nfunction LucideSofa_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1359 = [\"lucideSoup\", \"\"];\nfunction LucideSoup_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1360 = [\"lucideSparkle\", \"\"];\nfunction LucideSparkle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1361 = [\"lucideSpade\", \"\"];\nfunction LucideSpade_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1362 = [\"lucideSpace\", \"\"];\nfunction LucideSpace_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1363 = [\"lucideSparkles\", \"\"];\nfunction LucideSparkles_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1364 = [\"lucideSpeaker\", \"\"];\nfunction LucideSpeaker_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1365 = [\"lucideSpeech\", \"\"];\nfunction LucideSpeech_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1366 = [\"lucideSpellCheck2\", \"\"];\nfunction LucideSpellCheck2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1367 = [\"lucideSpline\", \"\"];\nfunction LucideSpline_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1368 = [\"lucideSpellCheck\", \"\"];\nfunction LucideSpellCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1369 = [\"lucideSplinePointer\", \"\"];\nfunction LucideSplinePointer_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1370 = [\"lucideSplit\", \"\"];\nfunction LucideSplit_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1371 = [\"lucideSpool\", \"\"];\nfunction LucideSpool_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1372 = [\"lucideSprayCan\", \"\"];\nfunction LucideSprayCan_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1373 = [\"lucideSprout\", \"\"];\nfunction LucideSprout_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1374 = [\"lucideSpotlight\", \"\"];\nfunction LucideSpotlight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1375 = [\"lucideSportShoe\", \"\"];\nfunction LucideSportShoe_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1376 = [\"lucideSquareActivity\", \"\"];\nfunction LucideSquareActivity_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1377 = [\"lucideSquareArrowDownLeft\", \"\"];\nfunction LucideSquareArrowDownLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1378 = [\"lucideSquareArrowDownRight\", \"\"];\nfunction LucideSquareArrowDownRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1379 = [\"lucideSquareArrowDown\", \"\"];\nfunction LucideSquareArrowDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1380 = [\"lucideSquareArrowLeft\", \"\"];\nfunction LucideSquareArrowLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1381 = [\"lucideSquareArrowOutDownLeft\", \"\"];\nfunction LucideSquareArrowOutDownLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1382 = [\"lucideSquareArrowOutUpLeft\", \"\"];\nfunction LucideSquareArrowOutUpLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1383 = [\"lucideSquareArrowOutUpRight\", \"\"];\nfunction LucideSquareArrowOutUpRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1384 = [\"lucideSquareArrowOutDownRight\", \"\"];\nfunction LucideSquareArrowOutDownRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1385 = [\"lucideSquareArrowRightEnter\", \"\"];\nfunction LucideSquareArrowRightEnter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1386 = [\"lucideSquareArrowRight\", \"\"];\nfunction LucideSquareArrowRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1387 = [\"lucideSquareArrowUpLeft\", \"\"];\nfunction LucideSquareArrowUpLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1388 = [\"lucideSquareArrowRightExit\", \"\"];\nfunction LucideSquareArrowRightExit_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1389 = [\"lucideSquareArrowUpRight\", \"\"];\nfunction LucideSquareArrowUpRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1390 = [\"lucideSquareArrowUp\", \"\"];\nfunction LucideSquareArrowUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1391 = [\"lucideSquareBottomDashedScissors\", \"\"];\nfunction LucideSquareBottomDashedScissors_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1392 = [\"lucideSquareAsterisk\", \"\"];\nfunction LucideSquareAsterisk_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1393 = [\"lucideSquareCenterlineDashedHorizontal\", \"\"];\nfunction LucideSquareCenterlineDashedHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1394 = [\"lucideSquareChartGantt\", \"\"];\nfunction LucideSquareChartGantt_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1395 = [\"lucideSquareCheck\", \"\"];\nfunction LucideSquareCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1396 = [\"lucideSquareCenterlineDashedVertical\", \"\"];\nfunction LucideSquareCenterlineDashedVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1397 = [\"lucideSquareCheckBig\", \"\"];\nfunction LucideSquareCheckBig_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1398 = [\"lucideSquareChevronDown\", \"\"];\nfunction LucideSquareChevronDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1399 = [\"lucideSquareChevronLeft\", \"\"];\nfunction LucideSquareChevronLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1400 = [\"lucideSquareChevronUp\", \"\"];\nfunction LucideSquareChevronUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1401 = [\"lucideSquareChevronRight\", \"\"];\nfunction LucideSquareChevronRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1402 = [\"lucideSquareCode\", \"\"];\nfunction LucideSquareCode_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1403 = [\"lucideSquareDashedBottomCode\", \"\"];\nfunction LucideSquareDashedBottomCode_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1404 = [\"lucideSquareDashedBottom\", \"\"];\nfunction LucideSquareDashedBottom_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1405 = [\"lucideSquareDashedMousePointer\", \"\"];\nfunction LucideSquareDashedMousePointer_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1406 = [\"lucideSquareDashedKanban\", \"\"];\nfunction LucideSquareDashedKanban_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1407 = [\"lucideSquareDashedTopSolid\", \"\"];\nfunction LucideSquareDashedTopSolid_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1408 = [\"lucideSquareDashed\", \"\"];\nfunction LucideSquareDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1409 = [\"lucideSquareDot\", \"\"];\nfunction LucideSquareDot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1410 = [\"lucideSquareEqual\", \"\"];\nfunction LucideSquareEqual_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1411 = [\"lucideSquareDivide\", \"\"];\nfunction LucideSquareDivide_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1412 = [\"lucideSquareFunction\", \"\"];\nfunction LucideSquareFunction_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1413 = [\"lucideSquareLibrary\", \"\"];\nfunction LucideSquareLibrary_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1414 = [\"lucideSquareKanban\", \"\"];\nfunction LucideSquareKanban_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1415 = [\"lucideSquareM\", \"\"];\nfunction LucideSquareM_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1416 = [\"lucideSquareMinus\", \"\"];\nfunction LucideSquareMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1417 = [\"lucideSquareMenu\", \"\"];\nfunction LucideSquareMenu_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1418 = [\"lucideSquareMousePointer\", \"\"];\nfunction LucideSquareMousePointer_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1419 = [\"lucideSquareParkingOff\", \"\"];\nfunction LucideSquareParkingOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1420 = [\"lucideSquareParking\", \"\"];\nfunction LucideSquareParking_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1421 = [\"lucideSquarePen\", \"\"];\nfunction LucideSquarePen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1422 = [\"lucideSquarePause\", \"\"];\nfunction LucideSquarePause_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1423 = [\"lucideSquarePercent\", \"\"];\nfunction LucideSquarePercent_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1424 = [\"lucideSquarePlay\", \"\"];\nfunction LucideSquarePlay_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1425 = [\"lucideSquarePi\", \"\"];\nfunction LucideSquarePi_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1426 = [\"lucideSquarePilcrow\", \"\"];\nfunction LucideSquarePilcrow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1427 = [\"lucideSquarePlus\", \"\"];\nfunction LucideSquarePlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1428 = [\"lucideSquarePower\", \"\"];\nfunction LucideSquarePower_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1429 = [\"lucideSquareRoundCorner\", \"\"];\nfunction LucideSquareRoundCorner_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1430 = [\"lucideSquareRadical\", \"\"];\nfunction LucideSquareRadical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1431 = [\"lucideSquareScissors\", \"\"];\nfunction LucideSquareScissors_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1432 = [\"lucideSquareSigma\", \"\"];\nfunction LucideSquareSigma_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1433 = [\"lucideSquareSplitHorizontal\", \"\"];\nfunction LucideSquareSplitHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1434 = [\"lucideSquareSlash\", \"\"];\nfunction LucideSquareSlash_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1435 = [\"lucideSquareSplitVertical\", \"\"];\nfunction LucideSquareSplitVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1436 = [\"lucideSquareStar\", \"\"];\nfunction LucideSquareStar_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1437 = [\"lucideSquareStack\", \"\"];\nfunction LucideSquareStack_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1438 = [\"lucideSquareSquare\", \"\"];\nfunction LucideSquareSquare_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1439 = [\"lucideSquareStop\", \"\"];\nfunction LucideSquareStop_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1440 = [\"lucideSquareUser\", \"\"];\nfunction LucideSquareUser_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1441 = [\"lucideSquareX\", \"\"];\nfunction LucideSquareX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1442 = [\"lucideSquareUserRound\", \"\"];\nfunction LucideSquareUserRound_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1443 = [\"lucideSquareTerminal\", \"\"];\nfunction LucideSquareTerminal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1444 = [\"lucideSquare\", \"\"];\nfunction LucideSquare_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1445 = [\"lucideSquaresExclude\", \"\"];\nfunction LucideSquaresExclude_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1446 = [\"lucideSquaresIntersect\", \"\"];\nfunction LucideSquaresIntersect_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1447 = [\"lucideSquaresUnite\", \"\"];\nfunction LucideSquaresUnite_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1448 = [\"lucideSquaresSubtract\", \"\"];\nfunction LucideSquaresSubtract_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1449 = [\"lucideSquircleDashed\", \"\"];\nfunction LucideSquircleDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1450 = [\"lucideSquirrel\", \"\"];\nfunction LucideSquirrel_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1451 = [\"lucideStamp\", \"\"];\nfunction LucideStamp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1452 = [\"lucideSquircle\", \"\"];\nfunction LucideSquircle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1453 = [\"lucideStarHalf\", \"\"];\nfunction LucideStarHalf_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1454 = [\"lucideStarOff\", \"\"];\nfunction LucideStarOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1455 = [\"lucideStar\", \"\"];\nfunction LucideStar_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1456 = [\"lucideStepForward\", \"\"];\nfunction LucideStepForward_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1457 = [\"lucideStepBack\", \"\"];\nfunction LucideStepBack_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1458 = [\"lucideStethoscope\", \"\"];\nfunction LucideStethoscope_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1459 = [\"lucideSticker\", \"\"];\nfunction LucideSticker_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1460 = [\"lucideStickyNote\", \"\"];\nfunction LucideStickyNote_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1461 = [\"lucideStone\", \"\"];\nfunction LucideStone_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1462 = [\"lucideStore\", \"\"];\nfunction LucideStore_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1463 = [\"lucideStretchHorizontal\", \"\"];\nfunction LucideStretchHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1464 = [\"lucideStretchVertical\", \"\"];\nfunction LucideStretchVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1465 = [\"lucideStrikethrough\", \"\"];\nfunction LucideStrikethrough_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1466 = [\"lucideSubscript\", \"\"];\nfunction LucideSubscript_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1467 = [\"lucideSunDim\", \"\"];\nfunction LucideSunDim_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1468 = [\"lucideSunSnow\", \"\"];\nfunction LucideSunSnow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1469 = [\"lucideSunMoon\", \"\"];\nfunction LucideSunMoon_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1470 = [\"lucideSunMedium\", \"\"];\nfunction LucideSunMedium_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1471 = [\"lucideSun\", \"\"];\nfunction LucideSun_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1472 = [\"lucideSunrise\", \"\"];\nfunction LucideSunrise_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1473 = [\"lucideSuperscript\", \"\"];\nfunction LucideSuperscript_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1474 = [\"lucideSunset\", \"\"];\nfunction LucideSunset_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1475 = [\"lucideSwatchBook\", \"\"];\nfunction LucideSwatchBook_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1476 = [\"lucideSword\", \"\"];\nfunction LucideSword_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1477 = [\"lucideSwitchCamera\", \"\"];\nfunction LucideSwitchCamera_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1478 = [\"lucideSwissFranc\", \"\"];\nfunction LucideSwissFranc_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1479 = [\"lucideSwords\", \"\"];\nfunction LucideSwords_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1480 = [\"lucideTable2\", \"\"];\nfunction LucideTable2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1481 = [\"lucideSyringe\", \"\"];\nfunction LucideSyringe_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1482 = [\"lucideTableCellsMerge\", \"\"];\nfunction LucideTableCellsMerge_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1483 = [\"lucideTableCellsSplit\", \"\"];\nfunction LucideTableCellsSplit_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1484 = [\"lucideTableProperties\", \"\"];\nfunction LucideTableProperties_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1485 = [\"lucideTableOfContents\", \"\"];\nfunction LucideTableOfContents_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1486 = [\"lucideTableColumnsSplit\", \"\"];\nfunction LucideTableColumnsSplit_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1487 = [\"lucideTableRowsSplit\", \"\"];\nfunction LucideTableRowsSplit_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1488 = [\"lucideTable\", \"\"];\nfunction LucideTable_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1489 = [\"lucideTablet\", \"\"];\nfunction LucideTablet_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1490 = [\"lucideTabletSmartphone\", \"\"];\nfunction LucideTabletSmartphone_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1491 = [\"lucideTablets\", \"\"];\nfunction LucideTablets_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1492 = [\"lucideTag\", \"\"];\nfunction LucideTag_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1493 = [\"lucideTally1\", \"\"];\nfunction LucideTally1_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1494 = [\"lucideTags\", \"\"];\nfunction LucideTags_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1495 = [\"lucideTally2\", \"\"];\nfunction LucideTally2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1496 = [\"lucideTally3\", \"\"];\nfunction LucideTally3_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1497 = [\"lucideTally5\", \"\"];\nfunction LucideTally5_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1498 = [\"lucideTally4\", \"\"];\nfunction LucideTally4_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1499 = [\"lucideTangent\", \"\"];\nfunction LucideTangent_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1500 = [\"lucideTarget\", \"\"];\nfunction LucideTarget_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1501 = [\"lucideTelescope\", \"\"];\nfunction LucideTelescope_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1502 = [\"lucideTentTree\", \"\"];\nfunction LucideTentTree_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1503 = [\"lucideTent\", \"\"];\nfunction LucideTent_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1504 = [\"lucideTerminal\", \"\"];\nfunction LucideTerminal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1505 = [\"lucideTestTubeDiagonal\", \"\"];\nfunction LucideTestTubeDiagonal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1506 = [\"lucideTestTube\", \"\"];\nfunction LucideTestTube_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1507 = [\"lucideTestTubes\", \"\"];\nfunction LucideTestTubes_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1508 = [\"lucideTextAlignEnd\", \"\"];\nfunction LucideTextAlignEnd_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1509 = [\"lucideTextAlignJustify\", \"\"];\nfunction LucideTextAlignJustify_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1510 = [\"lucideTextAlignCenter\", \"\"];\nfunction LucideTextAlignCenter_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1511 = [\"lucideTextAlignStart\", \"\"];\nfunction LucideTextAlignStart_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1512 = [\"lucideTextCursorInput\", \"\"];\nfunction LucideTextCursorInput_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1513 = [\"lucideTextCursor\", \"\"];\nfunction LucideTextCursor_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1514 = [\"lucideTextInitial\", \"\"];\nfunction LucideTextInitial_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1515 = [\"lucideTextSearch\", \"\"];\nfunction LucideTextSearch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1516 = [\"lucideTextQuote\", \"\"];\nfunction LucideTextQuote_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1517 = [\"lucideTextWrap\", \"\"];\nfunction LucideTextWrap_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1518 = [\"lucideTextSelect\", \"\"];\nfunction LucideTextSelect_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1519 = [\"lucideTheater\", \"\"];\nfunction LucideTheater_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1520 = [\"lucideThermometer\", \"\"];\nfunction LucideThermometer_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1521 = [\"lucideThermometerSun\", \"\"];\nfunction LucideThermometerSun_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1522 = [\"lucideThermometerSnowflake\", \"\"];\nfunction LucideThermometerSnowflake_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1523 = [\"lucideThumbsDown\", \"\"];\nfunction LucideThumbsDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1524 = [\"lucideThumbsUp\", \"\"];\nfunction LucideThumbsUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1525 = [\"lucideTicketCheck\", \"\"];\nfunction LucideTicketCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1526 = [\"lucideTicketMinus\", \"\"];\nfunction LucideTicketMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1527 = [\"lucideTicketPercent\", \"\"];\nfunction LucideTicketPercent_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1528 = [\"lucideTicketPlus\", \"\"];\nfunction LucideTicketPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1529 = [\"lucideTicketX\", \"\"];\nfunction LucideTicketX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1530 = [\"lucideTicketSlash\", \"\"];\nfunction LucideTicketSlash_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1531 = [\"lucideTicketsPlane\", \"\"];\nfunction LucideTicketsPlane_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1532 = [\"lucideTicket\", \"\"];\nfunction LucideTicket_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1533 = [\"lucideTickets\", \"\"];\nfunction LucideTickets_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1534 = [\"lucideTimerOff\", \"\"];\nfunction LucideTimerOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1535 = [\"lucideTimerReset\", \"\"];\nfunction LucideTimerReset_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1536 = [\"lucideTimer\", \"\"];\nfunction LucideTimer_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1537 = [\"lucideToggleLeft\", \"\"];\nfunction LucideToggleLeft_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1538 = [\"lucideToggleRight\", \"\"];\nfunction LucideToggleRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1539 = [\"lucideToolCase\", \"\"];\nfunction LucideToolCase_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1540 = [\"lucideToolbox\", \"\"];\nfunction LucideToolbox_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1541 = [\"lucideToilet\", \"\"];\nfunction LucideToilet_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1542 = [\"lucideTornado\", \"\"];\nfunction LucideTornado_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1543 = [\"lucideTouchpad\", \"\"];\nfunction LucideTouchpad_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1544 = [\"lucideTorus\", \"\"];\nfunction LucideTorus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1545 = [\"lucideTowelRack\", \"\"];\nfunction LucideTowelRack_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1546 = [\"lucideTouchpadOff\", \"\"];\nfunction LucideTouchpadOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1547 = [\"lucideTowerControl\", \"\"];\nfunction LucideTowerControl_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1548 = [\"lucideToyBrick\", \"\"];\nfunction LucideToyBrick_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1549 = [\"lucideTractor\", \"\"];\nfunction LucideTractor_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1550 = [\"lucideTrainFront\", \"\"];\nfunction LucideTrainFront_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1551 = [\"lucideTrafficCone\", \"\"];\nfunction LucideTrafficCone_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1552 = [\"lucideTrainFrontTunnel\", \"\"];\nfunction LucideTrainFrontTunnel_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1553 = [\"lucideTrainTrack\", \"\"];\nfunction LucideTrainTrack_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1554 = [\"lucideTrash2\", \"\"];\nfunction LucideTrash2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1555 = [\"lucideTramFront\", \"\"];\nfunction LucideTramFront_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1556 = [\"lucideTransgender\", \"\"];\nfunction LucideTransgender_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1557 = [\"lucideTrash\", \"\"];\nfunction LucideTrash_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1558 = [\"lucideTreePalm\", \"\"];\nfunction LucideTreePalm_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1559 = [\"lucideTreeDeciduous\", \"\"];\nfunction LucideTreeDeciduous_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1560 = [\"lucideTreePine\", \"\"];\nfunction LucideTreePine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1561 = [\"lucideTrees\", \"\"];\nfunction LucideTrees_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1562 = [\"lucideTrendingUp\", \"\"];\nfunction LucideTrendingUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1563 = [\"lucideTrendingUpDown\", \"\"];\nfunction LucideTrendingUpDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1564 = [\"lucideTrendingDown\", \"\"];\nfunction LucideTrendingDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1565 = [\"lucideTriangleAlert\", \"\"];\nfunction LucideTriangleAlert_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1566 = [\"lucideTriangleDashed\", \"\"];\nfunction LucideTriangleDashed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1567 = [\"lucideTriangleRight\", \"\"];\nfunction LucideTriangleRight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1568 = [\"lucideTriangle\", \"\"];\nfunction LucideTriangle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1569 = [\"lucideTrophy\", \"\"];\nfunction LucideTrophy_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1570 = [\"lucideTruck\", \"\"];\nfunction LucideTruck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1571 = [\"lucideTruckElectric\", \"\"];\nfunction LucideTruckElectric_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1572 = [\"lucideTurkishLira\", \"\"];\nfunction LucideTurkishLira_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1573 = [\"lucideTurntable\", \"\"];\nfunction LucideTurntable_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1574 = [\"lucideTvMinimal\", \"\"];\nfunction LucideTvMinimal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1575 = [\"lucideTvMinimalPlay\", \"\"];\nfunction LucideTvMinimalPlay_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1576 = [\"lucideTv\", \"\"];\nfunction LucideTv_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1577 = [\"lucideTurtle\", \"\"];\nfunction LucideTurtle_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1578 = [\"lucideTypeOutline\", \"\"];\nfunction LucideTypeOutline_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1579 = [\"lucideUmbrellaOff\", \"\"];\nfunction LucideUmbrellaOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1580 = [\"lucideType\", \"\"];\nfunction LucideType_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1581 = [\"lucideUmbrella\", \"\"];\nfunction LucideUmbrella_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1582 = [\"lucideUnderline\", \"\"];\nfunction LucideUnderline_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1583 = [\"lucideUndo2\", \"\"];\nfunction LucideUndo2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1584 = [\"lucideUndoDot\", \"\"];\nfunction LucideUndoDot_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1585 = [\"lucideUnfoldHorizontal\", \"\"];\nfunction LucideUnfoldHorizontal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1586 = [\"lucideUndo\", \"\"];\nfunction LucideUndo_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1587 = [\"lucideUnfoldVertical\", \"\"];\nfunction LucideUnfoldVertical_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1588 = [\"lucideUngroup\", \"\"];\nfunction LucideUngroup_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1589 = [\"lucideUniversity\", \"\"];\nfunction LucideUniversity_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1590 = [\"lucideUnlink2\", \"\"];\nfunction LucideUnlink2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1591 = [\"lucideUnlink\", \"\"];\nfunction LucideUnlink_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1592 = [\"lucideUpload\", \"\"];\nfunction LucideUpload_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1593 = [\"lucideUsb\", \"\"];\nfunction LucideUsb_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1594 = [\"lucideUnplug\", \"\"];\nfunction LucideUnplug_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1595 = [\"lucideUserCog\", \"\"];\nfunction LucideUserCog_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1596 = [\"lucideUserLock\", \"\"];\nfunction LucideUserLock_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1597 = [\"lucideUserCheck\", \"\"];\nfunction LucideUserCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1598 = [\"lucideUserKey\", \"\"];\nfunction LucideUserKey_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1599 = [\"lucideUserMinus\", \"\"];\nfunction LucideUserMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1600 = [\"lucideUserPen\", \"\"];\nfunction LucideUserPen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1601 = [\"lucideUserRoundCheck\", \"\"];\nfunction LucideUserRoundCheck_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1602 = [\"lucideUserPlus\", \"\"];\nfunction LucideUserPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1603 = [\"lucideUserRoundCog\", \"\"];\nfunction LucideUserRoundCog_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1604 = [\"lucideUserRoundKey\", \"\"];\nfunction LucideUserRoundKey_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1605 = [\"lucideUserRoundMinus\", \"\"];\nfunction LucideUserRoundMinus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1606 = [\"lucideUserRoundPen\", \"\"];\nfunction LucideUserRoundPen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1607 = [\"lucideUserRoundPlus\", \"\"];\nfunction LucideUserRoundPlus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1608 = [\"lucideUserRoundSearch\", \"\"];\nfunction LucideUserRoundSearch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1609 = [\"lucideUserRound\", \"\"];\nfunction LucideUserRound_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1610 = [\"lucideUserRoundX\", \"\"];\nfunction LucideUserRoundX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1611 = [\"lucideUserSearch\", \"\"];\nfunction LucideUserSearch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1612 = [\"lucideUserX\", \"\"];\nfunction LucideUserX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1613 = [\"lucideUser\", \"\"];\nfunction LucideUser_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1614 = [\"lucideUserStar\", \"\"];\nfunction LucideUserStar_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1615 = [\"lucideUsersRound\", \"\"];\nfunction LucideUsersRound_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1616 = [\"lucideUtensils\", \"\"];\nfunction LucideUtensils_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1617 = [\"lucideUsers\", \"\"];\nfunction LucideUsers_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1618 = [\"lucideUtensilsCrossed\", \"\"];\nfunction LucideUtensilsCrossed_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1619 = [\"lucideVan\", \"\"];\nfunction LucideVan_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1620 = [\"lucideUtilityPole\", \"\"];\nfunction LucideUtilityPole_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1621 = [\"lucideVariable\", \"\"];\nfunction LucideVariable_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1622 = [\"lucideVectorSquare\", \"\"];\nfunction LucideVectorSquare_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1623 = [\"lucideVault\", \"\"];\nfunction LucideVault_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1624 = [\"lucideVegan\", \"\"];\nfunction LucideVegan_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1625 = [\"lucideVenusAndMars\", \"\"];\nfunction LucideVenusAndMars_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1626 = [\"lucideVenetianMask\", \"\"];\nfunction LucideVenetianMask_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1627 = [\"lucideVenus\", \"\"];\nfunction LucideVenus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1628 = [\"lucideVibrateOff\", \"\"];\nfunction LucideVibrateOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1629 = [\"lucideVibrate\", \"\"];\nfunction LucideVibrate_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1630 = [\"lucideVideoOff\", \"\"];\nfunction LucideVideoOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1631 = [\"lucideVideotape\", \"\"];\nfunction LucideVideotape_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1632 = [\"lucideVideo\", \"\"];\nfunction LucideVideo_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1633 = [\"lucideView\", \"\"];\nfunction LucideView_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1634 = [\"lucideVolume1\", \"\"];\nfunction LucideVolume1_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1635 = [\"lucideVolleyball\", \"\"];\nfunction LucideVolleyball_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1636 = [\"lucideVoicemail\", \"\"];\nfunction LucideVoicemail_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1637 = [\"lucideVolume2\", \"\"];\nfunction LucideVolume2_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1638 = [\"lucideVolumeOff\", \"\"];\nfunction LucideVolumeOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1639 = [\"lucideVolumeX\", \"\"];\nfunction LucideVolumeX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1640 = [\"lucideVolume\", \"\"];\nfunction LucideVolume_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1641 = [\"lucideVote\", \"\"];\nfunction LucideVote_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1642 = [\"lucideWalletMinimal\", \"\"];\nfunction LucideWalletMinimal_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1643 = [\"lucideWallet\", \"\"];\nfunction LucideWallet_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1644 = [\"lucideWalletCards\", \"\"];\nfunction LucideWalletCards_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1645 = [\"lucideWallpaper\", \"\"];\nfunction LucideWallpaper_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1646 = [\"lucideWandSparkles\", \"\"];\nfunction LucideWandSparkles_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1647 = [\"lucideWarehouse\", \"\"];\nfunction LucideWarehouse_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1648 = [\"lucideWand\", \"\"];\nfunction LucideWand_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1649 = [\"lucideWashingMachine\", \"\"];\nfunction LucideWashingMachine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1650 = [\"lucideWatch\", \"\"];\nfunction LucideWatch_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1651 = [\"lucideWavesArrowUp\", \"\"];\nfunction LucideWavesArrowUp_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1652 = [\"lucideWavesLadder\", \"\"];\nfunction LucideWavesLadder_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1653 = [\"lucideWavesArrowDown\", \"\"];\nfunction LucideWavesArrowDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1654 = [\"lucideWaves\", \"\"];\nfunction LucideWaves_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1655 = [\"lucideWaypoints\", \"\"];\nfunction LucideWaypoints_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1656 = [\"lucideWebhookOff\", \"\"];\nfunction LucideWebhookOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1657 = [\"lucideWebcam\", \"\"];\nfunction LucideWebcam_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1658 = [\"lucideWebhook\", \"\"];\nfunction LucideWebhook_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1659 = [\"lucideWeightTilde\", \"\"];\nfunction LucideWeightTilde_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1660 = [\"lucideWeight\", \"\"];\nfunction LucideWeight_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1661 = [\"lucideWholeWord\", \"\"];\nfunction LucideWholeWord_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1662 = [\"lucideWheat\", \"\"];\nfunction LucideWheat_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1663 = [\"lucideWheatOff\", \"\"];\nfunction LucideWheatOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1664 = [\"lucideWifiCog\", \"\"];\nfunction LucideWifiCog_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1665 = [\"lucideWifiOff\", \"\"];\nfunction LucideWifiOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1666 = [\"lucideWifiHigh\", \"\"];\nfunction LucideWifiHigh_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1667 = [\"lucideWifiLow\", \"\"];\nfunction LucideWifiLow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1668 = [\"lucideWifiPen\", \"\"];\nfunction LucideWifiPen_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1669 = [\"lucideWifiSync\", \"\"];\nfunction LucideWifiSync_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1670 = [\"lucideWifi\", \"\"];\nfunction LucideWifi_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1671 = [\"lucideWifiZero\", \"\"];\nfunction LucideWifiZero_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1672 = [\"lucideWindArrowDown\", \"\"];\nfunction LucideWindArrowDown_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1673 = [\"lucideWind\", \"\"];\nfunction LucideWind_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1674 = [\"lucideWineOff\", \"\"];\nfunction LucideWineOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1675 = [\"lucideWine\", \"\"];\nfunction LucideWine_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1676 = [\"lucideWorkflow\", \"\"];\nfunction LucideWorkflow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1677 = [\"lucideWrench\", \"\"];\nfunction LucideWrench_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1678 = [\"lucideWorm\", \"\"];\nfunction LucideWorm_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1679 = [\"lucideXLineTop\", \"\"];\nfunction LucideXLineTop_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1680 = [\"lucideX\", \"\"];\nfunction LucideX_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1681 = [\"lucideZapOff\", \"\"];\nfunction LucideZapOff_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1682 = [\"lucideZap\", \"\"];\nfunction LucideZap_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1683 = [\"lucideZodiacAquarius\", \"\"];\nfunction LucideZodiacAquarius_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1684 = [\"lucideZodiacAries\", \"\"];\nfunction LucideZodiacAries_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1685 = [\"lucideZodiacCancer\", \"\"];\nfunction LucideZodiacCancer_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1686 = [\"lucideZodiacGemini\", \"\"];\nfunction LucideZodiacGemini_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1687 = [\"lucideZodiacCapricorn\", \"\"];\nfunction LucideZodiacCapricorn_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1688 = [\"lucideZodiacLeo\", \"\"];\nfunction LucideZodiacLeo_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1689 = [\"lucideZodiacOphiuchus\", \"\"];\nfunction LucideZodiacOphiuchus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1690 = [\"lucideZodiacLibra\", \"\"];\nfunction LucideZodiacLibra_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1691 = [\"lucideZodiacPisces\", \"\"];\nfunction LucideZodiacPisces_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1692 = [\"lucideZodiacScorpio\", \"\"];\nfunction LucideZodiacScorpio_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1693 = [\"lucideZodiacTaurus\", \"\"];\nfunction LucideZodiacTaurus_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1694 = [\"lucideZodiacSagittarius\", \"\"];\nfunction LucideZodiacSagittarius_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1695 = [\"lucideZodiacVirgo\", \"\"];\nfunction LucideZodiacVirgo_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1696 = [\"lucideZoomIn\", \"\"];\nfunction LucideZoomIn_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst _c1697 = [\"lucideZoomOut\", \"\"];\nfunction LucideZoomOut_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nfunction LucideDynamicIcon_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"title\");\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx);\n  }\n}\nconst lucideDefaultConfig = {\n  color: 'currentColor',\n  size: 24,\n  strokeWidth: 2,\n  absoluteStrokeWidth: false\n};\n/**\n * Injection token for providing default configuration options.\n *\n * @internal Use {@link provideLucideConfig}\n */\nconst LUCIDE_CONFIG = new InjectionToken('Lucide icon config', {\n  factory: () => lucideDefaultConfig\n});\n/**\n * Provider for default icon configuration options.\n */\nfunction provideLucideConfig(config) {\n  return {\n    provide: LUCIDE_CONFIG,\n    useValue: {\n      ...lucideDefaultConfig,\n      ...config\n    }\n  };\n}\nvar defaultAttributes = {\n  xmlns: 'http://www.w3.org/2000/svg',\n  width: '24',\n  height: '24',\n  viewBox: '0 0 24 24',\n  fill: 'none',\n  stroke: 'currentColor',\n  'stroke-width': '2',\n  'stroke-linecap': 'round',\n  'stroke-linejoin': 'round'\n};\n\n/**\n * @internal\n * The template of all Lucide icon components.\n */\nconst lucideIconTemplate = `@if (title(); as titleValue) {\n  <title>{{ titleValue }}</title>\n}\n<ng-content select=\"title\"></ng-content>\n<ng-container #contentRef></ng-container>\n<ng-content />`;\nfunction transformNumericStringInput(value, defaultValue) {\n  if (typeof value === 'string') {\n    const parsedValue = parseInt(value, 10);\n    if (isNaN(parsedValue)) {\n      return defaultValue;\n    }\n    return parsedValue;\n  }\n  return value ?? defaultValue;\n}\n/**\n * @internal\n */\nlet LucideIconBase = /*#__PURE__*/(() => {\n  class LucideIconBase {\n    iconConfig = inject(LUCIDE_CONFIG);\n    elRef = inject(ElementRef);\n    renderer = inject(Renderer2);\n    contentRef = viewChild.required('contentRef');\n    /**\n     * An optional accessible label for the icon.\n     * - If provided, it will add the title as an [`<svg:title>` element](https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/title).\n     * - If not provided, the component will add an `aria-hidden=\"true\"` attribute automatically.\n     *\n     * @remarks\n     * Please refer to our [Accessibility guide](https://lucide.dev/guide/advanced/accessibility) regarding this matter.\n     * Adding accessible labels to icons is normally not necessary:\n     * - If your icon is decorative (as most icons are) just leave it as hidden from screen readers.\n     * - If your icon is interactive, it should be contained within an interactive element (e.g. button), and you should probably set your accessible label on that element.\n     * - If your icon is functional (e.g. used in place of a label), feel free to use this property.\n     */\n    title = input(...(ngDevMode ? [undefined, {\n      debugName: \"title\"\n    }] : /* istanbul ignore next */[]));\n    /**\n     * Width and height.\n     * @default 24\n     */\n    size = input(this.iconConfig.size, {\n      ...(ngDevMode ? {\n        debugName: \"size\"\n      } : /* istanbul ignore next */{}),\n      transform: value => transformNumericStringInput(value, this.iconConfig.size)\n    });\n    /**\n     * Stroke color.\n     * @default currentColor\n     */\n    color = input(this.iconConfig.color, {\n      ...(ngDevMode ? {\n        debugName: \"color\"\n      } : /* istanbul ignore next */{}),\n      transform: value => value ?? this.iconConfig.color\n    });\n    /**\n     * Stroke width\n     * @default 2\n     */\n    strokeWidth = input(this.iconConfig.strokeWidth, {\n      ...(ngDevMode ? {\n        debugName: \"strokeWidth\"\n      } : /* istanbul ignore next */{}),\n      transform: value => transformNumericStringInput(value, this.iconConfig.strokeWidth)\n    });\n    /**\n     * If set to true, it adds [`vector-effect=\"non-scaling-stroke\"`](https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Attribute/vector-effect) to child elements.\n     */\n    absoluteStrokeWidth = input(this.iconConfig.absoluteStrokeWidth, {\n      ...(ngDevMode ? {\n        debugName: \"absoluteStrokeWidth\"\n      } : /* istanbul ignore next */{}),\n      transform: value => value ?? this.iconConfig.absoluteStrokeWidth\n    });\n    constructor() {\n      effect(onCleanup => {\n        const icon = this.icon();\n        if (icon) {\n          const absoluteStrokeWidth = this.absoluteStrokeWidth();\n          const {\n            name,\n            node,\n            aliases = []\n          } = icon;\n          const classes = [name, ...aliases].map(item => `lucide-${item}`);\n          for (const cssClass of classes) {\n            this.renderer.addClass(this.elRef.nativeElement, cssClass);\n          }\n          const contentRef = this.contentRef();\n          const refChild = contentRef.nativeElement;\n          const elements = node.map(([name, attrs]) => {\n            const element = this.renderer.createElement(name, 'http://www.w3.org/2000/svg');\n            if (absoluteStrokeWidth) {\n              this.renderer.setAttribute(element, 'vector-effect', 'non-scaling-stroke');\n            }\n            Object.entries(attrs).forEach(([name, value]) => this.renderer.setAttribute(element, name, typeof value === 'number' ? value.toString(10) : value));\n            this.renderer.insertBefore(this.elRef.nativeElement, element, refChild);\n            return element;\n          });\n          onCleanup(() => {\n            elements.forEach(element => this.renderer.removeChild(this.elRef.nativeElement, element));\n            for (const cssClass of classes) {\n              this.renderer.removeClass(this.elRef.nativeElement, cssClass);\n            }\n          });\n        }\n      });\n    }\n    static ɵfac = function LucideIconBase_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || LucideIconBase)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideIconBase,\n      selectors: [[\"svg\", \"lucideIcon\", \"\"]],\n      viewQuery: function LucideIconBase_Query(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵviewQuerySignal(ctx.contentRef, _c0, 5);\n        }\n        if (rf & 2) {\n          i0.ɵɵqueryAdvance();\n        }\n      },\n      hostAttrs: [\"xmlns\", \"http://www.w3.org/2000/svg\", \"width\", \"24\", \"height\", \"24\", \"viewBox\", \"0 0 24 24\", \"fill\", \"none\", \"stroke\", \"currentColor\", \"stroke-width\", \"2\", \"stroke-linecap\", \"round\", \"stroke-linejoin\", \"round\", 1, \"lucide\"],\n      hostVars: 5,\n      hostBindings: function LucideIconBase_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"width\", ctx.size().toString(10))(\"height\", ctx.size().toString(10))(\"stroke\", ctx.color())(\"stroke-width\", ctx.strokeWidth().toString(10))(\"aria-hidden\", !ctx.title());\n        }\n      },\n      inputs: {\n        title: [1, \"title\"],\n        size: [1, \"size\"],\n        color: [1, \"color\"],\n        strokeWidth: [1, \"strokeWidth\"],\n        absoluteStrokeWidth: [1, \"absoluteStrokeWidth\"]\n      },\n      attrs: _c1,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideIconBase_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideIconBase_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2\n    });\n  }\n  return LucideIconBase;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AArrowDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQgMTIgNCA0IDQtNCIgLz4KICA8cGF0aCBkPSJNMTggMTZWNyIgLz4KICA8cGF0aCBkPSJtMiAxNiA0LjAzOS05LjY5YS41LjUgMCAwIDEgLjkyMyAwTDExIDE2IiAvPgogIDxwYXRoIGQ9Ik0zLjMwNCAxM2g2LjM5MiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/a-arrow-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAArrowDown = /*#__PURE__*/(() => {\n  class LucideAArrowDown extends LucideIconBase {\n    static icon = {\n      name: 'a-arrow-down',\n      size: 24,\n      node: [['path', {\n        d: 'm14 12 4 4 4-4',\n        key: 'buelq4'\n      }], ['path', {\n        d: 'M18 16V7',\n        key: 'ty0viw'\n      }], ['path', {\n        d: 'm2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16',\n        key: 'd5nyq2'\n      }], ['path', {\n        d: 'M3.304 13h6.392',\n        key: '1q3zxz'\n      }]]\n    };\n    icon = signal(LucideAArrowDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAArrowDown_BaseFactory;\n      return function LucideAArrowDown_Factory(__ngFactoryType__) {\n        return (ɵLucideAArrowDown_BaseFactory || (ɵLucideAArrowDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAArrowDown)))(__ngFactoryType__ || LucideAArrowDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAArrowDown,\n      selectors: [[\"svg\", \"lucideAArrowDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c4,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAArrowDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAArrowDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAArrowDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Accessibility\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjQiIHI9IjEiIC8+CiAgPHBhdGggZD0ibTE4IDE5IDEtNy02IDEiIC8+CiAgPHBhdGggZD0ibTUgOCAzLTMgNS41IDMtMi4zNiAzLjUiIC8+CiAgPHBhdGggZD0iTTQuMjQgMTQuNWE1IDUgMCAwIDAgNi44OCA2IiAvPgogIDxwYXRoIGQ9Ik0xMy43NiAxNy41YTUgNSAwIDAgMC02Ljg4LTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/accessibility\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAccessibility = /*#__PURE__*/(() => {\n  class LucideAccessibility extends LucideIconBase {\n    static icon = {\n      name: 'accessibility',\n      size: 24,\n      node: [['circle', {\n        cx: '16',\n        cy: '4',\n        r: '1',\n        key: '1grugj'\n      }], ['path', {\n        d: 'm18 19 1-7-6 1',\n        key: 'r0i19z'\n      }], ['path', {\n        d: 'm5 8 3-3 5.5 3-2.36 3.5',\n        key: '9ptxx2'\n      }], ['path', {\n        d: 'M4.24 14.5a5 5 0 0 0 6.88 6',\n        key: '10kmtu'\n      }], ['path', {\n        d: 'M13.76 17.5a5 5 0 0 0-6.88-6',\n        key: '2qq6rc'\n      }]]\n    };\n    icon = signal(LucideAccessibility.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAccessibility_BaseFactory;\n      return function LucideAccessibility_Factory(__ngFactoryType__) {\n        return (ɵLucideAccessibility_BaseFactory || (ɵLucideAccessibility_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAccessibility)))(__ngFactoryType__ || LucideAccessibility);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAccessibility,\n      selectors: [[\"svg\", \"lucideAccessibility\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c5,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAccessibility_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAccessibility_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAccessibility;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AArrowUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQgMTEgNC00IDQgNCIgLz4KICA8cGF0aCBkPSJNMTggMTZWNyIgLz4KICA8cGF0aCBkPSJtMiAxNiA0LjAzOS05LjY5YS41LjUgMCAwIDEgLjkyMyAwTDExIDE2IiAvPgogIDxwYXRoIGQ9Ik0zLjMwNCAxM2g2LjM5MiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/a-arrow-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAArrowUp = /*#__PURE__*/(() => {\n  class LucideAArrowUp extends LucideIconBase {\n    static icon = {\n      name: 'a-arrow-up',\n      size: 24,\n      node: [['path', {\n        d: 'm14 11 4-4 4 4',\n        key: '1pu57t'\n      }], ['path', {\n        d: 'M18 16V7',\n        key: 'ty0viw'\n      }], ['path', {\n        d: 'm2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16',\n        key: 'd5nyq2'\n      }], ['path', {\n        d: 'M3.304 13h6.392',\n        key: '1q3zxz'\n      }]]\n    };\n    icon = signal(LucideAArrowUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAArrowUp_BaseFactory;\n      return function LucideAArrowUp_Factory(__ngFactoryType__) {\n        return (ɵLucideAArrowUp_BaseFactory || (ɵLucideAArrowUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAArrowUp)))(__ngFactoryType__ || LucideAArrowUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAArrowUp,\n      selectors: [[\"svg\", \"lucideAArrowUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c6,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAArrowUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAArrowUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAArrowUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Activity\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTJoLTIuNDhhMiAyIDAgMCAwLTEuOTMgMS40NmwtMi4zNSA4LjM2YS4yNS4yNSAwIDAgMS0uNDggMEw5LjI0IDIuMThhLjI1LjI1IDAgMCAwLS40OCAwbC0yLjM1IDguMzZBMiAyIDAgMCAxIDQuNDkgMTJIMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/activity\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideActivity = /*#__PURE__*/(() => {\n  class LucideActivity extends LucideIconBase {\n    static icon = {\n      name: 'activity',\n      size: 24,\n      node: [['path', {\n        d: 'M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2',\n        key: '169zse'\n      }]]\n    };\n    icon = signal(LucideActivity.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideActivity_BaseFactory;\n      return function LucideActivity_Factory(__ngFactoryType__) {\n        return (ɵLucideActivity_BaseFactory || (ɵLucideActivity_BaseFactory = i0.ɵɵgetInheritedFactory(LucideActivity)))(__ngFactoryType__ || LucideActivity);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideActivity,\n      selectors: [[\"svg\", \"lucideActivity\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c7,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideActivity_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideActivity_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideActivity;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Airplay\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxN0g0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMmgtMSIgLz4KICA8cGF0aCBkPSJtMTIgMTUgNSA2SDdaIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/airplay\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAirplay = /*#__PURE__*/(() => {\n  class LucideAirplay extends LucideIconBase {\n    static icon = {\n      name: 'airplay',\n      size: 24,\n      node: [['path', {\n        d: 'M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1',\n        key: 'ns4c3b'\n      }], ['path', {\n        d: 'm12 15 5 6H7Z',\n        key: '14qnn2'\n      }]]\n    };\n    icon = signal(LucideAirplay.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAirplay_BaseFactory;\n      return function LucideAirplay_Factory(__ngFactoryType__) {\n        return (ɵLucideAirplay_BaseFactory || (ɵLucideAirplay_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAirplay)))(__ngFactoryType__ || LucideAirplay);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAirplay,\n      selectors: [[\"svg\", \"lucideAirplay\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c8,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAirplay_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAirplay_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAirplay;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AirVent\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggMTcuNWEyLjUgMi41IDAgMSAxLTQgMi4wM1YxMiIgLz4KICA8cGF0aCBkPSJNNiAxMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2NWEyIDIgMCAwIDEtMiAyaC0yIiAvPgogIDxwYXRoIGQ9Ik02IDhoMTIiIC8+CiAgPHBhdGggZD0iTTYuNiAxNS41NzJBMiAyIDAgMSAwIDEwIDE3di01IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/air-vent\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAirVent = /*#__PURE__*/(() => {\n  class LucideAirVent extends LucideIconBase {\n    static icon = {\n      name: 'air-vent',\n      size: 24,\n      node: [['path', {\n        d: 'M18 17.5a2.5 2.5 0 1 1-4 2.03V12',\n        key: 'yd12zl'\n      }], ['path', {\n        d: 'M6 12H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2',\n        key: 'larmp2'\n      }], ['path', {\n        d: 'M6 8h12',\n        key: '6g4wlu'\n      }], ['path', {\n        d: 'M6.6 15.572A2 2 0 1 0 10 17v-5',\n        key: '1x1kqn'\n      }]]\n    };\n    icon = signal(LucideAirVent.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAirVent_BaseFactory;\n      return function LucideAirVent_Factory(__ngFactoryType__) {\n        return (ɵLucideAirVent_BaseFactory || (ɵLucideAirVent_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAirVent)))(__ngFactoryType__ || LucideAirVent);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAirVent,\n      selectors: [[\"svg\", \"lucideAirVent\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c9,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAirVent_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAirVent_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAirVent;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ALargeSmall\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMTYgMi41MzYtNy4zMjhhMS4wMiAxLjAyIDEgMCAxIDEuOTI4IDBMMjIgMTYiIC8+CiAgPHBhdGggZD0iTTE1LjY5NyAxNGg1LjYwNiIgLz4KICA8cGF0aCBkPSJtMiAxNiA0LjAzOS05LjY5YS41LjUgMCAwIDEgLjkyMyAwTDExIDE2IiAvPgogIDxwYXRoIGQ9Ik0zLjMwNCAxM2g2LjM5MiIgLz4KPC9zdmc+) - https://lucide.dev/icons/a-large-small\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideALargeSmall = /*#__PURE__*/(() => {\n  class LucideALargeSmall extends LucideIconBase {\n    static icon = {\n      name: 'a-large-small',\n      size: 24,\n      node: [['path', {\n        d: 'm15 16 2.536-7.328a1.02 1.02 1 0 1 1.928 0L22 16',\n        key: 'xik6mr'\n      }], ['path', {\n        d: 'M15.697 14h5.606',\n        key: '1stdlc'\n      }], ['path', {\n        d: 'm2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16',\n        key: 'd5nyq2'\n      }], ['path', {\n        d: 'M3.304 13h6.392',\n        key: '1q3zxz'\n      }]]\n    };\n    icon = signal(LucideALargeSmall.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideALargeSmall_BaseFactory;\n      return function LucideALargeSmall_Factory(__ngFactoryType__) {\n        return (ɵLucideALargeSmall_BaseFactory || (ɵLucideALargeSmall_BaseFactory = i0.ɵɵgetInheritedFactory(LucideALargeSmall)))(__ngFactoryType__ || LucideALargeSmall);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideALargeSmall,\n      selectors: [[\"svg\", \"lucideALargeSmall\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c10,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideALargeSmall_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideALargeSmall_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideALargeSmall;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlarmClockMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEzIiByPSI4IiAvPgogIDxwYXRoIGQ9Ik01IDMgMiA2IiAvPgogIDxwYXRoIGQ9Im0yMiA2LTMtMyIgLz4KICA8cGF0aCBkPSJNNi4zOCAxOC43IDQgMjEiIC8+CiAgPHBhdGggZD0iTTE3LjY0IDE4LjY3IDIwIDIxIiAvPgogIDxwYXRoIGQ9Ik05IDEzaDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/alarm-clock-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlarmClockMinus = /*#__PURE__*/(() => {\n  class LucideAlarmClockMinus extends LucideIconBase {\n    static icon = {\n      name: 'alarm-clock-minus',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '13',\n        r: '8',\n        key: '3y4lt7'\n      }], ['path', {\n        d: 'M5 3 2 6',\n        key: '18tl5t'\n      }], ['path', {\n        d: 'm22 6-3-3',\n        key: '1opdir'\n      }], ['path', {\n        d: 'M6.38 18.7 4 21',\n        key: '17xu3x'\n      }], ['path', {\n        d: 'M17.64 18.67 20 21',\n        key: 'kv2oe2'\n      }], ['path', {\n        d: 'M9 13h6',\n        key: '1uhe8q'\n      }]],\n      aliases: ['alarm-minus']\n    };\n    icon = signal(LucideAlarmClockMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlarmClockMinus_BaseFactory;\n      return function LucideAlarmClockMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideAlarmClockMinus_BaseFactory || (ɵLucideAlarmClockMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlarmClockMinus)))(__ngFactoryType__ || LucideAlarmClockMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlarmClockMinus,\n      selectors: [[\"svg\", \"lucideAlarmClockMinus\", \"\"], [\"svg\", \"lucideAlarmMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c11,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlarmClockMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlarmClockMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlarmClockMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideAlarmClockMinus\n */\nconst LucideAlarmMinus = LucideAlarmClockMinus;\n\n/**\n * @component @name AlarmClockOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNi44NyA2Ljg3YTggOCAwIDEgMCAxMS4yNiAxMS4yNiIgLz4KICA8cGF0aCBkPSJNMTkuOSAxNC4yNWE4IDggMCAwIDAtOS4xNS05LjE1IiAvPgogIDxwYXRoIGQ9Im0yMiA2LTMtMyIgLz4KICA8cGF0aCBkPSJNNi4yNiAxOC42NyA0IDIxIiAvPgogIDxwYXRoIGQ9Im0yIDIgMjAgMjAiIC8+CiAgPHBhdGggZD0iTTQgNCAyIDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/alarm-clock-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlarmClockOff = /*#__PURE__*/(() => {\n  class LucideAlarmClockOff extends LucideIconBase {\n    static icon = {\n      name: 'alarm-clock-off',\n      size: 24,\n      node: [['path', {\n        d: 'M6.87 6.87a8 8 0 1 0 11.26 11.26',\n        key: '3on8tj'\n      }], ['path', {\n        d: 'M19.9 14.25a8 8 0 0 0-9.15-9.15',\n        key: '15ghsc'\n      }], ['path', {\n        d: 'm22 6-3-3',\n        key: '1opdir'\n      }], ['path', {\n        d: 'M6.26 18.67 4 21',\n        key: 'yzmioq'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M4 4 2 6',\n        key: '1ycko6'\n      }]]\n    };\n    icon = signal(LucideAlarmClockOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlarmClockOff_BaseFactory;\n      return function LucideAlarmClockOff_Factory(__ngFactoryType__) {\n        return (ɵLucideAlarmClockOff_BaseFactory || (ɵLucideAlarmClockOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlarmClockOff)))(__ngFactoryType__ || LucideAlarmClockOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlarmClockOff,\n      selectors: [[\"svg\", \"lucideAlarmClockOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c12,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlarmClockOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlarmClockOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlarmClockOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlarmClockPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEzIiByPSI4IiAvPgogIDxwYXRoIGQ9Ik01IDMgMiA2IiAvPgogIDxwYXRoIGQ9Im0yMiA2LTMtMyIgLz4KICA8cGF0aCBkPSJNNi4zOCAxOC43IDQgMjEiIC8+CiAgPHBhdGggZD0iTTE3LjY0IDE4LjY3IDIwIDIxIiAvPgogIDxwYXRoIGQ9Ik0xMiAxMHY2IiAvPgogIDxwYXRoIGQ9Ik05IDEzaDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/alarm-clock-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlarmClockPlus = /*#__PURE__*/(() => {\n  class LucideAlarmClockPlus extends LucideIconBase {\n    static icon = {\n      name: 'alarm-clock-plus',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '13',\n        r: '8',\n        key: '3y4lt7'\n      }], ['path', {\n        d: 'M5 3 2 6',\n        key: '18tl5t'\n      }], ['path', {\n        d: 'm22 6-3-3',\n        key: '1opdir'\n      }], ['path', {\n        d: 'M6.38 18.7 4 21',\n        key: '17xu3x'\n      }], ['path', {\n        d: 'M17.64 18.67 20 21',\n        key: 'kv2oe2'\n      }], ['path', {\n        d: 'M12 10v6',\n        key: '1bos4e'\n      }], ['path', {\n        d: 'M9 13h6',\n        key: '1uhe8q'\n      }]],\n      aliases: ['alarm-plus']\n    };\n    icon = signal(LucideAlarmClockPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlarmClockPlus_BaseFactory;\n      return function LucideAlarmClockPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideAlarmClockPlus_BaseFactory || (ɵLucideAlarmClockPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlarmClockPlus)))(__ngFactoryType__ || LucideAlarmClockPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlarmClockPlus,\n      selectors: [[\"svg\", \"lucideAlarmClockPlus\", \"\"], [\"svg\", \"lucideAlarmPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c13,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlarmClockPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlarmClockPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlarmClockPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideAlarmClockPlus\n */\nconst LucideAlarmPlus = LucideAlarmClockPlus;\n\n/**\n * @component @name AlarmClockCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEzIiByPSI4IiAvPgogIDxwYXRoIGQ9Ik01IDMgMiA2IiAvPgogIDxwYXRoIGQ9Im0yMiA2LTMtMyIgLz4KICA8cGF0aCBkPSJNNi4zOCAxOC43IDQgMjEiIC8+CiAgPHBhdGggZD0iTTE3LjY0IDE4LjY3IDIwIDIxIiAvPgogIDxwYXRoIGQ9Im05IDEzIDIgMiA0LTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/alarm-clock-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlarmClockCheck = /*#__PURE__*/(() => {\n  class LucideAlarmClockCheck extends LucideIconBase {\n    static icon = {\n      name: 'alarm-clock-check',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '13',\n        r: '8',\n        key: '3y4lt7'\n      }], ['path', {\n        d: 'M5 3 2 6',\n        key: '18tl5t'\n      }], ['path', {\n        d: 'm22 6-3-3',\n        key: '1opdir'\n      }], ['path', {\n        d: 'M6.38 18.7 4 21',\n        key: '17xu3x'\n      }], ['path', {\n        d: 'M17.64 18.67 20 21',\n        key: 'kv2oe2'\n      }], ['path', {\n        d: 'm9 13 2 2 4-4',\n        key: '6343dt'\n      }]],\n      aliases: ['alarm-check']\n    };\n    icon = signal(LucideAlarmClockCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlarmClockCheck_BaseFactory;\n      return function LucideAlarmClockCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideAlarmClockCheck_BaseFactory || (ɵLucideAlarmClockCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlarmClockCheck)))(__ngFactoryType__ || LucideAlarmClockCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlarmClockCheck,\n      selectors: [[\"svg\", \"lucideAlarmClockCheck\", \"\"], [\"svg\", \"lucideAlarmCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c14,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlarmClockCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlarmClockCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlarmClockCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideAlarmClockCheck\n */\nconst LucideAlarmCheck = LucideAlarmClockCheck;\n\n/**\n * @component @name AlarmSmoke\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMjFjMC0yLjUgMi0yLjUgMi01IiAvPgogIDxwYXRoIGQ9Ik0xNiAyMWMwLTIuNSAyLTIuNSAyLTUiIC8+CiAgPHBhdGggZD0ibTE5IDgtLjggM2ExLjI1IDEuMjUgMCAwIDEtMS4yIDFIN2ExLjI1IDEuMjUgMCAwIDEtMS4yLTFMNSA4IiAvPgogIDxwYXRoIGQ9Ik0yMSAzYTEgMSAwIDAgMSAxIDF2MmEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY0YTEgMSAwIDAgMSAxLTF6IiAvPgogIDxwYXRoIGQ9Ik02IDIxYzAtMi41IDItMi41IDItNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/alarm-smoke\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlarmSmoke = /*#__PURE__*/(() => {\n  class LucideAlarmSmoke extends LucideIconBase {\n    static icon = {\n      name: 'alarm-smoke',\n      size: 24,\n      node: [['path', {\n        d: 'M11 21c0-2.5 2-2.5 2-5',\n        key: '1sicvv'\n      }], ['path', {\n        d: 'M16 21c0-2.5 2-2.5 2-5',\n        key: '1o3eny'\n      }], ['path', {\n        d: 'm19 8-.8 3a1.25 1.25 0 0 1-1.2 1H7a1.25 1.25 0 0 1-1.2-1L5 8',\n        key: '1bvca4'\n      }], ['path', {\n        d: 'M21 3a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a1 1 0 0 1 1-1z',\n        key: 'x3qr1j'\n      }], ['path', {\n        d: 'M6 21c0-2.5 2-2.5 2-5',\n        key: 'i3w1gp'\n      }]]\n    };\n    icon = signal(LucideAlarmSmoke.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlarmSmoke_BaseFactory;\n      return function LucideAlarmSmoke_Factory(__ngFactoryType__) {\n        return (ɵLucideAlarmSmoke_BaseFactory || (ɵLucideAlarmSmoke_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlarmSmoke)))(__ngFactoryType__ || LucideAlarmSmoke);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlarmSmoke,\n      selectors: [[\"svg\", \"lucideAlarmSmoke\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c15,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlarmSmoke_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlarmSmoke_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlarmSmoke;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Album\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiByeT0iMiIgLz4KICA8cG9seWxpbmUgcG9pbnRzPSIxMSAzIDExIDExIDE0IDggMTcgMTEgMTcgMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/album\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlbum = /*#__PURE__*/(() => {\n  class LucideAlbum extends LucideIconBase {\n    static icon = {\n      name: 'album',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        ry: '2',\n        key: '1m3agn'\n      }], ['polyline', {\n        points: '11 3 11 11 14 8 17 11 17 3',\n        key: '1wcwz3'\n      }]]\n    };\n    icon = signal(LucideAlbum.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlbum_BaseFactory;\n      return function LucideAlbum_Factory(__ngFactoryType__) {\n        return (ɵLucideAlbum_BaseFactory || (ɵLucideAlbum_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlbum)))(__ngFactoryType__ || LucideAlbum);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlbum,\n      selectors: [[\"svg\", \"lucideAlbum\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c16,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlbum_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlbum_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlbum;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignCenterHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxMmgyMCIgLz4KICA8cGF0aCBkPSJNMTAgMTZ2NGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnYtNCIgLz4KICA8cGF0aCBkPSJNMTAgOFY0YTIgMiAwIDAgMC0yLTJINmEyIDIgMCAwIDAtMiAydjQiIC8+CiAgPHBhdGggZD0iTTIwIDE2djFhMiAyIDAgMCAxLTIgMmgtMmEyIDIgMCAwIDEtMi0ydi0xIiAvPgogIDxwYXRoIGQ9Ik0xNCA4VjdjMC0xLjEuOS0yIDItMmgyYTIgMiAwIDAgMSAyIDJ2MSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/align-center-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignCenterHorizontal = /*#__PURE__*/(() => {\n  class LucideAlignCenterHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'align-center-horizontal',\n      size: 24,\n      node: [['path', {\n        d: 'M2 12h20',\n        key: '9i4pu4'\n      }], ['path', {\n        d: 'M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4',\n        key: '11f1s0'\n      }], ['path', {\n        d: 'M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4',\n        key: 't14dx9'\n      }], ['path', {\n        d: 'M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1',\n        key: '1w07xs'\n      }], ['path', {\n        d: 'M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1',\n        key: '1apec2'\n      }]]\n    };\n    icon = signal(LucideAlignCenterHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignCenterHorizontal_BaseFactory;\n      return function LucideAlignCenterHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignCenterHorizontal_BaseFactory || (ɵLucideAlignCenterHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignCenterHorizontal)))(__ngFactoryType__ || LucideAlignCenterHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignCenterHorizontal,\n      selectors: [[\"svg\", \"lucideAlignCenterHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c17,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignCenterHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignCenterHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignCenterHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignCenterVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYyMCIgLz4KICA8cGF0aCBkPSJNOCAxMEg0YTIgMiAwIDAgMS0yLTJWNmMwLTEuMS45LTIgMi0yaDQiIC8+CiAgPHBhdGggZD0iTTE2IDEwaDRhMiAyIDAgMCAwIDItMlY2YTIgMiAwIDAgMC0yLTJoLTQiIC8+CiAgPHBhdGggZD0iTTggMjBIN2EyIDIgMCAwIDEtMi0ydi0yYzAtMS4xLjktMiAyLTJoMSIgLz4KICA8cGF0aCBkPSJNMTYgMTRoMWEyIDIgMCAwIDEgMiAydjJhMiAyIDAgMCAxLTIgMmgtMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/align-center-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignCenterVertical = /*#__PURE__*/(() => {\n  class LucideAlignCenterVertical extends LucideIconBase {\n    static icon = {\n      name: 'align-center-vertical',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v20',\n        key: 't6zp3m'\n      }], ['path', {\n        d: 'M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4',\n        key: '14d6g8'\n      }], ['path', {\n        d: 'M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4',\n        key: '1e2lrw'\n      }], ['path', {\n        d: 'M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1',\n        key: '1fkdwx'\n      }], ['path', {\n        d: 'M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1',\n        key: '1euafb'\n      }]]\n    };\n    icon = signal(LucideAlignCenterVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignCenterVertical_BaseFactory;\n      return function LucideAlignCenterVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignCenterVertical_BaseFactory || (ɵLucideAlignCenterVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignCenterVertical)))(__ngFactoryType__ || LucideAlignCenterVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignCenterVertical,\n      selectors: [[\"svg\", \"lucideAlignCenterVertical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c18,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignCenterVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignCenterVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignCenterVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignEndHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNiIgaGVpZ2h0PSIxNiIgeD0iNCIgeT0iMiIgcng9IjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjYiIGhlaWdodD0iOSIgeD0iMTQiIHk9IjkiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0yMiAyMkgyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/align-end-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignEndHorizontal = /*#__PURE__*/(() => {\n  class LucideAlignEndHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'align-end-horizontal',\n      size: 24,\n      node: [['rect', {\n        width: '6',\n        height: '16',\n        x: '4',\n        y: '2',\n        rx: '2',\n        key: 'z5wdxg'\n      }], ['rect', {\n        width: '6',\n        height: '9',\n        x: '14',\n        y: '9',\n        rx: '2',\n        key: 'um7a8w'\n      }], ['path', {\n        d: 'M22 22H2',\n        key: '19qnx5'\n      }]]\n    };\n    icon = signal(LucideAlignEndHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignEndHorizontal_BaseFactory;\n      return function LucideAlignEndHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignEndHorizontal_BaseFactory || (ɵLucideAlignEndHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignEndHorizontal)))(__ngFactoryType__ || LucideAlignEndHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignEndHorizontal,\n      selectors: [[\"svg\", \"lucideAlignEndHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c19,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignEndHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignEndHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignEndHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignHorizontalDistributeCenter\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNiIgaGVpZ2h0PSIxNCIgeD0iNCIgeT0iNSIgcng9IjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjYiIGhlaWdodD0iMTAiIHg9IjE0IiB5PSI3IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMTcgMjJ2LTUiIC8+CiAgPHBhdGggZD0iTTE3IDdWMiIgLz4KICA8cGF0aCBkPSJNNyAyMnYtMyIgLz4KICA8cGF0aCBkPSJNNyA1VjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/align-horizontal-distribute-center\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignHorizontalDistributeCenter = /*#__PURE__*/(() => {\n  class LucideAlignHorizontalDistributeCenter extends LucideIconBase {\n    static icon = {\n      name: 'align-horizontal-distribute-center',\n      size: 24,\n      node: [['rect', {\n        width: '6',\n        height: '14',\n        x: '4',\n        y: '5',\n        rx: '2',\n        key: '1wwnby'\n      }], ['rect', {\n        width: '6',\n        height: '10',\n        x: '14',\n        y: '7',\n        rx: '2',\n        key: '1fe6j6'\n      }], ['path', {\n        d: 'M17 22v-5',\n        key: '4b6g73'\n      }], ['path', {\n        d: 'M17 7V2',\n        key: 'hnrr36'\n      }], ['path', {\n        d: 'M7 22v-3',\n        key: '1r4jpn'\n      }], ['path', {\n        d: 'M7 5V2',\n        key: 'liy1u9'\n      }]]\n    };\n    icon = signal(LucideAlignHorizontalDistributeCenter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignHorizontalDistributeCenter_BaseFactory;\n      return function LucideAlignHorizontalDistributeCenter_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignHorizontalDistributeCenter_BaseFactory || (ɵLucideAlignHorizontalDistributeCenter_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignHorizontalDistributeCenter)))(__ngFactoryType__ || LucideAlignHorizontalDistributeCenter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignHorizontalDistributeCenter,\n      selectors: [[\"svg\", \"lucideAlignHorizontalDistributeCenter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c20,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignHorizontalDistributeCenter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignHorizontalDistributeCenter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignHorizontalDistributeCenter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignEndVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTYiIGhlaWdodD0iNiIgeD0iMiIgeT0iNCIgcng9IjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjkiIGhlaWdodD0iNiIgeD0iOSIgeT0iMTQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0yMiAyMlYyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/align-end-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignEndVertical = /*#__PURE__*/(() => {\n  class LucideAlignEndVertical extends LucideIconBase {\n    static icon = {\n      name: 'align-end-vertical',\n      size: 24,\n      node: [['rect', {\n        width: '16',\n        height: '6',\n        x: '2',\n        y: '4',\n        rx: '2',\n        key: '10wcwx'\n      }], ['rect', {\n        width: '9',\n        height: '6',\n        x: '9',\n        y: '14',\n        rx: '2',\n        key: '4p5bwg'\n      }], ['path', {\n        d: 'M22 22V2',\n        key: '12ipfv'\n      }]]\n    };\n    icon = signal(LucideAlignEndVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignEndVertical_BaseFactory;\n      return function LucideAlignEndVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignEndVertical_BaseFactory || (ɵLucideAlignEndVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignEndVertical)))(__ngFactoryType__ || LucideAlignEndVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignEndVertical,\n      selectors: [[\"svg\", \"lucideAlignEndVertical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c21,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignEndVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignEndVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignEndVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignHorizontalDistributeEnd\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNiIgaGVpZ2h0PSIxNCIgeD0iNCIgeT0iNSIgcng9IjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjYiIGhlaWdodD0iMTAiIHg9IjE0IiB5PSI3IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMTAgMnYyMCIgLz4KICA8cGF0aCBkPSJNMjAgMnYyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/align-horizontal-distribute-end\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignHorizontalDistributeEnd = /*#__PURE__*/(() => {\n  class LucideAlignHorizontalDistributeEnd extends LucideIconBase {\n    static icon = {\n      name: 'align-horizontal-distribute-end',\n      size: 24,\n      node: [['rect', {\n        width: '6',\n        height: '14',\n        x: '4',\n        y: '5',\n        rx: '2',\n        key: '1wwnby'\n      }], ['rect', {\n        width: '6',\n        height: '10',\n        x: '14',\n        y: '7',\n        rx: '2',\n        key: '1fe6j6'\n      }], ['path', {\n        d: 'M10 2v20',\n        key: 'uyc634'\n      }], ['path', {\n        d: 'M20 2v20',\n        key: '1tx262'\n      }]]\n    };\n    icon = signal(LucideAlignHorizontalDistributeEnd.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignHorizontalDistributeEnd_BaseFactory;\n      return function LucideAlignHorizontalDistributeEnd_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignHorizontalDistributeEnd_BaseFactory || (ɵLucideAlignHorizontalDistributeEnd_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignHorizontalDistributeEnd)))(__ngFactoryType__ || LucideAlignHorizontalDistributeEnd);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignHorizontalDistributeEnd,\n      selectors: [[\"svg\", \"lucideAlignHorizontalDistributeEnd\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c22,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignHorizontalDistributeEnd_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignHorizontalDistributeEnd_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignHorizontalDistributeEnd;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlarmClock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEzIiByPSI4IiAvPgogIDxwYXRoIGQ9Ik0xMiA5djRsMiAyIiAvPgogIDxwYXRoIGQ9Ik01IDMgMiA2IiAvPgogIDxwYXRoIGQ9Im0yMiA2LTMtMyIgLz4KICA8cGF0aCBkPSJNNi4zOCAxOC43IDQgMjEiIC8+CiAgPHBhdGggZD0iTTE3LjY0IDE4LjY3IDIwIDIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/alarm-clock\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlarmClock = /*#__PURE__*/(() => {\n  class LucideAlarmClock extends LucideIconBase {\n    static icon = {\n      name: 'alarm-clock',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '13',\n        r: '8',\n        key: '3y4lt7'\n      }], ['path', {\n        d: 'M12 9v4l2 2',\n        key: '1c63tq'\n      }], ['path', {\n        d: 'M5 3 2 6',\n        key: '18tl5t'\n      }], ['path', {\n        d: 'm22 6-3-3',\n        key: '1opdir'\n      }], ['path', {\n        d: 'M6.38 18.7 4 21',\n        key: '17xu3x'\n      }], ['path', {\n        d: 'M17.64 18.67 20 21',\n        key: 'kv2oe2'\n      }]]\n    };\n    icon = signal(LucideAlarmClock.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlarmClock_BaseFactory;\n      return function LucideAlarmClock_Factory(__ngFactoryType__) {\n        return (ɵLucideAlarmClock_BaseFactory || (ɵLucideAlarmClock_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlarmClock)))(__ngFactoryType__ || LucideAlarmClock);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlarmClock,\n      selectors: [[\"svg\", \"lucideAlarmClock\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c23,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlarmClock_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlarmClock_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlarmClock;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignHorizontalJustifyEnd\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNiIgaGVpZ2h0PSIxNCIgeD0iMiIgeT0iNSIgcng9IjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjYiIGhlaWdodD0iMTAiIHg9IjEyIiB5PSI3IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMjIgMnYyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/align-horizontal-justify-end\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignHorizontalJustifyEnd = /*#__PURE__*/(() => {\n  class LucideAlignHorizontalJustifyEnd extends LucideIconBase {\n    static icon = {\n      name: 'align-horizontal-justify-end',\n      size: 24,\n      node: [['rect', {\n        width: '6',\n        height: '14',\n        x: '2',\n        y: '5',\n        rx: '2',\n        key: 'dy24zr'\n      }], ['rect', {\n        width: '6',\n        height: '10',\n        x: '12',\n        y: '7',\n        rx: '2',\n        key: '1ht384'\n      }], ['path', {\n        d: 'M22 2v20',\n        key: '40qfg1'\n      }]]\n    };\n    icon = signal(LucideAlignHorizontalJustifyEnd.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignHorizontalJustifyEnd_BaseFactory;\n      return function LucideAlignHorizontalJustifyEnd_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignHorizontalJustifyEnd_BaseFactory || (ɵLucideAlignHorizontalJustifyEnd_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignHorizontalJustifyEnd)))(__ngFactoryType__ || LucideAlignHorizontalJustifyEnd);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignHorizontalJustifyEnd,\n      selectors: [[\"svg\", \"lucideAlignHorizontalJustifyEnd\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c24,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignHorizontalJustifyEnd_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignHorizontalJustifyEnd_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignHorizontalJustifyEnd;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignHorizontalJustifyCenter\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNiIgaGVpZ2h0PSIxNCIgeD0iMiIgeT0iNSIgcng9IjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjYiIGhlaWdodD0iMTAiIHg9IjE2IiB5PSI3IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMTIgMnYyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/align-horizontal-justify-center\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignHorizontalJustifyCenter = /*#__PURE__*/(() => {\n  class LucideAlignHorizontalJustifyCenter extends LucideIconBase {\n    static icon = {\n      name: 'align-horizontal-justify-center',\n      size: 24,\n      node: [['rect', {\n        width: '6',\n        height: '14',\n        x: '2',\n        y: '5',\n        rx: '2',\n        key: 'dy24zr'\n      }], ['rect', {\n        width: '6',\n        height: '10',\n        x: '16',\n        y: '7',\n        rx: '2',\n        key: '13zkjt'\n      }], ['path', {\n        d: 'M12 2v20',\n        key: 't6zp3m'\n      }]]\n    };\n    icon = signal(LucideAlignHorizontalJustifyCenter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignHorizontalJustifyCenter_BaseFactory;\n      return function LucideAlignHorizontalJustifyCenter_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignHorizontalJustifyCenter_BaseFactory || (ɵLucideAlignHorizontalJustifyCenter_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignHorizontalJustifyCenter)))(__ngFactoryType__ || LucideAlignHorizontalJustifyCenter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignHorizontalJustifyCenter,\n      selectors: [[\"svg\", \"lucideAlignHorizontalJustifyCenter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c25,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignHorizontalJustifyCenter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignHorizontalJustifyCenter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignHorizontalJustifyCenter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignHorizontalJustifyStart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNiIgaGVpZ2h0PSIxNCIgeD0iNiIgeT0iNSIgcng9IjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjYiIGhlaWdodD0iMTAiIHg9IjE2IiB5PSI3IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMiAydjIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/align-horizontal-justify-start\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignHorizontalJustifyStart = /*#__PURE__*/(() => {\n  class LucideAlignHorizontalJustifyStart extends LucideIconBase {\n    static icon = {\n      name: 'align-horizontal-justify-start',\n      size: 24,\n      node: [['rect', {\n        width: '6',\n        height: '14',\n        x: '6',\n        y: '5',\n        rx: '2',\n        key: 'hsirpf'\n      }], ['rect', {\n        width: '6',\n        height: '10',\n        x: '16',\n        y: '7',\n        rx: '2',\n        key: '13zkjt'\n      }], ['path', {\n        d: 'M2 2v20',\n        key: '1ivd8o'\n      }]]\n    };\n    icon = signal(LucideAlignHorizontalJustifyStart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignHorizontalJustifyStart_BaseFactory;\n      return function LucideAlignHorizontalJustifyStart_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignHorizontalJustifyStart_BaseFactory || (ɵLucideAlignHorizontalJustifyStart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignHorizontalJustifyStart)))(__ngFactoryType__ || LucideAlignHorizontalJustifyStart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignHorizontalJustifyStart,\n      selectors: [[\"svg\", \"lucideAlignHorizontalJustifyStart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c26,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignHorizontalJustifyStart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignHorizontalJustifyStart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignHorizontalJustifyStart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignHorizontalSpaceAround\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNiIgaGVpZ2h0PSIxMCIgeD0iOSIgeT0iNyIgcng9IjIiIC8+CiAgPHBhdGggZD0iTTQgMjJWMiIgLz4KICA8cGF0aCBkPSJNMjAgMjJWMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/align-horizontal-space-around\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignHorizontalSpaceAround = /*#__PURE__*/(() => {\n  class LucideAlignHorizontalSpaceAround extends LucideIconBase {\n    static icon = {\n      name: 'align-horizontal-space-around',\n      size: 24,\n      node: [['rect', {\n        width: '6',\n        height: '10',\n        x: '9',\n        y: '7',\n        rx: '2',\n        key: 'yn7j0q'\n      }], ['path', {\n        d: 'M4 22V2',\n        key: 'tsjzd3'\n      }], ['path', {\n        d: 'M20 22V2',\n        key: '1bnhr8'\n      }]]\n    };\n    icon = signal(LucideAlignHorizontalSpaceAround.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignHorizontalSpaceAround_BaseFactory;\n      return function LucideAlignHorizontalSpaceAround_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignHorizontalSpaceAround_BaseFactory || (ɵLucideAlignHorizontalSpaceAround_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignHorizontalSpaceAround)))(__ngFactoryType__ || LucideAlignHorizontalSpaceAround);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignHorizontalSpaceAround,\n      selectors: [[\"svg\", \"lucideAlignHorizontalSpaceAround\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c27,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignHorizontalSpaceAround_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignHorizontalSpaceAround_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignHorizontalSpaceAround;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignHorizontalSpaceBetween\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNiIgaGVpZ2h0PSIxNCIgeD0iMyIgeT0iNSIgcng9IjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjYiIGhlaWdodD0iMTAiIHg9IjE1IiB5PSI3IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMyAydjIwIiAvPgogIDxwYXRoIGQ9Ik0yMSAydjIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/align-horizontal-space-between\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignHorizontalSpaceBetween = /*#__PURE__*/(() => {\n  class LucideAlignHorizontalSpaceBetween extends LucideIconBase {\n    static icon = {\n      name: 'align-horizontal-space-between',\n      size: 24,\n      node: [['rect', {\n        width: '6',\n        height: '14',\n        x: '3',\n        y: '5',\n        rx: '2',\n        key: 'j77dae'\n      }], ['rect', {\n        width: '6',\n        height: '10',\n        x: '15',\n        y: '7',\n        rx: '2',\n        key: 'bq30hj'\n      }], ['path', {\n        d: 'M3 2v20',\n        key: '1d2pfg'\n      }], ['path', {\n        d: 'M21 2v20',\n        key: 'p059bm'\n      }]]\n    };\n    icon = signal(LucideAlignHorizontalSpaceBetween.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignHorizontalSpaceBetween_BaseFactory;\n      return function LucideAlignHorizontalSpaceBetween_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignHorizontalSpaceBetween_BaseFactory || (ɵLucideAlignHorizontalSpaceBetween_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignHorizontalSpaceBetween)))(__ngFactoryType__ || LucideAlignHorizontalSpaceBetween);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignHorizontalSpaceBetween,\n      selectors: [[\"svg\", \"lucideAlignHorizontalSpaceBetween\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c28,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignHorizontalSpaceBetween_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignHorizontalSpaceBetween_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignHorizontalSpaceBetween;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignHorizontalDistributeStart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNiIgaGVpZ2h0PSIxNCIgeD0iNCIgeT0iNSIgcng9IjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjYiIGhlaWdodD0iMTAiIHg9IjE0IiB5PSI3IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNNCAydjIwIiAvPgogIDxwYXRoIGQ9Ik0xNCAydjIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/align-horizontal-distribute-start\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignHorizontalDistributeStart = /*#__PURE__*/(() => {\n  class LucideAlignHorizontalDistributeStart extends LucideIconBase {\n    static icon = {\n      name: 'align-horizontal-distribute-start',\n      size: 24,\n      node: [['rect', {\n        width: '6',\n        height: '14',\n        x: '4',\n        y: '5',\n        rx: '2',\n        key: '1wwnby'\n      }], ['rect', {\n        width: '6',\n        height: '10',\n        x: '14',\n        y: '7',\n        rx: '2',\n        key: '1fe6j6'\n      }], ['path', {\n        d: 'M4 2v20',\n        key: 'gtpd5x'\n      }], ['path', {\n        d: 'M14 2v20',\n        key: 'tg6bpw'\n      }]]\n    };\n    icon = signal(LucideAlignHorizontalDistributeStart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignHorizontalDistributeStart_BaseFactory;\n      return function LucideAlignHorizontalDistributeStart_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignHorizontalDistributeStart_BaseFactory || (ɵLucideAlignHorizontalDistributeStart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignHorizontalDistributeStart)))(__ngFactoryType__ || LucideAlignHorizontalDistributeStart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignHorizontalDistributeStart,\n      selectors: [[\"svg\", \"lucideAlignHorizontalDistributeStart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c29,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignHorizontalDistributeStart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignHorizontalDistributeStart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignHorizontalDistributeStart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignStartHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNiIgaGVpZ2h0PSIxNiIgeD0iNCIgeT0iNiIgcng9IjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjYiIGhlaWdodD0iOSIgeD0iMTQiIHk9IjYiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0yMiAySDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/align-start-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignStartHorizontal = /*#__PURE__*/(() => {\n  class LucideAlignStartHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'align-start-horizontal',\n      size: 24,\n      node: [['rect', {\n        width: '6',\n        height: '16',\n        x: '4',\n        y: '6',\n        rx: '2',\n        key: '1n4dg1'\n      }], ['rect', {\n        width: '6',\n        height: '9',\n        x: '14',\n        y: '6',\n        rx: '2',\n        key: '17khns'\n      }], ['path', {\n        d: 'M22 2H2',\n        key: 'fhrpnj'\n      }]]\n    };\n    icon = signal(LucideAlignStartHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignStartHorizontal_BaseFactory;\n      return function LucideAlignStartHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignStartHorizontal_BaseFactory || (ɵLucideAlignStartHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignStartHorizontal)))(__ngFactoryType__ || LucideAlignStartHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignStartHorizontal,\n      selectors: [[\"svg\", \"lucideAlignStartHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c30,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignStartHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignStartHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignStartHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignVerticalDistributeCenter\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdoLTMiIC8+CiAgPHBhdGggZD0iTTIyIDdoLTUiIC8+CiAgPHBhdGggZD0iTTUgMTdIMiIgLz4KICA8cGF0aCBkPSJNNyA3SDIiIC8+CiAgPHJlY3QgeD0iNSIgeT0iMTQiIHdpZHRoPSIxNCIgaGVpZ2h0PSI2IiByeD0iMiIgLz4KICA8cmVjdCB4PSI3IiB5PSI0IiB3aWR0aD0iMTAiIGhlaWdodD0iNiIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/align-vertical-distribute-center\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignVerticalDistributeCenter = /*#__PURE__*/(() => {\n  class LucideAlignVerticalDistributeCenter extends LucideIconBase {\n    static icon = {\n      name: 'align-vertical-distribute-center',\n      size: 24,\n      node: [['path', {\n        d: 'M22 17h-3',\n        key: '1lwga1'\n      }], ['path', {\n        d: 'M22 7h-5',\n        key: 'o2endc'\n      }], ['path', {\n        d: 'M5 17H2',\n        key: '1gx9xc'\n      }], ['path', {\n        d: 'M7 7H2',\n        key: '6bq26l'\n      }], ['rect', {\n        x: '5',\n        y: '14',\n        width: '14',\n        height: '6',\n        rx: '2',\n        key: '1qrzuf'\n      }], ['rect', {\n        x: '7',\n        y: '4',\n        width: '10',\n        height: '6',\n        rx: '2',\n        key: 'we8e9z'\n      }]]\n    };\n    icon = signal(LucideAlignVerticalDistributeCenter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignVerticalDistributeCenter_BaseFactory;\n      return function LucideAlignVerticalDistributeCenter_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignVerticalDistributeCenter_BaseFactory || (ɵLucideAlignVerticalDistributeCenter_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignVerticalDistributeCenter)))(__ngFactoryType__ || LucideAlignVerticalDistributeCenter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignVerticalDistributeCenter,\n      selectors: [[\"svg\", \"lucideAlignVerticalDistributeCenter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c31,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignVerticalDistributeCenter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignVerticalDistributeCenter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignVerticalDistributeCenter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignVerticalDistributeEnd\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iNiIgeD0iNSIgeT0iMTQiIHJ4PSIyIiAvPgogIDxyZWN0IHdpZHRoPSIxMCIgaGVpZ2h0PSI2IiB4PSI3IiB5PSI0IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMiAyMGgyMCIgLz4KICA8cGF0aCBkPSJNMiAxMGgyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/align-vertical-distribute-end\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignVerticalDistributeEnd = /*#__PURE__*/(() => {\n  class LucideAlignVerticalDistributeEnd extends LucideIconBase {\n    static icon = {\n      name: 'align-vertical-distribute-end',\n      size: 24,\n      node: [['rect', {\n        width: '14',\n        height: '6',\n        x: '5',\n        y: '14',\n        rx: '2',\n        key: 'jmoj9s'\n      }], ['rect', {\n        width: '10',\n        height: '6',\n        x: '7',\n        y: '4',\n        rx: '2',\n        key: 'aza5on'\n      }], ['path', {\n        d: 'M2 20h20',\n        key: 'owomy5'\n      }], ['path', {\n        d: 'M2 10h20',\n        key: '1ir3d8'\n      }]]\n    };\n    icon = signal(LucideAlignVerticalDistributeEnd.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignVerticalDistributeEnd_BaseFactory;\n      return function LucideAlignVerticalDistributeEnd_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignVerticalDistributeEnd_BaseFactory || (ɵLucideAlignVerticalDistributeEnd_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignVerticalDistributeEnd)))(__ngFactoryType__ || LucideAlignVerticalDistributeEnd);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignVerticalDistributeEnd,\n      selectors: [[\"svg\", \"lucideAlignVerticalDistributeEnd\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c32,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignVerticalDistributeEnd_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignVerticalDistributeEnd_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignVerticalDistributeEnd;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignVerticalDistributeStart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iNiIgeD0iNSIgeT0iMTQiIHJ4PSIyIiAvPgogIDxyZWN0IHdpZHRoPSIxMCIgaGVpZ2h0PSI2IiB4PSI3IiB5PSI0IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMiAxNGgyMCIgLz4KICA8cGF0aCBkPSJNMiA0aDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/align-vertical-distribute-start\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignVerticalDistributeStart = /*#__PURE__*/(() => {\n  class LucideAlignVerticalDistributeStart extends LucideIconBase {\n    static icon = {\n      name: 'align-vertical-distribute-start',\n      size: 24,\n      node: [['rect', {\n        width: '14',\n        height: '6',\n        x: '5',\n        y: '14',\n        rx: '2',\n        key: 'jmoj9s'\n      }], ['rect', {\n        width: '10',\n        height: '6',\n        x: '7',\n        y: '4',\n        rx: '2',\n        key: 'aza5on'\n      }], ['path', {\n        d: 'M2 14h20',\n        key: 'myj16y'\n      }], ['path', {\n        d: 'M2 4h20',\n        key: 'mda7wb'\n      }]]\n    };\n    icon = signal(LucideAlignVerticalDistributeStart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignVerticalDistributeStart_BaseFactory;\n      return function LucideAlignVerticalDistributeStart_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignVerticalDistributeStart_BaseFactory || (ɵLucideAlignVerticalDistributeStart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignVerticalDistributeStart)))(__ngFactoryType__ || LucideAlignVerticalDistributeStart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignVerticalDistributeStart,\n      selectors: [[\"svg\", \"lucideAlignVerticalDistributeStart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c33,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignVerticalDistributeStart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignVerticalDistributeStart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignVerticalDistributeStart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignVerticalJustifyCenter\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iNiIgeD0iNSIgeT0iMTYiIHJ4PSIyIiAvPgogIDxyZWN0IHdpZHRoPSIxMCIgaGVpZ2h0PSI2IiB4PSI3IiB5PSIyIiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMiAxMmgyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/align-vertical-justify-center\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignVerticalJustifyCenter = /*#__PURE__*/(() => {\n  class LucideAlignVerticalJustifyCenter extends LucideIconBase {\n    static icon = {\n      name: 'align-vertical-justify-center',\n      size: 24,\n      node: [['rect', {\n        width: '14',\n        height: '6',\n        x: '5',\n        y: '16',\n        rx: '2',\n        key: '1i8z2d'\n      }], ['rect', {\n        width: '10',\n        height: '6',\n        x: '7',\n        y: '2',\n        rx: '2',\n        key: 'ypihtt'\n      }], ['path', {\n        d: 'M2 12h20',\n        key: '9i4pu4'\n      }]]\n    };\n    icon = signal(LucideAlignVerticalJustifyCenter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignVerticalJustifyCenter_BaseFactory;\n      return function LucideAlignVerticalJustifyCenter_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignVerticalJustifyCenter_BaseFactory || (ɵLucideAlignVerticalJustifyCenter_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignVerticalJustifyCenter)))(__ngFactoryType__ || LucideAlignVerticalJustifyCenter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignVerticalJustifyCenter,\n      selectors: [[\"svg\", \"lucideAlignVerticalJustifyCenter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c34,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignVerticalJustifyCenter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignVerticalJustifyCenter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignVerticalJustifyCenter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignVerticalJustifyEnd\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iNiIgeD0iNSIgeT0iMTIiIHJ4PSIyIiAvPgogIDxyZWN0IHdpZHRoPSIxMCIgaGVpZ2h0PSI2IiB4PSI3IiB5PSIyIiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMiAyMmgyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/align-vertical-justify-end\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignVerticalJustifyEnd = /*#__PURE__*/(() => {\n  class LucideAlignVerticalJustifyEnd extends LucideIconBase {\n    static icon = {\n      name: 'align-vertical-justify-end',\n      size: 24,\n      node: [['rect', {\n        width: '14',\n        height: '6',\n        x: '5',\n        y: '12',\n        rx: '2',\n        key: '4l4tp2'\n      }], ['rect', {\n        width: '10',\n        height: '6',\n        x: '7',\n        y: '2',\n        rx: '2',\n        key: 'ypihtt'\n      }], ['path', {\n        d: 'M2 22h20',\n        key: '272qi7'\n      }]]\n    };\n    icon = signal(LucideAlignVerticalJustifyEnd.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignVerticalJustifyEnd_BaseFactory;\n      return function LucideAlignVerticalJustifyEnd_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignVerticalJustifyEnd_BaseFactory || (ɵLucideAlignVerticalJustifyEnd_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignVerticalJustifyEnd)))(__ngFactoryType__ || LucideAlignVerticalJustifyEnd);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignVerticalJustifyEnd,\n      selectors: [[\"svg\", \"lucideAlignVerticalJustifyEnd\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c35,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignVerticalJustifyEnd_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignVerticalJustifyEnd_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignVerticalJustifyEnd;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignVerticalJustifyStart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iNiIgeD0iNSIgeT0iMTYiIHJ4PSIyIiAvPgogIDxyZWN0IHdpZHRoPSIxMCIgaGVpZ2h0PSI2IiB4PSI3IiB5PSI2IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMiAyaDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/align-vertical-justify-start\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignVerticalJustifyStart = /*#__PURE__*/(() => {\n  class LucideAlignVerticalJustifyStart extends LucideIconBase {\n    static icon = {\n      name: 'align-vertical-justify-start',\n      size: 24,\n      node: [['rect', {\n        width: '14',\n        height: '6',\n        x: '5',\n        y: '16',\n        rx: '2',\n        key: '1i8z2d'\n      }], ['rect', {\n        width: '10',\n        height: '6',\n        x: '7',\n        y: '6',\n        rx: '2',\n        key: '13squh'\n      }], ['path', {\n        d: 'M2 2h20',\n        key: '1ennik'\n      }]]\n    };\n    icon = signal(LucideAlignVerticalJustifyStart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignVerticalJustifyStart_BaseFactory;\n      return function LucideAlignVerticalJustifyStart_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignVerticalJustifyStart_BaseFactory || (ɵLucideAlignVerticalJustifyStart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignVerticalJustifyStart)))(__ngFactoryType__ || LucideAlignVerticalJustifyStart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignVerticalJustifyStart,\n      selectors: [[\"svg\", \"lucideAlignVerticalJustifyStart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c36,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignVerticalJustifyStart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignVerticalJustifyStart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignVerticalJustifyStart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignVerticalSpaceAround\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTAiIGhlaWdodD0iNiIgeD0iNyIgeT0iOSIgcng9IjIiIC8+CiAgPHBhdGggZD0iTTIyIDIwSDIiIC8+CiAgPHBhdGggZD0iTTIyIDRIMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/align-vertical-space-around\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignVerticalSpaceAround = /*#__PURE__*/(() => {\n  class LucideAlignVerticalSpaceAround extends LucideIconBase {\n    static icon = {\n      name: 'align-vertical-space-around',\n      size: 24,\n      node: [['rect', {\n        width: '10',\n        height: '6',\n        x: '7',\n        y: '9',\n        rx: '2',\n        key: 'b1zbii'\n      }], ['path', {\n        d: 'M22 20H2',\n        key: '1p1f7z'\n      }], ['path', {\n        d: 'M22 4H2',\n        key: '1b7qnq'\n      }]]\n    };\n    icon = signal(LucideAlignVerticalSpaceAround.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignVerticalSpaceAround_BaseFactory;\n      return function LucideAlignVerticalSpaceAround_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignVerticalSpaceAround_BaseFactory || (ɵLucideAlignVerticalSpaceAround_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignVerticalSpaceAround)))(__ngFactoryType__ || LucideAlignVerticalSpaceAround);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignVerticalSpaceAround,\n      selectors: [[\"svg\", \"lucideAlignVerticalSpaceAround\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c37,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignVerticalSpaceAround_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignVerticalSpaceAround_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignVerticalSpaceAround;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignVerticalSpaceBetween\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iNiIgeD0iNSIgeT0iMTUiIHJ4PSIyIiAvPgogIDxyZWN0IHdpZHRoPSIxMCIgaGVpZ2h0PSI2IiB4PSI3IiB5PSIzIiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMiAyMWgyMCIgLz4KICA8cGF0aCBkPSJNMiAzaDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/align-vertical-space-between\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignVerticalSpaceBetween = /*#__PURE__*/(() => {\n  class LucideAlignVerticalSpaceBetween extends LucideIconBase {\n    static icon = {\n      name: 'align-vertical-space-between',\n      size: 24,\n      node: [['rect', {\n        width: '14',\n        height: '6',\n        x: '5',\n        y: '15',\n        rx: '2',\n        key: '1w91an'\n      }], ['rect', {\n        width: '10',\n        height: '6',\n        x: '7',\n        y: '3',\n        rx: '2',\n        key: '17wqzy'\n      }], ['path', {\n        d: 'M2 21h20',\n        key: '1nyx9w'\n      }], ['path', {\n        d: 'M2 3h20',\n        key: '91anmk'\n      }]]\n    };\n    icon = signal(LucideAlignVerticalSpaceBetween.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignVerticalSpaceBetween_BaseFactory;\n      return function LucideAlignVerticalSpaceBetween_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignVerticalSpaceBetween_BaseFactory || (ɵLucideAlignVerticalSpaceBetween_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignVerticalSpaceBetween)))(__ngFactoryType__ || LucideAlignVerticalSpaceBetween);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignVerticalSpaceBetween,\n      selectors: [[\"svg\", \"lucideAlignVerticalSpaceBetween\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c38,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignVerticalSpaceBetween_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignVerticalSpaceBetween_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignVerticalSpaceBetween;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ambulance\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTBINiIgLz4KICA8cGF0aCBkPSJNMTQgMThWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMWExIDEgMCAwIDAgMSAxaDIiIC8+CiAgPHBhdGgKICAgIGQ9Ik0xOSAxOGgyYTEgMSAwIDAgMCAxLTF2LTMuMjhhMSAxIDAgMCAwLS42ODQtLjk0OGwtMS45MjMtLjY0MWExIDEgMCAwIDEtLjU3OC0uNTAybC0xLjUzOS0zLjA3NkExIDEgMCAwIDAgMTYuMzgyIDhIMTQiIC8+CiAgPHBhdGggZD0iTTggOHY0IiAvPgogIDxwYXRoIGQ9Ik05IDE4aDYiIC8+CiAgPGNpcmNsZSBjeD0iMTciIGN5PSIxOCIgcj0iMiIgLz4KICA8Y2lyY2xlIGN4PSI3IiBjeT0iMTgiIHI9IjIiIC8+Cjwvc3ZnPg==) - https://lucide.dev/icons/ambulance\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAmbulance = /*#__PURE__*/(() => {\n  class LucideAmbulance extends LucideIconBase {\n    static icon = {\n      name: 'ambulance',\n      size: 24,\n      node: [['path', {\n        d: 'M10 10H6',\n        key: '1bsnug'\n      }], ['path', {\n        d: 'M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2',\n        key: 'wrbu53'\n      }], ['path', {\n        d: 'M19 18h2a1 1 0 0 0 1-1v-3.28a1 1 0 0 0-.684-.948l-1.923-.641a1 1 0 0 1-.578-.502l-1.539-3.076A1 1 0 0 0 16.382 8H14',\n        key: 'lrkjwd'\n      }], ['path', {\n        d: 'M8 8v4',\n        key: '1fwk8c'\n      }], ['path', {\n        d: 'M9 18h6',\n        key: 'x1upvd'\n      }], ['circle', {\n        cx: '17',\n        cy: '18',\n        r: '2',\n        key: '332jqn'\n      }], ['circle', {\n        cx: '7',\n        cy: '18',\n        r: '2',\n        key: '19iecd'\n      }]]\n    };\n    icon = signal(LucideAmbulance.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAmbulance_BaseFactory;\n      return function LucideAmbulance_Factory(__ngFactoryType__) {\n        return (ɵLucideAmbulance_BaseFactory || (ɵLucideAmbulance_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAmbulance)))(__ngFactoryType__ || LucideAmbulance);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAmbulance,\n      selectors: [[\"svg\", \"lucideAmbulance\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c39,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAmbulance_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAmbulance_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAmbulance;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AlignStartVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iOSIgaGVpZ2h0PSI2IiB4PSI2IiB5PSIxNCIgcng9IjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjYiIHg9IjYiIHk9IjQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0yIDJ2MjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/align-start-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAlignStartVertical = /*#__PURE__*/(() => {\n  class LucideAlignStartVertical extends LucideIconBase {\n    static icon = {\n      name: 'align-start-vertical',\n      size: 24,\n      node: [['rect', {\n        width: '9',\n        height: '6',\n        x: '6',\n        y: '14',\n        rx: '2',\n        key: 'lpm2y7'\n      }], ['rect', {\n        width: '16',\n        height: '6',\n        x: '6',\n        y: '4',\n        rx: '2',\n        key: 'rdj6ps'\n      }], ['path', {\n        d: 'M2 2v20',\n        key: '1ivd8o'\n      }]]\n    };\n    icon = signal(LucideAlignStartVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAlignStartVertical_BaseFactory;\n      return function LucideAlignStartVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideAlignStartVertical_BaseFactory || (ɵLucideAlignStartVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAlignStartVertical)))(__ngFactoryType__ || LucideAlignStartVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAlignStartVertical,\n      selectors: [[\"svg\", \"lucideAlignStartVertical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c40,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAlignStartVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAlignStartVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAlignStartVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ampersand\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTJoMyIgLz4KICA8cGF0aCBkPSJNMTcuNSAxMmE4IDggMCAwIDEtOCA4QTQuNSA0LjUgMCAwIDEgNSAxNS41YzAtNiA4LTQgOC04LjVhMyAzIDAgMSAwLTYgMGMwIDMgMi41IDguNSAxMiAxMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/ampersand\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAmpersand = /*#__PURE__*/(() => {\n  class LucideAmpersand extends LucideIconBase {\n    static icon = {\n      name: 'ampersand',\n      size: 24,\n      node: [['path', {\n        d: 'M16 12h3',\n        key: '4uvgyw'\n      }], ['path', {\n        d: 'M17.5 12a8 8 0 0 1-8 8A4.5 4.5 0 0 1 5 15.5c0-6 8-4 8-8.5a3 3 0 1 0-6 0c0 3 2.5 8.5 12 13',\n        key: 'nfoe1t'\n      }]]\n    };\n    icon = signal(LucideAmpersand.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAmpersand_BaseFactory;\n      return function LucideAmpersand_Factory(__ngFactoryType__) {\n        return (ɵLucideAmpersand_BaseFactory || (ɵLucideAmpersand_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAmpersand)))(__ngFactoryType__ || LucideAmpersand);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAmpersand,\n      selectors: [[\"svg\", \"lucideAmpersand\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c41,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAmpersand_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAmpersand_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAmpersand;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ampersands\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTdjLTUtMy03LTctNy05YTIgMiAwIDAgMSA0IDBjMCAyLjUtNSAyLjUtNSA2IDAgMS43IDEuMyAzIDMgMyAyLjggMCA1LTIuMiA1LTUiIC8+CiAgPHBhdGggZD0iTTIyIDE3Yy01LTMtNy03LTctOWEyIDIgMCAwIDEgNCAwYzAgMi41LTUgMi41LTUgNiAwIDEuNyAxLjMgMyAzIDMgMi44IDAgNS0yLjIgNS01IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ampersands\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAmpersands = /*#__PURE__*/(() => {\n  class LucideAmpersands extends LucideIconBase {\n    static icon = {\n      name: 'ampersands',\n      size: 24,\n      node: [['path', {\n        d: 'M10 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5',\n        key: '12lh1k'\n      }], ['path', {\n        d: 'M22 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5',\n        key: '173c68'\n      }]]\n    };\n    icon = signal(LucideAmpersands.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAmpersands_BaseFactory;\n      return function LucideAmpersands_Factory(__ngFactoryType__) {\n        return (ɵLucideAmpersands_BaseFactory || (ɵLucideAmpersands_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAmpersands)))(__ngFactoryType__ || LucideAmpersands);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAmpersands,\n      selectors: [[\"svg\", \"lucideAmpersands\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c42,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAmpersands_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAmpersands_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAmpersands;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Amphora\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMnY1LjYzMmMwIC40MjQtLjI3Mi43OTUtLjY1My45ODJBNiA2IDAgMCAwIDYgMTRjLjAwNiA0IDMgNyA1IDgiIC8+CiAgPHBhdGggZD0iTTEwIDVIOGEyIDIgMCAwIDAgMCA0aC42OCIgLz4KICA8cGF0aCBkPSJNMTQgMnY1LjYzMmMwIC40MjQuMjcyLjc5NS42NTIuOTgyQTYgNiAwIDAgMSAxOCAxNGMwIDQtMyA3LTUgOCIgLz4KICA8cGF0aCBkPSJNMTQgNWgyYTIgMiAwIDAgMSAwIDRoLS42OCIgLz4KICA8cGF0aCBkPSJNMTggMjJINiIgLz4KICA8cGF0aCBkPSJNOSAyaDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/amphora\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAmphora = /*#__PURE__*/(() => {\n  class LucideAmphora extends LucideIconBase {\n    static icon = {\n      name: 'amphora',\n      size: 24,\n      node: [['path', {\n        d: 'M10 2v5.632c0 .424-.272.795-.653.982A6 6 0 0 0 6 14c.006 4 3 7 5 8',\n        key: '1h8rid'\n      }], ['path', {\n        d: 'M10 5H8a2 2 0 0 0 0 4h.68',\n        key: '3ezsi6'\n      }], ['path', {\n        d: 'M14 2v5.632c0 .424.272.795.652.982A6 6 0 0 1 18 14c0 4-3 7-5 8',\n        key: 'yt6q09'\n      }], ['path', {\n        d: 'M14 5h2a2 2 0 0 1 0 4h-.68',\n        key: '8f95yk'\n      }], ['path', {\n        d: 'M18 22H6',\n        key: 'mg6kv4'\n      }], ['path', {\n        d: 'M9 2h6',\n        key: '1jrp98'\n      }]]\n    };\n    icon = signal(LucideAmphora.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAmphora_BaseFactory;\n      return function LucideAmphora_Factory(__ngFactoryType__) {\n        return (ɵLucideAmphora_BaseFactory || (ɵLucideAmphora_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAmphora)))(__ngFactoryType__ || LucideAmphora);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAmphora,\n      selectors: [[\"svg\", \"lucideAmphora\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c43,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAmphora_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAmphora_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAmphora;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Angry\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTYgMTZzLTEuNS0yLTQtMi00IDItNCAyIiAvPgogIDxwYXRoIGQ9Ik03LjUgOCAxMCA5IiAvPgogIDxwYXRoIGQ9Im0xNCA5IDIuNS0xIiAvPgogIDxwYXRoIGQ9Ik05IDEwaC4wMSIgLz4KICA8cGF0aCBkPSJNMTUgMTBoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/angry\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAngry = /*#__PURE__*/(() => {\n  class LucideAngry extends LucideIconBase {\n    static icon = {\n      name: 'angry',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M16 16s-1.5-2-4-2-4 2-4 2',\n        key: 'epbg0q'\n      }], ['path', {\n        d: 'M7.5 8 10 9',\n        key: 'olxxln'\n      }], ['path', {\n        d: 'm14 9 2.5-1',\n        key: '1j6cij'\n      }], ['path', {\n        d: 'M9 10h.01',\n        key: 'qbtxuw'\n      }], ['path', {\n        d: 'M15 10h.01',\n        key: '1qmjsl'\n      }]]\n    };\n    icon = signal(LucideAngry.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAngry_BaseFactory;\n      return function LucideAngry_Factory(__ngFactoryType__) {\n        return (ɵLucideAngry_BaseFactory || (ɵLucideAngry_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAngry)))(__ngFactoryType__ || LucideAngry);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAngry,\n      selectors: [[\"svg\", \"lucideAngry\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c44,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAngry_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAngry_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAngry;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Annoyed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNOCAxNWg4IiAvPgogIDxwYXRoIGQ9Ik04IDloMiIgLz4KICA8cGF0aCBkPSJNMTQgOWgyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/annoyed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAnnoyed = /*#__PURE__*/(() => {\n  class LucideAnnoyed extends LucideIconBase {\n    static icon = {\n      name: 'annoyed',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M8 15h8',\n        key: '45n4r'\n      }], ['path', {\n        d: 'M8 9h2',\n        key: '1g203m'\n      }], ['path', {\n        d: 'M14 9h2',\n        key: '116p9w'\n      }]]\n    };\n    icon = signal(LucideAnnoyed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAnnoyed_BaseFactory;\n      return function LucideAnnoyed_Factory(__ngFactoryType__) {\n        return (ɵLucideAnnoyed_BaseFactory || (ɵLucideAnnoyed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAnnoyed)))(__ngFactoryType__ || LucideAnnoyed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAnnoyed,\n      selectors: [[\"svg\", \"lucideAnnoyed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c45,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAnnoyed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAnnoyed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAnnoyed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Antenna\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxMiA3IDIiIC8+CiAgPHBhdGggZD0ibTcgMTIgNS0xMCIgLz4KICA8cGF0aCBkPSJtMTIgMTIgNS0xMCIgLz4KICA8cGF0aCBkPSJtMTcgMTIgNS0xMCIgLz4KICA8cGF0aCBkPSJNNC41IDdoMTUiIC8+CiAgPHBhdGggZD0iTTEyIDE2djYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/antenna\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAntenna = /*#__PURE__*/(() => {\n  class LucideAntenna extends LucideIconBase {\n    static icon = {\n      name: 'antenna',\n      size: 24,\n      node: [['path', {\n        d: 'M2 12 7 2',\n        key: '117k30'\n      }], ['path', {\n        d: 'm7 12 5-10',\n        key: '1tvx22'\n      }], ['path', {\n        d: 'm12 12 5-10',\n        key: 'ev1o1a'\n      }], ['path', {\n        d: 'm17 12 5-10',\n        key: '1e4ti3'\n      }], ['path', {\n        d: 'M4.5 7h15',\n        key: 'vlsxkz'\n      }], ['path', {\n        d: 'M12 16v6',\n        key: 'c8a4gj'\n      }]]\n    };\n    icon = signal(LucideAntenna.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAntenna_BaseFactory;\n      return function LucideAntenna_Factory(__ngFactoryType__) {\n        return (ɵLucideAntenna_BaseFactory || (ɵLucideAntenna_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAntenna)))(__ngFactoryType__ || LucideAntenna);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAntenna,\n      selectors: [[\"svg\", \"lucideAntenna\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c46,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAntenna_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAntenna_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAntenna;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Anvil\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAxMEg2YTQgNCAwIDAgMS00LTQgMSAxIDAgMCAxIDEtMWg0IiAvPgogIDxwYXRoIGQ9Ik03IDVhMSAxIDAgMCAxIDEtMWgxM2ExIDEgMCAwIDEgMSAxIDcgNyAwIDAgMS03IDdIOGExIDEgMCAwIDEtMS0xeiIgLz4KICA8cGF0aCBkPSJNOSAxMnY1IiAvPgogIDxwYXRoIGQ9Ik0xNSAxMnY1IiAvPgogIDxwYXRoIGQ9Ik01IDIwYTMgMyAwIDAgMSAzLTNoOGEzIDMgMCAwIDEgMyAzIDEgMSAwIDAgMS0xIDFINmExIDEgMCAwIDEtMS0xIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/anvil\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAnvil = /*#__PURE__*/(() => {\n  class LucideAnvil extends LucideIconBase {\n    static icon = {\n      name: 'anvil',\n      size: 24,\n      node: [['path', {\n        d: 'M7 10H6a4 4 0 0 1-4-4 1 1 0 0 1 1-1h4',\n        key: '1hjpb6'\n      }], ['path', {\n        d: 'M7 5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1 7 7 0 0 1-7 7H8a1 1 0 0 1-1-1z',\n        key: '1qn45f'\n      }], ['path', {\n        d: 'M9 12v5',\n        key: '3anwtq'\n      }], ['path', {\n        d: 'M15 12v5',\n        key: '5xh3zn'\n      }], ['path', {\n        d: 'M5 20a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3 1 1 0 0 1-1 1H6a1 1 0 0 1-1-1',\n        key: '1fi4x8'\n      }]]\n    };\n    icon = signal(LucideAnvil.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAnvil_BaseFactory;\n      return function LucideAnvil_Factory(__ngFactoryType__) {\n        return (ɵLucideAnvil_BaseFactory || (ɵLucideAnvil_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAnvil)))(__ngFactoryType__ || LucideAnvil);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAnvil,\n      selectors: [[\"svg\", \"lucideAnvil\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c47,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAnvil_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAnvil_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAnvil;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Aperture\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtMTQuMzEgOCA1Ljc0IDkuOTQiIC8+CiAgPHBhdGggZD0iTTkuNjkgOGgxMS40OCIgLz4KICA8cGF0aCBkPSJtNy4zOCAxMiA1Ljc0LTkuOTQiIC8+CiAgPHBhdGggZD0iTTkuNjkgMTYgMy45NSA2LjA2IiAvPgogIDxwYXRoIGQ9Ik0xNC4zMSAxNkgyLjgzIiAvPgogIDxwYXRoIGQ9Im0xNi42MiAxMi01Ljc0IDkuOTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/aperture\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAperture = /*#__PURE__*/(() => {\n  class LucideAperture extends LucideIconBase {\n    static icon = {\n      name: 'aperture',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'm14.31 8 5.74 9.94',\n        key: '1y6ab4'\n      }], ['path', {\n        d: 'M9.69 8h11.48',\n        key: '1wxppr'\n      }], ['path', {\n        d: 'm7.38 12 5.74-9.94',\n        key: '1grp0k'\n      }], ['path', {\n        d: 'M9.69 16 3.95 6.06',\n        key: 'libnyf'\n      }], ['path', {\n        d: 'M14.31 16H2.83',\n        key: 'x5fava'\n      }], ['path', {\n        d: 'm16.62 12-5.74 9.94',\n        key: '1vwawt'\n      }]]\n    };\n    icon = signal(LucideAperture.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAperture_BaseFactory;\n      return function LucideAperture_Factory(__ngFactoryType__) {\n        return (ɵLucideAperture_BaseFactory || (ɵLucideAperture_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAperture)))(__ngFactoryType__ || LucideAperture);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAperture,\n      selectors: [[\"svg\", \"lucideAperture\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c48,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAperture_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAperture_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAperture;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Anchor\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNnYxNiIgLz4KICA8cGF0aCBkPSJtMTkgMTMgMi0xYTkgOSAwIDAgMS0xOCAwbDIgMSIgLz4KICA8cGF0aCBkPSJNOSAxMWg2IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iNCIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/anchor\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAnchor = /*#__PURE__*/(() => {\n  class LucideAnchor extends LucideIconBase {\n    static icon = {\n      name: 'anchor',\n      size: 24,\n      node: [['path', {\n        d: 'M12 6v16',\n        key: 'nqf5sj'\n      }], ['path', {\n        d: 'm19 13 2-1a9 9 0 0 1-18 0l2 1',\n        key: 'y7qv08'\n      }], ['path', {\n        d: 'M9 11h6',\n        key: '1fldmi'\n      }], ['circle', {\n        cx: '12',\n        cy: '4',\n        r: '2',\n        key: 'muu5ef'\n      }]]\n    };\n    icon = signal(LucideAnchor.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAnchor_BaseFactory;\n      return function LucideAnchor_Factory(__ngFactoryType__) {\n        return (ɵLucideAnchor_BaseFactory || (ɵLucideAnchor_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAnchor)))(__ngFactoryType__ || LucideAnchor);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAnchor,\n      selectors: [[\"svg\", \"lucideAnchor\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c49,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAnchor_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAnchor_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAnchor;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AppWindow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB4PSIyIiB5PSI0IiB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xMCA0djQiIC8+CiAgPHBhdGggZD0iTTIgOGgyMCIgLz4KICA8cGF0aCBkPSJNNiA0djQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/app-window\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAppWindow = /*#__PURE__*/(() => {\n  class LucideAppWindow extends LucideIconBase {\n    static icon = {\n      name: 'app-window',\n      size: 24,\n      node: [['rect', {\n        x: '2',\n        y: '4',\n        width: '20',\n        height: '16',\n        rx: '2',\n        key: 'izxlao'\n      }], ['path', {\n        d: 'M10 4v4',\n        key: 'pp8u80'\n      }], ['path', {\n        d: 'M2 8h20',\n        key: 'd11cs7'\n      }], ['path', {\n        d: 'M6 4v4',\n        key: '1svtjw'\n      }]]\n    };\n    icon = signal(LucideAppWindow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAppWindow_BaseFactory;\n      return function LucideAppWindow_Factory(__ngFactoryType__) {\n        return (ɵLucideAppWindow_BaseFactory || (ɵLucideAppWindow_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAppWindow)))(__ngFactoryType__ || LucideAppWindow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAppWindow,\n      selectors: [[\"svg\", \"lucideAppWindow\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c50,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAppWindow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAppWindow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAppWindow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Apple\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNi41MjhWM2ExIDEgMCAwIDEgMS0xaDAiIC8+CiAgPHBhdGggZD0iTTE4LjIzNyAyMUExNSAxNSAwIDAgMCAyMiAxMWE2IDYgMCAwIDAtMTAtNC40NzJBNiA2IDAgMCAwIDIgMTFhMTUuMSAxNS4xIDAgMCAwIDMuNzYzIDEwIDMgMyAwIDAgMCAzLjY0OC42NDggNS41IDUuNSAwIDAgMSA1LjE3OCAwQTMgMyAwIDAgMCAxOC4yMzcgMjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/apple\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideApple = /*#__PURE__*/(() => {\n  class LucideApple extends LucideIconBase {\n    static icon = {\n      name: 'apple',\n      size: 24,\n      node: [['path', {\n        d: 'M12 6.528V3a1 1 0 0 1 1-1h0',\n        key: '11qiee'\n      }], ['path', {\n        d: 'M18.237 21A15 15 0 0 0 22 11a6 6 0 0 0-10-4.472A6 6 0 0 0 2 11a15.1 15.1 0 0 0 3.763 10 3 3 0 0 0 3.648.648 5.5 5.5 0 0 1 5.178 0A3 3 0 0 0 18.237 21',\n        key: '110c12'\n      }]]\n    };\n    icon = signal(LucideApple.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideApple_BaseFactory;\n      return function LucideApple_Factory(__ngFactoryType__) {\n        return (ɵLucideApple_BaseFactory || (ɵLucideApple_BaseFactory = i0.ɵɵgetInheritedFactory(LucideApple)))(__ngFactoryType__ || LucideApple);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideApple,\n      selectors: [[\"svg\", \"lucideApple\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c51,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideApple_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideApple_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideApple;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArchiveRestore\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iNSIgeD0iMiIgeT0iMyIgcng9IjEiIC8+CiAgPHBhdGggZD0iTTQgOHYxMWEyIDIgMCAwIDAgMiAyaDIiIC8+CiAgPHBhdGggZD0iTTIwIDh2MTFhMiAyIDAgMCAxLTIgMmgtMiIgLz4KICA8cGF0aCBkPSJtOSAxNSAzLTMgMyAzIiAvPgogIDxwYXRoIGQ9Ik0xMiAxMnY5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/archive-restore\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArchiveRestore = /*#__PURE__*/(() => {\n  class LucideArchiveRestore extends LucideIconBase {\n    static icon = {\n      name: 'archive-restore',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '5',\n        x: '2',\n        y: '3',\n        rx: '1',\n        key: '1wp1u1'\n      }], ['path', {\n        d: 'M4 8v11a2 2 0 0 0 2 2h2',\n        key: 'tvwodi'\n      }], ['path', {\n        d: 'M20 8v11a2 2 0 0 1-2 2h-2',\n        key: '1gkqxj'\n      }], ['path', {\n        d: 'm9 15 3-3 3 3',\n        key: '1pd0qc'\n      }], ['path', {\n        d: 'M12 12v9',\n        key: '192myk'\n      }]]\n    };\n    icon = signal(LucideArchiveRestore.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArchiveRestore_BaseFactory;\n      return function LucideArchiveRestore_Factory(__ngFactoryType__) {\n        return (ɵLucideArchiveRestore_BaseFactory || (ɵLucideArchiveRestore_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArchiveRestore)))(__ngFactoryType__ || LucideArchiveRestore);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArchiveRestore,\n      selectors: [[\"svg\", \"lucideArchiveRestore\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c52,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArchiveRestore_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArchiveRestore_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArchiveRestore;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArchiveX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iNSIgeD0iMiIgeT0iMyIgcng9IjEiIC8+CiAgPHBhdGggZD0iTTQgOHYxMWEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOCIgLz4KICA8cGF0aCBkPSJtOS41IDE3IDUtNSIgLz4KICA8cGF0aCBkPSJtOS41IDEyIDUgNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/archive-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArchiveX = /*#__PURE__*/(() => {\n  class LucideArchiveX extends LucideIconBase {\n    static icon = {\n      name: 'archive-x',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '5',\n        x: '2',\n        y: '3',\n        rx: '1',\n        key: '1wp1u1'\n      }], ['path', {\n        d: 'M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8',\n        key: '1s80jp'\n      }], ['path', {\n        d: 'm9.5 17 5-5',\n        key: 'nakeu6'\n      }], ['path', {\n        d: 'm9.5 12 5 5',\n        key: '1hccrj'\n      }]]\n    };\n    icon = signal(LucideArchiveX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArchiveX_BaseFactory;\n      return function LucideArchiveX_Factory(__ngFactoryType__) {\n        return (ɵLucideArchiveX_BaseFactory || (ɵLucideArchiveX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArchiveX)))(__ngFactoryType__ || LucideArchiveX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArchiveX,\n      selectors: [[\"svg\", \"lucideArchiveX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c53,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArchiveX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArchiveX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArchiveX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Archive\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iNSIgeD0iMiIgeT0iMyIgcng9IjEiIC8+CiAgPHBhdGggZD0iTTQgOHYxMWEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOCIgLz4KICA8cGF0aCBkPSJNMTAgMTJoNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/archive\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArchive = /*#__PURE__*/(() => {\n  class LucideArchive extends LucideIconBase {\n    static icon = {\n      name: 'archive',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '5',\n        x: '2',\n        y: '3',\n        rx: '1',\n        key: '1wp1u1'\n      }], ['path', {\n        d: 'M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8',\n        key: '1s80jp'\n      }], ['path', {\n        d: 'M10 12h4',\n        key: 'a56b0p'\n      }]]\n    };\n    icon = signal(LucideArchive.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArchive_BaseFactory;\n      return function LucideArchive_Factory(__ngFactoryType__) {\n        return (ɵLucideArchive_BaseFactory || (ɵLucideArchive_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArchive)))(__ngFactoryType__ || LucideArchive);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArchive,\n      selectors: [[\"svg\", \"lucideArchive\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c54,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArchive_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArchive_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArchive;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Armchair\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgOVY2YTIgMiAwIDAgMC0yLTJIN2EyIDIgMCAwIDAtMiAydjMiIC8+CiAgPHBhdGggZD0iTTMgMTZhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi01YTIgMiAwIDAgMC00IDB2MS41YS41LjUgMCAwIDEtLjUuNWgtOWEuNS41IDAgMCAxLS41LS41VjExYTIgMiAwIDAgMC00IDB6IiAvPgogIDxwYXRoIGQ9Ik01IDE4djIiIC8+CiAgPHBhdGggZD0iTTE5IDE4djIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/armchair\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArmchair = /*#__PURE__*/(() => {\n  class LucideArmchair extends LucideIconBase {\n    static icon = {\n      name: 'armchair',\n      size: 24,\n      node: [['path', {\n        d: 'M19 9V6a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v3',\n        key: 'irtipd'\n      }], ['path', {\n        d: 'M3 16a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z',\n        key: '1qyhux'\n      }], ['path', {\n        d: 'M5 18v2',\n        key: 'ppbyun'\n      }], ['path', {\n        d: 'M19 18v2',\n        key: 'gy7782'\n      }]]\n    };\n    icon = signal(LucideArmchair.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArmchair_BaseFactory;\n      return function LucideArmchair_Factory(__ngFactoryType__) {\n        return (ɵLucideArmchair_BaseFactory || (ɵLucideArmchair_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArmchair)))(__ngFactoryType__ || LucideArmchair);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArmchair,\n      selectors: [[\"svg\", \"lucideArmchair\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c55,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArmchair_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArmchair_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArmchair;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AppWindowMac\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHg9IjIiIHk9IjQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik02IDhoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMCA4aC4wMSIgLz4KICA8cGF0aCBkPSJNMTQgOGguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/app-window-mac\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAppWindowMac = /*#__PURE__*/(() => {\n  class LucideAppWindowMac extends LucideIconBase {\n    static icon = {\n      name: 'app-window-mac',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '16',\n        x: '2',\n        y: '4',\n        rx: '2',\n        key: '18n3k1'\n      }], ['path', {\n        d: 'M6 8h.01',\n        key: 'x9i8wu'\n      }], ['path', {\n        d: 'M10 8h.01',\n        key: '1r9ogq'\n      }], ['path', {\n        d: 'M14 8h.01',\n        key: '1primd'\n      }]]\n    };\n    icon = signal(LucideAppWindowMac.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAppWindowMac_BaseFactory;\n      return function LucideAppWindowMac_Factory(__ngFactoryType__) {\n        return (ɵLucideAppWindowMac_BaseFactory || (ɵLucideAppWindowMac_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAppWindowMac)))(__ngFactoryType__ || LucideAppWindowMac);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAppWindowMac,\n      selectors: [[\"svg\", \"lucideAppWindowMac\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c56,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAppWindowMac_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAppWindowMac_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAppWindowMac;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowBigLeftDash\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgOWExIDEgMCAwIDEtMS0xVjQuNzA3YS43MDcuNzA3IDAgMCAwLTEuMjA3LS41bC02Ljk0IDYuOTRhMS4yMDcgMS4yMDcgMCAwIDAgMCAxLjcwN2w2Ljk0IDYuOTRhLjcwNy43MDcgMCAwIDAgMS4yMDctLjVWMTZhMSAxIDAgMCAxIDEtMWgyYTEgMSAwIDAgMCAxLTF2LTRhMSAxIDAgMCAwLTEtMXoiIC8+CiAgPHBhdGggZD0iTTIwIDl2NiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-big-left-dash\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowBigLeftDash = /*#__PURE__*/(() => {\n  class LucideArrowBigLeftDash extends LucideIconBase {\n    static icon = {\n      name: 'arrow-big-left-dash',\n      size: 24,\n      node: [['path', {\n        d: 'M13 9a1 1 0 0 1-1-1V4.707a.707.707 0 0 0-1.207-.5l-6.94 6.94a1.207 1.207 0 0 0 0 1.707l6.94 6.94a.707.707 0 0 0 1.207-.5V16a1 1 0 0 1 1-1h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1z',\n        key: '17jy80'\n      }], ['path', {\n        d: 'M20 9v6',\n        key: '14roy0'\n      }]]\n    };\n    icon = signal(LucideArrowBigLeftDash.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowBigLeftDash_BaseFactory;\n      return function LucideArrowBigLeftDash_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowBigLeftDash_BaseFactory || (ɵLucideArrowBigLeftDash_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowBigLeftDash)))(__ngFactoryType__ || LucideArrowBigLeftDash);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowBigLeftDash,\n      selectors: [[\"svg\", \"lucideArrowBigLeftDash\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c57,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowBigLeftDash_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowBigLeftDash_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowBigLeftDash;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowBigDownDash\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgOGExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAwIDEgMWgzLjI5M2EuNzA3LjcwNyAwIDAgMSAuNSAxLjIwN2wtNi45MzkgNi45MzlhMS4yMDcgMS4yMDcgMCAwIDEtMS43MDggMGwtNi45NC02Ljk0YS43MDcuNzA3IDAgMCAxIC41LTEuMjA2SDhhMSAxIDAgMCAwIDEtMVY5YTEgMSAwIDAgMSAxLTF6IiAvPgogIDxwYXRoIGQ9Ik05IDRoNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-big-down-dash\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowBigDownDash = /*#__PURE__*/(() => {\n  class LucideArrowBigDownDash extends LucideIconBase {\n    static icon = {\n      name: 'arrow-big-down-dash',\n      size: 24,\n      node: [['path', {\n        d: 'M14 8a1 1 0 0 1 1 1v2a1 1 0 0 0 1 1h3.293a.707.707 0 0 1 .5 1.207l-6.939 6.939a1.207 1.207 0 0 1-1.708 0l-6.94-6.94a.707.707 0 0 1 .5-1.206H8a1 1 0 0 0 1-1V9a1 1 0 0 1 1-1z',\n        key: '1b91ra'\n      }], ['path', {\n        d: 'M9 4h6',\n        key: '10am2s'\n      }]]\n    };\n    icon = signal(LucideArrowBigDownDash.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowBigDownDash_BaseFactory;\n      return function LucideArrowBigDownDash_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowBigDownDash_BaseFactory || (ɵLucideArrowBigDownDash_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowBigDownDash)))(__ngFactoryType__ || LucideArrowBigDownDash);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowBigDownDash,\n      selectors: [[\"svg\", \"lucideArrowBigDownDash\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c58,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowBigDownDash_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowBigDownDash_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowBigDownDash;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowBigLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNzkzIDE5Ljc5M2EuNzA3LjcwNyAwIDAgMCAxLjIwNy0uNVYxNmExIDEgMCAwIDEgMS0xaDZhMSAxIDAgMCAwIDEtMXYtNGExIDEgMCAwIDAtMS0xaC02YTEgMSAwIDAgMS0xLTFWNC43MDdhLjcwNy43MDcgMCAwIDAtMS4yMDctLjVsLTYuOTQgNi45NGExLjIwNyAxLjIwNyAwIDAgMCAwIDEuNzA3eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-big-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowBigLeft = /*#__PURE__*/(() => {\n  class LucideArrowBigLeft extends LucideIconBase {\n    static icon = {\n      name: 'arrow-big-left',\n      size: 24,\n      node: [['path', {\n        d: 'M10.793 19.793a.707.707 0 0 0 1.207-.5V16a1 1 0 0 1 1-1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-6a1 1 0 0 1-1-1V4.707a.707.707 0 0 0-1.207-.5l-6.94 6.94a1.207 1.207 0 0 0 0 1.707z',\n        key: 'qbhtmx'\n      }]]\n    };\n    icon = signal(LucideArrowBigLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowBigLeft_BaseFactory;\n      return function LucideArrowBigLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowBigLeft_BaseFactory || (ɵLucideArrowBigLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowBigLeft)))(__ngFactoryType__ || LucideArrowBigLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowBigLeft,\n      selectors: [[\"svg\", \"lucideArrowBigLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c59,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowBigLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowBigLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowBigLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowBigRightDash\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgOWExIDEgMCAwIDAgMS0xVjQuNzA3YS43MDcuNzA3IDAgMCAxIDEuMjA3LS41bDYuOTQgNi45NGExLjIwNyAxLjIwNyAwIDAgMSAwIDEuNzA3bC02Ljk0IDYuOTRhLjcwNy43MDcgMCAwIDEtMS4yMDctLjVWMTZhMSAxIDAgMCAwLTEtMUg5YTEgMSAwIDAgMS0xLTF2LTRhMSAxIDAgMCAxIDEtMXoiIC8+CiAgPHBhdGggZD0iTTQgOXY2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/arrow-big-right-dash\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowBigRightDash = /*#__PURE__*/(() => {\n  class LucideArrowBigRightDash extends LucideIconBase {\n    static icon = {\n      name: 'arrow-big-right-dash',\n      size: 24,\n      node: [['path', {\n        d: 'M11 9a1 1 0 0 0 1-1V4.707a.707.707 0 0 1 1.207-.5l6.94 6.94a1.207 1.207 0 0 1 0 1.707l-6.94 6.94a.707.707 0 0 1-1.207-.5V16a1 1 0 0 0-1-1H9a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z',\n        key: '9idyso'\n      }], ['path', {\n        d: 'M4 9v6',\n        key: 'bns7oa'\n      }]]\n    };\n    icon = signal(LucideArrowBigRightDash.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowBigRightDash_BaseFactory;\n      return function LucideArrowBigRightDash_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowBigRightDash_BaseFactory || (ɵLucideArrowBigRightDash_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowBigRightDash)))(__ngFactoryType__ || LucideArrowBigRightDash);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowBigRightDash,\n      selectors: [[\"svg\", \"lucideArrowBigRightDash\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c60,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowBigRightDash_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowBigRightDash_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowBigRightDash;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowBigRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuMjA3IDE5Ljc5M2EuNzA3LjcwNyAwIDAgMS0xLjIwNy0uNVYxNmExIDEgMCAwIDAtMS0xSDVhMSAxIDAgMCAxLTEtMXYtNGExIDEgMCAwIDEgMS0xaDZhMSAxIDAgMCAwIDEtMVY0LjcwN2EuNzA3LjcwNyAwIDAgMSAxLjIwNy0uNWw2Ljk0IDYuOTRhMS4yMDcgMS4yMDcgMCAwIDEgMCAxLjcwN3oiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-big-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowBigRight = /*#__PURE__*/(() => {\n  class LucideArrowBigRight extends LucideIconBase {\n    static icon = {\n      name: 'arrow-big-right',\n      size: 24,\n      node: [['path', {\n        d: 'M13.207 19.793a.707.707 0 0 1-1.207-.5V16a1 1 0 0 0-1-1H5a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h6a1 1 0 0 0 1-1V4.707a.707.707 0 0 1 1.207-.5l6.94 6.94a1.207 1.207 0 0 1 0 1.707z',\n        key: 'zee3eo'\n      }]]\n    };\n    icon = signal(LucideArrowBigRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowBigRight_BaseFactory;\n      return function LucideArrowBigRight_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowBigRight_BaseFactory || (ɵLucideArrowBigRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowBigRight)))(__ngFactoryType__ || LucideArrowBigRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowBigRight,\n      selectors: [[\"svg\", \"lucideArrowBigRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c61,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowBigRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowBigRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowBigRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowBigUpDash\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMTZhMSAxIDAgMCAwIDEtMXYtMmExIDEgMCAwIDEgMS0xaDMuMjkzYS43MDcuNzA3IDAgMCAwIC41LTEuMjA3bC02LjkzOS02LjkzOWExLjIwNyAxLjIwNyAwIDAgMC0xLjcwOCAwbC02Ljk0IDYuOTRhLjcwNy43MDcgMCAwIDAgLjUgMS4yMDZIOGExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAwIDEgMXoiIC8+CiAgPHBhdGggZD0iTTkgMjBoNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-big-up-dash\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowBigUpDash = /*#__PURE__*/(() => {\n  class LucideArrowBigUpDash extends LucideIconBase {\n    static icon = {\n      name: 'arrow-big-up-dash',\n      size: 24,\n      node: [['path', {\n        d: 'M14 16a1 1 0 0 0 1-1v-2a1 1 0 0 1 1-1h3.293a.707.707 0 0 0 .5-1.207l-6.939-6.939a1.207 1.207 0 0 0-1.708 0l-6.94 6.94a.707.707 0 0 0 .5 1.206H8a1 1 0 0 1 1 1v2a1 1 0 0 0 1 1z',\n        key: 'q57loy'\n      }], ['path', {\n        d: 'M9 20h6',\n        key: 's66wpe'\n      }]]\n    };\n    icon = signal(LucideArrowBigUpDash.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowBigUpDash_BaseFactory;\n      return function LucideArrowBigUpDash_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowBigUpDash_BaseFactory || (ɵLucideArrowBigUpDash_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowBigUpDash)))(__ngFactoryType__ || LucideArrowBigUpDash);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowBigUpDash,\n      selectors: [[\"svg\", \"lucideArrowBigUpDash\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c62,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowBigUpDash_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowBigUpDash_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowBigUpDash;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowBigUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSAxOWExIDEgMCAwIDAgMSAxaDRhMSAxIDAgMCAwIDEtMXYtNmExIDEgMCAwIDEgMS0xaDMuMjkzYS43MDcuNzA3IDAgMCAwIC41LTEuMjA3bC03LjA4Ni03LjA4NmExIDEgMCAwIDAtMS40MTQgMGwtNy4wODYgNy4wODZhLjcwNy43MDcgMCAwIDAgLjUgMS4yMDdIOGExIDEgMCAwIDEgMSAxeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-big-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowBigUp = /*#__PURE__*/(() => {\n  class LucideArrowBigUp extends LucideIconBase {\n    static icon = {\n      name: 'arrow-big-up',\n      size: 24,\n      node: [['path', {\n        d: 'M9 19a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-6a1 1 0 0 1 1-1h3.293a.707.707 0 0 0 .5-1.207l-7.086-7.086a1 1 0 0 0-1.414 0l-7.086 7.086a.707.707 0 0 0 .5 1.207H8a1 1 0 0 1 1 1z',\n        key: '106j91'\n      }]]\n    };\n    icon = signal(LucideArrowBigUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowBigUp_BaseFactory;\n      return function LucideArrowBigUp_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowBigUp_BaseFactory || (ɵLucideArrowBigUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowBigUp)))(__ngFactoryType__ || LucideArrowBigUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowBigUp,\n      selectors: [[\"svg\", \"lucideArrowBigUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c63,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowBigUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowBigUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowBigUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowDown10\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMyAxNiA0IDQgNC00IiAvPgogIDxwYXRoIGQ9Ik03IDIwVjQiIC8+CiAgPHBhdGggZD0iTTE3IDEwVjRoLTIiIC8+CiAgPHBhdGggZD0iTTE1IDEwaDQiIC8+CiAgPHJlY3QgeD0iMTUiIHk9IjE0IiB3aWR0aD0iNCIgaGVpZ2h0PSI2IiByeT0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-down-1-0\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowDown10 = /*#__PURE__*/(() => {\n  class LucideArrowDown10 extends LucideIconBase {\n    static icon = {\n      name: 'arrow-down-1-0',\n      size: 24,\n      node: [['path', {\n        d: 'm3 16 4 4 4-4',\n        key: '1co6wj'\n      }], ['path', {\n        d: 'M7 20V4',\n        key: '1yoxec'\n      }], ['path', {\n        d: 'M17 10V4h-2',\n        key: 'zcsr5x'\n      }], ['path', {\n        d: 'M15 10h4',\n        key: 'id2lce'\n      }], ['rect', {\n        x: '15',\n        y: '14',\n        width: '4',\n        height: '6',\n        ry: '2',\n        key: '33xykx'\n      }]],\n      aliases: ['arrow-down-10']\n    };\n    icon = signal(LucideArrowDown10.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowDown10_BaseFactory;\n      return function LucideArrowDown10_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowDown10_BaseFactory || (ɵLucideArrowDown10_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowDown10)))(__ngFactoryType__ || LucideArrowDown10);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowDown10,\n      selectors: [[\"svg\", \"lucideArrowDown10\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c64,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowDown10_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowDown10_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowDown10;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowDown01\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMyAxNiA0IDQgNC00IiAvPgogIDxwYXRoIGQ9Ik03IDIwVjQiIC8+CiAgPHJlY3QgeD0iMTUiIHk9IjQiIHdpZHRoPSI0IiBoZWlnaHQ9IjYiIHJ5PSIyIiAvPgogIDxwYXRoIGQ9Ik0xNyAyMHYtNmgtMiIgLz4KICA8cGF0aCBkPSJNMTUgMjBoNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-down-0-1\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowDown01 = /*#__PURE__*/(() => {\n  class LucideArrowDown01 extends LucideIconBase {\n    static icon = {\n      name: 'arrow-down-0-1',\n      size: 24,\n      node: [['path', {\n        d: 'm3 16 4 4 4-4',\n        key: '1co6wj'\n      }], ['path', {\n        d: 'M7 20V4',\n        key: '1yoxec'\n      }], ['rect', {\n        x: '15',\n        y: '4',\n        width: '4',\n        height: '6',\n        ry: '2',\n        key: '1bwicg'\n      }], ['path', {\n        d: 'M17 20v-6h-2',\n        key: '1qp1so'\n      }], ['path', {\n        d: 'M15 20h4',\n        key: '1j968p'\n      }]],\n      aliases: ['arrow-down-01']\n    };\n    icon = signal(LucideArrowDown01.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowDown01_BaseFactory;\n      return function LucideArrowDown01_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowDown01_BaseFactory || (ɵLucideArrowDown01_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowDown01)))(__ngFactoryType__ || LucideArrowDown01);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowDown01,\n      selectors: [[\"svg\", \"lucideArrowDown01\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c65,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowDown01_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowDown01_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowDown01;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowDownFromLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgM0g1IiAvPgogIDxwYXRoIGQ9Ik0xMiAyMVY3IiAvPgogIDxwYXRoIGQ9Im02IDE1IDYgNiA2LTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-down-from-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowDownFromLine = /*#__PURE__*/(() => {\n  class LucideArrowDownFromLine extends LucideIconBase {\n    static icon = {\n      name: 'arrow-down-from-line',\n      size: 24,\n      node: [['path', {\n        d: 'M19 3H5',\n        key: '1236rx'\n      }], ['path', {\n        d: 'M12 21V7',\n        key: 'gj6g52'\n      }], ['path', {\n        d: 'm6 15 6 6 6-6',\n        key: 'h15q88'\n      }]]\n    };\n    icon = signal(LucideArrowDownFromLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowDownFromLine_BaseFactory;\n      return function LucideArrowDownFromLine_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowDownFromLine_BaseFactory || (ɵLucideArrowDownFromLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowDownFromLine)))(__ngFactoryType__ || LucideArrowDownFromLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowDownFromLine,\n      selectors: [[\"svg\", \"lucideArrowDownFromLine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c66,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowDownFromLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowDownFromLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowDownFromLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowDownAZ\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMyAxNiA0IDQgNC00IiAvPgogIDxwYXRoIGQ9Ik03IDIwVjQiIC8+CiAgPHBhdGggZD0iTTIwIDhoLTUiIC8+CiAgPHBhdGggZD0iTTE1IDEwVjYuNWEyLjUgMi41IDAgMCAxIDUgMFYxMCIgLz4KICA8cGF0aCBkPSJNMTUgMTRoNWwtNSA2aDUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-down-a-z\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowDownAZ = /*#__PURE__*/(() => {\n  class LucideArrowDownAZ extends LucideIconBase {\n    static icon = {\n      name: 'arrow-down-a-z',\n      size: 24,\n      node: [['path', {\n        d: 'm3 16 4 4 4-4',\n        key: '1co6wj'\n      }], ['path', {\n        d: 'M7 20V4',\n        key: '1yoxec'\n      }], ['path', {\n        d: 'M20 8h-5',\n        key: '1vsyxs'\n      }], ['path', {\n        d: 'M15 10V6.5a2.5 2.5 0 0 1 5 0V10',\n        key: 'ag13bf'\n      }], ['path', {\n        d: 'M15 14h5l-5 6h5',\n        key: 'ur5jdg'\n      }]],\n      aliases: ['arrow-down-az']\n    };\n    icon = signal(LucideArrowDownAZ.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowDownAZ_BaseFactory;\n      return function LucideArrowDownAZ_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowDownAZ_BaseFactory || (ɵLucideArrowDownAZ_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowDownAZ)))(__ngFactoryType__ || LucideArrowDownAZ);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowDownAZ,\n      selectors: [[\"svg\", \"lucideArrowDownAZ\", \"\"], [\"svg\", \"lucideArrowDownAz\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c67,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowDownAZ_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowDownAZ_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowDownAZ;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideArrowDownAZ\n */\nconst LucideArrowDownAz = LucideArrowDownAZ;\n\n/**\n * @component @name ArrowDownLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgNyA3IDE3IiAvPgogIDxwYXRoIGQ9Ik0xNyAxN0g3VjciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-down-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowDownLeft = /*#__PURE__*/(() => {\n  class LucideArrowDownLeft extends LucideIconBase {\n    static icon = {\n      name: 'arrow-down-left',\n      size: 24,\n      node: [['path', {\n        d: 'M17 7 7 17',\n        key: '15tmo1'\n      }], ['path', {\n        d: 'M17 17H7V7',\n        key: '1org7z'\n      }]]\n    };\n    icon = signal(LucideArrowDownLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowDownLeft_BaseFactory;\n      return function LucideArrowDownLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowDownLeft_BaseFactory || (ɵLucideArrowDownLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowDownLeft)))(__ngFactoryType__ || LucideArrowDownLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowDownLeft,\n      selectors: [[\"svg\", \"lucideArrowDownLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c68,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowDownLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowDownLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowDownLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowDownNarrowWide\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMyAxNiA0IDQgNC00IiAvPgogIDxwYXRoIGQ9Ik03IDIwVjQiIC8+CiAgPHBhdGggZD0iTTExIDRoNCIgLz4KICA8cGF0aCBkPSJNMTEgOGg3IiAvPgogIDxwYXRoIGQ9Ik0xMSAxMmgxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-down-narrow-wide\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowDownNarrowWide = /*#__PURE__*/(() => {\n  class LucideArrowDownNarrowWide extends LucideIconBase {\n    static icon = {\n      name: 'arrow-down-narrow-wide',\n      size: 24,\n      node: [['path', {\n        d: 'm3 16 4 4 4-4',\n        key: '1co6wj'\n      }], ['path', {\n        d: 'M7 20V4',\n        key: '1yoxec'\n      }], ['path', {\n        d: 'M11 4h4',\n        key: '6d7r33'\n      }], ['path', {\n        d: 'M11 8h7',\n        key: 'djye34'\n      }], ['path', {\n        d: 'M11 12h10',\n        key: '1438ji'\n      }]]\n    };\n    icon = signal(LucideArrowDownNarrowWide.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowDownNarrowWide_BaseFactory;\n      return function LucideArrowDownNarrowWide_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowDownNarrowWide_BaseFactory || (ɵLucideArrowDownNarrowWide_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowDownNarrowWide)))(__ngFactoryType__ || LucideArrowDownNarrowWide);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowDownNarrowWide,\n      selectors: [[\"svg\", \"lucideArrowDownNarrowWide\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c69,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowDownNarrowWide_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowDownNarrowWide_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowDownNarrowWide;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowDownRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNyA3IDEwIDEwIiAvPgogIDxwYXRoIGQ9Ik0xNyA3djEwSDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-down-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowDownRight = /*#__PURE__*/(() => {\n  class LucideArrowDownRight extends LucideIconBase {\n    static icon = {\n      name: 'arrow-down-right',\n      size: 24,\n      node: [['path', {\n        d: 'm7 7 10 10',\n        key: '1fmybs'\n      }], ['path', {\n        d: 'M17 7v10H7',\n        key: '6fjiku'\n      }]]\n    };\n    icon = signal(LucideArrowDownRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowDownRight_BaseFactory;\n      return function LucideArrowDownRight_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowDownRight_BaseFactory || (ɵLucideArrowDownRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowDownRight)))(__ngFactoryType__ || LucideArrowDownRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowDownRight,\n      selectors: [[\"svg\", \"lucideArrowDownRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c70,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowDownRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowDownRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowDownRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowDownToDot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYxNCIgLz4KICA8cGF0aCBkPSJtMTkgOS03IDctNy03IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMjEiIHI9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-down-to-dot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowDownToDot = /*#__PURE__*/(() => {\n  class LucideArrowDownToDot extends LucideIconBase {\n    static icon = {\n      name: 'arrow-down-to-dot',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v14',\n        key: 'jyx4ut'\n      }], ['path', {\n        d: 'm19 9-7 7-7-7',\n        key: '1oe3oy'\n      }], ['circle', {\n        cx: '12',\n        cy: '21',\n        r: '1',\n        key: 'o0uj5v'\n      }]]\n    };\n    icon = signal(LucideArrowDownToDot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowDownToDot_BaseFactory;\n      return function LucideArrowDownToDot_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowDownToDot_BaseFactory || (ɵLucideArrowDownToDot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowDownToDot)))(__ngFactoryType__ || LucideArrowDownToDot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowDownToDot,\n      selectors: [[\"svg\", \"lucideArrowDownToDot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c71,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowDownToDot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowDownToDot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowDownToDot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowDownToLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTdWMyIgLz4KICA8cGF0aCBkPSJtNiAxMSA2IDYgNi02IiAvPgogIDxwYXRoIGQ9Ik0xOSAyMUg1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/arrow-down-to-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowDownToLine = /*#__PURE__*/(() => {\n  class LucideArrowDownToLine extends LucideIconBase {\n    static icon = {\n      name: 'arrow-down-to-line',\n      size: 24,\n      node: [['path', {\n        d: 'M12 17V3',\n        key: '1cwfxf'\n      }], ['path', {\n        d: 'm6 11 6 6 6-6',\n        key: '12ii2o'\n      }], ['path', {\n        d: 'M19 21H5',\n        key: '150jfl'\n      }]]\n    };\n    icon = signal(LucideArrowDownToLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowDownToLine_BaseFactory;\n      return function LucideArrowDownToLine_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowDownToLine_BaseFactory || (ɵLucideArrowDownToLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowDownToLine)))(__ngFactoryType__ || LucideArrowDownToLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowDownToLine,\n      selectors: [[\"svg\", \"lucideArrowDownToLine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c72,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowDownToLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowDownToLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowDownToLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowDownUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMyAxNiA0IDQgNC00IiAvPgogIDxwYXRoIGQ9Ik03IDIwVjQiIC8+CiAgPHBhdGggZD0ibTIxIDgtNC00LTQgNCIgLz4KICA8cGF0aCBkPSJNMTcgNHYxNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-down-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowDownUp = /*#__PURE__*/(() => {\n  class LucideArrowDownUp extends LucideIconBase {\n    static icon = {\n      name: 'arrow-down-up',\n      size: 24,\n      node: [['path', {\n        d: 'm3 16 4 4 4-4',\n        key: '1co6wj'\n      }], ['path', {\n        d: 'M7 20V4',\n        key: '1yoxec'\n      }], ['path', {\n        d: 'm21 8-4-4-4 4',\n        key: '1c9v7m'\n      }], ['path', {\n        d: 'M17 4v16',\n        key: '7dpous'\n      }]]\n    };\n    icon = signal(LucideArrowDownUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowDownUp_BaseFactory;\n      return function LucideArrowDownUp_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowDownUp_BaseFactory || (ɵLucideArrowDownUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowDownUp)))(__ngFactoryType__ || LucideArrowDownUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowDownUp,\n      selectors: [[\"svg\", \"lucideArrowDownUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c73,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowDownUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowDownUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowDownUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowDownWideNarrow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMyAxNiA0IDQgNC00IiAvPgogIDxwYXRoIGQ9Ik03IDIwVjQiIC8+CiAgPHBhdGggZD0iTTExIDRoMTAiIC8+CiAgPHBhdGggZD0iTTExIDhoNyIgLz4KICA8cGF0aCBkPSJNMTEgMTJoNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-down-wide-narrow\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowDownWideNarrow = /*#__PURE__*/(() => {\n  class LucideArrowDownWideNarrow extends LucideIconBase {\n    static icon = {\n      name: 'arrow-down-wide-narrow',\n      size: 24,\n      node: [['path', {\n        d: 'm3 16 4 4 4-4',\n        key: '1co6wj'\n      }], ['path', {\n        d: 'M7 20V4',\n        key: '1yoxec'\n      }], ['path', {\n        d: 'M11 4h10',\n        key: '1w87gc'\n      }], ['path', {\n        d: 'M11 8h7',\n        key: 'djye34'\n      }], ['path', {\n        d: 'M11 12h4',\n        key: 'q8tih4'\n      }]],\n      aliases: ['sort-desc']\n    };\n    icon = signal(LucideArrowDownWideNarrow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowDownWideNarrow_BaseFactory;\n      return function LucideArrowDownWideNarrow_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowDownWideNarrow_BaseFactory || (ɵLucideArrowDownWideNarrow_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowDownWideNarrow)))(__ngFactoryType__ || LucideArrowDownWideNarrow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowDownWideNarrow,\n      selectors: [[\"svg\", \"lucideArrowDownWideNarrow\", \"\"], [\"svg\", \"lucideSortDesc\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c74,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowDownWideNarrow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowDownWideNarrow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowDownWideNarrow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideArrowDownWideNarrow\n */\nconst LucideSortDesc = LucideArrowDownWideNarrow;\n\n/**\n * @component @name ArrowDownZA\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMyAxNiA0IDQgNC00IiAvPgogIDxwYXRoIGQ9Ik03IDR2MTYiIC8+CiAgPHBhdGggZD0iTTE1IDRoNWwtNSA2aDUiIC8+CiAgPHBhdGggZD0iTTE1IDIwdi0zLjVhMi41IDIuNSAwIDAgMSA1IDBWMjAiIC8+CiAgPHBhdGggZD0iTTIwIDE4aC01IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/arrow-down-z-a\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowDownZA = /*#__PURE__*/(() => {\n  class LucideArrowDownZA extends LucideIconBase {\n    static icon = {\n      name: 'arrow-down-z-a',\n      size: 24,\n      node: [['path', {\n        d: 'm3 16 4 4 4-4',\n        key: '1co6wj'\n      }], ['path', {\n        d: 'M7 4v16',\n        key: '1glfcx'\n      }], ['path', {\n        d: 'M15 4h5l-5 6h5',\n        key: '8asdl1'\n      }], ['path', {\n        d: 'M15 20v-3.5a2.5 2.5 0 0 1 5 0V20',\n        key: 'r6l5cz'\n      }], ['path', {\n        d: 'M20 18h-5',\n        key: '18j1r2'\n      }]],\n      aliases: ['arrow-down-za']\n    };\n    icon = signal(LucideArrowDownZA.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowDownZA_BaseFactory;\n      return function LucideArrowDownZA_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowDownZA_BaseFactory || (ɵLucideArrowDownZA_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowDownZA)))(__ngFactoryType__ || LucideArrowDownZA);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowDownZA,\n      selectors: [[\"svg\", \"lucideArrowDownZA\", \"\"], [\"svg\", \"lucideArrowDownZa\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c75,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowDownZA_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowDownZA_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowDownZA;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideArrowDownZA\n */\nconst LucideArrowDownZa = LucideArrowDownZA;\n\n/**\n * @component @name ArrowDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNXYxNCIgLz4KICA8cGF0aCBkPSJtMTkgMTItNyA3LTctNyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowDown = /*#__PURE__*/(() => {\n  class LucideArrowDown extends LucideIconBase {\n    static icon = {\n      name: 'arrow-down',\n      size: 24,\n      node: [['path', {\n        d: 'M12 5v14',\n        key: 's699le'\n      }], ['path', {\n        d: 'm19 12-7 7-7-7',\n        key: '1idqje'\n      }]]\n    };\n    icon = signal(LucideArrowDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowDown_BaseFactory;\n      return function LucideArrowDown_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowDown_BaseFactory || (ɵLucideArrowDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowDown)))(__ngFactoryType__ || LucideArrowDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowDown,\n      selectors: [[\"svg\", \"lucideArrowDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c76,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowLeftFromLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOSA2LTYgNiA2IDYiIC8+CiAgPHBhdGggZD0iTTMgMTJoMTQiIC8+CiAgPHBhdGggZD0iTTIxIDE5VjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-left-from-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowLeftFromLine = /*#__PURE__*/(() => {\n  class LucideArrowLeftFromLine extends LucideIconBase {\n    static icon = {\n      name: 'arrow-left-from-line',\n      size: 24,\n      node: [['path', {\n        d: 'm9 6-6 6 6 6',\n        key: '7v63n9'\n      }], ['path', {\n        d: 'M3 12h14',\n        key: '13k4hi'\n      }], ['path', {\n        d: 'M21 19V5',\n        key: 'b4bplr'\n      }]]\n    };\n    icon = signal(LucideArrowLeftFromLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowLeftFromLine_BaseFactory;\n      return function LucideArrowLeftFromLine_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowLeftFromLine_BaseFactory || (ɵLucideArrowLeftFromLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowLeftFromLine)))(__ngFactoryType__ || LucideArrowLeftFromLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowLeftFromLine,\n      selectors: [[\"svg\", \"lucideArrowLeftFromLine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c77,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowLeftFromLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowLeftFromLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowLeftFromLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowLeftRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAzIDQgN2w0IDQiIC8+CiAgPHBhdGggZD0iTTQgN2gxNiIgLz4KICA8cGF0aCBkPSJtMTYgMjEgNC00LTQtNCIgLz4KICA8cGF0aCBkPSJNMjAgMTdINCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-left-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowLeftRight = /*#__PURE__*/(() => {\n  class LucideArrowLeftRight extends LucideIconBase {\n    static icon = {\n      name: 'arrow-left-right',\n      size: 24,\n      node: [['path', {\n        d: 'M8 3 4 7l4 4',\n        key: '9rb6wj'\n      }], ['path', {\n        d: 'M4 7h16',\n        key: '6tx8e3'\n      }], ['path', {\n        d: 'm16 21 4-4-4-4',\n        key: 'siv7j2'\n      }], ['path', {\n        d: 'M20 17H4',\n        key: 'h6l3hr'\n      }]]\n    };\n    icon = signal(LucideArrowLeftRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowLeftRight_BaseFactory;\n      return function LucideArrowLeftRight_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowLeftRight_BaseFactory || (ɵLucideArrowLeftRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowLeftRight)))(__ngFactoryType__ || LucideArrowLeftRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowLeftRight,\n      selectors: [[\"svg\", \"lucideArrowLeftRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c78,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowLeftRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowLeftRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowLeftRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowLeftToLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAxOVY1IiAvPgogIDxwYXRoIGQ9Im0xMyA2LTYgNiA2IDYiIC8+CiAgPHBhdGggZD0iTTcgMTJoMTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-left-to-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowLeftToLine = /*#__PURE__*/(() => {\n  class LucideArrowLeftToLine extends LucideIconBase {\n    static icon = {\n      name: 'arrow-left-to-line',\n      size: 24,\n      node: [['path', {\n        d: 'M3 19V5',\n        key: 'rwsyhb'\n      }], ['path', {\n        d: 'm13 6-6 6 6 6',\n        key: '1yhaz7'\n      }], ['path', {\n        d: 'M7 12h14',\n        key: 'uoisry'\n      }]]\n    };\n    icon = signal(LucideArrowLeftToLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowLeftToLine_BaseFactory;\n      return function LucideArrowLeftToLine_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowLeftToLine_BaseFactory || (ɵLucideArrowLeftToLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowLeftToLine)))(__ngFactoryType__ || LucideArrowLeftToLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowLeftToLine,\n      selectors: [[\"svg\", \"lucideArrowLeftToLine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c79,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowLeftToLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowLeftToLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowLeftToLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIgMTktNy03IDctNyIgLz4KICA8cGF0aCBkPSJNMTkgMTJINSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowLeft = /*#__PURE__*/(() => {\n  class LucideArrowLeft extends LucideIconBase {\n    static icon = {\n      name: 'arrow-left',\n      size: 24,\n      node: [['path', {\n        d: 'm12 19-7-7 7-7',\n        key: '1l729n'\n      }], ['path', {\n        d: 'M19 12H5',\n        key: 'x3x0zl'\n      }]]\n    };\n    icon = signal(LucideArrowLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowLeft_BaseFactory;\n      return function LucideArrowLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowLeft_BaseFactory || (ɵLucideArrowLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowLeft)))(__ngFactoryType__ || LucideArrowLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowLeft,\n      selectors: [[\"svg\", \"lucideArrowLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c80,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowRightFromLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA1djE0IiAvPgogIDxwYXRoIGQ9Ik0yMSAxMkg3IiAvPgogIDxwYXRoIGQ9Im0xNSAxOCA2LTYtNi02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/arrow-right-from-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowRightFromLine = /*#__PURE__*/(() => {\n  class LucideArrowRightFromLine extends LucideIconBase {\n    static icon = {\n      name: 'arrow-right-from-line',\n      size: 24,\n      node: [['path', {\n        d: 'M3 5v14',\n        key: '1nt18q'\n      }], ['path', {\n        d: 'M21 12H7',\n        key: '13ipq5'\n      }], ['path', {\n        d: 'm15 18 6-6-6-6',\n        key: '6tx3qv'\n      }]]\n    };\n    icon = signal(LucideArrowRightFromLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowRightFromLine_BaseFactory;\n      return function LucideArrowRightFromLine_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowRightFromLine_BaseFactory || (ɵLucideArrowRightFromLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowRightFromLine)))(__ngFactoryType__ || LucideArrowRightFromLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowRightFromLine,\n      selectors: [[\"svg\", \"lucideArrowRightFromLine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c81,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowRightFromLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowRightFromLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowRightFromLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowRightLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMyA0IDQtNCA0IiAvPgogIDxwYXRoIGQ9Ik0yMCA3SDQiIC8+CiAgPHBhdGggZD0ibTggMjEtNC00IDQtNCIgLz4KICA8cGF0aCBkPSJNNCAxN2gxNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-right-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowRightLeft = /*#__PURE__*/(() => {\n  class LucideArrowRightLeft extends LucideIconBase {\n    static icon = {\n      name: 'arrow-right-left',\n      size: 24,\n      node: [['path', {\n        d: 'm16 3 4 4-4 4',\n        key: '1x1c3m'\n      }], ['path', {\n        d: 'M20 7H4',\n        key: 'zbl0bi'\n      }], ['path', {\n        d: 'm8 21-4-4 4-4',\n        key: 'h9nckh'\n      }], ['path', {\n        d: 'M4 17h16',\n        key: 'g4d7ey'\n      }]]\n    };\n    icon = signal(LucideArrowRightLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowRightLeft_BaseFactory;\n      return function LucideArrowRightLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowRightLeft_BaseFactory || (ɵLucideArrowRightLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowRightLeft)))(__ngFactoryType__ || LucideArrowRightLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowRightLeft,\n      selectors: [[\"svg\", \"lucideArrowRightLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c82,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowRightLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowRightLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowRightLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowRightToLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgMTJIMyIgLz4KICA8cGF0aCBkPSJtMTEgMTggNi02LTYtNiIgLz4KICA8cGF0aCBkPSJNMjEgNXYxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-right-to-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowRightToLine = /*#__PURE__*/(() => {\n  class LucideArrowRightToLine extends LucideIconBase {\n    static icon = {\n      name: 'arrow-right-to-line',\n      size: 24,\n      node: [['path', {\n        d: 'M17 12H3',\n        key: '8awo09'\n      }], ['path', {\n        d: 'm11 18 6-6-6-6',\n        key: '8c2y43'\n      }], ['path', {\n        d: 'M21 5v14',\n        key: 'nzette'\n      }]]\n    };\n    icon = signal(LucideArrowRightToLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowRightToLine_BaseFactory;\n      return function LucideArrowRightToLine_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowRightToLine_BaseFactory || (ɵLucideArrowRightToLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowRightToLine)))(__ngFactoryType__ || LucideArrowRightToLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowRightToLine,\n      selectors: [[\"svg\", \"lucideArrowRightToLine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c83,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowRightToLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowRightToLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowRightToLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxMmgxNCIgLz4KICA8cGF0aCBkPSJtMTIgNSA3IDctNyA3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/arrow-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowRight = /*#__PURE__*/(() => {\n  class LucideArrowRight extends LucideIconBase {\n    static icon = {\n      name: 'arrow-right',\n      size: 24,\n      node: [['path', {\n        d: 'M5 12h14',\n        key: '1ays0h'\n      }], ['path', {\n        d: 'm12 5 7 7-7 7',\n        key: 'xquz4c'\n      }]]\n    };\n    icon = signal(LucideArrowRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowRight_BaseFactory;\n      return function LucideArrowRight_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowRight_BaseFactory || (ɵLucideArrowRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowRight)))(__ngFactoryType__ || LucideArrowRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowRight,\n      selectors: [[\"svg\", \"lucideArrowRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c84,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowUp01\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMyA4IDQtNCA0IDQiIC8+CiAgPHBhdGggZD0iTTcgNHYxNiIgLz4KICA8cmVjdCB4PSIxNSIgeT0iNCIgd2lkdGg9IjQiIGhlaWdodD0iNiIgcnk9IjIiIC8+CiAgPHBhdGggZD0iTTE3IDIwdi02aC0yIiAvPgogIDxwYXRoIGQ9Ik0xNSAyMGg0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/arrow-up-0-1\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowUp01 = /*#__PURE__*/(() => {\n  class LucideArrowUp01 extends LucideIconBase {\n    static icon = {\n      name: 'arrow-up-0-1',\n      size: 24,\n      node: [['path', {\n        d: 'm3 8 4-4 4 4',\n        key: '11wl7u'\n      }], ['path', {\n        d: 'M7 4v16',\n        key: '1glfcx'\n      }], ['rect', {\n        x: '15',\n        y: '4',\n        width: '4',\n        height: '6',\n        ry: '2',\n        key: '1bwicg'\n      }], ['path', {\n        d: 'M17 20v-6h-2',\n        key: '1qp1so'\n      }], ['path', {\n        d: 'M15 20h4',\n        key: '1j968p'\n      }]],\n      aliases: ['arrow-up-01']\n    };\n    icon = signal(LucideArrowUp01.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowUp01_BaseFactory;\n      return function LucideArrowUp01_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowUp01_BaseFactory || (ɵLucideArrowUp01_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowUp01)))(__ngFactoryType__ || LucideArrowUp01);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowUp01,\n      selectors: [[\"svg\", \"lucideArrowUp01\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c85,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowUp01_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowUp01_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowUp01;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowUp10\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMyA4IDQtNCA0IDQiIC8+CiAgPHBhdGggZD0iTTcgNHYxNiIgLz4KICA8cGF0aCBkPSJNMTcgMTBWNGgtMiIgLz4KICA8cGF0aCBkPSJNMTUgMTBoNCIgLz4KICA8cmVjdCB4PSIxNSIgeT0iMTQiIHdpZHRoPSI0IiBoZWlnaHQ9IjYiIHJ5PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/arrow-up-1-0\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowUp10 = /*#__PURE__*/(() => {\n  class LucideArrowUp10 extends LucideIconBase {\n    static icon = {\n      name: 'arrow-up-1-0',\n      size: 24,\n      node: [['path', {\n        d: 'm3 8 4-4 4 4',\n        key: '11wl7u'\n      }], ['path', {\n        d: 'M7 4v16',\n        key: '1glfcx'\n      }], ['path', {\n        d: 'M17 10V4h-2',\n        key: 'zcsr5x'\n      }], ['path', {\n        d: 'M15 10h4',\n        key: 'id2lce'\n      }], ['rect', {\n        x: '15',\n        y: '14',\n        width: '4',\n        height: '6',\n        ry: '2',\n        key: '33xykx'\n      }]],\n      aliases: ['arrow-up-10']\n    };\n    icon = signal(LucideArrowUp10.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowUp10_BaseFactory;\n      return function LucideArrowUp10_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowUp10_BaseFactory || (ɵLucideArrowUp10_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowUp10)))(__ngFactoryType__ || LucideArrowUp10);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowUp10,\n      selectors: [[\"svg\", \"lucideArrowUp10\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c86,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowUp10_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowUp10_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowUp10;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowUpAZ\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMyA4IDQtNCA0IDQiIC8+CiAgPHBhdGggZD0iTTcgNHYxNiIgLz4KICA8cGF0aCBkPSJNMjAgOGgtNSIgLz4KICA8cGF0aCBkPSJNMTUgMTBWNi41YTIuNSAyLjUgMCAwIDEgNSAwVjEwIiAvPgogIDxwYXRoIGQ9Ik0xNSAxNGg1bC01IDZoNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-up-a-z\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowUpAZ = /*#__PURE__*/(() => {\n  class LucideArrowUpAZ extends LucideIconBase {\n    static icon = {\n      name: 'arrow-up-a-z',\n      size: 24,\n      node: [['path', {\n        d: 'm3 8 4-4 4 4',\n        key: '11wl7u'\n      }], ['path', {\n        d: 'M7 4v16',\n        key: '1glfcx'\n      }], ['path', {\n        d: 'M20 8h-5',\n        key: '1vsyxs'\n      }], ['path', {\n        d: 'M15 10V6.5a2.5 2.5 0 0 1 5 0V10',\n        key: 'ag13bf'\n      }], ['path', {\n        d: 'M15 14h5l-5 6h5',\n        key: 'ur5jdg'\n      }]],\n      aliases: ['arrow-up-az']\n    };\n    icon = signal(LucideArrowUpAZ.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowUpAZ_BaseFactory;\n      return function LucideArrowUpAZ_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowUpAZ_BaseFactory || (ɵLucideArrowUpAZ_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowUpAZ)))(__ngFactoryType__ || LucideArrowUpAZ);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowUpAZ,\n      selectors: [[\"svg\", \"lucideArrowUpAZ\", \"\"], [\"svg\", \"lucideArrowUpAz\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c87,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowUpAZ_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowUpAZ_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowUpAZ;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideArrowUpAZ\n */\nconst LucideArrowUpAz = LucideArrowUpAZ;\n\n/**\n * @component @name ArrowUpDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjEgMTYtNCA0LTQtNCIgLz4KICA8cGF0aCBkPSJNMTcgMjBWNCIgLz4KICA8cGF0aCBkPSJtMyA4IDQtNCA0IDQiIC8+CiAgPHBhdGggZD0iTTcgNHYxNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-up-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowUpDown = /*#__PURE__*/(() => {\n  class LucideArrowUpDown extends LucideIconBase {\n    static icon = {\n      name: 'arrow-up-down',\n      size: 24,\n      node: [['path', {\n        d: 'm21 16-4 4-4-4',\n        key: 'f6ql7i'\n      }], ['path', {\n        d: 'M17 20V4',\n        key: '1ejh1v'\n      }], ['path', {\n        d: 'm3 8 4-4 4 4',\n        key: '11wl7u'\n      }], ['path', {\n        d: 'M7 4v16',\n        key: '1glfcx'\n      }]]\n    };\n    icon = signal(LucideArrowUpDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowUpDown_BaseFactory;\n      return function LucideArrowUpDown_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowUpDown_BaseFactory || (ɵLucideArrowUpDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowUpDown)))(__ngFactoryType__ || LucideArrowUpDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowUpDown,\n      selectors: [[\"svg\", \"lucideArrowUpDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c88,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowUpDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowUpDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowUpDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowUpFromDot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNSA5IDctNyA3IDciIC8+CiAgPHBhdGggZD0iTTEyIDE2VjIiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIyMSIgcj0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-up-from-dot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowUpFromDot = /*#__PURE__*/(() => {\n  class LucideArrowUpFromDot extends LucideIconBase {\n    static icon = {\n      name: 'arrow-up-from-dot',\n      size: 24,\n      node: [['path', {\n        d: 'm5 9 7-7 7 7',\n        key: '1hw5ic'\n      }], ['path', {\n        d: 'M12 16V2',\n        key: 'ywoabb'\n      }], ['circle', {\n        cx: '12',\n        cy: '21',\n        r: '1',\n        key: 'o0uj5v'\n      }]]\n    };\n    icon = signal(LucideArrowUpFromDot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowUpFromDot_BaseFactory;\n      return function LucideArrowUpFromDot_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowUpFromDot_BaseFactory || (ɵLucideArrowUpFromDot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowUpFromDot)))(__ngFactoryType__ || LucideArrowUpFromDot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowUpFromDot,\n      selectors: [[\"svg\", \"lucideArrowUpFromDot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c89,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowUpFromDot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowUpFromDot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowUpFromDot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowUpFromLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTggOS02LTYtNiA2IiAvPgogIDxwYXRoIGQ9Ik0xMiAzdjE0IiAvPgogIDxwYXRoIGQ9Ik01IDIxaDE0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/arrow-up-from-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowUpFromLine = /*#__PURE__*/(() => {\n  class LucideArrowUpFromLine extends LucideIconBase {\n    static icon = {\n      name: 'arrow-up-from-line',\n      size: 24,\n      node: [['path', {\n        d: 'm18 9-6-6-6 6',\n        key: 'kcunyi'\n      }], ['path', {\n        d: 'M12 3v14',\n        key: '7cf3v8'\n      }], ['path', {\n        d: 'M5 21h14',\n        key: '11awu3'\n      }]]\n    };\n    icon = signal(LucideArrowUpFromLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowUpFromLine_BaseFactory;\n      return function LucideArrowUpFromLine_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowUpFromLine_BaseFactory || (ɵLucideArrowUpFromLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowUpFromLine)))(__ngFactoryType__ || LucideArrowUpFromLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowUpFromLine,\n      selectors: [[\"svg\", \"lucideArrowUpFromLine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c90,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowUpFromLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowUpFromLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowUpFromLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowUpLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAxN1Y3aDEwIiAvPgogIDxwYXRoIGQ9Ik0xNyAxNyA3IDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-up-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowUpLeft = /*#__PURE__*/(() => {\n  class LucideArrowUpLeft extends LucideIconBase {\n    static icon = {\n      name: 'arrow-up-left',\n      size: 24,\n      node: [['path', {\n        d: 'M7 17V7h10',\n        key: '11bw93'\n      }], ['path', {\n        d: 'M17 17 7 7',\n        key: '2786uv'\n      }]]\n    };\n    icon = signal(LucideArrowUpLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowUpLeft_BaseFactory;\n      return function LucideArrowUpLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowUpLeft_BaseFactory || (ɵLucideArrowUpLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowUpLeft)))(__ngFactoryType__ || LucideArrowUpLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowUpLeft,\n      selectors: [[\"svg\", \"lucideArrowUpLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c91,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowUpLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowUpLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowUpLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowUpNarrowWide\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMyA4IDQtNCA0IDQiIC8+CiAgPHBhdGggZD0iTTcgNHYxNiIgLz4KICA8cGF0aCBkPSJNMTEgMTJoNCIgLz4KICA8cGF0aCBkPSJNMTEgMTZoNyIgLz4KICA8cGF0aCBkPSJNMTEgMjBoMTAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-up-narrow-wide\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowUpNarrowWide = /*#__PURE__*/(() => {\n  class LucideArrowUpNarrowWide extends LucideIconBase {\n    static icon = {\n      name: 'arrow-up-narrow-wide',\n      size: 24,\n      node: [['path', {\n        d: 'm3 8 4-4 4 4',\n        key: '11wl7u'\n      }], ['path', {\n        d: 'M7 4v16',\n        key: '1glfcx'\n      }], ['path', {\n        d: 'M11 12h4',\n        key: 'q8tih4'\n      }], ['path', {\n        d: 'M11 16h7',\n        key: 'uosisv'\n      }], ['path', {\n        d: 'M11 20h10',\n        key: 'jvxblo'\n      }]],\n      aliases: ['sort-asc']\n    };\n    icon = signal(LucideArrowUpNarrowWide.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowUpNarrowWide_BaseFactory;\n      return function LucideArrowUpNarrowWide_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowUpNarrowWide_BaseFactory || (ɵLucideArrowUpNarrowWide_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowUpNarrowWide)))(__ngFactoryType__ || LucideArrowUpNarrowWide);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowUpNarrowWide,\n      selectors: [[\"svg\", \"lucideArrowUpNarrowWide\", \"\"], [\"svg\", \"lucideSortAsc\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c92,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowUpNarrowWide_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowUpNarrowWide_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowUpNarrowWide;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideArrowUpNarrowWide\n */\nconst LucideSortAsc = LucideArrowUpNarrowWide;\n\n/**\n * @component @name ArrowUpRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyA3aDEwdjEwIiAvPgogIDxwYXRoIGQ9Ik03IDE3IDE3IDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-up-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowUpRight = /*#__PURE__*/(() => {\n  class LucideArrowUpRight extends LucideIconBase {\n    static icon = {\n      name: 'arrow-up-right',\n      size: 24,\n      node: [['path', {\n        d: 'M7 7h10v10',\n        key: '1tivn9'\n      }], ['path', {\n        d: 'M7 17 17 7',\n        key: '1vkiza'\n      }]]\n    };\n    icon = signal(LucideArrowUpRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowUpRight_BaseFactory;\n      return function LucideArrowUpRight_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowUpRight_BaseFactory || (ɵLucideArrowUpRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowUpRight)))(__ngFactoryType__ || LucideArrowUpRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowUpRight,\n      selectors: [[\"svg\", \"lucideArrowUpRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c93,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowUpRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowUpRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowUpRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowUpToLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAzaDE0IiAvPgogIDxwYXRoIGQ9Im0xOCAxMy02LTYtNiA2IiAvPgogIDxwYXRoIGQ9Ik0xMiA3djE0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/arrow-up-to-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowUpToLine = /*#__PURE__*/(() => {\n  class LucideArrowUpToLine extends LucideIconBase {\n    static icon = {\n      name: 'arrow-up-to-line',\n      size: 24,\n      node: [['path', {\n        d: 'M5 3h14',\n        key: '7usisc'\n      }], ['path', {\n        d: 'm18 13-6-6-6 6',\n        key: '1kf1n9'\n      }], ['path', {\n        d: 'M12 7v14',\n        key: '1akyts'\n      }]]\n    };\n    icon = signal(LucideArrowUpToLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowUpToLine_BaseFactory;\n      return function LucideArrowUpToLine_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowUpToLine_BaseFactory || (ɵLucideArrowUpToLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowUpToLine)))(__ngFactoryType__ || LucideArrowUpToLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowUpToLine,\n      selectors: [[\"svg\", \"lucideArrowUpToLine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c94,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowUpToLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowUpToLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowUpToLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowUpWideNarrow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMyA4IDQtNCA0IDQiIC8+CiAgPHBhdGggZD0iTTcgNHYxNiIgLz4KICA8cGF0aCBkPSJNMTEgMTJoMTAiIC8+CiAgPHBhdGggZD0iTTExIDE2aDciIC8+CiAgPHBhdGggZD0iTTExIDIwaDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-up-wide-narrow\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowUpWideNarrow = /*#__PURE__*/(() => {\n  class LucideArrowUpWideNarrow extends LucideIconBase {\n    static icon = {\n      name: 'arrow-up-wide-narrow',\n      size: 24,\n      node: [['path', {\n        d: 'm3 8 4-4 4 4',\n        key: '11wl7u'\n      }], ['path', {\n        d: 'M7 4v16',\n        key: '1glfcx'\n      }], ['path', {\n        d: 'M11 12h10',\n        key: '1438ji'\n      }], ['path', {\n        d: 'M11 16h7',\n        key: 'uosisv'\n      }], ['path', {\n        d: 'M11 20h4',\n        key: '1krc32'\n      }]]\n    };\n    icon = signal(LucideArrowUpWideNarrow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowUpWideNarrow_BaseFactory;\n      return function LucideArrowUpWideNarrow_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowUpWideNarrow_BaseFactory || (ɵLucideArrowUpWideNarrow_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowUpWideNarrow)))(__ngFactoryType__ || LucideArrowUpWideNarrow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowUpWideNarrow,\n      selectors: [[\"svg\", \"lucideArrowUpWideNarrow\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c95,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowUpWideNarrow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowUpWideNarrow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowUpWideNarrow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowUpZA\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMyA4IDQtNCA0IDQiIC8+CiAgPHBhdGggZD0iTTcgNHYxNiIgLz4KICA8cGF0aCBkPSJNMTUgNGg1bC01IDZoNSIgLz4KICA8cGF0aCBkPSJNMTUgMjB2LTMuNWEyLjUgMi41IDAgMCAxIDUgMFYyMCIgLz4KICA8cGF0aCBkPSJNMjAgMThoLTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-up-z-a\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowUpZA = /*#__PURE__*/(() => {\n  class LucideArrowUpZA extends LucideIconBase {\n    static icon = {\n      name: 'arrow-up-z-a',\n      size: 24,\n      node: [['path', {\n        d: 'm3 8 4-4 4 4',\n        key: '11wl7u'\n      }], ['path', {\n        d: 'M7 4v16',\n        key: '1glfcx'\n      }], ['path', {\n        d: 'M15 4h5l-5 6h5',\n        key: '8asdl1'\n      }], ['path', {\n        d: 'M15 20v-3.5a2.5 2.5 0 0 1 5 0V20',\n        key: 'r6l5cz'\n      }], ['path', {\n        d: 'M20 18h-5',\n        key: '18j1r2'\n      }]],\n      aliases: ['arrow-up-za']\n    };\n    icon = signal(LucideArrowUpZA.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowUpZA_BaseFactory;\n      return function LucideArrowUpZA_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowUpZA_BaseFactory || (ɵLucideArrowUpZA_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowUpZA)))(__ngFactoryType__ || LucideArrowUpZA);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowUpZA,\n      selectors: [[\"svg\", \"lucideArrowUpZA\", \"\"], [\"svg\", \"lucideArrowUpZa\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c96,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowUpZA_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowUpZA_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowUpZA;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideArrowUpZA\n */\nconst LucideArrowUpZa = LucideArrowUpZA;\n\n/**\n * @component @name ArrowUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNSAxMiA3LTcgNyA3IiAvPgogIDxwYXRoIGQ9Ik0xMiAxOVY1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/arrow-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowUp = /*#__PURE__*/(() => {\n  class LucideArrowUp extends LucideIconBase {\n    static icon = {\n      name: 'arrow-up',\n      size: 24,\n      node: [['path', {\n        d: 'm5 12 7-7 7 7',\n        key: 'hav0vg'\n      }], ['path', {\n        d: 'M12 19V5',\n        key: 'x0mq9r'\n      }]]\n    };\n    icon = signal(LucideArrowUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowUp_BaseFactory;\n      return function LucideArrowUp_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowUp_BaseFactory || (ɵLucideArrowUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowUp)))(__ngFactoryType__ || LucideArrowUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowUp,\n      selectors: [[\"svg\", \"lucideArrowUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c97,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowsUpFromLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNCA2IDMtMyAzIDMiIC8+CiAgPHBhdGggZD0iTTcgMTdWMyIgLz4KICA8cGF0aCBkPSJtMTQgNiAzLTMgMyAzIiAvPgogIDxwYXRoIGQ9Ik0xNyAxN1YzIiAvPgogIDxwYXRoIGQ9Ik00IDIxaDE2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/arrows-up-from-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowsUpFromLine = /*#__PURE__*/(() => {\n  class LucideArrowsUpFromLine extends LucideIconBase {\n    static icon = {\n      name: 'arrows-up-from-line',\n      size: 24,\n      node: [['path', {\n        d: 'm4 6 3-3 3 3',\n        key: '9aidw8'\n      }], ['path', {\n        d: 'M7 17V3',\n        key: '19qxw1'\n      }], ['path', {\n        d: 'm14 6 3-3 3 3',\n        key: '6iy689'\n      }], ['path', {\n        d: 'M17 17V3',\n        key: 'o0fmgi'\n      }], ['path', {\n        d: 'M4 21h16',\n        key: '1h09gz'\n      }]]\n    };\n    icon = signal(LucideArrowsUpFromLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowsUpFromLine_BaseFactory;\n      return function LucideArrowsUpFromLine_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowsUpFromLine_BaseFactory || (ɵLucideArrowsUpFromLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowsUpFromLine)))(__ngFactoryType__ || LucideArrowsUpFromLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowsUpFromLine,\n      selectors: [[\"svg\", \"lucideArrowsUpFromLine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c98,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowsUpFromLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowsUpFromLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowsUpFromLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Asterisk\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNnYxMiIgLz4KICA8cGF0aCBkPSJNMTcuMTk2IDkgNi44MDQgMTUiIC8+CiAgPHBhdGggZD0ibTYuODA0IDkgMTAuMzkyIDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/asterisk\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAsterisk = /*#__PURE__*/(() => {\n  class LucideAsterisk extends LucideIconBase {\n    static icon = {\n      name: 'asterisk',\n      size: 24,\n      node: [['path', {\n        d: 'M12 6v12',\n        key: '1vza4d'\n      }], ['path', {\n        d: 'M17.196 9 6.804 15',\n        key: '1ah31z'\n      }], ['path', {\n        d: 'm6.804 9 10.392 6',\n        key: '1b6pxd'\n      }]]\n    };\n    icon = signal(LucideAsterisk.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAsterisk_BaseFactory;\n      return function LucideAsterisk_Factory(__ngFactoryType__) {\n        return (ɵLucideAsterisk_BaseFactory || (ɵLucideAsterisk_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAsterisk)))(__ngFactoryType__ || LucideAsterisk);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAsterisk,\n      selectors: [[\"svg\", \"lucideAsterisk\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c99,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAsterisk_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAsterisk_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAsterisk;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AtSign\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI0IiAvPgogIDxwYXRoIGQ9Ik0xNiA4djVhMyAzIDAgMCAwIDYgMHYtMWExMCAxMCAwIDEgMC00IDgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/at-sign\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAtSign = /*#__PURE__*/(() => {\n  class LucideAtSign extends LucideIconBase {\n    static icon = {\n      name: 'at-sign',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '4',\n        key: '4exip2'\n      }], ['path', {\n        d: 'M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8',\n        key: '7n84p3'\n      }]]\n    };\n    icon = signal(LucideAtSign.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAtSign_BaseFactory;\n      return function LucideAtSign_Factory(__ngFactoryType__) {\n        return (ɵLucideAtSign_BaseFactory || (ɵLucideAtSign_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAtSign)))(__ngFactoryType__ || LucideAtSign);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAtSign,\n      selectors: [[\"svg\", \"lucideAtSign\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c100,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAtSign_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAtSign_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAtSign;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Atom\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxIiAvPgogIDxwYXRoIGQ9Ik0yMC4yIDIwLjJjMi4wNC0yLjAzLjAyLTcuMzYtNC41LTExLjktNC41NC00LjUyLTkuODctNi41NC0xMS45LTQuNS0yLjA0IDIuMDMtLjAyIDcuMzYgNC41IDExLjkgNC41NCA0LjUyIDkuODcgNi41NCAxMS45IDQuNVoiIC8+CiAgPHBhdGggZD0iTTE1LjcgMTUuN2M0LjUyLTQuNTQgNi41NC05Ljg3IDQuNS0xMS45LTIuMDMtMi4wNC03LjM2LS4wMi0xMS45IDQuNS00LjUyIDQuNTQtNi41NCA5Ljg3LTQuNSAxMS45IDIuMDMgMi4wNCA3LjM2LjAyIDExLjktNC41WiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/atom\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAtom = /*#__PURE__*/(() => {\n  class LucideAtom extends LucideIconBase {\n    static icon = {\n      name: 'atom',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '1',\n        key: '41hilf'\n      }], ['path', {\n        d: 'M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z',\n        key: '1l2ple'\n      }], ['path', {\n        d: 'M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z',\n        key: '1wam0m'\n      }]]\n    };\n    icon = signal(LucideAtom.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAtom_BaseFactory;\n      return function LucideAtom_Factory(__ngFactoryType__) {\n        return (ɵLucideAtom_BaseFactory || (ɵLucideAtom_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAtom)))(__ngFactoryType__ || LucideAtom);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAtom,\n      selectors: [[\"svg\", \"lucideAtom\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c101,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAtom_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAtom_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAtom;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AudioLines\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxMHYzIiAvPgogIDxwYXRoIGQ9Ik02IDZ2MTEiIC8+CiAgPHBhdGggZD0iTTEwIDN2MTgiIC8+CiAgPHBhdGggZD0iTTE0IDh2NyIgLz4KICA8cGF0aCBkPSJNMTggNXYxMyIgLz4KICA8cGF0aCBkPSJNMjIgMTB2MyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/audio-lines\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAudioLines = /*#__PURE__*/(() => {\n  class LucideAudioLines extends LucideIconBase {\n    static icon = {\n      name: 'audio-lines',\n      size: 24,\n      node: [['path', {\n        d: 'M2 10v3',\n        key: '1fnikh'\n      }], ['path', {\n        d: 'M6 6v11',\n        key: '11sgs0'\n      }], ['path', {\n        d: 'M10 3v18',\n        key: 'yhl04a'\n      }], ['path', {\n        d: 'M14 8v7',\n        key: '3a1oy3'\n      }], ['path', {\n        d: 'M18 5v13',\n        key: '123xd1'\n      }], ['path', {\n        d: 'M22 10v3',\n        key: '154ddg'\n      }]]\n    };\n    icon = signal(LucideAudioLines.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAudioLines_BaseFactory;\n      return function LucideAudioLines_Factory(__ngFactoryType__) {\n        return (ɵLucideAudioLines_BaseFactory || (ɵLucideAudioLines_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAudioLines)))(__ngFactoryType__ || LucideAudioLines);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAudioLines,\n      selectors: [[\"svg\", \"lucideAudioLines\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c102,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAudioLines_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAudioLines_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAudioLines;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name AudioWaveform\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxM2EyIDIgMCAwIDAgMi0yVjdhMiAyIDAgMCAxIDQgMHYxM2EyIDIgMCAwIDAgNCAwVjRhMiAyIDAgMCAxIDQgMHYxM2EyIDIgMCAwIDAgNCAwdi00YTIgMiAwIDAgMSAyLTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/audio-waveform\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAudioWaveform = /*#__PURE__*/(() => {\n  class LucideAudioWaveform extends LucideIconBase {\n    static icon = {\n      name: 'audio-waveform',\n      size: 24,\n      node: [['path', {\n        d: 'M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 1 2-2',\n        key: '57tc96'\n      }]]\n    };\n    icon = signal(LucideAudioWaveform.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAudioWaveform_BaseFactory;\n      return function LucideAudioWaveform_Factory(__ngFactoryType__) {\n        return (ɵLucideAudioWaveform_BaseFactory || (ɵLucideAudioWaveform_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAudioWaveform)))(__ngFactoryType__ || LucideAudioWaveform);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAudioWaveform,\n      selectors: [[\"svg\", \"lucideAudioWaveform\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c103,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAudioWaveform_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAudioWaveform_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAudioWaveform;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Award\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUuNDc3IDEyLjg5IDEuNTE1IDguNTI2YS41LjUgMCAwIDEtLjgxLjQ3bC0zLjU4LTIuNjg3YTEgMSAwIDAgMC0xLjE5NyAwbC0zLjU4NiAyLjY4NmEuNS41IDAgMCAxLS44MS0uNDY5bDEuNTE0LTguNTI2IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iOCIgcj0iNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/award\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAward = /*#__PURE__*/(() => {\n  class LucideAward extends LucideIconBase {\n    static icon = {\n      name: 'award',\n      size: 24,\n      node: [['path', {\n        d: 'm15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526',\n        key: '1yiouv'\n      }], ['circle', {\n        cx: '12',\n        cy: '8',\n        r: '6',\n        key: '1vp47v'\n      }]]\n    };\n    icon = signal(LucideAward.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAward_BaseFactory;\n      return function LucideAward_Factory(__ngFactoryType__) {\n        return (ɵLucideAward_BaseFactory || (ɵLucideAward_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAward)))(__ngFactoryType__ || LucideAward);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAward,\n      selectors: [[\"svg\", \"lucideAward\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c104,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAward_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAward_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAward;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Axe\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQgMTItOC4zODEgOC4zOGExIDEgMCAwIDEtMy4wMDEtM0wxMSA5IiAvPgogIDxwYXRoIGQ9Ik0xNSAxNS41YS41LjUgMCAwIDAgLjUuNUE2LjUgNi41IDAgMCAwIDIyIDkuNWEuNS41IDAgMCAwLS41LS41aC0xLjY3MmEyIDIgMCAwIDEtMS40MTQtLjU4NmwtNS4wNjItNS4wNjJhMS4yMDUgMS4yMDUgMCAwIDAtMS43MDQgMEw5LjM1MiA1LjY0OGExLjIwNSAxLjIwNSAwIDAgMCAwIDEuNzA0bDUuMDYyIDUuMDYyQTIgMiAwIDAgMSAxNSAxMy44Mjh6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/axe\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAxe = /*#__PURE__*/(() => {\n  class LucideAxe extends LucideIconBase {\n    static icon = {\n      name: 'axe',\n      size: 24,\n      node: [['path', {\n        d: 'm14 12-8.381 8.38a1 1 0 0 1-3.001-3L11 9',\n        key: '5z9253'\n      }], ['path', {\n        d: 'M15 15.5a.5.5 0 0 0 .5.5A6.5 6.5 0 0 0 22 9.5a.5.5 0 0 0-.5-.5h-1.672a2 2 0 0 1-1.414-.586l-5.062-5.062a1.205 1.205 0 0 0-1.704 0L9.352 5.648a1.205 1.205 0 0 0 0 1.704l5.062 5.062A2 2 0 0 1 15 13.828z',\n        key: '19zklq'\n      }]]\n    };\n    icon = signal(LucideAxe.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAxe_BaseFactory;\n      return function LucideAxe_Factory(__ngFactoryType__) {\n        return (ɵLucideAxe_BaseFactory || (ɵLucideAxe_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAxe)))(__ngFactoryType__ || LucideAxe);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAxe,\n      selectors: [[\"svg\", \"lucideAxe\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c105,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAxe_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAxe_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAxe;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Baby\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTZjLjUuMyAxLjIuNSAyIC41czEuNS0uMiAyLS41IiAvPgogIDxwYXRoIGQ9Ik0xNSAxMmguMDEiIC8+CiAgPHBhdGggZD0iTTE5LjM4IDYuODEzQTkgOSAwIDAgMSAyMC44IDEwLjJhMiAyIDAgMCAxIDAgMy42IDkgOSAwIDAgMS0xNy42IDAgMiAyIDAgMCAxIDAtMy42QTkgOSAwIDAgMSAxMiAzYzIgMCAzLjUgMS4xIDMuNSAyLjVzLS45IDIuNS0yIDIuNWMtLjggMC0xLjUtLjQtMS41LTEiIC8+CiAgPHBhdGggZD0iTTkgMTJoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/baby\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBaby = /*#__PURE__*/(() => {\n  class LucideBaby extends LucideIconBase {\n    static icon = {\n      name: 'baby',\n      size: 24,\n      node: [['path', {\n        d: 'M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5',\n        key: '1u7htd'\n      }], ['path', {\n        d: 'M15 12h.01',\n        key: '1k8ypt'\n      }], ['path', {\n        d: 'M19.38 6.813A9 9 0 0 1 20.8 10.2a2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1',\n        key: '11xh7x'\n      }], ['path', {\n        d: 'M9 12h.01',\n        key: '157uk2'\n      }]]\n    };\n    icon = signal(LucideBaby.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBaby_BaseFactory;\n      return function LucideBaby_Factory(__ngFactoryType__) {\n        return (ɵLucideBaby_BaseFactory || (ɵLucideBaby_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBaby)))(__ngFactoryType__ || LucideBaby);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBaby,\n      selectors: [[\"svg\", \"lucideBaby\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c106,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBaby_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBaby_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBaby;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Axis3d\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuNSAxMC41IDE1IDkiIC8+CiAgPHBhdGggZD0iTTQgNHYxNWExIDEgMCAwIDAgMSAxaDE1IiAvPgogIDxwYXRoIGQ9Ik00LjI5MyAxOS43MDcgNiAxOCIgLz4KICA8cGF0aCBkPSJtOSAxNSAxLjUtMS41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/axis-3d\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideAxis3d = /*#__PURE__*/(() => {\n  class LucideAxis3d extends LucideIconBase {\n    static icon = {\n      name: 'axis-3d',\n      size: 24,\n      node: [['path', {\n        d: 'M13.5 10.5 15 9',\n        key: '1nsxvm'\n      }], ['path', {\n        d: 'M4 4v15a1 1 0 0 0 1 1h15',\n        key: '1w6lkd'\n      }], ['path', {\n        d: 'M4.293 19.707 6 18',\n        key: '3g1p8c'\n      }], ['path', {\n        d: 'm9 15 1.5-1.5',\n        key: '1xfbes'\n      }]],\n      aliases: ['axis-3-d']\n    };\n    icon = signal(LucideAxis3d.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideAxis3d_BaseFactory;\n      return function LucideAxis3d_Factory(__ngFactoryType__) {\n        return (ɵLucideAxis3d_BaseFactory || (ɵLucideAxis3d_BaseFactory = i0.ɵɵgetInheritedFactory(LucideAxis3d)))(__ngFactoryType__ || LucideAxis3d);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideAxis3d,\n      selectors: [[\"svg\", \"lucideAxis3d\", \"\"], [\"svg\", \"lucideAxis3D\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c107,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideAxis3d_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideAxis3d_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideAxis3d;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideAxis3d\n */\nconst LucideAxis3D = LucideAxis3d;\n\n/**\n * @component @name Backpack\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMGE0IDQgMCAwIDEgNC00aDhhNCA0IDAgMCAxIDQgNHYxMGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnoiIC8+CiAgPHBhdGggZD0iTTggMTBoOCIgLz4KICA8cGF0aCBkPSJNOCAxOGg4IiAvPgogIDxwYXRoIGQ9Ik04IDIydi02YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjYiIC8+CiAgPHBhdGggZD0iTTkgNlY0YTIgMiAwIDAgMSAyLTJoMmEyIDIgMCAwIDEgMiAydjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/backpack\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBackpack = /*#__PURE__*/(() => {\n  class LucideBackpack extends LucideIconBase {\n    static icon = {\n      name: 'backpack',\n      size: 24,\n      node: [['path', {\n        d: 'M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z',\n        key: '1ol0lm'\n      }], ['path', {\n        d: 'M8 10h8',\n        key: 'c7uz4u'\n      }], ['path', {\n        d: 'M8 18h8',\n        key: '1no2b1'\n      }], ['path', {\n        d: 'M8 22v-6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v6',\n        key: '1fr6do'\n      }], ['path', {\n        d: 'M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2',\n        key: 'donm21'\n      }]]\n    };\n    icon = signal(LucideBackpack.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBackpack_BaseFactory;\n      return function LucideBackpack_Factory(__ngFactoryType__) {\n        return (ɵLucideBackpack_BaseFactory || (ɵLucideBackpack_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBackpack)))(__ngFactoryType__ || LucideBackpack);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBackpack,\n      selectors: [[\"svg\", \"lucideBackpack\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c108,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBackpack_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBackpack_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBackpack;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BadgeAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPGxpbmUgeDE9IjEyIiB4Mj0iMTIiIHkxPSI4IiB5Mj0iMTIiIC8+CiAgPGxpbmUgeDE9IjEyIiB4Mj0iMTIuMDEiIHkxPSIxNiIgeTI9IjE2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/badge-alert\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgeAlert = /*#__PURE__*/(() => {\n  class LucideBadgeAlert extends LucideIconBase {\n    static icon = {\n      name: 'badge-alert',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '8',\n        y2: '12',\n        key: '1pkeuh'\n      }], ['line', {\n        x1: '12',\n        x2: '12.01',\n        y1: '16',\n        y2: '16',\n        key: '4dfq90'\n      }]]\n    };\n    icon = signal(LucideBadgeAlert.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgeAlert_BaseFactory;\n      return function LucideBadgeAlert_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgeAlert_BaseFactory || (ɵLucideBadgeAlert_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgeAlert)))(__ngFactoryType__ || LucideBadgeAlert);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgeAlert,\n      selectors: [[\"svg\", \"lucideBadgeAlert\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c109,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgeAlert_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgeAlert_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgeAlert;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BadgeCent\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPHBhdGggZD0iTTEyIDd2MTAiIC8+CiAgPHBhdGggZD0iTTE1LjQgMTBhNCA0IDAgMSAwIDAgNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/badge-cent\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgeCent = /*#__PURE__*/(() => {\n  class LucideBadgeCent extends LucideIconBase {\n    static icon = {\n      name: 'badge-cent',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['path', {\n        d: 'M12 7v10',\n        key: 'jspqdw'\n      }], ['path', {\n        d: 'M15.4 10a4 4 0 1 0 0 4',\n        key: '2eqtx8'\n      }]]\n    };\n    icon = signal(LucideBadgeCent.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgeCent_BaseFactory;\n      return function LucideBadgeCent_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgeCent_BaseFactory || (ɵLucideBadgeCent_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgeCent)))(__ngFactoryType__ || LucideBadgeCent);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgeCent,\n      selectors: [[\"svg\", \"lucideBadgeCent\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c110,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgeCent_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgeCent_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgeCent;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BadgeCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPHBhdGggZD0ibTkgMTIgMiAyIDQtNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/badge-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgeCheck = /*#__PURE__*/(() => {\n  class LucideBadgeCheck extends LucideIconBase {\n    static icon = {\n      name: 'badge-check',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['path', {\n        d: 'm9 12 2 2 4-4',\n        key: 'dzmm74'\n      }]],\n      aliases: ['verified']\n    };\n    icon = signal(LucideBadgeCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgeCheck_BaseFactory;\n      return function LucideBadgeCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgeCheck_BaseFactory || (ɵLucideBadgeCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgeCheck)))(__ngFactoryType__ || LucideBadgeCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgeCheck,\n      selectors: [[\"svg\", \"lucideBadgeCheck\", \"\"], [\"svg\", \"lucideVerified\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c111,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgeCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgeCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgeCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideBadgeCheck\n */\nconst LucideVerified = LucideBadgeCheck;\n\n/**\n * @component @name BadgeDollarSign\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPHBhdGggZD0iTTE2IDhoLTZhMiAyIDAgMSAwIDAgNGg0YTIgMiAwIDEgMSAwIDRIOCIgLz4KICA8cGF0aCBkPSJNMTIgMThWNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/badge-dollar-sign\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgeDollarSign = /*#__PURE__*/(() => {\n  class LucideBadgeDollarSign extends LucideIconBase {\n    static icon = {\n      name: 'badge-dollar-sign',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['path', {\n        d: 'M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8',\n        key: '1h4pet'\n      }], ['path', {\n        d: 'M12 18V6',\n        key: 'zqpxq5'\n      }]]\n    };\n    icon = signal(LucideBadgeDollarSign.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgeDollarSign_BaseFactory;\n      return function LucideBadgeDollarSign_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgeDollarSign_BaseFactory || (ɵLucideBadgeDollarSign_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgeDollarSign)))(__ngFactoryType__ || LucideBadgeDollarSign);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgeDollarSign,\n      selectors: [[\"svg\", \"lucideBadgeDollarSign\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c112,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgeDollarSign_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgeDollarSign_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgeDollarSign;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BadgeEuro\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPHBhdGggZD0iTTcgMTJoNSIgLz4KICA8cGF0aCBkPSJNMTUgOS40YTQgNCAwIDEgMCAwIDUuMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/badge-euro\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgeEuro = /*#__PURE__*/(() => {\n  class LucideBadgeEuro extends LucideIconBase {\n    static icon = {\n      name: 'badge-euro',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['path', {\n        d: 'M7 12h5',\n        key: 'gblrwe'\n      }], ['path', {\n        d: 'M15 9.4a4 4 0 1 0 0 5.2',\n        key: '1makmb'\n      }]]\n    };\n    icon = signal(LucideBadgeEuro.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgeEuro_BaseFactory;\n      return function LucideBadgeEuro_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgeEuro_BaseFactory || (ɵLucideBadgeEuro_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgeEuro)))(__ngFactoryType__ || LucideBadgeEuro);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgeEuro,\n      selectors: [[\"svg\", \"lucideBadgeEuro\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c113,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgeEuro_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgeEuro_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgeEuro;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BadgeIndianRupee\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPHBhdGggZD0iTTggOGg4IiAvPgogIDxwYXRoIGQ9Ik04IDEyaDgiIC8+CiAgPHBhdGggZD0ibTEzIDE3LTUtMWgxYTQgNCAwIDAgMCAwLTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/badge-indian-rupee\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgeIndianRupee = /*#__PURE__*/(() => {\n  class LucideBadgeIndianRupee extends LucideIconBase {\n    static icon = {\n      name: 'badge-indian-rupee',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['path', {\n        d: 'M8 8h8',\n        key: '1bis0t'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }], ['path', {\n        d: 'm13 17-5-1h1a4 4 0 0 0 0-8',\n        key: 'nu2bwa'\n      }]]\n    };\n    icon = signal(LucideBadgeIndianRupee.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgeIndianRupee_BaseFactory;\n      return function LucideBadgeIndianRupee_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgeIndianRupee_BaseFactory || (ɵLucideBadgeIndianRupee_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgeIndianRupee)))(__ngFactoryType__ || LucideBadgeIndianRupee);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgeIndianRupee,\n      selectors: [[\"svg\", \"lucideBadgeIndianRupee\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c114,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgeIndianRupee_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgeIndianRupee_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgeIndianRupee;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BadgeInfo\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPGxpbmUgeDE9IjEyIiB4Mj0iMTIiIHkxPSIxNiIgeTI9IjEyIiAvPgogIDxsaW5lIHgxPSIxMiIgeDI9IjEyLjAxIiB5MT0iOCIgeTI9IjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/badge-info\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgeInfo = /*#__PURE__*/(() => {\n  class LucideBadgeInfo extends LucideIconBase {\n    static icon = {\n      name: 'badge-info',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '16',\n        y2: '12',\n        key: '1y1yb1'\n      }], ['line', {\n        x1: '12',\n        x2: '12.01',\n        y1: '8',\n        y2: '8',\n        key: '110wyk'\n      }]]\n    };\n    icon = signal(LucideBadgeInfo.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgeInfo_BaseFactory;\n      return function LucideBadgeInfo_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgeInfo_BaseFactory || (ɵLucideBadgeInfo_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgeInfo)))(__ngFactoryType__ || LucideBadgeInfo);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgeInfo,\n      selectors: [[\"svg\", \"lucideBadgeInfo\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c115,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgeInfo_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgeInfo_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgeInfo;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ArrowBigDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSA1YTEgMSAwIDAgMSAxLTFoNGExIDEgMCAwIDEgMSAxdjZhMSAxIDAgMCAwIDEgMWgzLjI5M2EuNzA3LjcwNyAwIDAgMSAuNSAxLjIwN2wtNy4wODYgNy4wODZhMSAxIDAgMCAxLTEuNDE0IDBsLTcuMDg2LTcuMDg2YS43MDcuNzA3IDAgMCAxIC41LTEuMjA3SDhhMSAxIDAgMCAwIDEtMXoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/arrow-big-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideArrowBigDown = /*#__PURE__*/(() => {\n  class LucideArrowBigDown extends LucideIconBase {\n    static icon = {\n      name: 'arrow-big-down',\n      size: 24,\n      node: [['path', {\n        d: 'M9 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v6a1 1 0 0 0 1 1h3.293a.707.707 0 0 1 .5 1.207l-7.086 7.086a1 1 0 0 1-1.414 0l-7.086-7.086a.707.707 0 0 1 .5-1.207H8a1 1 0 0 0 1-1z',\n        key: '1o3tkq'\n      }]]\n    };\n    icon = signal(LucideArrowBigDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideArrowBigDown_BaseFactory;\n      return function LucideArrowBigDown_Factory(__ngFactoryType__) {\n        return (ɵLucideArrowBigDown_BaseFactory || (ɵLucideArrowBigDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideArrowBigDown)))(__ngFactoryType__ || LucideArrowBigDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideArrowBigDown,\n      selectors: [[\"svg\", \"lucideArrowBigDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c116,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideArrowBigDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideArrowBigDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideArrowBigDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BadgePercent\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPHBhdGggZD0ibTE1IDktNiA2IiAvPgogIDxwYXRoIGQ9Ik05IDloLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNSAxNWguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/badge-percent\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgePercent = /*#__PURE__*/(() => {\n  class LucideBadgePercent extends LucideIconBase {\n    static icon = {\n      name: 'badge-percent',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['path', {\n        d: 'm15 9-6 6',\n        key: '1uzhvr'\n      }], ['path', {\n        d: 'M9 9h.01',\n        key: '1q5me6'\n      }], ['path', {\n        d: 'M15 15h.01',\n        key: 'lqbp3k'\n      }]]\n    };\n    icon = signal(LucideBadgePercent.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgePercent_BaseFactory;\n      return function LucideBadgePercent_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgePercent_BaseFactory || (ɵLucideBadgePercent_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgePercent)))(__ngFactoryType__ || LucideBadgePercent);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgePercent,\n      selectors: [[\"svg\", \"lucideBadgePercent\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c117,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgePercent_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgePercent_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgePercent;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BadgePlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPGxpbmUgeDE9IjEyIiB4Mj0iMTIiIHkxPSI4IiB5Mj0iMTYiIC8+CiAgPGxpbmUgeDE9IjgiIHgyPSIxNiIgeTE9IjEyIiB5Mj0iMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/badge-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgePlus = /*#__PURE__*/(() => {\n  class LucideBadgePlus extends LucideIconBase {\n    static icon = {\n      name: 'badge-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '8',\n        y2: '16',\n        key: '10p56q'\n      }], ['line', {\n        x1: '8',\n        x2: '16',\n        y1: '12',\n        y2: '12',\n        key: '1jonct'\n      }]]\n    };\n    icon = signal(LucideBadgePlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgePlus_BaseFactory;\n      return function LucideBadgePlus_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgePlus_BaseFactory || (ɵLucideBadgePlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgePlus)))(__ngFactoryType__ || LucideBadgePlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgePlus,\n      selectors: [[\"svg\", \"lucideBadgePlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c118,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgePlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgePlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgePlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BadgePoundSterling\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPHBhdGggZD0iTTggMTJoNCIgLz4KICA8cGF0aCBkPSJNMTAgMTZWOS41YTIuNSAyLjUgMCAwIDEgNSAwIiAvPgogIDxwYXRoIGQ9Ik04IDE2aDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/badge-pound-sterling\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgePoundSterling = /*#__PURE__*/(() => {\n  class LucideBadgePoundSterling extends LucideIconBase {\n    static icon = {\n      name: 'badge-pound-sterling',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['path', {\n        d: 'M8 12h4',\n        key: 'qz6y1c'\n      }], ['path', {\n        d: 'M10 16V9.5a2.5 2.5 0 0 1 5 0',\n        key: '3mlbjk'\n      }], ['path', {\n        d: 'M8 16h7',\n        key: 'sbedsn'\n      }]]\n    };\n    icon = signal(LucideBadgePoundSterling.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgePoundSterling_BaseFactory;\n      return function LucideBadgePoundSterling_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgePoundSterling_BaseFactory || (ɵLucideBadgePoundSterling_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgePoundSterling)))(__ngFactoryType__ || LucideBadgePoundSterling);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgePoundSterling,\n      selectors: [[\"svg\", \"lucideBadgePoundSterling\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c119,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgePoundSterling_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgePoundSterling_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgePoundSterling;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BadgeQuestionMark\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPHBhdGggZD0iTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzIiAvPgogIDxsaW5lIHgxPSIxMiIgeDI9IjEyLjAxIiB5MT0iMTciIHkyPSIxNyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/badge-question-mark\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgeQuestionMark = /*#__PURE__*/(() => {\n  class LucideBadgeQuestionMark extends LucideIconBase {\n    static icon = {\n      name: 'badge-question-mark',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['path', {\n        d: 'M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3',\n        key: '1u773s'\n      }], ['line', {\n        x1: '12',\n        x2: '12.01',\n        y1: '17',\n        y2: '17',\n        key: 'io3f8k'\n      }]],\n      aliases: ['badge-help']\n    };\n    icon = signal(LucideBadgeQuestionMark.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgeQuestionMark_BaseFactory;\n      return function LucideBadgeQuestionMark_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgeQuestionMark_BaseFactory || (ɵLucideBadgeQuestionMark_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgeQuestionMark)))(__ngFactoryType__ || LucideBadgeQuestionMark);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgeQuestionMark,\n      selectors: [[\"svg\", \"lucideBadgeQuestionMark\", \"\"], [\"svg\", \"lucideBadgeHelp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c120,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgeQuestionMark_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgeQuestionMark_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgeQuestionMark;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideBadgeQuestionMark\n */\nconst LucideBadgeHelp = LucideBadgeQuestionMark;\n\n/**\n * @component @name BadgeJapaneseYen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPHBhdGggZD0ibTkgOCAzIDN2NyIgLz4KICA8cGF0aCBkPSJtMTIgMTEgMy0zIiAvPgogIDxwYXRoIGQ9Ik05IDEyaDYiIC8+CiAgPHBhdGggZD0iTTkgMTZoNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/badge-japanese-yen\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgeJapaneseYen = /*#__PURE__*/(() => {\n  class LucideBadgeJapaneseYen extends LucideIconBase {\n    static icon = {\n      name: 'badge-japanese-yen',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['path', {\n        d: 'm9 8 3 3v7',\n        key: '17yadx'\n      }], ['path', {\n        d: 'm12 11 3-3',\n        key: 'p4cfq1'\n      }], ['path', {\n        d: 'M9 12h6',\n        key: '1c52cq'\n      }], ['path', {\n        d: 'M9 16h6',\n        key: '8wimt3'\n      }]]\n    };\n    icon = signal(LucideBadgeJapaneseYen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgeJapaneseYen_BaseFactory;\n      return function LucideBadgeJapaneseYen_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgeJapaneseYen_BaseFactory || (ɵLucideBadgeJapaneseYen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgeJapaneseYen)))(__ngFactoryType__ || LucideBadgeJapaneseYen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgeJapaneseYen,\n      selectors: [[\"svg\", \"lucideBadgeJapaneseYen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c121,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgeJapaneseYen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgeJapaneseYen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgeJapaneseYen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BadgeRussianRuble\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPHBhdGggZD0iTTkgMTZoNSIgLz4KICA8cGF0aCBkPSJNOSAxMmg1YTIgMiAwIDEgMCAwLTRoLTN2OSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/badge-russian-ruble\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgeRussianRuble = /*#__PURE__*/(() => {\n  class LucideBadgeRussianRuble extends LucideIconBase {\n    static icon = {\n      name: 'badge-russian-ruble',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['path', {\n        d: 'M9 16h5',\n        key: '1syiyw'\n      }], ['path', {\n        d: 'M9 12h5a2 2 0 1 0 0-4h-3v9',\n        key: '1ge9c1'\n      }]]\n    };\n    icon = signal(LucideBadgeRussianRuble.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgeRussianRuble_BaseFactory;\n      return function LucideBadgeRussianRuble_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgeRussianRuble_BaseFactory || (ɵLucideBadgeRussianRuble_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgeRussianRuble)))(__ngFactoryType__ || LucideBadgeRussianRuble);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgeRussianRuble,\n      selectors: [[\"svg\", \"lucideBadgeRussianRuble\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c122,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgeRussianRuble_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgeRussianRuble_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgeRussianRuble;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BadgeSwissFranc\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPHBhdGggZD0iTTExIDE3VjhoNCIgLz4KICA8cGF0aCBkPSJNMTEgMTJoMyIgLz4KICA8cGF0aCBkPSJNOSAxNmg0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/badge-swiss-franc\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgeSwissFranc = /*#__PURE__*/(() => {\n  class LucideBadgeSwissFranc extends LucideIconBase {\n    static icon = {\n      name: 'badge-swiss-franc',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['path', {\n        d: 'M11 17V8h4',\n        key: '1bfq6y'\n      }], ['path', {\n        d: 'M11 12h3',\n        key: '2eqnfz'\n      }], ['path', {\n        d: 'M9 16h4',\n        key: '1skf3a'\n      }]]\n    };\n    icon = signal(LucideBadgeSwissFranc.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgeSwissFranc_BaseFactory;\n      return function LucideBadgeSwissFranc_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgeSwissFranc_BaseFactory || (ɵLucideBadgeSwissFranc_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgeSwissFranc)))(__ngFactoryType__ || LucideBadgeSwissFranc);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgeSwissFranc,\n      selectors: [[\"svg\", \"lucideBadgeSwissFranc\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c123,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgeSwissFranc_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgeSwissFranc_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgeSwissFranc;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BadgeTurkishLira\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgN3YxMGE1IDUgMCAwIDAgNS01IiAvPgogIDxwYXRoIGQ9Im0xNSA4LTYgMyIgLz4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/badge-turkish-lira\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgeTurkishLira = /*#__PURE__*/(() => {\n  class LucideBadgeTurkishLira extends LucideIconBase {\n    static icon = {\n      name: 'badge-turkish-lira',\n      size: 24,\n      node: [['path', {\n        d: 'M11 7v10a5 5 0 0 0 5-5',\n        key: '1ja3ih'\n      }], ['path', {\n        d: 'm15 8-6 3',\n        key: '4x0uwz'\n      }], ['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76',\n        key: '18242g'\n      }]]\n    };\n    icon = signal(LucideBadgeTurkishLira.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgeTurkishLira_BaseFactory;\n      return function LucideBadgeTurkishLira_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgeTurkishLira_BaseFactory || (ɵLucideBadgeTurkishLira_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgeTurkishLira)))(__ngFactoryType__ || LucideBadgeTurkishLira);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgeTurkishLira,\n      selectors: [[\"svg\", \"lucideBadgeTurkishLira\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c124,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgeTurkishLira_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgeTurkishLira_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgeTurkishLira;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BadgeX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPGxpbmUgeDE9IjE1IiB4Mj0iOSIgeTE9IjkiIHkyPSIxNSIgLz4KICA8bGluZSB4MT0iOSIgeDI9IjE1IiB5MT0iOSIgeTI9IjE1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/badge-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgeX = /*#__PURE__*/(() => {\n  class LucideBadgeX extends LucideIconBase {\n    static icon = {\n      name: 'badge-x',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['line', {\n        x1: '15',\n        x2: '9',\n        y1: '9',\n        y2: '15',\n        key: 'f7djnv'\n      }], ['line', {\n        x1: '9',\n        x2: '15',\n        y1: '9',\n        y2: '15',\n        key: '1shsy8'\n      }]]\n    };\n    icon = signal(LucideBadgeX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgeX_BaseFactory;\n      return function LucideBadgeX_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgeX_BaseFactory || (ɵLucideBadgeX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgeX)))(__ngFactoryType__ || LucideBadgeX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgeX,\n      selectors: [[\"svg\", \"lucideBadgeX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c125,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgeX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgeX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgeX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Badge\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/badge\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadge = /*#__PURE__*/(() => {\n  class LucideBadge extends LucideIconBase {\n    static icon = {\n      name: 'badge',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }]]\n    };\n    icon = signal(LucideBadge.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadge_BaseFactory;\n      return function LucideBadge_Factory(__ngFactoryType__) {\n        return (ɵLucideBadge_BaseFactory || (ɵLucideBadge_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadge)))(__ngFactoryType__ || LucideBadge);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadge,\n      selectors: [[\"svg\", \"lucideBadge\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c126,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadge_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadge_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadge;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BaggageClaim\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMThINmEyIDIgMCAwIDEtMi0yVjdhMiAyIDAgMCAwLTItMiIgLz4KICA8cGF0aCBkPSJNMTcgMTRWNGEyIDIgMCAwIDAtMi0yaC0xYTIgMiAwIDAgMC0yIDJ2MTAiIC8+CiAgPHJlY3Qgd2lkdGg9IjEzIiBoZWlnaHQ9IjgiIHg9IjgiIHk9IjYiIHJ4PSIxIiAvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iMjAiIHI9IjIiIC8+CiAgPGNpcmNsZSBjeD0iOSIgY3k9IjIwIiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/baggage-claim\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBaggageClaim = /*#__PURE__*/(() => {\n  class LucideBaggageClaim extends LucideIconBase {\n    static icon = {\n      name: 'baggage-claim',\n      size: 24,\n      node: [['path', {\n        d: 'M22 18H6a2 2 0 0 1-2-2V7a2 2 0 0 0-2-2',\n        key: '4irg2o'\n      }], ['path', {\n        d: 'M17 14V4a2 2 0 0 0-2-2h-1a2 2 0 0 0-2 2v10',\n        key: '14fcyx'\n      }], ['rect', {\n        width: '13',\n        height: '8',\n        x: '8',\n        y: '6',\n        rx: '1',\n        key: 'o6oiis'\n      }], ['circle', {\n        cx: '18',\n        cy: '20',\n        r: '2',\n        key: 't9985n'\n      }], ['circle', {\n        cx: '9',\n        cy: '20',\n        r: '2',\n        key: 'e5v82j'\n      }]]\n    };\n    icon = signal(LucideBaggageClaim.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBaggageClaim_BaseFactory;\n      return function LucideBaggageClaim_Factory(__ngFactoryType__) {\n        return (ɵLucideBaggageClaim_BaseFactory || (ɵLucideBaggageClaim_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBaggageClaim)))(__ngFactoryType__ || LucideBaggageClaim);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBaggageClaim,\n      selectors: [[\"svg\", \"lucideBaggageClaim\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c127,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBaggageClaim_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBaggageClaim_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBaggageClaim;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Balloon\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTZ2MWEyIDIgMCAwIDAgMiAyaDFhMiAyIDAgMCAxIDIgMnYxIiAvPgogIDxwYXRoIGQ9Ik0xMiA2YTIgMiAwIDAgMSAyIDIiIC8+CiAgPHBhdGggZD0iTTE4IDhjMCA0LTMuNSA4LTYgOHMtNi00LTYtOGE2IDYgMCAwIDEgMTIgMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/balloon\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBalloon = /*#__PURE__*/(() => {\n  class LucideBalloon extends LucideIconBase {\n    static icon = {\n      name: 'balloon',\n      size: 24,\n      node: [['path', {\n        d: 'M12 16v1a2 2 0 0 0 2 2h1a2 2 0 0 1 2 2v1',\n        key: '2nz4b'\n      }], ['path', {\n        d: 'M12 6a2 2 0 0 1 2 2',\n        key: '7y7d82'\n      }], ['path', {\n        d: 'M18 8c0 4-3.5 8-6 8s-6-4-6-8a6 6 0 0 1 12 0',\n        key: 'vqb5s3'\n      }]]\n    };\n    icon = signal(LucideBalloon.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBalloon_BaseFactory;\n      return function LucideBalloon_Factory(__ngFactoryType__) {\n        return (ɵLucideBalloon_BaseFactory || (ɵLucideBalloon_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBalloon)))(__ngFactoryType__ || LucideBalloon);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBalloon,\n      selectors: [[\"svg\", \"lucideBalloon\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c128,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBalloon_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBalloon_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBalloon;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ban\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNNC45MjkgNC45MjkgMTkuMDcgMTkuMDcxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ban\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBan = /*#__PURE__*/(() => {\n  class LucideBan extends LucideIconBase {\n    static icon = {\n      name: 'ban',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M4.929 4.929 19.07 19.071',\n        key: '196cmz'\n      }]]\n    };\n    icon = signal(LucideBan.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBan_BaseFactory;\n      return function LucideBan_Factory(__ngFactoryType__) {\n        return (ɵLucideBan_BaseFactory || (ɵLucideBan_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBan)))(__ngFactoryType__ || LucideBan);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBan,\n      selectors: [[\"svg\", \"lucideBan\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c129,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBan_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBan_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBan;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Banana\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxM2MzLjUtMiA4LTIgMTAgMmE1LjUgNS41IDAgMCAxIDggNSIgLz4KICA8cGF0aCBkPSJNNS4xNSAxNy44OWM1LjUyLTEuNTIgOC42NS02Ljg5IDctMTJDMTEuNTUgNCAxMS41IDIgMTMgMmMzLjIyIDAgNSA1LjUgNSA4IDAgNi41LTQuMiAxMi0xMC40OSAxMkM1LjExIDIyIDIgMjIgMiAyMGMwLTEuNSAxLjE0LTEuNTUgMy4xNS0yLjExWiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/banana\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBanana = /*#__PURE__*/(() => {\n  class LucideBanana extends LucideIconBase {\n    static icon = {\n      name: 'banana',\n      size: 24,\n      node: [['path', {\n        d: 'M4 13c3.5-2 8-2 10 2a5.5 5.5 0 0 1 8 5',\n        key: '1cscit'\n      }], ['path', {\n        d: 'M5.15 17.89c5.52-1.52 8.65-6.89 7-12C11.55 4 11.5 2 13 2c3.22 0 5 5.5 5 8 0 6.5-4.2 12-10.49 12C5.11 22 2 22 2 20c0-1.5 1.14-1.55 3.15-2.11Z',\n        key: '1y1nbv'\n      }]]\n    };\n    icon = signal(LucideBanana.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBanana_BaseFactory;\n      return function LucideBanana_Factory(__ngFactoryType__) {\n        return (ɵLucideBanana_BaseFactory || (ɵLucideBanana_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBanana)))(__ngFactoryType__ || LucideBanana);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBanana,\n      selectors: [[\"svg\", \"lucideBanana\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c130,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBanana_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBanana_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBanana;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bandage\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTAuMDFoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMCAxNC4wMWguMDEiIC8+CiAgPHBhdGggZD0iTTE0IDEwLjAxaC4wMSIgLz4KICA8cGF0aCBkPSJNMTQgMTQuMDFoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xOCA2djEyIiAvPgogIDxwYXRoIGQ9Ik02IDZ2MTIiIC8+CiAgPHJlY3QgeD0iMiIgeT0iNiIgd2lkdGg9IjIwIiBoZWlnaHQ9IjEyIiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/bandage\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBandage = /*#__PURE__*/(() => {\n  class LucideBandage extends LucideIconBase {\n    static icon = {\n      name: 'bandage',\n      size: 24,\n      node: [['path', {\n        d: 'M10 10.01h.01',\n        key: '1e9xi7'\n      }], ['path', {\n        d: 'M10 14.01h.01',\n        key: 'ac23bv'\n      }], ['path', {\n        d: 'M14 10.01h.01',\n        key: '2wfrvf'\n      }], ['path', {\n        d: 'M14 14.01h.01',\n        key: '8tw8yn'\n      }], ['path', {\n        d: 'M18 6v12',\n        key: '1bcixs'\n      }], ['path', {\n        d: 'M6 6v12',\n        key: 'vkc79e'\n      }], ['rect', {\n        x: '2',\n        y: '6',\n        width: '20',\n        height: '12',\n        rx: '2',\n        key: '1wpnh2'\n      }]]\n    };\n    icon = signal(LucideBandage.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBandage_BaseFactory;\n      return function LucideBandage_Factory(__ngFactoryType__) {\n        return (ɵLucideBandage_BaseFactory || (ɵLucideBandage_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBandage)))(__ngFactoryType__ || LucideBandage);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBandage,\n      selectors: [[\"svg\", \"lucideBandage\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c131,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBandage_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBandage_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBandage;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BanknoteArrowDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMThINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjUiIC8+CiAgPHBhdGggZD0ibTE2IDE5IDMgMyAzLTMiIC8+CiAgPHBhdGggZD0iTTE4IDEyaC4wMSIgLz4KICA8cGF0aCBkPSJNMTkgMTZ2NiIgLz4KICA8cGF0aCBkPSJNNiAxMmguMDEiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/banknote-arrow-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBanknoteArrowDown = /*#__PURE__*/(() => {\n  class LucideBanknoteArrowDown extends LucideIconBase {\n    static icon = {\n      name: 'banknote-arrow-down',\n      size: 24,\n      node: [['path', {\n        d: 'M12 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5',\n        key: 'x6cv4u'\n      }], ['path', {\n        d: 'm16 19 3 3 3-3',\n        key: '1ibux0'\n      }], ['path', {\n        d: 'M18 12h.01',\n        key: 'yjnet6'\n      }], ['path', {\n        d: 'M19 16v6',\n        key: 'tddt3s'\n      }], ['path', {\n        d: 'M6 12h.01',\n        key: 'c2rlol'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '2',\n        key: '1c9p78'\n      }]]\n    };\n    icon = signal(LucideBanknoteArrowDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBanknoteArrowDown_BaseFactory;\n      return function LucideBanknoteArrowDown_Factory(__ngFactoryType__) {\n        return (ɵLucideBanknoteArrowDown_BaseFactory || (ɵLucideBanknoteArrowDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBanknoteArrowDown)))(__ngFactoryType__ || LucideBanknoteArrowDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBanknoteArrowDown,\n      selectors: [[\"svg\", \"lucideBanknoteArrowDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c132,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBanknoteArrowDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBanknoteArrowDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBanknoteArrowDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BanknoteArrowUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMThINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjUiIC8+CiAgPHBhdGggZD0iTTE4IDEyaC4wMSIgLz4KICA8cGF0aCBkPSJNMTkgMjJ2LTYiIC8+CiAgPHBhdGggZD0ibTIyIDE5LTMtMy0zIDMiIC8+CiAgPHBhdGggZD0iTTYgMTJoLjAxIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/banknote-arrow-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBanknoteArrowUp = /*#__PURE__*/(() => {\n  class LucideBanknoteArrowUp extends LucideIconBase {\n    static icon = {\n      name: 'banknote-arrow-up',\n      size: 24,\n      node: [['path', {\n        d: 'M12 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5',\n        key: 'x6cv4u'\n      }], ['path', {\n        d: 'M18 12h.01',\n        key: 'yjnet6'\n      }], ['path', {\n        d: 'M19 22v-6',\n        key: 'qhmiwi'\n      }], ['path', {\n        d: 'm22 19-3-3-3 3',\n        key: 'rn6bg2'\n      }], ['path', {\n        d: 'M6 12h.01',\n        key: 'c2rlol'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '2',\n        key: '1c9p78'\n      }]]\n    };\n    icon = signal(LucideBanknoteArrowUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBanknoteArrowUp_BaseFactory;\n      return function LucideBanknoteArrowUp_Factory(__ngFactoryType__) {\n        return (ɵLucideBanknoteArrowUp_BaseFactory || (ɵLucideBanknoteArrowUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBanknoteArrowUp)))(__ngFactoryType__ || LucideBanknoteArrowUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBanknoteArrowUp,\n      selectors: [[\"svg\", \"lucideBanknoteArrowUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c133,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBanknoteArrowUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBanknoteArrowUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBanknoteArrowUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BanknoteX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMThINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjUiIC8+CiAgPHBhdGggZD0ibTE3IDE3IDUgNSIgLz4KICA8cGF0aCBkPSJNMTggMTJoLjAxIiAvPgogIDxwYXRoIGQ9Im0yMiAxNy01IDUiIC8+CiAgPHBhdGggZD0iTTYgMTJoLjAxIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/banknote-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBanknoteX = /*#__PURE__*/(() => {\n  class LucideBanknoteX extends LucideIconBase {\n    static icon = {\n      name: 'banknote-x',\n      size: 24,\n      node: [['path', {\n        d: 'M13 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5',\n        key: '16nib6'\n      }], ['path', {\n        d: 'm17 17 5 5',\n        key: 'p7ous7'\n      }], ['path', {\n        d: 'M18 12h.01',\n        key: 'yjnet6'\n      }], ['path', {\n        d: 'm22 17-5 5',\n        key: 'gqnmv0'\n      }], ['path', {\n        d: 'M6 12h.01',\n        key: 'c2rlol'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '2',\n        key: '1c9p78'\n      }]]\n    };\n    icon = signal(LucideBanknoteX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBanknoteX_BaseFactory;\n      return function LucideBanknoteX_Factory(__ngFactoryType__) {\n        return (ɵLucideBanknoteX_BaseFactory || (ɵLucideBanknoteX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBanknoteX)))(__ngFactoryType__ || LucideBanknoteX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBanknoteX,\n      selectors: [[\"svg\", \"lucideBanknoteX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c134,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBanknoteX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBanknoteX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBanknoteX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Banknote\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTIiIHg9IjIiIHk9IjYiIHJ4PSIyIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjIiIC8+CiAgPHBhdGggZD0iTTYgMTJoLjAxTTE4IDEyaC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/banknote\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBanknote = /*#__PURE__*/(() => {\n  class LucideBanknote extends LucideIconBase {\n    static icon = {\n      name: 'banknote',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '12',\n        x: '2',\n        y: '6',\n        rx: '2',\n        key: '9lu3g6'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '2',\n        key: '1c9p78'\n      }], ['path', {\n        d: 'M6 12h.01M18 12h.01',\n        key: '113zkx'\n      }]]\n    };\n    icon = signal(LucideBanknote.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBanknote_BaseFactory;\n      return function LucideBanknote_Factory(__ngFactoryType__) {\n        return (ɵLucideBanknote_BaseFactory || (ɵLucideBanknote_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBanknote)))(__ngFactoryType__ || LucideBanknote);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBanknote,\n      selectors: [[\"svg\", \"lucideBanknote\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c135,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBanknote_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBanknote_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBanknote;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Barcode\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA1djE0IiAvPgogIDxwYXRoIGQ9Ik04IDV2MTQiIC8+CiAgPHBhdGggZD0iTTEyIDV2MTQiIC8+CiAgPHBhdGggZD0iTTE3IDV2MTQiIC8+CiAgPHBhdGggZD0iTTIxIDV2MTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/barcode\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBarcode = /*#__PURE__*/(() => {\n  class LucideBarcode extends LucideIconBase {\n    static icon = {\n      name: 'barcode',\n      size: 24,\n      node: [['path', {\n        d: 'M3 5v14',\n        key: '1nt18q'\n      }], ['path', {\n        d: 'M8 5v14',\n        key: '1ybrkv'\n      }], ['path', {\n        d: 'M12 5v14',\n        key: 's699le'\n      }], ['path', {\n        d: 'M17 5v14',\n        key: 'ycjyhj'\n      }], ['path', {\n        d: 'M21 5v14',\n        key: 'nzette'\n      }]]\n    };\n    icon = signal(LucideBarcode.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBarcode_BaseFactory;\n      return function LucideBarcode_Factory(__ngFactoryType__) {\n        return (ɵLucideBarcode_BaseFactory || (ɵLucideBarcode_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBarcode)))(__ngFactoryType__ || LucideBarcode);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBarcode,\n      selectors: [[\"svg\", \"lucideBarcode\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c136,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBarcode_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBarcode_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBarcode;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Barrel\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgM2E0MSA0MSAwIDAgMCAwIDE4IiAvPgogIDxwYXRoIGQ9Ik0xNCAzYTQxIDQxIDAgMCAxIDAgMTgiIC8+CiAgPHBhdGggZD0iTTE3IDNhMiAyIDAgMCAxIDEuNjguOTIgMTUuMjUgMTUuMjUgMCAwIDEgMCAxNi4xNkEyIDIgMCAwIDEgMTcgMjFIN2EyIDIgMCAwIDEtMS42OC0uOTIgMTUuMjUgMTUuMjUgMCAwIDEgMC0xNi4xNkEyIDIgMCAwIDEgNyAzeiIgLz4KICA8cGF0aCBkPSJNMy44NCAxN2gxNi4zMiIgLz4KICA8cGF0aCBkPSJNMy44NCA3aDE2LjMyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/barrel\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBarrel = /*#__PURE__*/(() => {\n  class LucideBarrel extends LucideIconBase {\n    static icon = {\n      name: 'barrel',\n      size: 24,\n      node: [['path', {\n        d: 'M10 3a41 41 0 0 0 0 18',\n        key: '1qcnzb'\n      }], ['path', {\n        d: 'M14 3a41 41 0 0 1 0 18',\n        key: '547vd4'\n      }], ['path', {\n        d: 'M17 3a2 2 0 0 1 1.68.92 15.25 15.25 0 0 1 0 16.16A2 2 0 0 1 17 21H7a2 2 0 0 1-1.68-.92 15.25 15.25 0 0 1 0-16.16A2 2 0 0 1 7 3z',\n        key: '1wepyy'\n      }], ['path', {\n        d: 'M3.84 17h16.32',\n        key: '1wh981'\n      }], ['path', {\n        d: 'M3.84 7h16.32',\n        key: '19jf4x'\n      }]]\n    };\n    icon = signal(LucideBarrel.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBarrel_BaseFactory;\n      return function LucideBarrel_Factory(__ngFactoryType__) {\n        return (ɵLucideBarrel_BaseFactory || (ɵLucideBarrel_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBarrel)))(__ngFactoryType__ || LucideBarrel);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBarrel,\n      selectors: [[\"svg\", \"lucideBarrel\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c137,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBarrel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBarrel_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBarrel;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Baseline\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAyMGgxNiIgLz4KICA8cGF0aCBkPSJtNiAxNiA2LTEyIDYgMTIiIC8+CiAgPHBhdGggZD0iTTggMTJoOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/baseline\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBaseline = /*#__PURE__*/(() => {\n  class LucideBaseline extends LucideIconBase {\n    static icon = {\n      name: 'baseline',\n      size: 24,\n      node: [['path', {\n        d: 'M4 20h16',\n        key: '14thso'\n      }], ['path', {\n        d: 'm6 16 6-12 6 12',\n        key: '1b4byz'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }]]\n    };\n    icon = signal(LucideBaseline.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBaseline_BaseFactory;\n      return function LucideBaseline_Factory(__ngFactoryType__) {\n        return (ɵLucideBaseline_BaseFactory || (ɵLucideBaseline_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBaseline)))(__ngFactoryType__ || LucideBaseline);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBaseline,\n      selectors: [[\"svg\", \"lucideBaseline\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c138,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBaseline_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBaseline_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBaseline;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BatteryCharging\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTEgNy0zIDVoNGwtMyA1IiAvPgogIDxwYXRoIGQ9Ik0xNC44NTYgNkgxNmEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMmgtMi45MzUiIC8+CiAgPHBhdGggZD0iTTIyIDE0di00IiAvPgogIDxwYXRoIGQ9Ik01LjE0IDE4SDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoMi45MzYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/battery-charging\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBatteryCharging = /*#__PURE__*/(() => {\n  class LucideBatteryCharging extends LucideIconBase {\n    static icon = {\n      name: 'battery-charging',\n      size: 24,\n      node: [['path', {\n        d: 'm11 7-3 5h4l-3 5',\n        key: 'b4a64w'\n      }], ['path', {\n        d: 'M14.856 6H16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.935',\n        key: 'lre1cr'\n      }], ['path', {\n        d: 'M22 14v-4',\n        key: '14q9d5'\n      }], ['path', {\n        d: 'M5.14 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2.936',\n        key: '13q5k0'\n      }]]\n    };\n    icon = signal(LucideBatteryCharging.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBatteryCharging_BaseFactory;\n      return function LucideBatteryCharging_Factory(__ngFactoryType__) {\n        return (ɵLucideBatteryCharging_BaseFactory || (ɵLucideBatteryCharging_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBatteryCharging)))(__ngFactoryType__ || LucideBatteryCharging);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBatteryCharging,\n      selectors: [[\"svg\", \"lucideBatteryCharging\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c139,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBatteryCharging_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBatteryCharging_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBatteryCharging;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bath\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgNCA4IDYiIC8+CiAgPHBhdGggZD0iTTE3IDE5djIiIC8+CiAgPHBhdGggZD0iTTIgMTJoMjAiIC8+CiAgPHBhdGggZD0iTTcgMTl2MiIgLz4KICA8cGF0aCBkPSJNOSA1IDcuNjIxIDMuNjIxQTIuMTIxIDIuMTIxIDAgMCAwIDQgNXYxMmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bath\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBath = /*#__PURE__*/(() => {\n  class LucideBath extends LucideIconBase {\n    static icon = {\n      name: 'bath',\n      size: 24,\n      node: [['path', {\n        d: 'M10 4 8 6',\n        key: '1rru8s'\n      }], ['path', {\n        d: 'M17 19v2',\n        key: 'ts1sot'\n      }], ['path', {\n        d: 'M2 12h20',\n        key: '9i4pu4'\n      }], ['path', {\n        d: 'M7 19v2',\n        key: '12npes'\n      }], ['path', {\n        d: 'M9 5 7.621 3.621A2.121 2.121 0 0 0 4 5v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5',\n        key: '14ym8i'\n      }]]\n    };\n    icon = signal(LucideBath.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBath_BaseFactory;\n      return function LucideBath_Factory(__ngFactoryType__) {\n        return (ɵLucideBath_BaseFactory || (ɵLucideBath_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBath)))(__ngFactoryType__ || LucideBath);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBath,\n      selectors: [[\"svg\", \"lucideBath\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c140,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBath_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBath_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBath;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BatteryFull\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTB2NCIgLz4KICA8cGF0aCBkPSJNMTQgMTB2NCIgLz4KICA8cGF0aCBkPSJNMjIgMTR2LTQiIC8+CiAgPHBhdGggZD0iTTYgMTB2NCIgLz4KICA8cmVjdCB4PSIyIiB5PSI2IiB3aWR0aD0iMTYiIGhlaWdodD0iMTIiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/battery-full\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBatteryFull = /*#__PURE__*/(() => {\n  class LucideBatteryFull extends LucideIconBase {\n    static icon = {\n      name: 'battery-full',\n      size: 24,\n      node: [['path', {\n        d: 'M10 10v4',\n        key: '1mb2ec'\n      }], ['path', {\n        d: 'M14 10v4',\n        key: '1nt88p'\n      }], ['path', {\n        d: 'M22 14v-4',\n        key: '14q9d5'\n      }], ['path', {\n        d: 'M6 10v4',\n        key: '1n77qd'\n      }], ['rect', {\n        x: '2',\n        y: '6',\n        width: '16',\n        height: '12',\n        rx: '2',\n        key: '13zb55'\n      }]]\n    };\n    icon = signal(LucideBatteryFull.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBatteryFull_BaseFactory;\n      return function LucideBatteryFull_Factory(__ngFactoryType__) {\n        return (ɵLucideBatteryFull_BaseFactory || (ɵLucideBatteryFull_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBatteryFull)))(__ngFactoryType__ || LucideBatteryFull);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBatteryFull,\n      selectors: [[\"svg\", \"lucideBatteryFull\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c141,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBatteryFull_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBatteryFull_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBatteryFull;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BatteryLow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTR2LTQiIC8+CiAgPHBhdGggZD0iTTYgMTR2LTQiIC8+CiAgPHJlY3QgeD0iMiIgeT0iNiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjEyIiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/battery-low\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBatteryLow = /*#__PURE__*/(() => {\n  class LucideBatteryLow extends LucideIconBase {\n    static icon = {\n      name: 'battery-low',\n      size: 24,\n      node: [['path', {\n        d: 'M22 14v-4',\n        key: '14q9d5'\n      }], ['path', {\n        d: 'M6 14v-4',\n        key: '14a6bd'\n      }], ['rect', {\n        x: '2',\n        y: '6',\n        width: '16',\n        height: '12',\n        rx: '2',\n        key: '13zb55'\n      }]]\n    };\n    icon = signal(LucideBatteryLow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBatteryLow_BaseFactory;\n      return function LucideBatteryLow_Factory(__ngFactoryType__) {\n        return (ɵLucideBatteryLow_BaseFactory || (ɵLucideBatteryLow_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBatteryLow)))(__ngFactoryType__ || LucideBatteryLow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBatteryLow,\n      selectors: [[\"svg\", \"lucideBatteryLow\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c142,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBatteryLow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBatteryLow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBatteryLow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BatteryMedium\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTR2LTQiIC8+CiAgPHBhdGggZD0iTTIyIDE0di00IiAvPgogIDxwYXRoIGQ9Ik02IDE0di00IiAvPgogIDxyZWN0IHg9IjIiIHk9IjYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxMiIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/battery-medium\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBatteryMedium = /*#__PURE__*/(() => {\n  class LucideBatteryMedium extends LucideIconBase {\n    static icon = {\n      name: 'battery-medium',\n      size: 24,\n      node: [['path', {\n        d: 'M10 14v-4',\n        key: 'suye4c'\n      }], ['path', {\n        d: 'M22 14v-4',\n        key: '14q9d5'\n      }], ['path', {\n        d: 'M6 14v-4',\n        key: '14a6bd'\n      }], ['rect', {\n        x: '2',\n        y: '6',\n        width: '16',\n        height: '12',\n        rx: '2',\n        key: '13zb55'\n      }]]\n    };\n    icon = signal(LucideBatteryMedium.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBatteryMedium_BaseFactory;\n      return function LucideBatteryMedium_Factory(__ngFactoryType__) {\n        return (ɵLucideBatteryMedium_BaseFactory || (ɵLucideBatteryMedium_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBatteryMedium)))(__ngFactoryType__ || LucideBatteryMedium);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBatteryMedium,\n      selectors: [[\"svg\", \"lucideBatteryMedium\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c143,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBatteryMedium_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBatteryMedium_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBatteryMedium;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BatteryPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgOXY2IiAvPgogIDxwYXRoIGQ9Ik0xMi41NDMgNkgxNmEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMmgtMy42MDUiIC8+CiAgPHBhdGggZD0iTTIyIDE0di00IiAvPgogIDxwYXRoIGQ9Ik03IDEyaDYiIC8+CiAgPHBhdGggZD0iTTcuNjA2IDE4SDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoMy42MDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/battery-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBatteryPlus = /*#__PURE__*/(() => {\n  class LucideBatteryPlus extends LucideIconBase {\n    static icon = {\n      name: 'battery-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M10 9v6',\n        key: '17i7lo'\n      }], ['path', {\n        d: 'M12.543 6H16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.605',\n        key: 'o09yah'\n      }], ['path', {\n        d: 'M22 14v-4',\n        key: '14q9d5'\n      }], ['path', {\n        d: 'M7 12h6',\n        key: 'iekk3h'\n      }], ['path', {\n        d: 'M7.606 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.606',\n        key: 'xyqvf1'\n      }]]\n    };\n    icon = signal(LucideBatteryPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBatteryPlus_BaseFactory;\n      return function LucideBatteryPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideBatteryPlus_BaseFactory || (ɵLucideBatteryPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBatteryPlus)))(__ngFactoryType__ || LucideBatteryPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBatteryPlus,\n      selectors: [[\"svg\", \"lucideBatteryPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c144,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBatteryPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBatteryPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBatteryPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BatteryWarning\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTdoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMCA3djYiIC8+CiAgPHBhdGggZD0iTTE0IDZoMmEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMmgtMiIgLz4KICA8cGF0aCBkPSJNMjIgMTR2LTQiIC8+CiAgPHBhdGggZD0iTTYgMThINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/battery-warning\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBatteryWarning = /*#__PURE__*/(() => {\n  class LucideBatteryWarning extends LucideIconBase {\n    static icon = {\n      name: 'battery-warning',\n      size: 24,\n      node: [['path', {\n        d: 'M10 17h.01',\n        key: 'nbq80n'\n      }], ['path', {\n        d: 'M10 7v6',\n        key: 'nne03l'\n      }], ['path', {\n        d: 'M14 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2',\n        key: '1m83kb'\n      }], ['path', {\n        d: 'M22 14v-4',\n        key: '14q9d5'\n      }], ['path', {\n        d: 'M6 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2',\n        key: 'h8lgfh'\n      }]]\n    };\n    icon = signal(LucideBatteryWarning.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBatteryWarning_BaseFactory;\n      return function LucideBatteryWarning_Factory(__ngFactoryType__) {\n        return (ɵLucideBatteryWarning_BaseFactory || (ɵLucideBatteryWarning_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBatteryWarning)))(__ngFactoryType__ || LucideBatteryWarning);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBatteryWarning,\n      selectors: [[\"svg\", \"lucideBatteryWarning\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c145,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBatteryWarning_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBatteryWarning_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBatteryWarning;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Battery\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNIDIyIDE0IEwgMjIgMTAiIC8+CiAgPHJlY3QgeD0iMiIgeT0iNiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjEyIiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/battery\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBattery = /*#__PURE__*/(() => {\n  class LucideBattery extends LucideIconBase {\n    static icon = {\n      name: 'battery',\n      size: 24,\n      node: [['path', {\n        d: 'M 22 14 L 22 10',\n        key: 'nqc4tb'\n      }], ['rect', {\n        x: '2',\n        y: '6',\n        width: '16',\n        height: '12',\n        rx: '2',\n        key: '13zb55'\n      }]]\n    };\n    icon = signal(LucideBattery.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBattery_BaseFactory;\n      return function LucideBattery_Factory(__ngFactoryType__) {\n        return (ɵLucideBattery_BaseFactory || (ɵLucideBattery_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBattery)))(__ngFactoryType__ || LucideBattery);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBattery,\n      selectors: [[\"svg\", \"lucideBattery\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c146,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBattery_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBattery_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBattery;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Beaker\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNC41IDNoMTUiIC8+CiAgPHBhdGggZD0iTTYgM3YxNmEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlYzIiAvPgogIDxwYXRoIGQ9Ik02IDE0aDEyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/beaker\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBeaker = /*#__PURE__*/(() => {\n  class LucideBeaker extends LucideIconBase {\n    static icon = {\n      name: 'beaker',\n      size: 24,\n      node: [['path', {\n        d: 'M4.5 3h15',\n        key: 'c7n0jr'\n      }], ['path', {\n        d: 'M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3',\n        key: 'm1uhx7'\n      }], ['path', {\n        d: 'M6 14h12',\n        key: '4cwo0f'\n      }]]\n    };\n    icon = signal(LucideBeaker.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBeaker_BaseFactory;\n      return function LucideBeaker_Factory(__ngFactoryType__) {\n        return (ɵLucideBeaker_BaseFactory || (ɵLucideBeaker_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBeaker)))(__ngFactoryType__ || LucideBeaker);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBeaker,\n      selectors: [[\"svg\", \"lucideBeaker\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c147,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBeaker_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBeaker_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBeaker;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BeanOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSA5Yy0uNjQuNjQtMS41MjEuOTU0LTIuNDAyIDEuMTY1QTYgNiAwIDAgMCA4IDIyYTEzLjk2IDEzLjk2IDAgMCAwIDkuOS00LjEiIC8+CiAgPHBhdGggZD0iTTEwLjc1IDUuMDkzQTYgNiAwIDAgMSAyMiA4YzAgMi40MTEtLjYxIDQuNjgtMS42ODMgNi42NiIgLz4KICA8cGF0aCBkPSJNNS4zNDEgMTAuNjJhNCA0IDAgMCAwIDYuNDg3IDEuMjA4TTEwLjYyIDUuMzQxYTQuMDE1IDQuMDE1IDAgMCAxIDIuMDM5IDIuMDQiIC8+CiAgPGxpbmUgeDE9IjIiIHgyPSIyMiIgeTE9IjIiIHkyPSIyMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/bean-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBeanOff = /*#__PURE__*/(() => {\n  class LucideBeanOff extends LucideIconBase {\n    static icon = {\n      name: 'bean-off',\n      size: 24,\n      node: [['path', {\n        d: 'M9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22a13.96 13.96 0 0 0 9.9-4.1',\n        key: 'bq3udt'\n      }], ['path', {\n        d: 'M10.75 5.093A6 6 0 0 1 22 8c0 2.411-.61 4.68-1.683 6.66',\n        key: '17ccse'\n      }], ['path', {\n        d: 'M5.341 10.62a4 4 0 0 0 6.487 1.208M10.62 5.341a4.015 4.015 0 0 1 2.039 2.04',\n        key: '18zqgq'\n      }], ['line', {\n        x1: '2',\n        x2: '22',\n        y1: '2',\n        y2: '22',\n        key: 'a6p6uj'\n      }]]\n    };\n    icon = signal(LucideBeanOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBeanOff_BaseFactory;\n      return function LucideBeanOff_Factory(__ngFactoryType__) {\n        return (ɵLucideBeanOff_BaseFactory || (ɵLucideBeanOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBeanOff)))(__ngFactoryType__ || LucideBeanOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBeanOff,\n      selectors: [[\"svg\", \"lucideBeanOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c148,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBeanOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBeanOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBeanOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bean\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMTY1IDYuNTk4QzkuOTU0IDcuNDc4IDkuNjQgOC4zNiA5IDljLS42NC42NC0xLjUyMS45NTQtMi40MDIgMS4xNjVBNiA2IDAgMCAwIDggMjJjNy43MzIgMCAxNC02LjI2OCAxNC0xNGE2IDYgMCAwIDAtMTEuODM1LTEuNDAyWiIgLz4KICA8cGF0aCBkPSJNNS4zNDEgMTAuNjJhNCA0IDAgMSAwIDUuMjc5LTUuMjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bean\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBean = /*#__PURE__*/(() => {\n  class LucideBean extends LucideIconBase {\n    static icon = {\n      name: 'bean',\n      size: 24,\n      node: [['path', {\n        d: 'M10.165 6.598C9.954 7.478 9.64 8.36 9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22c7.732 0 14-6.268 14-14a6 6 0 0 0-11.835-1.402Z',\n        key: '1tvzk7'\n      }], ['path', {\n        d: 'M5.341 10.62a4 4 0 1 0 5.279-5.28',\n        key: '2cyri2'\n      }]]\n    };\n    icon = signal(LucideBean.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBean_BaseFactory;\n      return function LucideBean_Factory(__ngFactoryType__) {\n        return (ɵLucideBean_BaseFactory || (ɵLucideBean_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBean)))(__ngFactoryType__ || LucideBean);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBean,\n      selectors: [[\"svg\", \"lucideBean\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c149,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBean_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBean_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBean;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BedDouble\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMHYtOGEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2OCIgLz4KICA8cGF0aCBkPSJNNCAxMFY2YTIgMiAwIDAgMSAyLTJoMTJhMiAyIDAgMCAxIDIgMnY0IiAvPgogIDxwYXRoIGQ9Ik0xMiA0djYiIC8+CiAgPHBhdGggZD0iTTIgMThoMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bed-double\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBedDouble = /*#__PURE__*/(() => {\n  class LucideBedDouble extends LucideIconBase {\n    static icon = {\n      name: 'bed-double',\n      size: 24,\n      node: [['path', {\n        d: 'M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8',\n        key: '1k78r4'\n      }], ['path', {\n        d: 'M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4',\n        key: 'fb3tl2'\n      }], ['path', {\n        d: 'M12 4v6',\n        key: '1dcgq2'\n      }], ['path', {\n        d: 'M2 18h20',\n        key: 'ajqnye'\n      }]]\n    };\n    icon = signal(LucideBedDouble.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBedDouble_BaseFactory;\n      return function LucideBedDouble_Factory(__ngFactoryType__) {\n        return (ɵLucideBedDouble_BaseFactory || (ɵLucideBedDouble_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBedDouble)))(__ngFactoryType__ || LucideBedDouble);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBedDouble,\n      selectors: [[\"svg\", \"lucideBedDouble\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c150,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBedDouble_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBedDouble_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBedDouble;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BadgeMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloiIC8+CiAgPGxpbmUgeDE9IjgiIHgyPSIxNiIgeTE9IjEyIiB5Mj0iMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/badge-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBadgeMinus = /*#__PURE__*/(() => {\n  class LucideBadgeMinus extends LucideIconBase {\n    static icon = {\n      name: 'badge-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z',\n        key: '3c2336'\n      }], ['line', {\n        x1: '8',\n        x2: '16',\n        y1: '12',\n        y2: '12',\n        key: '1jonct'\n      }]]\n    };\n    icon = signal(LucideBadgeMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBadgeMinus_BaseFactory;\n      return function LucideBadgeMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideBadgeMinus_BaseFactory || (ɵLucideBadgeMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBadgeMinus)))(__ngFactoryType__ || LucideBadgeMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBadgeMinus,\n      selectors: [[\"svg\", \"lucideBadgeMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c151,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBadgeMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBadgeMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBadgeMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA0djE2IiAvPgogIDxwYXRoIGQ9Ik0yIDhoMThhMiAyIDAgMCAxIDIgMnYxMCIgLz4KICA8cGF0aCBkPSJNMiAxN2gyMCIgLz4KICA8cGF0aCBkPSJNNiA4djkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBed = /*#__PURE__*/(() => {\n  class LucideBed extends LucideIconBase {\n    static icon = {\n      name: 'bed',\n      size: 24,\n      node: [['path', {\n        d: 'M2 4v16',\n        key: 'vw9hq8'\n      }], ['path', {\n        d: 'M2 8h18a2 2 0 0 1 2 2v10',\n        key: '1dgv2r'\n      }], ['path', {\n        d: 'M2 17h20',\n        key: '18nfp3'\n      }], ['path', {\n        d: 'M6 8v9',\n        key: '1yriud'\n      }]]\n    };\n    icon = signal(LucideBed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBed_BaseFactory;\n      return function LucideBed_Factory(__ngFactoryType__) {\n        return (ɵLucideBed_BaseFactory || (ɵLucideBed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBed)))(__ngFactoryType__ || LucideBed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBed,\n      selectors: [[\"svg\", \"lucideBed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c152,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BeefOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuNzcxIDYuMTA5YTIuNSAyLjUgMCAwIDEgMy4xMiAzLjEyIiAvPgogIDxwYXRoIGQ9Ik0xNy44NTIgMTIuMTg1YTYuNSA2LjUgMCAwIDAtOS4wMzUtOS4wNCIgLz4KICA8cGF0aCBkPSJNMTguMDEzIDE4LjAxM0MxNS4wMjkgMjAuMzQ5IDEwLjgzMSAyMiA3IDIyYTMgMyAwIDAgMS0yLjY4LTEuNjZMMi40IDE2LjUiIC8+CiAgPHBhdGggZD0ibTE4LjUgNiAyLjE5IDQuNWE2LjQ4IDYuNDggMCAwIDEtLjEzOSA0LjM5MyIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik02LjM1NSA2LjM3YTcgNyAwIDAgMC0uMDc1LjIzYy0xLjEgMy4xMy0uNzggMy45LTMuMTggNi4wOEEzIDMgMCAwIDAgNSAxOGMzLjM1NiAwIDYuOTkzLTEuMjY3IDkuODUtMy4xNTEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/beef-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBeefOff = /*#__PURE__*/(() => {\n  class LucideBeefOff extends LucideIconBase {\n    static icon = {\n      name: 'beef-off',\n      size: 24,\n      node: [['path', {\n        d: 'M11.771 6.109a2.5 2.5 0 0 1 3.12 3.12',\n        key: '3w1grc'\n      }], ['path', {\n        d: 'M17.852 12.185a6.5 6.5 0 0 0-9.035-9.04',\n        key: '1xgl7b'\n      }], ['path', {\n        d: 'M18.013 18.013C15.029 20.349 10.831 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5',\n        key: '3m3yc0'\n      }], ['path', {\n        d: 'm18.5 6 2.19 4.5a6.48 6.48 0 0 1-.139 4.393',\n        key: '1rvkn7'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M6.355 6.37a7 7 0 0 0-.075.23c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c3.356 0 6.993-1.267 9.85-3.151',\n        key: '54713r'\n      }]]\n    };\n    icon = signal(LucideBeefOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBeefOff_BaseFactory;\n      return function LucideBeefOff_Factory(__ngFactoryType__) {\n        return (ɵLucideBeefOff_BaseFactory || (ɵLucideBeefOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBeefOff)))(__ngFactoryType__ || LucideBeefOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBeefOff,\n      selectors: [[\"svg\", \"lucideBeefOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c153,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBeefOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBeefOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBeefOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BeerOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMTN2NSIgLz4KICA8cGF0aCBkPSJNMTcgMTEuNDdWOCIgLz4KICA8cGF0aCBkPSJNMTcgMTFoMWEzIDMgMCAwIDEgMi43NDUgNC4yMTEiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJNNSA4djEyYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0ydi0zIiAvPgogIDxwYXRoIGQ9Ik03LjUzNiA3LjUzNUM2Ljc2NiA3LjY0OSA2LjE1NCA4IDUuNSA4YTIuNSAyLjUgMCAwIDEtMS43NjgtNC4yNjgiIC8+CiAgPHBhdGggZD0iTTguNzI3IDMuMjA0QzkuMzA2IDIuNzY3IDkuODg1IDIgMTEgMmMxLjU2IDAgMiAxLjUgMyAxLjVzMS43Mi0uNSAyLjUtLjVhMSAxIDAgMSAxIDAgNWMtLjc4IDAtMS41LS41LTIuNS0uNWEzLjE0OSAzLjE0OSAwIDAgMC0uODQyLjEyIiAvPgogIDxwYXRoIGQ9Ik05IDE0LjZWMTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/beer-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBeerOff = /*#__PURE__*/(() => {\n  class LucideBeerOff extends LucideIconBase {\n    static icon = {\n      name: 'beer-off',\n      size: 24,\n      node: [['path', {\n        d: 'M13 13v5',\n        key: 'igwfh0'\n      }], ['path', {\n        d: 'M17 11.47V8',\n        key: '16yw0g'\n      }], ['path', {\n        d: 'M17 11h1a3 3 0 0 1 2.745 4.211',\n        key: '1xbt65'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-3',\n        key: 'c55o3e'\n      }], ['path', {\n        d: 'M7.536 7.535C6.766 7.649 6.154 8 5.5 8a2.5 2.5 0 0 1-1.768-4.268',\n        key: '1ydug7'\n      }], ['path', {\n        d: 'M8.727 3.204C9.306 2.767 9.885 2 11 2c1.56 0 2 1.5 3 1.5s1.72-.5 2.5-.5a1 1 0 1 1 0 5c-.78 0-1.5-.5-2.5-.5a3.149 3.149 0 0 0-.842.12',\n        key: 'q81o7q'\n      }], ['path', {\n        d: 'M9 14.6V18',\n        key: '20ek98'\n      }]]\n    };\n    icon = signal(LucideBeerOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBeerOff_BaseFactory;\n      return function LucideBeerOff_Factory(__ngFactoryType__) {\n        return (ɵLucideBeerOff_BaseFactory || (ɵLucideBeerOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBeerOff)))(__ngFactoryType__ || LucideBeerOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBeerOff,\n      selectors: [[\"svg\", \"lucideBeerOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c154,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBeerOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBeerOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBeerOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Beer\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgMTFoMWEzIDMgMCAwIDEgMCA2aC0xIiAvPgogIDxwYXRoIGQ9Ik05IDEydjYiIC8+CiAgPHBhdGggZD0iTTEzIDEydjYiIC8+CiAgPHBhdGggZD0iTTE0IDcuNWMtMSAwLTEuNDQuNS0zIC41cy0yLS41LTMtLjUtMS43Mi41LTIuNS41YTIuNSAyLjUgMCAwIDEgMC01Yy43OCAwIDEuNTcuNSAyLjUuNVM5LjQ0IDIgMTEgMnMyIDEuNSAzIDEuNSAxLjcyLS41IDIuNS0uNWEyLjUgMi41IDAgMCAxIDAgNWMtLjc4IDAtMS41LS41LTIuNS0uNVoiIC8+CiAgPHBhdGggZD0iTTUgOHYxMmEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlY4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/beer\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBeer = /*#__PURE__*/(() => {\n  class LucideBeer extends LucideIconBase {\n    static icon = {\n      name: 'beer',\n      size: 24,\n      node: [['path', {\n        d: 'M17 11h1a3 3 0 0 1 0 6h-1',\n        key: '1yp76v'\n      }], ['path', {\n        d: 'M9 12v6',\n        key: '1u1cab'\n      }], ['path', {\n        d: 'M13 12v6',\n        key: '1sugkk'\n      }], ['path', {\n        d: 'M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5S9.44 2 11 2s2 1.5 3 1.5 1.72-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z',\n        key: '1510fo'\n      }], ['path', {\n        d: 'M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8',\n        key: '19jb7n'\n      }]]\n    };\n    icon = signal(LucideBeer.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBeer_BaseFactory;\n      return function LucideBeer_Factory(__ngFactoryType__) {\n        return (ɵLucideBeer_BaseFactory || (ɵLucideBeer_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBeer)))(__ngFactoryType__ || LucideBeer);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBeer,\n      selectors: [[\"svg\", \"lucideBeer\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c155,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBeer_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBeer_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBeer;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BellDot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMjY4IDIxYTIgMiAwIDAgMCAzLjQ2NCAwIiAvPgogIDxwYXRoIGQ9Ik0xMS42OCAyLjAwOUE2IDYgMCAwIDAgNiA4YzAgNC40OTktMS40MTEgNS45NTYtMi43MzggNy4zMjZBMSAxIDAgMCAwIDQgMTdoMTZhMSAxIDAgMCAwIC43NC0xLjY3M2MtLjgyNC0uODUtMS42NzgtMS43MzEtMi4yMS0zLjM0OCIgLz4KICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjUiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bell-dot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBellDot = /*#__PURE__*/(() => {\n  class LucideBellDot extends LucideIconBase {\n    static icon = {\n      name: 'bell-dot',\n      size: 24,\n      node: [['path', {\n        d: 'M10.268 21a2 2 0 0 0 3.464 0',\n        key: 'vwvbt9'\n      }], ['path', {\n        d: 'M11.68 2.009A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673c-.824-.85-1.678-1.731-2.21-3.348',\n        key: 'xaq59h'\n      }], ['circle', {\n        cx: '18',\n        cy: '5',\n        r: '3',\n        key: 'gq8acd'\n      }]]\n    };\n    icon = signal(LucideBellDot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBellDot_BaseFactory;\n      return function LucideBellDot_Factory(__ngFactoryType__) {\n        return (ɵLucideBellDot_BaseFactory || (ɵLucideBellDot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBellDot)))(__ngFactoryType__ || LucideBellDot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBellDot,\n      selectors: [[\"svg\", \"lucideBellDot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c156,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBellDot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBellDot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBellDot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Beef\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYuNCAxMy43QTYuNSA2LjUgMCAxIDAgNi4yOCA2LjZjLTEuMSAzLjEzLS43OCAzLjktMy4xOCA2LjA4QTMgMyAwIDAgMCA1IDE4YzQgMCA4LjQtMS44IDExLjQtNC4zIiAvPgogIDxwYXRoIGQ9Im0xOC41IDYgMi4xOSA0LjVhNi40OCA2LjQ4IDAgMCAxLTIuMjkgNy4yQzE1LjQgMjAuMiAxMSAyMiA3IDIyYTMgMyAwIDAgMS0yLjY4LTEuNjZMMi40IDE2LjUiIC8+CiAgPGNpcmNsZSBjeD0iMTIuNSIgY3k9IjguNSIgcj0iMi41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/beef\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBeef = /*#__PURE__*/(() => {\n  class LucideBeef extends LucideIconBase {\n    static icon = {\n      name: 'beef',\n      size: 24,\n      node: [['path', {\n        d: 'M16.4 13.7A6.5 6.5 0 1 0 6.28 6.6c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c4 0 8.4-1.8 11.4-4.3',\n        key: 'cisjcv'\n      }], ['path', {\n        d: 'm18.5 6 2.19 4.5a6.48 6.48 0 0 1-2.29 7.2C15.4 20.2 11 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5',\n        key: '5byaag'\n      }], ['circle', {\n        cx: '12.5',\n        cy: '8.5',\n        r: '2.5',\n        key: '9738u8'\n      }]]\n    };\n    icon = signal(LucideBeef.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBeef_BaseFactory;\n      return function LucideBeef_Factory(__ngFactoryType__) {\n        return (ɵLucideBeef_BaseFactory || (ɵLucideBeef_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBeef)))(__ngFactoryType__ || LucideBeef);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBeef,\n      selectors: [[\"svg\", \"lucideBeef\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c157,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBeef_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBeef_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBeef;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BedSingle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAyMHYtOGEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2OCIgLz4KICA8cGF0aCBkPSJNNSAxMFY2YTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnY0IiAvPgogIDxwYXRoIGQ9Ik0zIDE4aDE4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/bed-single\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBedSingle = /*#__PURE__*/(() => {\n  class LucideBedSingle extends LucideIconBase {\n    static icon = {\n      name: 'bed-single',\n      size: 24,\n      node: [['path', {\n        d: 'M3 20v-8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8',\n        key: '1wm6mi'\n      }], ['path', {\n        d: 'M5 10V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4',\n        key: '4k93s5'\n      }], ['path', {\n        d: 'M3 18h18',\n        key: '1h113x'\n      }]]\n    };\n    icon = signal(LucideBedSingle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBedSingle_BaseFactory;\n      return function LucideBedSingle_Factory(__ngFactoryType__) {\n        return (ɵLucideBedSingle_BaseFactory || (ɵLucideBedSingle_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBedSingle)))(__ngFactoryType__ || LucideBedSingle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBedSingle,\n      selectors: [[\"svg\", \"lucideBedSingle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c158,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBedSingle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBedSingle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBedSingle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BellMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMjY4IDIxYTIgMiAwIDAgMCAzLjQ2NCAwIiAvPgogIDxwYXRoIGQ9Ik0xNSA4aDYiIC8+CiAgPHBhdGggZD0iTTE2LjI0MyAzLjc1N0E2IDYgMCAwIDAgNiA4YzAgNC40OTktMS40MTEgNS45NTYtMi43MzggNy4zMjZBMSAxIDAgMCAwIDQgMTdoMTZhMSAxIDAgMCAwIC43NC0xLjY3M0E5LjQgOS40IDAgMCAxIDE4LjY2NyAxMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/bell-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBellMinus = /*#__PURE__*/(() => {\n  class LucideBellMinus extends LucideIconBase {\n    static icon = {\n      name: 'bell-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M10.268 21a2 2 0 0 0 3.464 0',\n        key: 'vwvbt9'\n      }], ['path', {\n        d: 'M15 8h6',\n        key: '8ybuxh'\n      }], ['path', {\n        d: 'M16.243 3.757A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673A9.4 9.4 0 0 1 18.667 12',\n        key: 'bdwj86'\n      }]]\n    };\n    icon = signal(LucideBellMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBellMinus_BaseFactory;\n      return function LucideBellMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideBellMinus_BaseFactory || (ɵLucideBellMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBellMinus)))(__ngFactoryType__ || LucideBellMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBellMinus,\n      selectors: [[\"svg\", \"lucideBellMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c159,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBellMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBellMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBellMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BellOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMjY4IDIxYTIgMiAwIDAgMCAzLjQ2NCAwIiAvPgogIDxwYXRoIGQ9Ik0xNyAxN0g0YTEgMSAwIDAgMS0uNzQtMS42NzNDNC41OSAxMy45NTYgNiAxMi40OTkgNiA4YTYgNiAwIDAgMSAuMjU4LTEuNzQyIiAvPgogIDxwYXRoIGQ9Im0yIDIgMjAgMjAiIC8+CiAgPHBhdGggZD0iTTguNjY4IDMuMDFBNiA2IDAgMCAxIDE4IDhjMCAyLjY4Ny43NyA0LjY1MyAxLjcwNyA2LjA1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/bell-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBellOff = /*#__PURE__*/(() => {\n  class LucideBellOff extends LucideIconBase {\n    static icon = {\n      name: 'bell-off',\n      size: 24,\n      node: [['path', {\n        d: 'M10.268 21a2 2 0 0 0 3.464 0',\n        key: 'vwvbt9'\n      }], ['path', {\n        d: 'M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742',\n        key: '178tsu'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05',\n        key: '1hqiys'\n      }]]\n    };\n    icon = signal(LucideBellOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBellOff_BaseFactory;\n      return function LucideBellOff_Factory(__ngFactoryType__) {\n        return (ɵLucideBellOff_BaseFactory || (ɵLucideBellOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBellOff)))(__ngFactoryType__ || LucideBellOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBellOff,\n      selectors: [[\"svg\", \"lucideBellOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c160,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBellOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBellOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBellOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BellPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMjY4IDIxYTIgMiAwIDAgMCAzLjQ2NCAwIiAvPgogIDxwYXRoIGQ9Ik0xNSA4aDYiIC8+CiAgPHBhdGggZD0iTTE4IDV2NiIgLz4KICA8cGF0aCBkPSJNMjAuMDAyIDE0LjQ2NGE5IDkgMCAwIDAgLjczOC44NjNBMSAxIDAgMCAxIDIwIDE3SDRhMSAxIDAgMCAxLS43NC0xLjY3M0M0LjU5IDEzLjk1NiA2IDEyLjQ5OSA2IDhhNiA2IDAgMCAxIDguNzUtNS4zMzIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bell-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBellPlus = /*#__PURE__*/(() => {\n  class LucideBellPlus extends LucideIconBase {\n    static icon = {\n      name: 'bell-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M10.268 21a2 2 0 0 0 3.464 0',\n        key: 'vwvbt9'\n      }], ['path', {\n        d: 'M15 8h6',\n        key: '8ybuxh'\n      }], ['path', {\n        d: 'M18 5v6',\n        key: 'g5ayrv'\n      }], ['path', {\n        d: 'M20.002 14.464a9 9 0 0 0 .738.863A1 1 0 0 1 20 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 8.75-5.332',\n        key: '1abcvy'\n      }]]\n    };\n    icon = signal(LucideBellPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBellPlus_BaseFactory;\n      return function LucideBellPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideBellPlus_BaseFactory || (ɵLucideBellPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBellPlus)))(__ngFactoryType__ || LucideBellPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBellPlus,\n      selectors: [[\"svg\", \"lucideBellPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c161,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBellPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBellPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBellPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BellElectric\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTguNTE4IDE3LjM0N0E3IDcgMCAwIDEgMTQgMTkiIC8+CiAgPHBhdGggZD0iTTE4LjggNEExMSAxMSAwIDAgMSAyMCA5IiAvPgogIDxwYXRoIGQ9Ik05IDloLjAxIiAvPgogIDxjaXJjbGUgY3g9IjIwIiBjeT0iMTYiIHI9IjIiIC8+CiAgPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjciIC8+CiAgPHJlY3QgeD0iNCIgeT0iMTYiIHdpZHRoPSIxMCIgaGVpZ2h0PSI2IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/bell-electric\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBellElectric = /*#__PURE__*/(() => {\n  class LucideBellElectric extends LucideIconBase {\n    static icon = {\n      name: 'bell-electric',\n      size: 24,\n      node: [['path', {\n        d: 'M18.518 17.347A7 7 0 0 1 14 19',\n        key: '1emhpo'\n      }], ['path', {\n        d: 'M18.8 4A11 11 0 0 1 20 9',\n        key: '127b67'\n      }], ['path', {\n        d: 'M9 9h.01',\n        key: '1q5me6'\n      }], ['circle', {\n        cx: '20',\n        cy: '16',\n        r: '2',\n        key: '1v9bxh'\n      }], ['circle', {\n        cx: '9',\n        cy: '9',\n        r: '7',\n        key: 'p2h5vp'\n      }], ['rect', {\n        x: '4',\n        y: '16',\n        width: '10',\n        height: '6',\n        rx: '2',\n        key: 'bfnviv'\n      }]]\n    };\n    icon = signal(LucideBellElectric.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBellElectric_BaseFactory;\n      return function LucideBellElectric_Factory(__ngFactoryType__) {\n        return (ɵLucideBellElectric_BaseFactory || (ɵLucideBellElectric_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBellElectric)))(__ngFactoryType__ || LucideBellElectric);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBellElectric,\n      selectors: [[\"svg\", \"lucideBellElectric\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c162,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBellElectric_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBellElectric_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBellElectric;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bell\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMjY4IDIxYTIgMiAwIDAgMCAzLjQ2NCAwIiAvPgogIDxwYXRoIGQ9Ik0zLjI2MiAxNS4zMjZBMSAxIDAgMCAwIDQgMTdoMTZhMSAxIDAgMCAwIC43NC0xLjY3M0MxOS40MSAxMy45NTYgMTggMTIuNDk5IDE4IDhBNiA2IDAgMCAwIDYgOGMwIDQuNDk5LTEuNDExIDUuOTU2LTIuNzM4IDcuMzI2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/bell\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBell = /*#__PURE__*/(() => {\n  class LucideBell extends LucideIconBase {\n    static icon = {\n      name: 'bell',\n      size: 24,\n      node: [['path', {\n        d: 'M10.268 21a2 2 0 0 0 3.464 0',\n        key: 'vwvbt9'\n      }], ['path', {\n        d: 'M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326',\n        key: '11g9vi'\n      }]]\n    };\n    icon = signal(LucideBell.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBell_BaseFactory;\n      return function LucideBell_Factory(__ngFactoryType__) {\n        return (ɵLucideBell_BaseFactory || (ɵLucideBell_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBell)))(__ngFactoryType__ || LucideBell);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBell,\n      selectors: [[\"svg\", \"lucideBell\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c163,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBell_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBell_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBell;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BetweenHorizontalEnd\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTMiIGhlaWdodD0iNyIgeD0iMyIgeT0iMyIgcng9IjEiIC8+CiAgPHBhdGggZD0ibTIyIDE1LTMtMyAzLTMiIC8+CiAgPHJlY3Qgd2lkdGg9IjEzIiBoZWlnaHQ9IjciIHg9IjMiIHk9IjE0IiByeD0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/between-horizontal-end\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBetweenHorizontalEnd = /*#__PURE__*/(() => {\n  class LucideBetweenHorizontalEnd extends LucideIconBase {\n    static icon = {\n      name: 'between-horizontal-end',\n      size: 24,\n      node: [['rect', {\n        width: '13',\n        height: '7',\n        x: '3',\n        y: '3',\n        rx: '1',\n        key: '11xb64'\n      }], ['path', {\n        d: 'm22 15-3-3 3-3',\n        key: '26chmm'\n      }], ['rect', {\n        width: '13',\n        height: '7',\n        x: '3',\n        y: '14',\n        rx: '1',\n        key: 'k6ky7n'\n      }]],\n      aliases: ['between-horizonal-end']\n    };\n    icon = signal(LucideBetweenHorizontalEnd.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBetweenHorizontalEnd_BaseFactory;\n      return function LucideBetweenHorizontalEnd_Factory(__ngFactoryType__) {\n        return (ɵLucideBetweenHorizontalEnd_BaseFactory || (ɵLucideBetweenHorizontalEnd_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBetweenHorizontalEnd)))(__ngFactoryType__ || LucideBetweenHorizontalEnd);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBetweenHorizontalEnd,\n      selectors: [[\"svg\", \"lucideBetweenHorizontalEnd\", \"\"], [\"svg\", \"lucideBetweenHorizonalEnd\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c164,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBetweenHorizontalEnd_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBetweenHorizontalEnd_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBetweenHorizontalEnd;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideBetweenHorizontalEnd\n */\nconst LucideBetweenHorizonalEnd = LucideBetweenHorizontalEnd;\n\n/**\n * @component @name BetweenHorizontalStart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTMiIGhlaWdodD0iNyIgeD0iOCIgeT0iMyIgcng9IjEiIC8+CiAgPHBhdGggZD0ibTIgOSAzIDMtMyAzIiAvPgogIDxyZWN0IHdpZHRoPSIxMyIgaGVpZ2h0PSI3IiB4PSI4IiB5PSIxNCIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/between-horizontal-start\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBetweenHorizontalStart = /*#__PURE__*/(() => {\n  class LucideBetweenHorizontalStart extends LucideIconBase {\n    static icon = {\n      name: 'between-horizontal-start',\n      size: 24,\n      node: [['rect', {\n        width: '13',\n        height: '7',\n        x: '8',\n        y: '3',\n        rx: '1',\n        key: 'pkso9a'\n      }], ['path', {\n        d: 'm2 9 3 3-3 3',\n        key: '1agib5'\n      }], ['rect', {\n        width: '13',\n        height: '7',\n        x: '8',\n        y: '14',\n        rx: '1',\n        key: '1q5fc1'\n      }]],\n      aliases: ['between-horizonal-start']\n    };\n    icon = signal(LucideBetweenHorizontalStart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBetweenHorizontalStart_BaseFactory;\n      return function LucideBetweenHorizontalStart_Factory(__ngFactoryType__) {\n        return (ɵLucideBetweenHorizontalStart_BaseFactory || (ɵLucideBetweenHorizontalStart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBetweenHorizontalStart)))(__ngFactoryType__ || LucideBetweenHorizontalStart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBetweenHorizontalStart,\n      selectors: [[\"svg\", \"lucideBetweenHorizontalStart\", \"\"], [\"svg\", \"lucideBetweenHorizonalStart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c165,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBetweenHorizontalStart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBetweenHorizontalStart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBetweenHorizontalStart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideBetweenHorizontalStart\n */\nconst LucideBetweenHorizonalStart = LucideBetweenHorizontalStart;\n\n/**\n * @component @name BetweenVerticalEnd\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIxMyIgeD0iMyIgeT0iMyIgcng9IjEiIC8+CiAgPHBhdGggZD0ibTkgMjIgMy0zIDMgMyIgLz4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIxMyIgeD0iMTQiIHk9IjMiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/between-vertical-end\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBetweenVerticalEnd = /*#__PURE__*/(() => {\n  class LucideBetweenVerticalEnd extends LucideIconBase {\n    static icon = {\n      name: 'between-vertical-end',\n      size: 24,\n      node: [['rect', {\n        width: '7',\n        height: '13',\n        x: '3',\n        y: '3',\n        rx: '1',\n        key: '1fdu0f'\n      }], ['path', {\n        d: 'm9 22 3-3 3 3',\n        key: '17z65a'\n      }], ['rect', {\n        width: '7',\n        height: '13',\n        x: '14',\n        y: '3',\n        rx: '1',\n        key: '1squn4'\n      }]]\n    };\n    icon = signal(LucideBetweenVerticalEnd.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBetweenVerticalEnd_BaseFactory;\n      return function LucideBetweenVerticalEnd_Factory(__ngFactoryType__) {\n        return (ɵLucideBetweenVerticalEnd_BaseFactory || (ɵLucideBetweenVerticalEnd_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBetweenVerticalEnd)))(__ngFactoryType__ || LucideBetweenVerticalEnd);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBetweenVerticalEnd,\n      selectors: [[\"svg\", \"lucideBetweenVerticalEnd\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c166,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBetweenVerticalEnd_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBetweenVerticalEnd_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBetweenVerticalEnd;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BetweenVerticalStart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIxMyIgeD0iMyIgeT0iOCIgcng9IjEiIC8+CiAgPHBhdGggZD0ibTE1IDItMyAzLTMtMyIgLz4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIxMyIgeD0iMTQiIHk9IjgiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/between-vertical-start\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBetweenVerticalStart = /*#__PURE__*/(() => {\n  class LucideBetweenVerticalStart extends LucideIconBase {\n    static icon = {\n      name: 'between-vertical-start',\n      size: 24,\n      node: [['rect', {\n        width: '7',\n        height: '13',\n        x: '3',\n        y: '8',\n        rx: '1',\n        key: '1fjrkv'\n      }], ['path', {\n        d: 'm15 2-3 3-3-3',\n        key: '1uh6eb'\n      }], ['rect', {\n        width: '7',\n        height: '13',\n        x: '14',\n        y: '8',\n        rx: '1',\n        key: 'w3fjg8'\n      }]]\n    };\n    icon = signal(LucideBetweenVerticalStart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBetweenVerticalStart_BaseFactory;\n      return function LucideBetweenVerticalStart_Factory(__ngFactoryType__) {\n        return (ɵLucideBetweenVerticalStart_BaseFactory || (ɵLucideBetweenVerticalStart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBetweenVerticalStart)))(__ngFactoryType__ || LucideBetweenVerticalStart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBetweenVerticalStart,\n      selectors: [[\"svg\", \"lucideBetweenVerticalStart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c167,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBetweenVerticalStart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBetweenVerticalStart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBetweenVerticalStart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bike\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxOC41IiBjeT0iMTcuNSIgcj0iMy41IiAvPgogIDxjaXJjbGUgY3g9IjUuNSIgY3k9IjE3LjUiIHI9IjMuNSIgLz4KICA8Y2lyY2xlIGN4PSIxNSIgY3k9IjUiIHI9IjEiIC8+CiAgPHBhdGggZD0iTTEyIDE3LjVWMTRsLTMtMyA0LTMgMiAzaDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bike\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBike = /*#__PURE__*/(() => {\n  class LucideBike extends LucideIconBase {\n    static icon = {\n      name: 'bike',\n      size: 24,\n      node: [['circle', {\n        cx: '18.5',\n        cy: '17.5',\n        r: '3.5',\n        key: '15x4ox'\n      }], ['circle', {\n        cx: '5.5',\n        cy: '17.5',\n        r: '3.5',\n        key: '1noe27'\n      }], ['circle', {\n        cx: '15',\n        cy: '5',\n        r: '1',\n        key: '19l28e'\n      }], ['path', {\n        d: 'M12 17.5V14l-3-3 4-3 2 3h2',\n        key: '1npguv'\n      }]]\n    };\n    icon = signal(LucideBike.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBike_BaseFactory;\n      return function LucideBike_Factory(__ngFactoryType__) {\n        return (ɵLucideBike_BaseFactory || (ɵLucideBike_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBike)))(__ngFactoryType__ || LucideBike);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBike,\n      selectors: [[\"svg\", \"lucideBike\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c168,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBike_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBike_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBike;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BicepsFlexed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuNDA5IDEzLjAxN0E1IDUgMCAwIDEgMjIgMTVjMCAzLjg2Ni00IDctOSA3LTQuMDc3IDAtOC4xNTMtLjgyLTEwLjM3MS0yLjQ2Mi0uNDI2LS4zMTYtLjYzMS0uODMyLS42Mi0xLjM2MkMyLjExOCAxMi43MjMgMi42MjcgMiAxMCAyYTMgMyAwIDAgMSAzIDMgMiAyIDAgMCAxLTIgMmMtMS4xMDUgMC0xLjY0LS40NDQtMi0xIiAvPgogIDxwYXRoIGQ9Ik0xNSAxNGE1IDUgMCAwIDAtNy41ODQgMiIgLz4KICA8cGF0aCBkPSJNOS45NjQgNi44MjVDOC4wMTkgNy45NzcgOS41IDEzIDggMTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/biceps-flexed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBicepsFlexed = /*#__PURE__*/(() => {\n  class LucideBicepsFlexed extends LucideIconBase {\n    static icon = {\n      name: 'biceps-flexed',\n      size: 24,\n      node: [['path', {\n        d: 'M12.409 13.017A5 5 0 0 1 22 15c0 3.866-4 7-9 7-4.077 0-8.153-.82-10.371-2.462-.426-.316-.631-.832-.62-1.362C2.118 12.723 2.627 2 10 2a3 3 0 0 1 3 3 2 2 0 0 1-2 2c-1.105 0-1.64-.444-2-1',\n        key: '1pmlyh'\n      }], ['path', {\n        d: 'M15 14a5 5 0 0 0-7.584 2',\n        key: '5rb254'\n      }], ['path', {\n        d: 'M9.964 6.825C8.019 7.977 9.5 13 8 15',\n        key: 'kbvsx9'\n      }]]\n    };\n    icon = signal(LucideBicepsFlexed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBicepsFlexed_BaseFactory;\n      return function LucideBicepsFlexed_Factory(__ngFactoryType__) {\n        return (ɵLucideBicepsFlexed_BaseFactory || (ɵLucideBicepsFlexed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBicepsFlexed)))(__ngFactoryType__ || LucideBicepsFlexed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBicepsFlexed,\n      selectors: [[\"svg\", \"lucideBicepsFlexed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c169,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBicepsFlexed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBicepsFlexed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBicepsFlexed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Binary\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB4PSIxNCIgeT0iMTQiIHdpZHRoPSI0IiBoZWlnaHQ9IjYiIHJ4PSIyIiAvPgogIDxyZWN0IHg9IjYiIHk9IjQiIHdpZHRoPSI0IiBoZWlnaHQ9IjYiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik02IDIwaDQiIC8+CiAgPHBhdGggZD0iTTE0IDEwaDQiIC8+CiAgPHBhdGggZD0iTTYgMTRoMnY2IiAvPgogIDxwYXRoIGQ9Ik0xNCA0aDJ2NiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/binary\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBinary = /*#__PURE__*/(() => {\n  class LucideBinary extends LucideIconBase {\n    static icon = {\n      name: 'binary',\n      size: 24,\n      node: [['rect', {\n        x: '14',\n        y: '14',\n        width: '4',\n        height: '6',\n        rx: '2',\n        key: 'p02svl'\n      }], ['rect', {\n        x: '6',\n        y: '4',\n        width: '4',\n        height: '6',\n        rx: '2',\n        key: 'xm4xkj'\n      }], ['path', {\n        d: 'M6 20h4',\n        key: '1i6q5t'\n      }], ['path', {\n        d: 'M14 10h4',\n        key: 'ru81e7'\n      }], ['path', {\n        d: 'M6 14h2v6',\n        key: '16z9wg'\n      }], ['path', {\n        d: 'M14 4h2v6',\n        key: '1idq9u'\n      }]]\n    };\n    icon = signal(LucideBinary.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBinary_BaseFactory;\n      return function LucideBinary_Factory(__ngFactoryType__) {\n        return (ɵLucideBinary_BaseFactory || (ɵLucideBinary_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBinary)))(__ngFactoryType__ || LucideBinary);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBinary,\n      selectors: [[\"svg\", \"lucideBinary\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c170,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBinary_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBinary_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBinary;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Binoculars\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTBoNCIgLz4KICA8cGF0aCBkPSJNMTkgN1Y0YTEgMSAwIDAgMC0xLTFoLTJhMSAxIDAgMCAwLTEgMXYzIiAvPgogIDxwYXRoIGQ9Ik0yMCAyMWEyIDIgMCAwIDAgMi0ydi0zLjg1MWMwLTEuMzktMi0yLjk2Mi0yLTQuODI5VjhhMSAxIDAgMCAwLTEtMWgtNGExIDEgMCAwIDAtMSAxdjExYTIgMiAwIDAgMCAyIDJ6IiAvPgogIDxwYXRoIGQ9Ik0gMjIgMTYgTCAyIDE2IiAvPgogIDxwYXRoIGQ9Ik00IDIxYTIgMiAwIDAgMS0yLTJ2LTMuODUxYzAtMS4zOSAyLTIuOTYyIDItNC44MjlWOGExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXYxMWEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNOSA3VjRhMSAxIDAgMCAwLTEtMUg2YTEgMSAwIDAgMC0xIDF2MyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/binoculars\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBinoculars = /*#__PURE__*/(() => {\n  class LucideBinoculars extends LucideIconBase {\n    static icon = {\n      name: 'binoculars',\n      size: 24,\n      node: [['path', {\n        d: 'M10 10h4',\n        key: 'tcdvrf'\n      }], ['path', {\n        d: 'M19 7V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3',\n        key: '3apit1'\n      }], ['path', {\n        d: 'M20 21a2 2 0 0 0 2-2v-3.851c0-1.39-2-2.962-2-4.829V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v11a2 2 0 0 0 2 2z',\n        key: 'rhpgnw'\n      }], ['path', {\n        d: 'M 22 16 L 2 16',\n        key: '14lkq7'\n      }], ['path', {\n        d: 'M4 21a2 2 0 0 1-2-2v-3.851c0-1.39 2-2.962 2-4.829V8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v11a2 2 0 0 1-2 2z',\n        key: '104b3k'\n      }], ['path', {\n        d: 'M9 7V4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v3',\n        key: '14fczp'\n      }]]\n    };\n    icon = signal(LucideBinoculars.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBinoculars_BaseFactory;\n      return function LucideBinoculars_Factory(__ngFactoryType__) {\n        return (ɵLucideBinoculars_BaseFactory || (ɵLucideBinoculars_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBinoculars)))(__ngFactoryType__ || LucideBinoculars);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBinoculars,\n      selectors: [[\"svg\", \"lucideBinoculars\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c171,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBinoculars_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBinoculars_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBinoculars;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Biohazard\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjExLjkiIHI9IjIiIC8+CiAgPHBhdGggZD0iTTYuNyAzLjRjLS45IDIuNSAwIDUuMiAyLjIgNi43QzYuNSA5IDMuNyA5LjYgMiAxMS42IiAvPgogIDxwYXRoIGQ9Im04LjkgMTAuMSAxLjQuOCIgLz4KICA8cGF0aCBkPSJNMTcuMyAzLjRjLjkgMi41IDAgNS4yLTIuMiA2LjcgMi40LTEuMiA1LjItLjYgNi45IDEuNSIgLz4KICA8cGF0aCBkPSJtMTUuMSAxMC4xLTEuNC44IiAvPgogIDxwYXRoIGQ9Ik0xNi43IDIwLjhjLTIuNi0uNC00LjYtMi42LTQuNy01LjMtLjIgMi42LTIuMSA0LjgtNC43IDUuMiIgLz4KICA8cGF0aCBkPSJNMTIgMTMuOXYxLjYiIC8+CiAgPHBhdGggZD0iTTEzLjUgNS40Yy0xLS4yLTItLjItMyAwIiAvPgogIDxwYXRoIGQ9Ik0xNyAxNi40Yy43LS43IDEuMi0xLjYgMS41LTIuNSIgLz4KICA8cGF0aCBkPSJNNS41IDEzLjljLjMuOS44IDEuOCAxLjUgMi41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/biohazard\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBiohazard = /*#__PURE__*/(() => {\n  class LucideBiohazard extends LucideIconBase {\n    static icon = {\n      name: 'biohazard',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '11.9',\n        r: '2',\n        key: 'e8h31w'\n      }], ['path', {\n        d: 'M6.7 3.4c-.9 2.5 0 5.2 2.2 6.7C6.5 9 3.7 9.6 2 11.6',\n        key: '17bolr'\n      }], ['path', {\n        d: 'm8.9 10.1 1.4.8',\n        key: '15ezny'\n      }], ['path', {\n        d: 'M17.3 3.4c.9 2.5 0 5.2-2.2 6.7 2.4-1.2 5.2-.6 6.9 1.5',\n        key: 'wtwa5u'\n      }], ['path', {\n        d: 'm15.1 10.1-1.4.8',\n        key: '1r0b28'\n      }], ['path', {\n        d: 'M16.7 20.8c-2.6-.4-4.6-2.6-4.7-5.3-.2 2.6-2.1 4.8-4.7 5.2',\n        key: 'm7qszh'\n      }], ['path', {\n        d: 'M12 13.9v1.6',\n        key: 'zfyyim'\n      }], ['path', {\n        d: 'M13.5 5.4c-1-.2-2-.2-3 0',\n        key: '1bi9q0'\n      }], ['path', {\n        d: 'M17 16.4c.7-.7 1.2-1.6 1.5-2.5',\n        key: '1rhjqw'\n      }], ['path', {\n        d: 'M5.5 13.9c.3.9.8 1.8 1.5 2.5',\n        key: '8gsud3'\n      }]]\n    };\n    icon = signal(LucideBiohazard.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBiohazard_BaseFactory;\n      return function LucideBiohazard_Factory(__ngFactoryType__) {\n        return (ɵLucideBiohazard_BaseFactory || (ɵLucideBiohazard_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBiohazard)))(__ngFactoryType__ || LucideBiohazard);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBiohazard,\n      selectors: [[\"svg\", \"lucideBiohazard\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c172,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBiohazard_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBiohazard_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBiohazard;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bird\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgN2guMDEiIC8+CiAgPHBhdGggZD0iTTMuNCAxOEgxMmE4IDggMCAwIDAgOC04VjdhNCA0IDAgMCAwLTcuMjgtMi4zTDIgMjAiIC8+CiAgPHBhdGggZD0ibTIwIDcgMiAuNS0yIC41IiAvPgogIDxwYXRoIGQ9Ik0xMCAxOHYzIiAvPgogIDxwYXRoIGQ9Ik0xNCAxNy43NVYyMSIgLz4KICA8cGF0aCBkPSJNNyAxOGE2IDYgMCAwIDAgMy44NC0xMC42MSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/bird\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBird = /*#__PURE__*/(() => {\n  class LucideBird extends LucideIconBase {\n    static icon = {\n      name: 'bird',\n      size: 24,\n      node: [['path', {\n        d: 'M16 7h.01',\n        key: '1kdx03'\n      }], ['path', {\n        d: 'M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20',\n        key: 'oj1oa8'\n      }], ['path', {\n        d: 'm20 7 2 .5-2 .5',\n        key: '12nv4d'\n      }], ['path', {\n        d: 'M10 18v3',\n        key: '1yea0a'\n      }], ['path', {\n        d: 'M14 17.75V21',\n        key: '1pymcb'\n      }], ['path', {\n        d: 'M7 18a6 6 0 0 0 3.84-10.61',\n        key: '1npnn0'\n      }]]\n    };\n    icon = signal(LucideBird.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBird_BaseFactory;\n      return function LucideBird_Factory(__ngFactoryType__) {\n        return (ɵLucideBird_BaseFactory || (ɵLucideBird_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBird)))(__ngFactoryType__ || LucideBird);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBird,\n      selectors: [[\"svg\", \"lucideBird\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c173,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBird_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBird_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBird;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Birdhouse\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTh2NCIgLz4KICA8cGF0aCBkPSJtMTcgMTggMS45NTYtMTEuNDY4IiAvPgogIDxwYXRoIGQ9Im0zIDggNy44Mi01LjYxNWEyIDIgMCAwIDEgMi4zNiAwTDIxIDgiIC8+CiAgPHBhdGggZD0iTTQgMThoMTYiIC8+CiAgPHBhdGggZD0iTTcgMTggNS4wNDQgNi41MzIiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMCIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/birdhouse\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBirdhouse = /*#__PURE__*/(() => {\n  class LucideBirdhouse extends LucideIconBase {\n    static icon = {\n      name: 'birdhouse',\n      size: 24,\n      node: [['path', {\n        d: 'M12 18v4',\n        key: 'jadmvz'\n      }], ['path', {\n        d: 'm17 18 1.956-11.468',\n        key: 'l5n2ro'\n      }], ['path', {\n        d: 'm3 8 7.82-5.615a2 2 0 0 1 2.36 0L21 8',\n        key: '1sy6n7'\n      }], ['path', {\n        d: 'M4 18h16',\n        key: '19g7jn'\n      }], ['path', {\n        d: 'M7 18 5.044 6.532',\n        key: '1uqdf2'\n      }], ['circle', {\n        cx: '12',\n        cy: '10',\n        r: '2',\n        key: '1yojzk'\n      }]]\n    };\n    icon = signal(LucideBirdhouse.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBirdhouse_BaseFactory;\n      return function LucideBirdhouse_Factory(__ngFactoryType__) {\n        return (ɵLucideBirdhouse_BaseFactory || (ɵLucideBirdhouse_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBirdhouse)))(__ngFactoryType__ || LucideBirdhouse);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBirdhouse,\n      selectors: [[\"svg\", \"lucideBirdhouse\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c174,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBirdhouse_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBirdhouse_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBirdhouse;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bitcoin\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuNzY3IDE5LjA4OWM0LjkyNC44NjggNi4xNC02LjAyNSAxLjIxNi02Ljg5NG0tMS4yMTYgNi44OTRMNS44NiAxOC4wNDdtNS45MDggMS4wNDItLjM0NyAxLjk3bTEuNTYzLTguODY0YzQuOTI0Ljg2OSA2LjE0LTYuMDI1IDEuMjE1LTYuODkzbS0xLjIxNSA2Ljg5My0zLjk0LS42OTRtNS4xNTUtNi4yTDguMjkgNC4yNm01LjkwOCAxLjA0Mi4zNDgtMS45N003LjQ4IDIwLjM2NGwzLjEyNi0xNy43MjciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bitcoin\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBitcoin = /*#__PURE__*/(() => {\n  class LucideBitcoin extends LucideIconBase {\n    static icon = {\n      name: 'bitcoin',\n      size: 24,\n      node: [['path', {\n        d: 'M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727',\n        key: 'yr8idg'\n      }]]\n    };\n    icon = signal(LucideBitcoin.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBitcoin_BaseFactory;\n      return function LucideBitcoin_Factory(__ngFactoryType__) {\n        return (ɵLucideBitcoin_BaseFactory || (ɵLucideBitcoin_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBitcoin)))(__ngFactoryType__ || LucideBitcoin);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBitcoin,\n      selectors: [[\"svg\", \"lucideBitcoin\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c175,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBitcoin_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBitcoin_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBitcoin;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Blend\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iNyIgLz4KICA8Y2lyY2xlIGN4PSIxNSIgY3k9IjE1IiByPSI3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/blend\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBlend = /*#__PURE__*/(() => {\n  class LucideBlend extends LucideIconBase {\n    static icon = {\n      name: 'blend',\n      size: 24,\n      node: [['circle', {\n        cx: '9',\n        cy: '9',\n        r: '7',\n        key: 'p2h5vp'\n      }], ['circle', {\n        cx: '15',\n        cy: '15',\n        r: '7',\n        key: '19ennj'\n      }]]\n    };\n    icon = signal(LucideBlend.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBlend_BaseFactory;\n      return function LucideBlend_Factory(__ngFactoryType__) {\n        return (ɵLucideBlend_BaseFactory || (ɵLucideBlend_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBlend)))(__ngFactoryType__ || LucideBlend);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBlend,\n      selectors: [[\"svg\", \"lucideBlend\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c176,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBlend_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBlend_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBlend;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Blinds\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAzaDE4IiAvPgogIDxwYXRoIGQ9Ik0yMCA3SDgiIC8+CiAgPHBhdGggZD0iTTIwIDExSDgiIC8+CiAgPHBhdGggZD0iTTEwIDE5aDEwIiAvPgogIDxwYXRoIGQ9Ik04IDE1aDEyIiAvPgogIDxwYXRoIGQ9Ik00IDN2MTQiIC8+CiAgPGNpcmNsZSBjeD0iNCIgY3k9IjE5IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/blinds\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBlinds = /*#__PURE__*/(() => {\n  class LucideBlinds extends LucideIconBase {\n    static icon = {\n      name: 'blinds',\n      size: 24,\n      node: [['path', {\n        d: 'M3 3h18',\n        key: 'o7r712'\n      }], ['path', {\n        d: 'M20 7H8',\n        key: 'gd2fo2'\n      }], ['path', {\n        d: 'M20 11H8',\n        key: '1ynp89'\n      }], ['path', {\n        d: 'M10 19h10',\n        key: '19hjk5'\n      }], ['path', {\n        d: 'M8 15h12',\n        key: '1yqzne'\n      }], ['path', {\n        d: 'M4 3v14',\n        key: 'fggqzn'\n      }], ['circle', {\n        cx: '4',\n        cy: '19',\n        r: '2',\n        key: 'p3m9r0'\n      }]]\n    };\n    icon = signal(LucideBlinds.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBlinds_BaseFactory;\n      return function LucideBlinds_Factory(__ngFactoryType__) {\n        return (ɵLucideBlinds_BaseFactory || (ɵLucideBlinds_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBlinds)))(__ngFactoryType__ || LucideBlinds);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBlinds,\n      selectors: [[\"svg\", \"lucideBlinds\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c177,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBlinds_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBlinds_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBlinds;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Blocks\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMjJWN2ExIDEgMCAwIDAtMS0xSDRhMiAyIDAgMCAwLTIgMnYxMmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTVhMSAxIDAgMCAwLTEtMUgyIiAvPgogIDxyZWN0IHg9IjE0IiB5PSIyIiB3aWR0aD0iOCIgaGVpZ2h0PSI4IiByeD0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/blocks\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBlocks = /*#__PURE__*/(() => {\n  class LucideBlocks extends LucideIconBase {\n    static icon = {\n      name: 'blocks',\n      size: 24,\n      node: [['path', {\n        d: 'M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2',\n        key: '1ah6g2'\n      }], ['rect', {\n        x: '14',\n        y: '2',\n        width: '8',\n        height: '8',\n        rx: '1',\n        key: '88lufb'\n      }]]\n    };\n    icon = signal(LucideBlocks.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBlocks_BaseFactory;\n      return function LucideBlocks_Factory(__ngFactoryType__) {\n        return (ɵLucideBlocks_BaseFactory || (ɵLucideBlocks_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBlocks)))(__ngFactoryType__ || LucideBlocks);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBlocks,\n      selectors: [[\"svg\", \"lucideBlocks\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c178,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBlocks_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBlocks_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBlocks;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BluetoothConnected\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNyA3IDEwIDEwLTUgNVYybDUgNUw3IDE3IiAvPgogIDxsaW5lIHgxPSIxOCIgeDI9IjIxIiB5MT0iMTIiIHkyPSIxMiIgLz4KICA8bGluZSB4MT0iMyIgeDI9IjYiIHkxPSIxMiIgeTI9IjEyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/bluetooth-connected\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBluetoothConnected = /*#__PURE__*/(() => {\n  class LucideBluetoothConnected extends LucideIconBase {\n    static icon = {\n      name: 'bluetooth-connected',\n      size: 24,\n      node: [['path', {\n        d: 'm7 7 10 10-5 5V2l5 5L7 17',\n        key: '1q5490'\n      }], ['line', {\n        x1: '18',\n        x2: '21',\n        y1: '12',\n        y2: '12',\n        key: '1rsjjs'\n      }], ['line', {\n        x1: '3',\n        x2: '6',\n        y1: '12',\n        y2: '12',\n        key: '11yl8c'\n      }]]\n    };\n    icon = signal(LucideBluetoothConnected.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBluetoothConnected_BaseFactory;\n      return function LucideBluetoothConnected_Factory(__ngFactoryType__) {\n        return (ɵLucideBluetoothConnected_BaseFactory || (ɵLucideBluetoothConnected_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBluetoothConnected)))(__ngFactoryType__ || LucideBluetoothConnected);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBluetoothConnected,\n      selectors: [[\"svg\", \"lucideBluetoothConnected\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c179,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBluetoothConnected_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBluetoothConnected_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBluetoothConnected;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BluetoothOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTcgMTctNSA1VjEybC01IDUiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJNMTQuNSA5LjUgMTcgN2wtNS01djQuNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/bluetooth-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBluetoothOff = /*#__PURE__*/(() => {\n  class LucideBluetoothOff extends LucideIconBase {\n    static icon = {\n      name: 'bluetooth-off',\n      size: 24,\n      node: [['path', {\n        d: 'm17 17-5 5V12l-5 5',\n        key: 'v5aci6'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M14.5 9.5 17 7l-5-5v4.5',\n        key: '1kddfz'\n      }]]\n    };\n    icon = signal(LucideBluetoothOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBluetoothOff_BaseFactory;\n      return function LucideBluetoothOff_Factory(__ngFactoryType__) {\n        return (ɵLucideBluetoothOff_BaseFactory || (ɵLucideBluetoothOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBluetoothOff)))(__ngFactoryType__ || LucideBluetoothOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBluetoothOff,\n      selectors: [[\"svg\", \"lucideBluetoothOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c180,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBluetoothOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBluetoothOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBluetoothOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BluetoothSearching\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNyA3IDEwIDEwLTUgNVYybDUgNUw3IDE3IiAvPgogIDxwYXRoIGQ9Ik0yMC44MyAxNC44M2E0IDQgMCAwIDAgMC01LjY2IiAvPgogIDxwYXRoIGQ9Ik0xOCAxMmguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bluetooth-searching\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBluetoothSearching = /*#__PURE__*/(() => {\n  class LucideBluetoothSearching extends LucideIconBase {\n    static icon = {\n      name: 'bluetooth-searching',\n      size: 24,\n      node: [['path', {\n        d: 'm7 7 10 10-5 5V2l5 5L7 17',\n        key: '1q5490'\n      }], ['path', {\n        d: 'M20.83 14.83a4 4 0 0 0 0-5.66',\n        key: 'k8tn1j'\n      }], ['path', {\n        d: 'M18 12h.01',\n        key: 'yjnet6'\n      }]]\n    };\n    icon = signal(LucideBluetoothSearching.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBluetoothSearching_BaseFactory;\n      return function LucideBluetoothSearching_Factory(__ngFactoryType__) {\n        return (ɵLucideBluetoothSearching_BaseFactory || (ɵLucideBluetoothSearching_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBluetoothSearching)))(__ngFactoryType__ || LucideBluetoothSearching);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBluetoothSearching,\n      selectors: [[\"svg\", \"lucideBluetoothSearching\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c181,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBluetoothSearching_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBluetoothSearching_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBluetoothSearching;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bluetooth\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNyA3IDEwIDEwLTUgNVYybDUgNUw3IDE3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/bluetooth\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBluetooth = /*#__PURE__*/(() => {\n  class LucideBluetooth extends LucideIconBase {\n    static icon = {\n      name: 'bluetooth',\n      size: 24,\n      node: [['path', {\n        d: 'm7 7 10 10-5 5V2l5 5L7 17',\n        key: '1q5490'\n      }]]\n    };\n    icon = signal(LucideBluetooth.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBluetooth_BaseFactory;\n      return function LucideBluetooth_Factory(__ngFactoryType__) {\n        return (ɵLucideBluetooth_BaseFactory || (ɵLucideBluetooth_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBluetooth)))(__ngFactoryType__ || LucideBluetooth);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBluetooth,\n      selectors: [[\"svg\", \"lucideBluetooth\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c182,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBluetooth_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBluetooth_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBluetooth;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bold\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAxMmg5YTQgNCAwIDAgMSAwIDhIN2ExIDEgMCAwIDEtMS0xVjVhMSAxIDAgMCAxIDEtMWg3YTQgNCAwIDAgMSAwIDgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bold\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBold = /*#__PURE__*/(() => {\n  class LucideBold extends LucideIconBase {\n    static icon = {\n      name: 'bold',\n      size: 24,\n      node: [['path', {\n        d: 'M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8',\n        key: 'mg9rjx'\n      }]]\n    };\n    icon = signal(LucideBold.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBold_BaseFactory;\n      return function LucideBold_Factory(__ngFactoryType__) {\n        return (ɵLucideBold_BaseFactory || (ɵLucideBold_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBold)))(__ngFactoryType__ || LucideBold);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBold,\n      selectors: [[\"svg\", \"lucideBold\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c183,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBold_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBold_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBold;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bolt\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bolt\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBolt = /*#__PURE__*/(() => {\n  class LucideBolt extends LucideIconBase {\n    static icon = {\n      name: 'bolt',\n      size: 24,\n      node: [['path', {\n        d: 'M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z',\n        key: 'yt0hxn'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '4',\n        key: '4exip2'\n      }]]\n    };\n    icon = signal(LucideBolt.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBolt_BaseFactory;\n      return function LucideBolt_Factory(__ngFactoryType__) {\n        return (ɵLucideBolt_BaseFactory || (ɵLucideBolt_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBolt)))(__ngFactoryType__ || LucideBolt);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBolt,\n      selectors: [[\"svg\", \"lucideBolt\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c184,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBolt_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBolt_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBolt;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgMTBjLjctLjcgMS42OSAwIDIuNSAwYTIuNSAyLjUgMCAxIDAgMC01IC41LjUgMCAwIDEtLjUtLjUgMi41IDIuNSAwIDEgMC01IDBjMCAuODEuNyAxLjggMCAyLjVsLTcgN2MtLjcuNy0xLjY5IDAtMi41IDBhMi41IDIuNSAwIDAgMCAwIDVjLjI4IDAgLjUuMjIuNS41YTIuNSAyLjUgMCAxIDAgNSAwYzAtLjgxLS43LTEuOCAwLTIuNVoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bone\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBone = /*#__PURE__*/(() => {\n  class LucideBone extends LucideIconBase {\n    static icon = {\n      name: 'bone',\n      size: 24,\n      node: [['path', {\n        d: 'M17 10c.7-.7 1.69 0 2.5 0a2.5 2.5 0 1 0 0-5 .5.5 0 0 1-.5-.5 2.5 2.5 0 1 0-5 0c0 .81.7 1.8 0 2.5l-7 7c-.7.7-1.69 0-2.5 0a2.5 2.5 0 0 0 0 5c.28 0 .5.22.5.5a2.5 2.5 0 1 0 5 0c0-.81-.7-1.8 0-2.5Z',\n        key: 'w610uw'\n      }]]\n    };\n    icon = signal(LucideBone.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBone_BaseFactory;\n      return function LucideBone_Factory(__ngFactoryType__) {\n        return (ɵLucideBone_BaseFactory || (ɵLucideBone_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBone)))(__ngFactoryType__ || LucideBone);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBone,\n      selectors: [[\"svg\", \"lucideBone\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c185,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBone_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBone_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBone;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bomb\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjEzIiByPSI5IiAvPgogIDxwYXRoIGQ9Ik0xNC4zNSA0LjY1IDE2LjMgMi43YTIuNDEgMi40MSAwIDAgMSAzLjQgMGwxLjYgMS42YTIuNCAyLjQgMCAwIDEgMCAzLjRsLTEuOTUgMS45NSIgLz4KICA8cGF0aCBkPSJtMjIgMi0xLjUgMS41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/bomb\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBomb = /*#__PURE__*/(() => {\n  class LucideBomb extends LucideIconBase {\n    static icon = {\n      name: 'bomb',\n      size: 24,\n      node: [['circle', {\n        cx: '11',\n        cy: '13',\n        r: '9',\n        key: 'hd149'\n      }], ['path', {\n        d: 'M14.35 4.65 16.3 2.7a2.41 2.41 0 0 1 3.4 0l1.6 1.6a2.4 2.4 0 0 1 0 3.4l-1.95 1.95',\n        key: 'jp4j1b'\n      }], ['path', {\n        d: 'm22 2-1.5 1.5',\n        key: 'ay92ug'\n      }]]\n    };\n    icon = signal(LucideBomb.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBomb_BaseFactory;\n      return function LucideBomb_Factory(__ngFactoryType__) {\n        return (ɵLucideBomb_BaseFactory || (ɵLucideBomb_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBomb)))(__ngFactoryType__ || LucideBomb);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBomb,\n      selectors: [[\"svg\", \"lucideBomb\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c186,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBomb_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBomb_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBomb;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookA\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCIgLz4KICA8cGF0aCBkPSJtOCAxMyA0LTcgNCA3IiAvPgogIDxwYXRoIGQ9Ik05LjEgMTFoNS43IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/book-a\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookA = /*#__PURE__*/(() => {\n  class LucideBookA extends LucideIconBase {\n    static icon = {\n      name: 'book-a',\n      size: 24,\n      node: [['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }], ['path', {\n        d: 'm8 13 4-7 4 7',\n        key: '4rari8'\n      }], ['path', {\n        d: 'M9.1 11h5.7',\n        key: '1gkovt'\n      }]]\n    };\n    icon = signal(LucideBookA.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookA_BaseFactory;\n      return function LucideBookA_Factory(__ngFactoryType__) {\n        return (ɵLucideBookA_BaseFactory || (ɵLucideBookA_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookA)))(__ngFactoryType__ || LucideBookA);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookA,\n      selectors: [[\"svg\", \"lucideBookA\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c187,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookA_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookA_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookA;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTNoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMiA2djMiIC8+CiAgPHBhdGggZD0iTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/book-alert\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookAlert = /*#__PURE__*/(() => {\n  class LucideBookAlert extends LucideIconBase {\n    static icon = {\n      name: 'book-alert',\n      size: 24,\n      node: [['path', {\n        d: 'M12 13h.01',\n        key: 'y0uutt'\n      }], ['path', {\n        d: 'M12 6v3',\n        key: '1m4b9j'\n      }], ['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }]]\n    };\n    icon = signal(LucideBookAlert.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookAlert_BaseFactory;\n      return function LucideBookAlert_Factory(__ngFactoryType__) {\n        return (ɵLucideBookAlert_BaseFactory || (ɵLucideBookAlert_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookAlert)))(__ngFactoryType__ || LucideBookAlert);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookAlert,\n      selectors: [[\"svg\", \"lucideBookAlert\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c188,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookAlert_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookAlert_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookAlert;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookAudio\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNnY3IiAvPgogIDxwYXRoIGQ9Ik0xNiA4djMiIC8+CiAgPHBhdGggZD0iTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAiIC8+CiAgPHBhdGggZD0iTTggOHYzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/book-audio\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookAudio = /*#__PURE__*/(() => {\n  class LucideBookAudio extends LucideIconBase {\n    static icon = {\n      name: 'book-audio',\n      size: 24,\n      node: [['path', {\n        d: 'M12 6v7',\n        key: '1f6ttz'\n      }], ['path', {\n        d: 'M16 8v3',\n        key: 'gejaml'\n      }], ['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }], ['path', {\n        d: 'M8 8v3',\n        key: '1qzp49'\n      }]]\n    };\n    icon = signal(LucideBookAudio.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookAudio_BaseFactory;\n      return function LucideBookAudio_Factory(__ngFactoryType__) {\n        return (ɵLucideBookAudio_BaseFactory || (ɵLucideBookAudio_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookAudio)))(__ngFactoryType__ || LucideBookAudio);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookAudio,\n      selectors: [[\"svg\", \"lucideBookAudio\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c189,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookAudio_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookAudio_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookAudio;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookCopy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSA3YTIgMiAwIDAgMC0yIDJ2MTEiIC8+CiAgPHBhdGggZD0iTTUuODAzIDE4SDVhMiAyIDAgMCAwIDAgNGg5LjVhLjUuNSAwIDAgMCAuNS0uNVYyMSIgLz4KICA8cGF0aCBkPSJNOSAxNVY0YTIgMiAwIDAgMSAyLTJoOS41YS41LjUgMCAwIDEgLjUuNXYxNGEuNS41IDAgMCAxLS41LjVIMTFhMiAyIDAgMCAxIDAtNGgxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/book-copy\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookCopy = /*#__PURE__*/(() => {\n  class LucideBookCopy extends LucideIconBase {\n    static icon = {\n      name: 'book-copy',\n      size: 24,\n      node: [['path', {\n        d: 'M5 7a2 2 0 0 0-2 2v11',\n        key: '1yhqjt'\n      }], ['path', {\n        d: 'M5.803 18H5a2 2 0 0 0 0 4h9.5a.5.5 0 0 0 .5-.5V21',\n        key: 'edzzo5'\n      }], ['path', {\n        d: 'M9 15V4a2 2 0 0 1 2-2h9.5a.5.5 0 0 1 .5.5v14a.5.5 0 0 1-.5.5H11a2 2 0 0 1 0-4h10',\n        key: '1nwzrg'\n      }]]\n    };\n    icon = signal(LucideBookCopy.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookCopy_BaseFactory;\n      return function LucideBookCopy_Factory(__ngFactoryType__) {\n        return (ɵLucideBookCopy_BaseFactory || (ɵLucideBookCopy_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookCopy)))(__ngFactoryType__ || LucideBookCopy);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookCopy,\n      selectors: [[\"svg\", \"lucideBookCopy\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c190,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookCopy_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookCopy_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookCopy;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BellRing\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMjY4IDIxYTIgMiAwIDAgMCAzLjQ2NCAwIiAvPgogIDxwYXRoIGQ9Ik0yMiA4YzAtMi4zLS44LTQuMy0yLTYiIC8+CiAgPHBhdGggZD0iTTMuMjYyIDE1LjMyNkExIDEgMCAwIDAgNCAxN2gxNmExIDEgMCAwIDAgLjc0LTEuNjczQzE5LjQxIDEzLjk1NiAxOCAxMi40OTkgMTggOEE2IDYgMCAwIDAgNiA4YzAgNC40OTktMS40MTEgNS45NTYtMi43MzggNy4zMjYiIC8+CiAgPHBhdGggZD0iTTQgMkMyLjggMy43IDIgNS43IDIgOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/bell-ring\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBellRing = /*#__PURE__*/(() => {\n  class LucideBellRing extends LucideIconBase {\n    static icon = {\n      name: 'bell-ring',\n      size: 24,\n      node: [['path', {\n        d: 'M10.268 21a2 2 0 0 0 3.464 0',\n        key: 'vwvbt9'\n      }], ['path', {\n        d: 'M22 8c0-2.3-.8-4.3-2-6',\n        key: '5bb3ad'\n      }], ['path', {\n        d: 'M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326',\n        key: '11g9vi'\n      }], ['path', {\n        d: 'M4 2C2.8 3.7 2 5.7 2 8',\n        key: 'tap9e0'\n      }]]\n    };\n    icon = signal(LucideBellRing.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBellRing_BaseFactory;\n      return function LucideBellRing_Factory(__ngFactoryType__) {\n        return (ɵLucideBellRing_BaseFactory || (ɵLucideBellRing_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBellRing)))(__ngFactoryType__ || LucideBellRing);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBellRing,\n      selectors: [[\"svg\", \"lucideBellRing\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c191,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBellRing_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBellRing_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBellRing;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTdoMS41IiAvPgogIDxwYXRoIGQ9Ik0xMiAyMmgxLjUiIC8+CiAgPHBhdGggZD0iTTEyIDJoMS41IiAvPgogIDxwYXRoIGQ9Ik0xNy41IDIySDE5YTEgMSAwIDAgMCAxLTEiIC8+CiAgPHBhdGggZD0iTTE3LjUgMkgxOWExIDEgMCAwIDEgMSAxdjEuNSIgLz4KICA8cGF0aCBkPSJNMjAgMTR2M2gtMi41IiAvPgogIDxwYXRoIGQ9Ik0yMCA4LjVWMTAiIC8+CiAgPHBhdGggZD0iTTQgMTBWOC41IiAvPgogIDxwYXRoIGQ9Ik00IDE5LjVWMTQiIC8+CiAgPHBhdGggZD0iTTQgNC41QTIuNSAyLjUgMCAwIDEgNi41IDJIOCIgLz4KICA8cGF0aCBkPSJNOCAyMkg2LjVhMSAxIDAgMCAxIDAtNUg4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/book-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookDashed = /*#__PURE__*/(() => {\n  class LucideBookDashed extends LucideIconBase {\n    static icon = {\n      name: 'book-dashed',\n      size: 24,\n      node: [['path', {\n        d: 'M12 17h1.5',\n        key: '1gkc67'\n      }], ['path', {\n        d: 'M12 22h1.5',\n        key: '1my7sn'\n      }], ['path', {\n        d: 'M12 2h1.5',\n        key: '19tvb7'\n      }], ['path', {\n        d: 'M17.5 22H19a1 1 0 0 0 1-1',\n        key: '10akbh'\n      }], ['path', {\n        d: 'M17.5 2H19a1 1 0 0 1 1 1v1.5',\n        key: '1vrfjs'\n      }], ['path', {\n        d: 'M20 14v3h-2.5',\n        key: '1naeju'\n      }], ['path', {\n        d: 'M20 8.5V10',\n        key: '1ctpfu'\n      }], ['path', {\n        d: 'M4 10V8.5',\n        key: '1o3zg5'\n      }], ['path', {\n        d: 'M4 19.5V14',\n        key: 'ob81pf'\n      }], ['path', {\n        d: 'M4 4.5A2.5 2.5 0 0 1 6.5 2H8',\n        key: 's8vcyb'\n      }], ['path', {\n        d: 'M8 22H6.5a1 1 0 0 1 0-5H8',\n        key: '1cu73q'\n      }]],\n      aliases: ['book-template']\n    };\n    icon = signal(LucideBookDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookDashed_BaseFactory;\n      return function LucideBookDashed_Factory(__ngFactoryType__) {\n        return (ɵLucideBookDashed_BaseFactory || (ɵLucideBookDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookDashed)))(__ngFactoryType__ || LucideBookDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookDashed,\n      selectors: [[\"svg\", \"lucideBookDashed\", \"\"], [\"svg\", \"lucideBookTemplate\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c192,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideBookDashed\n */\nconst LucideBookTemplate = LucideBookDashed;\n\n/**\n * @component @name BookDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTNWNyIgLz4KICA8cGF0aCBkPSJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCIgLz4KICA8cGF0aCBkPSJtOSAxMCAzIDMgMy0zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/book-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookDown = /*#__PURE__*/(() => {\n  class LucideBookDown extends LucideIconBase {\n    static icon = {\n      name: 'book-down',\n      size: 24,\n      node: [['path', {\n        d: 'M12 13V7',\n        key: 'h0r20n'\n      }], ['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }], ['path', {\n        d: 'm9 10 3 3 3-3',\n        key: 'zt5b4y'\n      }]]\n    };\n    icon = signal(LucideBookDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookDown_BaseFactory;\n      return function LucideBookDown_Factory(__ngFactoryType__) {\n        return (ɵLucideBookDown_BaseFactory || (ɵLucideBookDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookDown)))(__ngFactoryType__ || LucideBookDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookDown,\n      selectors: [[\"svg\", \"lucideBookDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c193,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookHeadphones\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCIgLz4KICA8cGF0aCBkPSJNOCAxMnYtMmE0IDQgMCAwIDEgOCAwdjIiIC8+CiAgPGNpcmNsZSBjeD0iMTUiIGN5PSIxMiIgcj0iMSIgLz4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iMTIiIHI9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/book-headphones\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookHeadphones = /*#__PURE__*/(() => {\n  class LucideBookHeadphones extends LucideIconBase {\n    static icon = {\n      name: 'book-headphones',\n      size: 24,\n      node: [['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }], ['path', {\n        d: 'M8 12v-2a4 4 0 0 1 8 0v2',\n        key: '1vsqkj'\n      }], ['circle', {\n        cx: '15',\n        cy: '12',\n        r: '1',\n        key: '1tmaij'\n      }], ['circle', {\n        cx: '9',\n        cy: '12',\n        r: '1',\n        key: '1vctgf'\n      }]]\n    };\n    icon = signal(LucideBookHeadphones.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookHeadphones_BaseFactory;\n      return function LucideBookHeadphones_Factory(__ngFactoryType__) {\n        return (ɵLucideBookHeadphones_BaseFactory || (ɵLucideBookHeadphones_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookHeadphones)))(__ngFactoryType__ || LucideBookHeadphones);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookHeadphones,\n      selectors: [[\"svg\", \"lucideBookHeadphones\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c194,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookHeadphones_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookHeadphones_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookHeadphones;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookHeart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCIgLz4KICA8cGF0aCBkPSJNOC42MiA5LjhBMi4yNSAyLjI1IDAgMSAxIDEyIDYuODM2YTIuMjUgMi4yNSAwIDEgMSAzLjM4IDIuOTY2bC0yLjYyNiAyLjg1NmEuOTk4Ljk5OCAwIDAgMS0xLjUwNyAweiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/book-heart\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookHeart = /*#__PURE__*/(() => {\n  class LucideBookHeart extends LucideIconBase {\n    static icon = {\n      name: 'book-heart',\n      size: 24,\n      node: [['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }], ['path', {\n        d: 'M8.62 9.8A2.25 2.25 0 1 1 12 6.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z',\n        key: '9v40y5'\n      }]]\n    };\n    icon = signal(LucideBookHeart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookHeart_BaseFactory;\n      return function LucideBookHeart_Factory(__ngFactoryType__) {\n        return (ɵLucideBookHeart_BaseFactory || (ɵLucideBookHeart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookHeart)))(__ngFactoryType__ || LucideBookHeart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookHeart,\n      selectors: [[\"svg\", \"lucideBookHeart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c195,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookHeart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookHeart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookHeart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookImage\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjAgMTMuNy0yLjEtMi4xYTIgMiAwIDAgMC0yLjggMEw5LjcgMTciIC8+CiAgPHBhdGggZD0iTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAiIC8+CiAgPGNpcmNsZSBjeD0iMTAiIGN5PSI4IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/book-image\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookImage = /*#__PURE__*/(() => {\n  class LucideBookImage extends LucideIconBase {\n    static icon = {\n      name: 'book-image',\n      size: 24,\n      node: [['path', {\n        d: 'm20 13.7-2.1-2.1a2 2 0 0 0-2.8 0L9.7 17',\n        key: 'q6ojf0'\n      }], ['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }], ['circle', {\n        cx: '10',\n        cy: '8',\n        r: '2',\n        key: '2qkj4p'\n      }]]\n    };\n    icon = signal(LucideBookImage.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookImage_BaseFactory;\n      return function LucideBookImage_Factory(__ngFactoryType__) {\n        return (ɵLucideBookImage_BaseFactory || (ɵLucideBookImage_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookImage)))(__ngFactoryType__ || LucideBookImage);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookImage,\n      selectors: [[\"svg\", \"lucideBookImage\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c196,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookImage_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookImage_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookImage;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookKey\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMkg2LjVBMi41IDIuNSAwIDAgMCA0IDQuNXYxNSIgLz4KICA8cGF0aCBkPSJNMTcgMnY2IiAvPgogIDxwYXRoIGQ9Ik0xNyA0aDIiIC8+CiAgPHBhdGggZD0iTTIwIDE1LjJWMjFhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCIgLz4KICA8Y2lyY2xlIGN4PSIxNyIgY3k9IjEwIiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/book-key\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookKey = /*#__PURE__*/(() => {\n  class LucideBookKey extends LucideIconBase {\n    static icon = {\n      name: 'book-key',\n      size: 24,\n      node: [['path', {\n        d: 'M13 2H6.5A2.5 2.5 0 0 0 4 4.5v15',\n        key: '4azifu'\n      }], ['path', {\n        d: 'M17 2v6',\n        key: 'qgmh37'\n      }], ['path', {\n        d: 'M17 4h2',\n        key: '13vrzo'\n      }], ['path', {\n        d: 'M20 15.2V21a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: '192hzx'\n      }], ['circle', {\n        cx: '17',\n        cy: '10',\n        r: '2',\n        key: 'y0i25j'\n      }]]\n    };\n    icon = signal(LucideBookKey.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookKey_BaseFactory;\n      return function LucideBookKey_Factory(__ngFactoryType__) {\n        return (ɵLucideBookKey_BaseFactory || (ɵLucideBookKey_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookKey)))(__ngFactoryType__ || LucideBookKey);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookKey,\n      selectors: [[\"svg\", \"lucideBookKey\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c197,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookKey_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookKey_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookKey;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookLock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggNlY0YTIgMiAwIDEgMC00IDB2MiIgLz4KICA8cGF0aCBkPSJNMjAgMTV2NmExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIiAvPgogIDxwYXRoIGQ9Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTAiIC8+CiAgPHJlY3QgeD0iMTIiIHk9IjYiIHdpZHRoPSI4IiBoZWlnaHQ9IjUiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/book-lock\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookLock = /*#__PURE__*/(() => {\n  class LucideBookLock extends LucideIconBase {\n    static icon = {\n      name: 'book-lock',\n      size: 24,\n      node: [['path', {\n        d: 'M18 6V4a2 2 0 1 0-4 0v2',\n        key: '1aquzs'\n      }], ['path', {\n        d: 'M20 15v6a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: '1rkj32'\n      }], ['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H10',\n        key: '18wgow'\n      }], ['rect', {\n        x: '12',\n        y: '6',\n        width: '8',\n        height: '5',\n        rx: '1',\n        key: '73l30o'\n      }]]\n    };\n    icon = signal(LucideBookLock.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookLock_BaseFactory;\n      return function LucideBookLock_Factory(__ngFactoryType__) {\n        return (ɵLucideBookLock_BaseFactory || (ɵLucideBookLock_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookLock)))(__ngFactoryType__ || LucideBookLock);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookLock,\n      selectors: [[\"svg\", \"lucideBookLock\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c198,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookLock_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookLock_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookLock;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookMarked\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMnY4bDMtMyAzIDNWMiIgLz4KICA8cGF0aCBkPSJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/book-marked\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookMarked = /*#__PURE__*/(() => {\n  class LucideBookMarked extends LucideIconBase {\n    static icon = {\n      name: 'book-marked',\n      size: 24,\n      node: [['path', {\n        d: 'M10 2v8l3-3 3 3V2',\n        key: 'sqw3rj'\n      }], ['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }]]\n    };\n    icon = signal(LucideBookMarked.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookMarked_BaseFactory;\n      return function LucideBookMarked_Factory(__ngFactoryType__) {\n        return (ɵLucideBookMarked_BaseFactory || (ɵLucideBookMarked_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookMarked)))(__ngFactoryType__ || LucideBookMarked);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookMarked,\n      selectors: [[\"svg\", \"lucideBookMarked\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c199,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookMarked_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookMarked_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookMarked;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCIgLz4KICA8cGF0aCBkPSJNOSAxMGg2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/book-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookMinus = /*#__PURE__*/(() => {\n  class LucideBookMinus extends LucideIconBase {\n    static icon = {\n      name: 'book-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }], ['path', {\n        d: 'M9 10h6',\n        key: '9gxzsh'\n      }]]\n    };\n    icon = signal(LucideBookMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookMinus_BaseFactory;\n      return function LucideBookMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideBookMinus_BaseFactory || (ɵLucideBookMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookMinus)))(__ngFactoryType__ || LucideBookMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookMinus,\n      selectors: [[\"svg\", \"lucideBookMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c200,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookOpenCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjFWNyIgLz4KICA8cGF0aCBkPSJtMTYgMTIgMiAyIDQtNCIgLz4KICA8cGF0aCBkPSJNMjIgNlY0YTEgMSAwIDAgMC0xLTFoLTVhNCA0IDAgMCAwLTQgNCA0IDQgMCAwIDAtNC00SDNhMSAxIDAgMCAwLTEgMXYxM2ExIDEgMCAwIDAgMSAxaDZhMyAzIDAgMCAxIDMgMyAzIDMgMCAwIDEgMy0zaDZhMSAxIDAgMCAwIDEtMXYtMS4zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/book-open-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookOpenCheck = /*#__PURE__*/(() => {\n  class LucideBookOpenCheck extends LucideIconBase {\n    static icon = {\n      name: 'book-open-check',\n      size: 24,\n      node: [['path', {\n        d: 'M12 21V7',\n        key: 'gj6g52'\n      }], ['path', {\n        d: 'm16 12 2 2 4-4',\n        key: 'mdajum'\n      }], ['path', {\n        d: 'M22 6V4a1 1 0 0 0-1-1h-5a4 4 0 0 0-4 4 4 4 0 0 0-4-4H3a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h6a3 3 0 0 1 3 3 3 3 0 0 1 3-3h6a1 1 0 0 0 1-1v-1.3',\n        key: '8arnkb'\n      }]]\n    };\n    icon = signal(LucideBookOpenCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookOpenCheck_BaseFactory;\n      return function LucideBookOpenCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideBookOpenCheck_BaseFactory || (ɵLucideBookOpenCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookOpenCheck)))(__ngFactoryType__ || LucideBookOpenCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookOpenCheck,\n      selectors: [[\"svg\", \"lucideBookOpenCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c201,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookOpenCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookOpenCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookOpenCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookOpenText\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgN3YxNCIgLz4KICA8cGF0aCBkPSJNMTYgMTJoMiIgLz4KICA8cGF0aCBkPSJNMTYgOGgyIiAvPgogIDxwYXRoIGQ9Ik0zIDE4YTEgMSAwIDAgMS0xLTFWNGExIDEgMCAwIDEgMS0xaDVhNCA0IDAgMCAxIDQgNCA0IDQgMCAwIDEgNC00aDVhMSAxIDAgMCAxIDEgMXYxM2ExIDEgMCAwIDEtMSAxaC02YTMgMyAwIDAgMC0zIDMgMyAzIDAgMCAwLTMtM3oiIC8+CiAgPHBhdGggZD0iTTYgMTJoMiIgLz4KICA8cGF0aCBkPSJNNiA4aDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/book-open-text\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookOpenText = /*#__PURE__*/(() => {\n  class LucideBookOpenText extends LucideIconBase {\n    static icon = {\n      name: 'book-open-text',\n      size: 24,\n      node: [['path', {\n        d: 'M12 7v14',\n        key: '1akyts'\n      }], ['path', {\n        d: 'M16 12h2',\n        key: '7q9ll5'\n      }], ['path', {\n        d: 'M16 8h2',\n        key: 'msurwy'\n      }], ['path', {\n        d: 'M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z',\n        key: 'ruj8y'\n      }], ['path', {\n        d: 'M6 12h2',\n        key: '32wvfc'\n      }], ['path', {\n        d: 'M6 8h2',\n        key: '30oboj'\n      }]]\n    };\n    icon = signal(LucideBookOpenText.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookOpenText_BaseFactory;\n      return function LucideBookOpenText_Factory(__ngFactoryType__) {\n        return (ɵLucideBookOpenText_BaseFactory || (ɵLucideBookOpenText_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookOpenText)))(__ngFactoryType__ || LucideBookOpenText);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookOpenText,\n      selectors: [[\"svg\", \"lucideBookOpenText\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c202,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookOpenText_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookOpenText_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookOpenText;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgN3YxNCIgLz4KICA8cGF0aCBkPSJNMyAxOGExIDEgMCAwIDEtMS0xVjRhMSAxIDAgMCAxIDEtMWg1YTQgNCAwIDAgMSA0IDQgNCA0IDAgMCAxIDQtNGg1YTEgMSAwIDAgMSAxIDF2MTNhMSAxIDAgMCAxLTEgMWgtNmEzIDMgMCAwIDAtMyAzIDMgMyAwIDAgMC0zLTN6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/book-open\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookOpen = /*#__PURE__*/(() => {\n  class LucideBookOpen extends LucideIconBase {\n    static icon = {\n      name: 'book-open',\n      size: 24,\n      node: [['path', {\n        d: 'M12 7v14',\n        key: '1akyts'\n      }], ['path', {\n        d: 'M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z',\n        key: 'ruj8y'\n      }]]\n    };\n    icon = signal(LucideBookOpen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookOpen_BaseFactory;\n      return function LucideBookOpen_Factory(__ngFactoryType__) {\n        return (ɵLucideBookOpen_BaseFactory || (ɵLucideBookOpen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookOpen)))(__ngFactoryType__ || LucideBookOpen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookOpen,\n      selectors: [[\"svg\", \"lucideBookOpen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c203,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookOpen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookOpen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookOpen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgN3Y2IiAvPgogIDxwYXRoIGQ9Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIiAvPgogIDxwYXRoIGQ9Ik05IDEwaDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/book-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookPlus = /*#__PURE__*/(() => {\n  class LucideBookPlus extends LucideIconBase {\n    static icon = {\n      name: 'book-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M12 7v6',\n        key: 'lw1j43'\n      }], ['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }], ['path', {\n        d: 'M9 10h6',\n        key: '9gxzsh'\n      }]]\n    };\n    icon = signal(LucideBookPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookPlus_BaseFactory;\n      return function LucideBookPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideBookPlus_BaseFactory || (ɵLucideBookPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookPlus)))(__ngFactoryType__ || LucideBookPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookPlus,\n      selectors: [[\"svg\", \"lucideBookPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c204,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookSearch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMjJINS41YTEgMSAwIDAgMSAwLTVoNC41MDEiIC8+CiAgPHBhdGggZD0ibTIxIDIyLTEuODc5LTEuODc4IiAvPgogIDxwYXRoIGQ9Ik0zIDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNS41IDJIMThhMSAxIDAgMCAxIDEgMXY4IiAvPgogIDxjaXJjbGUgY3g9IjE3IiBjeT0iMTgiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/book-search\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookSearch = /*#__PURE__*/(() => {\n  class LucideBookSearch extends LucideIconBase {\n    static icon = {\n      name: 'book-search',\n      size: 24,\n      node: [['path', {\n        d: 'M11 22H5.5a1 1 0 0 1 0-5h4.501',\n        key: 'mcbepb'\n      }], ['path', {\n        d: 'm21 22-1.879-1.878',\n        key: '12q7x1'\n      }], ['path', {\n        d: 'M3 19.5v-15A2.5 2.5 0 0 1 5.5 2H18a1 1 0 0 1 1 1v8',\n        key: 'olfd5n'\n      }], ['circle', {\n        cx: '17',\n        cy: '18',\n        r: '3',\n        key: '82mm0e'\n      }]]\n    };\n    icon = signal(LucideBookSearch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookSearch_BaseFactory;\n      return function LucideBookSearch_Factory(__ngFactoryType__) {\n        return (ɵLucideBookSearch_BaseFactory || (ɵLucideBookSearch_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookSearch)))(__ngFactoryType__ || LucideBookSearch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookSearch,\n      selectors: [[\"svg\", \"lucideBookSearch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c205,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookSearch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookSearch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookSearch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookText\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCIgLz4KICA8cGF0aCBkPSJNOCAxMWg4IiAvPgogIDxwYXRoIGQ9Ik04IDdoNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/book-text\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookText = /*#__PURE__*/(() => {\n  class LucideBookText extends LucideIconBase {\n    static icon = {\n      name: 'book-text',\n      size: 24,\n      node: [['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }], ['path', {\n        d: 'M8 11h8',\n        key: 'vwpz6n'\n      }], ['path', {\n        d: 'M8 7h6',\n        key: '1f0q6e'\n      }]]\n    };\n    icon = signal(LucideBookText.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookText_BaseFactory;\n      return function LucideBookText_Factory(__ngFactoryType__) {\n        return (ɵLucideBookText_BaseFactory || (ɵLucideBookText_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookText)))(__ngFactoryType__ || LucideBookText);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookText,\n      selectors: [[\"svg\", \"lucideBookText\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c206,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookText_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookText_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookText;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookType\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTNoNCIgLz4KICA8cGF0aCBkPSJNMTIgNnY3IiAvPgogIDxwYXRoIGQ9Ik0xNiA4VjZIOHYyIiAvPgogIDxwYXRoIGQ9Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/book-type\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookType = /*#__PURE__*/(() => {\n  class LucideBookType extends LucideIconBase {\n    static icon = {\n      name: 'book-type',\n      size: 24,\n      node: [['path', {\n        d: 'M10 13h4',\n        key: 'ytezjc'\n      }], ['path', {\n        d: 'M12 6v7',\n        key: '1f6ttz'\n      }], ['path', {\n        d: 'M16 8V6H8v2',\n        key: 'x8j6u4'\n      }], ['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }]]\n    };\n    icon = signal(LucideBookType.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookType_BaseFactory;\n      return function LucideBookType_Factory(__ngFactoryType__) {\n        return (ɵLucideBookType_BaseFactory || (ɵLucideBookType_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookType)))(__ngFactoryType__ || LucideBookType);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookType,\n      selectors: [[\"svg\", \"lucideBookType\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c207,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookType_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookType_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookType;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookUp2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTNWNyIgLz4KICA8cGF0aCBkPSJNMTggMmgxYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCIgLz4KICA8cGF0aCBkPSJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAyIiAvPgogIDxwYXRoIGQ9Im05IDEwIDMtMyAzIDMiIC8+CiAgPHBhdGggZD0ibTkgNSAzLTMgMyAzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/book-up-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookUp2 = /*#__PURE__*/(() => {\n  class LucideBookUp2 extends LucideIconBase {\n    static icon = {\n      name: 'book-up-2',\n      size: 24,\n      node: [['path', {\n        d: 'M12 13V7',\n        key: 'h0r20n'\n      }], ['path', {\n        d: 'M18 2h1a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: '161d7n'\n      }], ['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2',\n        key: '1lorq7'\n      }], ['path', {\n        d: 'm9 10 3-3 3 3',\n        key: '11gsxs'\n      }], ['path', {\n        d: 'm9 5 3-3 3 3',\n        key: 'l8vdw6'\n      }]]\n    };\n    icon = signal(LucideBookUp2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookUp2_BaseFactory;\n      return function LucideBookUp2_Factory(__ngFactoryType__) {\n        return (ɵLucideBookUp2_BaseFactory || (ɵLucideBookUp2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookUp2)))(__ngFactoryType__ || LucideBookUp2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookUp2,\n      selectors: [[\"svg\", \"lucideBookUp2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c208,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookUp2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookUp2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookUp2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookUser\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMTNhMyAzIDAgMSAwLTYgMCIgLz4KICA8cGF0aCBkPSJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjgiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/book-user\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookUser = /*#__PURE__*/(() => {\n  class LucideBookUser extends LucideIconBase {\n    static icon = {\n      name: 'book-user',\n      size: 24,\n      node: [['path', {\n        d: 'M15 13a3 3 0 1 0-6 0',\n        key: '10j68g'\n      }], ['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }], ['circle', {\n        cx: '12',\n        cy: '8',\n        r: '2',\n        key: '1822b1'\n      }]]\n    };\n    icon = signal(LucideBookUser.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookUser_BaseFactory;\n      return function LucideBookUser_Factory(__ngFactoryType__) {\n        return (ɵLucideBookUser_BaseFactory || (ɵLucideBookUser_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookUser)))(__ngFactoryType__ || LucideBookUser);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookUser,\n      selectors: [[\"svg\", \"lucideBookUser\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c209,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookUser_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookUser_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookUser;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTNWNyIgLz4KICA8cGF0aCBkPSJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCIgLz4KICA8cGF0aCBkPSJtOSAxMCAzLTMgMyAzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/book-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookUp = /*#__PURE__*/(() => {\n  class LucideBookUp extends LucideIconBase {\n    static icon = {\n      name: 'book-up',\n      size: 24,\n      node: [['path', {\n        d: 'M12 13V7',\n        key: 'h0r20n'\n      }], ['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }], ['path', {\n        d: 'm9 10 3-3 3 3',\n        key: '11gsxs'\n      }]]\n    };\n    icon = signal(LucideBookUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookUp_BaseFactory;\n      return function LucideBookUp_Factory(__ngFactoryType__) {\n        return (ɵLucideBookUp_BaseFactory || (ɵLucideBookUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookUp)))(__ngFactoryType__ || LucideBookUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookUp,\n      selectors: [[\"svg\", \"lucideBookUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c210,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQuNSA3LTUgNSIgLz4KICA8cGF0aCBkPSJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCIgLz4KICA8cGF0aCBkPSJtOS41IDcgNSA1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/book-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookX = /*#__PURE__*/(() => {\n  class LucideBookX extends LucideIconBase {\n    static icon = {\n      name: 'book-x',\n      size: 24,\n      node: [['path', {\n        d: 'm14.5 7-5 5',\n        key: 'dy991v'\n      }], ['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }], ['path', {\n        d: 'm9.5 7 5 5',\n        key: 's45iea'\n      }]]\n    };\n    icon = signal(LucideBookX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookX_BaseFactory;\n      return function LucideBookX_Factory(__ngFactoryType__) {\n        return (ɵLucideBookX_BaseFactory || (ɵLucideBookX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookX)))(__ngFactoryType__ || LucideBookX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookX,\n      selectors: [[\"svg\", \"lucideBookX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c211,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Book\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/book\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBook = /*#__PURE__*/(() => {\n  class LucideBook extends LucideIconBase {\n    static icon = {\n      name: 'book',\n      size: 24,\n      node: [['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }]]\n    };\n    icon = signal(LucideBook.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBook_BaseFactory;\n      return function LucideBook_Factory(__ngFactoryType__) {\n        return (ɵLucideBook_BaseFactory || (ɵLucideBook_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBook)))(__ngFactoryType__ || LucideBook);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBook,\n      selectors: [[\"svg\", \"lucideBook\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c212,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBook_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBook_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBook;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookmarkCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgM2EyIDIgMCAwIDEgMiAydjE1YTEgMSAwIDAgMS0xLjQ5Ni44NjhsLTQuNTEyLTIuNTc4YTIgMiAwIDAgMC0xLjk4NCAwbC00LjUxMiAyLjU3OEExIDEgMCAwIDEgNSAyMFY1YTIgMiAwIDAgMSAyLTJ6IiAvPgogIDxwYXRoIGQ9Im05IDEwIDIgMiA0LTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bookmark-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookmarkCheck = /*#__PURE__*/(() => {\n  class LucideBookmarkCheck extends LucideIconBase {\n    static icon = {\n      name: 'bookmark-check',\n      size: 24,\n      node: [['path', {\n        d: 'M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z',\n        key: 'oz39mx'\n      }], ['path', {\n        d: 'm9 10 2 2 4-4',\n        key: '1gnqz4'\n      }]]\n    };\n    icon = signal(LucideBookmarkCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookmarkCheck_BaseFactory;\n      return function LucideBookmarkCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideBookmarkCheck_BaseFactory || (ɵLucideBookmarkCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookmarkCheck)))(__ngFactoryType__ || LucideBookmarkCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookmarkCheck,\n      selectors: [[\"svg\", \"lucideBookmarkCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c213,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookmarkCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookmarkCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookmarkCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookmarkMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMTBIOSIgLz4KICA8cGF0aCBkPSJNMTcgM2EyIDIgMCAwIDEgMiAydjE1YTEgMSAwIDAgMS0xLjQ5Ni44NjhsLTQuNTEyLTIuNTc4YTIgMiAwIDAgMC0xLjk4NCAwbC00LjUxMiAyLjU3OEExIDEgMCAwIDEgNSAyMFY1YTIgMiAwIDAgMSAyLTJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/bookmark-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookmarkMinus = /*#__PURE__*/(() => {\n  class LucideBookmarkMinus extends LucideIconBase {\n    static icon = {\n      name: 'bookmark-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M15 10H9',\n        key: 'o6yqo3'\n      }], ['path', {\n        d: 'M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z',\n        key: 'oz39mx'\n      }]]\n    };\n    icon = signal(LucideBookmarkMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookmarkMinus_BaseFactory;\n      return function LucideBookmarkMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideBookmarkMinus_BaseFactory || (ɵLucideBookmarkMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookmarkMinus)))(__ngFactoryType__ || LucideBookmarkMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookmarkMinus,\n      selectors: [[\"svg\", \"lucideBookmarkMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c214,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookmarkMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookmarkMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookmarkMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookmarkPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgN3Y2IiAvPgogIDxwYXRoIGQ9Ik0xNSAxMEg5IiAvPgogIDxwYXRoIGQ9Ik0xNyAzYTIgMiAwIDAgMSAyIDJ2MTVhMSAxIDAgMCAxLTEuNDk2Ljg2OGwtNC41MTItMi41NzhhMiAyIDAgMCAwLTEuOTg0IDBsLTQuNTEyIDIuNTc4QTEgMSAwIDAgMSA1IDIwVjVhMiAyIDAgMCAxIDItMnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bookmark-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookmarkPlus = /*#__PURE__*/(() => {\n  class LucideBookmarkPlus extends LucideIconBase {\n    static icon = {\n      name: 'bookmark-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M12 7v6',\n        key: 'lw1j43'\n      }], ['path', {\n        d: 'M15 10H9',\n        key: 'o6yqo3'\n      }], ['path', {\n        d: 'M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z',\n        key: 'oz39mx'\n      }]]\n    };\n    icon = signal(LucideBookmarkPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookmarkPlus_BaseFactory;\n      return function LucideBookmarkPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideBookmarkPlus_BaseFactory || (ɵLucideBookmarkPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookmarkPlus)))(__ngFactoryType__ || LucideBookmarkPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookmarkPlus,\n      selectors: [[\"svg\", \"lucideBookmarkPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c215,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookmarkPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookmarkPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookmarkPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookmarkX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQuNSA3LjUtNSA1IiAvPgogIDxwYXRoIGQ9Ik0xNyAzYTIgMiAwIDAgMSAyIDJ2MTVhMSAxIDAgMCAxLTEuNDk2Ljg2OGwtNC41MTItMi41NzhhMiAyIDAgMCAwLTEuOTg0IDBsLTQuNTEyIDIuNTc4QTEgMSAwIDAgMSA1IDIwVjVhMiAyIDAgMCAxIDItMnoiIC8+CiAgPHBhdGggZD0ibTkuNSA3LjUgNSA1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/bookmark-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookmarkX = /*#__PURE__*/(() => {\n  class LucideBookmarkX extends LucideIconBase {\n    static icon = {\n      name: 'bookmark-x',\n      size: 24,\n      node: [['path', {\n        d: 'm14.5 7.5-5 5',\n        key: '3lb6iw'\n      }], ['path', {\n        d: 'M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z',\n        key: 'oz39mx'\n      }], ['path', {\n        d: 'm9.5 7.5 5 5',\n        key: 'ko136h'\n      }]]\n    };\n    icon = signal(LucideBookmarkX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookmarkX_BaseFactory;\n      return function LucideBookmarkX_Factory(__ngFactoryType__) {\n        return (ɵLucideBookmarkX_BaseFactory || (ɵLucideBookmarkX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookmarkX)))(__ngFactoryType__ || LucideBookmarkX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookmarkX,\n      selectors: [[\"svg\", \"lucideBookmarkX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c216,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookmarkX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookmarkX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookmarkX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bookmark\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgM2EyIDIgMCAwIDEgMiAydjE1YTEgMSAwIDAgMS0xLjQ5Ni44NjhsLTQuNTEyLTIuNTc4YTIgMiAwIDAgMC0xLjk4NCAwbC00LjUxMiAyLjU3OEExIDEgMCAwIDEgNSAyMFY1YTIgMiAwIDAgMSAyLTJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/bookmark\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookmark = /*#__PURE__*/(() => {\n  class LucideBookmark extends LucideIconBase {\n    static icon = {\n      name: 'bookmark',\n      size: 24,\n      node: [['path', {\n        d: 'M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z',\n        key: 'oz39mx'\n      }]]\n    };\n    icon = signal(LucideBookmark.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookmark_BaseFactory;\n      return function LucideBookmark_Factory(__ngFactoryType__) {\n        return (ɵLucideBookmark_BaseFactory || (ɵLucideBookmark_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookmark)))(__ngFactoryType__ || LucideBookmark);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookmark,\n      selectors: [[\"svg\", \"lucideBookmark\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c217,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookmark_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookmark_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookmark;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BoomBox\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCA5VjVhMiAyIDAgMCAxIDItMmgxMmEyIDIgMCAwIDEgMiAydjQiIC8+CiAgPHBhdGggZD0iTTggOHYxIiAvPgogIDxwYXRoIGQ9Ik0xMiA4djEiIC8+CiAgPHBhdGggZD0iTTE2IDh2MSIgLz4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTIiIHg9IjIiIHk9IjkiIHJ4PSIyIiAvPgogIDxjaXJjbGUgY3g9IjgiIGN5PSIxNSIgcj0iMiIgLz4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjE1IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/boom-box\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBoomBox = /*#__PURE__*/(() => {\n  class LucideBoomBox extends LucideIconBase {\n    static icon = {\n      name: 'boom-box',\n      size: 24,\n      node: [['path', {\n        d: 'M4 9V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4',\n        key: 'vvzvr1'\n      }], ['path', {\n        d: 'M8 8v1',\n        key: 'xcqmfk'\n      }], ['path', {\n        d: 'M12 8v1',\n        key: '1rj8u4'\n      }], ['path', {\n        d: 'M16 8v1',\n        key: '1q12zr'\n      }], ['rect', {\n        width: '20',\n        height: '12',\n        x: '2',\n        y: '9',\n        rx: '2',\n        key: 'igpb89'\n      }], ['circle', {\n        cx: '8',\n        cy: '15',\n        r: '2',\n        key: 'fa4a8s'\n      }], ['circle', {\n        cx: '16',\n        cy: '15',\n        r: '2',\n        key: '14c3ya'\n      }]]\n    };\n    icon = signal(LucideBoomBox.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBoomBox_BaseFactory;\n      return function LucideBoomBox_Factory(__ngFactoryType__) {\n        return (ɵLucideBoomBox_BaseFactory || (ɵLucideBoomBox_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBoomBox)))(__ngFactoryType__ || LucideBoomBox);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBoomBox,\n      selectors: [[\"svg\", \"lucideBoomBox\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c218,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBoomBox_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBoomBox_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBoomBox;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BotMessageSquare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNlYySDgiIC8+CiAgPHBhdGggZD0iTTE1IDExdjIiIC8+CiAgPHBhdGggZD0iTTIgMTJoMiIgLz4KICA8cGF0aCBkPSJNMjAgMTJoMiIgLz4KICA8cGF0aCBkPSJNMjAgMTZhMiAyIDAgMCAxLTIgMkg4LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgNCAyMC4yODZWOGEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ6IiAvPgogIDxwYXRoIGQ9Ik05IDExdjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bot-message-square\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBotMessageSquare = /*#__PURE__*/(() => {\n  class LucideBotMessageSquare extends LucideIconBase {\n    static icon = {\n      name: 'bot-message-square',\n      size: 24,\n      node: [['path', {\n        d: 'M12 6V2H8',\n        key: '1155em'\n      }], ['path', {\n        d: 'M15 11v2',\n        key: 'i11awn'\n      }], ['path', {\n        d: 'M2 12h2',\n        key: '1t8f8n'\n      }], ['path', {\n        d: 'M20 12h2',\n        key: '1q8mjw'\n      }], ['path', {\n        d: 'M20 16a2 2 0 0 1-2 2H8.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 4 20.286V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2z',\n        key: '11gyqh'\n      }], ['path', {\n        d: 'M9 11v2',\n        key: '1ueba0'\n      }]]\n    };\n    icon = signal(LucideBotMessageSquare.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBotMessageSquare_BaseFactory;\n      return function LucideBotMessageSquare_Factory(__ngFactoryType__) {\n        return (ɵLucideBotMessageSquare_BaseFactory || (ɵLucideBotMessageSquare_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBotMessageSquare)))(__ngFactoryType__ || LucideBotMessageSquare);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBotMessageSquare,\n      selectors: [[\"svg\", \"lucideBotMessageSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c219,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBotMessageSquare_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBotMessageSquare_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBotMessageSquare;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BotOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuNjcgOEgxOGEyIDIgMCAwIDEgMiAydjQuMzMiIC8+CiAgPHBhdGggZD0iTTIgMTRoMiIgLz4KICA8cGF0aCBkPSJNMjAgMTRoMiIgLz4KICA8cGF0aCBkPSJNMjIgMjIgMiAyIiAvPgogIDxwYXRoIGQ9Ik04IDhINmEyIDIgMCAwIDAtMiAydjhhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMS40MTQtLjU4NiIgLz4KICA8cGF0aCBkPSJNOSAxM3YyIiAvPgogIDxwYXRoIGQ9Ik05LjY3IDRIMTJ2Mi4zMyIgLz4KPC9zdmc+) - https://lucide.dev/icons/bot-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBotOff = /*#__PURE__*/(() => {\n  class LucideBotOff extends LucideIconBase {\n    static icon = {\n      name: 'bot-off',\n      size: 24,\n      node: [['path', {\n        d: 'M13.67 8H18a2 2 0 0 1 2 2v4.33',\n        key: '7az073'\n      }], ['path', {\n        d: 'M2 14h2',\n        key: 'vft8re'\n      }], ['path', {\n        d: 'M20 14h2',\n        key: '4cs60a'\n      }], ['path', {\n        d: 'M22 22 2 2',\n        key: '1r8tn9'\n      }], ['path', {\n        d: 'M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586',\n        key: 's09a7a'\n      }], ['path', {\n        d: 'M9 13v2',\n        key: 'rq6x2g'\n      }], ['path', {\n        d: 'M9.67 4H12v2.33',\n        key: '110xot'\n      }]]\n    };\n    icon = signal(LucideBotOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBotOff_BaseFactory;\n      return function LucideBotOff_Factory(__ngFactoryType__) {\n        return (ɵLucideBotOff_BaseFactory || (ɵLucideBotOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBotOff)))(__ngFactoryType__ || LucideBotOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBotOff,\n      selectors: [[\"svg\", \"lucideBotOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c220,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBotOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBotOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBotOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgOFY0SDgiIC8+CiAgPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjEyIiB4PSI0IiB5PSI4IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMiAxNGgyIiAvPgogIDxwYXRoIGQ9Ik0yMCAxNGgyIiAvPgogIDxwYXRoIGQ9Ik0xNSAxM3YyIiAvPgogIDxwYXRoIGQ9Ik05IDEzdjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBot = /*#__PURE__*/(() => {\n  class LucideBot extends LucideIconBase {\n    static icon = {\n      name: 'bot',\n      size: 24,\n      node: [['path', {\n        d: 'M12 8V4H8',\n        key: 'hb8ula'\n      }], ['rect', {\n        width: '16',\n        height: '12',\n        x: '4',\n        y: '8',\n        rx: '2',\n        key: 'enze0r'\n      }], ['path', {\n        d: 'M2 14h2',\n        key: 'vft8re'\n      }], ['path', {\n        d: 'M20 14h2',\n        key: '4cs60a'\n      }], ['path', {\n        d: 'M15 13v2',\n        key: '1xurst'\n      }], ['path', {\n        d: 'M9 13v2',\n        key: 'rq6x2g'\n      }]]\n    };\n    icon = signal(LucideBot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBot_BaseFactory;\n      return function LucideBot_Factory(__ngFactoryType__) {\n        return (ɵLucideBot_BaseFactory || (ɵLucideBot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBot)))(__ngFactoryType__ || LucideBot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBot,\n      selectors: [[\"svg\", \"lucideBot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c221,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BottleWine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgM2ExIDEgMCAwIDEgMS0xaDJhMSAxIDAgMCAxIDEgMXYyYTYgNiAwIDAgMCAxLjIgMy42bC42LjhBNiA2IDAgMCAxIDE3IDEzdjhhMSAxIDAgMCAxLTEgMUg4YTEgMSAwIDAgMS0xLTF2LThhNiA2IDAgMCAxIDEuMi0zLjZsLjYtLjhBNiA2IDAgMCAwIDEwIDV6IiAvPgogIDxwYXRoIGQ9Ik0xNyAxM2gtNGExIDEgMCAwIDAtMSAxdjNhMSAxIDAgMCAwIDEgMWg0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/bottle-wine\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBottleWine = /*#__PURE__*/(() => {\n  class LucideBottleWine extends LucideIconBase {\n    static icon = {\n      name: 'bottle-wine',\n      size: 24,\n      node: [['path', {\n        d: 'M10 3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a6 6 0 0 0 1.2 3.6l.6.8A6 6 0 0 1 17 13v8a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-8a6 6 0 0 1 1.2-3.6l.6-.8A6 6 0 0 0 10 5z',\n        key: 'blqgoc'\n      }], ['path', {\n        d: 'M17 13h-4a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h4',\n        key: '43jbee'\n      }]]\n    };\n    icon = signal(LucideBottleWine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBottleWine_BaseFactory;\n      return function LucideBottleWine_Factory(__ngFactoryType__) {\n        return (ɵLucideBottleWine_BaseFactory || (ɵLucideBottleWine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBottleWine)))(__ngFactoryType__ || LucideBottleWine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBottleWine,\n      selectors: [[\"svg\", \"lucideBottleWine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c222,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBottleWine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBottleWine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBottleWine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BowArrow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgM2g0djQiIC8+CiAgPHBhdGggZD0iTTE4LjU3NSAxMS4wODJhMTMgMTMgMCAwIDEgMS4wNDggOS4wMjcgMS4xNyAxLjE3IDAgMCAxLTEuOTE0LjU5N0wxNCAxNyIgLz4KICA8cGF0aCBkPSJNNyAxMCAzLjI5IDYuMjlhMS4xNyAxLjE3IDAgMCAxIC42LTEuOTEgMTMgMTMgMCAwIDEgOS4wMyAxLjA1IiAvPgogIDxwYXRoIGQ9Ik03IDE0YTEuNyAxLjcgMCAwIDAtMS4yMDcuNWwtMi42NDYgMi42NDZBLjUuNSAwIDAgMCAzLjUgMThINWExIDEgMCAwIDEgMSAxdjEuNWEuNS41IDAgMCAwIC44NTQuMzU0TDkuNSAxOC4yMDdBMS43IDEuNyAwIDAgMCAxMCAxN3YtMmExIDEgMCAwIDAtMS0xeiIgLz4KICA8cGF0aCBkPSJNOS43MDcgMTQuMjkzIDIxIDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bow-arrow\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBowArrow = /*#__PURE__*/(() => {\n  class LucideBowArrow extends LucideIconBase {\n    static icon = {\n      name: 'bow-arrow',\n      size: 24,\n      node: [['path', {\n        d: 'M17 3h4v4',\n        key: '19p9u1'\n      }], ['path', {\n        d: 'M18.575 11.082a13 13 0 0 1 1.048 9.027 1.17 1.17 0 0 1-1.914.597L14 17',\n        key: '12t3w9'\n      }], ['path', {\n        d: 'M7 10 3.29 6.29a1.17 1.17 0 0 1 .6-1.91 13 13 0 0 1 9.03 1.05',\n        key: 'ogng5l'\n      }], ['path', {\n        d: 'M7 14a1.7 1.7 0 0 0-1.207.5l-2.646 2.646A.5.5 0 0 0 3.5 18H5a1 1 0 0 1 1 1v1.5a.5.5 0 0 0 .854.354L9.5 18.207A1.7 1.7 0 0 0 10 17v-2a1 1 0 0 0-1-1z',\n        key: '8v3fy2'\n      }], ['path', {\n        d: 'M9.707 14.293 21 3',\n        key: 'ydm3bn'\n      }]]\n    };\n    icon = signal(LucideBowArrow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBowArrow_BaseFactory;\n      return function LucideBowArrow_Factory(__ngFactoryType__) {\n        return (ɵLucideBowArrow_BaseFactory || (ɵLucideBowArrow_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBowArrow)))(__ngFactoryType__ || LucideBowArrow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBowArrow,\n      selectors: [[\"svg\", \"lucideBowArrow\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c223,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBowArrow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBowArrow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBowArrow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Box\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZaIiAvPgogIDxwYXRoIGQ9Im0zLjMgNyA4LjcgNSA4LjctNSIgLz4KICA8cGF0aCBkPSJNMTIgMjJWMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/box\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBox = /*#__PURE__*/(() => {\n  class LucideBox extends LucideIconBase {\n    static icon = {\n      name: 'box',\n      size: 24,\n      node: [['path', {\n        d: 'M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z',\n        key: 'hh9hay'\n      }], ['path', {\n        d: 'm3.3 7 8.7 5 8.7-5',\n        key: 'g66t2b'\n      }], ['path', {\n        d: 'M12 22V12',\n        key: 'd0xqtd'\n      }]]\n    };\n    icon = signal(LucideBox.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBox_BaseFactory;\n      return function LucideBox_Factory(__ngFactoryType__) {\n        return (ɵLucideBox_BaseFactory || (ɵLucideBox_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBox)))(__ngFactoryType__ || LucideBox);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBox,\n      selectors: [[\"svg\", \"lucideBox\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c224,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBox_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBox_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBox;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Boxes\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi45NyAxMi45MkEyIDIgMCAwIDAgMiAxNC42M3YzLjI0YTIgMiAwIDAgMCAuOTcgMS43MWwzIDEuOGEyIDIgMCAwIDAgMi4wNiAwTDEyIDE5di01LjVsLTUtMy00LjAzIDIuNDJaIiAvPgogIDxwYXRoIGQ9Im03IDE2LjUtNC43NC0yLjg1IiAvPgogIDxwYXRoIGQ9Im03IDE2LjUgNS0zIiAvPgogIDxwYXRoIGQ9Ik03IDE2LjV2NS4xNyIgLz4KICA8cGF0aCBkPSJNMTIgMTMuNVYxOWwzLjk3IDIuMzhhMiAyIDAgMCAwIDIuMDYgMGwzLTEuOGEyIDIgMCAwIDAgLjk3LTEuNzF2LTMuMjRhMiAyIDAgMCAwLS45Ny0xLjcxTDE3IDEwLjVsLTUgM1oiIC8+CiAgPHBhdGggZD0ibTE3IDE2LjUtNS0zIiAvPgogIDxwYXRoIGQ9Im0xNyAxNi41IDQuNzQtMi44NSIgLz4KICA8cGF0aCBkPSJNMTcgMTYuNXY1LjE3IiAvPgogIDxwYXRoIGQ9Ik03Ljk3IDQuNDJBMiAyIDAgMCAwIDcgNi4xM3Y0LjM3bDUgMyA1LTNWNi4xM2EyIDIgMCAwIDAtLjk3LTEuNzFsLTMtMS44YTIgMiAwIDAgMC0yLjA2IDBsLTMgMS44WiIgLz4KICA8cGF0aCBkPSJNMTIgOCA3LjI2IDUuMTUiIC8+CiAgPHBhdGggZD0ibTEyIDggNC43NC0yLjg1IiAvPgogIDxwYXRoIGQ9Ik0xMiAxMy41VjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/boxes\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBoxes = /*#__PURE__*/(() => {\n  class LucideBoxes extends LucideIconBase {\n    static icon = {\n      name: 'boxes',\n      size: 24,\n      node: [['path', {\n        d: 'M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z',\n        key: 'lc1i9w'\n      }], ['path', {\n        d: 'm7 16.5-4.74-2.85',\n        key: '1o9zyk'\n      }], ['path', {\n        d: 'm7 16.5 5-3',\n        key: 'va8pkn'\n      }], ['path', {\n        d: 'M7 16.5v5.17',\n        key: 'jnp8gn'\n      }], ['path', {\n        d: 'M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z',\n        key: '8zsnat'\n      }], ['path', {\n        d: 'm17 16.5-5-3',\n        key: '8arw3v'\n      }], ['path', {\n        d: 'm17 16.5 4.74-2.85',\n        key: '8rfmw'\n      }], ['path', {\n        d: 'M17 16.5v5.17',\n        key: 'k6z78m'\n      }], ['path', {\n        d: 'M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z',\n        key: '1xygjf'\n      }], ['path', {\n        d: 'M12 8 7.26 5.15',\n        key: '1vbdud'\n      }], ['path', {\n        d: 'm12 8 4.74-2.85',\n        key: '3rx089'\n      }], ['path', {\n        d: 'M12 13.5V8',\n        key: '1io7kd'\n      }]]\n    };\n    icon = signal(LucideBoxes.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBoxes_BaseFactory;\n      return function LucideBoxes_Factory(__ngFactoryType__) {\n        return (ɵLucideBoxes_BaseFactory || (ɵLucideBoxes_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBoxes)))(__ngFactoryType__ || LucideBoxes);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBoxes,\n      selectors: [[\"svg\", \"lucideBoxes\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c225,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBoxes_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBoxes_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBoxes;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Braces\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAzSDdhMiAyIDAgMCAwLTIgMnY1YTIgMiAwIDAgMS0yIDIgMiAyIDAgMCAxIDIgMnY1YzAgMS4xLjkgMiAyIDJoMSIgLz4KICA8cGF0aCBkPSJNMTYgMjFoMWEyIDIgMCAwIDAgMi0ydi01YzAtMS4xLjktMiAyLTJhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMC0yLTJoLTEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/braces\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBraces = /*#__PURE__*/(() => {\n  class LucideBraces extends LucideIconBase {\n    static icon = {\n      name: 'braces',\n      size: 24,\n      node: [['path', {\n        d: 'M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1',\n        key: 'ezmyqa'\n      }], ['path', {\n        d: 'M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1',\n        key: 'e1hn23'\n      }]],\n      aliases: ['curly-braces']\n    };\n    icon = signal(LucideBraces.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBraces_BaseFactory;\n      return function LucideBraces_Factory(__ngFactoryType__) {\n        return (ɵLucideBraces_BaseFactory || (ɵLucideBraces_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBraces)))(__ngFactoryType__ || LucideBraces);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBraces,\n      selectors: [[\"svg\", \"lucideBraces\", \"\"], [\"svg\", \"lucideCurlyBraces\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c226,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBraces_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBraces_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBraces;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideBraces\n */\nconst LucideCurlyBraces = LucideBraces;\n\n/**\n * @component @name Brackets\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgM2gzYTEgMSAwIDAgMSAxIDF2MTZhMSAxIDAgMCAxLTEgMWgtMyIgLz4KICA8cGF0aCBkPSJNOCAyMUg1YTEgMSAwIDAgMS0xLTFWNGExIDEgMCAwIDEgMS0xaDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/brackets\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBrackets = /*#__PURE__*/(() => {\n  class LucideBrackets extends LucideIconBase {\n    static icon = {\n      name: 'brackets',\n      size: 24,\n      node: [['path', {\n        d: 'M16 3h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-3',\n        key: '1kt8lf'\n      }], ['path', {\n        d: 'M8 21H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h3',\n        key: 'gduv9'\n      }]]\n    };\n    icon = signal(LucideBrackets.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBrackets_BaseFactory;\n      return function LucideBrackets_Factory(__ngFactoryType__) {\n        return (ɵLucideBrackets_BaseFactory || (ɵLucideBrackets_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBrackets)))(__ngFactoryType__ || LucideBrackets);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBrackets,\n      selectors: [[\"svg\", \"lucideBrackets\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c227,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBrackets_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBrackets_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBrackets;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BrainCircuit\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNWEzIDMgMCAxIDAtNS45OTcuMTI1IDQgNCAwIDAgMC0yLjUyNiA1Ljc3IDQgNCAwIDAgMCAuNTU2IDYuNTg4QTQgNCAwIDEgMCAxMiAxOFoiIC8+CiAgPHBhdGggZD0iTTkgMTNhNC41IDQuNSAwIDAgMCAzLTQiIC8+CiAgPHBhdGggZD0iTTYuMDAzIDUuMTI1QTMgMyAwIDAgMCA2LjQwMSA2LjUiIC8+CiAgPHBhdGggZD0iTTMuNDc3IDEwLjg5NmE0IDQgMCAwIDEgLjU4NS0uMzk2IiAvPgogIDxwYXRoIGQ9Ik02IDE4YTQgNCAwIDAgMS0xLjk2Ny0uNTE2IiAvPgogIDxwYXRoIGQ9Ik0xMiAxM2g0IiAvPgogIDxwYXRoIGQ9Ik0xMiAxOGg2YTIgMiAwIDAgMSAyIDJ2MSIgLz4KICA8cGF0aCBkPSJNMTIgOGg4IiAvPgogIDxwYXRoIGQ9Ik0xNiA4VjVhMiAyIDAgMCAxIDItMiIgLz4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjEzIiByPSIuNSIgLz4KICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjMiIHI9Ii41IiAvPgogIDxjaXJjbGUgY3g9IjIwIiBjeT0iMjEiIHI9Ii41IiAvPgogIDxjaXJjbGUgY3g9IjIwIiBjeT0iOCIgcj0iLjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/brain-circuit\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBrainCircuit = /*#__PURE__*/(() => {\n  class LucideBrainCircuit extends LucideIconBase {\n    static icon = {\n      name: 'brain-circuit',\n      size: 24,\n      node: [['path', {\n        d: 'M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z',\n        key: 'l5xja'\n      }], ['path', {\n        d: 'M9 13a4.5 4.5 0 0 0 3-4',\n        key: '10igwf'\n      }], ['path', {\n        d: 'M6.003 5.125A3 3 0 0 0 6.401 6.5',\n        key: '105sqy'\n      }], ['path', {\n        d: 'M3.477 10.896a4 4 0 0 1 .585-.396',\n        key: 'ql3yin'\n      }], ['path', {\n        d: 'M6 18a4 4 0 0 1-1.967-.516',\n        key: '2e4loj'\n      }], ['path', {\n        d: 'M12 13h4',\n        key: '1ku699'\n      }], ['path', {\n        d: 'M12 18h6a2 2 0 0 1 2 2v1',\n        key: '105ag5'\n      }], ['path', {\n        d: 'M12 8h8',\n        key: '1lhi5i'\n      }], ['path', {\n        d: 'M16 8V5a2 2 0 0 1 2-2',\n        key: 'u6izg6'\n      }], ['circle', {\n        cx: '16',\n        cy: '13',\n        r: '.5',\n        key: 'ry7gng'\n      }], ['circle', {\n        cx: '18',\n        cy: '3',\n        r: '.5',\n        key: '1aiba7'\n      }], ['circle', {\n        cx: '20',\n        cy: '21',\n        r: '.5',\n        key: 'yhc1fs'\n      }], ['circle', {\n        cx: '20',\n        cy: '8',\n        r: '.5',\n        key: '1e43v0'\n      }]]\n    };\n    icon = signal(LucideBrainCircuit.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBrainCircuit_BaseFactory;\n      return function LucideBrainCircuit_Factory(__ngFactoryType__) {\n        return (ɵLucideBrainCircuit_BaseFactory || (ɵLucideBrainCircuit_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBrainCircuit)))(__ngFactoryType__ || LucideBrainCircuit);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBrainCircuit,\n      selectors: [[\"svg\", \"lucideBrainCircuit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c228,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBrainCircuit_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBrainCircuit_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBrainCircuit;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BrainCog\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAuODUyIDE0Ljc3Mi0uMzgzLjkyMyIgLz4KICA8cGF0aCBkPSJtMTAuODUyIDkuMjI4LS4zODMtLjkyMyIgLz4KICA8cGF0aCBkPSJtMTMuMTQ4IDE0Ljc3Mi4zODIuOTI0IiAvPgogIDxwYXRoIGQ9Im0xMy41MzEgOC4zMDUtLjM4My45MjMiIC8+CiAgPHBhdGggZD0ibTE0Ljc3MiAxMC44NTIuOTIzLS4zODMiIC8+CiAgPHBhdGggZD0ibTE0Ljc3MiAxMy4xNDguOTIzLjM4MyIgLz4KICA8cGF0aCBkPSJNMTcuNTk4IDYuNUEzIDMgMCAxIDAgMTIgNWEzIDMgMCAwIDAtNS42My0xLjQ0NiAzIDMgMCAwIDAtLjM2OCAxLjU3MSA0IDQgMCAwIDAtMi41MjUgNS43NzEiIC8+CiAgPHBhdGggZD0iTTE3Ljk5OCA1LjEyNWE0IDQgMCAwIDEgMi41MjUgNS43NzEiIC8+CiAgPHBhdGggZD0iTTE5LjUwNSAxMC4yOTRhNCA0IDAgMCAxLTEuNSA3LjcwNiIgLz4KICA8cGF0aCBkPSJNNC4wMzIgMTcuNDgzQTQgNCAwIDAgMCAxMS40NjQgMjBjLjE4LS4zMTEuODkyLS4zMTEgMS4wNzIgMGE0IDQgMCAwIDAgNy40MzItMi41MTYiIC8+CiAgPHBhdGggZD0iTTQuNSAxMC4yOTFBNCA0IDAgMCAwIDYgMTgiIC8+CiAgPHBhdGggZD0iTTYuMDAyIDUuMTI1YTMgMyAwIDAgMCAuNCAxLjM3NSIgLz4KICA8cGF0aCBkPSJtOS4yMjggMTAuODUyLS45MjMtLjM4MyIgLz4KICA8cGF0aCBkPSJtOS4yMjggMTMuMTQ4LS45MjMuMzgzIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/brain-cog\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBrainCog = /*#__PURE__*/(() => {\n  class LucideBrainCog extends LucideIconBase {\n    static icon = {\n      name: 'brain-cog',\n      size: 24,\n      node: [['path', {\n        d: 'm10.852 14.772-.383.923',\n        key: '11vil6'\n      }], ['path', {\n        d: 'm10.852 9.228-.383-.923',\n        key: '1fjppe'\n      }], ['path', {\n        d: 'm13.148 14.772.382.924',\n        key: 'je3va1'\n      }], ['path', {\n        d: 'm13.531 8.305-.383.923',\n        key: '18epck'\n      }], ['path', {\n        d: 'm14.772 10.852.923-.383',\n        key: 'k9m8cz'\n      }], ['path', {\n        d: 'm14.772 13.148.923.383',\n        key: '1xvhww'\n      }], ['path', {\n        d: 'M17.598 6.5A3 3 0 1 0 12 5a3 3 0 0 0-5.63-1.446 3 3 0 0 0-.368 1.571 4 4 0 0 0-2.525 5.771',\n        key: 'jcbbz1'\n      }], ['path', {\n        d: 'M17.998 5.125a4 4 0 0 1 2.525 5.771',\n        key: '1kkn7e'\n      }], ['path', {\n        d: 'M19.505 10.294a4 4 0 0 1-1.5 7.706',\n        key: '18bmuc'\n      }], ['path', {\n        d: 'M4.032 17.483A4 4 0 0 0 11.464 20c.18-.311.892-.311 1.072 0a4 4 0 0 0 7.432-2.516',\n        key: 'uozx0d'\n      }], ['path', {\n        d: 'M4.5 10.291A4 4 0 0 0 6 18',\n        key: 'whdemb'\n      }], ['path', {\n        d: 'M6.002 5.125a3 3 0 0 0 .4 1.375',\n        key: '1kqy2g'\n      }], ['path', {\n        d: 'm9.228 10.852-.923-.383',\n        key: '1wtb30'\n      }], ['path', {\n        d: 'm9.228 13.148-.923.383',\n        key: '1a830x'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '3',\n        key: '1v7zrd'\n      }]]\n    };\n    icon = signal(LucideBrainCog.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBrainCog_BaseFactory;\n      return function LucideBrainCog_Factory(__ngFactoryType__) {\n        return (ɵLucideBrainCog_BaseFactory || (ɵLucideBrainCog_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBrainCog)))(__ngFactoryType__ || LucideBrainCog);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBrainCog,\n      selectors: [[\"svg\", \"lucideBrainCog\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c229,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBrainCog_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBrainCog_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBrainCog;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Brain\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMThWNSIgLz4KICA8cGF0aCBkPSJNMTUgMTNhNC4xNyA0LjE3IDAgMCAxLTMtNCA0LjE3IDQuMTcgMCAwIDEtMyA0IiAvPgogIDxwYXRoIGQ9Ik0xNy41OTggNi41QTMgMyAwIDEgMCAxMiA1YTMgMyAwIDEgMC01LjU5OCAxLjUiIC8+CiAgPHBhdGggZD0iTTE3Ljk5NyA1LjEyNWE0IDQgMCAwIDEgMi41MjYgNS43NyIgLz4KICA8cGF0aCBkPSJNMTggMThhNCA0IDAgMCAwIDItNy40NjQiIC8+CiAgPHBhdGggZD0iTTE5Ljk2NyAxNy40ODNBNCA0IDAgMSAxIDEyIDE4YTQgNCAwIDEgMS03Ljk2Ny0uNTE3IiAvPgogIDxwYXRoIGQ9Ik02IDE4YTQgNCAwIDAgMS0yLTcuNDY0IiAvPgogIDxwYXRoIGQ9Ik02LjAwMyA1LjEyNWE0IDQgMCAwIDAtMi41MjYgNS43NyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/brain\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBrain = /*#__PURE__*/(() => {\n  class LucideBrain extends LucideIconBase {\n    static icon = {\n      name: 'brain',\n      size: 24,\n      node: [['path', {\n        d: 'M12 18V5',\n        key: 'adv99a'\n      }], ['path', {\n        d: 'M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4',\n        key: '1e3is1'\n      }], ['path', {\n        d: 'M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5',\n        key: '1gqd8o'\n      }], ['path', {\n        d: 'M17.997 5.125a4 4 0 0 1 2.526 5.77',\n        key: 'iwvgf7'\n      }], ['path', {\n        d: 'M18 18a4 4 0 0 0 2-7.464',\n        key: 'efp6ie'\n      }], ['path', {\n        d: 'M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517',\n        key: '1gq6am'\n      }], ['path', {\n        d: 'M6 18a4 4 0 0 1-2-7.464',\n        key: 'k1g0md'\n      }], ['path', {\n        d: 'M6.003 5.125a4 4 0 0 0-2.526 5.77',\n        key: 'q97ue3'\n      }]]\n    };\n    icon = signal(LucideBrain.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBrain_BaseFactory;\n      return function LucideBrain_Factory(__ngFactoryType__) {\n        return (ɵLucideBrain_BaseFactory || (ɵLucideBrain_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBrain)))(__ngFactoryType__ || LucideBrain);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBrain,\n      selectors: [[\"svg\", \"lucideBrain\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c230,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBrain_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBrain_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBrain;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BrickWallFire\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgM3YyLjEwNyIgLz4KICA8cGF0aCBkPSJNMTcgOWMxIDMgMi41IDMuNSAzLjUgNC41QTUgNSAwIDAgMSAyMiAxN2E1IDUgMCAwIDEtMTAgMGMwLS4zIDAtLjYuMS0uOWEyIDIgMCAxIDAgMy4zLTJDMTMgMTEuNSAxNiA5IDE3IDkiIC8+CiAgPHBhdGggZD0iTTIxIDguMjc0VjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgzLjkzOCIgLz4KICA8cGF0aCBkPSJNMyAxNWg1LjI1MyIgLz4KICA8cGF0aCBkPSJNMyA5aDguMjI4IiAvPgogIDxwYXRoIGQ9Ik04IDE1djYiIC8+CiAgPHBhdGggZD0iTTggM3Y2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/brick-wall-fire\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBrickWallFire = /*#__PURE__*/(() => {\n  class LucideBrickWallFire extends LucideIconBase {\n    static icon = {\n      name: 'brick-wall-fire',\n      size: 24,\n      node: [['path', {\n        d: 'M16 3v2.107',\n        key: 'gq8xun'\n      }], ['path', {\n        d: 'M17 9c1 3 2.5 3.5 3.5 4.5A5 5 0 0 1 22 17a5 5 0 0 1-10 0c0-.3 0-.6.1-.9a2 2 0 1 0 3.3-2C13 11.5 16 9 17 9',\n        key: '1l2pih'\n      }], ['path', {\n        d: 'M21 8.274V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.938',\n        key: 'jrnqjp'\n      }], ['path', {\n        d: 'M3 15h5.253',\n        key: 'xqg7rb'\n      }], ['path', {\n        d: 'M3 9h8.228',\n        key: '1ppb70'\n      }], ['path', {\n        d: 'M8 15v6',\n        key: '1stoo3'\n      }], ['path', {\n        d: 'M8 3v6',\n        key: 'vlvjmk'\n      }]]\n    };\n    icon = signal(LucideBrickWallFire.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBrickWallFire_BaseFactory;\n      return function LucideBrickWallFire_Factory(__ngFactoryType__) {\n        return (ɵLucideBrickWallFire_BaseFactory || (ɵLucideBrickWallFire_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBrickWallFire)))(__ngFactoryType__ || LucideBrickWallFire);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBrickWallFire,\n      selectors: [[\"svg\", \"lucideBrickWallFire\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c231,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBrickWallFire_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBrickWallFire_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBrickWallFire;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BookCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCIgLz4KICA8cGF0aCBkPSJtOSA5LjUgMiAyIDQtNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/book-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBookCheck = /*#__PURE__*/(() => {\n  class LucideBookCheck extends LucideIconBase {\n    static icon = {\n      name: 'book-check',\n      size: 24,\n      node: [['path', {\n        d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20',\n        key: 'k3hazp'\n      }], ['path', {\n        d: 'm9 9.5 2 2 4-4',\n        key: '1dth82'\n      }]]\n    };\n    icon = signal(LucideBookCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBookCheck_BaseFactory;\n      return function LucideBookCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideBookCheck_BaseFactory || (ɵLucideBookCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBookCheck)))(__ngFactoryType__ || LucideBookCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBookCheck,\n      selectors: [[\"svg\", \"lucideBookCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c232,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBookCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBookCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBookCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BrickWall\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xMiA5djYiIC8+CiAgPHBhdGggZD0iTTE2IDE1djYiIC8+CiAgPHBhdGggZD0iTTE2IDN2NiIgLz4KICA8cGF0aCBkPSJNMyAxNWgxOCIgLz4KICA8cGF0aCBkPSJNMyA5aDE4IiAvPgogIDxwYXRoIGQ9Ik04IDE1djYiIC8+CiAgPHBhdGggZD0iTTggM3Y2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/brick-wall\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBrickWall = /*#__PURE__*/(() => {\n  class LucideBrickWall extends LucideIconBase {\n    static icon = {\n      name: 'brick-wall',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M12 9v6',\n        key: '199k2o'\n      }], ['path', {\n        d: 'M16 15v6',\n        key: '8rj2es'\n      }], ['path', {\n        d: 'M16 3v6',\n        key: '1j6rpj'\n      }], ['path', {\n        d: 'M3 15h18',\n        key: '5xshup'\n      }], ['path', {\n        d: 'M3 9h18',\n        key: '1pudct'\n      }], ['path', {\n        d: 'M8 15v6',\n        key: '1stoo3'\n      }], ['path', {\n        d: 'M8 3v6',\n        key: 'vlvjmk'\n      }]]\n    };\n    icon = signal(LucideBrickWall.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBrickWall_BaseFactory;\n      return function LucideBrickWall_Factory(__ngFactoryType__) {\n        return (ɵLucideBrickWall_BaseFactory || (ɵLucideBrickWall_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBrickWall)))(__ngFactoryType__ || LucideBrickWall);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBrickWall,\n      selectors: [[\"svg\", \"lucideBrickWall\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c233,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBrickWall_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBrickWall_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBrickWall;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BriefcaseBusiness\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTJoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNiA2VjRhMiAyIDAgMCAwLTItMmgtNGEyIDIgMCAwIDAtMiAydjIiIC8+CiAgPHBhdGggZD0iTTIyIDEzYTE4LjE1IDE4LjE1IDAgMCAxLTIwIDAiIC8+CiAgPHJlY3Qgd2lkdGg9IjIwIiBoZWlnaHQ9IjE0IiB4PSIyIiB5PSI2IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/briefcase-business\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBriefcaseBusiness = /*#__PURE__*/(() => {\n  class LucideBriefcaseBusiness extends LucideIconBase {\n    static icon = {\n      name: 'briefcase-business',\n      size: 24,\n      node: [['path', {\n        d: 'M12 12h.01',\n        key: '1mp3jc'\n      }], ['path', {\n        d: 'M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2',\n        key: '1ksdt3'\n      }], ['path', {\n        d: 'M22 13a18.15 18.15 0 0 1-20 0',\n        key: '12hx5q'\n      }], ['rect', {\n        width: '20',\n        height: '14',\n        x: '2',\n        y: '6',\n        rx: '2',\n        key: 'i6l2r4'\n      }]]\n    };\n    icon = signal(LucideBriefcaseBusiness.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBriefcaseBusiness_BaseFactory;\n      return function LucideBriefcaseBusiness_Factory(__ngFactoryType__) {\n        return (ɵLucideBriefcaseBusiness_BaseFactory || (ɵLucideBriefcaseBusiness_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBriefcaseBusiness)))(__ngFactoryType__ || LucideBriefcaseBusiness);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBriefcaseBusiness,\n      selectors: [[\"svg\", \"lucideBriefcaseBusiness\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c234,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBriefcaseBusiness_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBriefcaseBusiness_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBriefcaseBusiness;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BriefcaseConveyorBelt\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMjB2MiIgLz4KICA8cGF0aCBkPSJNMTQgMjB2MiIgLz4KICA8cGF0aCBkPSJNMTggMjB2MiIgLz4KICA8cGF0aCBkPSJNMjEgMjBIMyIgLz4KICA8cGF0aCBkPSJNNiAyMHYyIiAvPgogIDxwYXRoIGQ9Ik04IDE2VjRhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MTIiIC8+CiAgPHJlY3QgeD0iNCIgeT0iNiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjEwIiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/briefcase-conveyor-belt\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBriefcaseConveyorBelt = /*#__PURE__*/(() => {\n  class LucideBriefcaseConveyorBelt extends LucideIconBase {\n    static icon = {\n      name: 'briefcase-conveyor-belt',\n      size: 24,\n      node: [['path', {\n        d: 'M10 20v2',\n        key: '1n8e1g'\n      }], ['path', {\n        d: 'M14 20v2',\n        key: '1lq872'\n      }], ['path', {\n        d: 'M18 20v2',\n        key: '10uadw'\n      }], ['path', {\n        d: 'M21 20H3',\n        key: 'kdqkdp'\n      }], ['path', {\n        d: 'M6 20v2',\n        key: 'a9bc87'\n      }], ['path', {\n        d: 'M8 16V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v12',\n        key: '17n9tx'\n      }], ['rect', {\n        x: '4',\n        y: '6',\n        width: '16',\n        height: '10',\n        rx: '2',\n        key: '1097i5'\n      }]]\n    };\n    icon = signal(LucideBriefcaseConveyorBelt.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBriefcaseConveyorBelt_BaseFactory;\n      return function LucideBriefcaseConveyorBelt_Factory(__ngFactoryType__) {\n        return (ɵLucideBriefcaseConveyorBelt_BaseFactory || (ɵLucideBriefcaseConveyorBelt_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBriefcaseConveyorBelt)))(__ngFactoryType__ || LucideBriefcaseConveyorBelt);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBriefcaseConveyorBelt,\n      selectors: [[\"svg\", \"lucideBriefcaseConveyorBelt\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c235,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBriefcaseConveyorBelt_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBriefcaseConveyorBelt_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBriefcaseConveyorBelt;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BriefcaseMedical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTF2NCIgLz4KICA8cGF0aCBkPSJNMTQgMTNoLTQiIC8+CiAgPHBhdGggZD0iTTE2IDZWNGEyIDIgMCAwIDAtMi0yaC00YTIgMiAwIDAgMC0yIDJ2MiIgLz4KICA8cGF0aCBkPSJNMTggNnYxNCIgLz4KICA8cGF0aCBkPSJNNiA2djE0IiAvPgogIDxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIxNCIgeD0iMiIgeT0iNiIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/briefcase-medical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBriefcaseMedical = /*#__PURE__*/(() => {\n  class LucideBriefcaseMedical extends LucideIconBase {\n    static icon = {\n      name: 'briefcase-medical',\n      size: 24,\n      node: [['path', {\n        d: 'M12 11v4',\n        key: 'a6ujw6'\n      }], ['path', {\n        d: 'M14 13h-4',\n        key: '1pl8zg'\n      }], ['path', {\n        d: 'M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2',\n        key: '1ksdt3'\n      }], ['path', {\n        d: 'M18 6v14',\n        key: '1mu4gy'\n      }], ['path', {\n        d: 'M6 6v14',\n        key: '1s15cj'\n      }], ['rect', {\n        width: '20',\n        height: '14',\n        x: '2',\n        y: '6',\n        rx: '2',\n        key: 'i6l2r4'\n      }]]\n    };\n    icon = signal(LucideBriefcaseMedical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBriefcaseMedical_BaseFactory;\n      return function LucideBriefcaseMedical_Factory(__ngFactoryType__) {\n        return (ɵLucideBriefcaseMedical_BaseFactory || (ɵLucideBriefcaseMedical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBriefcaseMedical)))(__ngFactoryType__ || LucideBriefcaseMedical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBriefcaseMedical,\n      selectors: [[\"svg\", \"lucideBriefcaseMedical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c236,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBriefcaseMedical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBriefcaseMedical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBriefcaseMedical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BringToFront\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB4PSI4IiB5PSI4IiB3aWR0aD0iOCIgaGVpZ2h0PSI4IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNNCAxMGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDIiIC8+CiAgPHBhdGggZD0iTTE0IDIwYTIgMiAwIDAgMCAyIDJoNGEyIDIgMCAwIDAgMi0ydi00YTIgMiAwIDAgMC0yLTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bring-to-front\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBringToFront = /*#__PURE__*/(() => {\n  class LucideBringToFront extends LucideIconBase {\n    static icon = {\n      name: 'bring-to-front',\n      size: 24,\n      node: [['rect', {\n        x: '8',\n        y: '8',\n        width: '8',\n        height: '8',\n        rx: '2',\n        key: 'yj20xf'\n      }], ['path', {\n        d: 'M4 10a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2',\n        key: '1ltk23'\n      }], ['path', {\n        d: 'M14 20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2',\n        key: '1q24h9'\n      }]]\n    };\n    icon = signal(LucideBringToFront.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBringToFront_BaseFactory;\n      return function LucideBringToFront_Factory(__ngFactoryType__) {\n        return (ɵLucideBringToFront_BaseFactory || (ɵLucideBringToFront_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBringToFront)))(__ngFactoryType__ || LucideBringToFront);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBringToFront,\n      selectors: [[\"svg\", \"lucideBringToFront\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c237,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBringToFront_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBringToFront_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBringToFront;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Briefcase\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMjBWNGEyIDIgMCAwIDAtMi0yaC00YTIgMiAwIDAgMC0yIDJ2MTYiIC8+CiAgPHJlY3Qgd2lkdGg9IjIwIiBoZWlnaHQ9IjE0IiB4PSIyIiB5PSI2IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/briefcase\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBriefcase = /*#__PURE__*/(() => {\n  class LucideBriefcase extends LucideIconBase {\n    static icon = {\n      name: 'briefcase',\n      size: 24,\n      node: [['path', {\n        d: 'M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16',\n        key: 'jecpp'\n      }], ['rect', {\n        width: '20',\n        height: '14',\n        x: '2',\n        y: '6',\n        rx: '2',\n        key: 'i6l2r4'\n      }]]\n    };\n    icon = signal(LucideBriefcase.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBriefcase_BaseFactory;\n      return function LucideBriefcase_Factory(__ngFactoryType__) {\n        return (ɵLucideBriefcase_BaseFactory || (ɵLucideBriefcase_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBriefcase)))(__ngFactoryType__ || LucideBriefcase);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBriefcase,\n      selectors: [[\"svg\", \"lucideBriefcase\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c238,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBriefcase_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBriefcase_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBriefcase;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BrushCleaning\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMjItMS00IiAvPgogIDxwYXRoIGQ9Ik0xOSAxNGExIDEgMCAwIDAgMS0xdi0xYTIgMiAwIDAgMC0yLTJoLTNhMSAxIDAgMCAxLTEtMVY0YTIgMiAwIDAgMC00IDB2NWExIDEgMCAwIDEtMSAxSDZhMiAyIDAgMCAwLTIgMnYxYTEgMSAwIDAgMCAxIDEiIC8+CiAgPHBhdGggZD0iTTE5IDE0SDVsLTEuOTczIDYuNzY3QTEgMSAwIDAgMCA0IDIyaDE2YTEgMSAwIDAgMCAuOTczLTEuMjMzeiIgLz4KICA8cGF0aCBkPSJtOCAyMiAxLTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/brush-cleaning\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBrushCleaning = /*#__PURE__*/(() => {\n  class LucideBrushCleaning extends LucideIconBase {\n    static icon = {\n      name: 'brush-cleaning',\n      size: 24,\n      node: [['path', {\n        d: 'm16 22-1-4',\n        key: '1ow2iv'\n      }], ['path', {\n        d: 'M19 14a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2h-3a1 1 0 0 1-1-1V4a2 2 0 0 0-4 0v5a1 1 0 0 1-1 1H6a2 2 0 0 0-2 2v1a1 1 0 0 0 1 1',\n        key: '11gii7'\n      }], ['path', {\n        d: 'M19 14H5l-1.973 6.767A1 1 0 0 0 4 22h16a1 1 0 0 0 .973-1.233z',\n        key: 'bju7h4'\n      }], ['path', {\n        d: 'm8 22 1-4',\n        key: 's3unb'\n      }]]\n    };\n    icon = signal(LucideBrushCleaning.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBrushCleaning_BaseFactory;\n      return function LucideBrushCleaning_Factory(__ngFactoryType__) {\n        return (ɵLucideBrushCleaning_BaseFactory || (ɵLucideBrushCleaning_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBrushCleaning)))(__ngFactoryType__ || LucideBrushCleaning);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBrushCleaning,\n      selectors: [[\"svg\", \"lucideBrushCleaning\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c239,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBrushCleaning_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBrushCleaning_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBrushCleaning;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Brush\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTEgMTAgMyAzIiAvPgogIDxwYXRoIGQ9Ik02LjUgMjFBMy41IDMuNSAwIDEgMCAzIDE3LjVhMi42MiAyLjYyIDAgMCAxLS43MDggMS43OTJBMSAxIDAgMCAwIDMgMjF6IiAvPgogIDxwYXRoIGQ9Ik05Ljk2OSAxNy4wMzEgMjEuMzc4IDUuNjI0YTEgMSAwIDAgMC0zLjAwMi0zLjAwMkw2Ljk2NyAxNC4wMzEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/brush\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBrush = /*#__PURE__*/(() => {\n  class LucideBrush extends LucideIconBase {\n    static icon = {\n      name: 'brush',\n      size: 24,\n      node: [['path', {\n        d: 'm11 10 3 3',\n        key: 'fzmg1i'\n      }], ['path', {\n        d: 'M6.5 21A3.5 3.5 0 1 0 3 17.5a2.62 2.62 0 0 1-.708 1.792A1 1 0 0 0 3 21z',\n        key: 'p4q2r7'\n      }], ['path', {\n        d: 'M9.969 17.031 21.378 5.624a1 1 0 0 0-3.002-3.002L6.967 14.031',\n        key: 'wy6l02'\n      }]]\n    };\n    icon = signal(LucideBrush.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBrush_BaseFactory;\n      return function LucideBrush_Factory(__ngFactoryType__) {\n        return (ɵLucideBrush_BaseFactory || (ɵLucideBrush_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBrush)))(__ngFactoryType__ || LucideBrush);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBrush,\n      selectors: [[\"svg\", \"lucideBrush\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c240,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBrush_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBrush_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBrush;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BrickWallShield\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgOXYxLjI1OCIgLz4KICA8cGF0aCBkPSJNMTYgM3Y1LjQ2IiAvPgogIDxwYXRoIGQ9Ik0yMSA5LjExOFY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoNS43NSIgLz4KICA8cGF0aCBkPSJNMjIgMTcuNWMwIDIuNDk5LTEuNzUgMy43NDktMy44MyA0LjQ3NGEuNS41IDAgMCAxLS4zMzUtLjAwNWMtMi4wODUtLjcyLTMuODM1LTEuOTctMy44MzUtNC40N1YxNGEuNS41IDAgMCAxIC41LS40OTljMSAwIDIuMjUtLjYgMy4xMi0xLjM2YS42LjYgMCAwIDEgLjc2LS4wMDFjLjg3NS43NjUgMi4xMiAxLjM2IDMuMTIgMS4zNmEuNS41IDAgMCAxIC41LjV6IiAvPgogIDxwYXRoIGQ9Ik0zIDE1aDciIC8+CiAgPHBhdGggZD0iTTMgOWgxMi4xNDIiIC8+CiAgPHBhdGggZD0iTTggMTV2NiIgLz4KICA8cGF0aCBkPSJNOCAzdjYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/brick-wall-shield\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBrickWallShield = /*#__PURE__*/(() => {\n  class LucideBrickWallShield extends LucideIconBase {\n    static icon = {\n      name: 'brick-wall-shield',\n      size: 24,\n      node: [['path', {\n        d: 'M12 9v1.258',\n        key: 'iwpddn'\n      }], ['path', {\n        d: 'M16 3v5.46',\n        key: 'd7ew98'\n      }], ['path', {\n        d: 'M21 9.118V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h5.75',\n        key: '137t5x'\n      }], ['path', {\n        d: 'M22 17.5c0 2.499-1.75 3.749-3.83 4.474a.5.5 0 0 1-.335-.005c-2.085-.72-3.835-1.97-3.835-4.47V14a.5.5 0 0 1 .5-.499c1 0 2.25-.6 3.12-1.36a.6.6 0 0 1 .76-.001c.875.765 2.12 1.36 3.12 1.36a.5.5 0 0 1 .5.5z',\n        key: '16j3tf'\n      }], ['path', {\n        d: 'M3 15h7',\n        key: '1qldh6'\n      }], ['path', {\n        d: 'M3 9h12.142',\n        key: '1yjd6m'\n      }], ['path', {\n        d: 'M8 15v6',\n        key: '1stoo3'\n      }], ['path', {\n        d: 'M8 3v6',\n        key: 'vlvjmk'\n      }]]\n    };\n    icon = signal(LucideBrickWallShield.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBrickWallShield_BaseFactory;\n      return function LucideBrickWallShield_Factory(__ngFactoryType__) {\n        return (ɵLucideBrickWallShield_BaseFactory || (ɵLucideBrickWallShield_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBrickWallShield)))(__ngFactoryType__ || LucideBrickWallShield);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBrickWallShield,\n      selectors: [[\"svg\", \"lucideBrickWallShield\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c241,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBrickWallShield_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBrickWallShield_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBrickWallShield;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bubbles\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNy4wMDEgMTUuMDg1QTEuNSAxLjUgMCAwIDEgOSAxNi41IiAvPgogIDxjaXJjbGUgY3g9IjE4LjUiIGN5PSI4LjUiIHI9IjMuNSIgLz4KICA8Y2lyY2xlIGN4PSI3LjUiIGN5PSIxNi41IiByPSI1LjUiIC8+CiAgPGNpcmNsZSBjeD0iNy41IiBjeT0iNC41IiByPSIyLjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bubbles\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBubbles = /*#__PURE__*/(() => {\n  class LucideBubbles extends LucideIconBase {\n    static icon = {\n      name: 'bubbles',\n      size: 24,\n      node: [['path', {\n        d: 'M7.001 15.085A1.5 1.5 0 0 1 9 16.5',\n        key: 'y44lvh'\n      }], ['circle', {\n        cx: '18.5',\n        cy: '8.5',\n        r: '3.5',\n        key: '1wadoa'\n      }], ['circle', {\n        cx: '7.5',\n        cy: '16.5',\n        r: '5.5',\n        key: '6mdt3g'\n      }], ['circle', {\n        cx: '7.5',\n        cy: '4.5',\n        r: '2.5',\n        key: '637s54'\n      }]]\n    };\n    icon = signal(LucideBubbles.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBubbles_BaseFactory;\n      return function LucideBubbles_Factory(__ngFactoryType__) {\n        return (ɵLucideBubbles_BaseFactory || (ɵLucideBubbles_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBubbles)))(__ngFactoryType__ || LucideBubbles);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBubbles,\n      selectors: [[\"svg\", \"lucideBubbles\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c242,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBubbles_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBubbles_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBubbles;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BugPlay\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTkuNjU1QTYgNiAwIDAgMSA2IDE0di0zYTQgNCAwIDAgMSA0LTRoNGE0IDQgMCAwIDEgNCAzLjk3IiAvPgogIDxwYXRoIGQ9Ik0xNCAxNS4wMDNhMSAxIDAgMCAxIDEuNTE3LS44NTlsNC45OTcgMi45OTdhMSAxIDAgMCAxIDAgMS43MThsLTQuOTk3IDIuOTk3YTEgMSAwIDAgMS0xLjUxNy0uODZ6IiAvPgogIDxwYXRoIGQ9Ik0xNC4xMiAzLjg4IDE2IDIiIC8+CiAgPHBhdGggZD0iTTIxIDVhNCA0IDAgMCAxLTMuNTUgMy45NyIgLz4KICA8cGF0aCBkPSJNMyAyMWE0IDQgMCAwIDEgMy44MS00IiAvPgogIDxwYXRoIGQ9Ik0zIDVhNCA0IDAgMCAwIDMuNTUgMy45NyIgLz4KICA8cGF0aCBkPSJNNiAxM0gyIiAvPgogIDxwYXRoIGQ9Im04IDIgMS44OCAxLjg4IiAvPgogIDxwYXRoIGQ9Ik05IDcuMTNWNmEzIDMgMCAxIDEgNiAwdjEuMTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bug-play\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBugPlay = /*#__PURE__*/(() => {\n  class LucideBugPlay extends LucideIconBase {\n    static icon = {\n      name: 'bug-play',\n      size: 24,\n      node: [['path', {\n        d: 'M10 19.655A6 6 0 0 1 6 14v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 3.97',\n        key: '1gnv52'\n      }], ['path', {\n        d: 'M14 15.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z',\n        key: '1weqy9'\n      }], ['path', {\n        d: 'M14.12 3.88 16 2',\n        key: 'qol33r'\n      }], ['path', {\n        d: 'M21 5a4 4 0 0 1-3.55 3.97',\n        key: '5cxbf6'\n      }], ['path', {\n        d: 'M3 21a4 4 0 0 1 3.81-4',\n        key: '1fjd4g'\n      }], ['path', {\n        d: 'M3 5a4 4 0 0 0 3.55 3.97',\n        key: '1d7oge'\n      }], ['path', {\n        d: 'M6 13H2',\n        key: '82j7cp'\n      }], ['path', {\n        d: 'm8 2 1.88 1.88',\n        key: 'fmnt4t'\n      }], ['path', {\n        d: 'M9 7.13V6a3 3 0 1 1 6 0v1.13',\n        key: '1vgav8'\n      }]]\n    };\n    icon = signal(LucideBugPlay.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBugPlay_BaseFactory;\n      return function LucideBugPlay_Factory(__ngFactoryType__) {\n        return (ɵLucideBugPlay_BaseFactory || (ɵLucideBugPlay_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBugPlay)))(__ngFactoryType__ || LucideBugPlay);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBugPlay,\n      selectors: [[\"svg\", \"lucideBugPlay\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c243,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBugPlay_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBugPlay_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBugPlay;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bug\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjB2LTkiIC8+CiAgPHBhdGggZD0iTTE0IDdhNCA0IDAgMCAxIDQgNHYzYTYgNiAwIDAgMS0xMiAwdi0zYTQgNCAwIDAgMSA0LTR6IiAvPgogIDxwYXRoIGQ9Ik0xNC4xMiAzLjg4IDE2IDIiIC8+CiAgPHBhdGggZD0iTTIxIDIxYTQgNCAwIDAgMC0zLjgxLTQiIC8+CiAgPHBhdGggZD0iTTIxIDVhNCA0IDAgMCAxLTMuNTUgMy45NyIgLz4KICA8cGF0aCBkPSJNMjIgMTNoLTQiIC8+CiAgPHBhdGggZD0iTTMgMjFhNCA0IDAgMCAxIDMuODEtNCIgLz4KICA8cGF0aCBkPSJNMyA1YTQgNCAwIDAgMCAzLjU1IDMuOTciIC8+CiAgPHBhdGggZD0iTTYgMTNIMiIgLz4KICA8cGF0aCBkPSJtOCAyIDEuODggMS44OCIgLz4KICA8cGF0aCBkPSJNOSA3LjEzVjZhMyAzIDAgMSAxIDYgMHYxLjEzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/bug\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBug = /*#__PURE__*/(() => {\n  class LucideBug extends LucideIconBase {\n    static icon = {\n      name: 'bug',\n      size: 24,\n      node: [['path', {\n        d: 'M12 20v-9',\n        key: '1qisl0'\n      }], ['path', {\n        d: 'M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z',\n        key: 'uouzyp'\n      }], ['path', {\n        d: 'M14.12 3.88 16 2',\n        key: 'qol33r'\n      }], ['path', {\n        d: 'M21 21a4 4 0 0 0-3.81-4',\n        key: '1b0z45'\n      }], ['path', {\n        d: 'M21 5a4 4 0 0 1-3.55 3.97',\n        key: '5cxbf6'\n      }], ['path', {\n        d: 'M22 13h-4',\n        key: '1jl80f'\n      }], ['path', {\n        d: 'M3 21a4 4 0 0 1 3.81-4',\n        key: '1fjd4g'\n      }], ['path', {\n        d: 'M3 5a4 4 0 0 0 3.55 3.97',\n        key: '1d7oge'\n      }], ['path', {\n        d: 'M6 13H2',\n        key: '82j7cp'\n      }], ['path', {\n        d: 'm8 2 1.88 1.88',\n        key: 'fmnt4t'\n      }], ['path', {\n        d: 'M9 7.13V6a3 3 0 1 1 6 0v1.13',\n        key: '1vgav8'\n      }]]\n    };\n    icon = signal(LucideBug.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBug_BaseFactory;\n      return function LucideBug_Factory(__ngFactoryType__) {\n        return (ɵLucideBug_BaseFactory || (ɵLucideBug_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBug)))(__ngFactoryType__ || LucideBug);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBug,\n      selectors: [[\"svg\", \"lucideBug\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c244,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBug_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBug_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBug;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Building2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTJoNCIgLz4KICA8cGF0aCBkPSJNMTAgOGg0IiAvPgogIDxwYXRoIGQ9Ik0xNCAyMXYtM2EyIDIgMCAwIDAtNCAwdjMiIC8+CiAgPHBhdGggZD0iTTYgMTBINGEyIDIgMCAwIDAtMiAydjdhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0yVjlhMiAyIDAgMCAwLTItMmgtMiIgLz4KICA8cGF0aCBkPSJNNiAyMVY1YTIgMiAwIDAgMSAyLTJoOGEyIDIgMCAwIDEgMiAydjE2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/building-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBuilding2 = /*#__PURE__*/(() => {\n  class LucideBuilding2 extends LucideIconBase {\n    static icon = {\n      name: 'building-2',\n      size: 24,\n      node: [['path', {\n        d: 'M10 12h4',\n        key: 'a56b0p'\n      }], ['path', {\n        d: 'M10 8h4',\n        key: '1sr2af'\n      }], ['path', {\n        d: 'M14 21v-3a2 2 0 0 0-4 0v3',\n        key: '1rgiei'\n      }], ['path', {\n        d: 'M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2',\n        key: 'secmi2'\n      }], ['path', {\n        d: 'M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16',\n        key: '16ra0t'\n      }]]\n    };\n    icon = signal(LucideBuilding2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBuilding2_BaseFactory;\n      return function LucideBuilding2_Factory(__ngFactoryType__) {\n        return (ɵLucideBuilding2_BaseFactory || (ɵLucideBuilding2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBuilding2)))(__ngFactoryType__ || LucideBuilding2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBuilding2,\n      selectors: [[\"svg\", \"lucideBuilding2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c245,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBuilding2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBuilding2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBuilding2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Building\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTBoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMiAxNGguMDEiIC8+CiAgPHBhdGggZD0iTTEyIDZoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNiAxMGguMDEiIC8+CiAgPHBhdGggZD0iTTE2IDE0aC4wMSIgLz4KICA8cGF0aCBkPSJNMTYgNmguMDEiIC8+CiAgPHBhdGggZD0iTTggMTBoLjAxIiAvPgogIDxwYXRoIGQ9Ik04IDE0aC4wMSIgLz4KICA8cGF0aCBkPSJNOCA2aC4wMSIgLz4KICA8cGF0aCBkPSJNOSAyMnYtM2ExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXYzIiAvPgogIDxyZWN0IHg9IjQiIHk9IjIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIyMCIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/building\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBuilding = /*#__PURE__*/(() => {\n  class LucideBuilding extends LucideIconBase {\n    static icon = {\n      name: 'building',\n      size: 24,\n      node: [['path', {\n        d: 'M12 10h.01',\n        key: '1nrarc'\n      }], ['path', {\n        d: 'M12 14h.01',\n        key: '1etili'\n      }], ['path', {\n        d: 'M12 6h.01',\n        key: '1vi96p'\n      }], ['path', {\n        d: 'M16 10h.01',\n        key: '1m94wz'\n      }], ['path', {\n        d: 'M16 14h.01',\n        key: '1gbofw'\n      }], ['path', {\n        d: 'M16 6h.01',\n        key: '1x0f13'\n      }], ['path', {\n        d: 'M8 10h.01',\n        key: '19clt8'\n      }], ['path', {\n        d: 'M8 14h.01',\n        key: '6423bh'\n      }], ['path', {\n        d: 'M8 6h.01',\n        key: '1dz90k'\n      }], ['path', {\n        d: 'M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3',\n        key: 'cabbwy'\n      }], ['rect', {\n        x: '4',\n        y: '2',\n        width: '16',\n        height: '20',\n        rx: '2',\n        key: '1uxh74'\n      }]]\n    };\n    icon = signal(LucideBuilding.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBuilding_BaseFactory;\n      return function LucideBuilding_Factory(__ngFactoryType__) {\n        return (ɵLucideBuilding_BaseFactory || (ɵLucideBuilding_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBuilding)))(__ngFactoryType__ || LucideBuilding);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBuilding,\n      selectors: [[\"svg\", \"lucideBuilding\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c246,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBuilding_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBuilding_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBuilding;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BusFront\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCA2IDIgNyIgLz4KICA8cGF0aCBkPSJNMTAgNmg0IiAvPgogIDxwYXRoIGQ9Im0yMiA3LTItMSIgLz4KICA8cmVjdCB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHg9IjQiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik00IDExaDE2IiAvPgogIDxwYXRoIGQ9Ik04IDE1aC4wMSIgLz4KICA8cGF0aCBkPSJNMTYgMTVoLjAxIiAvPgogIDxwYXRoIGQ9Ik02IDE5djIiIC8+CiAgPHBhdGggZD0iTTE4IDIxdi0yIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/bus-front\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBusFront = /*#__PURE__*/(() => {\n  class LucideBusFront extends LucideIconBase {\n    static icon = {\n      name: 'bus-front',\n      size: 24,\n      node: [['path', {\n        d: 'M4 6 2 7',\n        key: '1mqr15'\n      }], ['path', {\n        d: 'M10 6h4',\n        key: '1itunk'\n      }], ['path', {\n        d: 'm22 7-2-1',\n        key: '1umjhc'\n      }], ['rect', {\n        width: '16',\n        height: '16',\n        x: '4',\n        y: '3',\n        rx: '2',\n        key: '1wxw4b'\n      }], ['path', {\n        d: 'M4 11h16',\n        key: 'mpoxn0'\n      }], ['path', {\n        d: 'M8 15h.01',\n        key: 'a7atzg'\n      }], ['path', {\n        d: 'M16 15h.01',\n        key: 'rnfrdf'\n      }], ['path', {\n        d: 'M6 19v2',\n        key: '1loha6'\n      }], ['path', {\n        d: 'M18 21v-2',\n        key: 'sqyl04'\n      }]]\n    };\n    icon = signal(LucideBusFront.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBusFront_BaseFactory;\n      return function LucideBusFront_Factory(__ngFactoryType__) {\n        return (ɵLucideBusFront_BaseFactory || (ɵLucideBusFront_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBusFront)))(__ngFactoryType__ || LucideBusFront);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBusFront,\n      selectors: [[\"svg\", \"lucideBusFront\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c247,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBusFront_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBusFront_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBusFront;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CableCar\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgM2guMDEiIC8+CiAgPHBhdGggZD0iTTE0IDJoLjAxIiAvPgogIDxwYXRoIGQ9Im0yIDkgMjAtNSIgLz4KICA8cGF0aCBkPSJNMTIgMTJWNi41IiAvPgogIDxyZWN0IHdpZHRoPSIxNiIgaGVpZ2h0PSIxMCIgeD0iNCIgeT0iMTIiIHJ4PSIzIiAvPgogIDxwYXRoIGQ9Ik05IDEydjUiIC8+CiAgPHBhdGggZD0iTTE1IDEydjUiIC8+CiAgPHBhdGggZD0iTTQgMTdoMTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cable-car\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCableCar = /*#__PURE__*/(() => {\n  class LucideCableCar extends LucideIconBase {\n    static icon = {\n      name: 'cable-car',\n      size: 24,\n      node: [['path', {\n        d: 'M10 3h.01',\n        key: 'lbucoy'\n      }], ['path', {\n        d: 'M14 2h.01',\n        key: '1k8aa1'\n      }], ['path', {\n        d: 'm2 9 20-5',\n        key: '1kz0j5'\n      }], ['path', {\n        d: 'M12 12V6.5',\n        key: '1vbrij'\n      }], ['rect', {\n        width: '16',\n        height: '10',\n        x: '4',\n        y: '12',\n        rx: '3',\n        key: 'if91er'\n      }], ['path', {\n        d: 'M9 12v5',\n        key: '3anwtq'\n      }], ['path', {\n        d: 'M15 12v5',\n        key: '5xh3zn'\n      }], ['path', {\n        d: 'M4 17h16',\n        key: 'g4d7ey'\n      }]]\n    };\n    icon = signal(LucideCableCar.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCableCar_BaseFactory;\n      return function LucideCableCar_Factory(__ngFactoryType__) {\n        return (ɵLucideCableCar_BaseFactory || (ɵLucideCableCar_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCableCar)))(__ngFactoryType__ || LucideCableCar);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCableCar,\n      selectors: [[\"svg\", \"lucideCableCar\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c248,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCableCar_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCableCar_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCableCar;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name BugOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjB2LTgiIC8+CiAgPHBhdGggZD0iTTEyLjY1NiA3SDE0YTQgNCAwIDAgMSA0IDR2MS4zNDQiIC8+CiAgPHBhdGggZD0iTTE0LjEyIDMuODggMTYgMiIgLz4KICA8cGF0aCBkPSJNMTcuMTIzIDE3LjEyM0E2IDYgMCAwIDEgNiAxNHYtM2E0IDQgMCAwIDEgMS43Mi0zLjI4NyIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik0yMSA1YTQgNCAwIDAgMS0zLjU1IDMuOTciIC8+CiAgPHBhdGggZD0iTTIyIDEzaC0zLjM0NCIgLz4KICA8cGF0aCBkPSJNMyAyMWE0IDQgMCAwIDEgMy44MS00IiAvPgogIDxwYXRoIGQ9Ik0zIDVhNCA0IDAgMCAwIDMuNTUgMy45NyIgLz4KICA8cGF0aCBkPSJNNiAxM0gyIiAvPgogIDxwYXRoIGQ9Im04IDIgMS44OCAxLjg4IiAvPgogIDxwYXRoIGQ9Ik05LjcxMiA0LjA2QTMgMyAwIDAgMSAxNSA2djEuMTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bug-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBugOff = /*#__PURE__*/(() => {\n  class LucideBugOff extends LucideIconBase {\n    static icon = {\n      name: 'bug-off',\n      size: 24,\n      node: [['path', {\n        d: 'M12 20v-8',\n        key: 'i3yub9'\n      }], ['path', {\n        d: 'M12.656 7H14a4 4 0 0 1 4 4v1.344',\n        key: 'vvueyn'\n      }], ['path', {\n        d: 'M14.12 3.88 16 2',\n        key: 'qol33r'\n      }], ['path', {\n        d: 'M17.123 17.123A6 6 0 0 1 6 14v-3a4 4 0 0 1 1.72-3.287',\n        key: '1cu21y'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M21 5a4 4 0 0 1-3.55 3.97',\n        key: '5cxbf6'\n      }], ['path', {\n        d: 'M22 13h-3.344',\n        key: 'qb08am'\n      }], ['path', {\n        d: 'M3 21a4 4 0 0 1 3.81-4',\n        key: '1fjd4g'\n      }], ['path', {\n        d: 'M3 5a4 4 0 0 0 3.55 3.97',\n        key: '1d7oge'\n      }], ['path', {\n        d: 'M6 13H2',\n        key: '82j7cp'\n      }], ['path', {\n        d: 'm8 2 1.88 1.88',\n        key: 'fmnt4t'\n      }], ['path', {\n        d: 'M9.712 4.06A3 3 0 0 1 15 6v1.13',\n        key: '1bvup6'\n      }]]\n    };\n    icon = signal(LucideBugOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBugOff_BaseFactory;\n      return function LucideBugOff_Factory(__ngFactoryType__) {\n        return (ɵLucideBugOff_BaseFactory || (ɵLucideBugOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBugOff)))(__ngFactoryType__ || LucideBugOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBugOff,\n      selectors: [[\"svg\", \"lucideBugOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c249,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBugOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBugOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBugOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cable\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgMTlhMSAxIDAgMCAxLTEtMXYtMmEyIDIgMCAwIDEgMi0yaDJhMiAyIDAgMCAxIDIgMnYyYTEgMSAwIDAgMS0xIDF6IiAvPgogIDxwYXRoIGQ9Ik0xNyAyMXYtMiIgLz4KICA8cGF0aCBkPSJNMTkgMTRWNi41YTEgMSAwIDAgMC03IDB2MTFhMSAxIDAgMCAxLTcgMFYxMCIgLz4KICA8cGF0aCBkPSJNMjEgMjF2LTIiIC8+CiAgPHBhdGggZD0iTTMgNVYzIiAvPgogIDxwYXRoIGQ9Ik00IDEwYTIgMiAwIDAgMS0yLTJWNmExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXYyYTIgMiAwIDAgMS0yIDJ6IiAvPgogIDxwYXRoIGQ9Ik03IDVWMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cable\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCable = /*#__PURE__*/(() => {\n  class LucideCable extends LucideIconBase {\n    static icon = {\n      name: 'cable',\n      size: 24,\n      node: [['path', {\n        d: 'M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z',\n        key: 'trhst0'\n      }], ['path', {\n        d: 'M17 21v-2',\n        key: 'ds4u3f'\n      }], ['path', {\n        d: 'M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10',\n        key: '1mo9zo'\n      }], ['path', {\n        d: 'M21 21v-2',\n        key: 'eo0ou'\n      }], ['path', {\n        d: 'M3 5V3',\n        key: '1k5hjh'\n      }], ['path', {\n        d: 'M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z',\n        key: '1dd30t'\n      }], ['path', {\n        d: 'M7 5V3',\n        key: '1t1388'\n      }]]\n    };\n    icon = signal(LucideCable.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCable_BaseFactory;\n      return function LucideCable_Factory(__ngFactoryType__) {\n        return (ɵLucideCable_BaseFactory || (ɵLucideCable_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCable)))(__ngFactoryType__ || LucideCable);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCable,\n      selectors: [[\"svg\", \"lucideCable\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c250,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCable_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCable_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCable;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Bus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCA2djYiIC8+CiAgPHBhdGggZD0iTTE1IDZ2NiIgLz4KICA8cGF0aCBkPSJNMiAxMmgxOS42IiAvPgogIDxwYXRoIGQ9Ik0xOCAxOGgzcy41LTEuNy44LTIuOGMuMS0uNC4yLS44LjItMS4yIDAtLjQtLjEtLjgtLjItMS4ybC0xLjQtNUMyMC4xIDYuOCAxOS4xIDYgMTggNkg0YTIgMiAwIDAgMC0yIDJ2MTBoMyIgLz4KICA8Y2lyY2xlIGN4PSI3IiBjeT0iMTgiIHI9IjIiIC8+CiAgPHBhdGggZD0iTTkgMThoNSIgLz4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjE4IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/bus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideBus = /*#__PURE__*/(() => {\n  class LucideBus extends LucideIconBase {\n    static icon = {\n      name: 'bus',\n      size: 24,\n      node: [['path', {\n        d: 'M8 6v6',\n        key: '18i7km'\n      }], ['path', {\n        d: 'M15 6v6',\n        key: '1sg6z9'\n      }], ['path', {\n        d: 'M2 12h19.6',\n        key: 'de5uta'\n      }], ['path', {\n        d: 'M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3',\n        key: '1wwztk'\n      }], ['circle', {\n        cx: '7',\n        cy: '18',\n        r: '2',\n        key: '19iecd'\n      }], ['path', {\n        d: 'M9 18h5',\n        key: 'lrx6i'\n      }], ['circle', {\n        cx: '16',\n        cy: '18',\n        r: '2',\n        key: '1v4tcr'\n      }]]\n    };\n    icon = signal(LucideBus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideBus_BaseFactory;\n      return function LucideBus_Factory(__ngFactoryType__) {\n        return (ɵLucideBus_BaseFactory || (ɵLucideBus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideBus)))(__ngFactoryType__ || LucideBus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideBus,\n      selectors: [[\"svg\", \"lucideBus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c251,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideBus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideBus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideBus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Calculator\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTYiIGhlaWdodD0iMjAiIHg9IjQiIHk9IjIiIHJ4PSIyIiAvPgogIDxsaW5lIHgxPSI4IiB4Mj0iMTYiIHkxPSI2IiB5Mj0iNiIgLz4KICA8bGluZSB4MT0iMTYiIHgyPSIxNiIgeTE9IjE0IiB5Mj0iMTgiIC8+CiAgPHBhdGggZD0iTTE2IDEwaC4wMSIgLz4KICA8cGF0aCBkPSJNMTIgMTBoLjAxIiAvPgogIDxwYXRoIGQ9Ik04IDEwaC4wMSIgLz4KICA8cGF0aCBkPSJNMTIgMTRoLjAxIiAvPgogIDxwYXRoIGQ9Ik04IDE0aC4wMSIgLz4KICA8cGF0aCBkPSJNMTIgMThoLjAxIiAvPgogIDxwYXRoIGQ9Ik04IDE4aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/calculator\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalculator = /*#__PURE__*/(() => {\n  class LucideCalculator extends LucideIconBase {\n    static icon = {\n      name: 'calculator',\n      size: 24,\n      node: [['rect', {\n        width: '16',\n        height: '20',\n        x: '4',\n        y: '2',\n        rx: '2',\n        key: '1nb95v'\n      }], ['line', {\n        x1: '8',\n        x2: '16',\n        y1: '6',\n        y2: '6',\n        key: 'x4nwl0'\n      }], ['line', {\n        x1: '16',\n        x2: '16',\n        y1: '14',\n        y2: '18',\n        key: 'wjye3r'\n      }], ['path', {\n        d: 'M16 10h.01',\n        key: '1m94wz'\n      }], ['path', {\n        d: 'M12 10h.01',\n        key: '1nrarc'\n      }], ['path', {\n        d: 'M8 10h.01',\n        key: '19clt8'\n      }], ['path', {\n        d: 'M12 14h.01',\n        key: '1etili'\n      }], ['path', {\n        d: 'M8 14h.01',\n        key: '6423bh'\n      }], ['path', {\n        d: 'M12 18h.01',\n        key: 'mhygvu'\n      }], ['path', {\n        d: 'M8 18h.01',\n        key: 'lrp35t'\n      }]]\n    };\n    icon = signal(LucideCalculator.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalculator_BaseFactory;\n      return function LucideCalculator_Factory(__ngFactoryType__) {\n        return (ɵLucideCalculator_BaseFactory || (ɵLucideCalculator_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalculator)))(__ngFactoryType__ || LucideCalculator);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalculator,\n      selectors: [[\"svg\", \"lucideCalculator\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c252,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalculator_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalculator_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalculator;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CakeSlice\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTNIMyIgLz4KICA8cGF0aCBkPSJNMTYgMTdIMyIgLz4KICA8cGF0aCBkPSJtNy4yIDcuOS0zLjM4OCAyLjVBMiAyIDAgMCAwIDMgMTIuMDFWMjBhMSAxIDAgMCAwIDEgMWgxNmExIDEgMCAwIDAgMS0xdi04LjY1NGMwLTItMi40NC02LjAyNi02LjQ0LTguMDI2YTEgMSAwIDAgMC0xLjA4Mi4wNTdMMTAuNCA1LjYiIC8+CiAgPGNpcmNsZSBjeD0iOSIgY3k9IjciIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cake-slice\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCakeSlice = /*#__PURE__*/(() => {\n  class LucideCakeSlice extends LucideIconBase {\n    static icon = {\n      name: 'cake-slice',\n      size: 24,\n      node: [['path', {\n        d: 'M16 13H3',\n        key: '1wpj08'\n      }], ['path', {\n        d: 'M16 17H3',\n        key: '3lvfcd'\n      }], ['path', {\n        d: 'm7.2 7.9-3.388 2.5A2 2 0 0 0 3 12.01V20a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-8.654c0-2-2.44-6.026-6.44-8.026a1 1 0 0 0-1.082.057L10.4 5.6',\n        key: '1gmhf7'\n      }], ['circle', {\n        cx: '9',\n        cy: '7',\n        r: '2',\n        key: '1305pl'\n      }]]\n    };\n    icon = signal(LucideCakeSlice.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCakeSlice_BaseFactory;\n      return function LucideCakeSlice_Factory(__ngFactoryType__) {\n        return (ɵLucideCakeSlice_BaseFactory || (ɵLucideCakeSlice_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCakeSlice)))(__ngFactoryType__ || LucideCakeSlice);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCakeSlice,\n      selectors: [[\"svg\", \"lucideCakeSlice\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c253,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCakeSlice_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCakeSlice_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCakeSlice;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Calendar1\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTRoMXY0IiAvPgogIDxwYXRoIGQ9Ik0xNiAydjQiIC8+CiAgPHBhdGggZD0iTTMgMTBoMTgiIC8+CiAgPHBhdGggZD0iTTggMnY0IiAvPgogIDxyZWN0IHg9IjMiIHk9IjQiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/calendar-1\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendar1 = /*#__PURE__*/(() => {\n  class LucideCalendar1 extends LucideIconBase {\n    static icon = {\n      name: 'calendar-1',\n      size: 24,\n      node: [['path', {\n        d: 'M11 14h1v4',\n        key: 'fy54vd'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['rect', {\n        x: '3',\n        y: '4',\n        width: '18',\n        height: '18',\n        rx: '2',\n        key: '12vinp'\n      }]]\n    };\n    icon = signal(LucideCalendar1.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendar1_BaseFactory;\n      return function LucideCalendar1_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendar1_BaseFactory || (ɵLucideCalendar1_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendar1)))(__ngFactoryType__ || LucideCalendar1);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendar1,\n      selectors: [[\"svg\", \"lucideCalendar1\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c254,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendar1_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendar1_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendar1;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarArrowDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQgMTggNCA0IDQtNCIgLz4KICA8cGF0aCBkPSJNMTYgMnY0IiAvPgogIDxwYXRoIGQ9Ik0xOCAxNHY4IiAvPgogIDxwYXRoIGQ9Ik0yMSAxMS4zNTRWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDcuMzQzIiAvPgogIDxwYXRoIGQ9Ik0zIDEwaDE4IiAvPgogIDxwYXRoIGQ9Ik04IDJ2NCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/calendar-arrow-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarArrowDown = /*#__PURE__*/(() => {\n  class LucideCalendarArrowDown extends LucideIconBase {\n    static icon = {\n      name: 'calendar-arrow-down',\n      size: 24,\n      node: [['path', {\n        d: 'm14 18 4 4 4-4',\n        key: '1waygx'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'M18 14v8',\n        key: 'irew45'\n      }], ['path', {\n        d: 'M21 11.354V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.343',\n        key: 'bse4f3'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }]]\n    };\n    icon = signal(LucideCalendarArrowDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarArrowDown_BaseFactory;\n      return function LucideCalendarArrowDown_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarArrowDown_BaseFactory || (ɵLucideCalendarArrowDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarArrowDown)))(__ngFactoryType__ || LucideCalendarArrowDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarArrowDown,\n      selectors: [[\"svg\", \"lucideCalendarArrowDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c255,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarArrowDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarArrowDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarArrowDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarArrowUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQgMTggNC00IDQgNCIgLz4KICA8cGF0aCBkPSJNMTYgMnY0IiAvPgogIDxwYXRoIGQ9Ik0xOCAyMnYtOCIgLz4KICA8cGF0aCBkPSJNMjEgMTEuMzQzVjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg5IiAvPgogIDxwYXRoIGQ9Ik0zIDEwaDE4IiAvPgogIDxwYXRoIGQ9Ik04IDJ2NCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/calendar-arrow-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarArrowUp = /*#__PURE__*/(() => {\n  class LucideCalendarArrowUp extends LucideIconBase {\n    static icon = {\n      name: 'calendar-arrow-up',\n      size: 24,\n      node: [['path', {\n        d: 'm14 18 4-4 4 4',\n        key: 'ftkppy'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'M18 22v-8',\n        key: 'su0gjh'\n      }], ['path', {\n        d: 'M21 11.343V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h9',\n        key: '1exg90'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }]]\n    };\n    icon = signal(LucideCalendarArrowUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarArrowUp_BaseFactory;\n      return function LucideCalendarArrowUp_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarArrowUp_BaseFactory || (ɵLucideCalendarArrowUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarArrowUp)))(__ngFactoryType__ || LucideCalendarArrowUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarArrowUp,\n      selectors: [[\"svg\", \"lucideCalendarArrowUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c256,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarArrowUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarArrowUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarArrowUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarCheck2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAydjQiIC8+CiAgPHBhdGggZD0iTTE2IDJ2NCIgLz4KICA8cGF0aCBkPSJNMjEgMTRWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDgiIC8+CiAgPHBhdGggZD0iTTMgMTBoMTgiIC8+CiAgPHBhdGggZD0ibTE2IDIwIDIgMiA0LTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/calendar-check-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarCheck2 = /*#__PURE__*/(() => {\n  class LucideCalendarCheck2 extends LucideIconBase {\n    static icon = {\n      name: 'calendar-check-2',\n      size: 24,\n      node: [['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'M21 14V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8',\n        key: 'bce9hv'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'm16 20 2 2 4-4',\n        key: '13tcca'\n      }]]\n    };\n    icon = signal(LucideCalendarCheck2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarCheck2_BaseFactory;\n      return function LucideCalendarCheck2_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarCheck2_BaseFactory || (ɵLucideCalendarCheck2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarCheck2)))(__ngFactoryType__ || LucideCalendarCheck2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarCheck2,\n      selectors: [[\"svg\", \"lucideCalendarCheck2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c257,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarCheck2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarCheck2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarCheck2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAydjQiIC8+CiAgPHBhdGggZD0iTTE2IDJ2NCIgLz4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDEwaDE4IiAvPgogIDxwYXRoIGQ9Im05IDE2IDIgMiA0LTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/calendar-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarCheck = /*#__PURE__*/(() => {\n  class LucideCalendarCheck extends LucideIconBase {\n    static icon = {\n      name: 'calendar-check',\n      size: 24,\n      node: [['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '4',\n        rx: '2',\n        key: '1hopcy'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'm9 16 2 2 4-4',\n        key: '19s6y9'\n      }]]\n    };\n    icon = signal(LucideCalendarCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarCheck_BaseFactory;\n      return function LucideCalendarCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarCheck_BaseFactory || (ɵLucideCalendarCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarCheck)))(__ngFactoryType__ || LucideCalendarCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarCheck,\n      selectors: [[\"svg\", \"lucideCalendarCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c258,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarClock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTR2Mi4ybDEuNiAxIiAvPgogIDxwYXRoIGQ9Ik0xNiAydjQiIC8+CiAgPHBhdGggZD0iTTIxIDcuNVY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMy41IiAvPgogIDxwYXRoIGQ9Ik0zIDEwaDUiIC8+CiAgPHBhdGggZD0iTTggMnY0IiAvPgogIDxjaXJjbGUgY3g9IjE2IiBjeT0iMTYiIHI9IjYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/calendar-clock\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarClock = /*#__PURE__*/(() => {\n  class LucideCalendarClock extends LucideIconBase {\n    static icon = {\n      name: 'calendar-clock',\n      size: 24,\n      node: [['path', {\n        d: 'M16 14v2.2l1.6 1',\n        key: 'fo4ql5'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5',\n        key: '1osxxc'\n      }], ['path', {\n        d: 'M3 10h5',\n        key: 'r794hk'\n      }], ['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['circle', {\n        cx: '16',\n        cy: '16',\n        r: '6',\n        key: 'qoo3c4'\n      }]]\n    };\n    icon = signal(LucideCalendarClock.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarClock_BaseFactory;\n      return function LucideCalendarClock_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarClock_BaseFactory || (ɵLucideCalendarClock_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarClock)))(__ngFactoryType__ || LucideCalendarClock);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarClock,\n      selectors: [[\"svg\", \"lucideCalendarClock\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c259,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarClock_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarClock_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarClock;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cake\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMjF2LThhMiAyIDAgMCAwLTItMkg2YTIgMiAwIDAgMC0yIDJ2OCIgLz4KICA8cGF0aCBkPSJNNCAxNnMuNS0xIDItMSAyLjUgMiA0IDIgMi41LTIgNC0yIDIuNSAyIDQgMiAyLTEgMi0xIiAvPgogIDxwYXRoIGQ9Ik0yIDIxaDIwIiAvPgogIDxwYXRoIGQ9Ik03IDh2MyIgLz4KICA8cGF0aCBkPSJNMTIgOHYzIiAvPgogIDxwYXRoIGQ9Ik0xNyA4djMiIC8+CiAgPHBhdGggZD0iTTcgNGguMDEiIC8+CiAgPHBhdGggZD0iTTEyIDRoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNyA0aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cake\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCake = /*#__PURE__*/(() => {\n  class LucideCake extends LucideIconBase {\n    static icon = {\n      name: 'cake',\n      size: 24,\n      node: [['path', {\n        d: 'M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8',\n        key: '1w3rig'\n      }], ['path', {\n        d: 'M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1',\n        key: 'n2jgmb'\n      }], ['path', {\n        d: 'M2 21h20',\n        key: '1nyx9w'\n      }], ['path', {\n        d: 'M7 8v3',\n        key: '1qtyvj'\n      }], ['path', {\n        d: 'M12 8v3',\n        key: 'hwp4zt'\n      }], ['path', {\n        d: 'M17 8v3',\n        key: '1i6e5u'\n      }], ['path', {\n        d: 'M7 4h.01',\n        key: '1bh4kh'\n      }], ['path', {\n        d: 'M12 4h.01',\n        key: '1ujb9j'\n      }], ['path', {\n        d: 'M17 4h.01',\n        key: '1upcoc'\n      }]]\n    };\n    icon = signal(LucideCake.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCake_BaseFactory;\n      return function LucideCake_Factory(__ngFactoryType__) {\n        return (ɵLucideCake_BaseFactory || (ɵLucideCake_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCake)))(__ngFactoryType__ || LucideCake);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCake,\n      selectors: [[\"svg\", \"lucideCake\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c260,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCake_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCake_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCake;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarCog\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUuMjI4IDE2Ljg1Mi0uOTIzLS4zODMiIC8+CiAgPHBhdGggZD0ibTE1LjIyOCAxOS4xNDgtLjkyMy4zODMiIC8+CiAgPHBhdGggZD0iTTE2IDJ2NCIgLz4KICA8cGF0aCBkPSJtMTYuNDcgMTQuMzA1LjM4Mi45MjMiIC8+CiAgPHBhdGggZD0ibTE2Ljg1MiAyMC43NzItLjM4My45MjQiIC8+CiAgPHBhdGggZD0ibTE5LjE0OCAxNS4yMjguMzgzLS45MjMiIC8+CiAgPHBhdGggZD0ibTE5LjUzIDIxLjY5Ni0uMzgyLS45MjQiIC8+CiAgPHBhdGggZD0ibTIwLjc3MiAxNi44NTIuOTI0LS4zODMiIC8+CiAgPHBhdGggZD0ibTIwLjc3MiAxOS4xNDguOTI0LjM4MyIgLz4KICA8cGF0aCBkPSJNMjEgMTAuNTkyVjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg2IiAvPgogIDxwYXRoIGQ9Ik0zIDEwaDE4IiAvPgogIDxwYXRoIGQ9Ik04IDJ2NCIgLz4KICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjE4IiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/calendar-cog\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarCog = /*#__PURE__*/(() => {\n  class LucideCalendarCog extends LucideIconBase {\n    static icon = {\n      name: 'calendar-cog',\n      size: 24,\n      node: [['path', {\n        d: 'm15.228 16.852-.923-.383',\n        key: 'npixar'\n      }], ['path', {\n        d: 'm15.228 19.148-.923.383',\n        key: '51cr3n'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'm16.47 14.305.382.923',\n        key: 'obybxd'\n      }], ['path', {\n        d: 'm16.852 20.772-.383.924',\n        key: 'dpfhf9'\n      }], ['path', {\n        d: 'm19.148 15.228.383-.923',\n        key: '1reyyz'\n      }], ['path', {\n        d: 'm19.53 21.696-.382-.924',\n        key: '1goivc'\n      }], ['path', {\n        d: 'm20.772 16.852.924-.383',\n        key: 'htqkph'\n      }], ['path', {\n        d: 'm20.772 19.148.924.383',\n        key: '9w9pjp'\n      }], ['path', {\n        d: 'M21 10.592V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6',\n        key: '1pvbig'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }]]\n    };\n    icon = signal(LucideCalendarCog.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarCog_BaseFactory;\n      return function LucideCalendarCog_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarCog_BaseFactory || (ɵLucideCalendarCog_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarCog)))(__ngFactoryType__ || LucideCalendarCog);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarCog,\n      selectors: [[\"svg\", \"lucideCalendarCog\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c261,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarCog_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarCog_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarCog;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarFold\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAyMGEyIDIgMCAwIDAgMiAyaDEwYTIuNCAyLjQgMCAwIDAgMS43MDYtLjcwNmwzLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDIxIDE2VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ6IiAvPgogIDxwYXRoIGQ9Ik0xNSAyMnYtNWExIDEgMCAwIDEgMS0xaDUiIC8+CiAgPHBhdGggZD0iTTggMnY0IiAvPgogIDxwYXRoIGQ9Ik0xNiAydjQiIC8+CiAgPHBhdGggZD0iTTMgMTBoMTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/calendar-fold\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarFold = /*#__PURE__*/(() => {\n  class LucideCalendarFold extends LucideIconBase {\n    static icon = {\n      name: 'calendar-fold',\n      size: 24,\n      node: [['path', {\n        d: 'M3 20a2 2 0 0 0 2 2h10a2.4 2.4 0 0 0 1.706-.706l3.588-3.588A2.4 2.4 0 0 0 21 16V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2z',\n        key: 'r586nh'\n      }], ['path', {\n        d: 'M15 22v-5a1 1 0 0 1 1-1h5',\n        key: 'xl3app'\n      }], ['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }]]\n    };\n    icon = signal(LucideCalendarFold.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarFold_BaseFactory;\n      return function LucideCalendarFold_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarFold_BaseFactory || (ɵLucideCalendarFold_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarFold)))(__ngFactoryType__ || LucideCalendarFold);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarFold,\n      selectors: [[\"svg\", \"lucideCalendarFold\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c262,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarFold_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarFold_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarFold;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarHeart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuMTI3IDIySDVhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnY1LjEyNSIgLz4KICA8cGF0aCBkPSJNMTQuNjIgMTguOEEyLjI1IDIuMjUgMCAxIDEgMTggMTUuODM2YTIuMjUgMi4yNSAwIDEgMSAzLjM4IDIuOTY2bC0yLjYyNiAyLjg1NmEuOTk4Ljk5OCAwIDAgMS0xLjUwNyAweiIgLz4KICA8cGF0aCBkPSJNMTYgMnY0IiAvPgogIDxwYXRoIGQ9Ik0zIDEwaDE4IiAvPgogIDxwYXRoIGQ9Ik04IDJ2NCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/calendar-heart\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarHeart = /*#__PURE__*/(() => {\n  class LucideCalendarHeart extends LucideIconBase {\n    static icon = {\n      name: 'calendar-heart',\n      size: 24,\n      node: [['path', {\n        d: 'M12.127 22H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v5.125',\n        key: 'vxdnp4'\n      }], ['path', {\n        d: 'M14.62 18.8A2.25 2.25 0 1 1 18 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z',\n        key: '15cy7q'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }]]\n    };\n    icon = signal(LucideCalendarHeart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarHeart_BaseFactory;\n      return function LucideCalendarHeart_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarHeart_BaseFactory || (ɵLucideCalendarHeart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarHeart)))(__ngFactoryType__ || LucideCalendarHeart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarHeart,\n      selectors: [[\"svg\", \"lucideCalendarHeart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c263,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarHeart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarHeart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarHeart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarMinus2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAydjQiIC8+CiAgPHBhdGggZD0iTTE2IDJ2NCIgLz4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDEwaDE4IiAvPgogIDxwYXRoIGQ9Ik0xMCAxNmg0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/calendar-minus-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarMinus2 = /*#__PURE__*/(() => {\n  class LucideCalendarMinus2 extends LucideIconBase {\n    static icon = {\n      name: 'calendar-minus-2',\n      size: 24,\n      node: [['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '4',\n        rx: '2',\n        key: '1hopcy'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'M10 16h4',\n        key: '17e571'\n      }]]\n    };\n    icon = signal(LucideCalendarMinus2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarMinus2_BaseFactory;\n      return function LucideCalendarMinus2_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarMinus2_BaseFactory || (ɵLucideCalendarMinus2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarMinus2)))(__ngFactoryType__ || LucideCalendarMinus2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarMinus2,\n      selectors: [[\"svg\", \"lucideCalendarMinus2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c264,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarMinus2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarMinus2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarMinus2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTloNiIgLz4KICA8cGF0aCBkPSJNMTYgMnY0IiAvPgogIDxwYXRoIGQ9Ik0yMSAxNVY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOC41IiAvPgogIDxwYXRoIGQ9Ik0zIDEwaDE4IiAvPgogIDxwYXRoIGQ9Ik04IDJ2NCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/calendar-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarMinus = /*#__PURE__*/(() => {\n  class LucideCalendarMinus extends LucideIconBase {\n    static icon = {\n      name: 'calendar-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M16 19h6',\n        key: 'xwg31i'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'M21 15V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5',\n        key: '1scpom'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }]]\n    };\n    icon = signal(LucideCalendarMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarMinus_BaseFactory;\n      return function LucideCalendarMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarMinus_BaseFactory || (ɵLucideCalendarMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarMinus)))(__ngFactoryType__ || LucideCalendarMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarMinus,\n      selectors: [[\"svg\", \"lucideCalendarMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c265,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNC4yIDQuMkEyIDIgMCAwIDAgMyA2djE0YTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDEuODItMS4xOCIgLz4KICA8cGF0aCBkPSJNMjEgMTUuNVY2YTIgMiAwIDAgMC0yLTJIOS41IiAvPgogIDxwYXRoIGQ9Ik0xNiAydjQiIC8+CiAgPHBhdGggZD0iTTMgMTBoNyIgLz4KICA8cGF0aCBkPSJNMjEgMTBoLTUuNSIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/calendar-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarOff = /*#__PURE__*/(() => {\n  class LucideCalendarOff extends LucideIconBase {\n    static icon = {\n      name: 'calendar-off',\n      size: 24,\n      node: [['path', {\n        d: 'M4.2 4.2A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18',\n        key: '16swn3'\n      }], ['path', {\n        d: 'M21 15.5V6a2 2 0 0 0-2-2H9.5',\n        key: 'yhw86o'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'M3 10h7',\n        key: '1wap6i'\n      }], ['path', {\n        d: 'M21 10h-5.5',\n        key: 'quycpq'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucideCalendarOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarOff_BaseFactory;\n      return function LucideCalendarOff_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarOff_BaseFactory || (ɵLucideCalendarOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarOff)))(__ngFactoryType__ || LucideCalendarOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarOff,\n      selectors: [[\"svg\", \"lucideCalendarOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c266,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarDays\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAydjQiIC8+CiAgPHBhdGggZD0iTTE2IDJ2NCIgLz4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDEwaDE4IiAvPgogIDxwYXRoIGQ9Ik04IDE0aC4wMSIgLz4KICA8cGF0aCBkPSJNMTIgMTRoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNiAxNGguMDEiIC8+CiAgPHBhdGggZD0iTTggMThoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMiAxOGguMDEiIC8+CiAgPHBhdGggZD0iTTE2IDE4aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/calendar-days\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarDays = /*#__PURE__*/(() => {\n  class LucideCalendarDays extends LucideIconBase {\n    static icon = {\n      name: 'calendar-days',\n      size: 24,\n      node: [['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '4',\n        rx: '2',\n        key: '1hopcy'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'M8 14h.01',\n        key: '6423bh'\n      }], ['path', {\n        d: 'M12 14h.01',\n        key: '1etili'\n      }], ['path', {\n        d: 'M16 14h.01',\n        key: '1gbofw'\n      }], ['path', {\n        d: 'M8 18h.01',\n        key: 'lrp35t'\n      }], ['path', {\n        d: 'M12 18h.01',\n        key: 'mhygvu'\n      }], ['path', {\n        d: 'M16 18h.01',\n        key: 'kzsmim'\n      }]]\n    };\n    icon = signal(LucideCalendarDays.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarDays_BaseFactory;\n      return function LucideCalendarDays_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarDays_BaseFactory || (ɵLucideCalendarDays_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarDays)))(__ngFactoryType__ || LucideCalendarDays);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarDays,\n      selectors: [[\"svg\", \"lucideCalendarDays\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c267,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarDays_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarDays_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarDays;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTloNiIgLz4KICA8cGF0aCBkPSJNMTYgMnY0IiAvPgogIDxwYXRoIGQ9Ik0xOSAxNnY2IiAvPgogIDxwYXRoIGQ9Ik0yMSAxMi41OThWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDguNSIgLz4KICA8cGF0aCBkPSJNMyAxMGgxOCIgLz4KICA8cGF0aCBkPSJNOCAydjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/calendar-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarPlus = /*#__PURE__*/(() => {\n  class LucideCalendarPlus extends LucideIconBase {\n    static icon = {\n      name: 'calendar-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M16 19h6',\n        key: 'xwg31i'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'M19 16v6',\n        key: 'tddt3s'\n      }], ['path', {\n        d: 'M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5',\n        key: '1glfrc'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }]]\n    };\n    icon = signal(LucideCalendarPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarPlus_BaseFactory;\n      return function LucideCalendarPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarPlus_BaseFactory || (ɵLucideCalendarPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarPlus)))(__ngFactoryType__ || LucideCalendarPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarPlus,\n      selectors: [[\"svg\", \"lucideCalendarPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c268,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarPlus2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAydjQiIC8+CiAgPHBhdGggZD0iTTE2IDJ2NCIgLz4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDEwaDE4IiAvPgogIDxwYXRoIGQ9Ik0xMCAxNmg0IiAvPgogIDxwYXRoIGQ9Ik0xMiAxNHY0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/calendar-plus-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarPlus2 = /*#__PURE__*/(() => {\n  class LucideCalendarPlus2 extends LucideIconBase {\n    static icon = {\n      name: 'calendar-plus-2',\n      size: 24,\n      node: [['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '4',\n        rx: '2',\n        key: '1hopcy'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'M10 16h4',\n        key: '17e571'\n      }], ['path', {\n        d: 'M12 14v4',\n        key: '1thi36'\n      }]]\n    };\n    icon = signal(LucideCalendarPlus2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarPlus2_BaseFactory;\n      return function LucideCalendarPlus2_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarPlus2_BaseFactory || (ɵLucideCalendarPlus2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarPlus2)))(__ngFactoryType__ || LucideCalendarPlus2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarPlus2,\n      selectors: [[\"svg\", \"lucideCalendarPlus2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c269,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarPlus2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarPlus2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarPlus2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarSearch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMnY0IiAvPgogIDxwYXRoIGQ9Ik0yMSAxMS43NVY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoNy4yNSIgLz4KICA8cGF0aCBkPSJtMjIgMjItMS44NzUtMS44NzUiIC8+CiAgPHBhdGggZD0iTTMgMTBoMTgiIC8+CiAgPHBhdGggZD0iTTggMnY0IiAvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/calendar-search\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarSearch = /*#__PURE__*/(() => {\n  class LucideCalendarSearch extends LucideIconBase {\n    static icon = {\n      name: 'calendar-search',\n      size: 24,\n      node: [['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'M21 11.75V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.25',\n        key: '1jrsq6'\n      }], ['path', {\n        d: 'm22 22-1.875-1.875',\n        key: '13zax7'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }]]\n    };\n    icon = signal(LucideCalendarSearch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarSearch_BaseFactory;\n      return function LucideCalendarSearch_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarSearch_BaseFactory || (ɵLucideCalendarSearch_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarSearch)))(__ngFactoryType__ || LucideCalendarSearch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarSearch,\n      selectors: [[\"svg\", \"lucideCalendarSearch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c270,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarSearch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarSearch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarSearch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarSync\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTB2NGg0IiAvPgogIDxwYXRoIGQ9Im0xMSAxNCAxLjUzNS0xLjYwNWE1IDUgMCAwIDEgOCAxLjUiIC8+CiAgPHBhdGggZD0iTTE2IDJ2NCIgLz4KICA8cGF0aCBkPSJtMjEgMTgtMS41MzUgMS42MDVhNSA1IDAgMCAxLTgtMS41IiAvPgogIDxwYXRoIGQ9Ik0yMSAyMnYtNGgtNCIgLz4KICA8cGF0aCBkPSJNMjEgOC41VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg0LjMiIC8+CiAgPHBhdGggZD0iTTMgMTBoNCIgLz4KICA8cGF0aCBkPSJNOCAydjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/calendar-sync\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarSync = /*#__PURE__*/(() => {\n  class LucideCalendarSync extends LucideIconBase {\n    static icon = {\n      name: 'calendar-sync',\n      size: 24,\n      node: [['path', {\n        d: 'M11 10v4h4',\n        key: '172dkj'\n      }], ['path', {\n        d: 'm11 14 1.535-1.605a5 5 0 0 1 8 1.5',\n        key: 'vu0qm5'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'm21 18-1.535 1.605a5 5 0 0 1-8-1.5',\n        key: '1qgeyt'\n      }], ['path', {\n        d: 'M21 22v-4h-4',\n        key: 'hrummi'\n      }], ['path', {\n        d: 'M21 8.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h4.3',\n        key: 'mctw84'\n      }], ['path', {\n        d: 'M3 10h4',\n        key: '1el30a'\n      }], ['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }]]\n    };\n    icon = signal(LucideCalendarSync.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarSync_BaseFactory;\n      return function LucideCalendarSync_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarSync_BaseFactory || (ɵLucideCalendarSync_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarSync)))(__ngFactoryType__ || LucideCalendarSync);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarSync,\n      selectors: [[\"svg\", \"lucideCalendarSync\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c271,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarSync_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarSync_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarSync;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarRange\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xNiAydjQiIC8+CiAgPHBhdGggZD0iTTMgMTBoMTgiIC8+CiAgPHBhdGggZD0iTTggMnY0IiAvPgogIDxwYXRoIGQ9Ik0xNyAxNGgtNiIgLz4KICA8cGF0aCBkPSJNMTMgMThINyIgLz4KICA8cGF0aCBkPSJNNyAxNGguMDEiIC8+CiAgPHBhdGggZD0iTTE3IDE4aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/calendar-range\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarRange = /*#__PURE__*/(() => {\n  class LucideCalendarRange extends LucideIconBase {\n    static icon = {\n      name: 'calendar-range',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '4',\n        rx: '2',\n        key: '1hopcy'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['path', {\n        d: 'M17 14h-6',\n        key: 'bkmgh3'\n      }], ['path', {\n        d: 'M13 18H7',\n        key: 'bb0bb7'\n      }], ['path', {\n        d: 'M7 14h.01',\n        key: '1qa3f1'\n      }], ['path', {\n        d: 'M17 18h.01',\n        key: '1bdyru'\n      }]]\n    };\n    icon = signal(LucideCalendarRange.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarRange_BaseFactory;\n      return function LucideCalendarRange_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarRange_BaseFactory || (ɵLucideCalendarRange_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarRange)))(__ngFactoryType__ || LucideCalendarRange);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarRange,\n      selectors: [[\"svg\", \"lucideCalendarRange\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c272,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarRange_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarRange_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarRange;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarX2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAydjQiIC8+CiAgPHBhdGggZD0iTTE2IDJ2NCIgLz4KICA8cGF0aCBkPSJNMjEgMTNWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDgiIC8+CiAgPHBhdGggZD0iTTMgMTBoMTgiIC8+CiAgPHBhdGggZD0ibTE3IDIyIDUtNSIgLz4KICA8cGF0aCBkPSJtMTcgMTcgNSA1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/calendar-x-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarX2 = /*#__PURE__*/(() => {\n  class LucideCalendarX2 extends LucideIconBase {\n    static icon = {\n      name: 'calendar-x-2',\n      size: 24,\n      node: [['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8',\n        key: '3spt84'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'm17 22 5-5',\n        key: '1k6ppv'\n      }], ['path', {\n        d: 'm17 17 5 5',\n        key: 'p7ous7'\n      }]]\n    };\n    icon = signal(LucideCalendarX2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarX2_BaseFactory;\n      return function LucideCalendarX2_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarX2_BaseFactory || (ɵLucideCalendarX2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarX2)))(__ngFactoryType__ || LucideCalendarX2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarX2,\n      selectors: [[\"svg\", \"lucideCalendarX2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c273,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarX2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarX2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarX2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CalendarX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAydjQiIC8+CiAgPHBhdGggZD0iTTE2IDJ2NCIgLz4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDEwaDE4IiAvPgogIDxwYXRoIGQ9Im0xNCAxNC00IDQiIC8+CiAgPHBhdGggZD0ibTEwIDE0IDQgNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/calendar-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendarX = /*#__PURE__*/(() => {\n  class LucideCalendarX extends LucideIconBase {\n    static icon = {\n      name: 'calendar-x',\n      size: 24,\n      node: [['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '4',\n        rx: '2',\n        key: '1hopcy'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }], ['path', {\n        d: 'm14 14-4 4',\n        key: 'rymu2i'\n      }], ['path', {\n        d: 'm10 14 4 4',\n        key: '3sz06r'\n      }]]\n    };\n    icon = signal(LucideCalendarX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendarX_BaseFactory;\n      return function LucideCalendarX_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendarX_BaseFactory || (ɵLucideCalendarX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendarX)))(__ngFactoryType__ || LucideCalendarX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendarX,\n      selectors: [[\"svg\", \"lucideCalendarX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c274,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendarX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendarX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendarX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Calendar\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAydjQiIC8+CiAgPHBhdGggZD0iTTE2IDJ2NCIgLz4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDEwaDE4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/calendar\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendar = /*#__PURE__*/(() => {\n  class LucideCalendar extends LucideIconBase {\n    static icon = {\n      name: 'calendar',\n      size: 24,\n      node: [['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '4',\n        rx: '2',\n        key: '1hopcy'\n      }], ['path', {\n        d: 'M3 10h18',\n        key: '8toen8'\n      }]]\n    };\n    icon = signal(LucideCalendar.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendar_BaseFactory;\n      return function LucideCalendar_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendar_BaseFactory || (ɵLucideCalendar_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendar)))(__ngFactoryType__ || LucideCalendar);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendar,\n      selectors: [[\"svg\", \"lucideCalendar\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c275,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendar_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendar_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendar;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Camera\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuOTk3IDRhMiAyIDAgMCAxIDEuNzYgMS4wNWwuNDg2LjlBMiAyIDAgMCAwIDE4LjAwMyA3SDIwYTIgMiAwIDAgMSAyIDJ2OWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY5YTIgMiAwIDAgMSAyLTJoMS45OTdhMiAyIDAgMCAwIDEuNzU5LTEuMDQ4bC40ODktLjkwNEEyIDIgMCAwIDEgMTAuMDA0IDR6IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTMiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/camera\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCamera = /*#__PURE__*/(() => {\n  class LucideCamera extends LucideIconBase {\n    static icon = {\n      name: 'camera',\n      size: 24,\n      node: [['path', {\n        d: 'M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z',\n        key: '18u6gg'\n      }], ['circle', {\n        cx: '12',\n        cy: '13',\n        r: '3',\n        key: '1vg3eu'\n      }]]\n    };\n    icon = signal(LucideCamera.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCamera_BaseFactory;\n      return function LucideCamera_Factory(__ngFactoryType__) {\n        return (ɵLucideCamera_BaseFactory || (ɵLucideCamera_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCamera)))(__ngFactoryType__ || LucideCamera);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCamera,\n      selectors: [[\"svg\", \"lucideCamera\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c276,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCamera_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCamera_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCamera;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CameraOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQuNTY0IDE0LjU1OGEzIDMgMCAxIDEtNC4xMjItNC4xMjEiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJNMjAgMjBINGEyIDIgMCAwIDEtMi0yVjlhMiAyIDAgMCAxIDItMmgxLjk5N2EyIDIgMCAwIDAgLjgxOS0uMTc1IiAvPgogIDxwYXRoIGQ9Ik05LjY5NSA0LjAyNEEyIDIgMCAwIDEgMTAuMDA0IDRoMy45OTNhMiAyIDAgMCAxIDEuNzYgMS4wNWwuNDg2LjlBMiAyIDAgMCAwIDE4LjAwMyA3SDIwYTIgMiAwIDAgMSAyIDJ2Ny4zNDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/camera-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCameraOff = /*#__PURE__*/(() => {\n  class LucideCameraOff extends LucideIconBase {\n    static icon = {\n      name: 'camera-off',\n      size: 24,\n      node: [['path', {\n        d: 'M14.564 14.558a3 3 0 1 1-4.122-4.121',\n        key: '1rnrzw'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M20 20H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 .819-.175',\n        key: '1x3arw'\n      }], ['path', {\n        d: 'M9.695 4.024A2 2 0 0 1 10.004 4h3.993a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v7.344',\n        key: '1i84u0'\n      }]]\n    };\n    icon = signal(LucideCameraOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCameraOff_BaseFactory;\n      return function LucideCameraOff_Factory(__ngFactoryType__) {\n        return (ɵLucideCameraOff_BaseFactory || (ɵLucideCameraOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCameraOff)))(__ngFactoryType__ || LucideCameraOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCameraOff,\n      selectors: [[\"svg\", \"lucideCameraOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c277,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCameraOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCameraOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCameraOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CandyCane\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNS43IDIxYTIgMiAwIDAgMS0zLjUtMmw4LjYtMTRhNiA2IDAgMCAxIDEwLjQgNiAyIDIgMCAxIDEtMy40NjQtMiAyIDIgMCAxIDAtMy40NjQtMloiIC8+CiAgPHBhdGggZD0iTTE3Ljc1IDcgMTUgMi4xIiAvPgogIDxwYXRoIGQ9Ik0xMC45IDQuOCAxMyA5IiAvPgogIDxwYXRoIGQ9Im03LjkgOS43IDIgNC40IiAvPgogIDxwYXRoIGQ9Ik00LjkgMTQuNyA3IDE4LjkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/candy-cane\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCandyCane = /*#__PURE__*/(() => {\n  class LucideCandyCane extends LucideIconBase {\n    static icon = {\n      name: 'candy-cane',\n      size: 24,\n      node: [['path', {\n        d: 'M5.7 21a2 2 0 0 1-3.5-2l8.6-14a6 6 0 0 1 10.4 6 2 2 0 1 1-3.464-2 2 2 0 1 0-3.464-2Z',\n        key: 'isaq8g'\n      }], ['path', {\n        d: 'M17.75 7 15 2.1',\n        key: '12x7e8'\n      }], ['path', {\n        d: 'M10.9 4.8 13 9',\n        key: '100a87'\n      }], ['path', {\n        d: 'm7.9 9.7 2 4.4',\n        key: 'ntfhaj'\n      }], ['path', {\n        d: 'M4.9 14.7 7 18.9',\n        key: '1x43jy'\n      }]]\n    };\n    icon = signal(LucideCandyCane.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCandyCane_BaseFactory;\n      return function LucideCandyCane_Factory(__ngFactoryType__) {\n        return (ɵLucideCandyCane_BaseFactory || (ɵLucideCandyCane_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCandyCane)))(__ngFactoryType__ || LucideCandyCane);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCandyCane,\n      selectors: [[\"svg\", \"lucideCandyCane\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c278,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCandyCane_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCandyCane_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCandyCane;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CandyOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTB2Ny45IiAvPgogIDxwYXRoIGQ9Ik0xMS44MDIgNi4xNDVhNSA1IDAgMCAxIDYuMDUzIDYuMDUzIiAvPgogIDxwYXRoIGQ9Ik0xNCA2LjF2Mi4yNDMiIC8+CiAgPHBhdGggZD0ibTE1LjUgMTUuNTcxLS45NjQuOTY0YTUgNSAwIDAgMS03LjA3MSAwIDUgNSAwIDAgMSAwLTcuMDdsLjk2NC0uOTY1IiAvPgogIDxwYXRoIGQ9Ik0xNiA3VjNhMSAxIDAgMCAxIDEuNzA3LS43MDcgMi41IDIuNSAwIDAgMCAyLjE1Mi43MTcgMSAxIDAgMCAxIDEuMTMxIDEuMTMxIDIuNSAyLjUgMCAwIDAgLjcxNyAyLjE1MkExIDEgMCAwIDEgMjEgOGgtNCIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik04IDE3djRhMSAxIDAgMCAxLTEuNzA3LjcwNyAyLjUgMi41IDAgMCAwLTIuMTUyLS43MTcgMSAxIDAgMCAxLTEuMTMxLTEuMTMxIDIuNSAyLjUgMCAwIDAtLjcxNy0yLjE1MkExIDEgMCAwIDEgMyAxNmg0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/candy-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCandyOff = /*#__PURE__*/(() => {\n  class LucideCandyOff extends LucideIconBase {\n    static icon = {\n      name: 'candy-off',\n      size: 24,\n      node: [['path', {\n        d: 'M10 10v7.9',\n        key: 'm8g9tt'\n      }], ['path', {\n        d: 'M11.802 6.145a5 5 0 0 1 6.053 6.053',\n        key: 'dn87i3'\n      }], ['path', {\n        d: 'M14 6.1v2.243',\n        key: '1kzysn'\n      }], ['path', {\n        d: 'm15.5 15.571-.964.964a5 5 0 0 1-7.071 0 5 5 0 0 1 0-7.07l.964-.965',\n        key: '3sxy18'\n      }], ['path', {\n        d: 'M16 7V3a1 1 0 0 1 1.707-.707 2.5 2.5 0 0 0 2.152.717 1 1 0 0 1 1.131 1.131 2.5 2.5 0 0 0 .717 2.152A1 1 0 0 1 21 8h-4',\n        key: 'gpb6xx'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M8 17v4a1 1 0 0 1-1.707.707 2.5 2.5 0 0 0-2.152-.717 1 1 0 0 1-1.131-1.131 2.5 2.5 0 0 0-.717-2.152A1 1 0 0 1 3 16h4',\n        key: 'qexcha'\n      }]]\n    };\n    icon = signal(LucideCandyOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCandyOff_BaseFactory;\n      return function LucideCandyOff_Factory(__ngFactoryType__) {\n        return (ɵLucideCandyOff_BaseFactory || (ɵLucideCandyOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCandyOff)))(__ngFactoryType__ || LucideCandyOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCandyOff,\n      selectors: [[\"svg\", \"lucideCandyOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c279,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCandyOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCandyOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCandyOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CannabisOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJ2LTRjMS41IDEuNSAzLjUgMyA2IDMgMC0xLjUtLjUtMy41LTItNSIgLz4KICA8cGF0aCBkPSJNMTMuOTg4IDguMzI3QzEzLjkwMiA2LjA1NCAxMy4zNjUgMy44MiAxMiAyYTkuMyA5LjMgMCAwIDAtMS40NDUgMi45IiAvPgogIDxwYXRoIGQ9Ik0xNy4zNzUgMTEuNzI1QzE4Ljg4MiAxMC41MyAyMSA3Ljg0MSAyMSA2Yy0yLjMyNCAwLTUuMDggMS4yOTYtNi42NjIgMi42ODQiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJNMjEuMDI0IDE1LjM3OEExNSAxNSAwIDAgMCAyMiAxNWMtLjQyNi0xLjI3OS0yLjY3LTIuNTU3LTQuMjUtMi45MDciIC8+CiAgPHBhdGggZD0iTTYuOTk1IDYuOTkyQzUuNzE0IDYuNCA0LjI5IDYgMyA2YzAgMiAyLjUgNSA0IDYtMS41IDAtNC41IDEuNS01IDMgMy41IDEuNSA2IDEgNiAxLTEuNSAxLjUtMiAzLjUtMiA1IDIuNSAwIDQuNS0xLjUgNi0zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cannabis-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCannabisOff = /*#__PURE__*/(() => {\n  class LucideCannabisOff extends LucideIconBase {\n    static icon = {\n      name: 'cannabis-off',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22v-4c1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5',\n        key: '1bqfb7'\n      }], ['path', {\n        d: 'M13.988 8.327C13.902 6.054 13.365 3.82 12 2a9.3 9.3 0 0 0-1.445 2.9',\n        key: '1p520n'\n      }], ['path', {\n        d: 'M17.375 11.725C18.882 10.53 21 7.841 21 6c-2.324 0-5.08 1.296-6.662 2.684',\n        key: 'q2itvb'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M21.024 15.378A15 15 0 0 0 22 15c-.426-1.279-2.67-2.557-4.25-2.907',\n        key: 'j9amvs'\n      }], ['path', {\n        d: 'M6.995 6.992C5.714 6.4 4.29 6 3 6c0 2 2.5 5 4 6-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3',\n        key: '8gmd5g'\n      }]]\n    };\n    icon = signal(LucideCannabisOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCannabisOff_BaseFactory;\n      return function LucideCannabisOff_Factory(__ngFactoryType__) {\n        return (ɵLucideCannabisOff_BaseFactory || (ɵLucideCannabisOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCannabisOff)))(__ngFactoryType__ || LucideCannabisOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCannabisOff,\n      selectors: [[\"svg\", \"lucideCannabisOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c280,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCannabisOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCannabisOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCannabisOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Candy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgN3YxMC45IiAvPgogIDxwYXRoIGQ9Ik0xNCA2LjFWMTciIC8+CiAgPHBhdGggZD0iTTE2IDdWM2ExIDEgMCAwIDEgMS43MDctLjcwNyAyLjUgMi41IDAgMCAwIDIuMTUyLjcxNyAxIDEgMCAwIDEgMS4xMzEgMS4xMzEgMi41IDIuNSAwIDAgMCAuNzE3IDIuMTUyQTEgMSAwIDAgMSAyMSA4aC00IiAvPgogIDxwYXRoIGQ9Ik0xNi41MzYgNy40NjVhNSA1IDAgMCAwLTcuMDcyIDBsLTIgMmE1IDUgMCAwIDAgMCA3LjA3IDUgNSAwIDAgMCA3LjA3MiAwbDItMmE1IDUgMCAwIDAgMC03LjA3IiAvPgogIDxwYXRoIGQ9Ik04IDE3djRhMSAxIDAgMCAxLTEuNzA3LjcwNyAyLjUgMi41IDAgMCAwLTIuMTUyLS43MTcgMSAxIDAgMCAxLTEuMTMxLTEuMTMxIDIuNSAyLjUgMCAwIDAtLjcxNy0yLjE1MkExIDEgMCAwIDEgMyAxNmg0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/candy\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCandy = /*#__PURE__*/(() => {\n  class LucideCandy extends LucideIconBase {\n    static icon = {\n      name: 'candy',\n      size: 24,\n      node: [['path', {\n        d: 'M10 7v10.9',\n        key: '1gynux'\n      }], ['path', {\n        d: 'M14 6.1V17',\n        key: '116kdf'\n      }], ['path', {\n        d: 'M16 7V3a1 1 0 0 1 1.707-.707 2.5 2.5 0 0 0 2.152.717 1 1 0 0 1 1.131 1.131 2.5 2.5 0 0 0 .717 2.152A1 1 0 0 1 21 8h-4',\n        key: 'gpb6xx'\n      }], ['path', {\n        d: 'M16.536 7.465a5 5 0 0 0-7.072 0l-2 2a5 5 0 0 0 0 7.07 5 5 0 0 0 7.072 0l2-2a5 5 0 0 0 0-7.07',\n        key: '1tsln4'\n      }], ['path', {\n        d: 'M8 17v4a1 1 0 0 1-1.707.707 2.5 2.5 0 0 0-2.152-.717 1 1 0 0 1-1.131-1.131 2.5 2.5 0 0 0-.717-2.152A1 1 0 0 1 3 16h4',\n        key: 'qexcha'\n      }]]\n    };\n    icon = signal(LucideCandy.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCandy_BaseFactory;\n      return function LucideCandy_Factory(__ngFactoryType__) {\n        return (ɵLucideCandy_BaseFactory || (ɵLucideCandy_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCandy)))(__ngFactoryType__ || LucideCandy);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCandy,\n      selectors: [[\"svg\", \"lucideCandy\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c281,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCandy_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCandy_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCandy;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cannabis\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJ2LTQiIC8+CiAgPHBhdGggZD0iTTcgMTJjLTEuNSAwLTQuNSAxLjUtNSAzIDMuNSAxLjUgNiAxIDYgMS0xLjUgMS41LTIgMy41LTIgNSAyLjUgMCA0LjUtMS41IDYtMyAxLjUgMS41IDMuNSAzIDYgMyAwLTEuNS0uNS0zLjUtMi01IDAgMCAyLjUuNSA2LTEtLjUtMS41LTMuNS0zLTUtMyAxLjUtMSA0LTQgNC02LTIuNSAwLTUuNSAxLjUtNyAzIDAtMi41LS41LTUtMi03LTEuNSAyLTIgNC41LTIgNy0xLjUtMS41LTQuNS0zLTctMyAwIDIgMi41IDUgNCA2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cannabis\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCannabis = /*#__PURE__*/(() => {\n  class LucideCannabis extends LucideIconBase {\n    static icon = {\n      name: 'cannabis',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22v-4',\n        key: '1utk9m'\n      }], ['path', {\n        d: 'M7 12c-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3 1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5 0 0 2.5.5 6-1-.5-1.5-3.5-3-5-3 1.5-1 4-4 4-6-2.5 0-5.5 1.5-7 3 0-2.5-.5-5-2-7-1.5 2-2 4.5-2 7-1.5-1.5-4.5-3-7-3 0 2 2.5 5 4 6',\n        key: '1mezod'\n      }]]\n    };\n    icon = signal(LucideCannabis.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCannabis_BaseFactory;\n      return function LucideCannabis_Factory(__ngFactoryType__) {\n        return (ɵLucideCannabis_BaseFactory || (ɵLucideCannabis_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCannabis)))(__ngFactoryType__ || LucideCannabis);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCannabis,\n      selectors: [[\"svg\", \"lucideCannabis\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c282,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCannabis_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCannabis_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCannabis;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Captions\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTQiIHg9IjMiIHk9IjUiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNNyAxNWg0TTE1IDE1aDJNNyAxMWgyTTEzIDExaDQiIC8+Cjwvc3ZnPg==) - https://lucide.dev/icons/captions\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCaptions = /*#__PURE__*/(() => {\n  class LucideCaptions extends LucideIconBase {\n    static icon = {\n      name: 'captions',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '14',\n        x: '3',\n        y: '5',\n        rx: '2',\n        ry: '2',\n        key: '12ruh7'\n      }], ['path', {\n        d: 'M7 15h4M15 15h2M7 11h2M13 11h4',\n        key: '1ueiar'\n      }]],\n      aliases: ['subtitles']\n    };\n    icon = signal(LucideCaptions.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCaptions_BaseFactory;\n      return function LucideCaptions_Factory(__ngFactoryType__) {\n        return (ɵLucideCaptions_BaseFactory || (ɵLucideCaptions_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCaptions)))(__ngFactoryType__ || LucideCaptions);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCaptions,\n      selectors: [[\"svg\", \"lucideCaptions\", \"\"], [\"svg\", \"lucideSubtitles\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c283,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCaptions_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCaptions_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCaptions;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCaptions\n */\nconst LucideSubtitles = LucideCaptions;\n\n/**\n * @component @name CaptionsOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNSA1SDE5YTIgMiAwIDAgMSAyIDJ2OC41IiAvPgogIDxwYXRoIGQ9Ik0xNyAxMWgtLjUiIC8+CiAgPHBhdGggZD0iTTE5IDE5SDVhMiAyIDAgMCAxLTItMlY3YTIgMiAwIDAgMSAyLTIiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJNNyAxMWg0IiAvPgogIDxwYXRoIGQ9Ik03IDE1aDIuNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/captions-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCaptionsOff = /*#__PURE__*/(() => {\n  class LucideCaptionsOff extends LucideIconBase {\n    static icon = {\n      name: 'captions-off',\n      size: 24,\n      node: [['path', {\n        d: 'M10.5 5H19a2 2 0 0 1 2 2v8.5',\n        key: 'jqtk4d'\n      }], ['path', {\n        d: 'M17 11h-.5',\n        key: '1961ue'\n      }], ['path', {\n        d: 'M19 19H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2',\n        key: '1keqsi'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M7 11h4',\n        key: '1o1z6v'\n      }], ['path', {\n        d: 'M7 15h2.5',\n        key: '1ina1g'\n      }]]\n    };\n    icon = signal(LucideCaptionsOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCaptionsOff_BaseFactory;\n      return function LucideCaptionsOff_Factory(__ngFactoryType__) {\n        return (ɵLucideCaptionsOff_BaseFactory || (ɵLucideCaptionsOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCaptionsOff)))(__ngFactoryType__ || LucideCaptionsOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCaptionsOff,\n      selectors: [[\"svg\", \"lucideCaptionsOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c284,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCaptionsOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCaptionsOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCaptionsOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Calendars\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0xNS43MjYgMjEuMDFBMiAyIDAgMCAxIDE0IDIySDRhMiAyIDAgMCAxLTItMlYxMGEyIDIgMCAwIDEgMi0yIiAvPgogIDxwYXRoIGQ9Ik0xOCAydjIiIC8+CiAgPHBhdGggZD0iTTIgMTNoMiIgLz4KICA8cGF0aCBkPSJNOCA4aDE0IiAvPgogIDxyZWN0IHg9IjgiIHk9IjMiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/calendars\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCalendars = /*#__PURE__*/(() => {\n  class LucideCalendars extends LucideIconBase {\n    static icon = {\n      name: 'calendars',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v2',\n        key: 'tus03m'\n      }], ['path', {\n        d: 'M15.726 21.01A2 2 0 0 1 14 22H4a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2',\n        key: 'j6srht'\n      }], ['path', {\n        d: 'M18 2v2',\n        key: '1kh14s'\n      }], ['path', {\n        d: 'M2 13h2',\n        key: '13gyu8'\n      }], ['path', {\n        d: 'M8 8h14',\n        key: '12jxz2'\n      }], ['rect', {\n        x: '8',\n        y: '3',\n        width: '14',\n        height: '14',\n        rx: '2',\n        key: 'nsru6w'\n      }]]\n    };\n    icon = signal(LucideCalendars.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCalendars_BaseFactory;\n      return function LucideCalendars_Factory(__ngFactoryType__) {\n        return (ɵLucideCalendars_BaseFactory || (ɵLucideCalendars_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCalendars)))(__ngFactoryType__ || LucideCalendars);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCalendars,\n      selectors: [[\"svg\", \"lucideCalendars\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c285,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCalendars_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCalendars_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCalendars;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CarFront\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjEgOC0yIDItMS41LTMuN0EyIDIgMCAwIDAgMTUuNjQ2IDVIOC40YTIgMiAwIDAgMC0xLjkwMyAxLjI1N0w1IDEwIDMgOCIgLz4KICA8cGF0aCBkPSJNNyAxNGguMDEiIC8+CiAgPHBhdGggZD0iTTE3IDE0aC4wMSIgLz4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iOCIgeD0iMyIgeT0iMTAiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik01IDE4djIiIC8+CiAgPHBhdGggZD0iTTE5IDE4djIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/car-front\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCarFront = /*#__PURE__*/(() => {\n  class LucideCarFront extends LucideIconBase {\n    static icon = {\n      name: 'car-front',\n      size: 24,\n      node: [['path', {\n        d: 'm21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8',\n        key: '1imjwt'\n      }], ['path', {\n        d: 'M7 14h.01',\n        key: '1qa3f1'\n      }], ['path', {\n        d: 'M17 14h.01',\n        key: '7oqj8z'\n      }], ['rect', {\n        width: '18',\n        height: '8',\n        x: '3',\n        y: '10',\n        rx: '2',\n        key: 'a7itu8'\n      }], ['path', {\n        d: 'M5 18v2',\n        key: 'ppbyun'\n      }], ['path', {\n        d: 'M19 18v2',\n        key: 'gy7782'\n      }]]\n    };\n    icon = signal(LucideCarFront.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCarFront_BaseFactory;\n      return function LucideCarFront_Factory(__ngFactoryType__) {\n        return (ɵLucideCarFront_BaseFactory || (ɵLucideCarFront_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCarFront)))(__ngFactoryType__ || LucideCarFront);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCarFront,\n      selectors: [[\"svg\", \"lucideCarFront\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c286,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCarFront_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCarFront_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCarFront;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CarTaxiFront\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMmg0IiAvPgogIDxwYXRoIGQ9Im0yMSA4LTIgMi0xLjUtMy43QTIgMiAwIDAgMCAxNS42NDYgNUg4LjRhMiAyIDAgMCAwLTEuOTAzIDEuMjU3TDUgMTAgMyA4IiAvPgogIDxwYXRoIGQ9Ik03IDE0aC4wMSIgLz4KICA8cGF0aCBkPSJNMTcgMTRoLjAxIiAvPgogIDxyZWN0IHdpZHRoPSIxOCIgaGVpZ2h0PSI4IiB4PSIzIiB5PSIxMCIgcng9IjIiIC8+CiAgPHBhdGggZD0iTTUgMTh2MiIgLz4KICA8cGF0aCBkPSJNMTkgMTh2MiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/car-taxi-front\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCarTaxiFront = /*#__PURE__*/(() => {\n  class LucideCarTaxiFront extends LucideIconBase {\n    static icon = {\n      name: 'car-taxi-front',\n      size: 24,\n      node: [['path', {\n        d: 'M10 2h4',\n        key: 'n1abiw'\n      }], ['path', {\n        d: 'm21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8',\n        key: '1imjwt'\n      }], ['path', {\n        d: 'M7 14h.01',\n        key: '1qa3f1'\n      }], ['path', {\n        d: 'M17 14h.01',\n        key: '7oqj8z'\n      }], ['rect', {\n        width: '18',\n        height: '8',\n        x: '3',\n        y: '10',\n        rx: '2',\n        key: 'a7itu8'\n      }], ['path', {\n        d: 'M5 18v2',\n        key: 'ppbyun'\n      }], ['path', {\n        d: 'M19 18v2',\n        key: 'gy7782'\n      }]]\n    };\n    icon = signal(LucideCarTaxiFront.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCarTaxiFront_BaseFactory;\n      return function LucideCarTaxiFront_Factory(__ngFactoryType__) {\n        return (ɵLucideCarTaxiFront_BaseFactory || (ɵLucideCarTaxiFront_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCarTaxiFront)))(__ngFactoryType__ || LucideCarTaxiFront);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCarTaxiFront,\n      selectors: [[\"svg\", \"lucideCarTaxiFront\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c287,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCarTaxiFront_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCarTaxiFront_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCarTaxiFront;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Caravan\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggMTlWOWE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHY4YTIgMiAwIDAgMCAyIDJoMiIgLz4KICA8cGF0aCBkPSJNMiA5aDNhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMS0xIDFIMiIgLz4KICA8cGF0aCBkPSJNMjIgMTd2MWExIDEgMCAwIDEtMSAxSDEwdi05YTEgMSAwIDAgMSAxLTFoMmExIDEgMCAwIDEgMSAxdjkiIC8+CiAgPGNpcmNsZSBjeD0iOCIgY3k9IjE5IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/caravan\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCaravan = /*#__PURE__*/(() => {\n  class LucideCaravan extends LucideIconBase {\n    static icon = {\n      name: 'caravan',\n      size: 24,\n      node: [['path', {\n        d: 'M18 19V9a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v8a2 2 0 0 0 2 2h2',\n        key: '19jm3t'\n      }], ['path', {\n        d: 'M2 9h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2',\n        key: '13hakp'\n      }], ['path', {\n        d: 'M22 17v1a1 1 0 0 1-1 1H10v-9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9',\n        key: '1crci8'\n      }], ['circle', {\n        cx: '8',\n        cy: '19',\n        r: '2',\n        key: 't8fc5s'\n      }]]\n    };\n    icon = signal(LucideCaravan.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCaravan_BaseFactory;\n      return function LucideCaravan_Factory(__ngFactoryType__) {\n        return (ɵLucideCaravan_BaseFactory || (ɵLucideCaravan_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCaravan)))(__ngFactoryType__ || LucideCaravan);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCaravan,\n      selectors: [[\"svg\", \"lucideCaravan\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c288,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCaravan_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCaravan_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCaravan;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CardSim\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTR2NCIgLz4KICA8cGF0aCBkPSJNMTQuMTcyIDJhMiAyIDAgMCAxIDEuNDE0LjU4NmwzLjgyOCAzLjgyOEEyIDIgMCAwIDEgMjAgNy44MjhWMjBhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yeiIgLz4KICA8cGF0aCBkPSJNOCAxNGg4IiAvPgogIDxyZWN0IHg9IjgiIHk9IjEwIiB3aWR0aD0iOCIgaGVpZ2h0PSI4IiByeD0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/card-sim\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCardSim = /*#__PURE__*/(() => {\n  class LucideCardSim extends LucideIconBase {\n    static icon = {\n      name: 'card-sim',\n      size: 24,\n      node: [['path', {\n        d: 'M12 14v4',\n        key: '1thi36'\n      }], ['path', {\n        d: 'M14.172 2a2 2 0 0 1 1.414.586l3.828 3.828A2 2 0 0 1 20 7.828V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z',\n        key: '1o66bk'\n      }], ['path', {\n        d: 'M8 14h8',\n        key: '1fgep2'\n      }], ['rect', {\n        x: '8',\n        y: '10',\n        width: '8',\n        height: '8',\n        rx: '1',\n        key: '1aonk6'\n      }]]\n    };\n    icon = signal(LucideCardSim.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCardSim_BaseFactory;\n      return function LucideCardSim_Factory(__ngFactoryType__) {\n        return (ɵLucideCardSim_BaseFactory || (ɵLucideCardSim_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCardSim)))(__ngFactoryType__ || LucideCardSim);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCardSim,\n      selectors: [[\"svg\", \"lucideCardSim\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c289,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCardSim_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCardSim_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCardSim;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Carrot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi4yNyAyMS43czkuODctMy41IDEyLjczLTYuMzZhNC41IDQuNSAwIDAgMC02LjM2LTYuMzdDNS43NyAxMS44NCAyLjI3IDIxLjcgMi4yNyAyMS43ek04LjY0IDE0bC0yLjA1LTIuMDRNMTUuMzQgMTVsLTIuNDYtMi40NiIgLz4KICA8cGF0aCBkPSJNMjIgOXMtMS4zMy0yLTMuNS0yQzE2Ljg2IDcgMTUgOSAxNSA5czEuMzMgMiAzLjUgMlMyMiA5IDIyIDl6IiAvPgogIDxwYXRoIGQ9Ik0xNSAycy0yIDEuMzMtMiAzLjVTMTUgOSAxNSA5czItMS44NCAyLTMuNUMxNyAzLjMzIDE1IDIgMTUgMnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/carrot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCarrot = /*#__PURE__*/(() => {\n  class LucideCarrot extends LucideIconBase {\n    static icon = {\n      name: 'carrot',\n      size: 24,\n      node: [['path', {\n        d: 'M2.27 21.7s9.87-3.5 12.73-6.36a4.5 4.5 0 0 0-6.36-6.37C5.77 11.84 2.27 21.7 2.27 21.7zM8.64 14l-2.05-2.04M15.34 15l-2.46-2.46',\n        key: 'rfqxbe'\n      }], ['path', {\n        d: 'M22 9s-1.33-2-3.5-2C16.86 7 15 9 15 9s1.33 2 3.5 2S22 9 22 9z',\n        key: '6b25w4'\n      }], ['path', {\n        d: 'M15 2s-2 1.33-2 3.5S15 9 15 9s2-1.84 2-3.5C17 3.33 15 2 15 2z',\n        key: 'fn65lo'\n      }]]\n    };\n    icon = signal(LucideCarrot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCarrot_BaseFactory;\n      return function LucideCarrot_Factory(__ngFactoryType__) {\n        return (ɵLucideCarrot_BaseFactory || (ɵLucideCarrot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCarrot)))(__ngFactoryType__ || LucideCarrot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCarrot,\n      selectors: [[\"svg\", \"lucideCarrot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c290,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCarrot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCarrot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCarrot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CaseLower\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgOXY3IiAvPgogIDxwYXRoIGQ9Ik0xNCA2djEwIiAvPgogIDxjaXJjbGUgY3g9IjE3LjUiIGN5PSIxMi41IiByPSIzLjUiIC8+CiAgPGNpcmNsZSBjeD0iNi41IiBjeT0iMTIuNSIgcj0iMy41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/case-lower\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCaseLower = /*#__PURE__*/(() => {\n  class LucideCaseLower extends LucideIconBase {\n    static icon = {\n      name: 'case-lower',\n      size: 24,\n      node: [['path', {\n        d: 'M10 9v7',\n        key: 'ylp826'\n      }], ['path', {\n        d: 'M14 6v10',\n        key: '1jy4vg'\n      }], ['circle', {\n        cx: '17.5',\n        cy: '12.5',\n        r: '3.5',\n        key: '1a9481'\n      }], ['circle', {\n        cx: '6.5',\n        cy: '12.5',\n        r: '3.5',\n        key: '2jlv1r'\n      }]]\n    };\n    icon = signal(LucideCaseLower.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCaseLower_BaseFactory;\n      return function LucideCaseLower_Factory(__ngFactoryType__) {\n        return (ɵLucideCaseLower_BaseFactory || (ɵLucideCaseLower_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCaseLower)))(__ngFactoryType__ || LucideCaseLower);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCaseLower,\n      selectors: [[\"svg\", \"lucideCaseLower\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c291,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCaseLower_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCaseLower_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCaseLower;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CaseSensitive\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMiAxNiA0LjAzOS05LjY5YS41LjUgMCAwIDEgLjkyMyAwTDExIDE2IiAvPgogIDxwYXRoIGQ9Ik0yMiA5djciIC8+CiAgPHBhdGggZD0iTTMuMzA0IDEzaDYuMzkyIiAvPgogIDxjaXJjbGUgY3g9IjE4LjUiIGN5PSIxMi41IiByPSIzLjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/case-sensitive\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCaseSensitive = /*#__PURE__*/(() => {\n  class LucideCaseSensitive extends LucideIconBase {\n    static icon = {\n      name: 'case-sensitive',\n      size: 24,\n      node: [['path', {\n        d: 'm2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16',\n        key: 'd5nyq2'\n      }], ['path', {\n        d: 'M22 9v7',\n        key: 'pvm9v3'\n      }], ['path', {\n        d: 'M3.304 13h6.392',\n        key: '1q3zxz'\n      }], ['circle', {\n        cx: '18.5',\n        cy: '12.5',\n        r: '3.5',\n        key: 'z97x68'\n      }]]\n    };\n    icon = signal(LucideCaseSensitive.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCaseSensitive_BaseFactory;\n      return function LucideCaseSensitive_Factory(__ngFactoryType__) {\n        return (ɵLucideCaseSensitive_BaseFactory || (ɵLucideCaseSensitive_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCaseSensitive)))(__ngFactoryType__ || LucideCaseSensitive);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCaseSensitive,\n      selectors: [[\"svg\", \"lucideCaseSensitive\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c292,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCaseSensitive_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCaseSensitive_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCaseSensitive;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CaseUpper\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMTFoNC41YTEgMSAwIDAgMSAwIDVoLTRhLjUuNSAwIDAgMS0uNS0uNXYtOWEuNS41IDAgMCAxIC41LS41aDNhMSAxIDAgMCAxIDAgNSIgLz4KICA8cGF0aCBkPSJtMiAxNiA0LjAzOS05LjY5YS41LjUgMCAwIDEgLjkyMyAwTDExIDE2IiAvPgogIDxwYXRoIGQ9Ik0zLjMwNCAxM2g2LjM5MiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/case-upper\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCaseUpper = /*#__PURE__*/(() => {\n  class LucideCaseUpper extends LucideIconBase {\n    static icon = {\n      name: 'case-upper',\n      size: 24,\n      node: [['path', {\n        d: 'M15 11h4.5a1 1 0 0 1 0 5h-4a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h3a1 1 0 0 1 0 5',\n        key: 'nxs35'\n      }], ['path', {\n        d: 'm2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16',\n        key: 'd5nyq2'\n      }], ['path', {\n        d: 'M3.304 13h6.392',\n        key: '1q3zxz'\n      }]]\n    };\n    icon = signal(LucideCaseUpper.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCaseUpper_BaseFactory;\n      return function LucideCaseUpper_Factory(__ngFactoryType__) {\n        return (ɵLucideCaseUpper_BaseFactory || (ɵLucideCaseUpper_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCaseUpper)))(__ngFactoryType__ || LucideCaseUpper);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCaseUpper,\n      selectors: [[\"svg\", \"lucideCaseUpper\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c293,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCaseUpper_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCaseUpper_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCaseUpper;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CassetteTape\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHg9IjIiIHk9IjQiIHJ4PSIyIiAvPgogIDxjaXJjbGUgY3g9IjgiIGN5PSIxMCIgcj0iMiIgLz4KICA8cGF0aCBkPSJNOCAxMmg4IiAvPgogIDxjaXJjbGUgY3g9IjE2IiBjeT0iMTAiIHI9IjIiIC8+CiAgPHBhdGggZD0ibTYgMjAgLjctMi45QTEuNCAxLjQgMCAwIDEgOC4xIDE2aDcuOGExLjQgMS40IDAgMCAxIDEuNCAxbC43IDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cassette-tape\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCassetteTape = /*#__PURE__*/(() => {\n  class LucideCassetteTape extends LucideIconBase {\n    static icon = {\n      name: 'cassette-tape',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '16',\n        x: '2',\n        y: '4',\n        rx: '2',\n        key: '18n3k1'\n      }], ['circle', {\n        cx: '8',\n        cy: '10',\n        r: '2',\n        key: '1xl4ub'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }], ['circle', {\n        cx: '16',\n        cy: '10',\n        r: '2',\n        key: 'r14t7q'\n      }], ['path', {\n        d: 'm6 20 .7-2.9A1.4 1.4 0 0 1 8.1 16h7.8a1.4 1.4 0 0 1 1.4 1l.7 3',\n        key: 'l01ucn'\n      }]]\n    };\n    icon = signal(LucideCassetteTape.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCassetteTape_BaseFactory;\n      return function LucideCassetteTape_Factory(__ngFactoryType__) {\n        return (ɵLucideCassetteTape_BaseFactory || (ɵLucideCassetteTape_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCassetteTape)))(__ngFactoryType__ || LucideCassetteTape);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCassetteTape,\n      selectors: [[\"svg\", \"lucideCassetteTape\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c294,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCassetteTape_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCassetteTape_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCassetteTape;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cast\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA4VjZhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjEyYTIgMiAwIDAgMS0yIDJoLTYiIC8+CiAgPHBhdGggZD0iTTIgMTJhOSA5IDAgMCAxIDggOCIgLz4KICA8cGF0aCBkPSJNMiAxNmE1IDUgMCAwIDEgNCA0IiAvPgogIDxsaW5lIHgxPSIyIiB4Mj0iMi4wMSIgeTE9IjIwIiB5Mj0iMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cast\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCast = /*#__PURE__*/(() => {\n  class LucideCast extends LucideIconBase {\n    static icon = {\n      name: 'cast',\n      size: 24,\n      node: [['path', {\n        d: 'M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6',\n        key: '3zrzxg'\n      }], ['path', {\n        d: 'M2 12a9 9 0 0 1 8 8',\n        key: 'g6cvee'\n      }], ['path', {\n        d: 'M2 16a5 5 0 0 1 4 4',\n        key: '1y1dii'\n      }], ['line', {\n        x1: '2',\n        x2: '2.01',\n        y1: '20',\n        y2: '20',\n        key: 'xu2jvo'\n      }]]\n    };\n    icon = signal(LucideCast.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCast_BaseFactory;\n      return function LucideCast_Factory(__ngFactoryType__) {\n        return (ɵLucideCast_BaseFactory || (ɵLucideCast_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCast)))(__ngFactoryType__ || LucideCast);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCast,\n      selectors: [[\"svg\", \"lucideCast\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c295,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCast_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCast_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCast;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Castle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgNVYzIiAvPgogIDxwYXRoIGQ9Ik0xNCA1VjMiIC8+CiAgPHBhdGggZD0iTTE1IDIxdi0zYTMgMyAwIDAgMC02IDB2MyIgLz4KICA8cGF0aCBkPSJNMTggM3Y4IiAvPgogIDxwYXRoIGQ9Ik0xOCA1SDYiIC8+CiAgPHBhdGggZD0iTTIyIDExSDIiIC8+CiAgPHBhdGggZD0iTTIyIDl2MTBhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOSIgLz4KICA8cGF0aCBkPSJNNiAzdjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/castle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCastle = /*#__PURE__*/(() => {\n  class LucideCastle extends LucideIconBase {\n    static icon = {\n      name: 'castle',\n      size: 24,\n      node: [['path', {\n        d: 'M10 5V3',\n        key: '1y54qe'\n      }], ['path', {\n        d: 'M14 5V3',\n        key: 'm6isi'\n      }], ['path', {\n        d: 'M15 21v-3a3 3 0 0 0-6 0v3',\n        key: 'lbp5hj'\n      }], ['path', {\n        d: 'M18 3v8',\n        key: '2ollhf'\n      }], ['path', {\n        d: 'M18 5H6',\n        key: '98imr9'\n      }], ['path', {\n        d: 'M22 11H2',\n        key: '1lmjae'\n      }], ['path', {\n        d: 'M22 9v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9',\n        key: '1rly83'\n      }], ['path', {\n        d: 'M6 3v8',\n        key: 'csox7g'\n      }]]\n    };\n    icon = signal(LucideCastle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCastle_BaseFactory;\n      return function LucideCastle_Factory(__ngFactoryType__) {\n        return (ɵLucideCastle_BaseFactory || (ɵLucideCastle_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCastle)))(__ngFactoryType__ || LucideCastle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCastle,\n      selectors: [[\"svg\", \"lucideCastle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c296,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCastle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCastle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCastle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cat\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNWMuNjcgMCAxLjM1LjA5IDIgLjI2IDEuNzgtMiA1LjAzLTIuODQgNi40Mi0yLjI2IDEuNC41OC0uNDIgNy0uNDIgNyAuNTcgMS4wNyAxIDIuMjQgMSAzLjQ0QzIxIDE3LjkgMTYuOTcgMjEgMTIgMjFzLTktMy05LTcuNTZjMC0xLjI1LjUtMi40IDEtMy40NCAwIDAtMS44OS02LjQyLS41LTcgMS4zOS0uNTggNC43Mi4yMyA2LjUgMi4yM0E5LjA0IDkuMDQgMCAwIDEgMTIgNVoiIC8+CiAgPHBhdGggZD0iTTggMTR2LjUiIC8+CiAgPHBhdGggZD0iTTE2IDE0di41IiAvPgogIDxwYXRoIGQ9Ik0xMS4yNSAxNi4yNWgxLjVMMTIgMTdsLS43NS0uNzVaIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cat\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCat = /*#__PURE__*/(() => {\n  class LucideCat extends LucideIconBase {\n    static icon = {\n      name: 'cat',\n      size: 24,\n      node: [['path', {\n        d: 'M12 5c.67 0 1.35.09 2 .26 1.78-2 5.03-2.84 6.42-2.26 1.4.58-.42 7-.42 7 .57 1.07 1 2.24 1 3.44C21 17.9 16.97 21 12 21s-9-3-9-7.56c0-1.25.5-2.4 1-3.44 0 0-1.89-6.42-.5-7 1.39-.58 4.72.23 6.5 2.23A9.04 9.04 0 0 1 12 5Z',\n        key: 'x6xyqk'\n      }], ['path', {\n        d: 'M8 14v.5',\n        key: '1nzgdb'\n      }], ['path', {\n        d: 'M16 14v.5',\n        key: '1lajdz'\n      }], ['path', {\n        d: 'M11.25 16.25h1.5L12 17l-.75-.75Z',\n        key: '12kq1m'\n      }]]\n    };\n    icon = signal(LucideCat.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCat_BaseFactory;\n      return function LucideCat_Factory(__ngFactoryType__) {\n        return (ɵLucideCat_BaseFactory || (ɵLucideCat_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCat)))(__ngFactoryType__ || LucideCat);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCat,\n      selectors: [[\"svg\", \"lucideCat\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c297,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCat_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCat_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCat;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CctvOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIuMzA5IDYuNjUyIDQuNzk3IDIuNDAxYTEgMSAwIDAgMSAuNDQ3IDEuMzQxbC0uNTAxIDEuMDAxLjYwNS42MDVoMi43MjVhMSAxIDAgMCAxIC44OTQgMS40NDdsLS43MjQgMS40NDgiIC8+CiAgPHBhdGggZD0ibTE1LjE2NiAxNS4xNjYtLjcxOSAxLjQzOWExIDEgMCAwIDEtMS4zNDIuNDQ3TDMuNjEgMTIuM2EyLjkyIDIuOTIgMCAwIDEtMS4zLTMuOTFMMy42OSA1LjZhMi45IDIuOSAwIDAgMSAuODczLTEuMDM3IiAvPgogIDxwYXRoIGQ9Ik0yIDE5aDMuNzZhMiAyIDAgMCAwIDEuOC0xLjFsMS40NDEtMi45MDIiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJNMiAyMXYtNCIgLz4KICA8cGF0aCBkPSJNNyA5aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cctv-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCctvOff = /*#__PURE__*/(() => {\n  class LucideCctvOff extends LucideIconBase {\n    static icon = {\n      name: 'cctv-off',\n      size: 24,\n      node: [['path', {\n        d: 'm12.309 6.652 4.797 2.401a1 1 0 0 1 .447 1.341l-.501 1.001.605.605h2.725a1 1 0 0 1 .894 1.447l-.724 1.448',\n        key: 'e75roo'\n      }], ['path', {\n        d: 'm15.166 15.166-.719 1.439a1 1 0 0 1-1.342.447L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.9 2.9 0 0 1 .873-1.037',\n        key: '1h9o5r'\n      }], ['path', {\n        d: 'M2 19h3.76a2 2 0 0 0 1.8-1.1l1.441-2.902',\n        key: '1askrb'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M2 21v-4',\n        key: 'l40lih'\n      }], ['path', {\n        d: 'M7 9h.01',\n        key: '19b3jx'\n      }]]\n    };\n    icon = signal(LucideCctvOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCctvOff_BaseFactory;\n      return function LucideCctvOff_Factory(__ngFactoryType__) {\n        return (ɵLucideCctvOff_BaseFactory || (ɵLucideCctvOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCctvOff)))(__ngFactoryType__ || LucideCctvOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCctvOff,\n      selectors: [[\"svg\", \"lucideCctvOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c298,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCctvOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCctvOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCctvOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cctv\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYuNzUgMTJoMy42MzJhMSAxIDAgMCAxIC44OTQgMS40NDdsLTIuMDM0IDQuMDY5YTEgMSAwIDAgMS0xLjcwOC4xMzRsLTIuMTI0LTIuOTciIC8+CiAgPHBhdGggZD0iTTE3LjEwNiA5LjA1M2ExIDEgMCAwIDEgLjQ0NyAxLjM0MWwtMy4xMDYgNi4yMTFhMSAxIDAgMCAxLTEuMzQyLjQ0N0wzLjYxIDEyLjNhMi45MiAyLjkyIDAgMCAxLTEuMy0zLjkxTDMuNjkgNS42YTIuOTIgMi45MiAwIDAgMSAzLjkyLTEuM3oiIC8+CiAgPHBhdGggZD0iTTIgMTloMy43NmEyIDIgMCAwIDAgMS44LTEuMUw5IDE1IiAvPgogIDxwYXRoIGQ9Ik0yIDIxdi00IiAvPgogIDxwYXRoIGQ9Ik03IDloLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cctv\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCctv = /*#__PURE__*/(() => {\n  class LucideCctv extends LucideIconBase {\n    static icon = {\n      name: 'cctv',\n      size: 24,\n      node: [['path', {\n        d: 'M16.75 12h3.632a1 1 0 0 1 .894 1.447l-2.034 4.069a1 1 0 0 1-1.708.134l-2.124-2.97',\n        key: 'ir91b5'\n      }], ['path', {\n        d: 'M17.106 9.053a1 1 0 0 1 .447 1.341l-3.106 6.211a1 1 0 0 1-1.342.447L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.92 2.92 0 0 1 3.92-1.3z',\n        key: 'jlp8i1'\n      }], ['path', {\n        d: 'M2 19h3.76a2 2 0 0 0 1.8-1.1L9 15',\n        key: '19bib8'\n      }], ['path', {\n        d: 'M2 21v-4',\n        key: 'l40lih'\n      }], ['path', {\n        d: 'M7 9h.01',\n        key: '19b3jx'\n      }]]\n    };\n    icon = signal(LucideCctv.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCctv_BaseFactory;\n      return function LucideCctv_Factory(__ngFactoryType__) {\n        return (ɵLucideCctv_BaseFactory || (ɵLucideCctv_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCctv)))(__ngFactoryType__ || LucideCctv);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCctv,\n      selectors: [[\"svg\", \"lucideCctv\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c299,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCctv_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCctv_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCctv;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChartArea\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYiIC8+CiAgPHBhdGggZD0iTTcgMTEuMjA3YS41LjUgMCAwIDEgLjE0Ni0uMzUzbDItMmEuNS41IDAgMCAxIC43MDggMGwzLjI5MiAzLjI5MmEuNS41IDAgMCAwIC43MDggMGw0LjI5Mi00LjI5MmEuNS41IDAgMCAxIC44NTQuMzUzVjE2YTEgMSAwIDAgMS0xIDFIOGExIDEgMCAwIDEtMS0xeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chart-area\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartArea = /*#__PURE__*/(() => {\n  class LucideChartArea extends LucideIconBase {\n    static icon = {\n      name: 'chart-area',\n      size: 24,\n      node: [['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }], ['path', {\n        d: 'M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z',\n        key: 'q0gr47'\n      }]],\n      aliases: ['area-chart']\n    };\n    icon = signal(LucideChartArea.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartArea_BaseFactory;\n      return function LucideChartArea_Factory(__ngFactoryType__) {\n        return (ɵLucideChartArea_BaseFactory || (ɵLucideChartArea_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartArea)))(__ngFactoryType__ || LucideChartArea);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartArea,\n      selectors: [[\"svg\", \"lucideChartArea\", \"\"], [\"svg\", \"lucideAreaChart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c300,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartArea_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartArea_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartArea;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideChartArea\n */\nconst LucideAreaChart = LucideChartArea;\n\n/**\n * @component @name ChartBarBig\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYiIC8+CiAgPHJlY3QgeD0iNyIgeT0iMTMiIHdpZHRoPSI5IiBoZWlnaHQ9IjQiIHJ4PSIxIiAvPgogIDxyZWN0IHg9IjciIHk9IjUiIHdpZHRoPSIxMiIgaGVpZ2h0PSI0IiByeD0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chart-bar-big\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartBarBig = /*#__PURE__*/(() => {\n  class LucideChartBarBig extends LucideIconBase {\n    static icon = {\n      name: 'chart-bar-big',\n      size: 24,\n      node: [['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }], ['rect', {\n        x: '7',\n        y: '13',\n        width: '9',\n        height: '4',\n        rx: '1',\n        key: '1iip1u'\n      }], ['rect', {\n        x: '7',\n        y: '5',\n        width: '12',\n        height: '4',\n        rx: '1',\n        key: '1anskk'\n      }]],\n      aliases: ['bar-chart-horizontal-big']\n    };\n    icon = signal(LucideChartBarBig.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartBarBig_BaseFactory;\n      return function LucideChartBarBig_Factory(__ngFactoryType__) {\n        return (ɵLucideChartBarBig_BaseFactory || (ɵLucideChartBarBig_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartBarBig)))(__ngFactoryType__ || LucideChartBarBig);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartBarBig,\n      selectors: [[\"svg\", \"lucideChartBarBig\", \"\"], [\"svg\", \"lucideBarChartHorizontalBig\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c301,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartBarBig_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartBarBig_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartBarBig;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideChartBarBig\n */\nconst LucideBarChartHorizontalBig = LucideChartBarBig;\n\n/**\n * @component @name ChartBarDecreasing\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYiIC8+CiAgPHBhdGggZD0iTTcgMTFoOCIgLz4KICA8cGF0aCBkPSJNNyAxNmgzIiAvPgogIDxwYXRoIGQ9Ik03IDZoMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chart-bar-decreasing\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartBarDecreasing = /*#__PURE__*/(() => {\n  class LucideChartBarDecreasing extends LucideIconBase {\n    static icon = {\n      name: 'chart-bar-decreasing',\n      size: 24,\n      node: [['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }], ['path', {\n        d: 'M7 11h8',\n        key: '1feolt'\n      }], ['path', {\n        d: 'M7 16h3',\n        key: 'ur6vzw'\n      }], ['path', {\n        d: 'M7 6h12',\n        key: 'sz5b0d'\n      }]]\n    };\n    icon = signal(LucideChartBarDecreasing.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartBarDecreasing_BaseFactory;\n      return function LucideChartBarDecreasing_Factory(__ngFactoryType__) {\n        return (ɵLucideChartBarDecreasing_BaseFactory || (ɵLucideChartBarDecreasing_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartBarDecreasing)))(__ngFactoryType__ || LucideChartBarDecreasing);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartBarDecreasing,\n      selectors: [[\"svg\", \"lucideChartBarDecreasing\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c302,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartBarDecreasing_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartBarDecreasing_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartBarDecreasing;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChartBarIncreasing\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYiIC8+CiAgPHBhdGggZD0iTTcgMTFoOCIgLz4KICA8cGF0aCBkPSJNNyAxNmgxMiIgLz4KICA8cGF0aCBkPSJNNyA2aDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chart-bar-increasing\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartBarIncreasing = /*#__PURE__*/(() => {\n  class LucideChartBarIncreasing extends LucideIconBase {\n    static icon = {\n      name: 'chart-bar-increasing',\n      size: 24,\n      node: [['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }], ['path', {\n        d: 'M7 11h8',\n        key: '1feolt'\n      }], ['path', {\n        d: 'M7 16h12',\n        key: 'wsnu98'\n      }], ['path', {\n        d: 'M7 6h3',\n        key: 'w9rmul'\n      }]]\n    };\n    icon = signal(LucideChartBarIncreasing.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartBarIncreasing_BaseFactory;\n      return function LucideChartBarIncreasing_Factory(__ngFactoryType__) {\n        return (ɵLucideChartBarIncreasing_BaseFactory || (ɵLucideChartBarIncreasing_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartBarIncreasing)))(__ngFactoryType__ || LucideChartBarIncreasing);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartBarIncreasing,\n      selectors: [[\"svg\", \"lucideChartBarIncreasing\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c303,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartBarIncreasing_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartBarIncreasing_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartBarIncreasing;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChartBarStacked\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTN2NCIgLz4KICA8cGF0aCBkPSJNMTUgNXY0IiAvPgogIDxwYXRoIGQ9Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiIgLz4KICA8cmVjdCB4PSI3IiB5PSIxMyIgd2lkdGg9IjkiIGhlaWdodD0iNCIgcng9IjEiIC8+CiAgPHJlY3QgeD0iNyIgeT0iNSIgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/chart-bar-stacked\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartBarStacked = /*#__PURE__*/(() => {\n  class LucideChartBarStacked extends LucideIconBase {\n    static icon = {\n      name: 'chart-bar-stacked',\n      size: 24,\n      node: [['path', {\n        d: 'M11 13v4',\n        key: 'vyy2rb'\n      }], ['path', {\n        d: 'M15 5v4',\n        key: '1gx88a'\n      }], ['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }], ['rect', {\n        x: '7',\n        y: '13',\n        width: '9',\n        height: '4',\n        rx: '1',\n        key: '1iip1u'\n      }], ['rect', {\n        x: '7',\n        y: '5',\n        width: '12',\n        height: '4',\n        rx: '1',\n        key: '1anskk'\n      }]]\n    };\n    icon = signal(LucideChartBarStacked.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartBarStacked_BaseFactory;\n      return function LucideChartBarStacked_Factory(__ngFactoryType__) {\n        return (ɵLucideChartBarStacked_BaseFactory || (ɵLucideChartBarStacked_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartBarStacked)))(__ngFactoryType__ || LucideChartBarStacked);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartBarStacked,\n      selectors: [[\"svg\", \"lucideChartBarStacked\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c304,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartBarStacked_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartBarStacked_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartBarStacked;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChartBar\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYiIC8+CiAgPHBhdGggZD0iTTcgMTZoOCIgLz4KICA8cGF0aCBkPSJNNyAxMWgxMiIgLz4KICA8cGF0aCBkPSJNNyA2aDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chart-bar\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartBar = /*#__PURE__*/(() => {\n  class LucideChartBar extends LucideIconBase {\n    static icon = {\n      name: 'chart-bar',\n      size: 24,\n      node: [['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }], ['path', {\n        d: 'M7 16h8',\n        key: 'srdodz'\n      }], ['path', {\n        d: 'M7 11h12',\n        key: '127s9w'\n      }], ['path', {\n        d: 'M7 6h3',\n        key: 'w9rmul'\n      }]],\n      aliases: ['bar-chart-horizontal']\n    };\n    icon = signal(LucideChartBar.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartBar_BaseFactory;\n      return function LucideChartBar_Factory(__ngFactoryType__) {\n        return (ɵLucideChartBar_BaseFactory || (ɵLucideChartBar_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartBar)))(__ngFactoryType__ || LucideChartBar);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartBar,\n      selectors: [[\"svg\", \"lucideChartBar\", \"\"], [\"svg\", \"lucideBarChartHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c305,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartBar_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartBar_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartBar;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideChartBar\n */\nconst LucideBarChartHorizontal = LucideChartBar;\n\n/**\n * @component @name ChartCandlestick\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSA1djQiIC8+CiAgPHJlY3Qgd2lkdGg9IjQiIGhlaWdodD0iNiIgeD0iNyIgeT0iOSIgcng9IjEiIC8+CiAgPHBhdGggZD0iTTkgMTV2MiIgLz4KICA8cGF0aCBkPSJNMTcgM3YyIiAvPgogIDxyZWN0IHdpZHRoPSI0IiBoZWlnaHQ9IjgiIHg9IjE1IiB5PSI1IiByeD0iMSIgLz4KICA8cGF0aCBkPSJNMTcgMTN2MyIgLz4KICA8cGF0aCBkPSJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chart-candlestick\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartCandlestick = /*#__PURE__*/(() => {\n  class LucideChartCandlestick extends LucideIconBase {\n    static icon = {\n      name: 'chart-candlestick',\n      size: 24,\n      node: [['path', {\n        d: 'M9 5v4',\n        key: '14uxtq'\n      }], ['rect', {\n        width: '4',\n        height: '6',\n        x: '7',\n        y: '9',\n        rx: '1',\n        key: 'f4fvz0'\n      }], ['path', {\n        d: 'M9 15v2',\n        key: 'r5rk32'\n      }], ['path', {\n        d: 'M17 3v2',\n        key: '1l2re6'\n      }], ['rect', {\n        width: '4',\n        height: '8',\n        x: '15',\n        y: '5',\n        rx: '1',\n        key: 'z38je5'\n      }], ['path', {\n        d: 'M17 13v3',\n        key: '5l0wba'\n      }], ['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }]],\n      aliases: ['candlestick-chart']\n    };\n    icon = signal(LucideChartCandlestick.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartCandlestick_BaseFactory;\n      return function LucideChartCandlestick_Factory(__ngFactoryType__) {\n        return (ɵLucideChartCandlestick_BaseFactory || (ɵLucideChartCandlestick_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartCandlestick)))(__ngFactoryType__ || LucideChartCandlestick);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartCandlestick,\n      selectors: [[\"svg\", \"lucideChartCandlestick\", \"\"], [\"svg\", \"lucideCandlestickChart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c306,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartCandlestick_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartCandlestick_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartCandlestick;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideChartCandlestick\n */\nconst LucideCandlestickChart = LucideChartCandlestick;\n\n/**\n * @component @name ChartColumnBig\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYiIC8+CiAgPHJlY3QgeD0iMTUiIHk9IjUiIHdpZHRoPSI0IiBoZWlnaHQ9IjEyIiByeD0iMSIgLz4KICA8cmVjdCB4PSI3IiB5PSI4IiB3aWR0aD0iNCIgaGVpZ2h0PSI5IiByeD0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chart-column-big\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartColumnBig = /*#__PURE__*/(() => {\n  class LucideChartColumnBig extends LucideIconBase {\n    static icon = {\n      name: 'chart-column-big',\n      size: 24,\n      node: [['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }], ['rect', {\n        x: '15',\n        y: '5',\n        width: '4',\n        height: '12',\n        rx: '1',\n        key: 'q8uenq'\n      }], ['rect', {\n        x: '7',\n        y: '8',\n        width: '4',\n        height: '9',\n        rx: '1',\n        key: 'sr5ea'\n      }]],\n      aliases: ['bar-chart-big']\n    };\n    icon = signal(LucideChartColumnBig.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartColumnBig_BaseFactory;\n      return function LucideChartColumnBig_Factory(__ngFactoryType__) {\n        return (ɵLucideChartColumnBig_BaseFactory || (ɵLucideChartColumnBig_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartColumnBig)))(__ngFactoryType__ || LucideChartColumnBig);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartColumnBig,\n      selectors: [[\"svg\", \"lucideChartColumnBig\", \"\"], [\"svg\", \"lucideBarChartBig\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c307,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartColumnBig_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartColumnBig_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartColumnBig;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideChartColumnBig\n */\nconst LucideBarChartBig = LucideChartColumnBig;\n\n/**\n * @component @name ChartColumnDecreasing\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMTdWOSIgLz4KICA8cGF0aCBkPSJNMTggMTd2LTMiIC8+CiAgPHBhdGggZD0iTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2IiAvPgogIDxwYXRoIGQ9Ik04IDE3VjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chart-column-decreasing\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartColumnDecreasing = /*#__PURE__*/(() => {\n  class LucideChartColumnDecreasing extends LucideIconBase {\n    static icon = {\n      name: 'chart-column-decreasing',\n      size: 24,\n      node: [['path', {\n        d: 'M13 17V9',\n        key: '1fwyjl'\n      }], ['path', {\n        d: 'M18 17v-3',\n        key: '1sqioe'\n      }], ['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }], ['path', {\n        d: 'M8 17V5',\n        key: '1wzmnc'\n      }]]\n    };\n    icon = signal(LucideChartColumnDecreasing.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartColumnDecreasing_BaseFactory;\n      return function LucideChartColumnDecreasing_Factory(__ngFactoryType__) {\n        return (ɵLucideChartColumnDecreasing_BaseFactory || (ɵLucideChartColumnDecreasing_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartColumnDecreasing)))(__ngFactoryType__ || LucideChartColumnDecreasing);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartColumnDecreasing,\n      selectors: [[\"svg\", \"lucideChartColumnDecreasing\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c308,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartColumnDecreasing_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartColumnDecreasing_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartColumnDecreasing;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChartColumnIncreasing\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMTdWOSIgLz4KICA8cGF0aCBkPSJNMTggMTdWNSIgLz4KICA8cGF0aCBkPSJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYiIC8+CiAgPHBhdGggZD0iTTggMTd2LTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chart-column-increasing\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartColumnIncreasing = /*#__PURE__*/(() => {\n  class LucideChartColumnIncreasing extends LucideIconBase {\n    static icon = {\n      name: 'chart-column-increasing',\n      size: 24,\n      node: [['path', {\n        d: 'M13 17V9',\n        key: '1fwyjl'\n      }], ['path', {\n        d: 'M18 17V5',\n        key: 'sfb6ij'\n      }], ['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }], ['path', {\n        d: 'M8 17v-3',\n        key: '17ska0'\n      }]],\n      aliases: ['bar-chart-4']\n    };\n    icon = signal(LucideChartColumnIncreasing.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartColumnIncreasing_BaseFactory;\n      return function LucideChartColumnIncreasing_Factory(__ngFactoryType__) {\n        return (ɵLucideChartColumnIncreasing_BaseFactory || (ɵLucideChartColumnIncreasing_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartColumnIncreasing)))(__ngFactoryType__ || LucideChartColumnIncreasing);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartColumnIncreasing,\n      selectors: [[\"svg\", \"lucideChartColumnIncreasing\", \"\"], [\"svg\", \"lucideBarChart4\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c309,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartColumnIncreasing_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartColumnIncreasing_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartColumnIncreasing;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideChartColumnIncreasing\n */\nconst LucideBarChart4 = LucideChartColumnIncreasing;\n\n/**\n * @component @name ChartColumnStacked\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTNINyIgLz4KICA8cGF0aCBkPSJNMTkgOWgtNCIgLz4KICA8cGF0aCBkPSJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYiIC8+CiAgPHJlY3QgeD0iMTUiIHk9IjUiIHdpZHRoPSI0IiBoZWlnaHQ9IjEyIiByeD0iMSIgLz4KICA8cmVjdCB4PSI3IiB5PSI4IiB3aWR0aD0iNCIgaGVpZ2h0PSI5IiByeD0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chart-column-stacked\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartColumnStacked = /*#__PURE__*/(() => {\n  class LucideChartColumnStacked extends LucideIconBase {\n    static icon = {\n      name: 'chart-column-stacked',\n      size: 24,\n      node: [['path', {\n        d: 'M11 13H7',\n        key: 't0o9gq'\n      }], ['path', {\n        d: 'M19 9h-4',\n        key: 'rera1j'\n      }], ['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }], ['rect', {\n        x: '15',\n        y: '5',\n        width: '4',\n        height: '12',\n        rx: '1',\n        key: 'q8uenq'\n      }], ['rect', {\n        x: '7',\n        y: '8',\n        width: '4',\n        height: '9',\n        rx: '1',\n        key: 'sr5ea'\n      }]]\n    };\n    icon = signal(LucideChartColumnStacked.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartColumnStacked_BaseFactory;\n      return function LucideChartColumnStacked_Factory(__ngFactoryType__) {\n        return (ɵLucideChartColumnStacked_BaseFactory || (ɵLucideChartColumnStacked_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartColumnStacked)))(__ngFactoryType__ || LucideChartColumnStacked);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartColumnStacked,\n      selectors: [[\"svg\", \"lucideChartColumnStacked\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c310,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartColumnStacked_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartColumnStacked_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartColumnStacked;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Car\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgMTdoMmMuNiAwIDEtLjQgMS0xdi0zYzAtLjktLjctMS43LTEuNS0xLjlDMTguNyAxMC42IDE2IDEwIDE2IDEwcy0xLjMtMS40LTIuMi0yLjNjLS41LS40LTEuMS0uNy0xLjgtLjdINWMtLjYgMC0xLjEuNC0xLjQuOWwtMS40IDIuOUEzLjcgMy43IDAgMCAwIDIgMTJ2NGMwIC42LjQgMSAxIDFoMiIgLz4KICA8Y2lyY2xlIGN4PSI3IiBjeT0iMTciIHI9IjIiIC8+CiAgPHBhdGggZD0iTTkgMTdoNiIgLz4KICA8Y2lyY2xlIGN4PSIxNyIgY3k9IjE3IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/car\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCar = /*#__PURE__*/(() => {\n  class LucideCar extends LucideIconBase {\n    static icon = {\n      name: 'car',\n      size: 24,\n      node: [['path', {\n        d: 'M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2',\n        key: '5owen'\n      }], ['circle', {\n        cx: '7',\n        cy: '17',\n        r: '2',\n        key: 'u2ysq9'\n      }], ['path', {\n        d: 'M9 17h6',\n        key: 'r8uit2'\n      }], ['circle', {\n        cx: '17',\n        cy: '17',\n        r: '2',\n        key: 'axvx0g'\n      }]]\n    };\n    icon = signal(LucideCar.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCar_BaseFactory;\n      return function LucideCar_Factory(__ngFactoryType__) {\n        return (ɵLucideCar_BaseFactory || (ɵLucideCar_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCar)))(__ngFactoryType__ || LucideCar);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCar,\n      selectors: [[\"svg\", \"lucideCar\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c311,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCar_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCar_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCar;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChartColumn\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYiIC8+CiAgPHBhdGggZD0iTTE4IDE3VjkiIC8+CiAgPHBhdGggZD0iTTEzIDE3VjUiIC8+CiAgPHBhdGggZD0iTTggMTd2LTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chart-column\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartColumn = /*#__PURE__*/(() => {\n  class LucideChartColumn extends LucideIconBase {\n    static icon = {\n      name: 'chart-column',\n      size: 24,\n      node: [['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }], ['path', {\n        d: 'M18 17V9',\n        key: '2bz60n'\n      }], ['path', {\n        d: 'M13 17V5',\n        key: '1frdt8'\n      }], ['path', {\n        d: 'M8 17v-3',\n        key: '17ska0'\n      }]],\n      aliases: ['bar-chart-3']\n    };\n    icon = signal(LucideChartColumn.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartColumn_BaseFactory;\n      return function LucideChartColumn_Factory(__ngFactoryType__) {\n        return (ɵLucideChartColumn_BaseFactory || (ɵLucideChartColumn_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartColumn)))(__ngFactoryType__ || LucideChartColumn);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartColumn,\n      selectors: [[\"svg\", \"lucideChartColumn\", \"\"], [\"svg\", \"lucideBarChart3\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c312,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartColumn_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartColumn_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartColumn;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideChartColumn\n */\nconst LucideBarChart3 = LucideChartColumn;\n\n/**\n * @component @name ChartLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYiIC8+CiAgPHBhdGggZD0ibTE5IDktNSA1LTQtNC0zIDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chart-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartLine = /*#__PURE__*/(() => {\n  class LucideChartLine extends LucideIconBase {\n    static icon = {\n      name: 'chart-line',\n      size: 24,\n      node: [['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }], ['path', {\n        d: 'm19 9-5 5-4-4-3 3',\n        key: '2osh9i'\n      }]],\n      aliases: ['line-chart']\n    };\n    icon = signal(LucideChartLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartLine_BaseFactory;\n      return function LucideChartLine_Factory(__ngFactoryType__) {\n        return (ɵLucideChartLine_BaseFactory || (ɵLucideChartLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartLine)))(__ngFactoryType__ || LucideChartLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartLine,\n      selectors: [[\"svg\", \"lucideChartLine\", \"\"], [\"svg\", \"lucideLineChart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c313,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideChartLine\n */\nconst LucideLineChart = LucideChartLine;\n\n/**\n * @component @name ChartNetwork\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTMuMTEgNy42NjQgMS43OCAyLjY3MiIgLz4KICA8cGF0aCBkPSJtMTQuMTYyIDEyLjc4OC0zLjMyNCAxLjQyNCIgLz4KICA8cGF0aCBkPSJtMjAgNC02LjA2IDEuNTE1IiAvPgogIDxwYXRoIGQ9Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjYiIHI9IjIiIC8+CiAgPGNpcmNsZSBjeD0iMTYiIGN5PSIxMiIgcj0iMiIgLz4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iMTUiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chart-network\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartNetwork = /*#__PURE__*/(() => {\n  class LucideChartNetwork extends LucideIconBase {\n    static icon = {\n      name: 'chart-network',\n      size: 24,\n      node: [['path', {\n        d: 'm13.11 7.664 1.78 2.672',\n        key: 'go2gg9'\n      }], ['path', {\n        d: 'm14.162 12.788-3.324 1.424',\n        key: '11x848'\n      }], ['path', {\n        d: 'm20 4-6.06 1.515',\n        key: '1wxxh7'\n      }], ['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }], ['circle', {\n        cx: '12',\n        cy: '6',\n        r: '2',\n        key: '1jj5th'\n      }], ['circle', {\n        cx: '16',\n        cy: '12',\n        r: '2',\n        key: '4ma0v8'\n      }], ['circle', {\n        cx: '9',\n        cy: '15',\n        r: '2',\n        key: 'lf2ghp'\n      }]]\n    };\n    icon = signal(LucideChartNetwork.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartNetwork_BaseFactory;\n      return function LucideChartNetwork_Factory(__ngFactoryType__) {\n        return (ɵLucideChartNetwork_BaseFactory || (ɵLucideChartNetwork_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartNetwork)))(__ngFactoryType__ || LucideChartNetwork);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartNetwork,\n      selectors: [[\"svg\", \"lucideChartNetwork\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c314,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartNetwork_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartNetwork_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartNetwork;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChartNoAxesColumnDecreasing\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAyMVYzIiAvPgogIDxwYXRoIGQ9Ik0xMiAyMVY5IiAvPgogIDxwYXRoIGQ9Ik0xOSAyMXYtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chart-no-axes-column-decreasing\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartNoAxesColumnDecreasing = /*#__PURE__*/(() => {\n  class LucideChartNoAxesColumnDecreasing extends LucideIconBase {\n    static icon = {\n      name: 'chart-no-axes-column-decreasing',\n      size: 24,\n      node: [['path', {\n        d: 'M5 21V3',\n        key: 'clc1r8'\n      }], ['path', {\n        d: 'M12 21V9',\n        key: 'uvy0l4'\n      }], ['path', {\n        d: 'M19 21v-6',\n        key: 'tkawy9'\n      }]]\n    };\n    icon = signal(LucideChartNoAxesColumnDecreasing.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartNoAxesColumnDecreasing_BaseFactory;\n      return function LucideChartNoAxesColumnDecreasing_Factory(__ngFactoryType__) {\n        return (ɵLucideChartNoAxesColumnDecreasing_BaseFactory || (ɵLucideChartNoAxesColumnDecreasing_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartNoAxesColumnDecreasing)))(__ngFactoryType__ || LucideChartNoAxesColumnDecreasing);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartNoAxesColumnDecreasing,\n      selectors: [[\"svg\", \"lucideChartNoAxesColumnDecreasing\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c315,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartNoAxesColumnDecreasing_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartNoAxesColumnDecreasing_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartNoAxesColumnDecreasing;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChartNoAxesColumnIncreasing\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAyMXYtNiIgLz4KICA8cGF0aCBkPSJNMTIgMjFWOSIgLz4KICA8cGF0aCBkPSJNMTkgMjFWMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chart-no-axes-column-increasing\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartNoAxesColumnIncreasing = /*#__PURE__*/(() => {\n  class LucideChartNoAxesColumnIncreasing extends LucideIconBase {\n    static icon = {\n      name: 'chart-no-axes-column-increasing',\n      size: 24,\n      node: [['path', {\n        d: 'M5 21v-6',\n        key: '1hz6c0'\n      }], ['path', {\n        d: 'M12 21V9',\n        key: 'uvy0l4'\n      }], ['path', {\n        d: 'M19 21V3',\n        key: '11j9sm'\n      }]],\n      aliases: ['bar-chart']\n    };\n    icon = signal(LucideChartNoAxesColumnIncreasing.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartNoAxesColumnIncreasing_BaseFactory;\n      return function LucideChartNoAxesColumnIncreasing_Factory(__ngFactoryType__) {\n        return (ɵLucideChartNoAxesColumnIncreasing_BaseFactory || (ɵLucideChartNoAxesColumnIncreasing_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartNoAxesColumnIncreasing)))(__ngFactoryType__ || LucideChartNoAxesColumnIncreasing);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartNoAxesColumnIncreasing,\n      selectors: [[\"svg\", \"lucideChartNoAxesColumnIncreasing\", \"\"], [\"svg\", \"lucideBarChart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c316,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartNoAxesColumnIncreasing_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartNoAxesColumnIncreasing_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartNoAxesColumnIncreasing;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideChartNoAxesColumnIncreasing\n */\nconst LucideBarChart = LucideChartNoAxesColumnIncreasing;\n\n/**\n * @component @name ChartNoAxesColumn\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAyMXYtNiIgLz4KICA8cGF0aCBkPSJNMTIgMjFWMyIgLz4KICA8cGF0aCBkPSJNMTkgMjFWOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chart-no-axes-column\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartNoAxesColumn = /*#__PURE__*/(() => {\n  class LucideChartNoAxesColumn extends LucideIconBase {\n    static icon = {\n      name: 'chart-no-axes-column',\n      size: 24,\n      node: [['path', {\n        d: 'M5 21v-6',\n        key: '1hz6c0'\n      }], ['path', {\n        d: 'M12 21V3',\n        key: '1lcnhd'\n      }], ['path', {\n        d: 'M19 21V9',\n        key: 'unv183'\n      }]],\n      aliases: ['bar-chart-2']\n    };\n    icon = signal(LucideChartNoAxesColumn.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartNoAxesColumn_BaseFactory;\n      return function LucideChartNoAxesColumn_Factory(__ngFactoryType__) {\n        return (ɵLucideChartNoAxesColumn_BaseFactory || (ɵLucideChartNoAxesColumn_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartNoAxesColumn)))(__ngFactoryType__ || LucideChartNoAxesColumn);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartNoAxesColumn,\n      selectors: [[\"svg\", \"lucideChartNoAxesColumn\", \"\"], [\"svg\", \"lucideBarChart2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c317,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartNoAxesColumn_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartNoAxesColumn_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartNoAxesColumn;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideChartNoAxesColumn\n */\nconst LucideBarChart2 = LucideChartNoAxesColumn;\n\n/**\n * @component @name ChartNoAxesCombined\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTZ2NSIgLz4KICA8cGF0aCBkPSJNMTYgMTR2NyIgLz4KICA8cGF0aCBkPSJNMjAgMTB2MTEiIC8+CiAgPHBhdGggZD0ibTIyIDMtOC42NDYgOC42NDZhLjUuNSAwIDAgMS0uNzA4IDBMOS4zNTQgOC4zNTRhLjUuNSAwIDAgMC0uNzA3IDBMMiAxNSIgLz4KICA8cGF0aCBkPSJNNCAxOHYzIiAvPgogIDxwYXRoIGQ9Ik04IDE0djciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chart-no-axes-combined\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartNoAxesCombined = /*#__PURE__*/(() => {\n  class LucideChartNoAxesCombined extends LucideIconBase {\n    static icon = {\n      name: 'chart-no-axes-combined',\n      size: 24,\n      node: [['path', {\n        d: 'M12 16v5',\n        key: 'zza2cw'\n      }], ['path', {\n        d: 'M16 14v7',\n        key: '1g90b9'\n      }], ['path', {\n        d: 'M20 10v11',\n        key: '1iqoj0'\n      }], ['path', {\n        d: 'm22 3-8.646 8.646a.5.5 0 0 1-.708 0L9.354 8.354a.5.5 0 0 0-.707 0L2 15',\n        key: '1fw8x9'\n      }], ['path', {\n        d: 'M4 18v3',\n        key: '1yp0dc'\n      }], ['path', {\n        d: 'M8 14v7',\n        key: 'n3cwzv'\n      }]]\n    };\n    icon = signal(LucideChartNoAxesCombined.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartNoAxesCombined_BaseFactory;\n      return function LucideChartNoAxesCombined_Factory(__ngFactoryType__) {\n        return (ɵLucideChartNoAxesCombined_BaseFactory || (ɵLucideChartNoAxesCombined_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartNoAxesCombined)))(__ngFactoryType__ || LucideChartNoAxesCombined);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartNoAxesCombined,\n      selectors: [[\"svg\", \"lucideChartNoAxesCombined\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c318,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartNoAxesCombined_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartNoAxesCombined_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartNoAxesCombined;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChartNoAxesGantt\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiA1aDEyIiAvPgogIDxwYXRoIGQ9Ik00IDEyaDEwIiAvPgogIDxwYXRoIGQ9Ik0xMiAxOWg4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/chart-no-axes-gantt\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartNoAxesGantt = /*#__PURE__*/(() => {\n  class LucideChartNoAxesGantt extends LucideIconBase {\n    static icon = {\n      name: 'chart-no-axes-gantt',\n      size: 24,\n      node: [['path', {\n        d: 'M6 5h12',\n        key: 'fvfigv'\n      }], ['path', {\n        d: 'M4 12h10',\n        key: 'oujl3d'\n      }], ['path', {\n        d: 'M12 19h8',\n        key: 'baeox8'\n      }]],\n      aliases: ['gantt-chart']\n    };\n    icon = signal(LucideChartNoAxesGantt.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartNoAxesGantt_BaseFactory;\n      return function LucideChartNoAxesGantt_Factory(__ngFactoryType__) {\n        return (ɵLucideChartNoAxesGantt_BaseFactory || (ɵLucideChartNoAxesGantt_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartNoAxesGantt)))(__ngFactoryType__ || LucideChartNoAxesGantt);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartNoAxesGantt,\n      selectors: [[\"svg\", \"lucideChartNoAxesGantt\", \"\"], [\"svg\", \"lucideGanttChart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c319,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartNoAxesGantt_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartNoAxesGantt_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartNoAxesGantt;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideChartNoAxesGantt\n */\nconst LucideGanttChart = LucideChartNoAxesGantt;\n\n/**\n * @component @name ChartPie\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJjLjU1MiAwIDEuMDA1LS40NDkuOTUtLjk5OGExMCAxMCAwIDAgMC04Ljk1My04Ljk1MWMtLjU1LS4wNTUtLjk5OC4zOTgtLjk5OC45NXY4YTEgMSAwIDAgMCAxIDF6IiAvPgogIDxwYXRoIGQ9Ik0yMS4yMSAxNS44OUExMCAxMCAwIDEgMSA4IDIuODMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chart-pie\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartPie = /*#__PURE__*/(() => {\n  class LucideChartPie extends LucideIconBase {\n    static icon = {\n      name: 'chart-pie',\n      size: 24,\n      node: [['path', {\n        d: 'M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z',\n        key: 'pzmjnu'\n      }], ['path', {\n        d: 'M21.21 15.89A10 10 0 1 1 8 2.83',\n        key: 'k2fpak'\n      }]],\n      aliases: ['pie-chart']\n    };\n    icon = signal(LucideChartPie.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartPie_BaseFactory;\n      return function LucideChartPie_Factory(__ngFactoryType__) {\n        return (ɵLucideChartPie_BaseFactory || (ɵLucideChartPie_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartPie)))(__ngFactoryType__ || LucideChartPie);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartPie,\n      selectors: [[\"svg\", \"lucideChartPie\", \"\"], [\"svg\", \"lucidePieChart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c320,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartPie_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartPie_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartPie;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideChartPie\n */\nconst LucidePieChart = LucideChartPie;\n\n/**\n * @component @name ChartScatter\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI3LjUiIGN5PSI3LjUiIHI9Ii41IiBmaWxsPSJjdXJyZW50Q29sb3IiIC8+CiAgPGNpcmNsZSBjeD0iMTguNSIgY3k9IjUuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KICA8Y2lyY2xlIGN4PSIxMS41IiBjeT0iMTEuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KICA8Y2lyY2xlIGN4PSI3LjUiIGN5PSIxNi41IiByPSIuNSIgZmlsbD0iY3VycmVudENvbG9yIiAvPgogIDxjaXJjbGUgY3g9IjE3LjUiIGN5PSIxNC41IiByPSIuNSIgZmlsbD0iY3VycmVudENvbG9yIiAvPgogIDxwYXRoIGQ9Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chart-scatter\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartScatter = /*#__PURE__*/(() => {\n  class LucideChartScatter extends LucideIconBase {\n    static icon = {\n      name: 'chart-scatter',\n      size: 24,\n      node: [['circle', {\n        cx: '7.5',\n        cy: '7.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: 'kqv944'\n      }], ['circle', {\n        cx: '18.5',\n        cy: '5.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: 'lysivs'\n      }], ['circle', {\n        cx: '11.5',\n        cy: '11.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: 'byv1b8'\n      }], ['circle', {\n        cx: '7.5',\n        cy: '16.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: 'nkw3mc'\n      }], ['circle', {\n        cx: '17.5',\n        cy: '14.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: '1gjh6j'\n      }], ['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }]],\n      aliases: ['scatter-chart']\n    };\n    icon = signal(LucideChartScatter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartScatter_BaseFactory;\n      return function LucideChartScatter_Factory(__ngFactoryType__) {\n        return (ɵLucideChartScatter_BaseFactory || (ɵLucideChartScatter_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartScatter)))(__ngFactoryType__ || LucideChartScatter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartScatter,\n      selectors: [[\"svg\", \"lucideChartScatter\", \"\"], [\"svg\", \"lucideScatterChart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c321,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartScatter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartScatter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartScatter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideChartScatter\n */\nconst LucideScatterChart = LucideChartScatter;\n\n/**\n * @component @name ChartSpline\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYiIC8+CiAgPHBhdGggZD0iTTcgMTZjLjUtMiAxLjUtNyA0LTcgMiAwIDIgMyA0IDMgMi41IDAgNC41LTUgNS03IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/chart-spline\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartSpline = /*#__PURE__*/(() => {\n  class LucideChartSpline extends LucideIconBase {\n    static icon = {\n      name: 'chart-spline',\n      size: 24,\n      node: [['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }], ['path', {\n        d: 'M7 16c.5-2 1.5-7 4-7 2 0 2 3 4 3 2.5 0 4.5-5 5-7',\n        key: 'lw07rv'\n      }]]\n    };\n    icon = signal(LucideChartSpline.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartSpline_BaseFactory;\n      return function LucideChartSpline_Factory(__ngFactoryType__) {\n        return (ɵLucideChartSpline_BaseFactory || (ɵLucideChartSpline_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartSpline)))(__ngFactoryType__ || LucideChartSpline);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartSpline,\n      selectors: [[\"svg\", \"lucideChartSpline\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c322,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartSpline_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartSpline_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartSpline;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CheckCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggNiA3IDE3bC01LTUiIC8+CiAgPHBhdGggZD0ibTIyIDEwLTcuNSA3LjVMMTMgMTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/check-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCheckCheck = /*#__PURE__*/(() => {\n  class LucideCheckCheck extends LucideIconBase {\n    static icon = {\n      name: 'check-check',\n      size: 24,\n      node: [['path', {\n        d: 'M18 6 7 17l-5-5',\n        key: '116fxf'\n      }], ['path', {\n        d: 'm22 10-7.5 7.5L13 16',\n        key: 'ke71qq'\n      }]]\n    };\n    icon = signal(LucideCheckCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCheckCheck_BaseFactory;\n      return function LucideCheckCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideCheckCheck_BaseFactory || (ɵLucideCheckCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCheckCheck)))(__ngFactoryType__ || LucideCheckCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCheckCheck,\n      selectors: [[\"svg\", \"lucideCheckCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c323,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCheckCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCheckCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCheckCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CheckLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNEw5IDE1IiAvPgogIDxwYXRoIGQ9Ik0yMSAxOUwzIDE5IiAvPgogIDxwYXRoIGQ9Ik05IDE1TDQgMTAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/check-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCheckLine = /*#__PURE__*/(() => {\n  class LucideCheckLine extends LucideIconBase {\n    static icon = {\n      name: 'check-line',\n      size: 24,\n      node: [['path', {\n        d: 'M20 4L9 15',\n        key: '1qkx8z'\n      }], ['path', {\n        d: 'M21 19L3 19',\n        key: '100sma'\n      }], ['path', {\n        d: 'M9 15L4 10',\n        key: '9zxff7'\n      }]]\n    };\n    icon = signal(LucideCheckLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCheckLine_BaseFactory;\n      return function LucideCheckLine_Factory(__ngFactoryType__) {\n        return (ɵLucideCheckLine_BaseFactory || (ɵLucideCheckLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCheckLine)))(__ngFactoryType__ || LucideCheckLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCheckLine,\n      selectors: [[\"svg\", \"lucideCheckLine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c324,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCheckLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCheckLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCheckLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCheck = /*#__PURE__*/(() => {\n  class LucideCheck extends LucideIconBase {\n    static icon = {\n      name: 'check',\n      size: 24,\n      node: [['path', {\n        d: 'M20 6 9 17l-5-5',\n        key: '1gmf2c'\n      }]]\n    };\n    icon = signal(LucideCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCheck_BaseFactory;\n      return function LucideCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideCheck_BaseFactory || (ɵLucideCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCheck)))(__ngFactoryType__ || LucideCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCheck,\n      selectors: [[\"svg\", \"lucideCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c325,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChefHat\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgMjFhMSAxIDAgMCAwIDEtMXYtNS4zNWMwLS40NTcuMzE2LS44NDQuNzI3LTEuMDQxYTQgNCAwIDAgMC0yLjEzNC03LjU4OSA1IDUgMCAwIDAtOS4xODYgMCA0IDQgMCAwIDAtMi4xMzQgNy41ODhjLjQxMS4xOTguNzI3LjU4NS43MjcgMS4wNDFWMjBhMSAxIDAgMCAwIDEgMVoiIC8+CiAgPHBhdGggZD0iTTYgMTdoMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chef-hat\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChefHat = /*#__PURE__*/(() => {\n  class LucideChefHat extends LucideIconBase {\n    static icon = {\n      name: 'chef-hat',\n      size: 24,\n      node: [['path', {\n        d: 'M17 21a1 1 0 0 0 1-1v-5.35c0-.457.316-.844.727-1.041a4 4 0 0 0-2.134-7.589 5 5 0 0 0-9.186 0 4 4 0 0 0-2.134 7.588c.411.198.727.585.727 1.041V20a1 1 0 0 0 1 1Z',\n        key: '1qvrer'\n      }], ['path', {\n        d: 'M6 17h12',\n        key: '1jwigz'\n      }]]\n    };\n    icon = signal(LucideChefHat.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChefHat_BaseFactory;\n      return function LucideChefHat_Factory(__ngFactoryType__) {\n        return (ɵLucideChefHat_BaseFactory || (ɵLucideChefHat_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChefHat)))(__ngFactoryType__ || LucideChefHat);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChefHat,\n      selectors: [[\"svg\", \"lucideChefHat\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c326,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChefHat_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChefHat_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChefHat;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cherry\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxN2E1IDUgMCAwIDAgMTAgMGMwLTIuNzYtMi41LTUtNS0zLTIuNS0yLTUgLjI0LTUgM1oiIC8+CiAgPHBhdGggZD0iTTEyIDE3YTUgNSAwIDAgMCAxMCAwYzAtMi43Ni0yLjUtNS01LTMtMi41LTItNSAuMjQtNSAzWiIgLz4KICA8cGF0aCBkPSJNNyAxNGMzLjIyLTIuOTEgNC4yOS04Ljc1IDUtMTIgMS42NiAyLjM4IDQuOTQgOSA1IDEyIiAvPgogIDxwYXRoIGQ9Ik0yMiA5Yy00LjI5IDAtNy4xNC0yLjMzLTEwLTcgNS43MSAwIDEwIDQuNjcgMTAgN1oiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cherry\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCherry = /*#__PURE__*/(() => {\n  class LucideCherry extends LucideIconBase {\n    static icon = {\n      name: 'cherry',\n      size: 24,\n      node: [['path', {\n        d: 'M2 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z',\n        key: 'cvxqlc'\n      }], ['path', {\n        d: 'M12 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z',\n        key: '1ostrc'\n      }], ['path', {\n        d: 'M7 14c3.22-2.91 4.29-8.75 5-12 1.66 2.38 4.94 9 5 12',\n        key: 'hqx58h'\n      }], ['path', {\n        d: 'M22 9c-4.29 0-7.14-2.33-10-7 5.71 0 10 4.67 10 7Z',\n        key: 'eykp1o'\n      }]]\n    };\n    icon = signal(LucideCherry.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCherry_BaseFactory;\n      return function LucideCherry_Factory(__ngFactoryType__) {\n        return (ɵLucideCherry_BaseFactory || (ɵLucideCherry_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCherry)))(__ngFactoryType__ || LucideCherry);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCherry,\n      selectors: [[\"svg\", \"lucideCherry\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c327,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCherry_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCherry_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCherry;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChessBishop\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAyMGEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDZhMSAxIDAgMCAxLTEtMXoiIC8+CiAgPHBhdGggZD0iTTE1IDE4YzEuNS0uNjE1IDMtMi40NjEgMy00LjkyM0MxOCA4Ljc2OSAxNC41IDQuNDYyIDEyIDIgOS41IDQuNDYyIDYgOC43NyA2IDEzLjA3NyA2IDE1LjUzOSA3LjUgMTcuMzg1IDkgMTgiIC8+CiAgPHBhdGggZD0ibTE2IDctMi41IDIuNSIgLz4KICA8cGF0aCBkPSJNOSAyaDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chess-bishop\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChessBishop = /*#__PURE__*/(() => {\n  class LucideChessBishop extends LucideIconBase {\n    static icon = {\n      name: 'chess-bishop',\n      size: 24,\n      node: [['path', {\n        d: 'M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z',\n        key: 'b89hwq'\n      }], ['path', {\n        d: 'M15 18c1.5-.615 3-2.461 3-4.923C18 8.769 14.5 4.462 12 2 9.5 4.462 6 8.77 6 13.077 6 15.539 7.5 17.385 9 18',\n        key: '8jdkhx'\n      }], ['path', {\n        d: 'm16 7-2.5 2.5',\n        key: '1jq90w'\n      }], ['path', {\n        d: 'M9 2h6',\n        key: '1jrp98'\n      }]]\n    };\n    icon = signal(LucideChessBishop.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChessBishop_BaseFactory;\n      return function LucideChessBishop_Factory(__ngFactoryType__) {\n        return (ɵLucideChessBishop_BaseFactory || (ɵLucideChessBishop_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChessBishop)))(__ngFactoryType__ || LucideChessBishop);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChessBishop,\n      selectors: [[\"svg\", \"lucideChessBishop\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c328,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChessBishop_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChessBishop_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChessBishop;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChessKing\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAyMGEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDVhMSAxIDAgMCAxLTEtMXoiIC8+CiAgPHBhdGggZD0ibTYuNyAxOC0xLTFDNC4zNSAxNS42ODIgMyAxNC4wOSAzIDEyYTUgNSAwIDAgMSA0Ljk1LTVjMS41ODQgMCAyLjcuNDU1IDQuMDUgMS44MThDMTMuMzUgNy40NTUgMTQuNDY2IDcgMTYuMDUgN0E1IDUgMCAwIDEgMjEgMTJjMCAyLjA4Mi0xLjM1OSAzLjY3My0yLjcgNWwtMSAxIiAvPgogIDxwYXRoIGQ9Ik0xMCA0aDQiIC8+CiAgPHBhdGggZD0iTTEyIDJ2Ni44MTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chess-king\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChessKing = /*#__PURE__*/(() => {\n  class LucideChessKing extends LucideIconBase {\n    static icon = {\n      name: 'chess-king',\n      size: 24,\n      node: [['path', {\n        d: 'M4 20a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z',\n        key: 'mqzwx6'\n      }], ['path', {\n        d: 'm6.7 18-1-1C4.35 15.682 3 14.09 3 12a5 5 0 0 1 4.95-5c1.584 0 2.7.455 4.05 1.818C13.35 7.455 14.466 7 16.05 7A5 5 0 0 1 21 12c0 2.082-1.359 3.673-2.7 5l-1 1',\n        key: '1gdt1g'\n      }], ['path', {\n        d: 'M10 4h4',\n        key: '1xpv9s'\n      }], ['path', {\n        d: 'M12 2v6.818',\n        key: 'b17a49'\n      }]]\n    };\n    icon = signal(LucideChessKing.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChessKing_BaseFactory;\n      return function LucideChessKing_Factory(__ngFactoryType__) {\n        return (ɵLucideChessKing_BaseFactory || (ɵLucideChessKing_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChessKing)))(__ngFactoryType__ || LucideChessKing);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChessKing,\n      selectors: [[\"svg\", \"lucideChessKing\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c329,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChessKing_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChessKing_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChessKing;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChessKnight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAyMGEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDZhMSAxIDAgMCAxLTEtMXoiIC8+CiAgPHBhdGggZD0iTTE2LjUgMThjMS0yIDIuNS01IDIuNS05YTcgNyAwIDAgMC03LTdINi42MzVhMSAxIDAgMCAwLS43NjggMS42NEw3IDVsLTIuMzIgNS44MDJhMiAyIDAgMCAwIC45NSAyLjUyNmwyLjg3IDEuNDU2IiAvPgogIDxwYXRoIGQ9Im0xNSA1IDEuNDI1LTEuNDI1IiAvPgogIDxwYXRoIGQ9Im0xNyA4IDEuNTMtMS41MyIgLz4KICA8cGF0aCBkPSJNOS43MTMgMTIuMTg1IDcgMTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chess-knight\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChessKnight = /*#__PURE__*/(() => {\n  class LucideChessKnight extends LucideIconBase {\n    static icon = {\n      name: 'chess-knight',\n      size: 24,\n      node: [['path', {\n        d: 'M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z',\n        key: 'b89hwq'\n      }], ['path', {\n        d: 'M16.5 18c1-2 2.5-5 2.5-9a7 7 0 0 0-7-7H6.635a1 1 0 0 0-.768 1.64L7 5l-2.32 5.802a2 2 0 0 0 .95 2.526l2.87 1.456',\n        key: 'axbnlq'\n      }], ['path', {\n        d: 'm15 5 1.425-1.425',\n        key: '15xz8w'\n      }], ['path', {\n        d: 'm17 8 1.53-1.53',\n        key: '15zhqh'\n      }], ['path', {\n        d: 'M9.713 12.185 7 18',\n        key: '1ocm0l'\n      }]]\n    };\n    icon = signal(LucideChessKnight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChessKnight_BaseFactory;\n      return function LucideChessKnight_Factory(__ngFactoryType__) {\n        return (ɵLucideChessKnight_BaseFactory || (ɵLucideChessKnight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChessKnight)))(__ngFactoryType__ || LucideChessKnight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChessKnight,\n      selectors: [[\"svg\", \"lucideChessKnight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c330,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChessKnight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChessKnight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChessKnight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChessPawn\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAyMGEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDZhMSAxIDAgMCAxLTEtMXoiIC8+CiAgPHBhdGggZD0ibTE0LjUgMTAgMS41IDgiIC8+CiAgPHBhdGggZD0iTTcgMTBoMTAiIC8+CiAgPHBhdGggZD0ibTggMTggMS41LTgiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSI2IiByPSI0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/chess-pawn\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChessPawn = /*#__PURE__*/(() => {\n  class LucideChessPawn extends LucideIconBase {\n    static icon = {\n      name: 'chess-pawn',\n      size: 24,\n      node: [['path', {\n        d: 'M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z',\n        key: 'b89hwq'\n      }], ['path', {\n        d: 'm14.5 10 1.5 8',\n        key: 'cim3qy'\n      }], ['path', {\n        d: 'M7 10h10',\n        key: '1101jm'\n      }], ['path', {\n        d: 'm8 18 1.5-8',\n        key: 'ja3yjd'\n      }], ['circle', {\n        cx: '12',\n        cy: '6',\n        r: '4',\n        key: '1frrej'\n      }]]\n    };\n    icon = signal(LucideChessPawn.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChessPawn_BaseFactory;\n      return function LucideChessPawn_Factory(__ngFactoryType__) {\n        return (ɵLucideChessPawn_BaseFactory || (ɵLucideChessPawn_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChessPawn)))(__ngFactoryType__ || LucideChessPawn);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChessPawn,\n      selectors: [[\"svg\", \"lucideChessPawn\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c331,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChessPawn_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChessPawn_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChessPawn;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChessQueen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAyMGEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDVhMSAxIDAgMCAxLTEtMXoiIC8+CiAgPHBhdGggZD0ibTEyLjQ3NCA1Ljk0MyAxLjU2NyA1LjM0YTEgMSAwIDAgMCAxLjc1LjMyOGwyLjYxNi0zLjQwMiIgLz4KICA8cGF0aCBkPSJtMjAgOS0zIDkiIC8+CiAgPHBhdGggZD0ibTUuNTk0IDguMjA5IDIuNjE1IDMuNDAzYTEgMSAwIDAgMCAxLjc1LS4zMjlsMS41NjctNS4zNCIgLz4KICA8cGF0aCBkPSJNNyAxOCA0IDkiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSI0IiByPSIyIiAvPgogIDxjaXJjbGUgY3g9IjIwIiBjeT0iNyIgcj0iMiIgLz4KICA8Y2lyY2xlIGN4PSI0IiBjeT0iNyIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chess-queen\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChessQueen = /*#__PURE__*/(() => {\n  class LucideChessQueen extends LucideIconBase {\n    static icon = {\n      name: 'chess-queen',\n      size: 24,\n      node: [['path', {\n        d: 'M4 20a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z',\n        key: 'mqzwx6'\n      }], ['path', {\n        d: 'm12.474 5.943 1.567 5.34a1 1 0 0 0 1.75.328l2.616-3.402',\n        key: '1js4gl'\n      }], ['path', {\n        d: 'm20 9-3 9',\n        key: 'r75r3f'\n      }], ['path', {\n        d: 'm5.594 8.209 2.615 3.403a1 1 0 0 0 1.75-.329l1.567-5.34',\n        key: '1joj19'\n      }], ['path', {\n        d: 'M7 18 4 9',\n        key: '1mfzj8'\n      }], ['circle', {\n        cx: '12',\n        cy: '4',\n        r: '2',\n        key: 'muu5ef'\n      }], ['circle', {\n        cx: '20',\n        cy: '7',\n        r: '2',\n        key: '9w7p1x'\n      }], ['circle', {\n        cx: '4',\n        cy: '7',\n        r: '2',\n        key: '1d9wy8'\n      }]]\n    };\n    icon = signal(LucideChessQueen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChessQueen_BaseFactory;\n      return function LucideChessQueen_Factory(__ngFactoryType__) {\n        return (ɵLucideChessQueen_BaseFactory || (ɵLucideChessQueen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChessQueen)))(__ngFactoryType__ || LucideChessQueen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChessQueen,\n      selectors: [[\"svg\", \"lucideChessQueen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c332,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChessQueen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChessQueen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChessQueen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChessRook\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAyMGEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDZhMSAxIDAgMCAxLTEtMXoiIC8+CiAgPHBhdGggZD0iTTEwIDJ2MiIgLz4KICA8cGF0aCBkPSJNMTQgMnYyIiAvPgogIDxwYXRoIGQ9Im0xNyAxOC0xLTkiIC8+CiAgPHBhdGggZD0iTTYgMnY1YTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0yVjIiIC8+CiAgPHBhdGggZD0iTTYgNGgxMiIgLz4KICA8cGF0aCBkPSJtNyAxOCAxLTkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chess-rook\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChessRook = /*#__PURE__*/(() => {\n  class LucideChessRook extends LucideIconBase {\n    static icon = {\n      name: 'chess-rook',\n      size: 24,\n      node: [['path', {\n        d: 'M5 20a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z',\n        key: 'b89hwq'\n      }], ['path', {\n        d: 'M10 2v2',\n        key: '7u0qdc'\n      }], ['path', {\n        d: 'M14 2v2',\n        key: '6buw04'\n      }], ['path', {\n        d: 'm17 18-1-9',\n        key: '10nd7q'\n      }], ['path', {\n        d: 'M6 2v5a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2',\n        key: 'uxf4yx'\n      }], ['path', {\n        d: 'M6 4h12',\n        key: '1x2ag7'\n      }], ['path', {\n        d: 'm7 18 1-9',\n        key: '1si9vq'\n      }]]\n    };\n    icon = signal(LucideChessRook.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChessRook_BaseFactory;\n      return function LucideChessRook_Factory(__ngFactoryType__) {\n        return (ɵLucideChessRook_BaseFactory || (ɵLucideChessRook_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChessRook)))(__ngFactoryType__ || LucideChessRook);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChessRook,\n      selectors: [[\"svg\", \"lucideChessRook\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c333,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChessRook_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChessRook_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChessRook;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChevronDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiA5IDYgNiA2LTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chevron-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChevronDown = /*#__PURE__*/(() => {\n  class LucideChevronDown extends LucideIconBase {\n    static icon = {\n      name: 'chevron-down',\n      size: 24,\n      node: [['path', {\n        d: 'm6 9 6 6 6-6',\n        key: 'qrunsl'\n      }]]\n    };\n    icon = signal(LucideChevronDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChevronDown_BaseFactory;\n      return function LucideChevronDown_Factory(__ngFactoryType__) {\n        return (ɵLucideChevronDown_BaseFactory || (ɵLucideChevronDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChevronDown)))(__ngFactoryType__ || LucideChevronDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChevronDown,\n      selectors: [[\"svg\", \"lucideChevronDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c334,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChevronDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChevronDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChevronDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChevronLast\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNyAxOCA2LTYtNi02IiAvPgogIDxwYXRoIGQ9Ik0xNyA2djEyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/chevron-last\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChevronLast = /*#__PURE__*/(() => {\n  class LucideChevronLast extends LucideIconBase {\n    static icon = {\n      name: 'chevron-last',\n      size: 24,\n      node: [['path', {\n        d: 'm7 18 6-6-6-6',\n        key: 'lwmzdw'\n      }], ['path', {\n        d: 'M17 6v12',\n        key: '1o0aio'\n      }]]\n    };\n    icon = signal(LucideChevronLast.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChevronLast_BaseFactory;\n      return function LucideChevronLast_Factory(__ngFactoryType__) {\n        return (ɵLucideChevronLast_BaseFactory || (ɵLucideChevronLast_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChevronLast)))(__ngFactoryType__ || LucideChevronLast);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChevronLast,\n      selectors: [[\"svg\", \"lucideChevronLast\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c335,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChevronLast_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChevronLast_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChevronLast;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChevronLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMTgtNi02IDYtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chevron-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChevronLeft = /*#__PURE__*/(() => {\n  class LucideChevronLeft extends LucideIconBase {\n    static icon = {\n      name: 'chevron-left',\n      size: 24,\n      node: [['path', {\n        d: 'm15 18-6-6 6-6',\n        key: '1wnfg3'\n      }]]\n    };\n    icon = signal(LucideChevronLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChevronLeft_BaseFactory;\n      return function LucideChevronLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideChevronLeft_BaseFactory || (ɵLucideChevronLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChevronLeft)))(__ngFactoryType__ || LucideChevronLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChevronLeft,\n      selectors: [[\"svg\", \"lucideChevronLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c336,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChevronLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChevronLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChevronLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChevronFirst\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTcgMTgtNi02IDYtNiIgLz4KICA8cGF0aCBkPSJNNyA2djEyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/chevron-first\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChevronFirst = /*#__PURE__*/(() => {\n  class LucideChevronFirst extends LucideIconBase {\n    static icon = {\n      name: 'chevron-first',\n      size: 24,\n      node: [['path', {\n        d: 'm17 18-6-6 6-6',\n        key: '1yerx2'\n      }], ['path', {\n        d: 'M7 6v12',\n        key: '1p53r6'\n      }]]\n    };\n    icon = signal(LucideChevronFirst.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChevronFirst_BaseFactory;\n      return function LucideChevronFirst_Factory(__ngFactoryType__) {\n        return (ɵLucideChevronFirst_BaseFactory || (ɵLucideChevronFirst_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChevronFirst)))(__ngFactoryType__ || LucideChevronFirst);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChevronFirst,\n      selectors: [[\"svg\", \"lucideChevronFirst\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c337,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChevronFirst_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChevronFirst_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChevronFirst;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChevronRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOSAxOCA2LTYtNi02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/chevron-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChevronRight = /*#__PURE__*/(() => {\n  class LucideChevronRight extends LucideIconBase {\n    static icon = {\n      name: 'chevron-right',\n      size: 24,\n      node: [['path', {\n        d: 'm9 18 6-6-6-6',\n        key: 'mthhwq'\n      }]]\n    };\n    icon = signal(LucideChevronRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChevronRight_BaseFactory;\n      return function LucideChevronRight_Factory(__ngFactoryType__) {\n        return (ɵLucideChevronRight_BaseFactory || (ɵLucideChevronRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChevronRight)))(__ngFactoryType__ || LucideChevronRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChevronRight,\n      selectors: [[\"svg\", \"lucideChevronRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c338,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChevronRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChevronRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChevronRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChevronUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTggMTUtNi02LTYgNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chevron-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChevronUp = /*#__PURE__*/(() => {\n  class LucideChevronUp extends LucideIconBase {\n    static icon = {\n      name: 'chevron-up',\n      size: 24,\n      node: [['path', {\n        d: 'm18 15-6-6-6 6',\n        key: '153udz'\n      }]]\n    };\n    icon = signal(LucideChevronUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChevronUp_BaseFactory;\n      return function LucideChevronUp_Factory(__ngFactoryType__) {\n        return (ɵLucideChevronUp_BaseFactory || (ɵLucideChevronUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChevronUp)))(__ngFactoryType__ || LucideChevronUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChevronUp,\n      selectors: [[\"svg\", \"lucideChevronUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c339,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChevronUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChevronUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChevronUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChevronsDownUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNyAyMCA1LTUgNSA1IiAvPgogIDxwYXRoIGQ9Im03IDQgNSA1IDUtNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chevrons-down-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChevronsDownUp = /*#__PURE__*/(() => {\n  class LucideChevronsDownUp extends LucideIconBase {\n    static icon = {\n      name: 'chevrons-down-up',\n      size: 24,\n      node: [['path', {\n        d: 'm7 20 5-5 5 5',\n        key: '13a0gw'\n      }], ['path', {\n        d: 'm7 4 5 5 5-5',\n        key: '1kwcof'\n      }]]\n    };\n    icon = signal(LucideChevronsDownUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChevronsDownUp_BaseFactory;\n      return function LucideChevronsDownUp_Factory(__ngFactoryType__) {\n        return (ɵLucideChevronsDownUp_BaseFactory || (ɵLucideChevronsDownUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChevronsDownUp)))(__ngFactoryType__ || LucideChevronsDownUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChevronsDownUp,\n      selectors: [[\"svg\", \"lucideChevronsDownUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c340,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChevronsDownUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChevronsDownUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChevronsDownUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChevronsDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNyA2IDUgNSA1LTUiIC8+CiAgPHBhdGggZD0ibTcgMTMgNSA1IDUtNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chevrons-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChevronsDown = /*#__PURE__*/(() => {\n  class LucideChevronsDown extends LucideIconBase {\n    static icon = {\n      name: 'chevrons-down',\n      size: 24,\n      node: [['path', {\n        d: 'm7 6 5 5 5-5',\n        key: '1lc07p'\n      }], ['path', {\n        d: 'm7 13 5 5 5-5',\n        key: '1d48rs'\n      }]]\n    };\n    icon = signal(LucideChevronsDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChevronsDown_BaseFactory;\n      return function LucideChevronsDown_Factory(__ngFactoryType__) {\n        return (ɵLucideChevronsDown_BaseFactory || (ɵLucideChevronsDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChevronsDown)))(__ngFactoryType__ || LucideChevronsDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChevronsDown,\n      selectors: [[\"svg\", \"lucideChevronsDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c341,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChevronsDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChevronsDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChevronsDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChevronsLeftRightEllipsis\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTJoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNiAxMmguMDEiIC8+CiAgPHBhdGggZD0ibTE3IDcgNSA1LTUgNSIgLz4KICA8cGF0aCBkPSJtNyA3LTUgNSA1IDUiIC8+CiAgPHBhdGggZD0iTTggMTJoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/chevrons-left-right-ellipsis\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChevronsLeftRightEllipsis = /*#__PURE__*/(() => {\n  class LucideChevronsLeftRightEllipsis extends LucideIconBase {\n    static icon = {\n      name: 'chevrons-left-right-ellipsis',\n      size: 24,\n      node: [['path', {\n        d: 'M12 12h.01',\n        key: '1mp3jc'\n      }], ['path', {\n        d: 'M16 12h.01',\n        key: '1l6xoz'\n      }], ['path', {\n        d: 'm17 7 5 5-5 5',\n        key: '1xlxn0'\n      }], ['path', {\n        d: 'm7 7-5 5 5 5',\n        key: '19njba'\n      }], ['path', {\n        d: 'M8 12h.01',\n        key: 'czm47f'\n      }]]\n    };\n    icon = signal(LucideChevronsLeftRightEllipsis.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChevronsLeftRightEllipsis_BaseFactory;\n      return function LucideChevronsLeftRightEllipsis_Factory(__ngFactoryType__) {\n        return (ɵLucideChevronsLeftRightEllipsis_BaseFactory || (ɵLucideChevronsLeftRightEllipsis_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChevronsLeftRightEllipsis)))(__ngFactoryType__ || LucideChevronsLeftRightEllipsis);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChevronsLeftRightEllipsis,\n      selectors: [[\"svg\", \"lucideChevronsLeftRightEllipsis\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c342,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChevronsLeftRightEllipsis_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChevronsLeftRightEllipsis_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChevronsLeftRightEllipsis;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChevronsLeftRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOSA3LTUgNSA1IDUiIC8+CiAgPHBhdGggZD0ibTE1IDcgNSA1LTUgNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chevrons-left-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChevronsLeftRight = /*#__PURE__*/(() => {\n  class LucideChevronsLeftRight extends LucideIconBase {\n    static icon = {\n      name: 'chevrons-left-right',\n      size: 24,\n      node: [['path', {\n        d: 'm9 7-5 5 5 5',\n        key: 'j5w590'\n      }], ['path', {\n        d: 'm15 7 5 5-5 5',\n        key: '1bl6da'\n      }]]\n    };\n    icon = signal(LucideChevronsLeftRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChevronsLeftRight_BaseFactory;\n      return function LucideChevronsLeftRight_Factory(__ngFactoryType__) {\n        return (ɵLucideChevronsLeftRight_BaseFactory || (ɵLucideChevronsLeftRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChevronsLeftRight)))(__ngFactoryType__ || LucideChevronsLeftRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChevronsLeftRight,\n      selectors: [[\"svg\", \"lucideChevronsLeftRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c343,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChevronsLeftRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChevronsLeftRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChevronsLeftRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChevronsLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTEgMTctNS01IDUtNSIgLz4KICA8cGF0aCBkPSJtMTggMTctNS01IDUtNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chevrons-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChevronsLeft = /*#__PURE__*/(() => {\n  class LucideChevronsLeft extends LucideIconBase {\n    static icon = {\n      name: 'chevrons-left',\n      size: 24,\n      node: [['path', {\n        d: 'm11 17-5-5 5-5',\n        key: '13zhaf'\n      }], ['path', {\n        d: 'm18 17-5-5 5-5',\n        key: 'h8a8et'\n      }]]\n    };\n    icon = signal(LucideChevronsLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChevronsLeft_BaseFactory;\n      return function LucideChevronsLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideChevronsLeft_BaseFactory || (ɵLucideChevronsLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChevronsLeft)))(__ngFactoryType__ || LucideChevronsLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChevronsLeft,\n      selectors: [[\"svg\", \"lucideChevronsLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c344,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChevronsLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChevronsLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChevronsLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChevronsRightLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjAgMTctNS01IDUtNSIgLz4KICA8cGF0aCBkPSJtNCAxNyA1LTUtNS01IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/chevrons-right-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChevronsRightLeft = /*#__PURE__*/(() => {\n  class LucideChevronsRightLeft extends LucideIconBase {\n    static icon = {\n      name: 'chevrons-right-left',\n      size: 24,\n      node: [['path', {\n        d: 'm20 17-5-5 5-5',\n        key: '30x0n2'\n      }], ['path', {\n        d: 'm4 17 5-5-5-5',\n        key: '16spf4'\n      }]]\n    };\n    icon = signal(LucideChevronsRightLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChevronsRightLeft_BaseFactory;\n      return function LucideChevronsRightLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideChevronsRightLeft_BaseFactory || (ɵLucideChevronsRightLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChevronsRightLeft)))(__ngFactoryType__ || LucideChevronsRightLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChevronsRightLeft,\n      selectors: [[\"svg\", \"lucideChevronsRightLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c345,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChevronsRightLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChevronsRightLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChevronsRightLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChevronsRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiAxNyA1LTUtNS01IiAvPgogIDxwYXRoIGQ9Im0xMyAxNyA1LTUtNS01IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/chevrons-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChevronsRight = /*#__PURE__*/(() => {\n  class LucideChevronsRight extends LucideIconBase {\n    static icon = {\n      name: 'chevrons-right',\n      size: 24,\n      node: [['path', {\n        d: 'm6 17 5-5-5-5',\n        key: 'xnjwq'\n      }], ['path', {\n        d: 'm13 17 5-5-5-5',\n        key: '17xmmf'\n      }]]\n    };\n    icon = signal(LucideChevronsRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChevronsRight_BaseFactory;\n      return function LucideChevronsRight_Factory(__ngFactoryType__) {\n        return (ɵLucideChevronsRight_BaseFactory || (ɵLucideChevronsRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChevronsRight)))(__ngFactoryType__ || LucideChevronsRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChevronsRight,\n      selectors: [[\"svg\", \"lucideChevronsRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c346,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChevronsRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChevronsRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChevronsRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChevronsUpDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNyAxNSA1IDUgNS01IiAvPgogIDxwYXRoIGQ9Im03IDkgNS01IDUgNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chevrons-up-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChevronsUpDown = /*#__PURE__*/(() => {\n  class LucideChevronsUpDown extends LucideIconBase {\n    static icon = {\n      name: 'chevrons-up-down',\n      size: 24,\n      node: [['path', {\n        d: 'm7 15 5 5 5-5',\n        key: '1hf1tw'\n      }], ['path', {\n        d: 'm7 9 5-5 5 5',\n        key: 'sgt6xg'\n      }]]\n    };\n    icon = signal(LucideChevronsUpDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChevronsUpDown_BaseFactory;\n      return function LucideChevronsUpDown_Factory(__ngFactoryType__) {\n        return (ɵLucideChevronsUpDown_BaseFactory || (ɵLucideChevronsUpDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChevronsUpDown)))(__ngFactoryType__ || LucideChevronsUpDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChevronsUpDown,\n      selectors: [[\"svg\", \"lucideChevronsUpDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c347,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChevronsUpDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChevronsUpDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChevronsUpDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ChevronsUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTcgMTEtNS01LTUgNSIgLz4KICA8cGF0aCBkPSJtMTcgMTgtNS01LTUgNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chevrons-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChevronsUp = /*#__PURE__*/(() => {\n  class LucideChevronsUp extends LucideIconBase {\n    static icon = {\n      name: 'chevrons-up',\n      size: 24,\n      node: [['path', {\n        d: 'm17 11-5-5-5 5',\n        key: 'e8nh98'\n      }], ['path', {\n        d: 'm17 18-5-5-5 5',\n        key: '2avn1x'\n      }]]\n    };\n    icon = signal(LucideChevronsUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChevronsUp_BaseFactory;\n      return function LucideChevronsUp_Factory(__ngFactoryType__) {\n        return (ɵLucideChevronsUp_BaseFactory || (ɵLucideChevronsUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChevronsUp)))(__ngFactoryType__ || LucideChevronsUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChevronsUp,\n      selectors: [[\"svg\", \"lucideChevronsUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c348,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChevronsUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChevronsUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChevronsUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CigaretteOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTJIM2ExIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMWgxMyIgLz4KICA8cGF0aCBkPSJNMTggOGMwLTIuNS0yLTIuNS0yLTUiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJNMjEgMTJhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMS0uNS44NjYiIC8+CiAgPHBhdGggZD0iTTIyIDhjMC0yLjUtMi0yLjUtMi01IiAvPgogIDxwYXRoIGQ9Ik03IDEydjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cigarette-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCigaretteOff = /*#__PURE__*/(() => {\n  class LucideCigaretteOff extends LucideIconBase {\n    static icon = {\n      name: 'cigarette-off',\n      size: 24,\n      node: [['path', {\n        d: 'M12 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h13',\n        key: '1gdiyg'\n      }], ['path', {\n        d: 'M18 8c0-2.5-2-2.5-2-5',\n        key: '1il607'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M21 12a1 1 0 0 1 1 1v2a1 1 0 0 1-.5.866',\n        key: '166zjj'\n      }], ['path', {\n        d: 'M22 8c0-2.5-2-2.5-2-5',\n        key: '1gah44'\n      }], ['path', {\n        d: 'M7 12v4',\n        key: 'jqww69'\n      }]]\n    };\n    icon = signal(LucideCigaretteOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCigaretteOff_BaseFactory;\n      return function LucideCigaretteOff_Factory(__ngFactoryType__) {\n        return (ɵLucideCigaretteOff_BaseFactory || (ɵLucideCigaretteOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCigaretteOff)))(__ngFactoryType__ || LucideCigaretteOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCigaretteOff,\n      selectors: [[\"svg\", \"lucideCigaretteOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c349,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCigaretteOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCigaretteOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCigaretteOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Church\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgOWg0IiAvPgogIDxwYXRoIGQ9Ik0xMiA3djUiIC8+CiAgPHBhdGggZD0iTTE0IDIxdi0zYTIgMiAwIDAgMC00IDB2MyIgLz4KICA8cGF0aCBkPSJtMTggOSAzLjUyIDIuMTQ3YTEgMSAwIDAgMSAuNDguODU0VjE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi02Ljk5OWExIDEgMCAwIDEgLjQ4LS44NTRMNiA5IiAvPgogIDxwYXRoIGQ9Ik02IDIxVjdhMSAxIDAgMCAxIC4zNzYtLjc4Mmw1LTMuOTk5YTEgMSAwIDAgMSAxLjI0OS4wMDFsNSA0QTEgMSAwIDAgMSAxOCA3djE0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/church\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChurch = /*#__PURE__*/(() => {\n  class LucideChurch extends LucideIconBase {\n    static icon = {\n      name: 'church',\n      size: 24,\n      node: [['path', {\n        d: 'M10 9h4',\n        key: 'u4k05v'\n      }], ['path', {\n        d: 'M12 7v5',\n        key: 'ma6bk'\n      }], ['path', {\n        d: 'M14 21v-3a2 2 0 0 0-4 0v3',\n        key: '1rgiei'\n      }], ['path', {\n        d: 'm18 9 3.52 2.147a1 1 0 0 1 .48.854V19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-6.999a1 1 0 0 1 .48-.854L6 9',\n        key: 'flvdwo'\n      }], ['path', {\n        d: 'M6 21V7a1 1 0 0 1 .376-.782l5-3.999a1 1 0 0 1 1.249.001l5 4A1 1 0 0 1 18 7v14',\n        key: 'a5i0n2'\n      }]]\n    };\n    icon = signal(LucideChurch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChurch_BaseFactory;\n      return function LucideChurch_Factory(__ngFactoryType__) {\n        return (ɵLucideChurch_BaseFactory || (ɵLucideChurch_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChurch)))(__ngFactoryType__ || LucideChurch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChurch,\n      selectors: [[\"svg\", \"lucideChurch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c350,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChurch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChurch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChurch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cigarette\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgMTJIM2ExIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMWgxNCIgLz4KICA8cGF0aCBkPSJNMTggOGMwLTIuNS0yLTIuNS0yLTUiIC8+CiAgPHBhdGggZD0iTTIxIDE2YTEgMSAwIDAgMCAxLTF2LTJhMSAxIDAgMCAwLTEtMSIgLz4KICA8cGF0aCBkPSJNMjIgOGMwLTIuNS0yLTIuNS0yLTUiIC8+CiAgPHBhdGggZD0iTTcgMTJ2NCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cigarette\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCigarette = /*#__PURE__*/(() => {\n  class LucideCigarette extends LucideIconBase {\n    static icon = {\n      name: 'cigarette',\n      size: 24,\n      node: [['path', {\n        d: 'M17 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14',\n        key: '1mb5g1'\n      }], ['path', {\n        d: 'M18 8c0-2.5-2-2.5-2-5',\n        key: '1il607'\n      }], ['path', {\n        d: 'M21 16a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1',\n        key: '1yl5r7'\n      }], ['path', {\n        d: 'M22 8c0-2.5-2-2.5-2-5',\n        key: '1gah44'\n      }], ['path', {\n        d: 'M7 12v4',\n        key: 'jqww69'\n      }]]\n    };\n    icon = signal(LucideCigarette.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCigarette_BaseFactory;\n      return function LucideCigarette_Factory(__ngFactoryType__) {\n        return (ɵLucideCigarette_BaseFactory || (ɵLucideCigarette_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCigarette)))(__ngFactoryType__ || LucideCigarette);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCigarette,\n      selectors: [[\"svg\", \"lucideCigarette\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c351,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCigarette_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCigarette_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCigarette;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircleAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8bGluZSB4MT0iMTIiIHgyPSIxMiIgeTE9IjgiIHkyPSIxMiIgLz4KICA8bGluZSB4MT0iMTIiIHgyPSIxMi4wMSIgeTE9IjE2IiB5Mj0iMTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/circle-alert\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleAlert = /*#__PURE__*/(() => {\n  class LucideCircleAlert extends LucideIconBase {\n    static icon = {\n      name: 'circle-alert',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '8',\n        y2: '12',\n        key: '1pkeuh'\n      }], ['line', {\n        x1: '12',\n        x2: '12.01',\n        y1: '16',\n        y2: '16',\n        key: '4dfq90'\n      }]],\n      aliases: ['alert-circle']\n    };\n    icon = signal(LucideCircleAlert.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleAlert_BaseFactory;\n      return function LucideCircleAlert_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleAlert_BaseFactory || (ɵLucideCircleAlert_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleAlert)))(__ngFactoryType__ || LucideCircleAlert);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleAlert,\n      selectors: [[\"svg\", \"lucideCircleAlert\", \"\"], [\"svg\", \"lucideAlertCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c352,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleAlert_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleAlert_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleAlert;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleAlert\n */\nconst LucideAlertCircle = LucideCircleAlert;\n\n/**\n * @component @name CircleArrowDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgOHY4IiAvPgogIDxwYXRoIGQ9Im04IDEyIDQgNCA0LTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/circle-arrow-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleArrowDown = /*#__PURE__*/(() => {\n  class LucideCircleArrowDown extends LucideIconBase {\n    static icon = {\n      name: 'circle-arrow-down',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 8v8',\n        key: 'napkw2'\n      }], ['path', {\n        d: 'm8 12 4 4 4-4',\n        key: 'k98ssh'\n      }]],\n      aliases: ['arrow-down-circle']\n    };\n    icon = signal(LucideCircleArrowDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleArrowDown_BaseFactory;\n      return function LucideCircleArrowDown_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleArrowDown_BaseFactory || (ɵLucideCircleArrowDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleArrowDown)))(__ngFactoryType__ || LucideCircleArrowDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleArrowDown,\n      selectors: [[\"svg\", \"lucideCircleArrowDown\", \"\"], [\"svg\", \"lucideArrowDownCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c353,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleArrowDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleArrowDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleArrowDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleArrowDown\n */\nconst LucideArrowDownCircle = LucideCircleArrowDown;\n\n/**\n * @component @name CircleArrowLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtMTIgOC00IDQgNCA0IiAvPgogIDxwYXRoIGQ9Ik0xNiAxMkg4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-arrow-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleArrowLeft = /*#__PURE__*/(() => {\n  class LucideCircleArrowLeft extends LucideIconBase {\n    static icon = {\n      name: 'circle-arrow-left',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'm12 8-4 4 4 4',\n        key: '15vm53'\n      }], ['path', {\n        d: 'M16 12H8',\n        key: '1fr5h0'\n      }]],\n      aliases: ['arrow-left-circle']\n    };\n    icon = signal(LucideCircleArrowLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleArrowLeft_BaseFactory;\n      return function LucideCircleArrowLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleArrowLeft_BaseFactory || (ɵLucideCircleArrowLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleArrowLeft)))(__ngFactoryType__ || LucideCircleArrowLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleArrowLeft,\n      selectors: [[\"svg\", \"lucideCircleArrowLeft\", \"\"], [\"svg\", \"lucideArrowLeftCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c354,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleArrowLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleArrowLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleArrowLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleArrowLeft\n */\nconst LucideArrowLeftCircle = LucideCircleArrowLeft;\n\n/**\n * @component @name CircleArrowOutDownLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxMmExMCAxMCAwIDEgMSAxMCAxMCIgLz4KICA8cGF0aCBkPSJtMiAyMiAxMC0xMCIgLz4KICA8cGF0aCBkPSJNOCAyMkgydi02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-arrow-out-down-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleArrowOutDownLeft = /*#__PURE__*/(() => {\n  class LucideCircleArrowOutDownLeft extends LucideIconBase {\n    static icon = {\n      name: 'circle-arrow-out-down-left',\n      size: 24,\n      node: [['path', {\n        d: 'M2 12a10 10 0 1 1 10 10',\n        key: '1yn6ov'\n      }], ['path', {\n        d: 'm2 22 10-10',\n        key: '28ilpk'\n      }], ['path', {\n        d: 'M8 22H2v-6',\n        key: 'sulq54'\n      }]],\n      aliases: ['arrow-down-left-from-circle']\n    };\n    icon = signal(LucideCircleArrowOutDownLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleArrowOutDownLeft_BaseFactory;\n      return function LucideCircleArrowOutDownLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleArrowOutDownLeft_BaseFactory || (ɵLucideCircleArrowOutDownLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleArrowOutDownLeft)))(__ngFactoryType__ || LucideCircleArrowOutDownLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleArrowOutDownLeft,\n      selectors: [[\"svg\", \"lucideCircleArrowOutDownLeft\", \"\"], [\"svg\", \"lucideArrowDownLeftFromCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c355,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleArrowOutDownLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleArrowOutDownLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleArrowOutDownLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleArrowOutDownLeft\n */\nconst LucideArrowDownLeftFromCircle = LucideCircleArrowOutDownLeft;\n\n/**\n * @component @name CircleArrowOutDownRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJhMTAgMTAgMCAxIDEgMTAtMTAiIC8+CiAgPHBhdGggZD0iTTIyIDIyIDEyIDEyIiAvPgogIDxwYXRoIGQ9Ik0yMiAxNnY2aC02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-arrow-out-down-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleArrowOutDownRight = /*#__PURE__*/(() => {\n  class LucideCircleArrowOutDownRight extends LucideIconBase {\n    static icon = {\n      name: 'circle-arrow-out-down-right',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22a10 10 0 1 1 10-10',\n        key: '130bv5'\n      }], ['path', {\n        d: 'M22 22 12 12',\n        key: '131aw7'\n      }], ['path', {\n        d: 'M22 16v6h-6',\n        key: '1gvm70'\n      }]],\n      aliases: ['arrow-down-right-from-circle']\n    };\n    icon = signal(LucideCircleArrowOutDownRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleArrowOutDownRight_BaseFactory;\n      return function LucideCircleArrowOutDownRight_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleArrowOutDownRight_BaseFactory || (ɵLucideCircleArrowOutDownRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleArrowOutDownRight)))(__ngFactoryType__ || LucideCircleArrowOutDownRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleArrowOutDownRight,\n      selectors: [[\"svg\", \"lucideCircleArrowOutDownRight\", \"\"], [\"svg\", \"lucideArrowDownRightFromCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c356,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleArrowOutDownRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleArrowOutDownRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleArrowOutDownRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleArrowOutDownRight\n */\nconst LucideArrowDownRightFromCircle = LucideCircleArrowOutDownRight;\n\n/**\n * @component @name CircleArrowOutUpLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA4VjJoNiIgLz4KICA8cGF0aCBkPSJtMiAyIDEwIDEwIiAvPgogIDxwYXRoIGQ9Ik0xMiAyQTEwIDEwIDAgMSAxIDIgMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/circle-arrow-out-up-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleArrowOutUpLeft = /*#__PURE__*/(() => {\n  class LucideCircleArrowOutUpLeft extends LucideIconBase {\n    static icon = {\n      name: 'circle-arrow-out-up-left',\n      size: 24,\n      node: [['path', {\n        d: 'M2 8V2h6',\n        key: 'hiwtdz'\n      }], ['path', {\n        d: 'm2 2 10 10',\n        key: '1oh8rs'\n      }], ['path', {\n        d: 'M12 2A10 10 0 1 1 2 12',\n        key: 'rrk4fa'\n      }]],\n      aliases: ['arrow-up-left-from-circle']\n    };\n    icon = signal(LucideCircleArrowOutUpLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleArrowOutUpLeft_BaseFactory;\n      return function LucideCircleArrowOutUpLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleArrowOutUpLeft_BaseFactory || (ɵLucideCircleArrowOutUpLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleArrowOutUpLeft)))(__ngFactoryType__ || LucideCircleArrowOutUpLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleArrowOutUpLeft,\n      selectors: [[\"svg\", \"lucideCircleArrowOutUpLeft\", \"\"], [\"svg\", \"lucideArrowUpLeftFromCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c357,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleArrowOutUpLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleArrowOutUpLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleArrowOutUpLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleArrowOutUpLeft\n */\nconst LucideArrowUpLeftFromCircle = LucideCircleArrowOutUpLeft;\n\n/**\n * @component @name CircleArrowOutUpRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTJBMTAgMTAgMCAxIDEgMTIgMiIgLz4KICA8cGF0aCBkPSJNMjIgMiAxMiAxMiIgLz4KICA8cGF0aCBkPSJNMTYgMmg2djYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/circle-arrow-out-up-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleArrowOutUpRight = /*#__PURE__*/(() => {\n  class LucideCircleArrowOutUpRight extends LucideIconBase {\n    static icon = {\n      name: 'circle-arrow-out-up-right',\n      size: 24,\n      node: [['path', {\n        d: 'M22 12A10 10 0 1 1 12 2',\n        key: '1fm58d'\n      }], ['path', {\n        d: 'M22 2 12 12',\n        key: 'yg2myt'\n      }], ['path', {\n        d: 'M16 2h6v6',\n        key: 'zan5cs'\n      }]],\n      aliases: ['arrow-up-right-from-circle']\n    };\n    icon = signal(LucideCircleArrowOutUpRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleArrowOutUpRight_BaseFactory;\n      return function LucideCircleArrowOutUpRight_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleArrowOutUpRight_BaseFactory || (ɵLucideCircleArrowOutUpRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleArrowOutUpRight)))(__ngFactoryType__ || LucideCircleArrowOutUpRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleArrowOutUpRight,\n      selectors: [[\"svg\", \"lucideCircleArrowOutUpRight\", \"\"], [\"svg\", \"lucideArrowUpRightFromCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c358,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleArrowOutUpRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleArrowOutUpRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleArrowOutUpRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleArrowOutUpRight\n */\nconst LucideArrowUpRightFromCircle = LucideCircleArrowOutUpRight;\n\n/**\n * @component @name CircleArrowRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtMTIgMTYgNC00LTQtNCIgLz4KICA8cGF0aCBkPSJNOCAxMmg4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-arrow-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleArrowRight = /*#__PURE__*/(() => {\n  class LucideCircleArrowRight extends LucideIconBase {\n    static icon = {\n      name: 'circle-arrow-right',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'm12 16 4-4-4-4',\n        key: '1i9zcv'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }]],\n      aliases: ['arrow-right-circle']\n    };\n    icon = signal(LucideCircleArrowRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleArrowRight_BaseFactory;\n      return function LucideCircleArrowRight_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleArrowRight_BaseFactory || (ɵLucideCircleArrowRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleArrowRight)))(__ngFactoryType__ || LucideCircleArrowRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleArrowRight,\n      selectors: [[\"svg\", \"lucideCircleArrowRight\", \"\"], [\"svg\", \"lucideArrowRightCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c359,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleArrowRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleArrowRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleArrowRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleArrowRight\n */\nconst LucideArrowRightCircle = LucideCircleArrowRight;\n\n/**\n * @component @name CircleArrowUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtMTYgMTItNC00LTQgNCIgLz4KICA8cGF0aCBkPSJNMTIgMTZWOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle-arrow-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleArrowUp = /*#__PURE__*/(() => {\n  class LucideCircleArrowUp extends LucideIconBase {\n    static icon = {\n      name: 'circle-arrow-up',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'm16 12-4-4-4 4',\n        key: '177agl'\n      }], ['path', {\n        d: 'M12 16V8',\n        key: '1sbj14'\n      }]],\n      aliases: ['arrow-up-circle']\n    };\n    icon = signal(LucideCircleArrowUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleArrowUp_BaseFactory;\n      return function LucideCircleArrowUp_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleArrowUp_BaseFactory || (ɵLucideCircleArrowUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleArrowUp)))(__ngFactoryType__ || LucideCircleArrowUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleArrowUp,\n      selectors: [[\"svg\", \"lucideCircleArrowUp\", \"\"], [\"svg\", \"lucideArrowUpCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c360,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleArrowUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleArrowUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleArrowUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleArrowUp\n */\nconst LucideArrowUpCircle = LucideCircleArrowUp;\n\n/**\n * @component @name CircleCheckBig\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEuODAxIDEwQTEwIDEwIDAgMSAxIDE3IDMuMzM1IiAvPgogIDxwYXRoIGQ9Im05IDExIDMgM0wyMiA0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-check-big\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleCheckBig = /*#__PURE__*/(() => {\n  class LucideCircleCheckBig extends LucideIconBase {\n    static icon = {\n      name: 'circle-check-big',\n      size: 24,\n      node: [['path', {\n        d: 'M21.801 10A10 10 0 1 1 17 3.335',\n        key: 'yps3ct'\n      }], ['path', {\n        d: 'm9 11 3 3L22 4',\n        key: '1pflzl'\n      }]],\n      aliases: ['check-circle']\n    };\n    icon = signal(LucideCircleCheckBig.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleCheckBig_BaseFactory;\n      return function LucideCircleCheckBig_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleCheckBig_BaseFactory || (ɵLucideCircleCheckBig_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleCheckBig)))(__ngFactoryType__ || LucideCircleCheckBig);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleCheckBig,\n      selectors: [[\"svg\", \"lucideCircleCheckBig\", \"\"], [\"svg\", \"lucideCheckCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c361,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleCheckBig_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleCheckBig_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleCheckBig;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleCheckBig\n */\nconst LucideCheckCircle = LucideCircleCheckBig;\n\n/**\n * @component @name CircleCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtOSAxMiAyIDIgNC00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleCheck = /*#__PURE__*/(() => {\n  class LucideCircleCheck extends LucideIconBase {\n    static icon = {\n      name: 'circle-check',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'm9 12 2 2 4-4',\n        key: 'dzmm74'\n      }]],\n      aliases: ['check-circle-2']\n    };\n    icon = signal(LucideCircleCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleCheck_BaseFactory;\n      return function LucideCircleCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleCheck_BaseFactory || (ɵLucideCircleCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleCheck)))(__ngFactoryType__ || LucideCircleCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleCheck,\n      selectors: [[\"svg\", \"lucideCircleCheck\", \"\"], [\"svg\", \"lucideCheckCircle2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c362,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleCheck\n */\nconst LucideCheckCircle2 = LucideCircleCheck;\n\n/**\n * @component @name CircleChevronDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtMTYgMTAtNCA0LTQtNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle-chevron-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleChevronDown = /*#__PURE__*/(() => {\n  class LucideCircleChevronDown extends LucideIconBase {\n    static icon = {\n      name: 'circle-chevron-down',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'm16 10-4 4-4-4',\n        key: '894hmk'\n      }]],\n      aliases: ['chevron-down-circle']\n    };\n    icon = signal(LucideCircleChevronDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleChevronDown_BaseFactory;\n      return function LucideCircleChevronDown_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleChevronDown_BaseFactory || (ɵLucideCircleChevronDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleChevronDown)))(__ngFactoryType__ || LucideCircleChevronDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleChevronDown,\n      selectors: [[\"svg\", \"lucideCircleChevronDown\", \"\"], [\"svg\", \"lucideChevronDownCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c363,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleChevronDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleChevronDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleChevronDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleChevronDown\n */\nconst LucideChevronDownCircle = LucideCircleChevronDown;\n\n/**\n * @component @name CircleChevronLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtMTQgMTYtNC00IDQtNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle-chevron-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleChevronLeft = /*#__PURE__*/(() => {\n  class LucideCircleChevronLeft extends LucideIconBase {\n    static icon = {\n      name: 'circle-chevron-left',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'm14 16-4-4 4-4',\n        key: 'ojs7w8'\n      }]],\n      aliases: ['chevron-left-circle']\n    };\n    icon = signal(LucideCircleChevronLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleChevronLeft_BaseFactory;\n      return function LucideCircleChevronLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleChevronLeft_BaseFactory || (ɵLucideCircleChevronLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleChevronLeft)))(__ngFactoryType__ || LucideCircleChevronLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleChevronLeft,\n      selectors: [[\"svg\", \"lucideCircleChevronLeft\", \"\"], [\"svg\", \"lucideChevronLeftCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c364,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleChevronLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleChevronLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleChevronLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleChevronLeft\n */\nconst LucideChevronLeftCircle = LucideCircleChevronLeft;\n\n/**\n * @component @name CircleChevronRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtMTAgOCA0IDQtNCA0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-chevron-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleChevronRight = /*#__PURE__*/(() => {\n  class LucideCircleChevronRight extends LucideIconBase {\n    static icon = {\n      name: 'circle-chevron-right',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'm10 8 4 4-4 4',\n        key: '1wy4r4'\n      }]],\n      aliases: ['chevron-right-circle']\n    };\n    icon = signal(LucideCircleChevronRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleChevronRight_BaseFactory;\n      return function LucideCircleChevronRight_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleChevronRight_BaseFactory || (ɵLucideCircleChevronRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleChevronRight)))(__ngFactoryType__ || LucideCircleChevronRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleChevronRight,\n      selectors: [[\"svg\", \"lucideCircleChevronRight\", \"\"], [\"svg\", \"lucideChevronRightCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c365,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleChevronRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleChevronRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleChevronRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleChevronRight\n */\nconst LucideChevronRightCircle = LucideCircleChevronRight;\n\n/**\n * @component @name CircleChevronUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtOCAxNCA0LTQgNCA0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-chevron-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleChevronUp = /*#__PURE__*/(() => {\n  class LucideCircleChevronUp extends LucideIconBase {\n    static icon = {\n      name: 'circle-chevron-up',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'm8 14 4-4 4 4',\n        key: 'fy2ptz'\n      }]],\n      aliases: ['chevron-up-circle']\n    };\n    icon = signal(LucideCircleChevronUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleChevronUp_BaseFactory;\n      return function LucideCircleChevronUp_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleChevronUp_BaseFactory || (ɵLucideCircleChevronUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleChevronUp)))(__ngFactoryType__ || LucideCircleChevronUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleChevronUp,\n      selectors: [[\"svg\", \"lucideCircleChevronUp\", \"\"], [\"svg\", \"lucideChevronUpCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c366,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleChevronUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleChevronUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleChevronUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleChevronUp\n */\nconst LucideChevronUpCircle = LucideCircleChevronUp;\n\n/**\n * @component @name CircleDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMSAyLjE4MmExMCAxMCAwIDAgMSAzLjggMCIgLz4KICA8cGF0aCBkPSJNMTMuOSAyMS44MThhMTAgMTAgMCAwIDEtMy44IDAiIC8+CiAgPHBhdGggZD0iTTE3LjYwOSAzLjcyMWExMCAxMCAwIDAgMSAyLjY5IDIuNyIgLz4KICA8cGF0aCBkPSJNMi4xODIgMTMuOWExMCAxMCAwIDAgMSAwLTMuOCIgLz4KICA8cGF0aCBkPSJNMjAuMjc5IDE3LjYwOWExMCAxMCAwIDAgMS0yLjcgMi42OSIgLz4KICA8cGF0aCBkPSJNMjEuODE4IDEwLjFhMTAgMTAgMCAwIDEgMCAzLjgiIC8+CiAgPHBhdGggZD0iTTMuNzIxIDYuMzkxYTEwIDEwIDAgMCAxIDIuNy0yLjY5IiAvPgogIDxwYXRoIGQ9Ik02LjM5MSAyMC4yNzlhMTAgMTAgMCAwIDEtMi42OS0yLjciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/circle-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleDashed = /*#__PURE__*/(() => {\n  class LucideCircleDashed extends LucideIconBase {\n    static icon = {\n      name: 'circle-dashed',\n      size: 24,\n      node: [['path', {\n        d: 'M10.1 2.182a10 10 0 0 1 3.8 0',\n        key: '5ilxe3'\n      }], ['path', {\n        d: 'M13.9 21.818a10 10 0 0 1-3.8 0',\n        key: '11zvb9'\n      }], ['path', {\n        d: 'M17.609 3.721a10 10 0 0 1 2.69 2.7',\n        key: '1iw5b2'\n      }], ['path', {\n        d: 'M2.182 13.9a10 10 0 0 1 0-3.8',\n        key: 'c0bmvh'\n      }], ['path', {\n        d: 'M20.279 17.609a10 10 0 0 1-2.7 2.69',\n        key: '1ruxm7'\n      }], ['path', {\n        d: 'M21.818 10.1a10 10 0 0 1 0 3.8',\n        key: 'qkgqxc'\n      }], ['path', {\n        d: 'M3.721 6.391a10 10 0 0 1 2.7-2.69',\n        key: '1mcia2'\n      }], ['path', {\n        d: 'M6.391 20.279a10 10 0 0 1-2.69-2.7',\n        key: '1fvljs'\n      }]]\n    };\n    icon = signal(LucideCircleDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleDashed_BaseFactory;\n      return function LucideCircleDashed_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleDashed_BaseFactory || (ɵLucideCircleDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleDashed)))(__ngFactoryType__ || LucideCircleDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleDashed,\n      selectors: [[\"svg\", \"lucideCircleDashed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c367,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircleDivide\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8bGluZSB4MT0iOCIgeDI9IjE2IiB5MT0iMTIiIHkyPSIxMiIgLz4KICA8bGluZSB4MT0iMTIiIHgyPSIxMiIgeTE9IjE2IiB5Mj0iMTYiIC8+CiAgPGxpbmUgeDE9IjEyIiB4Mj0iMTIiIHkxPSI4IiB5Mj0iOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle-divide\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleDivide = /*#__PURE__*/(() => {\n  class LucideCircleDivide extends LucideIconBase {\n    static icon = {\n      name: 'circle-divide',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['line', {\n        x1: '8',\n        x2: '16',\n        y1: '12',\n        y2: '12',\n        key: '1jonct'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '16',\n        y2: '16',\n        key: 'aqc6ln'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '8',\n        y2: '8',\n        key: '1mkcni'\n      }]],\n      aliases: ['divide-circle']\n    };\n    icon = signal(LucideCircleDivide.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleDivide_BaseFactory;\n      return function LucideCircleDivide_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleDivide_BaseFactory || (ɵLucideCircleDivide_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleDivide)))(__ngFactoryType__ || LucideCircleDivide);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleDivide,\n      selectors: [[\"svg\", \"lucideCircleDivide\", \"\"], [\"svg\", \"lucideDivideCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c368,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleDivide_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleDivide_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleDivide;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleDivide\n */\nconst LucideDivideCircle = LucideCircleDivide;\n\n/**\n * @component @name CircleDollarSign\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTYgOGgtNmEyIDIgMCAxIDAgMCA0aDRhMiAyIDAgMSAxIDAgNEg4IiAvPgogIDxwYXRoIGQ9Ik0xMiAxOFY2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-dollar-sign\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleDollarSign = /*#__PURE__*/(() => {\n  class LucideCircleDollarSign extends LucideIconBase {\n    static icon = {\n      name: 'circle-dollar-sign',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8',\n        key: '1h4pet'\n      }], ['path', {\n        d: 'M12 18V6',\n        key: 'zqpxq5'\n      }]]\n    };\n    icon = signal(LucideCircleDollarSign.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleDollarSign_BaseFactory;\n      return function LucideCircleDollarSign_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleDollarSign_BaseFactory || (ɵLucideCircleDollarSign_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleDollarSign)))(__ngFactoryType__ || LucideCircleDollarSign);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleDollarSign,\n      selectors: [[\"svg\", \"lucideCircleDollarSign\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c369,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleDollarSign_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleDollarSign_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleDollarSign;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircleDotDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMSAyLjE4YTkuOTMgOS45MyAwIDAgMSAzLjggMCIgLz4KICA8cGF0aCBkPSJNMTcuNiAzLjcxYTkuOTUgOS45NSAwIDAgMSAyLjY5IDIuNyIgLz4KICA8cGF0aCBkPSJNMjEuODIgMTAuMWE5LjkzIDkuOTMgMCAwIDEgMCAzLjgiIC8+CiAgPHBhdGggZD0iTTIwLjI5IDE3LjZhOS45NSA5Ljk1IDAgMCAxLTIuNyAyLjY5IiAvPgogIDxwYXRoIGQ9Ik0xMy45IDIxLjgyYTkuOTQgOS45NCAwIDAgMS0zLjggMCIgLz4KICA8cGF0aCBkPSJNNi40IDIwLjI5YTkuOTUgOS45NSAwIDAgMS0yLjY5LTIuNyIgLz4KICA8cGF0aCBkPSJNMi4xOCAxMy45YTkuOTMgOS45MyAwIDAgMSAwLTMuOCIgLz4KICA8cGF0aCBkPSJNMy43MSA2LjRhOS45NSA5Ljk1IDAgMCAxIDIuNy0yLjY5IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/circle-dot-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleDotDashed = /*#__PURE__*/(() => {\n  class LucideCircleDotDashed extends LucideIconBase {\n    static icon = {\n      name: 'circle-dot-dashed',\n      size: 24,\n      node: [['path', {\n        d: 'M10.1 2.18a9.93 9.93 0 0 1 3.8 0',\n        key: '1qdqn0'\n      }], ['path', {\n        d: 'M17.6 3.71a9.95 9.95 0 0 1 2.69 2.7',\n        key: '1bq7p6'\n      }], ['path', {\n        d: 'M21.82 10.1a9.93 9.93 0 0 1 0 3.8',\n        key: '1rlaqf'\n      }], ['path', {\n        d: 'M20.29 17.6a9.95 9.95 0 0 1-2.7 2.69',\n        key: '1xk03u'\n      }], ['path', {\n        d: 'M13.9 21.82a9.94 9.94 0 0 1-3.8 0',\n        key: 'l7re25'\n      }], ['path', {\n        d: 'M6.4 20.29a9.95 9.95 0 0 1-2.69-2.7',\n        key: '1v18p6'\n      }], ['path', {\n        d: 'M2.18 13.9a9.93 9.93 0 0 1 0-3.8',\n        key: 'xdo6bj'\n      }], ['path', {\n        d: 'M3.71 6.4a9.95 9.95 0 0 1 2.7-2.69',\n        key: '1jjmaz'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '1',\n        key: '41hilf'\n      }]]\n    };\n    icon = signal(LucideCircleDotDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleDotDashed_BaseFactory;\n      return function LucideCircleDotDashed_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleDotDashed_BaseFactory || (ɵLucideCircleDotDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleDotDashed)))(__ngFactoryType__ || LucideCircleDotDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleDotDashed,\n      selectors: [[\"svg\", \"lucideCircleDotDashed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c370,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleDotDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleDotDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleDotDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircleDot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-dot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleDot = /*#__PURE__*/(() => {\n  class LucideCircleDot extends LucideIconBase {\n    static icon = {\n      name: 'circle-dot',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '1',\n        key: '41hilf'\n      }]]\n    };\n    icon = signal(LucideCircleDot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleDot_BaseFactory;\n      return function LucideCircleDot_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleDot_BaseFactory || (ɵLucideCircleDot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleDot)))(__ngFactoryType__ || LucideCircleDot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleDot,\n      selectors: [[\"svg\", \"lucideCircleDot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c371,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleDot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleDot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleDot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircleEllipsis\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTcgMTJoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMiAxMmguMDEiIC8+CiAgPHBhdGggZD0iTTcgMTJoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-ellipsis\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleEllipsis = /*#__PURE__*/(() => {\n  class LucideCircleEllipsis extends LucideIconBase {\n    static icon = {\n      name: 'circle-ellipsis',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M17 12h.01',\n        key: '1m0b6t'\n      }], ['path', {\n        d: 'M12 12h.01',\n        key: '1mp3jc'\n      }], ['path', {\n        d: 'M7 12h.01',\n        key: 'eqddd0'\n      }]]\n    };\n    icon = signal(LucideCircleEllipsis.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleEllipsis_BaseFactory;\n      return function LucideCircleEllipsis_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleEllipsis_BaseFactory || (ɵLucideCircleEllipsis_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleEllipsis)))(__ngFactoryType__ || LucideCircleEllipsis);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleEllipsis,\n      selectors: [[\"svg\", \"lucideCircleEllipsis\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c372,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleEllipsis_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleEllipsis_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleEllipsis;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircleEqual\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNNyAxMGgxMCIgLz4KICA8cGF0aCBkPSJNNyAxNGgxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle-equal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleEqual = /*#__PURE__*/(() => {\n  class LucideCircleEqual extends LucideIconBase {\n    static icon = {\n      name: 'circle-equal',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M7 10h10',\n        key: '1101jm'\n      }], ['path', {\n        d: 'M7 14h10',\n        key: '1mhdw3'\n      }]]\n    };\n    icon = signal(LucideCircleEqual.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleEqual_BaseFactory;\n      return function LucideCircleEqual_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleEqual_BaseFactory || (ɵLucideCircleEqual_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleEqual)))(__ngFactoryType__ || LucideCircleEqual);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleEqual,\n      selectors: [[\"svg\", \"lucideCircleEqual\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c373,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleEqual_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleEqual_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleEqual;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircleFadingArrowUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMmExMCAxMCAwIDAgMSA3LjM4IDE2Ljc1IiAvPgogIDxwYXRoIGQ9Im0xNiAxMi00LTQtNCA0IiAvPgogIDxwYXRoIGQ9Ik0xMiAxNlY4IiAvPgogIDxwYXRoIGQ9Ik0yLjUgOC44NzVhMTAgMTAgMCAwIDAtLjUgMyIgLz4KICA8cGF0aCBkPSJNMi44MyAxNmExMCAxMCAwIDAgMCAyLjQzIDMuNCIgLz4KICA8cGF0aCBkPSJNNC42MzYgNS4yMzVhMTAgMTAgMCAwIDEgLjg5MS0uODU3IiAvPgogIDxwYXRoIGQ9Ik04LjY0NCAyMS40MmExMCAxMCAwIDAgMCA3LjYzMS0uMzgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/circle-fading-arrow-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleFadingArrowUp = /*#__PURE__*/(() => {\n  class LucideCircleFadingArrowUp extends LucideIconBase {\n    static icon = {\n      name: 'circle-fading-arrow-up',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2a10 10 0 0 1 7.38 16.75',\n        key: '175t95'\n      }], ['path', {\n        d: 'm16 12-4-4-4 4',\n        key: '177agl'\n      }], ['path', {\n        d: 'M12 16V8',\n        key: '1sbj14'\n      }], ['path', {\n        d: 'M2.5 8.875a10 10 0 0 0-.5 3',\n        key: '1vce0s'\n      }], ['path', {\n        d: 'M2.83 16a10 10 0 0 0 2.43 3.4',\n        key: 'o3fkw4'\n      }], ['path', {\n        d: 'M4.636 5.235a10 10 0 0 1 .891-.857',\n        key: '1szpfk'\n      }], ['path', {\n        d: 'M8.644 21.42a10 10 0 0 0 7.631-.38',\n        key: '9yhvd4'\n      }]]\n    };\n    icon = signal(LucideCircleFadingArrowUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleFadingArrowUp_BaseFactory;\n      return function LucideCircleFadingArrowUp_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleFadingArrowUp_BaseFactory || (ɵLucideCircleFadingArrowUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleFadingArrowUp)))(__ngFactoryType__ || LucideCircleFadingArrowUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleFadingArrowUp,\n      selectors: [[\"svg\", \"lucideCircleFadingArrowUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c374,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleFadingArrowUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleFadingArrowUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleFadingArrowUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircleFadingPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMmExMCAxMCAwIDAgMSA3LjM4IDE2Ljc1IiAvPgogIDxwYXRoIGQ9Ik0xMiA4djgiIC8+CiAgPHBhdGggZD0iTTE2IDEySDgiIC8+CiAgPHBhdGggZD0iTTIuNSA4Ljg3NWExMCAxMCAwIDAgMC0uNSAzIiAvPgogIDxwYXRoIGQ9Ik0yLjgzIDE2YTEwIDEwIDAgMCAwIDIuNDMgMy40IiAvPgogIDxwYXRoIGQ9Ik00LjYzNiA1LjIzNWExMCAxMCAwIDAgMSAuODkxLS44NTciIC8+CiAgPHBhdGggZD0iTTguNjQ0IDIxLjQyYTEwIDEwIDAgMCAwIDcuNjMxLS4zOCIgLz4KPC9zdmc+) - https://lucide.dev/icons/circle-fading-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleFadingPlus = /*#__PURE__*/(() => {\n  class LucideCircleFadingPlus extends LucideIconBase {\n    static icon = {\n      name: 'circle-fading-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2a10 10 0 0 1 7.38 16.75',\n        key: '175t95'\n      }], ['path', {\n        d: 'M12 8v8',\n        key: 'napkw2'\n      }], ['path', {\n        d: 'M16 12H8',\n        key: '1fr5h0'\n      }], ['path', {\n        d: 'M2.5 8.875a10 10 0 0 0-.5 3',\n        key: '1vce0s'\n      }], ['path', {\n        d: 'M2.83 16a10 10 0 0 0 2.43 3.4',\n        key: 'o3fkw4'\n      }], ['path', {\n        d: 'M4.636 5.235a10 10 0 0 1 .891-.857',\n        key: '1szpfk'\n      }], ['path', {\n        d: 'M8.644 21.42a10 10 0 0 0 7.631-.38',\n        key: '9yhvd4'\n      }]]\n    };\n    icon = signal(LucideCircleFadingPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleFadingPlus_BaseFactory;\n      return function LucideCircleFadingPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleFadingPlus_BaseFactory || (ɵLucideCircleFadingPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleFadingPlus)))(__ngFactoryType__ || LucideCircleFadingPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleFadingPlus,\n      selectors: [[\"svg\", \"lucideCircleFadingPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c375,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleFadingPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleFadingPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleFadingPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircleGauge\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuNiAyLjdhMTAgMTAgMCAxIDAgNS43IDUuNyIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIiAvPgogIDxwYXRoIGQ9Ik0xMy40IDEwLjYgMTkgNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle-gauge\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleGauge = /*#__PURE__*/(() => {\n  class LucideCircleGauge extends LucideIconBase {\n    static icon = {\n      name: 'circle-gauge',\n      size: 24,\n      node: [['path', {\n        d: 'M15.6 2.7a10 10 0 1 0 5.7 5.7',\n        key: '1e0p6d'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '2',\n        key: '1c9p78'\n      }], ['path', {\n        d: 'M13.4 10.6 19 5',\n        key: '1kr7tw'\n      }]],\n      aliases: ['gauge-circle']\n    };\n    icon = signal(LucideCircleGauge.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleGauge_BaseFactory;\n      return function LucideCircleGauge_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleGauge_BaseFactory || (ɵLucideCircleGauge_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleGauge)))(__ngFactoryType__ || LucideCircleGauge);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleGauge,\n      selectors: [[\"svg\", \"lucideCircleGauge\", \"\"], [\"svg\", \"lucideGaugeCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c376,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleGauge_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleGauge_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleGauge;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleGauge\n */\nconst LucideGaugeCircle = LucideCircleGauge;\n\n/**\n * @component @name CircleMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNOCAxMmg4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleMinus = /*#__PURE__*/(() => {\n  class LucideCircleMinus extends LucideIconBase {\n    static icon = {\n      name: 'circle-minus',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }]],\n      aliases: ['minus-circle']\n    };\n    icon = signal(LucideCircleMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleMinus_BaseFactory;\n      return function LucideCircleMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleMinus_BaseFactory || (ɵLucideCircleMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleMinus)))(__ngFactoryType__ || LucideCircleMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleMinus,\n      selectors: [[\"svg\", \"lucideCircleMinus\", \"\"], [\"svg\", \"lucideMinusCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c377,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleMinus\n */\nconst LucideMinusCircle = LucideCircleMinus;\n\n/**\n * @component @name CircleOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik04LjM1IDIuNjlBMTAgMTAgMCAwIDEgMjEuMyAxNS42NSIgLz4KICA8cGF0aCBkPSJNMTkuMDggMTkuMDhBMTAgMTAgMCAxIDEgNC45MiA0LjkyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleOff = /*#__PURE__*/(() => {\n  class LucideCircleOff extends LucideIconBase {\n    static icon = {\n      name: 'circle-off',\n      size: 24,\n      node: [['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M8.35 2.69A10 10 0 0 1 21.3 15.65',\n        key: '1pfsoa'\n      }], ['path', {\n        d: 'M19.08 19.08A10 10 0 1 1 4.92 4.92',\n        key: '1ablyi'\n      }]]\n    };\n    icon = signal(LucideCircleOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleOff_BaseFactory;\n      return function LucideCircleOff_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleOff_BaseFactory || (ɵLucideCircleOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleOff)))(__ngFactoryType__ || LucideCircleOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleOff,\n      selectors: [[\"svg\", \"lucideCircleOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c378,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircleParkingOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuNjU2IDdIMTNhMyAzIDAgMCAxIDIuOTg0IDMuMzA3IiAvPgogIDxwYXRoIGQ9Ik0xMyAxM0g5IiAvPgogIDxwYXRoIGQ9Ik0xOS4wNzEgMTkuMDcxQTEgMSAwIDAgMSA0LjkzIDQuOTMiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJNOC4zNTcgMi42ODdhMTAgMTAgMCAwIDEgMTIuOTU2IDEyLjk1NiIgLz4KICA8cGF0aCBkPSJNOSAxN1Y5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-parking-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleParkingOff = /*#__PURE__*/(() => {\n  class LucideCircleParkingOff extends LucideIconBase {\n    static icon = {\n      name: 'circle-parking-off',\n      size: 24,\n      node: [['path', {\n        d: 'M12.656 7H13a3 3 0 0 1 2.984 3.307',\n        key: '1sjx87'\n      }], ['path', {\n        d: 'M13 13H9',\n        key: 'e2beee'\n      }], ['path', {\n        d: 'M19.071 19.071A1 1 0 0 1 4.93 4.93',\n        key: '1kb595'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M8.357 2.687a10 10 0 0 1 12.956 12.956',\n        key: '5bsfdx'\n      }], ['path', {\n        d: 'M9 17V9',\n        key: 'ojradj'\n      }]],\n      aliases: ['parking-circle-off']\n    };\n    icon = signal(LucideCircleParkingOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleParkingOff_BaseFactory;\n      return function LucideCircleParkingOff_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleParkingOff_BaseFactory || (ɵLucideCircleParkingOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleParkingOff)))(__ngFactoryType__ || LucideCircleParkingOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleParkingOff,\n      selectors: [[\"svg\", \"lucideCircleParkingOff\", \"\"], [\"svg\", \"lucideParkingCircleOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c379,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleParkingOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleParkingOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleParkingOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleParkingOff\n */\nconst LucideParkingCircleOff = LucideCircleParkingOff;\n\n/**\n * @component @name CircleParking\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNOSAxN1Y3aDRhMyAzIDAgMCAxIDAgNkg5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-parking\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleParking = /*#__PURE__*/(() => {\n  class LucideCircleParking extends LucideIconBase {\n    static icon = {\n      name: 'circle-parking',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M9 17V7h4a3 3 0 0 1 0 6H9',\n        key: '1dfk2c'\n      }]],\n      aliases: ['parking-circle']\n    };\n    icon = signal(LucideCircleParking.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleParking_BaseFactory;\n      return function LucideCircleParking_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleParking_BaseFactory || (ɵLucideCircleParking_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleParking)))(__ngFactoryType__ || LucideCircleParking);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleParking,\n      selectors: [[\"svg\", \"lucideCircleParking\", \"\"], [\"svg\", \"lucideParkingCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c380,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleParking_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleParking_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleParking;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleParking\n */\nconst LucideParkingCircle = LucideCircleParking;\n\n/**\n * @component @name CirclePause\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8bGluZSB4MT0iMTAiIHgyPSIxMCIgeTE9IjE1IiB5Mj0iOSIgLz4KICA8bGluZSB4MT0iMTQiIHgyPSIxNCIgeTE9IjE1IiB5Mj0iOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle-pause\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCirclePause = /*#__PURE__*/(() => {\n  class LucideCirclePause extends LucideIconBase {\n    static icon = {\n      name: 'circle-pause',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['line', {\n        x1: '10',\n        x2: '10',\n        y1: '15',\n        y2: '9',\n        key: 'c1nkhi'\n      }], ['line', {\n        x1: '14',\n        x2: '14',\n        y1: '15',\n        y2: '9',\n        key: 'h65svq'\n      }]],\n      aliases: ['pause-circle']\n    };\n    icon = signal(LucideCirclePause.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCirclePause_BaseFactory;\n      return function LucideCirclePause_Factory(__ngFactoryType__) {\n        return (ɵLucideCirclePause_BaseFactory || (ɵLucideCirclePause_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCirclePause)))(__ngFactoryType__ || LucideCirclePause);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCirclePause,\n      selectors: [[\"svg\", \"lucideCirclePause\", \"\"], [\"svg\", \"lucidePauseCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c381,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCirclePause_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCirclePause_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCirclePause;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCirclePause\n */\nconst LucidePauseCircle = LucideCirclePause;\n\n/**\n * @component @name CirclePercent\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtMTUgOS02IDYiIC8+CiAgPHBhdGggZD0iTTkgOWguMDEiIC8+CiAgPHBhdGggZD0iTTE1IDE1aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle-percent\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCirclePercent = /*#__PURE__*/(() => {\n  class LucideCirclePercent extends LucideIconBase {\n    static icon = {\n      name: 'circle-percent',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'm15 9-6 6',\n        key: '1uzhvr'\n      }], ['path', {\n        d: 'M9 9h.01',\n        key: '1q5me6'\n      }], ['path', {\n        d: 'M15 15h.01',\n        key: 'lqbp3k'\n      }]],\n      aliases: ['percent-circle']\n    };\n    icon = signal(LucideCirclePercent.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCirclePercent_BaseFactory;\n      return function LucideCirclePercent_Factory(__ngFactoryType__) {\n        return (ɵLucideCirclePercent_BaseFactory || (ɵLucideCirclePercent_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCirclePercent)))(__ngFactoryType__ || LucideCirclePercent);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCirclePercent,\n      selectors: [[\"svg\", \"lucideCirclePercent\", \"\"], [\"svg\", \"lucidePercentCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c382,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCirclePercent_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCirclePercent_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCirclePercent;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCirclePercent\n */\nconst LucidePercentCircle = LucideCirclePercent;\n\n/**\n * @component @name CirclePile\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE5IiByPSIyIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iNSIgcj0iMiIgLz4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjEyIiByPSIyIiAvPgogIDxjaXJjbGUgY3g9IjIwIiBjeT0iMTkiIHI9IjIiIC8+CiAgPGNpcmNsZSBjeD0iNCIgY3k9IjE5IiByPSIyIiAvPgogIDxjaXJjbGUgY3g9IjgiIGN5PSIxMiIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle-pile\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCirclePile = /*#__PURE__*/(() => {\n  class LucideCirclePile extends LucideIconBase {\n    static icon = {\n      name: 'circle-pile',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '19',\n        r: '2',\n        key: '13j0tp'\n      }], ['circle', {\n        cx: '12',\n        cy: '5',\n        r: '2',\n        key: 'f1ur92'\n      }], ['circle', {\n        cx: '16',\n        cy: '12',\n        r: '2',\n        key: '4ma0v8'\n      }], ['circle', {\n        cx: '20',\n        cy: '19',\n        r: '2',\n        key: '1obnsp'\n      }], ['circle', {\n        cx: '4',\n        cy: '19',\n        r: '2',\n        key: 'p3m9r0'\n      }], ['circle', {\n        cx: '8',\n        cy: '12',\n        r: '2',\n        key: '1nvbw3'\n      }]]\n    };\n    icon = signal(LucideCirclePile.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCirclePile_BaseFactory;\n      return function LucideCirclePile_Factory(__ngFactoryType__) {\n        return (ɵLucideCirclePile_BaseFactory || (ɵLucideCirclePile_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCirclePile)))(__ngFactoryType__ || LucideCirclePile);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCirclePile,\n      selectors: [[\"svg\", \"lucideCirclePile\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c383,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCirclePile_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCirclePile_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCirclePile;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CirclePlay\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSA5LjAwM2ExIDEgMCAwIDEgMS41MTctLjg1OWw0Ljk5NyAyLjk5N2ExIDEgMCAwIDEgMCAxLjcxOGwtNC45OTcgMi45OTdBMSAxIDAgMCAxIDkgMTQuOTk2eiIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle-play\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCirclePlay = /*#__PURE__*/(() => {\n  class LucideCirclePlay extends LucideIconBase {\n    static icon = {\n      name: 'circle-play',\n      size: 24,\n      node: [['path', {\n        d: 'M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z',\n        key: 'kmsa83'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }]],\n      aliases: ['play-circle']\n    };\n    icon = signal(LucideCirclePlay.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCirclePlay_BaseFactory;\n      return function LucideCirclePlay_Factory(__ngFactoryType__) {\n        return (ɵLucideCirclePlay_BaseFactory || (ɵLucideCirclePlay_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCirclePlay)))(__ngFactoryType__ || LucideCirclePlay);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCirclePlay,\n      selectors: [[\"svg\", \"lucideCirclePlay\", \"\"], [\"svg\", \"lucidePlayCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c384,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCirclePlay_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCirclePlay_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCirclePlay;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCirclePlay\n */\nconst LucidePlayCircle = LucideCirclePlay;\n\n/**\n * @component @name CirclePlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNOCAxMmg4IiAvPgogIDxwYXRoIGQ9Ik0xMiA4djgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/circle-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCirclePlus = /*#__PURE__*/(() => {\n  class LucideCirclePlus extends LucideIconBase {\n    static icon = {\n      name: 'circle-plus',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }], ['path', {\n        d: 'M12 8v8',\n        key: 'napkw2'\n      }]],\n      aliases: ['plus-circle']\n    };\n    icon = signal(LucideCirclePlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCirclePlus_BaseFactory;\n      return function LucideCirclePlus_Factory(__ngFactoryType__) {\n        return (ɵLucideCirclePlus_BaseFactory || (ɵLucideCirclePlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCirclePlus)))(__ngFactoryType__ || LucideCirclePlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCirclePlus,\n      selectors: [[\"svg\", \"lucideCirclePlus\", \"\"], [\"svg\", \"lucidePlusCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c385,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCirclePlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCirclePlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCirclePlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCirclePlus\n */\nconst LucidePlusCircle = LucideCirclePlus;\n\n/**\n * @component @name CirclePoundSterling\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTAgMTZWOS41YTEgMSAwIDAgMSA1IDAiIC8+CiAgPHBhdGggZD0iTTggMTJoNCIgLz4KICA8cGF0aCBkPSJNOCAxNmg3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-pound-sterling\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCirclePoundSterling = /*#__PURE__*/(() => {\n  class LucideCirclePoundSterling extends LucideIconBase {\n    static icon = {\n      name: 'circle-pound-sterling',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M10 16V9.5a1 1 0 0 1 5 0',\n        key: '1i1are'\n      }], ['path', {\n        d: 'M8 12h4',\n        key: 'qz6y1c'\n      }], ['path', {\n        d: 'M8 16h7',\n        key: 'sbedsn'\n      }]]\n    };\n    icon = signal(LucideCirclePoundSterling.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCirclePoundSterling_BaseFactory;\n      return function LucideCirclePoundSterling_Factory(__ngFactoryType__) {\n        return (ɵLucideCirclePoundSterling_BaseFactory || (ɵLucideCirclePoundSterling_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCirclePoundSterling)))(__ngFactoryType__ || LucideCirclePoundSterling);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCirclePoundSterling,\n      selectors: [[\"svg\", \"lucideCirclePoundSterling\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c386,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCirclePoundSterling_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCirclePoundSterling_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCirclePoundSterling;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CirclePower\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgN3Y0IiAvPgogIDxwYXRoIGQ9Ik03Ljk5OCA5LjAwM2E1IDUgMCAxIDAgOC0uMDA1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-power\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCirclePower = /*#__PURE__*/(() => {\n  class LucideCirclePower extends LucideIconBase {\n    static icon = {\n      name: 'circle-power',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 7v4',\n        key: 'xawao1'\n      }], ['path', {\n        d: 'M7.998 9.003a5 5 0 1 0 8-.005',\n        key: '1pek45'\n      }]],\n      aliases: ['power-circle']\n    };\n    icon = signal(LucideCirclePower.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCirclePower_BaseFactory;\n      return function LucideCirclePower_Factory(__ngFactoryType__) {\n        return (ɵLucideCirclePower_BaseFactory || (ɵLucideCirclePower_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCirclePower)))(__ngFactoryType__ || LucideCirclePower);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCirclePower,\n      selectors: [[\"svg\", \"lucideCirclePower\", \"\"], [\"svg\", \"lucidePowerCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c387,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCirclePower_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCirclePower_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCirclePower;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCirclePower\n */\nconst LucidePowerCircle = LucideCirclePower;\n\n/**\n * @component @name ChartGantt\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgNmg4IiAvPgogIDxwYXRoIGQ9Ik0xMiAxNmg2IiAvPgogIDxwYXRoIGQ9Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiIgLz4KICA8cGF0aCBkPSJNOCAxMWg3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/chart-gantt\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideChartGantt = /*#__PURE__*/(() => {\n  class LucideChartGantt extends LucideIconBase {\n    static icon = {\n      name: 'chart-gantt',\n      size: 24,\n      node: [['path', {\n        d: 'M10 6h8',\n        key: 'zvc2xc'\n      }], ['path', {\n        d: 'M12 16h6',\n        key: 'yi5mkt'\n      }], ['path', {\n        d: 'M3 3v16a2 2 0 0 0 2 2h16',\n        key: 'c24i48'\n      }], ['path', {\n        d: 'M8 11h7',\n        key: 'wz2hg0'\n      }]]\n    };\n    icon = signal(LucideChartGantt.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideChartGantt_BaseFactory;\n      return function LucideChartGantt_Factory(__ngFactoryType__) {\n        return (ɵLucideChartGantt_BaseFactory || (ɵLucideChartGantt_BaseFactory = i0.ɵɵgetInheritedFactory(LucideChartGantt)))(__ngFactoryType__ || LucideChartGantt);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideChartGantt,\n      selectors: [[\"svg\", \"lucideChartGantt\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c388,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideChartGantt_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideChartGantt_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideChartGantt;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircleSlash2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMjIgMiAyIDIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-slash-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleSlash2 = /*#__PURE__*/(() => {\n  class LucideCircleSlash2 extends LucideIconBase {\n    static icon = {\n      name: 'circle-slash-2',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M22 2 2 22',\n        key: 'y4kqgn'\n      }]],\n      aliases: ['circle-slashed']\n    };\n    icon = signal(LucideCircleSlash2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleSlash2_BaseFactory;\n      return function LucideCircleSlash2_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleSlash2_BaseFactory || (ɵLucideCircleSlash2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleSlash2)))(__ngFactoryType__ || LucideCircleSlash2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleSlash2,\n      selectors: [[\"svg\", \"lucideCircleSlash2\", \"\"], [\"svg\", \"lucideCircleSlashed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c389,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleSlash2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleSlash2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleSlash2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleSlash2\n */\nconst LucideCircleSlashed = LucideCircleSlash2;\n\n/**\n * @component @name CircleSlash\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8bGluZSB4MT0iOSIgeDI9IjE1IiB5MT0iMTUiIHkyPSI5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-slash\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleSlash = /*#__PURE__*/(() => {\n  class LucideCircleSlash extends LucideIconBase {\n    static icon = {\n      name: 'circle-slash',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['line', {\n        x1: '9',\n        x2: '15',\n        y1: '15',\n        y2: '9',\n        key: '1dfufj'\n      }]]\n    };\n    icon = signal(LucideCircleSlash.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleSlash_BaseFactory;\n      return function LucideCircleSlash_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleSlash_BaseFactory || (ɵLucideCircleSlash_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleSlash)))(__ngFactoryType__ || LucideCircleSlash);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleSlash,\n      selectors: [[\"svg\", \"lucideCircleSlash\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c390,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleSlash_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleSlash_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleSlash;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircleSmall\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-small\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleSmall = /*#__PURE__*/(() => {\n  class LucideCircleSmall extends LucideIconBase {\n    static icon = {\n      name: 'circle-small',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '6',\n        key: '1vlfrh'\n      }]]\n    };\n    icon = signal(LucideCircleSmall.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleSmall_BaseFactory;\n      return function LucideCircleSmall_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleSmall_BaseFactory || (ɵLucideCircleSmall_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleSmall)))(__ngFactoryType__ || LucideCircleSmall);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleSmall,\n      selectors: [[\"svg\", \"lucideCircleSmall\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c391,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleSmall_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleSmall_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleSmall;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircleStar\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTEuMDUxIDcuNjE2YTEgMSAwIDAgMSAxLjkwOS4wMjRsLjczNyAxLjQ1MmExIDEgMCAwIDAgLjczNy41MzVsMS42MzQuMjU2YTEgMSAwIDAgMSAuNTg4IDEuODA2bC0xLjE3MiAxLjE2OGExIDEgMCAwIDAtLjI4Mi44NjZsLjI1OSAxLjYxM2ExIDEgMCAwIDEtMS41NDEgMS4xMzRsLTEuNDY1LS43NWExIDEgMCAwIDAtLjkxMiAwbC0xLjQ2NS43NWExIDEgMCAwIDEtMS41MzktMS4xMzNsLjI1OC0xLjYxM2ExIDEgMCAwIDAtLjI4Mi0uODY3bC0xLjE1Ni0xLjE1MmExIDEgMCAwIDEgLjU3Mi0xLjgyMmwxLjYzMy0uMjU2YTEgMSAwIDAgMCAuNzM3LS41MzV6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-star\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleStar = /*#__PURE__*/(() => {\n  class LucideCircleStar extends LucideIconBase {\n    static icon = {\n      name: 'circle-star',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M11.051 7.616a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.867l-1.156-1.152a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z',\n        key: '285bvi'\n      }]]\n    };\n    icon = signal(LucideCircleStar.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleStar_BaseFactory;\n      return function LucideCircleStar_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleStar_BaseFactory || (ɵLucideCircleStar_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleStar)))(__ngFactoryType__ || LucideCircleStar);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleStar,\n      selectors: [[\"svg\", \"lucideCircleStar\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c392,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleStar_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleStar_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleStar;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircleStop\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cmVjdCB4PSI5IiB5PSI5IiB3aWR0aD0iNiIgaGVpZ2h0PSI2IiByeD0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle-stop\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleStop = /*#__PURE__*/(() => {\n  class LucideCircleStop extends LucideIconBase {\n    static icon = {\n      name: 'circle-stop',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['rect', {\n        x: '9',\n        y: '9',\n        width: '6',\n        height: '6',\n        rx: '1',\n        key: '1ssd4o'\n      }]],\n      aliases: ['stop-circle']\n    };\n    icon = signal(LucideCircleStop.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleStop_BaseFactory;\n      return function LucideCircleStop_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleStop_BaseFactory || (ɵLucideCircleStop_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleStop)))(__ngFactoryType__ || LucideCircleStop);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleStop,\n      selectors: [[\"svg\", \"lucideCircleStop\", \"\"], [\"svg\", \"lucideStopCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c393,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleStop_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleStop_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleStop;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleStop\n */\nconst LucideStopCircle = LucideCircleStop;\n\n/**\n * @component @name CircleUserRound\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcuOTI1IDIwLjA1NmE2IDYgMCAwIDAtMTEuODUxLjAwMSIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjExIiByPSI0IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-user-round\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleUserRound = /*#__PURE__*/(() => {\n  class LucideCircleUserRound extends LucideIconBase {\n    static icon = {\n      name: 'circle-user-round',\n      size: 24,\n      node: [['path', {\n        d: 'M17.925 20.056a6 6 0 0 0-11.851.001',\n        key: 'z69sun'\n      }], ['circle', {\n        cx: '12',\n        cy: '11',\n        r: '4',\n        key: '1gt34v'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }]],\n      aliases: ['user-circle-2']\n    };\n    icon = signal(LucideCircleUserRound.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleUserRound_BaseFactory;\n      return function LucideCircleUserRound_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleUserRound_BaseFactory || (ɵLucideCircleUserRound_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleUserRound)))(__ngFactoryType__ || LucideCircleUserRound);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleUserRound,\n      selectors: [[\"svg\", \"lucideCircleUserRound\", \"\"], [\"svg\", \"lucideUserCircle2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c394,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleUserRound_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleUserRound_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleUserRound;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleUserRound\n */\nconst LucideUserCircle2 = LucideCircleUserRound;\n\n/**\n * @component @name CircleUser\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEwIiByPSIzIiAvPgogIDxwYXRoIGQ9Ik03IDIwLjY2MlYxOWEyIDIgMCAwIDEgMi0yaDZhMiAyIDAgMCAxIDIgMnYxLjY2MiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle-user\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleUser = /*#__PURE__*/(() => {\n  class LucideCircleUser extends LucideIconBase {\n    static icon = {\n      name: 'circle-user',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['circle', {\n        cx: '12',\n        cy: '10',\n        r: '3',\n        key: 'ilqhr7'\n      }], ['path', {\n        d: 'M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662',\n        key: '154egf'\n      }]],\n      aliases: ['user-circle']\n    };\n    icon = signal(LucideCircleUser.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleUser_BaseFactory;\n      return function LucideCircleUser_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleUser_BaseFactory || (ɵLucideCircleUser_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleUser)))(__ngFactoryType__ || LucideCircleUser);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleUser,\n      selectors: [[\"svg\", \"lucideCircleUser\", \"\"], [\"svg\", \"lucideUserCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c395,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleUser_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleUser_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleUser;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleUser\n */\nconst LucideUserCircle = LucideCircleUser;\n\n/**\n * @component @name CircleX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtMTUgOS02IDYiIC8+CiAgPHBhdGggZD0ibTkgOSA2IDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/circle-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleX = /*#__PURE__*/(() => {\n  class LucideCircleX extends LucideIconBase {\n    static icon = {\n      name: 'circle-x',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'm15 9-6 6',\n        key: '1uzhvr'\n      }], ['path', {\n        d: 'm9 9 6 6',\n        key: 'z0biqf'\n      }]],\n      aliases: ['x-circle']\n    };\n    icon = signal(LucideCircleX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleX_BaseFactory;\n      return function LucideCircleX_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleX_BaseFactory || (ɵLucideCircleX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleX)))(__ngFactoryType__ || LucideCircleX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleX,\n      selectors: [[\"svg\", \"lucideCircleX\", \"\"], [\"svg\", \"lucideXCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c396,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleX\n */\nconst LucideXCircle = LucideCircleX;\n\n/**\n * @component @name Circle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircle = /*#__PURE__*/(() => {\n  class LucideCircle extends LucideIconBase {\n    static icon = {\n      name: 'circle',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }]]\n    };\n    icon = signal(LucideCircle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircle_BaseFactory;\n      return function LucideCircle_Factory(__ngFactoryType__) {\n        return (ɵLucideCircle_BaseFactory || (ɵLucideCircle_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircle)))(__ngFactoryType__ || LucideCircle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircle,\n      selectors: [[\"svg\", \"lucideCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c397,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircuitBoard\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xMSA5aDRhMiAyIDAgMCAwIDItMlYzIiAvPgogIDxjaXJjbGUgY3g9IjkiIGN5PSI5IiByPSIyIiAvPgogIDxwYXRoIGQ9Ik03IDIxdi00YTIgMiAwIDAgMSAyLTJoNCIgLz4KICA8Y2lyY2xlIGN4PSIxNSIgY3k9IjE1IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circuit-board\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircuitBoard = /*#__PURE__*/(() => {\n  class LucideCircuitBoard extends LucideIconBase {\n    static icon = {\n      name: 'circuit-board',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M11 9h4a2 2 0 0 0 2-2V3',\n        key: '1ve2rv'\n      }], ['circle', {\n        cx: '9',\n        cy: '9',\n        r: '2',\n        key: 'af1f0g'\n      }], ['path', {\n        d: 'M7 21v-4a2 2 0 0 1 2-2h4',\n        key: '1fwkro'\n      }], ['circle', {\n        cx: '15',\n        cy: '15',\n        r: '2',\n        key: '3i40o0'\n      }]]\n    };\n    icon = signal(LucideCircuitBoard.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircuitBoard_BaseFactory;\n      return function LucideCircuitBoard_Factory(__ngFactoryType__) {\n        return (ɵLucideCircuitBoard_BaseFactory || (ɵLucideCircuitBoard_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircuitBoard)))(__ngFactoryType__ || LucideCircuitBoard);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircuitBoard,\n      selectors: [[\"svg\", \"lucideCircuitBoard\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c398,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircuitBoard_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircuitBoard_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircuitBoard;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Citrus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEuNjYgMTcuNjdhMS4wOCAxLjA4IDAgMCAxLS4wNCAxLjZBMTIgMTIgMCAwIDEgNC43MyAyLjM4YTEuMSAxLjEgMCAwIDEgMS42MS0uMDR6IiAvPgogIDxwYXRoIGQ9Ik0xOS42NSAxNS42NkE4IDggMCAwIDEgOC4zNSA0LjM0IiAvPgogIDxwYXRoIGQ9Im0xNCAxMC01LjUgNS41IiAvPgogIDxwYXRoIGQ9Ik0xNCAxNy44NVYxMEg2LjE1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/citrus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCitrus = /*#__PURE__*/(() => {\n  class LucideCitrus extends LucideIconBase {\n    static icon = {\n      name: 'citrus',\n      size: 24,\n      node: [['path', {\n        d: 'M21.66 17.67a1.08 1.08 0 0 1-.04 1.6A12 12 0 0 1 4.73 2.38a1.1 1.1 0 0 1 1.61-.04z',\n        key: '4ite01'\n      }], ['path', {\n        d: 'M19.65 15.66A8 8 0 0 1 8.35 4.34',\n        key: '1gxipu'\n      }], ['path', {\n        d: 'm14 10-5.5 5.5',\n        key: '92pfem'\n      }], ['path', {\n        d: 'M14 17.85V10H6.15',\n        key: 'xqmtsk'\n      }]]\n    };\n    icon = signal(LucideCitrus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCitrus_BaseFactory;\n      return function LucideCitrus_Factory(__ngFactoryType__) {\n        return (ɵLucideCitrus_BaseFactory || (ɵLucideCitrus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCitrus)))(__ngFactoryType__ || LucideCitrus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCitrus,\n      selectors: [[\"svg\", \"lucideCitrus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c399,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCitrus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCitrus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCitrus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Clapperboard\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIuMjk2IDMuNDY0IDMuMDIgMy45NTYiIC8+CiAgPHBhdGggZD0iTTIwLjIgNiAzIDExbC0uOS0yLjRjLS4zLTEuMS4zLTIuMiAxLjMtMi41bDEzLjUtNGMxLjEtLjMgMi4yLjMgMi41IDEuM3oiIC8+CiAgPHBhdGggZD0iTTMgMTFoMTh2OGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnoiIC8+CiAgPHBhdGggZD0ibTYuMTggNS4yNzYgMy4xIDMuODk5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/clapperboard\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClapperboard = /*#__PURE__*/(() => {\n  class LucideClapperboard extends LucideIconBase {\n    static icon = {\n      name: 'clapperboard',\n      size: 24,\n      node: [['path', {\n        d: 'm12.296 3.464 3.02 3.956',\n        key: 'qash78'\n      }], ['path', {\n        d: 'M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z',\n        key: '1h7j8b'\n      }], ['path', {\n        d: 'M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z',\n        key: '4lm6w1'\n      }], ['path', {\n        d: 'm6.18 5.276 3.1 3.899',\n        key: 'zjj9t3'\n      }]]\n    };\n    icon = signal(LucideClapperboard.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClapperboard_BaseFactory;\n      return function LucideClapperboard_Factory(__ngFactoryType__) {\n        return (ɵLucideClapperboard_BaseFactory || (ɵLucideClapperboard_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClapperboard)))(__ngFactoryType__ || LucideClapperboard);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClapperboard,\n      selectors: [[\"svg\", \"lucideClapperboard\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c400,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClapperboard_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClapperboard_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClapperboard;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClipboardCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI0IiB4PSI4IiB5PSIyIiByeD0iMSIgcnk9IjEiIC8+CiAgPHBhdGggZD0iTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Im05IDE0IDIgMiA0LTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/clipboard-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClipboardCheck = /*#__PURE__*/(() => {\n  class LucideClipboardCheck extends LucideIconBase {\n    static icon = {\n      name: 'clipboard-check',\n      size: 24,\n      node: [['rect', {\n        width: '8',\n        height: '4',\n        x: '8',\n        y: '2',\n        rx: '1',\n        ry: '1',\n        key: 'tgr4d6'\n      }], ['path', {\n        d: 'M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2',\n        key: '116196'\n      }], ['path', {\n        d: 'm9 14 2 2 4-4',\n        key: 'df797q'\n      }]]\n    };\n    icon = signal(LucideClipboardCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClipboardCheck_BaseFactory;\n      return function LucideClipboardCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideClipboardCheck_BaseFactory || (ɵLucideClipboardCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClipboardCheck)))(__ngFactoryType__ || LucideClipboardCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClipboardCheck,\n      selectors: [[\"svg\", \"lucideClipboardCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c401,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClipboardCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClipboardCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClipboardCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClipboardClock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTR2Mi4ybDEuNiAxIiAvPgogIDxwYXRoIGQ9Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYuODMyIiAvPgogIDxwYXRoIGQ9Ik04IDRINmEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMiIgLz4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSI2IiAvPgogIDxyZWN0IHg9IjgiIHk9IjIiIHdpZHRoPSI4IiBoZWlnaHQ9IjQiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/clipboard-clock\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClipboardClock = /*#__PURE__*/(() => {\n  class LucideClipboardClock extends LucideIconBase {\n    static icon = {\n      name: 'clipboard-clock',\n      size: 24,\n      node: [['path', {\n        d: 'M16 14v2.2l1.6 1',\n        key: 'fo4ql5'\n      }], ['path', {\n        d: 'M16 4h2a2 2 0 0 1 2 2v.832',\n        key: '1ujtp2'\n      }], ['path', {\n        d: 'M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2',\n        key: 'qvpao1'\n      }], ['circle', {\n        cx: '16',\n        cy: '16',\n        r: '6',\n        key: 'qoo3c4'\n      }], ['rect', {\n        x: '8',\n        y: '2',\n        width: '8',\n        height: '4',\n        rx: '1',\n        key: 'ublpy'\n      }]]\n    };\n    icon = signal(LucideClipboardClock.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClipboardClock_BaseFactory;\n      return function LucideClipboardClock_Factory(__ngFactoryType__) {\n        return (ɵLucideClipboardClock_BaseFactory || (ɵLucideClipboardClock_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClipboardClock)))(__ngFactoryType__ || LucideClipboardClock);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClipboardClock,\n      selectors: [[\"svg\", \"lucideClipboardClock\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c402,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClipboardClock_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClipboardClock_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClipboardClock;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClipboardCopy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI0IiB4PSI4IiB5PSIyIiByeD0iMSIgcnk9IjEiIC8+CiAgPHBhdGggZD0iTTggNEg2YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0ydi0yIiAvPgogIDxwYXRoIGQ9Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnY0IiAvPgogIDxwYXRoIGQ9Ik0yMSAxNEgxMSIgLz4KICA8cGF0aCBkPSJtMTUgMTAtNCA0IDQgNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/clipboard-copy\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClipboardCopy = /*#__PURE__*/(() => {\n  class LucideClipboardCopy extends LucideIconBase {\n    static icon = {\n      name: 'clipboard-copy',\n      size: 24,\n      node: [['rect', {\n        width: '8',\n        height: '4',\n        x: '8',\n        y: '2',\n        rx: '1',\n        ry: '1',\n        key: 'tgr4d6'\n      }], ['path', {\n        d: 'M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2',\n        key: '4jdomd'\n      }], ['path', {\n        d: 'M16 4h2a2 2 0 0 1 2 2v4',\n        key: '3hqy98'\n      }], ['path', {\n        d: 'M21 14H11',\n        key: '1bme5i'\n      }], ['path', {\n        d: 'm15 10-4 4 4 4',\n        key: '5dvupr'\n      }]]\n    };\n    icon = signal(LucideClipboardCopy.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClipboardCopy_BaseFactory;\n      return function LucideClipboardCopy_Factory(__ngFactoryType__) {\n        return (ɵLucideClipboardCopy_BaseFactory || (ɵLucideClipboardCopy_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClipboardCopy)))(__ngFactoryType__ || LucideClipboardCopy);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClipboardCopy,\n      selectors: [[\"svg\", \"lucideClipboardCopy\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c403,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClipboardCopy_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClipboardCopy_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClipboardCopy;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClipboardList\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI0IiB4PSI4IiB5PSIyIiByeD0iMSIgcnk9IjEiIC8+CiAgPHBhdGggZD0iTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik0xMiAxMWg0IiAvPgogIDxwYXRoIGQ9Ik0xMiAxNmg0IiAvPgogIDxwYXRoIGQ9Ik04IDExaC4wMSIgLz4KICA8cGF0aCBkPSJNOCAxNmguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/clipboard-list\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClipboardList = /*#__PURE__*/(() => {\n  class LucideClipboardList extends LucideIconBase {\n    static icon = {\n      name: 'clipboard-list',\n      size: 24,\n      node: [['rect', {\n        width: '8',\n        height: '4',\n        x: '8',\n        y: '2',\n        rx: '1',\n        ry: '1',\n        key: 'tgr4d6'\n      }], ['path', {\n        d: 'M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2',\n        key: '116196'\n      }], ['path', {\n        d: 'M12 11h4',\n        key: '1jrz19'\n      }], ['path', {\n        d: 'M12 16h4',\n        key: 'n85exb'\n      }], ['path', {\n        d: 'M8 11h.01',\n        key: '1dfujw'\n      }], ['path', {\n        d: 'M8 16h.01',\n        key: '18s6g9'\n      }]]\n    };\n    icon = signal(LucideClipboardList.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClipboardList_BaseFactory;\n      return function LucideClipboardList_Factory(__ngFactoryType__) {\n        return (ɵLucideClipboardList_BaseFactory || (ɵLucideClipboardList_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClipboardList)))(__ngFactoryType__ || LucideClipboardList);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClipboardList,\n      selectors: [[\"svg\", \"lucideClipboardList\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c404,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClipboardList_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClipboardList_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClipboardList;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClipboardMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI0IiB4PSI4IiB5PSIyIiByeD0iMSIgcnk9IjEiIC8+CiAgPHBhdGggZD0iTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik05IDE0aDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/clipboard-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClipboardMinus = /*#__PURE__*/(() => {\n  class LucideClipboardMinus extends LucideIconBase {\n    static icon = {\n      name: 'clipboard-minus',\n      size: 24,\n      node: [['rect', {\n        width: '8',\n        height: '4',\n        x: '8',\n        y: '2',\n        rx: '1',\n        ry: '1',\n        key: 'tgr4d6'\n      }], ['path', {\n        d: 'M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2',\n        key: '116196'\n      }], ['path', {\n        d: 'M9 14h6',\n        key: '159ibu'\n      }]]\n    };\n    icon = signal(LucideClipboardMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClipboardMinus_BaseFactory;\n      return function LucideClipboardMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideClipboardMinus_BaseFactory || (ɵLucideClipboardMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClipboardMinus)))(__ngFactoryType__ || LucideClipboardMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClipboardMinus,\n      selectors: [[\"svg\", \"lucideClipboardMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c405,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClipboardMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClipboardMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClipboardMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClipboardPaste\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTRoMTAiIC8+CiAgPHBhdGggZD0iTTE2IDRoMmEyIDIgMCAwIDEgMiAydjEuMzQ0IiAvPgogIDxwYXRoIGQ9Im0xNyAxOCA0LTQtNC00IiAvPgogIDxwYXRoIGQ9Ik04IDRINmEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDEuNzkzLTEuMTEzIiAvPgogIDxyZWN0IHg9IjgiIHk9IjIiIHdpZHRoPSI4IiBoZWlnaHQ9IjQiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/clipboard-paste\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClipboardPaste = /*#__PURE__*/(() => {\n  class LucideClipboardPaste extends LucideIconBase {\n    static icon = {\n      name: 'clipboard-paste',\n      size: 24,\n      node: [['path', {\n        d: 'M11 14h10',\n        key: '1w8e9d'\n      }], ['path', {\n        d: 'M16 4h2a2 2 0 0 1 2 2v1.344',\n        key: '1e62lh'\n      }], ['path', {\n        d: 'm17 18 4-4-4-4',\n        key: 'z2g111'\n      }], ['path', {\n        d: 'M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113',\n        key: 'bjbb7m'\n      }], ['rect', {\n        x: '8',\n        y: '2',\n        width: '8',\n        height: '4',\n        rx: '1',\n        key: 'ublpy'\n      }]]\n    };\n    icon = signal(LucideClipboardPaste.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClipboardPaste_BaseFactory;\n      return function LucideClipboardPaste_Factory(__ngFactoryType__) {\n        return (ɵLucideClipboardPaste_BaseFactory || (ɵLucideClipboardPaste_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClipboardPaste)))(__ngFactoryType__ || LucideClipboardPaste);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClipboardPaste,\n      selectors: [[\"svg\", \"lucideClipboardPaste\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c406,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClipboardPaste_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClipboardPaste_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClipboardPaste;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClipboardPenLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI0IiB4PSI4IiB5PSIyIiByeD0iMSIgLz4KICA8cGF0aCBkPSJNOCA0SDZhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LS41IiAvPgogIDxwYXRoIGQ9Ik0xNiA0aDJhMiAyIDAgMCAxIDEuNzMgMSIgLz4KICA8cGF0aCBkPSJNOCAxOGgxIiAvPgogIDxwYXRoIGQ9Ik0yMS4zNzggMTIuNjI2YTEgMSAwIDAgMC0zLjAwNC0zLjAwNGwtNC4wMSA0LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/clipboard-pen-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClipboardPenLine = /*#__PURE__*/(() => {\n  class LucideClipboardPenLine extends LucideIconBase {\n    static icon = {\n      name: 'clipboard-pen-line',\n      size: 24,\n      node: [['rect', {\n        width: '8',\n        height: '4',\n        x: '8',\n        y: '2',\n        rx: '1',\n        key: '1oijnt'\n      }], ['path', {\n        d: 'M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5',\n        key: '1but9f'\n      }], ['path', {\n        d: 'M16 4h2a2 2 0 0 1 1.73 1',\n        key: '1p8n7l'\n      }], ['path', {\n        d: 'M8 18h1',\n        key: '13wk12'\n      }], ['path', {\n        d: 'M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z',\n        key: '2t3380'\n      }]],\n      aliases: ['clipboard-signature']\n    };\n    icon = signal(LucideClipboardPenLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClipboardPenLine_BaseFactory;\n      return function LucideClipboardPenLine_Factory(__ngFactoryType__) {\n        return (ɵLucideClipboardPenLine_BaseFactory || (ɵLucideClipboardPenLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClipboardPenLine)))(__ngFactoryType__ || LucideClipboardPenLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClipboardPenLine,\n      selectors: [[\"svg\", \"lucideClipboardPenLine\", \"\"], [\"svg\", \"lucideClipboardSignature\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c407,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClipboardPenLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClipboardPenLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClipboardPenLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideClipboardPenLine\n */\nconst LucideClipboardSignature = LucideClipboardPenLine;\n\n/**\n * @component @name ClipboardPen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MiIgLz4KICA8cGF0aCBkPSJNMjEuMzQgMTUuNjY0YTEgMSAwIDEgMC0zLjAwNC0zLjAwNGwtNS4wMSA1LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoiIC8+CiAgPHBhdGggZD0iTTggMjJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxyZWN0IHg9IjgiIHk9IjIiIHdpZHRoPSI4IiBoZWlnaHQ9IjQiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/clipboard-pen\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClipboardPen = /*#__PURE__*/(() => {\n  class LucideClipboardPen extends LucideIconBase {\n    static icon = {\n      name: 'clipboard-pen',\n      size: 24,\n      node: [['path', {\n        d: 'M16 4h2a2 2 0 0 1 2 2v2',\n        key: 'j91f56'\n      }], ['path', {\n        d: 'M21.34 15.664a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z',\n        key: '16fuwn'\n      }], ['path', {\n        d: 'M8 22H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2',\n        key: '120tdm'\n      }], ['rect', {\n        x: '8',\n        y: '2',\n        width: '8',\n        height: '4',\n        rx: '1',\n        key: 'ublpy'\n      }]],\n      aliases: ['clipboard-edit']\n    };\n    icon = signal(LucideClipboardPen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClipboardPen_BaseFactory;\n      return function LucideClipboardPen_Factory(__ngFactoryType__) {\n        return (ɵLucideClipboardPen_BaseFactory || (ɵLucideClipboardPen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClipboardPen)))(__ngFactoryType__ || LucideClipboardPen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClipboardPen,\n      selectors: [[\"svg\", \"lucideClipboardPen\", \"\"], [\"svg\", \"lucideClipboardEdit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c408,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClipboardPen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClipboardPen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClipboardPen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideClipboardPen\n */\nconst LucideClipboardEdit = LucideClipboardPen;\n\n/**\n * @component @name ClipboardPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI0IiB4PSI4IiB5PSIyIiByeD0iMSIgcnk9IjEiIC8+CiAgPHBhdGggZD0iTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik05IDE0aDYiIC8+CiAgPHBhdGggZD0iTTEyIDE3di02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/clipboard-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClipboardPlus = /*#__PURE__*/(() => {\n  class LucideClipboardPlus extends LucideIconBase {\n    static icon = {\n      name: 'clipboard-plus',\n      size: 24,\n      node: [['rect', {\n        width: '8',\n        height: '4',\n        x: '8',\n        y: '2',\n        rx: '1',\n        ry: '1',\n        key: 'tgr4d6'\n      }], ['path', {\n        d: 'M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2',\n        key: '116196'\n      }], ['path', {\n        d: 'M9 14h6',\n        key: '159ibu'\n      }], ['path', {\n        d: 'M12 17v-6',\n        key: '1y8rbf'\n      }]]\n    };\n    icon = signal(LucideClipboardPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClipboardPlus_BaseFactory;\n      return function LucideClipboardPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideClipboardPlus_BaseFactory || (ɵLucideClipboardPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClipboardPlus)))(__ngFactoryType__ || LucideClipboardPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClipboardPlus,\n      selectors: [[\"svg\", \"lucideClipboardPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c409,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClipboardPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClipboardPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClipboardPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClipboardX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI0IiB4PSI4IiB5PSIyIiByeD0iMSIgcnk9IjEiIC8+CiAgPHBhdGggZD0iTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Im0xNSAxMS02IDYiIC8+CiAgPHBhdGggZD0ibTkgMTEgNiA2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/clipboard-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClipboardX = /*#__PURE__*/(() => {\n  class LucideClipboardX extends LucideIconBase {\n    static icon = {\n      name: 'clipboard-x',\n      size: 24,\n      node: [['rect', {\n        width: '8',\n        height: '4',\n        x: '8',\n        y: '2',\n        rx: '1',\n        ry: '1',\n        key: 'tgr4d6'\n      }], ['path', {\n        d: 'M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2',\n        key: '116196'\n      }], ['path', {\n        d: 'm15 11-6 6',\n        key: '1toa9n'\n      }], ['path', {\n        d: 'm9 11 6 6',\n        key: 'wlibny'\n      }]]\n    };\n    icon = signal(LucideClipboardX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClipboardX_BaseFactory;\n      return function LucideClipboardX_Factory(__ngFactoryType__) {\n        return (ɵLucideClipboardX_BaseFactory || (ɵLucideClipboardX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClipboardX)))(__ngFactoryType__ || LucideClipboardX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClipboardX,\n      selectors: [[\"svg\", \"lucideClipboardX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c410,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClipboardX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClipboardX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClipboardX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClipboardType\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI0IiB4PSI4IiB5PSIyIiByeD0iMSIgcnk9IjEiIC8+CiAgPHBhdGggZD0iTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik05IDEydi0xaDZ2MSIgLz4KICA8cGF0aCBkPSJNMTEgMTdoMiIgLz4KICA8cGF0aCBkPSJNMTIgMTF2NiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/clipboard-type\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClipboardType = /*#__PURE__*/(() => {\n  class LucideClipboardType extends LucideIconBase {\n    static icon = {\n      name: 'clipboard-type',\n      size: 24,\n      node: [['rect', {\n        width: '8',\n        height: '4',\n        x: '8',\n        y: '2',\n        rx: '1',\n        ry: '1',\n        key: 'tgr4d6'\n      }], ['path', {\n        d: 'M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2',\n        key: '116196'\n      }], ['path', {\n        d: 'M9 12v-1h6v1',\n        key: 'iehl6m'\n      }], ['path', {\n        d: 'M11 17h2',\n        key: '12w5me'\n      }], ['path', {\n        d: 'M12 11v6',\n        key: '1bwqyc'\n      }]]\n    };\n    icon = signal(LucideClipboardType.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClipboardType_BaseFactory;\n      return function LucideClipboardType_Factory(__ngFactoryType__) {\n        return (ɵLucideClipboardType_BaseFactory || (ɵLucideClipboardType_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClipboardType)))(__ngFactoryType__ || LucideClipboardType);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClipboardType,\n      selectors: [[\"svg\", \"lucideClipboardType\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c411,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClipboardType_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClipboardType_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClipboardType;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Clipboard\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI0IiB4PSI4IiB5PSIyIiByeD0iMSIgcnk9IjEiIC8+CiAgPHBhdGggZD0iTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/clipboard\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClipboard = /*#__PURE__*/(() => {\n  class LucideClipboard extends LucideIconBase {\n    static icon = {\n      name: 'clipboard',\n      size: 24,\n      node: [['rect', {\n        width: '8',\n        height: '4',\n        x: '8',\n        y: '2',\n        rx: '1',\n        ry: '1',\n        key: 'tgr4d6'\n      }], ['path', {\n        d: 'M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2',\n        key: '116196'\n      }]]\n    };\n    icon = signal(LucideClipboard.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClipboard_BaseFactory;\n      return function LucideClipboard_Factory(__ngFactoryType__) {\n        return (ɵLucideClipboard_BaseFactory || (ɵLucideClipboard_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClipboard)))(__ngFactoryType__ || LucideClipboard);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClipboard,\n      selectors: [[\"svg\", \"lucideClipboard\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c412,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClipboard_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClipboard_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClipboard;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Clock1\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgNnY2bDItNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/clock-1\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClock1 = /*#__PURE__*/(() => {\n  class LucideClock1 extends LucideIconBase {\n    static icon = {\n      name: 'clock-1',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 6v6l2-4',\n        key: 'miptyd'\n      }]]\n    };\n    icon = signal(LucideClock1.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClock1_BaseFactory;\n      return function LucideClock1_Factory(__ngFactoryType__) {\n        return (ɵLucideClock1_BaseFactory || (ɵLucideClock1_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClock1)))(__ngFactoryType__ || LucideClock1);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClock1,\n      selectors: [[\"svg\", \"lucideClock1\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c413,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClock1_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClock1_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClock1;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Clock10\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgNnY2bC00LTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/clock-10\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClock10 = /*#__PURE__*/(() => {\n  class LucideClock10 extends LucideIconBase {\n    static icon = {\n      name: 'clock-10',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 6v6l-4-2',\n        key: 'cedpoo'\n      }]]\n    };\n    icon = signal(LucideClock10.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClock10_BaseFactory;\n      return function LucideClock10_Factory(__ngFactoryType__) {\n        return (ɵLucideClock10_BaseFactory || (ɵLucideClock10_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClock10)))(__ngFactoryType__ || LucideClock10);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClock10,\n      selectors: [[\"svg\", \"lucideClock10\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c414,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClock10_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClock10_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClock10;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Clock11\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgNnY2bC0yLTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/clock-11\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClock11 = /*#__PURE__*/(() => {\n  class LucideClock11 extends LucideIconBase {\n    static icon = {\n      name: 'clock-11',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 6v6l-2-4',\n        key: 'ns39ag'\n      }]]\n    };\n    icon = signal(LucideClock11.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClock11_BaseFactory;\n      return function LucideClock11_Factory(__ngFactoryType__) {\n        return (ɵLucideClock11_BaseFactory || (ɵLucideClock11_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClock11)))(__ngFactoryType__ || LucideClock11);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClock11,\n      selectors: [[\"svg\", \"lucideClock11\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c415,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClock11_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClock11_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClock11;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Clock12\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgNnY2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/clock-12\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClock12 = /*#__PURE__*/(() => {\n  class LucideClock12 extends LucideIconBase {\n    static icon = {\n      name: 'clock-12',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 6v6',\n        key: '1ipuwl'\n      }]]\n    };\n    icon = signal(LucideClock12.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClock12_BaseFactory;\n      return function LucideClock12_Factory(__ngFactoryType__) {\n        return (ɵLucideClock12_BaseFactory || (ɵLucideClock12_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClock12)))(__ngFactoryType__ || LucideClock12);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClock12,\n      selectors: [[\"svg\", \"lucideClock12\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c416,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClock12_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClock12_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClock12;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Clock2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgNnY2bDQtMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/clock-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClock2 = /*#__PURE__*/(() => {\n  class LucideClock2 extends LucideIconBase {\n    static icon = {\n      name: 'clock-2',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 6v6l4-2',\n        key: '1r2kuh'\n      }]]\n    };\n    icon = signal(LucideClock2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClock2_BaseFactory;\n      return function LucideClock2_Factory(__ngFactoryType__) {\n        return (ɵLucideClock2_BaseFactory || (ɵLucideClock2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClock2)))(__ngFactoryType__ || LucideClock2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClock2,\n      selectors: [[\"svg\", \"lucideClock2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c417,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClock2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClock2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClock2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Clock3\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgNnY2aDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/clock-3\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClock3 = /*#__PURE__*/(() => {\n  class LucideClock3 extends LucideIconBase {\n    static icon = {\n      name: 'clock-3',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 6v6h4',\n        key: '135r8i'\n      }]]\n    };\n    icon = signal(LucideClock3.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClock3_BaseFactory;\n      return function LucideClock3_Factory(__ngFactoryType__) {\n        return (ɵLucideClock3_BaseFactory || (ɵLucideClock3_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClock3)))(__ngFactoryType__ || LucideClock3);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClock3,\n      selectors: [[\"svg\", \"lucideClock3\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c418,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClock3_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClock3_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClock3;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Clock5\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgNnY2bDIgNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/clock-5\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClock5 = /*#__PURE__*/(() => {\n  class LucideClock5 extends LucideIconBase {\n    static icon = {\n      name: 'clock-5',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 6v6l2 4',\n        key: '1287s9'\n      }]]\n    };\n    icon = signal(LucideClock5.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClock5_BaseFactory;\n      return function LucideClock5_Factory(__ngFactoryType__) {\n        return (ɵLucideClock5_BaseFactory || (ɵLucideClock5_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClock5)))(__ngFactoryType__ || LucideClock5);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClock5,\n      selectors: [[\"svg\", \"lucideClock5\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c419,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClock5_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClock5_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClock5;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CircleQuestionMark\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNOS4wOSA5YTMgMyAwIDAgMSA1LjgzIDFjMCAyLTMgMy0zIDMiIC8+CiAgPHBhdGggZD0iTTEyIDE3aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle-question-mark\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCircleQuestionMark = /*#__PURE__*/(() => {\n  class LucideCircleQuestionMark extends LucideIconBase {\n    static icon = {\n      name: 'circle-question-mark',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3',\n        key: '1u773s'\n      }], ['path', {\n        d: 'M12 17h.01',\n        key: 'p32p05'\n      }]],\n      aliases: ['help-circle', 'circle-help']\n    };\n    icon = signal(LucideCircleQuestionMark.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCircleQuestionMark_BaseFactory;\n      return function LucideCircleQuestionMark_Factory(__ngFactoryType__) {\n        return (ɵLucideCircleQuestionMark_BaseFactory || (ɵLucideCircleQuestionMark_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCircleQuestionMark)))(__ngFactoryType__ || LucideCircleQuestionMark);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCircleQuestionMark,\n      selectors: [[\"svg\", \"lucideCircleQuestionMark\", \"\"], [\"svg\", \"lucideHelpCircle\", \"\"], [\"svg\", \"lucideCircleHelp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c420,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCircleQuestionMark_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCircleQuestionMark_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCircleQuestionMark;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCircleQuestionMark\n */\nconst LucideHelpCircle = LucideCircleQuestionMark;\n/**\n * @deprecated\n * @see LucideCircleQuestionMark\n */\nconst LucideCircleHelp = LucideCircleQuestionMark;\n\n/**\n * @component @name Clock7\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgNnY2bC0yIDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/clock-7\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClock7 = /*#__PURE__*/(() => {\n  class LucideClock7 extends LucideIconBase {\n    static icon = {\n      name: 'clock-7',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 6v6l-2 4',\n        key: '1095bu'\n      }]]\n    };\n    icon = signal(LucideClock7.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClock7_BaseFactory;\n      return function LucideClock7_Factory(__ngFactoryType__) {\n        return (ɵLucideClock7_BaseFactory || (ɵLucideClock7_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClock7)))(__ngFactoryType__ || LucideClock7);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClock7,\n      selectors: [[\"svg\", \"lucideClock7\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c421,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClock7_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClock7_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClock7;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Clock4\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgNnY2bDQgMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/clock-4\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClock4 = /*#__PURE__*/(() => {\n  class LucideClock4 extends LucideIconBase {\n    static icon = {\n      name: 'clock-4',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 6v6l4 2',\n        key: 'mmk7yg'\n      }]]\n    };\n    icon = signal(LucideClock4.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClock4_BaseFactory;\n      return function LucideClock4_Factory(__ngFactoryType__) {\n        return (ɵLucideClock4_BaseFactory || (ɵLucideClock4_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClock4)))(__ngFactoryType__ || LucideClock4);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClock4,\n      selectors: [[\"svg\", \"lucideClock4\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c422,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClock4_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClock4_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClock4;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Clock8\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgNnY2bC00IDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/clock-8\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClock8 = /*#__PURE__*/(() => {\n  class LucideClock8 extends LucideIconBase {\n    static icon = {\n      name: 'clock-8',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 6v6l-4 2',\n        key: 'imc3wl'\n      }]]\n    };\n    icon = signal(LucideClock8.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClock8_BaseFactory;\n      return function LucideClock8_Factory(__ngFactoryType__) {\n        return (ɵLucideClock8_BaseFactory || (ɵLucideClock8_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClock8)))(__ngFactoryType__ || LucideClock8);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClock8,\n      selectors: [[\"svg\", \"lucideClock8\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c423,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClock8_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClock8_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClock8;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Clock6\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgNnYxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/clock-6\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClock6 = /*#__PURE__*/(() => {\n  class LucideClock6 extends LucideIconBase {\n    static icon = {\n      name: 'clock-6',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 6v10',\n        key: 'wf7rdh'\n      }]]\n    };\n    icon = signal(LucideClock6.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClock6_BaseFactory;\n      return function LucideClock6_Factory(__ngFactoryType__) {\n        return (ɵLucideClock6_BaseFactory || (ɵLucideClock6_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClock6)))(__ngFactoryType__ || LucideClock6);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClock6,\n      selectors: [[\"svg\", \"lucideClock6\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c424,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClock6_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClock6_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClock6;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClockAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNnY2bDQgMiIgLz4KICA8cGF0aCBkPSJNMjAgMTJ2NSIgLz4KICA8cGF0aCBkPSJNMjAgMjFoLjAxIiAvPgogIDxwYXRoIGQ9Ik0yMS4yNSA4LjJBMTAgMTAgMCAxIDAgMTYgMjEuMTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/clock-alert\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClockAlert = /*#__PURE__*/(() => {\n  class LucideClockAlert extends LucideIconBase {\n    static icon = {\n      name: 'clock-alert',\n      size: 24,\n      node: [['path', {\n        d: 'M12 6v6l4 2',\n        key: 'mmk7yg'\n      }], ['path', {\n        d: 'M20 12v5',\n        key: '12wsvk'\n      }], ['path', {\n        d: 'M20 21h.01',\n        key: '1p6o6n'\n      }], ['path', {\n        d: 'M21.25 8.2A10 10 0 1 0 16 21.16',\n        key: '17fp9f'\n      }]]\n    };\n    icon = signal(LucideClockAlert.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClockAlert_BaseFactory;\n      return function LucideClockAlert_Factory(__ngFactoryType__) {\n        return (ɵLucideClockAlert_BaseFactory || (ɵLucideClockAlert_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClockAlert)))(__ngFactoryType__ || LucideClockAlert);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClockAlert,\n      selectors: [[\"svg\", \"lucideClockAlert\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c425,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClockAlert_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClockAlert_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClockAlert;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClockArrowDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNnY2bDIgMSIgLz4KICA8cGF0aCBkPSJNMTIuMzM3IDIxLjk5NGExMCAxMCAwIDEgMSA5LjU4OC04Ljc2NyIgLz4KICA8cGF0aCBkPSJtMTQgMTggNCA0IDQtNCIgLz4KICA8cGF0aCBkPSJNMTggMTR2OCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/clock-arrow-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClockArrowDown = /*#__PURE__*/(() => {\n  class LucideClockArrowDown extends LucideIconBase {\n    static icon = {\n      name: 'clock-arrow-down',\n      size: 24,\n      node: [['path', {\n        d: 'M12 6v6l2 1',\n        key: '19cm8n'\n      }], ['path', {\n        d: 'M12.337 21.994a10 10 0 1 1 9.588-8.767',\n        key: '28moa'\n      }], ['path', {\n        d: 'm14 18 4 4 4-4',\n        key: '1waygx'\n      }], ['path', {\n        d: 'M18 14v8',\n        key: 'irew45'\n      }]]\n    };\n    icon = signal(LucideClockArrowDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClockArrowDown_BaseFactory;\n      return function LucideClockArrowDown_Factory(__ngFactoryType__) {\n        return (ɵLucideClockArrowDown_BaseFactory || (ɵLucideClockArrowDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClockArrowDown)))(__ngFactoryType__ || LucideClockArrowDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClockArrowDown,\n      selectors: [[\"svg\", \"lucideClockArrowDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c426,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClockArrowDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClockArrowDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClockArrowDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClockArrowUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNnY2bDEuNTYuNzgiIC8+CiAgPHBhdGggZD0iTTEzLjIyNyAyMS45MjVhMTAgMTAgMCAxIDEgOC43NjctOS41ODgiIC8+CiAgPHBhdGggZD0ibTE0IDE4IDQtNCA0IDQiIC8+CiAgPHBhdGggZD0iTTE4IDIydi04IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/clock-arrow-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClockArrowUp = /*#__PURE__*/(() => {\n  class LucideClockArrowUp extends LucideIconBase {\n    static icon = {\n      name: 'clock-arrow-up',\n      size: 24,\n      node: [['path', {\n        d: 'M12 6v6l1.56.78',\n        key: '14ed3g'\n      }], ['path', {\n        d: 'M13.227 21.925a10 10 0 1 1 8.767-9.588',\n        key: 'jwkls1'\n      }], ['path', {\n        d: 'm14 18 4-4 4 4',\n        key: 'ftkppy'\n      }], ['path', {\n        d: 'M18 22v-8',\n        key: 'su0gjh'\n      }]]\n    };\n    icon = signal(LucideClockArrowUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClockArrowUp_BaseFactory;\n      return function LucideClockArrowUp_Factory(__ngFactoryType__) {\n        return (ɵLucideClockArrowUp_BaseFactory || (ɵLucideClockArrowUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClockArrowUp)))(__ngFactoryType__ || LucideClockArrowUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClockArrowUp,\n      selectors: [[\"svg\", \"lucideClockArrowUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c427,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClockArrowUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClockArrowUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClockArrowUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClockCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNnY2bDQgMiIgLz4KICA8cGF0aCBkPSJNMjIgMTJhMTAgMTAgMCAxIDAtMTEgOS45NSIgLz4KICA8cGF0aCBkPSJtMjIgMTYtNS41IDUuNUwxNCAxOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/clock-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClockCheck = /*#__PURE__*/(() => {\n  class LucideClockCheck extends LucideIconBase {\n    static icon = {\n      name: 'clock-check',\n      size: 24,\n      node: [['path', {\n        d: 'M12 6v6l4 2',\n        key: 'mmk7yg'\n      }], ['path', {\n        d: 'M22 12a10 10 0 1 0-11 9.95',\n        key: '17dhok'\n      }], ['path', {\n        d: 'm22 16-5.5 5.5L14 19',\n        key: '1eibut'\n      }]]\n    };\n    icon = signal(LucideClockCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClockCheck_BaseFactory;\n      return function LucideClockCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideClockCheck_BaseFactory || (ɵLucideClockCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClockCheck)))(__ngFactoryType__ || LucideClockCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClockCheck,\n      selectors: [[\"svg\", \"lucideClockCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c428,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClockCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClockCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClockCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClockFading\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMmExMCAxMCAwIDAgMSA3LjM4IDE2Ljc1IiAvPgogIDxwYXRoIGQ9Ik0xMiA2djZsNCAyIiAvPgogIDxwYXRoIGQ9Ik0yLjUgOC44NzVhMTAgMTAgMCAwIDAtLjUgMyIgLz4KICA8cGF0aCBkPSJNMi44MyAxNmExMCAxMCAwIDAgMCAyLjQzIDMuNCIgLz4KICA8cGF0aCBkPSJNNC42MzYgNS4yMzVhMTAgMTAgMCAwIDEgLjg5MS0uODU3IiAvPgogIDxwYXRoIGQ9Ik04LjY0NCAyMS40MmExMCAxMCAwIDAgMCA3LjYzMS0uMzgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/clock-fading\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClockFading = /*#__PURE__*/(() => {\n  class LucideClockFading extends LucideIconBase {\n    static icon = {\n      name: 'clock-fading',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2a10 10 0 0 1 7.38 16.75',\n        key: '175t95'\n      }], ['path', {\n        d: 'M12 6v6l4 2',\n        key: 'mmk7yg'\n      }], ['path', {\n        d: 'M2.5 8.875a10 10 0 0 0-.5 3',\n        key: '1vce0s'\n      }], ['path', {\n        d: 'M2.83 16a10 10 0 0 0 2.43 3.4',\n        key: 'o3fkw4'\n      }], ['path', {\n        d: 'M4.636 5.235a10 10 0 0 1 .891-.857',\n        key: '1szpfk'\n      }], ['path', {\n        d: 'M8.644 21.42a10 10 0 0 0 7.631-.38',\n        key: '9yhvd4'\n      }]]\n    };\n    icon = signal(LucideClockFading.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClockFading_BaseFactory;\n      return function LucideClockFading_Factory(__ngFactoryType__) {\n        return (ɵLucideClockFading_BaseFactory || (ɵLucideClockFading_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClockFading)))(__ngFactoryType__ || LucideClockFading);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClockFading,\n      selectors: [[\"svg\", \"lucideClockFading\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c429,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClockFading_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClockFading_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClockFading;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClockPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNnY2bDMuNjQ0IDEuODIyIiAvPgogIDxwYXRoIGQ9Ik0xNiAxOWg2IiAvPgogIDxwYXRoIGQ9Ik0xOSAxNnY2IiAvPgogIDxwYXRoIGQ9Ik0yMS45MiAxMy4yNjdhMTAgMTAgMCAxIDAtOC42NTMgOC42NTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/clock-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClockPlus = /*#__PURE__*/(() => {\n  class LucideClockPlus extends LucideIconBase {\n    static icon = {\n      name: 'clock-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M12 6v6l3.644 1.822',\n        key: '1jmett'\n      }], ['path', {\n        d: 'M16 19h6',\n        key: 'xwg31i'\n      }], ['path', {\n        d: 'M19 16v6',\n        key: 'tddt3s'\n      }], ['path', {\n        d: 'M21.92 13.267a10 10 0 1 0-8.653 8.653',\n        key: '1u0osk'\n      }]]\n    };\n    icon = signal(LucideClockPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClockPlus_BaseFactory;\n      return function LucideClockPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideClockPlus_BaseFactory || (ɵLucideClockPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClockPlus)))(__ngFactoryType__ || LucideClockPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClockPlus,\n      selectors: [[\"svg\", \"lucideClockPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c430,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClockPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClockPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClockPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Clock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgNnY2bDQgMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/clock\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClock = /*#__PURE__*/(() => {\n  class LucideClock extends LucideIconBase {\n    static icon = {\n      name: 'clock',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 6v6l4 2',\n        key: 'mmk7yg'\n      }]]\n    };\n    icon = signal(LucideClock.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClock_BaseFactory;\n      return function LucideClock_Factory(__ngFactoryType__) {\n        return (ɵLucideClock_BaseFactory || (ɵLucideClock_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClock)))(__ngFactoryType__ || LucideClock);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClock,\n      selectors: [[\"svg\", \"lucideClock\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c431,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClock_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClock_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClock;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTJ2NCIgLz4KICA8cGF0aCBkPSJNMTIgMjBoLjAxIiAvPgogIDxwYXRoIGQ9Ik04LjEyOCAxNi45NDlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWExIDEgMCAwIDEgMCA5aC0xLjY0MiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cloud-alert\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudAlert = /*#__PURE__*/(() => {\n  class LucideCloudAlert extends LucideIconBase {\n    static icon = {\n      name: 'cloud-alert',\n      size: 24,\n      node: [['path', {\n        d: 'M12 12v4',\n        key: 'tww15h'\n      }], ['path', {\n        d: 'M12 20h.01',\n        key: 'zekei9'\n      }], ['path', {\n        d: 'M8.128 16.949A7 7 0 1 1 15.71 8h1.79a1 1 0 0 1 0 9h-1.642',\n        key: '1namsd'\n      }]]\n    };\n    icon = signal(LucideCloudAlert.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudAlert_BaseFactory;\n      return function LucideCloudAlert_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudAlert_BaseFactory || (ɵLucideCloudAlert_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudAlert)))(__ngFactoryType__ || LucideCloudAlert);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudAlert,\n      selectors: [[\"svg\", \"lucideCloudAlert\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c432,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudAlert_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudAlert_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudAlert;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Clock9\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgNnY2SDgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/clock-9\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClock9 = /*#__PURE__*/(() => {\n  class LucideClock9 extends LucideIconBase {\n    static icon = {\n      name: 'clock-9',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 6v6H8',\n        key: 'u39vzm'\n      }]]\n    };\n    icon = signal(LucideClock9.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClock9_BaseFactory;\n      return function LucideClock9_Factory(__ngFactoryType__) {\n        return (ɵLucideClock9_BaseFactory || (ɵLucideClock9_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClock9)))(__ngFactoryType__ || LucideClock9);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClock9,\n      selectors: [[\"svg\", \"lucideClock9\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c433,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClock9_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClock9_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClock9;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudBackup\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTUuMjUxQTQuNSA0LjUgMCAwIDAgMTcuNSA4aC0xLjc5QTcgNyAwIDEgMCAzIDEzLjYwNyIgLz4KICA8cGF0aCBkPSJNNyAxMXY0aDQiIC8+CiAgPHBhdGggZD0iTTggMTlhNSA1IDAgMCAwIDktMyA0LjUgNC41IDAgMCAwLTQuNS00LjUgNC44MiA0LjgyIDAgMCAwLTMuNDEgMS40MUw3IDE1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cloud-backup\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudBackup = /*#__PURE__*/(() => {\n  class LucideCloudBackup extends LucideIconBase {\n    static icon = {\n      name: 'cloud-backup',\n      size: 24,\n      node: [['path', {\n        d: 'M21 15.251A4.5 4.5 0 0 0 17.5 8h-1.79A7 7 0 1 0 3 13.607',\n        key: 'xpoh9y'\n      }], ['path', {\n        d: 'M7 11v4h4',\n        key: 'q9yh32'\n      }], ['path', {\n        d: 'M8 19a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5 4.82 4.82 0 0 0-3.41 1.41L7 15',\n        key: '1xm8iu'\n      }]]\n    };\n    icon = signal(LucideCloudBackup.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudBackup_BaseFactory;\n      return function LucideCloudBackup_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudBackup_BaseFactory || (ɵLucideCloudBackup_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudBackup)))(__ngFactoryType__ || LucideCloudBackup);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudBackup,\n      selectors: [[\"svg\", \"lucideCloudBackup\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c434,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudBackup_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudBackup_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudBackup;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ClosedCaption\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgOS4xN2EzIDMgMCAxIDAgMCA1LjY2IiAvPgogIDxwYXRoIGQ9Ik0xNyA5LjE3YTMgMyAwIDEgMCAwIDUuNjYiIC8+CiAgPHJlY3QgeD0iMiIgeT0iNSIgd2lkdGg9IjIwIiBoZWlnaHQ9IjE0IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/closed-caption\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClosedCaption = /*#__PURE__*/(() => {\n  class LucideClosedCaption extends LucideIconBase {\n    static icon = {\n      name: 'closed-caption',\n      size: 24,\n      node: [['path', {\n        d: 'M10 9.17a3 3 0 1 0 0 5.66',\n        key: 'h9wayk'\n      }], ['path', {\n        d: 'M17 9.17a3 3 0 1 0 0 5.66',\n        key: '1v6zke'\n      }], ['rect', {\n        x: '2',\n        y: '5',\n        width: '20',\n        height: '14',\n        rx: '2',\n        key: 'qneu4z'\n      }]]\n    };\n    icon = signal(LucideClosedCaption.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClosedCaption_BaseFactory;\n      return function LucideClosedCaption_Factory(__ngFactoryType__) {\n        return (ɵLucideClosedCaption_BaseFactory || (ɵLucideClosedCaption_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClosedCaption)))(__ngFactoryType__ || LucideClosedCaption);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClosedCaption,\n      selectors: [[\"svg\", \"lucideClosedCaption\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c435,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClosedCaption_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClosedCaption_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClosedCaption;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudCog\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAuODUyIDE5Ljc3Mi0uMzgzLjkyNCIgLz4KICA8cGF0aCBkPSJtMTMuMTQ4IDE0LjIyOC4zODMtLjkyMyIgLz4KICA8cGF0aCBkPSJNMTMuMTQ4IDE5Ljc3MmEzIDMgMCAxIDAtMi4yOTYtNS41NDRsLS4zODMtLjkyMyIgLz4KICA8cGF0aCBkPSJtMTMuNTMgMjAuNjk2LS4zODItLjkyNGEzIDMgMCAxIDEtMi4yOTYtNS41NDQiIC8+CiAgPHBhdGggZD0ibTE0Ljc3MiAxNS44NTIuOTIzLS4zODMiIC8+CiAgPHBhdGggZD0ibTE0Ljc3MiAxOC4xNDguOTIzLjM4MyIgLz4KICA8cGF0aCBkPSJNNC4yIDE1LjFhNyA3IDAgMSAxIDkuOTMtOS44NThBNyA3IDAgMCAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjIiIC8+CiAgPHBhdGggZD0ibTkuMjI4IDE1Ljg1Mi0uOTIzLS4zODMiIC8+CiAgPHBhdGggZD0ibTkuMjI4IDE4LjE0OC0uOTIzLjM4MyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cloud-cog\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudCog = /*#__PURE__*/(() => {\n  class LucideCloudCog extends LucideIconBase {\n    static icon = {\n      name: 'cloud-cog',\n      size: 24,\n      node: [['path', {\n        d: 'm10.852 19.772-.383.924',\n        key: 'r7sl7d'\n      }], ['path', {\n        d: 'm13.148 14.228.383-.923',\n        key: '1d5zpm'\n      }], ['path', {\n        d: 'M13.148 19.772a3 3 0 1 0-2.296-5.544l-.383-.923',\n        key: '1ydik7'\n      }], ['path', {\n        d: 'm13.53 20.696-.382-.924a3 3 0 1 1-2.296-5.544',\n        key: '1m1vsf'\n      }], ['path', {\n        d: 'm14.772 15.852.923-.383',\n        key: '660p6e'\n      }], ['path', {\n        d: 'm14.772 18.148.923.383',\n        key: 'hrcpis'\n      }], ['path', {\n        d: 'M4.2 15.1a7 7 0 1 1 9.93-9.858A7 7 0 0 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.2',\n        key: 'j2q98n'\n      }], ['path', {\n        d: 'm9.228 15.852-.923-.383',\n        key: '1p9ong'\n      }], ['path', {\n        d: 'm9.228 18.148-.923.383',\n        key: '6558rz'\n      }]]\n    };\n    icon = signal(LucideCloudCog.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudCog_BaseFactory;\n      return function LucideCloudCog_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudCog_BaseFactory || (ɵLucideCloudCog_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudCog)))(__ngFactoryType__ || LucideCloudCog);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudCog,\n      selectors: [[\"svg\", \"lucideCloudCog\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c436,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudCog_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudCog_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudCog;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudDownload\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTN2OGwtNC00IiAvPgogIDxwYXRoIGQ9Im0xMiAyMSA0LTQiIC8+CiAgPHBhdGggZD0iTTQuMzkzIDE1LjI2OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi40MzYgOC4yODQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cloud-download\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudDownload = /*#__PURE__*/(() => {\n  class LucideCloudDownload extends LucideIconBase {\n    static icon = {\n      name: 'cloud-download',\n      size: 24,\n      node: [['path', {\n        d: 'M12 13v8l-4-4',\n        key: '1f5nwf'\n      }], ['path', {\n        d: 'm12 21 4-4',\n        key: '1lfcce'\n      }], ['path', {\n        d: 'M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284',\n        key: 'ui1hmy'\n      }]],\n      aliases: ['download-cloud']\n    };\n    icon = signal(LucideCloudDownload.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudDownload_BaseFactory;\n      return function LucideCloudDownload_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudDownload_BaseFactory || (ɵLucideCloudDownload_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudDownload)))(__ngFactoryType__ || LucideCloudDownload);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudDownload,\n      selectors: [[\"svg\", \"lucideCloudDownload\", \"\"], [\"svg\", \"lucideDownloadCloud\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c437,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudDownload_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudDownload_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudDownload;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCloudDownload\n */\nconst LucideDownloadCloud = LucideCloudDownload;\n\n/**\n * @component @name CloudDrizzle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiIgLz4KICA8cGF0aCBkPSJNOCAxOXYxIiAvPgogIDxwYXRoIGQ9Ik04IDE0djEiIC8+CiAgPHBhdGggZD0iTTE2IDE5djEiIC8+CiAgPHBhdGggZD0iTTE2IDE0djEiIC8+CiAgPHBhdGggZD0iTTEyIDIxdjEiIC8+CiAgPHBhdGggZD0iTTEyIDE2djEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cloud-drizzle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudDrizzle = /*#__PURE__*/(() => {\n  class LucideCloudDrizzle extends LucideIconBase {\n    static icon = {\n      name: 'cloud-drizzle',\n      size: 24,\n      node: [['path', {\n        d: 'M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242',\n        key: '1pljnt'\n      }], ['path', {\n        d: 'M8 19v1',\n        key: '1dk2by'\n      }], ['path', {\n        d: 'M8 14v1',\n        key: '84yxot'\n      }], ['path', {\n        d: 'M16 19v1',\n        key: 'v220m7'\n      }], ['path', {\n        d: 'M16 14v1',\n        key: 'g12gj6'\n      }], ['path', {\n        d: 'M12 21v1',\n        key: 'q8vafk'\n      }], ['path', {\n        d: 'M12 16v1',\n        key: '1mx6rx'\n      }]]\n    };\n    icon = signal(LucideCloudDrizzle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudDrizzle_BaseFactory;\n      return function LucideCloudDrizzle_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudDrizzle_BaseFactory || (ɵLucideCloudDrizzle_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudDrizzle)))(__ngFactoryType__ || LucideCloudDrizzle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudDrizzle,\n      selectors: [[\"svg\", \"lucideCloudDrizzle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c438,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudDrizzle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudDrizzle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudDrizzle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudFog\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiIgLz4KICA8cGF0aCBkPSJNMTYgMTdINyIgLz4KICA8cGF0aCBkPSJNMTcgMjFIOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cloud-fog\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudFog = /*#__PURE__*/(() => {\n  class LucideCloudFog extends LucideIconBase {\n    static icon = {\n      name: 'cloud-fog',\n      size: 24,\n      node: [['path', {\n        d: 'M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242',\n        key: '1pljnt'\n      }], ['path', {\n        d: 'M16 17H7',\n        key: 'pygtm1'\n      }], ['path', {\n        d: 'M17 21H9',\n        key: '1u2q02'\n      }]]\n    };\n    icon = signal(LucideCloudFog.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudFog_BaseFactory;\n      return function LucideCloudFog_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudFog_BaseFactory || (ɵLucideCloudFog_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudFog)))(__ngFactoryType__ || LucideCloudFog);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudFog,\n      selectors: [[\"svg\", \"lucideCloudFog\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c439,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudFog_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudFog_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudFog;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudHail\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiIgLz4KICA8cGF0aCBkPSJNMTYgMTR2MiIgLz4KICA8cGF0aCBkPSJNOCAxNHYyIiAvPgogIDxwYXRoIGQ9Ik0xNiAyMGguMDEiIC8+CiAgPHBhdGggZD0iTTggMjBoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMiAxNnYyIiAvPgogIDxwYXRoIGQ9Ik0xMiAyMmguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cloud-hail\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudHail = /*#__PURE__*/(() => {\n  class LucideCloudHail extends LucideIconBase {\n    static icon = {\n      name: 'cloud-hail',\n      size: 24,\n      node: [['path', {\n        d: 'M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242',\n        key: '1pljnt'\n      }], ['path', {\n        d: 'M16 14v2',\n        key: 'a1is7l'\n      }], ['path', {\n        d: 'M8 14v2',\n        key: '1e9m6t'\n      }], ['path', {\n        d: 'M16 20h.01',\n        key: 'xwek51'\n      }], ['path', {\n        d: 'M8 20h.01',\n        key: '1vjney'\n      }], ['path', {\n        d: 'M12 16v2',\n        key: 'z66u1j'\n      }], ['path', {\n        d: 'M12 22h.01',\n        key: '1urd7a'\n      }]]\n    };\n    icon = signal(LucideCloudHail.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudHail_BaseFactory;\n      return function LucideCloudHail_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudHail_BaseFactory || (ɵLucideCloudHail_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudHail)))(__ngFactoryType__ || LucideCloudHail);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudHail,\n      selectors: [[\"svg\", \"lucideCloudHail\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c440,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudHail_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudHail_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudHail;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudLightning\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAxNi4zMjZBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIC41IDguOTczIiAvPgogIDxwYXRoIGQ9Im0xMyAxMi0zIDVoNGwtMyA1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cloud-lightning\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudLightning = /*#__PURE__*/(() => {\n  class LucideCloudLightning extends LucideIconBase {\n    static icon = {\n      name: 'cloud-lightning',\n      size: 24,\n      node: [['path', {\n        d: 'M6 16.326A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 .5 8.973',\n        key: '1cez44'\n      }], ['path', {\n        d: 'm13 12-3 5h4l-3 5',\n        key: '1t22er'\n      }]]\n    };\n    icon = signal(LucideCloudLightning.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudLightning_BaseFactory;\n      return function LucideCloudLightning_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudLightning_BaseFactory || (ɵLucideCloudLightning_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudLightning)))(__ngFactoryType__ || LucideCloudLightning);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudLightning,\n      selectors: [[\"svg\", \"lucideCloudLightning\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c441,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudLightning_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudLightning_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudLightning;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudMoonRain\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMjB2MiIgLz4KICA8cGF0aCBkPSJNMTguMzc2IDE0LjUxMmE2IDYgMCAwIDAgMy40NjEtNC4xMjdjLjE0OC0uNjI1LS42NTktLjk3LTEuMjQ4LS43MTRhNCA0IDAgMCAxLTUuMjU5LTUuMjZjLjI1NS0uNTg5LS4wOS0xLjM5NS0uNzE2LTEuMjQ4YTYgNiAwIDAgMC00LjU5NCA1LjM2IiAvPgogIDxwYXRoIGQ9Ik0zIDIwYTUgNSAwIDEgMSA4LjktNEgxM2EzIDMgMCAwIDEgMiA1LjI0IiAvPgogIDxwYXRoIGQ9Ik03IDE5djIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cloud-moon-rain\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudMoonRain = /*#__PURE__*/(() => {\n  class LucideCloudMoonRain extends LucideIconBase {\n    static icon = {\n      name: 'cloud-moon-rain',\n      size: 24,\n      node: [['path', {\n        d: 'M11 20v2',\n        key: '174qtz'\n      }], ['path', {\n        d: 'M18.376 14.512a6 6 0 0 0 3.461-4.127c.148-.625-.659-.97-1.248-.714a4 4 0 0 1-5.259-5.26c.255-.589-.09-1.395-.716-1.248a6 6 0 0 0-4.594 5.36',\n        key: 'zwnc1e'\n      }], ['path', {\n        d: 'M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24',\n        key: '1qmrp3'\n      }], ['path', {\n        d: 'M7 19v2',\n        key: '12npes'\n      }]]\n    };\n    icon = signal(LucideCloudMoonRain.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudMoonRain_BaseFactory;\n      return function LucideCloudMoonRain_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudMoonRain_BaseFactory || (ɵLucideCloudMoonRain_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudMoonRain)))(__ngFactoryType__ || LucideCloudMoonRain);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudMoonRain,\n      selectors: [[\"svg\", \"lucideCloudMoonRain\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c442,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudMoonRain_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudMoonRain_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudMoonRain;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudMoon\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMTZhMyAzIDAgMCAxIDAgNkg3YTUgNSAwIDEgMSA0LjktNnoiIC8+CiAgPHBhdGggZD0iTTE4LjM3NiAxNC41MTJhNiA2IDAgMCAwIDMuNDYxLTQuMTI3Yy4xNDgtLjYyNS0uNjU5LS45Ny0xLjI0OC0uNzE0YTQgNCAwIDAgMS01LjI1OS01LjI2Yy4yNTUtLjU4OS0uMDktMS4zOTUtLjcxNi0xLjI0OGE2IDYgMCAwIDAtNC41OTQgNS4zNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cloud-moon\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudMoon = /*#__PURE__*/(() => {\n  class LucideCloudMoon extends LucideIconBase {\n    static icon = {\n      name: 'cloud-moon',\n      size: 24,\n      node: [['path', {\n        d: 'M13 16a3 3 0 0 1 0 6H7a5 5 0 1 1 4.9-6z',\n        key: 'ie2ih4'\n      }], ['path', {\n        d: 'M18.376 14.512a6 6 0 0 0 3.461-4.127c.148-.625-.659-.97-1.248-.714a4 4 0 0 1-5.259-5.26c.255-.589-.09-1.395-.716-1.248a6 6 0 0 0-4.594 5.36',\n        key: 'zwnc1e'\n      }]]\n    };\n    icon = signal(LucideCloudMoon.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudMoon_BaseFactory;\n      return function LucideCloudMoon_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudMoon_BaseFactory || (ɵLucideCloudMoon_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudMoon)))(__ngFactoryType__ || LucideCloudMoon);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudMoon,\n      selectors: [[\"svg\", \"lucideCloudMoon\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c443,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudMoon_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudMoon_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudMoon;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuOTQgNS4yNzRBNyA3IDAgMCAxIDE1LjcxIDEwaDEuNzlhNC41IDQuNSAwIDAgMSA0LjIyMiA2LjA1NyIgLz4KICA8cGF0aCBkPSJNMTguNzk2IDE4LjgxQTQuNSA0LjUgMCAwIDEgMTcuNSAxOUg5QTcgNyAwIDAgMSA1Ljc5IDUuNzgiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cloud-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudOff = /*#__PURE__*/(() => {\n  class LucideCloudOff extends LucideIconBase {\n    static icon = {\n      name: 'cloud-off',\n      size: 24,\n      node: [['path', {\n        d: 'M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057',\n        key: '1uxyv8'\n      }], ['path', {\n        d: 'M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78',\n        key: '99tcn7'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucideCloudOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudOff_BaseFactory;\n      return function LucideCloudOff_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudOff_BaseFactory || (ɵLucideCloudOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudOff)))(__ngFactoryType__ || LucideCloudOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudOff,\n      selectors: [[\"svg\", \"lucideCloudOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c444,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudRainWind\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiIgLz4KICA8cGF0aCBkPSJtOS4yIDIyIDMtNyIgLz4KICA8cGF0aCBkPSJtOSAxMy0zIDciIC8+CiAgPHBhdGggZD0ibTE3IDEzLTMgNyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cloud-rain-wind\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudRainWind = /*#__PURE__*/(() => {\n  class LucideCloudRainWind extends LucideIconBase {\n    static icon = {\n      name: 'cloud-rain-wind',\n      size: 24,\n      node: [['path', {\n        d: 'M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242',\n        key: '1pljnt'\n      }], ['path', {\n        d: 'm9.2 22 3-7',\n        key: 'sb5f6j'\n      }], ['path', {\n        d: 'm9 13-3 7',\n        key: '500co5'\n      }], ['path', {\n        d: 'm17 13-3 7',\n        key: '8t2fiy'\n      }]]\n    };\n    icon = signal(LucideCloudRainWind.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudRainWind_BaseFactory;\n      return function LucideCloudRainWind_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudRainWind_BaseFactory || (ɵLucideCloudRainWind_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudRainWind)))(__ngFactoryType__ || LucideCloudRainWind);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudRainWind,\n      selectors: [[\"svg\", \"lucideCloudRainWind\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c445,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudRainWind_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudRainWind_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudRainWind;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudRain\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiIgLz4KICA8cGF0aCBkPSJNMTYgMTR2NiIgLz4KICA8cGF0aCBkPSJNOCAxNHY2IiAvPgogIDxwYXRoIGQ9Ik0xMiAxNnY2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cloud-rain\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudRain = /*#__PURE__*/(() => {\n  class LucideCloudRain extends LucideIconBase {\n    static icon = {\n      name: 'cloud-rain',\n      size: 24,\n      node: [['path', {\n        d: 'M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242',\n        key: '1pljnt'\n      }], ['path', {\n        d: 'M16 14v6',\n        key: '1j4efv'\n      }], ['path', {\n        d: 'M8 14v6',\n        key: '17c4r9'\n      }], ['path', {\n        d: 'M12 16v6',\n        key: 'c8a4gj'\n      }]]\n    };\n    icon = signal(LucideCloudRain.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudRain_BaseFactory;\n      return function LucideCloudRain_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudRain_BaseFactory || (ɵLucideCloudRain_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudRain)))(__ngFactoryType__ || LucideCloudRain);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudRain,\n      selectors: [[\"svg\", \"lucideCloudRain\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c446,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudRain_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudRain_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudRain;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudSunRain\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYyIiAvPgogIDxwYXRoIGQ9Im00LjkzIDQuOTMgMS40MSAxLjQxIiAvPgogIDxwYXRoIGQ9Ik0yMCAxMmgyIiAvPgogIDxwYXRoIGQ9Im0xOS4wNyA0LjkzLTEuNDEgMS40MSIgLz4KICA8cGF0aCBkPSJNMTUuOTQ3IDEyLjY1YTQgNCAwIDAgMC01LjkyNS00LjEyOCIgLz4KICA8cGF0aCBkPSJNMyAyMGE1IDUgMCAxIDEgOC45LTRIMTNhMyAzIDAgMCAxIDIgNS4yNCIgLz4KICA8cGF0aCBkPSJNMTEgMjB2MiIgLz4KICA8cGF0aCBkPSJNNyAxOXYyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cloud-sun-rain\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudSunRain = /*#__PURE__*/(() => {\n  class LucideCloudSunRain extends LucideIconBase {\n    static icon = {\n      name: 'cloud-sun-rain',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v2',\n        key: 'tus03m'\n      }], ['path', {\n        d: 'm4.93 4.93 1.41 1.41',\n        key: '149t6j'\n      }], ['path', {\n        d: 'M20 12h2',\n        key: '1q8mjw'\n      }], ['path', {\n        d: 'm19.07 4.93-1.41 1.41',\n        key: '1shlcs'\n      }], ['path', {\n        d: 'M15.947 12.65a4 4 0 0 0-5.925-4.128',\n        key: 'dpwdj0'\n      }], ['path', {\n        d: 'M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24',\n        key: '1qmrp3'\n      }], ['path', {\n        d: 'M11 20v2',\n        key: '174qtz'\n      }], ['path', {\n        d: 'M7 19v2',\n        key: '12npes'\n      }]]\n    };\n    icon = signal(LucideCloudSunRain.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudSunRain_BaseFactory;\n      return function LucideCloudSunRain_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudSunRain_BaseFactory || (ɵLucideCloudSunRain_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudSunRain)))(__ngFactoryType__ || LucideCloudSunRain);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudSunRain,\n      selectors: [[\"svg\", \"lucideCloudSunRain\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c447,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudSunRain_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudSunRain_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudSunRain;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudSnow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiIgLz4KICA8cGF0aCBkPSJNOCAxNWguMDEiIC8+CiAgPHBhdGggZD0iTTggMTloLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMiAxN2guMDEiIC8+CiAgPHBhdGggZD0iTTEyIDIxaC4wMSIgLz4KICA8cGF0aCBkPSJNMTYgMTVoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNiAxOWguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cloud-snow\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudSnow = /*#__PURE__*/(() => {\n  class LucideCloudSnow extends LucideIconBase {\n    static icon = {\n      name: 'cloud-snow',\n      size: 24,\n      node: [['path', {\n        d: 'M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242',\n        key: '1pljnt'\n      }], ['path', {\n        d: 'M8 15h.01',\n        key: 'a7atzg'\n      }], ['path', {\n        d: 'M8 19h.01',\n        key: 'puxtts'\n      }], ['path', {\n        d: 'M12 17h.01',\n        key: 'p32p05'\n      }], ['path', {\n        d: 'M12 21h.01',\n        key: 'h35vbk'\n      }], ['path', {\n        d: 'M16 15h.01',\n        key: 'rnfrdf'\n      }], ['path', {\n        d: 'M16 19h.01',\n        key: '1vcnzz'\n      }]]\n    };\n    icon = signal(LucideCloudSnow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudSnow_BaseFactory;\n      return function LucideCloudSnow_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudSnow_BaseFactory || (ɵLucideCloudSnow_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudSnow)))(__ngFactoryType__ || LucideCloudSnow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudSnow,\n      selectors: [[\"svg\", \"lucideCloudSnow\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c448,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudSnow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudSnow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudSnow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudSun\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYyIiAvPgogIDxwYXRoIGQ9Im00LjkzIDQuOTMgMS40MSAxLjQxIiAvPgogIDxwYXRoIGQ9Ik0yMCAxMmgyIiAvPgogIDxwYXRoIGQ9Im0xOS4wNyA0LjkzLTEuNDEgMS40MSIgLz4KICA8cGF0aCBkPSJNMTUuOTQ3IDEyLjY1YTQgNCAwIDAgMC01LjkyNS00LjEyOCIgLz4KICA8cGF0aCBkPSJNMTMgMjJIN2E1IDUgMCAxIDEgNC45LTZIMTNhMyAzIDAgMCAxIDAgNloiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cloud-sun\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudSun = /*#__PURE__*/(() => {\n  class LucideCloudSun extends LucideIconBase {\n    static icon = {\n      name: 'cloud-sun',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v2',\n        key: 'tus03m'\n      }], ['path', {\n        d: 'm4.93 4.93 1.41 1.41',\n        key: '149t6j'\n      }], ['path', {\n        d: 'M20 12h2',\n        key: '1q8mjw'\n      }], ['path', {\n        d: 'm19.07 4.93-1.41 1.41',\n        key: '1shlcs'\n      }], ['path', {\n        d: 'M15.947 12.65a4 4 0 0 0-5.925-4.128',\n        key: 'dpwdj0'\n      }], ['path', {\n        d: 'M13 22H7a5 5 0 1 1 4.9-6H13a3 3 0 0 1 0 6Z',\n        key: 's09mg5'\n      }]]\n    };\n    icon = signal(LucideCloudSun.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudSun_BaseFactory;\n      return function LucideCloudSun_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudSun_BaseFactory || (ɵLucideCloudSun_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudSun)))(__ngFactoryType__ || LucideCloudSun);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudSun,\n      selectors: [[\"svg\", \"lucideCloudSun\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c449,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudSun_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudSun_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudSun;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudSync\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTcgMTgtMS41MzUgMS42MDVhNSA1IDAgMCAxLTgtMS41IiAvPgogIDxwYXRoIGQ9Ik0xNyAyMnYtNGgtNCIgLz4KICA8cGF0aCBkPSJNMjAuOTk2IDE1LjI1MUE0LjUgNC41IDAgMCAwIDE3LjQ5NSA4aC0xLjc5YTcgNyAwIDEgMC0xMi43MDkgNS42MDciIC8+CiAgPHBhdGggZD0iTTcgMTB2NGg0IiAvPgogIDxwYXRoIGQ9Im03IDE0IDEuNTM1LTEuNjA1YTUgNSAwIDAgMSA4IDEuNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cloud-sync\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudSync = /*#__PURE__*/(() => {\n  class LucideCloudSync extends LucideIconBase {\n    static icon = {\n      name: 'cloud-sync',\n      size: 24,\n      node: [['path', {\n        d: 'm17 18-1.535 1.605a5 5 0 0 1-8-1.5',\n        key: 'adpv5j'\n      }], ['path', {\n        d: 'M17 22v-4h-4',\n        key: 'ex1ofj'\n      }], ['path', {\n        d: 'M20.996 15.251A4.5 4.5 0 0 0 17.495 8h-1.79a7 7 0 1 0-12.709 5.607',\n        key: 'ziqt14'\n      }], ['path', {\n        d: 'M7 10v4h4',\n        key: '1j6gx1'\n      }], ['path', {\n        d: 'm7 14 1.535-1.605a5 5 0 0 1 8 1.5',\n        key: '19q5h7'\n      }]]\n    };\n    icon = signal(LucideCloudSync.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudSync_BaseFactory;\n      return function LucideCloudSync_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudSync_BaseFactory || (ɵLucideCloudSync_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudSync)))(__ngFactoryType__ || LucideCloudSync);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudSync,\n      selectors: [[\"svg\", \"lucideCloudSync\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c450,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudSync_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudSync_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudSync;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudUpload\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTN2OCIgLz4KICA8cGF0aCBkPSJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiIgLz4KICA8cGF0aCBkPSJtOCAxNyA0LTQgNCA0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cloud-upload\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudUpload = /*#__PURE__*/(() => {\n  class LucideCloudUpload extends LucideIconBase {\n    static icon = {\n      name: 'cloud-upload',\n      size: 24,\n      node: [['path', {\n        d: 'M12 13v8',\n        key: '1l5pq0'\n      }], ['path', {\n        d: 'M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242',\n        key: '1pljnt'\n      }], ['path', {\n        d: 'm8 17 4-4 4 4',\n        key: '1quai1'\n      }]],\n      aliases: ['upload-cloud']\n    };\n    icon = signal(LucideCloudUpload.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudUpload_BaseFactory;\n      return function LucideCloudUpload_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudUpload_BaseFactory || (ɵLucideCloudUpload_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudUpload)))(__ngFactoryType__ || LucideCloudUpload);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudUpload,\n      selectors: [[\"svg\", \"lucideCloudUpload\", \"\"], [\"svg\", \"lucideUploadCloud\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c451,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudUpload_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudUpload_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudUpload;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCloudUpload\n */\nconst LucideUploadCloud = LucideCloudUpload;\n\n/**\n * @component @name Cloud\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcuNSAxOUg5YTcgNyAwIDEgMSA2LjcxLTloMS43OWE0LjUgNC41IDAgMSAxIDAgOVoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cloud\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloud = /*#__PURE__*/(() => {\n  class LucideCloud extends LucideIconBase {\n    static icon = {\n      name: 'cloud',\n      size: 24,\n      node: [['path', {\n        d: 'M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z',\n        key: 'p7xjir'\n      }]]\n    };\n    icon = signal(LucideCloud.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloud_BaseFactory;\n      return function LucideCloud_Factory(__ngFactoryType__) {\n        return (ɵLucideCloud_BaseFactory || (ɵLucideCloud_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloud)))(__ngFactoryType__ || LucideCloud);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloud,\n      selectors: [[\"svg\", \"lucideCloud\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c452,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloud_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloud_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloud;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cloudy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcuNSAxMmExIDEgMCAxIDEgMCA5SDkuMDA2YTcgNyAwIDEgMSA2LjcwMi05eiIgLz4KICA8cGF0aCBkPSJNMjEuODMyIDlBMyAzIDAgMCAwIDE5IDdoLTIuMjA3YTUuNSA1LjUgMCAwIDAtMTAuNzIuNjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cloudy\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudy = /*#__PURE__*/(() => {\n  class LucideCloudy extends LucideIconBase {\n    static icon = {\n      name: 'cloudy',\n      size: 24,\n      node: [['path', {\n        d: 'M17.5 12a1 1 0 1 1 0 9H9.006a7 7 0 1 1 6.702-9z',\n        key: '44yre2'\n      }], ['path', {\n        d: 'M21.832 9A3 3 0 0 0 19 7h-2.207a5.5 5.5 0 0 0-10.72.61',\n        key: 'leugyv'\n      }]]\n    };\n    icon = signal(LucideCloudy.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudy_BaseFactory;\n      return function LucideCloudy_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudy_BaseFactory || (ɵLucideCloudy_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudy)))(__ngFactoryType__ || LucideCloudy);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudy,\n      selectors: [[\"svg\", \"lucideCloudy\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c453,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudy_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudy_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudy;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Clover\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYuMTcgNy44MyAyIDIyIiAvPgogIDxwYXRoIGQ9Ik00LjAyIDEyYTIuODI3IDIuODI3IDAgMSAxIDMuODEtNC4xN0EyLjgyNyAyLjgyNyAwIDEgMSAxMiA0LjAyYTIuODI3IDIuODI3IDAgMSAxIDQuMTcgMy44MUEyLjgyNyAyLjgyNyAwIDEgMSAxOS45OCAxMmEyLjgyNyAyLjgyNyAwIDEgMS0zLjgxIDQuMTdBMi44MjcgMi44MjcgMCAxIDEgMTIgMTkuOThhMi44MjcgMi44MjcgMCAxIDEtNC4xNy0zLjgxQTEgMSAwIDEgMSA0IDEyIiAvPgogIDxwYXRoIGQ9Im03LjgzIDcuODMgOC4zNCA4LjM0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/clover\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClover = /*#__PURE__*/(() => {\n  class LucideClover extends LucideIconBase {\n    static icon = {\n      name: 'clover',\n      size: 24,\n      node: [['path', {\n        d: 'M16.17 7.83 2 22',\n        key: 't58vo8'\n      }], ['path', {\n        d: 'M4.02 12a2.827 2.827 0 1 1 3.81-4.17A2.827 2.827 0 1 1 12 4.02a2.827 2.827 0 1 1 4.17 3.81A2.827 2.827 0 1 1 19.98 12a2.827 2.827 0 1 1-3.81 4.17A2.827 2.827 0 1 1 12 19.98a2.827 2.827 0 1 1-4.17-3.81A1 1 0 1 1 4 12',\n        key: '17k36q'\n      }], ['path', {\n        d: 'm7.83 7.83 8.34 8.34',\n        key: '1d7sxk'\n      }]]\n    };\n    icon = signal(LucideClover.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClover_BaseFactory;\n      return function LucideClover_Factory(__ngFactoryType__) {\n        return (ɵLucideClover_BaseFactory || (ɵLucideClover_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClover)))(__ngFactoryType__ || LucideClover);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClover,\n      selectors: [[\"svg\", \"lucideClover\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c454,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClover_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClover_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClover;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Club\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcuMjggOS4wNWE1LjUgNS41IDAgMSAwLTEwLjU2IDBBNS41IDUuNSAwIDEgMCAxMiAxNy42NmE1LjUgNS41IDAgMSAwIDUuMjgtOC42WiIgLz4KICA8cGF0aCBkPSJNMTIgMTcuNjZMMTIgMjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/club\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideClub = /*#__PURE__*/(() => {\n  class LucideClub extends LucideIconBase {\n    static icon = {\n      name: 'club',\n      size: 24,\n      node: [['path', {\n        d: 'M17.28 9.05a5.5 5.5 0 1 0-10.56 0A5.5 5.5 0 1 0 12 17.66a5.5 5.5 0 1 0 5.28-8.6Z',\n        key: '27yuqz'\n      }], ['path', {\n        d: 'M12 17.66L12 22',\n        key: 'ogfahf'\n      }]]\n    };\n    icon = signal(LucideClub.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideClub_BaseFactory;\n      return function LucideClub_Factory(__ngFactoryType__) {\n        return (ɵLucideClub_BaseFactory || (ɵLucideClub_BaseFactory = i0.ɵɵgetInheritedFactory(LucideClub)))(__ngFactoryType__ || LucideClub);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideClub,\n      selectors: [[\"svg\", \"lucideClub\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c455,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideClub_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideClub_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideClub;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CodeXml\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTggMTYgNC00LTQtNCIgLz4KICA8cGF0aCBkPSJtNiA4LTQgNCA0IDQiIC8+CiAgPHBhdGggZD0ibTE0LjUgNC01IDE2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/code-xml\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCodeXml = /*#__PURE__*/(() => {\n  class LucideCodeXml extends LucideIconBase {\n    static icon = {\n      name: 'code-xml',\n      size: 24,\n      node: [['path', {\n        d: 'm18 16 4-4-4-4',\n        key: '1inbqp'\n      }], ['path', {\n        d: 'm6 8-4 4 4 4',\n        key: '15zrgr'\n      }], ['path', {\n        d: 'm14.5 4-5 16',\n        key: 'e7oirm'\n      }]],\n      aliases: ['code-2']\n    };\n    icon = signal(LucideCodeXml.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCodeXml_BaseFactory;\n      return function LucideCodeXml_Factory(__ngFactoryType__) {\n        return (ɵLucideCodeXml_BaseFactory || (ɵLucideCodeXml_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCodeXml)))(__ngFactoryType__ || LucideCodeXml);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCodeXml,\n      selectors: [[\"svg\", \"lucideCodeXml\", \"\"], [\"svg\", \"lucideCode2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c456,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCodeXml_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCodeXml_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCodeXml;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideCodeXml\n */\nconst LucideCode2 = LucideCodeXml;\n\n/**\n * @component @name Code\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMTggNi02LTYtNiIgLz4KICA8cGF0aCBkPSJtOCA2LTYgNiA2IDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/code\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCode = /*#__PURE__*/(() => {\n  class LucideCode extends LucideIconBase {\n    static icon = {\n      name: 'code',\n      size: 24,\n      node: [['path', {\n        d: 'm16 18 6-6-6-6',\n        key: 'eg8j8'\n      }], ['path', {\n        d: 'm8 6-6 6 6 6',\n        key: 'ppft3o'\n      }]]\n    };\n    icon = signal(LucideCode.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCode_BaseFactory;\n      return function LucideCode_Factory(__ngFactoryType__) {\n        return (ɵLucideCode_BaseFactory || (ɵLucideCode_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCode)))(__ngFactoryType__ || LucideCode);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCode,\n      selectors: [[\"svg\", \"lucideCode\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c457,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCode_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCode_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCode;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Coffee\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMnYyIiAvPgogIDxwYXRoIGQ9Ik0xNCAydjIiIC8+CiAgPHBhdGggZD0iTTE2IDhhMSAxIDAgMCAxIDEgMXY4YTQgNCAwIDAgMS00IDRIN2E0IDQgMCAwIDEtNC00VjlhMSAxIDAgMCAxIDEtMWgxNGE0IDQgMCAxIDEgMCA4aC0xIiAvPgogIDxwYXRoIGQ9Ik02IDJ2MiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/coffee\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCoffee = /*#__PURE__*/(() => {\n  class LucideCoffee extends LucideIconBase {\n    static icon = {\n      name: 'coffee',\n      size: 24,\n      node: [['path', {\n        d: 'M10 2v2',\n        key: '7u0qdc'\n      }], ['path', {\n        d: 'M14 2v2',\n        key: '6buw04'\n      }], ['path', {\n        d: 'M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1',\n        key: 'pwadti'\n      }], ['path', {\n        d: 'M6 2v2',\n        key: 'colzsn'\n      }]]\n    };\n    icon = signal(LucideCoffee.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCoffee_BaseFactory;\n      return function LucideCoffee_Factory(__ngFactoryType__) {\n        return (ɵLucideCoffee_BaseFactory || (ɵLucideCoffee_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCoffee)))(__ngFactoryType__ || LucideCoffee);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCoffee,\n      selectors: [[\"svg\", \"lucideCoffee\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c458,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCoffee_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCoffee_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCoffee;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cog\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTAuMjcgNyAzLjM0IiAvPgogIDxwYXRoIGQ9Im0xMSAxMy43My00IDYuOTMiIC8+CiAgPHBhdGggZD0iTTEyIDIydi0yIiAvPgogIDxwYXRoIGQ9Ik0xMiAydjIiIC8+CiAgPHBhdGggZD0iTTE0IDEyaDgiIC8+CiAgPHBhdGggZD0ibTE3IDIwLjY2LTEtMS43MyIgLz4KICA8cGF0aCBkPSJtMTcgMy4zNC0xIDEuNzMiIC8+CiAgPHBhdGggZD0iTTIgMTJoMiIgLz4KICA8cGF0aCBkPSJtMjAuNjYgMTctMS43My0xIiAvPgogIDxwYXRoIGQ9Im0yMC42NiA3LTEuNzMgMSIgLz4KICA8cGF0aCBkPSJtMy4zNCAxNyAxLjczLTEiIC8+CiAgPHBhdGggZD0ibTMuMzQgNyAxLjczIDEiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMiIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cog\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCog = /*#__PURE__*/(() => {\n  class LucideCog extends LucideIconBase {\n    static icon = {\n      name: 'cog',\n      size: 24,\n      node: [['path', {\n        d: 'M11 10.27 7 3.34',\n        key: '16pf9h'\n      }], ['path', {\n        d: 'm11 13.73-4 6.93',\n        key: '794ttg'\n      }], ['path', {\n        d: 'M12 22v-2',\n        key: '1osdcq'\n      }], ['path', {\n        d: 'M12 2v2',\n        key: 'tus03m'\n      }], ['path', {\n        d: 'M14 12h8',\n        key: '4f43i9'\n      }], ['path', {\n        d: 'm17 20.66-1-1.73',\n        key: 'eq3orb'\n      }], ['path', {\n        d: 'm17 3.34-1 1.73',\n        key: '2wel8s'\n      }], ['path', {\n        d: 'M2 12h2',\n        key: '1t8f8n'\n      }], ['path', {\n        d: 'm20.66 17-1.73-1',\n        key: 'sg0v6f'\n      }], ['path', {\n        d: 'm20.66 7-1.73 1',\n        key: '1ow05n'\n      }], ['path', {\n        d: 'm3.34 17 1.73-1',\n        key: 'nuk764'\n      }], ['path', {\n        d: 'm3.34 7 1.73 1',\n        key: '1ulond'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '2',\n        key: '1c9p78'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '8',\n        key: '46899m'\n      }]]\n    };\n    icon = signal(LucideCog.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCog_BaseFactory;\n      return function LucideCog_Factory(__ngFactoryType__) {\n        return (ɵLucideCog_BaseFactory || (ɵLucideCog_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCog)))(__ngFactoryType__ || LucideCog);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCog,\n      selectors: [[\"svg\", \"lucideCog\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c459,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCog_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCog_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCog;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Coins\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuNzQ0IDE3LjczNmE2IDYgMCAxIDEtNy40OC03LjQ4IiAvPgogIDxwYXRoIGQ9Ik0xNSA2aDF2NCIgLz4KICA8cGF0aCBkPSJtNi4xMzQgMTQuNzY4Ljg2Ni0uNSAyIDMuNDY0IiAvPgogIDxjaXJjbGUgY3g9IjE2IiBjeT0iOCIgcj0iNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/coins\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCoins = /*#__PURE__*/(() => {\n  class LucideCoins extends LucideIconBase {\n    static icon = {\n      name: 'coins',\n      size: 24,\n      node: [['path', {\n        d: 'M13.744 17.736a6 6 0 1 1-7.48-7.48',\n        key: 'bq4yh3'\n      }], ['path', {\n        d: 'M15 6h1v4',\n        key: '11y1tn'\n      }], ['path', {\n        d: 'm6.134 14.768.866-.5 2 3.464',\n        key: '17snzx'\n      }], ['circle', {\n        cx: '16',\n        cy: '8',\n        r: '6',\n        key: '14bfc9'\n      }]]\n    };\n    icon = signal(LucideCoins.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCoins_BaseFactory;\n      return function LucideCoins_Factory(__ngFactoryType__) {\n        return (ɵLucideCoins_BaseFactory || (ɵLucideCoins_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCoins)))(__ngFactoryType__ || LucideCoins);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCoins,\n      selectors: [[\"svg\", \"lucideCoins\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c460,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCoins_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCoins_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCoins;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Columns3Cog\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNSAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2NS41IiAvPgogIDxwYXRoIGQ9Im0xNC4zIDE5LjYgMS0uNCIgLz4KICA8cGF0aCBkPSJNMTUgM3Y3LjUiIC8+CiAgPHBhdGggZD0ibTE1LjIgMTYuOS0uOS0uMyIgLz4KICA8cGF0aCBkPSJtMTYuNiAyMS43LjMtLjkiIC8+CiAgPHBhdGggZD0ibTE2LjggMTUuMy0uNC0xIiAvPgogIDxwYXRoIGQ9Im0xOS4xIDE1LjIuMy0uOSIgLz4KICA8cGF0aCBkPSJtMTkuNiAyMS43LS40LTEiIC8+CiAgPHBhdGggZD0ibTIwLjcgMTYuOCAxLS40IiAvPgogIDxwYXRoIGQ9Im0yMS43IDE5LjQtLjktLjMiIC8+CiAgPHBhdGggZD0iTTkgM3YxOCIgLz4KICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjE4IiByPSIzIiAvPgo8L3N2Zz4=) - https://lucide.dev/icons/columns-3-cog\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideColumns3Cog = /*#__PURE__*/(() => {\n  class LucideColumns3Cog extends LucideIconBase {\n    static icon = {\n      name: 'columns-3-cog',\n      size: 24,\n      node: [['path', {\n        d: 'M10.5 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v5.5',\n        key: '1g2yzs'\n      }], ['path', {\n        d: 'm14.3 19.6 1-.4',\n        key: '11sv9r'\n      }], ['path', {\n        d: 'M15 3v7.5',\n        key: '7lm50a'\n      }], ['path', {\n        d: 'm15.2 16.9-.9-.3',\n        key: '1t7mvx'\n      }], ['path', {\n        d: 'm16.6 21.7.3-.9',\n        key: '1j67ps'\n      }], ['path', {\n        d: 'm16.8 15.3-.4-1',\n        key: '1ei7r6'\n      }], ['path', {\n        d: 'm19.1 15.2.3-.9',\n        key: '18r7jp'\n      }], ['path', {\n        d: 'm19.6 21.7-.4-1',\n        key: 'z2vh2'\n      }], ['path', {\n        d: 'm20.7 16.8 1-.4',\n        key: '19m87a'\n      }], ['path', {\n        d: 'm21.7 19.4-.9-.3',\n        key: '1qgwi9'\n      }], ['path', {\n        d: 'M9 3v18',\n        key: 'fh3hqa'\n      }], ['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }]],\n      aliases: ['columns-settings', 'table-config']\n    };\n    icon = signal(LucideColumns3Cog.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideColumns3Cog_BaseFactory;\n      return function LucideColumns3Cog_Factory(__ngFactoryType__) {\n        return (ɵLucideColumns3Cog_BaseFactory || (ɵLucideColumns3Cog_BaseFactory = i0.ɵɵgetInheritedFactory(LucideColumns3Cog)))(__ngFactoryType__ || LucideColumns3Cog);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideColumns3Cog,\n      selectors: [[\"svg\", \"lucideColumns3Cog\", \"\"], [\"svg\", \"lucideColumnsSettings\", \"\"], [\"svg\", \"lucideTableConfig\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c461,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideColumns3Cog_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideColumns3Cog_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideColumns3Cog;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideColumns3Cog\n */\nconst LucideColumnsSettings = LucideColumns3Cog;\n/**\n * @deprecated\n * @see LucideColumns3Cog\n */\nconst LucideTableConfig = LucideColumns3Cog;\n\n/**\n * @component @name Columns2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xMiAzdjE4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/columns-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideColumns2 = /*#__PURE__*/(() => {\n  class LucideColumns2 extends LucideIconBase {\n    static icon = {\n      name: 'columns-2',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M12 3v18',\n        key: '108xh3'\n      }]],\n      aliases: ['columns']\n    };\n    icon = signal(LucideColumns2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideColumns2_BaseFactory;\n      return function LucideColumns2_Factory(__ngFactoryType__) {\n        return (ɵLucideColumns2_BaseFactory || (ɵLucideColumns2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideColumns2)))(__ngFactoryType__ || LucideColumns2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideColumns2,\n      selectors: [[\"svg\", \"lucideColumns2\", \"\"], [\"svg\", \"lucideColumns\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c462,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideColumns2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideColumns2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideColumns2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideColumns2\n */\nconst LucideColumns = LucideColumns2;\n\n/**\n * @component @name Columns3\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik05IDN2MTgiIC8+CiAgPHBhdGggZD0iTTE1IDN2MTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/columns-3\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideColumns3 = /*#__PURE__*/(() => {\n  class LucideColumns3 extends LucideIconBase {\n    static icon = {\n      name: 'columns-3',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M9 3v18',\n        key: 'fh3hqa'\n      }], ['path', {\n        d: 'M15 3v18',\n        key: '14nvp0'\n      }]],\n      aliases: ['panels-left-right']\n    };\n    icon = signal(LucideColumns3.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideColumns3_BaseFactory;\n      return function LucideColumns3_Factory(__ngFactoryType__) {\n        return (ɵLucideColumns3_BaseFactory || (ɵLucideColumns3_BaseFactory = i0.ɵɵgetInheritedFactory(LucideColumns3)))(__ngFactoryType__ || LucideColumns3);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideColumns3,\n      selectors: [[\"svg\", \"lucideColumns3\", \"\"], [\"svg\", \"lucidePanelsLeftRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c463,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideColumns3_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideColumns3_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideColumns3;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideColumns3\n */\nconst LucidePanelsLeftRight = LucideColumns3;\n\n/**\n * @component @name Columns4\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik03LjUgM3YxOCIgLz4KICA8cGF0aCBkPSJNMTIgM3YxOCIgLz4KICA8cGF0aCBkPSJNMTYuNSAzdjE4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/columns-4\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideColumns4 = /*#__PURE__*/(() => {\n  class LucideColumns4 extends LucideIconBase {\n    static icon = {\n      name: 'columns-4',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M7.5 3v18',\n        key: 'w0wo6v'\n      }], ['path', {\n        d: 'M12 3v18',\n        key: '108xh3'\n      }], ['path', {\n        d: 'M16.5 3v18',\n        key: '10tjh1'\n      }]]\n    };\n    icon = signal(LucideColumns4.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideColumns4_BaseFactory;\n      return function LucideColumns4_Factory(__ngFactoryType__) {\n        return (ɵLucideColumns4_BaseFactory || (ɵLucideColumns4_BaseFactory = i0.ɵɵgetInheritedFactory(LucideColumns4)))(__ngFactoryType__ || LucideColumns4);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideColumns4,\n      selectors: [[\"svg\", \"lucideColumns4\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c464,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideColumns4_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideColumns4_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideColumns4;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Command\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgNnYxMmEzIDMgMCAxIDAgMy0zSDZhMyAzIDAgMSAwIDMgM1Y2YTMgMyAwIDEgMC0zIDNoMTJhMyAzIDAgMSAwLTMtMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/command\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCommand = /*#__PURE__*/(() => {\n  class LucideCommand extends LucideIconBase {\n    static icon = {\n      name: 'command',\n      size: 24,\n      node: [['path', {\n        d: 'M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3',\n        key: '11bfej'\n      }]]\n    };\n    icon = signal(LucideCommand.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCommand_BaseFactory;\n      return function LucideCommand_Factory(__ngFactoryType__) {\n        return (ɵLucideCommand_BaseFactory || (ɵLucideCommand_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCommand)))(__ngFactoryType__ || LucideCommand);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCommand,\n      selectors: [[\"svg\", \"lucideCommand\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c465,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCommand_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCommand_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCommand;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Compass\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtMTYuMjQgNy43Ni0xLjgwNCA1LjQxMWEyIDIgMCAwIDEtMS4yNjUgMS4yNjVMNy43NiAxNi4yNGwxLjgwNC01LjQxMWEyIDIgMCAwIDEgMS4yNjUtMS4yNjV6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/compass\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCompass = /*#__PURE__*/(() => {\n  class LucideCompass extends LucideIconBase {\n    static icon = {\n      name: 'compass',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'm16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z',\n        key: '9ktpf1'\n      }]]\n    };\n    icon = signal(LucideCompass.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCompass_BaseFactory;\n      return function LucideCompass_Factory(__ngFactoryType__) {\n        return (ɵLucideCompass_BaseFactory || (ɵLucideCompass_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCompass)))(__ngFactoryType__ || LucideCompass);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCompass,\n      selectors: [[\"svg\", \"lucideCompass\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c466,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCompass_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCompass_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCompass;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Combine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgM2ExIDEgMCAwIDEgMSAxdjVhMSAxIDAgMCAxLTEgMSIgLz4KICA8cGF0aCBkPSJNMTkgM2ExIDEgMCAwIDEgMSAxdjVhMSAxIDAgMCAxLTEgMSIgLz4KICA8cGF0aCBkPSJtNyAxNSAzIDMiIC8+CiAgPHBhdGggZD0ibTcgMjEgMy0zSDVhMiAyIDAgMCAxLTItMnYtMiIgLz4KICA8cmVjdCB4PSIxNCIgeT0iMTQiIHdpZHRoPSI3IiBoZWlnaHQ9IjciIHJ4PSIxIiAvPgogIDxyZWN0IHg9IjMiIHk9IjMiIHdpZHRoPSI3IiBoZWlnaHQ9IjciIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/combine\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCombine = /*#__PURE__*/(() => {\n  class LucideCombine extends LucideIconBase {\n    static icon = {\n      name: 'combine',\n      size: 24,\n      node: [['path', {\n        d: 'M14 3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1',\n        key: '1l7d7l'\n      }], ['path', {\n        d: 'M19 3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1',\n        key: '9955pe'\n      }], ['path', {\n        d: 'm7 15 3 3',\n        key: '4hkfgk'\n      }], ['path', {\n        d: 'm7 21 3-3H5a2 2 0 0 1-2-2v-2',\n        key: '1xljwe'\n      }], ['rect', {\n        x: '14',\n        y: '14',\n        width: '7',\n        height: '7',\n        rx: '1',\n        key: '1cdgtw'\n      }], ['rect', {\n        x: '3',\n        y: '3',\n        width: '7',\n        height: '7',\n        rx: '1',\n        key: 'zi3rio'\n      }]]\n    };\n    icon = signal(LucideCombine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCombine_BaseFactory;\n      return function LucideCombine_Factory(__ngFactoryType__) {\n        return (ɵLucideCombine_BaseFactory || (ɵLucideCombine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCombine)))(__ngFactoryType__ || LucideCombine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCombine,\n      selectors: [[\"svg\", \"lucideCombine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c467,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCombine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCombine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCombine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Component\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuNTM2IDExLjI5M2ExIDEgMCAwIDAgMCAxLjQxNGwyLjM3NiAyLjM3N2ExIDEgMCAwIDAgMS40MTQgMGwyLjM3Ny0yLjM3N2ExIDEgMCAwIDAgMC0xLjQxNGwtMi4zNzctMi4zNzdhMSAxIDAgMCAwLTEuNDE0IDB6IiAvPgogIDxwYXRoIGQ9Ik0yLjI5NyAxMS4yOTNhMSAxIDAgMCAwIDAgMS40MTRsMi4zNzcgMi4zNzdhMSAxIDAgMCAwIDEuNDE0IDBsMi4zNzctMi4zNzdhMSAxIDAgMCAwIDAtMS40MTRMNi4wODggOC45MTZhMSAxIDAgMCAwLTEuNDE0IDB6IiAvPgogIDxwYXRoIGQ9Ik04LjkxNiAxNy45MTJhMSAxIDAgMCAwIDAgMS40MTVsMi4zNzcgMi4zNzZhMSAxIDAgMCAwIDEuNDE0IDBsMi4zNzctMi4zNzZhMSAxIDAgMCAwIDAtMS40MTVsLTIuMzc3LTIuMzc2YTEgMSAwIDAgMC0xLjQxNCAweiIgLz4KICA8cGF0aCBkPSJNOC45MTYgNC42NzRhMSAxIDAgMCAwIDAgMS40MTRsMi4zNzcgMi4zNzZhMSAxIDAgMCAwIDEuNDE0IDBsMi4zNzctMi4zNzZhMSAxIDAgMCAwIDAtMS40MTRsLTIuMzc3LTIuMzc3YTEgMSAwIDAgMC0xLjQxNCAweiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/component\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideComponent = /*#__PURE__*/(() => {\n  class LucideComponent extends LucideIconBase {\n    static icon = {\n      name: 'component',\n      size: 24,\n      node: [['path', {\n        d: 'M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z',\n        key: '1uwlt4'\n      }], ['path', {\n        d: 'M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z',\n        key: '10291m'\n      }], ['path', {\n        d: 'M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z',\n        key: '1tqoq1'\n      }], ['path', {\n        d: 'M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z',\n        key: '1x6lto'\n      }]]\n    };\n    icon = signal(LucideComponent.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideComponent_BaseFactory;\n      return function LucideComponent_Factory(__ngFactoryType__) {\n        return (ɵLucideComponent_BaseFactory || (ɵLucideComponent_BaseFactory = i0.ɵɵgetInheritedFactory(LucideComponent)))(__ngFactoryType__ || LucideComponent);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideComponent,\n      selectors: [[\"svg\", \"lucideComponent\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c468,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideComponent_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideComponent_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideComponent;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Computer\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iOCIgeD0iNSIgeT0iMiIgcng9IjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHg9IjIiIHk9IjE0IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNNiAxOGgyIiAvPgogIDxwYXRoIGQ9Ik0xMiAxOGg2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/computer\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideComputer = /*#__PURE__*/(() => {\n  class LucideComputer extends LucideIconBase {\n    static icon = {\n      name: 'computer',\n      size: 24,\n      node: [['rect', {\n        width: '14',\n        height: '8',\n        x: '5',\n        y: '2',\n        rx: '2',\n        key: 'wc9tft'\n      }], ['rect', {\n        width: '20',\n        height: '8',\n        x: '2',\n        y: '14',\n        rx: '2',\n        key: 'w68u3i'\n      }], ['path', {\n        d: 'M6 18h2',\n        key: 'rwmk9e'\n      }], ['path', {\n        d: 'M12 18h6',\n        key: 'aqd8w3'\n      }]]\n    };\n    icon = signal(LucideComputer.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideComputer_BaseFactory;\n      return function LucideComputer_Factory(__ngFactoryType__) {\n        return (ɵLucideComputer_BaseFactory || (ɵLucideComputer_BaseFactory = i0.ɵɵgetInheritedFactory(LucideComputer)))(__ngFactoryType__ || LucideComputer);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideComputer,\n      selectors: [[\"svg\", \"lucideComputer\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c469,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideComputer_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideComputer_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideComputer;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjAuOSAxOC41NS04LTE1Ljk4YTEgMSAwIDAgMC0xLjggMGwtOCAxNS45OCIgLz4KICA8ZWxsaXBzZSBjeD0iMTIiIGN5PSIxOSIgcng9IjkiIHJ5PSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cone\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCone = /*#__PURE__*/(() => {\n  class LucideCone extends LucideIconBase {\n    static icon = {\n      name: 'cone',\n      size: 24,\n      node: [['path', {\n        d: 'm20.9 18.55-8-15.98a1 1 0 0 0-1.8 0l-8 15.98',\n        key: '53pte7'\n      }], ['ellipse', {\n        cx: '12',\n        cy: '19',\n        rx: '9',\n        ry: '3',\n        key: '1ji25f'\n      }]]\n    };\n    icon = signal(LucideCone.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCone_BaseFactory;\n      return function LucideCone_Factory(__ngFactoryType__) {\n        return (ɵLucideCone_BaseFactory || (ɵLucideCone_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCone)))(__ngFactoryType__ || LucideCone);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCone,\n      selectors: [[\"svg\", \"lucideCone\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c470,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCone_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCone_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCone;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CloudCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTcgMTUtNS41IDUuNUw5IDE4IiAvPgogIDxwYXRoIGQ9Ik01LjUxNiAxNi4wN0E3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMy41MDEgNy4zMjciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cloud-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCloudCheck = /*#__PURE__*/(() => {\n  class LucideCloudCheck extends LucideIconBase {\n    static icon = {\n      name: 'cloud-check',\n      size: 24,\n      node: [['path', {\n        d: 'm17 15-5.5 5.5L9 18',\n        key: '15q87x'\n      }], ['path', {\n        d: 'M5.516 16.07A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 3.501 7.327',\n        key: '1xtj56'\n      }]]\n    };\n    icon = signal(LucideCloudCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCloudCheck_BaseFactory;\n      return function LucideCloudCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideCloudCheck_BaseFactory || (ɵLucideCloudCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCloudCheck)))(__ngFactoryType__ || LucideCloudCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCloudCheck,\n      selectors: [[\"svg\", \"lucideCloudCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c471,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCloudCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCloudCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCloudCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Construction\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB4PSIyIiB5PSI2IiB3aWR0aD0iMjAiIGhlaWdodD0iOCIgcng9IjEiIC8+CiAgPHBhdGggZD0iTTE3IDE0djciIC8+CiAgPHBhdGggZD0iTTcgMTR2NyIgLz4KICA8cGF0aCBkPSJNMTcgM3YzIiAvPgogIDxwYXRoIGQ9Ik03IDN2MyIgLz4KICA8cGF0aCBkPSJNMTAgMTQgMi4zIDYuMyIgLz4KICA8cGF0aCBkPSJtMTQgNiA3LjcgNy43IiAvPgogIDxwYXRoIGQ9Im04IDYgOCA4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/construction\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideConstruction = /*#__PURE__*/(() => {\n  class LucideConstruction extends LucideIconBase {\n    static icon = {\n      name: 'construction',\n      size: 24,\n      node: [['rect', {\n        x: '2',\n        y: '6',\n        width: '20',\n        height: '8',\n        rx: '1',\n        key: '1estib'\n      }], ['path', {\n        d: 'M17 14v7',\n        key: '7m2elx'\n      }], ['path', {\n        d: 'M7 14v7',\n        key: '1cm7wv'\n      }], ['path', {\n        d: 'M17 3v3',\n        key: '1v4jwn'\n      }], ['path', {\n        d: 'M7 3v3',\n        key: '7o6guu'\n      }], ['path', {\n        d: 'M10 14 2.3 6.3',\n        key: '1023jk'\n      }], ['path', {\n        d: 'm14 6 7.7 7.7',\n        key: '1s8pl2'\n      }], ['path', {\n        d: 'm8 6 8 8',\n        key: 'hl96qh'\n      }]]\n    };\n    icon = signal(LucideConstruction.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideConstruction_BaseFactory;\n      return function LucideConstruction_Factory(__ngFactoryType__) {\n        return (ɵLucideConstruction_BaseFactory || (ɵLucideConstruction_BaseFactory = i0.ɵɵgetInheritedFactory(LucideConstruction)))(__ngFactoryType__ || LucideConstruction);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideConstruction,\n      selectors: [[\"svg\", \"lucideConstruction\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c472,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideConstruction_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideConstruction_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideConstruction;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ContactRound\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMnYyIiAvPgogIDxwYXRoIGQ9Ik0xNy45MTUgMjJhNiA2IDAgMCAwLTEyIDAiIC8+CiAgPHBhdGggZD0iTTggMnYyIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjQiIC8+CiAgPHJlY3QgeD0iMyIgeT0iNCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/contact-round\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideContactRound = /*#__PURE__*/(() => {\n  class LucideContactRound extends LucideIconBase {\n    static icon = {\n      name: 'contact-round',\n      size: 24,\n      node: [['path', {\n        d: 'M16 2v2',\n        key: 'scm5qe'\n      }], ['path', {\n        d: 'M17.915 22a6 6 0 0 0-12 0',\n        key: 'suqz9p'\n      }], ['path', {\n        d: 'M8 2v2',\n        key: 'pbkmx'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '4',\n        key: '4exip2'\n      }], ['rect', {\n        x: '3',\n        y: '4',\n        width: '18',\n        height: '18',\n        rx: '2',\n        key: '12vinp'\n      }]],\n      aliases: ['contact-2']\n    };\n    icon = signal(LucideContactRound.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideContactRound_BaseFactory;\n      return function LucideContactRound_Factory(__ngFactoryType__) {\n        return (ɵLucideContactRound_BaseFactory || (ɵLucideContactRound_BaseFactory = i0.ɵɵgetInheritedFactory(LucideContactRound)))(__ngFactoryType__ || LucideContactRound);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideContactRound,\n      selectors: [[\"svg\", \"lucideContactRound\", \"\"], [\"svg\", \"lucideContact2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c473,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideContactRound_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideContactRound_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideContactRound;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideContactRound\n */\nconst LucideContact2 = LucideContactRound;\n\n/**\n * @component @name Contact\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMnYyIiAvPgogIDxwYXRoIGQ9Ik03IDIydi0yYTIgMiAwIDAgMSAyLTJoNmEyIDIgMCAwIDEgMiAydjIiIC8+CiAgPHBhdGggZD0iTTggMnYyIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTEiIHI9IjMiIC8+CiAgPHJlY3QgeD0iMyIgeT0iNCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/contact\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideContact = /*#__PURE__*/(() => {\n  class LucideContact extends LucideIconBase {\n    static icon = {\n      name: 'contact',\n      size: 24,\n      node: [['path', {\n        d: 'M16 2v2',\n        key: 'scm5qe'\n      }], ['path', {\n        d: 'M7 22v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2',\n        key: '1waht3'\n      }], ['path', {\n        d: 'M8 2v2',\n        key: 'pbkmx'\n      }], ['circle', {\n        cx: '12',\n        cy: '11',\n        r: '3',\n        key: 'itu57m'\n      }], ['rect', {\n        x: '3',\n        y: '4',\n        width: '18',\n        height: '18',\n        rx: '2',\n        key: '12vinp'\n      }]]\n    };\n    icon = signal(LucideContact.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideContact_BaseFactory;\n      return function LucideContact_Factory(__ngFactoryType__) {\n        return (ɵLucideContact_BaseFactory || (ɵLucideContact_BaseFactory = i0.ɵɵgetInheritedFactory(LucideContact)))(__ngFactoryType__ || LucideContact);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideContact,\n      selectors: [[\"svg\", \"lucideContact\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c474,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideContact_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideContact_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideContact;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Contrast\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgMThhNiA2IDAgMCAwIDAtMTJ2MTJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/contrast\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideContrast = /*#__PURE__*/(() => {\n  class LucideContrast extends LucideIconBase {\n    static icon = {\n      name: 'contrast',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 18a6 6 0 0 0 0-12v12z',\n        key: 'j4l70d'\n      }]]\n    };\n    icon = signal(LucideContrast.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideContrast_BaseFactory;\n      return function LucideContrast_Factory(__ngFactoryType__) {\n        return (ɵLucideContrast_BaseFactory || (ɵLucideContrast_BaseFactory = i0.ɵɵgetInheritedFactory(LucideContrast)))(__ngFactoryType__ || LucideContrast);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideContrast,\n      selectors: [[\"svg\", \"lucideContrast\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c475,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideContrast_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideContrast_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideContrast;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Container\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgNy43YzAtLjYtLjQtMS4yLS44LTEuNWwtNi4zLTMuOWExLjcyIDEuNzIgMCAwIDAtMS43IDBsLTEwLjMgNmMtLjUuMi0uOS44LS45IDEuNHY2LjZjMCAuNS40IDEuMi44IDEuNWw2LjMgMy45YTEuNzIgMS43MiAwIDAgMCAxLjcgMGwxMC4zLTZjLjUtLjMuOS0xIC45LTEuNVoiIC8+CiAgPHBhdGggZD0iTTEwIDIxLjlWMTRMMi4xIDkuMSIgLz4KICA8cGF0aCBkPSJtMTAgMTQgMTEuOS02LjkiIC8+CiAgPHBhdGggZD0iTTE0IDE5Ljh2LTguMSIgLz4KICA8cGF0aCBkPSJNMTggMTcuNVY5LjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/container\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideContainer = /*#__PURE__*/(() => {\n  class LucideContainer extends LucideIconBase {\n    static icon = {\n      name: 'container',\n      size: 24,\n      node: [['path', {\n        d: 'M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z',\n        key: '1t2lqe'\n      }], ['path', {\n        d: 'M10 21.9V14L2.1 9.1',\n        key: 'o7czzq'\n      }], ['path', {\n        d: 'm10 14 11.9-6.9',\n        key: 'zm5e20'\n      }], ['path', {\n        d: 'M14 19.8v-8.1',\n        key: '159ecu'\n      }], ['path', {\n        d: 'M18 17.5V9.4',\n        key: '11uown'\n      }]]\n    };\n    icon = signal(LucideContainer.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideContainer_BaseFactory;\n      return function LucideContainer_Factory(__ngFactoryType__) {\n        return (ɵLucideContainer_BaseFactory || (ɵLucideContainer_BaseFactory = i0.ɵɵgetInheritedFactory(LucideContainer)))(__ngFactoryType__ || LucideContainer);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideContainer,\n      selectors: [[\"svg\", \"lucideContainer\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c476,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideContainer_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideContainer_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideContainer;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cookie\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMmExMCAxMCAwIDEgMCAxMCAxMCA0IDQgMCAwIDEtNS01IDQgNCAwIDAgMS01LTUiIC8+CiAgPHBhdGggZD0iTTguNSA4LjV2LjAxIiAvPgogIDxwYXRoIGQ9Ik0xNiAxNS41di4wMSIgLz4KICA8cGF0aCBkPSJNMTIgMTJ2LjAxIiAvPgogIDxwYXRoIGQ9Ik0xMSAxN3YuMDEiIC8+CiAgPHBhdGggZD0iTTcgMTR2LjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cookie\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCookie = /*#__PURE__*/(() => {\n  class LucideCookie extends LucideIconBase {\n    static icon = {\n      name: 'cookie',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5',\n        key: 'laymnq'\n      }], ['path', {\n        d: 'M8.5 8.5v.01',\n        key: 'ue8clq'\n      }], ['path', {\n        d: 'M16 15.5v.01',\n        key: '14dtrp'\n      }], ['path', {\n        d: 'M12 12v.01',\n        key: 'u5ubse'\n      }], ['path', {\n        d: 'M11 17v.01',\n        key: '1hyl5a'\n      }], ['path', {\n        d: 'M7 14v.01',\n        key: 'uct60s'\n      }]]\n    };\n    icon = signal(LucideCookie.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCookie_BaseFactory;\n      return function LucideCookie_Factory(__ngFactoryType__) {\n        return (ɵLucideCookie_BaseFactory || (ɵLucideCookie_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCookie)))(__ngFactoryType__ || LucideCookie);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCookie,\n      selectors: [[\"svg\", \"lucideCookie\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c477,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCookie_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCookie_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCookie;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CookingPot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxMmgyMCIgLz4KICA8cGF0aCBkPSJNMjAgMTJ2OGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnYtOCIgLz4KICA8cGF0aCBkPSJtNCA4IDE2LTQiIC8+CiAgPHBhdGggZD0ibTguODYgNi43OC0uNDUtMS44MWEyIDIgMCAwIDEgMS40NS0yLjQzbDEuOTQtLjQ4YTIgMiAwIDAgMSAyLjQzIDEuNDZsLjQ1IDEuOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cooking-pot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCookingPot = /*#__PURE__*/(() => {\n  class LucideCookingPot extends LucideIconBase {\n    static icon = {\n      name: 'cooking-pot',\n      size: 24,\n      node: [['path', {\n        d: 'M2 12h20',\n        key: '9i4pu4'\n      }], ['path', {\n        d: 'M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8',\n        key: 'u0tga0'\n      }], ['path', {\n        d: 'm4 8 16-4',\n        key: '16g0ng'\n      }], ['path', {\n        d: 'm8.86 6.78-.45-1.81a2 2 0 0 1 1.45-2.43l1.94-.48a2 2 0 0 1 2.43 1.46l.45 1.8',\n        key: '12cejc'\n      }]]\n    };\n    icon = signal(LucideCookingPot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCookingPot_BaseFactory;\n      return function LucideCookingPot_Factory(__ngFactoryType__) {\n        return (ɵLucideCookingPot_BaseFactory || (ɵLucideCookingPot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCookingPot)))(__ngFactoryType__ || LucideCookingPot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCookingPot,\n      selectors: [[\"svg\", \"lucideCookingPot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c478,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCookingPot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCookingPot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCookingPot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CopyCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIgMTUgMiAyIDQtNCIgLz4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHg9IjgiIHk9IjgiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/copy-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCopyCheck = /*#__PURE__*/(() => {\n  class LucideCopyCheck extends LucideIconBase {\n    static icon = {\n      name: 'copy-check',\n      size: 24,\n      node: [['path', {\n        d: 'm12 15 2 2 4-4',\n        key: '2c609p'\n      }], ['rect', {\n        width: '14',\n        height: '14',\n        x: '8',\n        y: '8',\n        rx: '2',\n        ry: '2',\n        key: '17jyea'\n      }], ['path', {\n        d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2',\n        key: 'zix9uf'\n      }]]\n    };\n    icon = signal(LucideCopyCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCopyCheck_BaseFactory;\n      return function LucideCopyCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideCopyCheck_BaseFactory || (ɵLucideCopyCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCopyCheck)))(__ngFactoryType__ || LucideCopyCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCopyCheck,\n      selectors: [[\"svg\", \"lucideCopyCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c479,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCopyCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCopyCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCopyCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CopyMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMTIiIHgyPSIxOCIgeTE9IjE1IiB5Mj0iMTUiIC8+CiAgPHJlY3Qgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB4PSI4IiB5PSI4IiByeD0iMiIgcnk9IjIiIC8+CiAgPHBhdGggZD0iTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/copy-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCopyMinus = /*#__PURE__*/(() => {\n  class LucideCopyMinus extends LucideIconBase {\n    static icon = {\n      name: 'copy-minus',\n      size: 24,\n      node: [['line', {\n        x1: '12',\n        x2: '18',\n        y1: '15',\n        y2: '15',\n        key: '1nscbv'\n      }], ['rect', {\n        width: '14',\n        height: '14',\n        x: '8',\n        y: '8',\n        rx: '2',\n        ry: '2',\n        key: '17jyea'\n      }], ['path', {\n        d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2',\n        key: 'zix9uf'\n      }]]\n    };\n    icon = signal(LucideCopyMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCopyMinus_BaseFactory;\n      return function LucideCopyMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideCopyMinus_BaseFactory || (ɵLucideCopyMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCopyMinus)))(__ngFactoryType__ || LucideCopyMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCopyMinus,\n      selectors: [[\"svg\", \"lucideCopyMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c480,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCopyMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCopyMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCopyMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ConciergeBell\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAyMGExIDEgMCAwIDEtMS0xdi0xYTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFaIiAvPgogIDxwYXRoIGQ9Ik0yMCAxNmE4IDggMCAxIDAtMTYgMCIgLz4KICA8cGF0aCBkPSJNMTIgNHY0IiAvPgogIDxwYXRoIGQ9Ik0xMCA0aDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/concierge-bell\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideConciergeBell = /*#__PURE__*/(() => {\n  class LucideConciergeBell extends LucideIconBase {\n    static icon = {\n      name: 'concierge-bell',\n      size: 24,\n      node: [['path', {\n        d: 'M3 20a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1Z',\n        key: '1pvr1r'\n      }], ['path', {\n        d: 'M20 16a8 8 0 1 0-16 0',\n        key: '1pa543'\n      }], ['path', {\n        d: 'M12 4v4',\n        key: '1bq03y'\n      }], ['path', {\n        d: 'M10 4h4',\n        key: '1xpv9s'\n      }]]\n    };\n    icon = signal(LucideConciergeBell.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideConciergeBell_BaseFactory;\n      return function LucideConciergeBell_Factory(__ngFactoryType__) {\n        return (ɵLucideConciergeBell_BaseFactory || (ɵLucideConciergeBell_BaseFactory = i0.ɵɵgetInheritedFactory(LucideConciergeBell)))(__ngFactoryType__ || LucideConciergeBell);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideConciergeBell,\n      selectors: [[\"svg\", \"lucideConciergeBell\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c481,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideConciergeBell_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideConciergeBell_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideConciergeBell;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CopySlash\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMTIiIHgyPSIxOCIgeTE9IjE4IiB5Mj0iMTIiIC8+CiAgPHJlY3Qgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB4PSI4IiB5PSI4IiByeD0iMiIgcnk9IjIiIC8+CiAgPHBhdGggZD0iTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/copy-slash\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCopySlash = /*#__PURE__*/(() => {\n  class LucideCopySlash extends LucideIconBase {\n    static icon = {\n      name: 'copy-slash',\n      size: 24,\n      node: [['line', {\n        x1: '12',\n        x2: '18',\n        y1: '18',\n        y2: '12',\n        key: 'ebkxgr'\n      }], ['rect', {\n        width: '14',\n        height: '14',\n        x: '8',\n        y: '8',\n        rx: '2',\n        ry: '2',\n        key: '17jyea'\n      }], ['path', {\n        d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2',\n        key: 'zix9uf'\n      }]]\n    };\n    icon = signal(LucideCopySlash.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCopySlash_BaseFactory;\n      return function LucideCopySlash_Factory(__ngFactoryType__) {\n        return (ɵLucideCopySlash_BaseFactory || (ɵLucideCopySlash_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCopySlash)))(__ngFactoryType__ || LucideCopySlash);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCopySlash,\n      selectors: [[\"svg\", \"lucideCopySlash\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c482,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCopySlash_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCopySlash_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCopySlash;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CopyX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMTIiIHgyPSIxOCIgeTE9IjEyIiB5Mj0iMTgiIC8+CiAgPGxpbmUgeDE9IjEyIiB4Mj0iMTgiIHkxPSIxOCIgeTI9IjEyIiAvPgogIDxyZWN0IHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgeD0iOCIgeT0iOCIgcng9IjIiIHJ5PSIyIiAvPgogIDxwYXRoIGQ9Ik00IDE2Yy0xLjEgMC0yLS45LTItMlY0YzAtMS4xLjktMiAyLTJoMTBjMS4xIDAgMiAuOSAyIDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/copy-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCopyX = /*#__PURE__*/(() => {\n  class LucideCopyX extends LucideIconBase {\n    static icon = {\n      name: 'copy-x',\n      size: 24,\n      node: [['line', {\n        x1: '12',\n        x2: '18',\n        y1: '12',\n        y2: '18',\n        key: '1rg63v'\n      }], ['line', {\n        x1: '12',\n        x2: '18',\n        y1: '18',\n        y2: '12',\n        key: 'ebkxgr'\n      }], ['rect', {\n        width: '14',\n        height: '14',\n        x: '8',\n        y: '8',\n        rx: '2',\n        ry: '2',\n        key: '17jyea'\n      }], ['path', {\n        d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2',\n        key: 'zix9uf'\n      }]]\n    };\n    icon = signal(LucideCopyX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCopyX_BaseFactory;\n      return function LucideCopyX_Factory(__ngFactoryType__) {\n        return (ɵLucideCopyX_BaseFactory || (ɵLucideCopyX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCopyX)))(__ngFactoryType__ || LucideCopyX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCopyX,\n      selectors: [[\"svg\", \"lucideCopyX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c483,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCopyX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCopyX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCopyX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Copy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHg9IjgiIHk9IjgiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/copy\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCopy = /*#__PURE__*/(() => {\n  class LucideCopy extends LucideIconBase {\n    static icon = {\n      name: 'copy',\n      size: 24,\n      node: [['rect', {\n        width: '14',\n        height: '14',\n        x: '8',\n        y: '8',\n        rx: '2',\n        ry: '2',\n        key: '17jyea'\n      }], ['path', {\n        d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2',\n        key: 'zix9uf'\n      }]]\n    };\n    icon = signal(LucideCopy.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCopy_BaseFactory;\n      return function LucideCopy_Factory(__ngFactoryType__) {\n        return (ɵLucideCopy_BaseFactory || (ɵLucideCopy_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCopy)))(__ngFactoryType__ || LucideCopy);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCopy,\n      selectors: [[\"svg\", \"lucideCopy\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c484,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCopy_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCopy_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCopy;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Copyleft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNOS4xNyAxNC44M2E0IDQgMCAxIDAgMC01LjY2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/copyleft\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCopyleft = /*#__PURE__*/(() => {\n  class LucideCopyleft extends LucideIconBase {\n    static icon = {\n      name: 'copyleft',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M9.17 14.83a4 4 0 1 0 0-5.66',\n        key: '1sveal'\n      }]]\n    };\n    icon = signal(LucideCopyleft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCopyleft_BaseFactory;\n      return function LucideCopyleft_Factory(__ngFactoryType__) {\n        return (ɵLucideCopyleft_BaseFactory || (ɵLucideCopyleft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCopyleft)))(__ngFactoryType__ || LucideCopyleft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCopyleft,\n      selectors: [[\"svg\", \"lucideCopyleft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c485,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCopyleft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCopyleft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCopyleft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Copyright\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTQuODMgMTQuODNhNCA0IDAgMSAxIDAtNS42NiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/copyright\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCopyright = /*#__PURE__*/(() => {\n  class LucideCopyright extends LucideIconBase {\n    static icon = {\n      name: 'copyright',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M14.83 14.83a4 4 0 1 1 0-5.66',\n        key: '1i56pz'\n      }]]\n    };\n    icon = signal(LucideCopyright.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCopyright_BaseFactory;\n      return function LucideCopyright_Factory(__ngFactoryType__) {\n        return (ɵLucideCopyright_BaseFactory || (ɵLucideCopyright_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCopyright)))(__ngFactoryType__ || LucideCopyright);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCopyright,\n      selectors: [[\"svg\", \"lucideCopyright\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c486,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCopyright_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCopyright_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCopyright;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CornerDownLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNHY3YTQgNCAwIDAgMS00IDRINCIgLz4KICA8cGF0aCBkPSJtOSAxMC01IDUgNSA1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/corner-down-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCornerDownLeft = /*#__PURE__*/(() => {\n  class LucideCornerDownLeft extends LucideIconBase {\n    static icon = {\n      name: 'corner-down-left',\n      size: 24,\n      node: [['path', {\n        d: 'M20 4v7a4 4 0 0 1-4 4H4',\n        key: '6o5b7l'\n      }], ['path', {\n        d: 'm9 10-5 5 5 5',\n        key: '1kshq7'\n      }]]\n    };\n    icon = signal(LucideCornerDownLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCornerDownLeft_BaseFactory;\n      return function LucideCornerDownLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideCornerDownLeft_BaseFactory || (ɵLucideCornerDownLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCornerDownLeft)))(__ngFactoryType__ || LucideCornerDownLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCornerDownLeft,\n      selectors: [[\"svg\", \"lucideCornerDownLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c487,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCornerDownLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCornerDownLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCornerDownLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CopyPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMTUiIHgyPSIxNSIgeTE9IjEyIiB5Mj0iMTgiIC8+CiAgPGxpbmUgeDE9IjEyIiB4Mj0iMTgiIHkxPSIxNSIgeTI9IjE1IiAvPgogIDxyZWN0IHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgeD0iOCIgeT0iOCIgcng9IjIiIHJ5PSIyIiAvPgogIDxwYXRoIGQ9Ik00IDE2Yy0xLjEgMC0yLS45LTItMlY0YzAtMS4xLjktMiAyLTJoMTBjMS4xIDAgMiAuOSAyIDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/copy-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCopyPlus = /*#__PURE__*/(() => {\n  class LucideCopyPlus extends LucideIconBase {\n    static icon = {\n      name: 'copy-plus',\n      size: 24,\n      node: [['line', {\n        x1: '15',\n        x2: '15',\n        y1: '12',\n        y2: '18',\n        key: '1p7wdc'\n      }], ['line', {\n        x1: '12',\n        x2: '18',\n        y1: '15',\n        y2: '15',\n        key: '1nscbv'\n      }], ['rect', {\n        width: '14',\n        height: '14',\n        x: '8',\n        y: '8',\n        rx: '2',\n        ry: '2',\n        key: '17jyea'\n      }], ['path', {\n        d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2',\n        key: 'zix9uf'\n      }]]\n    };\n    icon = signal(LucideCopyPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCopyPlus_BaseFactory;\n      return function LucideCopyPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideCopyPlus_BaseFactory || (ɵLucideCopyPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCopyPlus)))(__ngFactoryType__ || LucideCopyPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCopyPlus,\n      selectors: [[\"svg\", \"lucideCopyPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c488,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCopyPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCopyPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCopyPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CornerLeftDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQgMTUtNSA1LTUtNSIgLz4KICA8cGF0aCBkPSJNMjAgNGgtN2E0IDQgMCAwIDAtNCA0djEyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/corner-left-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCornerLeftDown = /*#__PURE__*/(() => {\n  class LucideCornerLeftDown extends LucideIconBase {\n    static icon = {\n      name: 'corner-left-down',\n      size: 24,\n      node: [['path', {\n        d: 'm14 15-5 5-5-5',\n        key: '1eia93'\n      }], ['path', {\n        d: 'M20 4h-7a4 4 0 0 0-4 4v12',\n        key: 'nbpdq2'\n      }]]\n    };\n    icon = signal(LucideCornerLeftDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCornerLeftDown_BaseFactory;\n      return function LucideCornerLeftDown_Factory(__ngFactoryType__) {\n        return (ɵLucideCornerLeftDown_BaseFactory || (ɵLucideCornerLeftDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCornerLeftDown)))(__ngFactoryType__ || LucideCornerLeftDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCornerLeftDown,\n      selectors: [[\"svg\", \"lucideCornerLeftDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c489,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCornerLeftDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCornerLeftDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCornerLeftDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CornerLeftUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgOSA5IDQgNCA5IiAvPgogIDxwYXRoIGQ9Ik0yMCAyMGgtN2E0IDQgMCAwIDEtNC00VjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/corner-left-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCornerLeftUp = /*#__PURE__*/(() => {\n  class LucideCornerLeftUp extends LucideIconBase {\n    static icon = {\n      name: 'corner-left-up',\n      size: 24,\n      node: [['path', {\n        d: 'M14 9 9 4 4 9',\n        key: '1af5af'\n      }], ['path', {\n        d: 'M20 20h-7a4 4 0 0 1-4-4V4',\n        key: '1blwi3'\n      }]]\n    };\n    icon = signal(LucideCornerLeftUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCornerLeftUp_BaseFactory;\n      return function LucideCornerLeftUp_Factory(__ngFactoryType__) {\n        return (ɵLucideCornerLeftUp_BaseFactory || (ɵLucideCornerLeftUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCornerLeftUp)))(__ngFactoryType__ || LucideCornerLeftUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCornerLeftUp,\n      selectors: [[\"svg\", \"lucideCornerLeftUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c490,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCornerLeftUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCornerLeftUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCornerLeftUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CornerDownRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMTAgNSA1LTUgNSIgLz4KICA8cGF0aCBkPSJNNCA0djdhNCA0IDAgMCAwIDQgNGgxMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/corner-down-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCornerDownRight = /*#__PURE__*/(() => {\n  class LucideCornerDownRight extends LucideIconBase {\n    static icon = {\n      name: 'corner-down-right',\n      size: 24,\n      node: [['path', {\n        d: 'm15 10 5 5-5 5',\n        key: 'qqa56n'\n      }], ['path', {\n        d: 'M4 4v7a4 4 0 0 0 4 4h12',\n        key: 'z08zvw'\n      }]]\n    };\n    icon = signal(LucideCornerDownRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCornerDownRight_BaseFactory;\n      return function LucideCornerDownRight_Factory(__ngFactoryType__) {\n        return (ɵLucideCornerDownRight_BaseFactory || (ɵLucideCornerDownRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCornerDownRight)))(__ngFactoryType__ || LucideCornerDownRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCornerDownRight,\n      selectors: [[\"svg\", \"lucideCornerDownRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c491,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCornerDownRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCornerDownRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCornerDownRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CornerRightDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAgMTUgNSA1IDUtNSIgLz4KICA8cGF0aCBkPSJNNCA0aDdhNCA0IDAgMCAxIDQgNHYxMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/corner-right-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCornerRightDown = /*#__PURE__*/(() => {\n  class LucideCornerRightDown extends LucideIconBase {\n    static icon = {\n      name: 'corner-right-down',\n      size: 24,\n      node: [['path', {\n        d: 'm10 15 5 5 5-5',\n        key: '1hpjnr'\n      }], ['path', {\n        d: 'M4 4h7a4 4 0 0 1 4 4v12',\n        key: 'wcbgct'\n      }]]\n    };\n    icon = signal(LucideCornerRightDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCornerRightDown_BaseFactory;\n      return function LucideCornerRightDown_Factory(__ngFactoryType__) {\n        return (ɵLucideCornerRightDown_BaseFactory || (ɵLucideCornerRightDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCornerRightDown)))(__ngFactoryType__ || LucideCornerRightDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCornerRightDown,\n      selectors: [[\"svg\", \"lucideCornerRightDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c492,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCornerRightDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCornerRightDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCornerRightDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CornerUpLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMjB2LTdhNCA0IDAgMCAwLTQtNEg0IiAvPgogIDxwYXRoIGQ9Ik05IDE0IDQgOWw1LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/corner-up-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCornerUpLeft = /*#__PURE__*/(() => {\n  class LucideCornerUpLeft extends LucideIconBase {\n    static icon = {\n      name: 'corner-up-left',\n      size: 24,\n      node: [['path', {\n        d: 'M20 20v-7a4 4 0 0 0-4-4H4',\n        key: '1nkjon'\n      }], ['path', {\n        d: 'M9 14 4 9l5-5',\n        key: '102s5s'\n      }]]\n    };\n    icon = signal(LucideCornerUpLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCornerUpLeft_BaseFactory;\n      return function LucideCornerUpLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideCornerUpLeft_BaseFactory || (ɵLucideCornerUpLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCornerUpLeft)))(__ngFactoryType__ || LucideCornerUpLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCornerUpLeft,\n      selectors: [[\"svg\", \"lucideCornerUpLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c493,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCornerUpLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCornerUpLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCornerUpLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cpu\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjB2MiIgLz4KICA8cGF0aCBkPSJNMTIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0xNyAyMHYyIiAvPgogIDxwYXRoIGQ9Ik0xNyAydjIiIC8+CiAgPHBhdGggZD0iTTIgMTJoMiIgLz4KICA8cGF0aCBkPSJNMiAxN2gyIiAvPgogIDxwYXRoIGQ9Ik0yIDdoMiIgLz4KICA8cGF0aCBkPSJNMjAgMTJoMiIgLz4KICA8cGF0aCBkPSJNMjAgMTdoMiIgLz4KICA8cGF0aCBkPSJNMjAgN2gyIiAvPgogIDxwYXRoIGQ9Ik03IDIwdjIiIC8+CiAgPHBhdGggZD0iTTcgMnYyIiAvPgogIDxyZWN0IHg9IjQiIHk9IjQiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgcng9IjIiIC8+CiAgPHJlY3QgeD0iOCIgeT0iOCIgd2lkdGg9IjgiIGhlaWdodD0iOCIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/cpu\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCpu = /*#__PURE__*/(() => {\n  class LucideCpu extends LucideIconBase {\n    static icon = {\n      name: 'cpu',\n      size: 24,\n      node: [['path', {\n        d: 'M12 20v2',\n        key: '1lh1kg'\n      }], ['path', {\n        d: 'M12 2v2',\n        key: 'tus03m'\n      }], ['path', {\n        d: 'M17 20v2',\n        key: '1rnc9c'\n      }], ['path', {\n        d: 'M17 2v2',\n        key: '11trls'\n      }], ['path', {\n        d: 'M2 12h2',\n        key: '1t8f8n'\n      }], ['path', {\n        d: 'M2 17h2',\n        key: '7oei6x'\n      }], ['path', {\n        d: 'M2 7h2',\n        key: 'asdhe0'\n      }], ['path', {\n        d: 'M20 12h2',\n        key: '1q8mjw'\n      }], ['path', {\n        d: 'M20 17h2',\n        key: '1fpfkl'\n      }], ['path', {\n        d: 'M20 7h2',\n        key: '1o8tra'\n      }], ['path', {\n        d: 'M7 20v2',\n        key: '4gnj0m'\n      }], ['path', {\n        d: 'M7 2v2',\n        key: '1i4yhu'\n      }], ['rect', {\n        x: '4',\n        y: '4',\n        width: '16',\n        height: '16',\n        rx: '2',\n        key: '1vbyd7'\n      }], ['rect', {\n        x: '8',\n        y: '8',\n        width: '8',\n        height: '8',\n        rx: '1',\n        key: 'z9xiuo'\n      }]]\n    };\n    icon = signal(LucideCpu.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCpu_BaseFactory;\n      return function LucideCpu_Factory(__ngFactoryType__) {\n        return (ɵLucideCpu_BaseFactory || (ɵLucideCpu_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCpu)))(__ngFactoryType__ || LucideCpu);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCpu,\n      selectors: [[\"svg\", \"lucideCpu\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c494,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCpu_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCpu_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCpu;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CornerUpRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMTQgNS01LTUtNSIgLz4KICA8cGF0aCBkPSJNNCAyMHYtN2E0IDQgMCAwIDEgNC00aDEyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/corner-up-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCornerUpRight = /*#__PURE__*/(() => {\n  class LucideCornerUpRight extends LucideIconBase {\n    static icon = {\n      name: 'corner-up-right',\n      size: 24,\n      node: [['path', {\n        d: 'm15 14 5-5-5-5',\n        key: '12vg1m'\n      }], ['path', {\n        d: 'M4 20v-7a4 4 0 0 1 4-4h12',\n        key: '1lu4f8'\n      }]]\n    };\n    icon = signal(LucideCornerUpRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCornerUpRight_BaseFactory;\n      return function LucideCornerUpRight_Factory(__ngFactoryType__) {\n        return (ɵLucideCornerUpRight_BaseFactory || (ɵLucideCornerUpRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCornerUpRight)))(__ngFactoryType__ || LucideCornerUpRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCornerUpRight,\n      selectors: [[\"svg\", \"lucideCornerUpRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c495,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCornerUpRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCornerUpRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCornerUpRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CreativeCommons\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTAgOS4zYTIuOCAyLjggMCAwIDAtMy41IDEgMy4xIDMuMSAwIDAgMCAwIDMuNCAyLjcgMi43IDAgMCAwIDMuNSAxIiAvPgogIDxwYXRoIGQ9Ik0xNyA5LjNhMi44IDIuOCAwIDAgMC0zLjUgMSAzLjEgMy4xIDAgMCAwIDAgMy40IDIuNyAyLjcgMCAwIDAgMy41IDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/creative-commons\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCreativeCommons = /*#__PURE__*/(() => {\n  class LucideCreativeCommons extends LucideIconBase {\n    static icon = {\n      name: 'creative-commons',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M10 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1',\n        key: '1ss3eq'\n      }], ['path', {\n        d: 'M17 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1',\n        key: '1od56t'\n      }]]\n    };\n    icon = signal(LucideCreativeCommons.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCreativeCommons_BaseFactory;\n      return function LucideCreativeCommons_Factory(__ngFactoryType__) {\n        return (ɵLucideCreativeCommons_BaseFactory || (ɵLucideCreativeCommons_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCreativeCommons)))(__ngFactoryType__ || LucideCreativeCommons);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCreativeCommons,\n      selectors: [[\"svg\", \"lucideCreativeCommons\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c496,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCreativeCommons_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCreativeCommons_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCreativeCommons;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CreditCard\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHg9IjIiIHk9IjUiIHJ4PSIyIiAvPgogIDxsaW5lIHgxPSIyIiB4Mj0iMjIiIHkxPSIxMCIgeTI9IjEwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/credit-card\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCreditCard = /*#__PURE__*/(() => {\n  class LucideCreditCard extends LucideIconBase {\n    static icon = {\n      name: 'credit-card',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '14',\n        x: '2',\n        y: '5',\n        rx: '2',\n        key: 'ynyp8z'\n      }], ['line', {\n        x1: '2',\n        x2: '22',\n        y1: '10',\n        y2: '10',\n        key: '1b3vmo'\n      }]]\n    };\n    icon = signal(LucideCreditCard.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCreditCard_BaseFactory;\n      return function LucideCreditCard_Factory(__ngFactoryType__) {\n        return (ɵLucideCreditCard_BaseFactory || (ɵLucideCreditCard_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCreditCard)))(__ngFactoryType__ || LucideCreditCard);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCreditCard,\n      selectors: [[\"svg\", \"lucideCreditCard\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c497,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCreditCard_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCreditCard_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCreditCard;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Croissant\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMiAxOEg0Ljc3NGExLjUgMS41IDAgMCAxLTEuMzUyLS45NyAxMSAxMSAwIDAgMSAuMTMyLTYuNDg3IiAvPgogIDxwYXRoIGQ9Ik0xOCAxMC4yVjQuNzc0YTEuNSAxLjUgMCAwIDAtLjk3LTEuMzUyIDExIDExIDAgMCAwLTYuNDg2LjEzMiIgLz4KICA8cGF0aCBkPSJNMTggNWE0IDMgMCAwIDEgNCAzIDIgMiAwIDAgMS0yIDIgMTAgMTAgMCAwIDAtNS4xMzkgMS40MiIgLz4KICA8cGF0aCBkPSJNNSAxOGEzIDQgMCAwIDAgMyA0IDIgMiAwIDAgMCAyLTIgMTAgMTAgMCAwIDEgMS40Mi01LjE0IiAvPgogIDxwYXRoIGQ9Ik04LjcwOSAyLjU1NGExMCAxMCAwIDAgMC02LjE1NSA2LjE1NSAxLjUgMS41IDAgMCAwIC42NzYgMS42MjZsOS44MDcgNS40MmEyIDIgMCAwIDAgMi43MTgtMi43MThsLTUuNDItOS44MDdhMS41IDEuNSAwIDAgMC0xLjYyNi0uNjc2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/croissant\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCroissant = /*#__PURE__*/(() => {\n  class LucideCroissant extends LucideIconBase {\n    static icon = {\n      name: 'croissant',\n      size: 24,\n      node: [['path', {\n        d: 'M10.2 18H4.774a1.5 1.5 0 0 1-1.352-.97 11 11 0 0 1 .132-6.487',\n        key: '14kkz9'\n      }], ['path', {\n        d: 'M18 10.2V4.774a1.5 1.5 0 0 0-.97-1.352 11 11 0 0 0-6.486.132',\n        key: '1g7v07'\n      }], ['path', {\n        d: 'M18 5a4 3 0 0 1 4 3 2 2 0 0 1-2 2 10 10 0 0 0-5.139 1.42',\n        key: 'ratg6b'\n      }], ['path', {\n        d: 'M5 18a3 4 0 0 0 3 4 2 2 0 0 0 2-2 10 10 0 0 1 1.42-5.14',\n        key: '4454f0'\n      }], ['path', {\n        d: 'M8.709 2.554a10 10 0 0 0-6.155 6.155 1.5 1.5 0 0 0 .676 1.626l9.807 5.42a2 2 0 0 0 2.718-2.718l-5.42-9.807a1.5 1.5 0 0 0-1.626-.676',\n        key: 'qmemie'\n      }]]\n    };\n    icon = signal(LucideCroissant.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCroissant_BaseFactory;\n      return function LucideCroissant_Factory(__ngFactoryType__) {\n        return (ɵLucideCroissant_BaseFactory || (ɵLucideCroissant_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCroissant)))(__ngFactoryType__ || LucideCroissant);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCroissant,\n      selectors: [[\"svg\", \"lucideCroissant\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c498,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCroissant_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCroissant_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCroissant;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Crop\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAydjE0YTIgMiAwIDAgMCAyIDJoMTQiIC8+CiAgPHBhdGggZD0iTTE4IDIyVjhhMiAyIDAgMCAwLTItMkgyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/crop\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCrop = /*#__PURE__*/(() => {\n  class LucideCrop extends LucideIconBase {\n    static icon = {\n      name: 'crop',\n      size: 24,\n      node: [['path', {\n        d: 'M6 2v14a2 2 0 0 0 2 2h14',\n        key: 'ron5a4'\n      }], ['path', {\n        d: 'M18 22V8a2 2 0 0 0-2-2H2',\n        key: '7s9ehn'\n      }]]\n    };\n    icon = signal(LucideCrop.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCrop_BaseFactory;\n      return function LucideCrop_Factory(__ngFactoryType__) {\n        return (ɵLucideCrop_BaseFactory || (ɵLucideCrop_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCrop)))(__ngFactoryType__ || LucideCrop);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCrop,\n      selectors: [[\"svg\", \"lucideCrop\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c499,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCrop_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCrop_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCrop;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cross\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCA5YTIgMiAwIDAgMC0yIDJ2MmEyIDIgMCAwIDAgMiAyaDRhMSAxIDAgMCAxIDEgMXY0YTIgMiAwIDAgMCAyIDJoMmEyIDIgMCAwIDAgMi0ydi00YTEgMSAwIDAgMSAxLTFoNGEyIDIgMCAwIDAgMi0ydi0yYTIgMiAwIDAgMC0yLTJoLTRhMSAxIDAgMCAxLTEtMVY0YTIgMiAwIDAgMC0yLTJoLTJhMiAyIDAgMCAwLTIgMnY0YTEgMSAwIDAgMS0xIDF6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cross\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCross = /*#__PURE__*/(() => {\n  class LucideCross extends LucideIconBase {\n    static icon = {\n      name: 'cross',\n      size: 24,\n      node: [['path', {\n        d: 'M4 9a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h4a1 1 0 0 1 1 1v4a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-4a1 1 0 0 1 1-1h4a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2h-4a1 1 0 0 1-1-1V4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4a1 1 0 0 1-1 1z',\n        key: '1xbrqy'\n      }]]\n    };\n    icon = signal(LucideCross.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCross_BaseFactory;\n      return function LucideCross_Factory(__ngFactoryType__) {\n        return (ɵLucideCross_BaseFactory || (ɵLucideCross_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCross)))(__ngFactoryType__ || LucideCross);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCross,\n      selectors: [[\"svg\", \"lucideCross\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c500,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCross_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCross_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCross;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Crosshair\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8bGluZSB4MT0iMjIiIHgyPSIxOCIgeTE9IjEyIiB5Mj0iMTIiIC8+CiAgPGxpbmUgeDE9IjYiIHgyPSIyIiB5MT0iMTIiIHkyPSIxMiIgLz4KICA8bGluZSB4MT0iMTIiIHgyPSIxMiIgeTE9IjYiIHkyPSIyIiAvPgogIDxsaW5lIHgxPSIxMiIgeDI9IjEyIiB5MT0iMjIiIHkyPSIxOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/crosshair\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCrosshair = /*#__PURE__*/(() => {\n  class LucideCrosshair extends LucideIconBase {\n    static icon = {\n      name: 'crosshair',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['line', {\n        x1: '22',\n        x2: '18',\n        y1: '12',\n        y2: '12',\n        key: 'l9bcsi'\n      }], ['line', {\n        x1: '6',\n        x2: '2',\n        y1: '12',\n        y2: '12',\n        key: '13hhkx'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '6',\n        y2: '2',\n        key: '10w3f3'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '22',\n        y2: '18',\n        key: '15g9kq'\n      }]]\n    };\n    icon = signal(LucideCrosshair.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCrosshair_BaseFactory;\n      return function LucideCrosshair_Factory(__ngFactoryType__) {\n        return (ɵLucideCrosshair_BaseFactory || (ɵLucideCrosshair_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCrosshair)))(__ngFactoryType__ || LucideCrosshair);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCrosshair,\n      selectors: [[\"svg\", \"lucideCrosshair\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c501,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCrosshair_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCrosshair_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCrosshair;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Crown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuNTYyIDMuMjY2YS41LjUgMCAwIDEgLjg3NiAwTDE1LjM5IDguODdhMSAxIDAgMCAwIDEuNTE2LjI5NEwyMS4xODMgNS41YS41LjUgMCAwIDEgLjc5OC41MTlsLTIuODM0IDEwLjI0NmExIDEgMCAwIDEtLjk1Ni43MzRINS44MWExIDEgMCAwIDEtLjk1Ny0uNzM0TDIuMDIgNi4wMmEuNS41IDAgMCAxIC43OTgtLjUxOWw0LjI3NiAzLjY2NGExIDEgMCAwIDAgMS41MTYtLjI5NHoiIC8+CiAgPHBhdGggZD0iTTUgMjFoMTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/crown\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCrown = /*#__PURE__*/(() => {\n  class LucideCrown extends LucideIconBase {\n    static icon = {\n      name: 'crown',\n      size: 24,\n      node: [['path', {\n        d: 'M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z',\n        key: '1vdc57'\n      }], ['path', {\n        d: 'M5 21h14',\n        key: '11awu3'\n      }]]\n    };\n    icon = signal(LucideCrown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCrown_BaseFactory;\n      return function LucideCrown_Factory(__ngFactoryType__) {\n        return (ɵLucideCrown_BaseFactory || (ɵLucideCrown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCrown)))(__ngFactoryType__ || LucideCrown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCrown,\n      selectors: [[\"svg\", \"lucideCrown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c502,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCrown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCrown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCrown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cuboid\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMjJ2LTgiIC8+CiAgPHBhdGggZD0iTTIuMzM2IDguODkgMTAgMTRsMTEuNzE1LTcuMDI5IiAvPgogIDxwYXRoIGQ9Ik0yMiAxNGEyIDIgMCAwIDEtLjk3MSAxLjcxNWwtMTAgNmEyIDIgMCAwIDEtMi4xMzgtLjA1bC02LTRBMiAyIDAgMCAxIDIgMTZ2LTZhMiAyIDAgMCAxIC45NzEtMS43MTVsMTAtNmEyIDIgMCAwIDEgMi4xMzguMDVsNiA0QTIgMiAwIDAgMSAyMiA4eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cuboid\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCuboid = /*#__PURE__*/(() => {\n  class LucideCuboid extends LucideIconBase {\n    static icon = {\n      name: 'cuboid',\n      size: 24,\n      node: [['path', {\n        d: 'M10 22v-8',\n        key: '1f8443'\n      }], ['path', {\n        d: 'M2.336 8.89 10 14l11.715-7.029',\n        key: '1qnufy'\n      }], ['path', {\n        d: 'M22 14a2 2 0 0 1-.971 1.715l-10 6a2 2 0 0 1-2.138-.05l-6-4A2 2 0 0 1 2 16v-6a2 2 0 0 1 .971-1.715l10-6a2 2 0 0 1 2.138.05l6 4A2 2 0 0 1 22 8z',\n        key: '670npk'\n      }]]\n    };\n    icon = signal(LucideCuboid.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCuboid_BaseFactory;\n      return function LucideCuboid_Factory(__ngFactoryType__) {\n        return (ɵLucideCuboid_BaseFactory || (ɵLucideCuboid_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCuboid)))(__ngFactoryType__ || LucideCuboid);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCuboid,\n      selectors: [[\"svg\", \"lucideCuboid\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c503,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCuboid_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCuboid_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCuboid;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CupSoda\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiA4IDEuNzUgMTIuMjhhMiAyIDAgMCAwIDIgMS43Mmg0LjU0YTIgMiAwIDAgMCAyLTEuNzJMMTggOCIgLz4KICA8cGF0aCBkPSJNNSA4aDE0IiAvPgogIDxwYXRoIGQ9Ik03IDE1YTYuNDcgNi40NyAwIDAgMSA1IDAgNi40NyA2LjQ3IDAgMCAwIDUgMCIgLz4KICA8cGF0aCBkPSJtMTIgOCAxLTZoMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cup-soda\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCupSoda = /*#__PURE__*/(() => {\n  class LucideCupSoda extends LucideIconBase {\n    static icon = {\n      name: 'cup-soda',\n      size: 24,\n      node: [['path', {\n        d: 'm6 8 1.75 12.28a2 2 0 0 0 2 1.72h4.54a2 2 0 0 0 2-1.72L18 8',\n        key: '8166m8'\n      }], ['path', {\n        d: 'M5 8h14',\n        key: 'pcz4l3'\n      }], ['path', {\n        d: 'M7 15a6.47 6.47 0 0 1 5 0 6.47 6.47 0 0 0 5 0',\n        key: 'yjz344'\n      }], ['path', {\n        d: 'm12 8 1-6h2',\n        key: '3ybfa4'\n      }]]\n    };\n    icon = signal(LucideCupSoda.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCupSoda_BaseFactory;\n      return function LucideCupSoda_Factory(__ngFactoryType__) {\n        return (ɵLucideCupSoda_BaseFactory || (ɵLucideCupSoda_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCupSoda)))(__ngFactoryType__ || LucideCupSoda);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCupSoda,\n      selectors: [[\"svg\", \"lucideCupSoda\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c504,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCupSoda_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCupSoda_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCupSoda;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Currency\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4IiAvPgogIDxsaW5lIHgxPSIzIiB4Mj0iNiIgeTE9IjMiIHkyPSI2IiAvPgogIDxsaW5lIHgxPSIyMSIgeDI9IjE4IiB5MT0iMyIgeTI9IjYiIC8+CiAgPGxpbmUgeDE9IjMiIHgyPSI2IiB5MT0iMjEiIHkyPSIxOCIgLz4KICA8bGluZSB4MT0iMjEiIHgyPSIxOCIgeTE9IjIxIiB5Mj0iMTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/currency\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCurrency = /*#__PURE__*/(() => {\n  class LucideCurrency extends LucideIconBase {\n    static icon = {\n      name: 'currency',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '8',\n        key: '46899m'\n      }], ['line', {\n        x1: '3',\n        x2: '6',\n        y1: '3',\n        y2: '6',\n        key: '1jkytn'\n      }], ['line', {\n        x1: '21',\n        x2: '18',\n        y1: '3',\n        y2: '6',\n        key: '14zfjt'\n      }], ['line', {\n        x1: '3',\n        x2: '6',\n        y1: '21',\n        y2: '18',\n        key: 'iusuec'\n      }], ['line', {\n        x1: '21',\n        x2: '18',\n        y1: '21',\n        y2: '18',\n        key: 'yj2dd7'\n      }]]\n    };\n    icon = signal(LucideCurrency.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCurrency_BaseFactory;\n      return function LucideCurrency_Factory(__ngFactoryType__) {\n        return (ɵLucideCurrency_BaseFactory || (ɵLucideCurrency_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCurrency)))(__ngFactoryType__ || LucideCurrency);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCurrency,\n      selectors: [[\"svg\", \"lucideCurrency\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c505,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCurrency_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCurrency_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCurrency;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Cylinder\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8ZWxsaXBzZSBjeD0iMTIiIGN5PSI1IiByeD0iOSIgcnk9IjMiIC8+CiAgPHBhdGggZD0iTTMgNXYxNGE5IDMgMCAwIDAgMTggMFY1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/cylinder\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCylinder = /*#__PURE__*/(() => {\n  class LucideCylinder extends LucideIconBase {\n    static icon = {\n      name: 'cylinder',\n      size: 24,\n      node: [['ellipse', {\n        cx: '12',\n        cy: '5',\n        rx: '9',\n        ry: '3',\n        key: 'msslwz'\n      }], ['path', {\n        d: 'M3 5v14a9 3 0 0 0 18 0V5',\n        key: 'aqi0yr'\n      }]]\n    };\n    icon = signal(LucideCylinder.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCylinder_BaseFactory;\n      return function LucideCylinder_Factory(__ngFactoryType__) {\n        return (ɵLucideCylinder_BaseFactory || (ɵLucideCylinder_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCylinder)))(__ngFactoryType__ || LucideCylinder);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCylinder,\n      selectors: [[\"svg\", \"lucideCylinder\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c506,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCylinder_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCylinder_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCylinder;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Dam\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTEuMzFjMS4xNy41NiAxLjU0IDEuNjkgMy41IDEuNjkgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIiAvPgogIDxwYXRoIGQ9Ik0xMS43NSAxOGMuMzUuNSAxLjQ1IDEgMi43NSAxIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSIgLz4KICA8cGF0aCBkPSJNMiAxMGg0IiAvPgogIDxwYXRoIGQ9Ik0yIDE0aDQiIC8+CiAgPHBhdGggZD0iTTIgMThoNCIgLz4KICA8cGF0aCBkPSJNMiA2aDQiIC8+CiAgPHBhdGggZD0iTTcgM2ExIDEgMCAwIDAtMSAxdjE2YTEgMSAwIDAgMCAxIDFoNGExIDEgMCAwIDAgMS0xTDEwIDRhMSAxIDAgMCAwLTEtMXoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/dam\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDam = /*#__PURE__*/(() => {\n  class LucideDam extends LucideIconBase {\n    static icon = {\n      name: 'dam',\n      size: 24,\n      node: [['path', {\n        d: 'M11 11.31c1.17.56 1.54 1.69 3.5 1.69 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1',\n        key: '157kva'\n      }], ['path', {\n        d: 'M11.75 18c.35.5 1.45 1 2.75 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1',\n        key: 'd7q6m6'\n      }], ['path', {\n        d: 'M2 10h4',\n        key: 'l0bgd4'\n      }], ['path', {\n        d: 'M2 14h4',\n        key: '1gsvsf'\n      }], ['path', {\n        d: 'M2 18h4',\n        key: '1bu2t1'\n      }], ['path', {\n        d: 'M2 6h4',\n        key: 'aawbzj'\n      }], ['path', {\n        d: 'M7 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1L10 4a1 1 0 0 0-1-1z',\n        key: 'pr6s65'\n      }]]\n    };\n    icon = signal(LucideDam.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDam_BaseFactory;\n      return function LucideDam_Factory(__ngFactoryType__) {\n        return (ɵLucideDam_BaseFactory || (ɵLucideDam_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDam)))(__ngFactoryType__ || LucideDam);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDam,\n      selectors: [[\"svg\", \"lucideDam\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c507,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDam_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDam_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDam;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name DatabaseBackup\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8ZWxsaXBzZSBjeD0iMTIiIGN5PSI1IiByeD0iOSIgcnk9IjMiIC8+CiAgPHBhdGggZD0iTTMgMTJhOSAzIDAgMCAwIDUgMi42OSIgLz4KICA8cGF0aCBkPSJNMjEgOS4zVjUiIC8+CiAgPHBhdGggZD0iTTMgNXYxNGE5IDMgMCAwIDAgNi40NyAyLjg4IiAvPgogIDxwYXRoIGQ9Ik0xMiAxMnY0aDQiIC8+CiAgPHBhdGggZD0iTTEzIDIwYTUgNSAwIDAgMCA5LTMgNC41IDQuNSAwIDAgMC00LjUtNC41Yy0xLjMzIDAtMi41NC41NC0zLjQxIDEuNDFMMTIgMTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/database-backup\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDatabaseBackup = /*#__PURE__*/(() => {\n  class LucideDatabaseBackup extends LucideIconBase {\n    static icon = {\n      name: 'database-backup',\n      size: 24,\n      node: [['ellipse', {\n        cx: '12',\n        cy: '5',\n        rx: '9',\n        ry: '3',\n        key: 'msslwz'\n      }], ['path', {\n        d: 'M3 12a9 3 0 0 0 5 2.69',\n        key: '1ui2ym'\n      }], ['path', {\n        d: 'M21 9.3V5',\n        key: '6k6cib'\n      }], ['path', {\n        d: 'M3 5v14a9 3 0 0 0 6.47 2.88',\n        key: 'i62tjy'\n      }], ['path', {\n        d: 'M12 12v4h4',\n        key: '1bxaet'\n      }], ['path', {\n        d: 'M13 20a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L12 16',\n        key: '1f4ei9'\n      }]]\n    };\n    icon = signal(LucideDatabaseBackup.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDatabaseBackup_BaseFactory;\n      return function LucideDatabaseBackup_Factory(__ngFactoryType__) {\n        return (ɵLucideDatabaseBackup_BaseFactory || (ɵLucideDatabaseBackup_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDatabaseBackup)))(__ngFactoryType__ || LucideDatabaseBackup);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDatabaseBackup,\n      selectors: [[\"svg\", \"lucideDatabaseBackup\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c508,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDatabaseBackup_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDatabaseBackup_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDatabaseBackup;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name DatabaseSearch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTEuNjkzVjUiIC8+CiAgPHBhdGggZD0ibTIyIDIyLTEuODc1LTEuODc1IiAvPgogIDxwYXRoIGQ9Ik0zIDEyYTkgMyAwIDAgMCA4LjY5NyAyLjk5OCIgLz4KICA8cGF0aCBkPSJNMyA1djE0YTkgMyAwIDAgMCA5LjI4IDIuOTk5IiAvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjMiIC8+CiAgPGVsbGlwc2UgY3g9IjEyIiBjeT0iNSIgcng9IjkiIHJ5PSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/database-search\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDatabaseSearch = /*#__PURE__*/(() => {\n  class LucideDatabaseSearch extends LucideIconBase {\n    static icon = {\n      name: 'database-search',\n      size: 24,\n      node: [['path', {\n        d: 'M21 11.693V5',\n        key: '175m1t'\n      }], ['path', {\n        d: 'm22 22-1.875-1.875',\n        key: '13zax7'\n      }], ['path', {\n        d: 'M3 12a9 3 0 0 0 8.697 2.998',\n        key: '151u9p'\n      }], ['path', {\n        d: 'M3 5v14a9 3 0 0 0 9.28 2.999',\n        key: 'q2rs2p'\n      }], ['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }], ['ellipse', {\n        cx: '12',\n        cy: '5',\n        rx: '9',\n        ry: '3',\n        key: 'msslwz'\n      }]]\n    };\n    icon = signal(LucideDatabaseSearch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDatabaseSearch_BaseFactory;\n      return function LucideDatabaseSearch_Factory(__ngFactoryType__) {\n        return (ɵLucideDatabaseSearch_BaseFactory || (ɵLucideDatabaseSearch_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDatabaseSearch)))(__ngFactoryType__ || LucideDatabaseSearch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDatabaseSearch,\n      selectors: [[\"svg\", \"lucideDatabaseSearch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c509,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDatabaseSearch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDatabaseSearch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDatabaseSearch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name DatabaseZap\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8ZWxsaXBzZSBjeD0iMTIiIGN5PSI1IiByeD0iOSIgcnk9IjMiIC8+CiAgPHBhdGggZD0iTTMgNVYxOUE5IDMgMCAwIDAgMTUgMjEuODQiIC8+CiAgPHBhdGggZD0iTTIxIDVWOCIgLz4KICA8cGF0aCBkPSJNMjEgMTJMMTggMTdIMjJMMTkgMjIiIC8+CiAgPHBhdGggZD0iTTMgMTJBOSAzIDAgMCAwIDE0LjU5IDE0Ljg3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/database-zap\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDatabaseZap = /*#__PURE__*/(() => {\n  class LucideDatabaseZap extends LucideIconBase {\n    static icon = {\n      name: 'database-zap',\n      size: 24,\n      node: [['ellipse', {\n        cx: '12',\n        cy: '5',\n        rx: '9',\n        ry: '3',\n        key: 'msslwz'\n      }], ['path', {\n        d: 'M3 5V19A9 3 0 0 0 15 21.84',\n        key: '14ibmq'\n      }], ['path', {\n        d: 'M21 5V8',\n        key: '1marbg'\n      }], ['path', {\n        d: 'M21 12L18 17H22L19 22',\n        key: 'zafso'\n      }], ['path', {\n        d: 'M3 12A9 3 0 0 0 14.59 14.87',\n        key: '1y4wr8'\n      }]]\n    };\n    icon = signal(LucideDatabaseZap.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDatabaseZap_BaseFactory;\n      return function LucideDatabaseZap_Factory(__ngFactoryType__) {\n        return (ɵLucideDatabaseZap_BaseFactory || (ɵLucideDatabaseZap_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDatabaseZap)))(__ngFactoryType__ || LucideDatabaseZap);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDatabaseZap,\n      selectors: [[\"svg\", \"lucideDatabaseZap\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c510,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDatabaseZap_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDatabaseZap_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDatabaseZap;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Database\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8ZWxsaXBzZSBjeD0iMTIiIGN5PSI1IiByeD0iOSIgcnk9IjMiIC8+CiAgPHBhdGggZD0iTTMgNVYxOUE5IDMgMCAwIDAgMjEgMTlWNSIgLz4KICA8cGF0aCBkPSJNMyAxMkE5IDMgMCAwIDAgMjEgMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/database\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDatabase = /*#__PURE__*/(() => {\n  class LucideDatabase extends LucideIconBase {\n    static icon = {\n      name: 'database',\n      size: 24,\n      node: [['ellipse', {\n        cx: '12',\n        cy: '5',\n        rx: '9',\n        ry: '3',\n        key: 'msslwz'\n      }], ['path', {\n        d: 'M3 5V19A9 3 0 0 0 21 19V5',\n        key: '1wlel7'\n      }], ['path', {\n        d: 'M3 12A9 3 0 0 0 21 12',\n        key: 'mv7ke4'\n      }]]\n    };\n    icon = signal(LucideDatabase.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDatabase_BaseFactory;\n      return function LucideDatabase_Factory(__ngFactoryType__) {\n        return (ɵLucideDatabase_BaseFactory || (ɵLucideDatabase_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDatabase)))(__ngFactoryType__ || LucideDatabase);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDatabase,\n      selectors: [[\"svg\", \"lucideDatabase\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c511,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDatabase_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDatabase_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDatabase;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name DecimalsArrowLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTMgMjEtMy0zIDMtMyIgLz4KICA8cGF0aCBkPSJNMjAgMThIMTAiIC8+CiAgPHBhdGggZD0iTTMgMTFoLjAxIiAvPgogIDxyZWN0IHg9IjYiIHk9IjMiIHdpZHRoPSI1IiBoZWlnaHQ9IjgiIHJ4PSIyLjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/decimals-arrow-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDecimalsArrowLeft = /*#__PURE__*/(() => {\n  class LucideDecimalsArrowLeft extends LucideIconBase {\n    static icon = {\n      name: 'decimals-arrow-left',\n      size: 24,\n      node: [['path', {\n        d: 'm13 21-3-3 3-3',\n        key: 's3o1nf'\n      }], ['path', {\n        d: 'M20 18H10',\n        key: '14r3mt'\n      }], ['path', {\n        d: 'M3 11h.01',\n        key: '1eifu7'\n      }], ['rect', {\n        x: '6',\n        y: '3',\n        width: '5',\n        height: '8',\n        rx: '2.5',\n        key: 'v9paqo'\n      }]]\n    };\n    icon = signal(LucideDecimalsArrowLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDecimalsArrowLeft_BaseFactory;\n      return function LucideDecimalsArrowLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideDecimalsArrowLeft_BaseFactory || (ɵLucideDecimalsArrowLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDecimalsArrowLeft)))(__ngFactoryType__ || LucideDecimalsArrowLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDecimalsArrowLeft,\n      selectors: [[\"svg\", \"lucideDecimalsArrowLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c512,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDecimalsArrowLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDecimalsArrowLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDecimalsArrowLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Delete\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgNWEyIDIgMCAwIDAtMS4zNDQuNTE5bC02LjMyOCA1Ljc0YTEgMSAwIDAgMCAwIDEuNDgxbDYuMzI4IDUuNzQxQTIgMiAwIDAgMCAxMCAxOWgxMGEyIDIgMCAwIDAgMi0yVjdhMiAyIDAgMCAwLTItMnoiIC8+CiAgPHBhdGggZD0ibTEyIDkgNiA2IiAvPgogIDxwYXRoIGQ9Im0xOCA5LTYgNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/delete\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDelete = /*#__PURE__*/(() => {\n  class LucideDelete extends LucideIconBase {\n    static icon = {\n      name: 'delete',\n      size: 24,\n      node: [['path', {\n        d: 'M10 5a2 2 0 0 0-1.344.519l-6.328 5.74a1 1 0 0 0 0 1.481l6.328 5.741A2 2 0 0 0 10 19h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2z',\n        key: '1yo7s0'\n      }], ['path', {\n        d: 'm12 9 6 6',\n        key: 'anjzzh'\n      }], ['path', {\n        d: 'm18 9-6 6',\n        key: '1fp51s'\n      }]]\n    };\n    icon = signal(LucideDelete.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDelete_BaseFactory;\n      return function LucideDelete_Factory(__ngFactoryType__) {\n        return (ɵLucideDelete_BaseFactory || (ɵLucideDelete_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDelete)))(__ngFactoryType__ || LucideDelete);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDelete,\n      selectors: [[\"svg\", \"lucideDelete\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c513,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDelete_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDelete_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDelete;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name DecimalsArrowRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMThoMTAiIC8+CiAgPHBhdGggZD0ibTE3IDIxIDMtMy0zLTMiIC8+CiAgPHBhdGggZD0iTTMgMTFoLjAxIiAvPgogIDxyZWN0IHg9IjE1IiB5PSIzIiB3aWR0aD0iNSIgaGVpZ2h0PSI4IiByeD0iMi41IiAvPgogIDxyZWN0IHg9IjYiIHk9IjMiIHdpZHRoPSI1IiBoZWlnaHQ9IjgiIHJ4PSIyLjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/decimals-arrow-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDecimalsArrowRight = /*#__PURE__*/(() => {\n  class LucideDecimalsArrowRight extends LucideIconBase {\n    static icon = {\n      name: 'decimals-arrow-right',\n      size: 24,\n      node: [['path', {\n        d: 'M10 18h10',\n        key: '1y5s8o'\n      }], ['path', {\n        d: 'm17 21 3-3-3-3',\n        key: '1ammt0'\n      }], ['path', {\n        d: 'M3 11h.01',\n        key: '1eifu7'\n      }], ['rect', {\n        x: '15',\n        y: '3',\n        width: '5',\n        height: '8',\n        rx: '2.5',\n        key: '76md6a'\n      }], ['rect', {\n        x: '6',\n        y: '3',\n        width: '5',\n        height: '8',\n        rx: '2.5',\n        key: 'v9paqo'\n      }]]\n    };\n    icon = signal(LucideDecimalsArrowRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDecimalsArrowRight_BaseFactory;\n      return function LucideDecimalsArrowRight_Factory(__ngFactoryType__) {\n        return (ɵLucideDecimalsArrowRight_BaseFactory || (ɵLucideDecimalsArrowRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDecimalsArrowRight)))(__ngFactoryType__ || LucideDecimalsArrowRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDecimalsArrowRight,\n      selectors: [[\"svg\", \"lucideDecimalsArrowRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c514,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDecimalsArrowRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDecimalsArrowRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDecimalsArrowRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Dessert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMTYyIDMuMTY3QTEwIDEwIDAgMCAwIDIgMTNhMiAyIDAgMCAwIDQgMHYtMWEyIDIgMCAwIDEgNCAwdjRhMiAyIDAgMCAwIDQgMHYtNGEyIDIgMCAwIDEgNCAwdjFhMiAyIDAgMCAwIDQtLjAwNiAxMCAxMCAwIDAgMC04LjE2MS05LjgyNiIgLz4KICA8cGF0aCBkPSJNMjAuODA0IDE0Ljg2OWE5IDkgMCAwIDEtMTcuNjA4IDAiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSI0IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/dessert\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDessert = /*#__PURE__*/(() => {\n  class LucideDessert extends LucideIconBase {\n    static icon = {\n      name: 'dessert',\n      size: 24,\n      node: [['path', {\n        d: 'M10.162 3.167A10 10 0 0 0 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4-.006 10 10 0 0 0-8.161-9.826',\n        key: 'xi88qy'\n      }], ['path', {\n        d: 'M20.804 14.869a9 9 0 0 1-17.608 0',\n        key: '1r28rg'\n      }], ['circle', {\n        cx: '12',\n        cy: '4',\n        r: '2',\n        key: 'muu5ef'\n      }]]\n    };\n    icon = signal(LucideDessert.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDessert_BaseFactory;\n      return function LucideDessert_Factory(__ngFactoryType__) {\n        return (ɵLucideDessert_BaseFactory || (ɵLucideDessert_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDessert)))(__ngFactoryType__ || LucideDessert);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDessert,\n      selectors: [[\"svg\", \"lucideDessert\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c515,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDessert_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDessert_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDessert;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Diameter\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjE5IiByPSIyIiAvPgogIDxjaXJjbGUgY3g9IjUiIGN5PSI1IiByPSIyIiAvPgogIDxwYXRoIGQ9Ik02LjQ4IDMuNjZhMTAgMTAgMCAwIDEgMTMuODYgMTMuODYiIC8+CiAgPHBhdGggZD0ibTYuNDEgNi40MSAxMS4xOCAxMS4xOCIgLz4KICA8cGF0aCBkPSJNMy42NiA2LjQ4YTEwIDEwIDAgMCAwIDEzLjg2IDEzLjg2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/diameter\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDiameter = /*#__PURE__*/(() => {\n  class LucideDiameter extends LucideIconBase {\n    static icon = {\n      name: 'diameter',\n      size: 24,\n      node: [['circle', {\n        cx: '19',\n        cy: '19',\n        r: '2',\n        key: '17f5cg'\n      }], ['circle', {\n        cx: '5',\n        cy: '5',\n        r: '2',\n        key: '1gwv83'\n      }], ['path', {\n        d: 'M6.48 3.66a10 10 0 0 1 13.86 13.86',\n        key: 'xr8kdq'\n      }], ['path', {\n        d: 'm6.41 6.41 11.18 11.18',\n        key: 'uhpjw7'\n      }], ['path', {\n        d: 'M3.66 6.48a10 10 0 0 0 13.86 13.86',\n        key: 'cldpwv'\n      }]]\n    };\n    icon = signal(LucideDiameter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDiameter_BaseFactory;\n      return function LucideDiameter_Factory(__ngFactoryType__) {\n        return (ɵLucideDiameter_BaseFactory || (ɵLucideDiameter_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDiameter)))(__ngFactoryType__ || LucideDiameter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDiameter,\n      selectors: [[\"svg\", \"lucideDiameter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c516,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDiameter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDiameter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDiameter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name DiamondMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi43IDEwLjNhMi40MSAyLjQxIDAgMCAwIDAgMy40MWw3LjU5IDcuNTlhMi40MSAyLjQxIDAgMCAwIDMuNDEgMGw3LjU5LTcuNTlhMi40MSAyLjQxIDAgMCAwIDAtMy40MUwxMy43IDIuNzFhMi40MSAyLjQxIDAgMCAwLTMuNDEgMHoiIC8+CiAgPHBhdGggZD0iTTggMTJoOCIgLz4KPC9zdmc+) - https://lucide.dev/icons/diamond-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDiamondMinus = /*#__PURE__*/(() => {\n  class LucideDiamondMinus extends LucideIconBase {\n    static icon = {\n      name: 'diamond-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z',\n        key: '1ey20j'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }]]\n    };\n    icon = signal(LucideDiamondMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDiamondMinus_BaseFactory;\n      return function LucideDiamondMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideDiamondMinus_BaseFactory || (ɵLucideDiamondMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDiamondMinus)))(__ngFactoryType__ || LucideDiamondMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDiamondMinus,\n      selectors: [[\"svg\", \"lucideDiamondMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c517,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDiamondMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDiamondMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDiamondMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name DiamondPercent\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi43IDEwLjNhMi40MSAyLjQxIDAgMCAwIDAgMy40MWw3LjU5IDcuNTlhMi40MSAyLjQxIDAgMCAwIDMuNDEgMGw3LjU5LTcuNTlhMi40MSAyLjQxIDAgMCAwIDAtMy40MUwxMy43IDIuNzFhMi40MSAyLjQxIDAgMCAwLTMuNDEgMFoiIC8+CiAgPHBhdGggZD0iTTkuMiA5LjJoLjAxIiAvPgogIDxwYXRoIGQ9Im0xNC41IDkuNS01IDUiIC8+CiAgPHBhdGggZD0iTTE0LjcgMTQuOGguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/diamond-percent\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDiamondPercent = /*#__PURE__*/(() => {\n  class LucideDiamondPercent extends LucideIconBase {\n    static icon = {\n      name: 'diamond-percent',\n      size: 24,\n      node: [['path', {\n        d: 'M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0Z',\n        key: '1tpxz2'\n      }], ['path', {\n        d: 'M9.2 9.2h.01',\n        key: '1b7bvt'\n      }], ['path', {\n        d: 'm14.5 9.5-5 5',\n        key: '17q4r4'\n      }], ['path', {\n        d: 'M14.7 14.8h.01',\n        key: '17nsh4'\n      }]],\n      aliases: ['percent-diamond']\n    };\n    icon = signal(LucideDiamondPercent.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDiamondPercent_BaseFactory;\n      return function LucideDiamondPercent_Factory(__ngFactoryType__) {\n        return (ɵLucideDiamondPercent_BaseFactory || (ɵLucideDiamondPercent_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDiamondPercent)))(__ngFactoryType__ || LucideDiamondPercent);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDiamondPercent,\n      selectors: [[\"svg\", \"lucideDiamondPercent\", \"\"], [\"svg\", \"lucidePercentDiamond\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c518,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDiamondPercent_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDiamondPercent_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDiamondPercent;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideDiamondPercent\n */\nconst LucidePercentDiamond = LucideDiamondPercent;\n\n/**\n * @component @name DiamondPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgOHY4IiAvPgogIDxwYXRoIGQ9Ik0yLjcgMTAuM2EyLjQxIDIuNDEgMCAwIDAgMCAzLjQxbDcuNTkgNy41OWEyLjQxIDIuNDEgMCAwIDAgMy40MSAwbDcuNTktNy41OWEyLjQxIDIuNDEgMCAwIDAgMC0zLjQxTDEzLjcgMi43MWEyLjQxIDIuNDEgMCAwIDAtMy40MSAweiIgLz4KICA8cGF0aCBkPSJNOCAxMmg4IiAvPgo8L3N2Zz4=) - https://lucide.dev/icons/diamond-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDiamondPlus = /*#__PURE__*/(() => {\n  class LucideDiamondPlus extends LucideIconBase {\n    static icon = {\n      name: 'diamond-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M12 8v8',\n        key: 'napkw2'\n      }], ['path', {\n        d: 'M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z',\n        key: '1ey20j'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }]]\n    };\n    icon = signal(LucideDiamondPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDiamondPlus_BaseFactory;\n      return function LucideDiamondPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideDiamondPlus_BaseFactory || (ɵLucideDiamondPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDiamondPlus)))(__ngFactoryType__ || LucideDiamondPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDiamondPlus,\n      selectors: [[\"svg\", \"lucideDiamondPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c519,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDiamondPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDiamondPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDiamondPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Diamond\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi43IDEwLjNhMi40MSAyLjQxIDAgMCAwIDAgMy40MWw3LjU5IDcuNTlhMi40MSAyLjQxIDAgMCAwIDMuNDEgMGw3LjU5LTcuNTlhMi40MSAyLjQxIDAgMCAwIDAtMy40MWwtNy41OS03LjU5YTIuNDEgMi40MSAwIDAgMC0zLjQxIDBaIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/diamond\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDiamond = /*#__PURE__*/(() => {\n  class LucideDiamond extends LucideIconBase {\n    static icon = {\n      name: 'diamond',\n      size: 24,\n      node: [['path', {\n        d: 'M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z',\n        key: '1f1r0c'\n      }]]\n    };\n    icon = signal(LucideDiamond.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDiamond_BaseFactory;\n      return function LucideDiamond_Factory(__ngFactoryType__) {\n        return (ɵLucideDiamond_BaseFactory || (ɵLucideDiamond_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDiamond)))(__ngFactoryType__ || LucideDiamond);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDiamond,\n      selectors: [[\"svg\", \"lucideDiamond\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c520,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDiamond_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDiamond_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDiamond;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Dice1\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNMTIgMTJoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/dice-1\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDice1 = /*#__PURE__*/(() => {\n  class LucideDice1 extends LucideIconBase {\n    static icon = {\n      name: 'dice-1',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        ry: '2',\n        key: '1m3agn'\n      }], ['path', {\n        d: 'M12 12h.01',\n        key: '1mp3jc'\n      }]]\n    };\n    icon = signal(LucideDice1.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDice1_BaseFactory;\n      return function LucideDice1_Factory(__ngFactoryType__) {\n        return (ɵLucideDice1_BaseFactory || (ɵLucideDice1_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDice1)))(__ngFactoryType__ || LucideDice1);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDice1,\n      selectors: [[\"svg\", \"lucideDice1\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c521,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDice1_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDice1_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDice1;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Dice2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNMTUgOWguMDEiIC8+CiAgPHBhdGggZD0iTTkgMTVoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/dice-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDice2 = /*#__PURE__*/(() => {\n  class LucideDice2 extends LucideIconBase {\n    static icon = {\n      name: 'dice-2',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        ry: '2',\n        key: '1m3agn'\n      }], ['path', {\n        d: 'M15 9h.01',\n        key: 'x1ddxp'\n      }], ['path', {\n        d: 'M9 15h.01',\n        key: 'fzyn71'\n      }]]\n    };\n    icon = signal(LucideDice2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDice2_BaseFactory;\n      return function LucideDice2_Factory(__ngFactoryType__) {\n        return (ɵLucideDice2_BaseFactory || (ɵLucideDice2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDice2)))(__ngFactoryType__ || LucideDice2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDice2,\n      selectors: [[\"svg\", \"lucideDice2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c522,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDice2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDice2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDice2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Dice3\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNMTYgOGguMDEiIC8+CiAgPHBhdGggZD0iTTEyIDEyaC4wMSIgLz4KICA8cGF0aCBkPSJNOCAxNmguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/dice-3\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDice3 = /*#__PURE__*/(() => {\n  class LucideDice3 extends LucideIconBase {\n    static icon = {\n      name: 'dice-3',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        ry: '2',\n        key: '1m3agn'\n      }], ['path', {\n        d: 'M16 8h.01',\n        key: 'cr5u4v'\n      }], ['path', {\n        d: 'M12 12h.01',\n        key: '1mp3jc'\n      }], ['path', {\n        d: 'M8 16h.01',\n        key: '18s6g9'\n      }]]\n    };\n    icon = signal(LucideDice3.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDice3_BaseFactory;\n      return function LucideDice3_Factory(__ngFactoryType__) {\n        return (ɵLucideDice3_BaseFactory || (ɵLucideDice3_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDice3)))(__ngFactoryType__ || LucideDice3);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDice3,\n      selectors: [[\"svg\", \"lucideDice3\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c523,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDice3_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDice3_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDice3;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Dice4\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNMTYgOGguMDEiIC8+CiAgPHBhdGggZD0iTTggOGguMDEiIC8+CiAgPHBhdGggZD0iTTggMTZoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNiAxNmguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/dice-4\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDice4 = /*#__PURE__*/(() => {\n  class LucideDice4 extends LucideIconBase {\n    static icon = {\n      name: 'dice-4',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        ry: '2',\n        key: '1m3agn'\n      }], ['path', {\n        d: 'M16 8h.01',\n        key: 'cr5u4v'\n      }], ['path', {\n        d: 'M8 8h.01',\n        key: '1e4136'\n      }], ['path', {\n        d: 'M8 16h.01',\n        key: '18s6g9'\n      }], ['path', {\n        d: 'M16 16h.01',\n        key: '1f9h7w'\n      }]]\n    };\n    icon = signal(LucideDice4.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDice4_BaseFactory;\n      return function LucideDice4_Factory(__ngFactoryType__) {\n        return (ɵLucideDice4_BaseFactory || (ɵLucideDice4_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDice4)))(__ngFactoryType__ || LucideDice4);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDice4,\n      selectors: [[\"svg\", \"lucideDice4\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c524,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDice4_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDice4_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDice4;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Dice5\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNMTYgOGguMDEiIC8+CiAgPHBhdGggZD0iTTggOGguMDEiIC8+CiAgPHBhdGggZD0iTTggMTZoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNiAxNmguMDEiIC8+CiAgPHBhdGggZD0iTTEyIDEyaC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/dice-5\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDice5 = /*#__PURE__*/(() => {\n  class LucideDice5 extends LucideIconBase {\n    static icon = {\n      name: 'dice-5',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        ry: '2',\n        key: '1m3agn'\n      }], ['path', {\n        d: 'M16 8h.01',\n        key: 'cr5u4v'\n      }], ['path', {\n        d: 'M8 8h.01',\n        key: '1e4136'\n      }], ['path', {\n        d: 'M8 16h.01',\n        key: '18s6g9'\n      }], ['path', {\n        d: 'M16 16h.01',\n        key: '1f9h7w'\n      }], ['path', {\n        d: 'M12 12h.01',\n        key: '1mp3jc'\n      }]]\n    };\n    icon = signal(LucideDice5.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDice5_BaseFactory;\n      return function LucideDice5_Factory(__ngFactoryType__) {\n        return (ɵLucideDice5_BaseFactory || (ɵLucideDice5_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDice5)))(__ngFactoryType__ || LucideDice5);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDice5,\n      selectors: [[\"svg\", \"lucideDice5\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c525,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDice5_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDice5_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDice5;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Dice6\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNMTYgOGguMDEiIC8+CiAgPHBhdGggZD0iTTE2IDEyaC4wMSIgLz4KICA8cGF0aCBkPSJNMTYgMTZoLjAxIiAvPgogIDxwYXRoIGQ9Ik04IDhoLjAxIiAvPgogIDxwYXRoIGQ9Ik04IDEyaC4wMSIgLz4KICA8cGF0aCBkPSJNOCAxNmguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/dice-6\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDice6 = /*#__PURE__*/(() => {\n  class LucideDice6 extends LucideIconBase {\n    static icon = {\n      name: 'dice-6',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        ry: '2',\n        key: '1m3agn'\n      }], ['path', {\n        d: 'M16 8h.01',\n        key: 'cr5u4v'\n      }], ['path', {\n        d: 'M16 12h.01',\n        key: '1l6xoz'\n      }], ['path', {\n        d: 'M16 16h.01',\n        key: '1f9h7w'\n      }], ['path', {\n        d: 'M8 8h.01',\n        key: '1e4136'\n      }], ['path', {\n        d: 'M8 12h.01',\n        key: 'czm47f'\n      }], ['path', {\n        d: 'M8 16h.01',\n        key: '18s6g9'\n      }]]\n    };\n    icon = signal(LucideDice6.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDice6_BaseFactory;\n      return function LucideDice6_Factory(__ngFactoryType__) {\n        return (ɵLucideDice6_BaseFactory || (ɵLucideDice6_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDice6)))(__ngFactoryType__ || LucideDice6);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDice6,\n      selectors: [[\"svg\", \"lucideDice6\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c526,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDice6_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDice6_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDice6;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Dices\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHg9IjIiIHk9IjEwIiByeD0iMiIgcnk9IjIiIC8+CiAgPHBhdGggZD0ibTE3LjkyIDE0IDMuNS0zLjVhMi4yNCAyLjI0IDAgMCAwIDAtM2wtNS00LjkyYTIuMjQgMi4yNCAwIDAgMC0zIDBMMTAgNiIgLz4KICA8cGF0aCBkPSJNNiAxOGguMDEiIC8+CiAgPHBhdGggZD0iTTEwIDE0aC4wMSIgLz4KICA8cGF0aCBkPSJNMTUgNmguMDEiIC8+CiAgPHBhdGggZD0iTTE4IDloLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/dices\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDices = /*#__PURE__*/(() => {\n  class LucideDices extends LucideIconBase {\n    static icon = {\n      name: 'dices',\n      size: 24,\n      node: [['rect', {\n        width: '12',\n        height: '12',\n        x: '2',\n        y: '10',\n        rx: '2',\n        ry: '2',\n        key: '6agr2n'\n      }], ['path', {\n        d: 'm17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6',\n        key: '1o487t'\n      }], ['path', {\n        d: 'M6 18h.01',\n        key: 'uhywen'\n      }], ['path', {\n        d: 'M10 14h.01',\n        key: 'ssrbsk'\n      }], ['path', {\n        d: 'M15 6h.01',\n        key: 'cblpky'\n      }], ['path', {\n        d: 'M18 9h.01',\n        key: '2061c0'\n      }]]\n    };\n    icon = signal(LucideDices.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDices_BaseFactory;\n      return function LucideDices_Factory(__ngFactoryType__) {\n        return (ɵLucideDices_BaseFactory || (ɵLucideDices_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDices)))(__ngFactoryType__ || LucideDices);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDices,\n      selectors: [[\"svg\", \"lucideDices\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c527,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDices_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDices_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDices;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name CornerRightUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAgOSA1LTUgNSA1IiAvPgogIDxwYXRoIGQ9Ik00IDIwaDdhNCA0IDAgMCAwIDQtNFY0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/corner-right-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideCornerRightUp = /*#__PURE__*/(() => {\n  class LucideCornerRightUp extends LucideIconBase {\n    static icon = {\n      name: 'corner-right-up',\n      size: 24,\n      node: [['path', {\n        d: 'm10 9 5-5 5 5',\n        key: '9ctzwi'\n      }], ['path', {\n        d: 'M4 20h7a4 4 0 0 0 4-4V4',\n        key: '1plgdj'\n      }]]\n    };\n    icon = signal(LucideCornerRightUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideCornerRightUp_BaseFactory;\n      return function LucideCornerRightUp_Factory(__ngFactoryType__) {\n        return (ɵLucideCornerRightUp_BaseFactory || (ɵLucideCornerRightUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideCornerRightUp)))(__ngFactoryType__ || LucideCornerRightUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideCornerRightUp,\n      selectors: [[\"svg\", \"lucideCornerRightUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c528,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideCornerRightUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideCornerRightUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideCornerRightUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Disc2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI0IiAvPgogIDxwYXRoIGQ9Ik0xMiAxMmguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/disc-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDisc2 = /*#__PURE__*/(() => {\n  class LucideDisc2 extends LucideIconBase {\n    static icon = {\n      name: 'disc-2',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '4',\n        key: '4exip2'\n      }], ['path', {\n        d: 'M12 12h.01',\n        key: '1mp3jc'\n      }]]\n    };\n    icon = signal(LucideDisc2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDisc2_BaseFactory;\n      return function LucideDisc2_Factory(__ngFactoryType__) {\n        return (ɵLucideDisc2_BaseFactory || (ɵLucideDisc2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDisc2)))(__ngFactoryType__ || LucideDisc2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDisc2,\n      selectors: [[\"svg\", \"lucideDisc2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c529,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDisc2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDisc2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDisc2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Disc3\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNNiAxMmMwLTEuNy43LTMuMiAxLjgtNC4yIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjIiIC8+CiAgPHBhdGggZD0iTTE4IDEyYzAgMS43LS43IDMuMi0xLjggNC4yIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/disc-3\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDisc3 = /*#__PURE__*/(() => {\n  class LucideDisc3 extends LucideIconBase {\n    static icon = {\n      name: 'disc-3',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M6 12c0-1.7.7-3.2 1.8-4.2',\n        key: 'oqkarx'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '2',\n        key: '1c9p78'\n      }], ['path', {\n        d: 'M18 12c0 1.7-.7 3.2-1.8 4.2',\n        key: '1eah9h'\n      }]]\n    };\n    icon = signal(LucideDisc3.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDisc3_BaseFactory;\n      return function LucideDisc3_Factory(__ngFactoryType__) {\n        return (ɵLucideDisc3_BaseFactory || (ɵLucideDisc3_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDisc3)))(__ngFactoryType__ || LucideDisc3);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDisc3,\n      selectors: [[\"svg\", \"lucideDisc3\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c530,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDisc3_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDisc3_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDisc3;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name DiscAlbum\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjUiIC8+CiAgPHBhdGggZD0iTTEyIDEyaC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/disc-album\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDiscAlbum = /*#__PURE__*/(() => {\n  class LucideDiscAlbum extends LucideIconBase {\n    static icon = {\n      name: 'disc-album',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '5',\n        key: 'nd82uf'\n      }], ['path', {\n        d: 'M12 12h.01',\n        key: '1mp3jc'\n      }]]\n    };\n    icon = signal(LucideDiscAlbum.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDiscAlbum_BaseFactory;\n      return function LucideDiscAlbum_Factory(__ngFactoryType__) {\n        return (ɵLucideDiscAlbum_BaseFactory || (ɵLucideDiscAlbum_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDiscAlbum)))(__ngFactoryType__ || LucideDiscAlbum);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDiscAlbum,\n      selectors: [[\"svg\", \"lucideDiscAlbum\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c531,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDiscAlbum_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDiscAlbum_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDiscAlbum;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Disc\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/disc\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDisc = /*#__PURE__*/(() => {\n  class LucideDisc extends LucideIconBase {\n    static icon = {\n      name: 'disc',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '2',\n        key: '1c9p78'\n      }]]\n    };\n    icon = signal(LucideDisc.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDisc_BaseFactory;\n      return function LucideDisc_Factory(__ngFactoryType__) {\n        return (ɵLucideDisc_BaseFactory || (ɵLucideDisc_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDisc)))(__ngFactoryType__ || LucideDisc);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDisc,\n      selectors: [[\"svg\", \"lucideDisc\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c532,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDisc_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDisc_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDisc;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Divide\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjYiIHI9IjEiIC8+CiAgPGxpbmUgeDE9IjUiIHgyPSIxOSIgeTE9IjEyIiB5Mj0iMTIiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxOCIgcj0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/divide\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDivide = /*#__PURE__*/(() => {\n  class LucideDivide extends LucideIconBase {\n    static icon = {\n      name: 'divide',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '6',\n        r: '1',\n        key: '1bh7o1'\n      }], ['line', {\n        x1: '5',\n        x2: '19',\n        y1: '12',\n        y2: '12',\n        key: '13b5wn'\n      }], ['circle', {\n        cx: '12',\n        cy: '18',\n        r: '1',\n        key: 'lqb9t5'\n      }]]\n    };\n    icon = signal(LucideDivide.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDivide_BaseFactory;\n      return function LucideDivide_Factory(__ngFactoryType__) {\n        return (ɵLucideDivide_BaseFactory || (ɵLucideDivide_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDivide)))(__ngFactoryType__ || LucideDivide);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDivide,\n      selectors: [[\"svg\", \"lucideDivide\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c533,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDivide_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDivide_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDivide;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name DnaOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMmMtMS4zNSAxLjUtMi4wOTIgMy0yLjUgNC41TDE0IDgiIC8+CiAgPHBhdGggZD0ibTE3IDYtMi44OTEtMi44OTEiIC8+CiAgPHBhdGggZD0iTTIgMTVjMy4zMzMtMyA2LjY2Ny0zIDEwLTMiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJtMjAgOSAuODkxLjg5MSIgLz4KICA8cGF0aCBkPSJNMjIgOWMtMS41IDEuMzUtMyAyLjA5Mi00LjUgMi41bC0xLTEiIC8+CiAgPHBhdGggZD0iTTMuMTA5IDE0LjEwOSA0IDE1IiAvPgogIDxwYXRoIGQ9Im02LjUgMTIuNSAxIDEiIC8+CiAgPHBhdGggZD0ibTcgMTggMi44OTEgMi44OTEiIC8+CiAgPHBhdGggZD0iTTkgMjJjMS4zNS0xLjUgMi4wOTItMyAyLjUtNC41TDEwIDE2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/dna-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDnaOff = /*#__PURE__*/(() => {\n  class LucideDnaOff extends LucideIconBase {\n    static icon = {\n      name: 'dna-off',\n      size: 24,\n      node: [['path', {\n        d: 'M15 2c-1.35 1.5-2.092 3-2.5 4.5L14 8',\n        key: '1bivrr'\n      }], ['path', {\n        d: 'm17 6-2.891-2.891',\n        key: 'xu6p2f'\n      }], ['path', {\n        d: 'M2 15c3.333-3 6.667-3 10-3',\n        key: 'nxix30'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'm20 9 .891.891',\n        key: '3xwk7g'\n      }], ['path', {\n        d: 'M22 9c-1.5 1.35-3 2.092-4.5 2.5l-1-1',\n        key: '18cutr'\n      }], ['path', {\n        d: 'M3.109 14.109 4 15',\n        key: 'q76aoh'\n      }], ['path', {\n        d: 'm6.5 12.5 1 1',\n        key: 'cs35ky'\n      }], ['path', {\n        d: 'm7 18 2.891 2.891',\n        key: '1sisit'\n      }], ['path', {\n        d: 'M9 22c1.35-1.5 2.092-3 2.5-4.5L10 16',\n        key: 'rlvei3'\n      }]]\n    };\n    icon = signal(LucideDnaOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDnaOff_BaseFactory;\n      return function LucideDnaOff_Factory(__ngFactoryType__) {\n        return (ɵLucideDnaOff_BaseFactory || (ɵLucideDnaOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDnaOff)))(__ngFactoryType__ || LucideDnaOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDnaOff,\n      selectors: [[\"svg\", \"lucideDnaOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c534,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDnaOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDnaOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDnaOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Dna\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAgMTYgMS41IDEuNSIgLz4KICA8cGF0aCBkPSJtMTQgOC0xLjUtMS41IiAvPgogIDxwYXRoIGQ9Ik0xNSAyYy0xLjc5OCAxLjk5OC0yLjUxOCAzLjk5NS0yLjgwNyA1Ljk5MyIgLz4KICA8cGF0aCBkPSJtMTYuNSAxMC41IDEgMSIgLz4KICA8cGF0aCBkPSJtMTcgNi0yLjg5MS0yLjg5MSIgLz4KICA8cGF0aCBkPSJNMiAxNWM2LjY2Ny02IDEzLjMzMyAwIDIwLTYiIC8+CiAgPHBhdGggZD0ibTIwIDkgLjg5MS44OTEiIC8+CiAgPHBhdGggZD0iTTMuMTA5IDE0LjEwOSA0IDE1IiAvPgogIDxwYXRoIGQ9Im02LjUgMTIuNSAxIDEiIC8+CiAgPHBhdGggZD0ibTcgMTggMi44OTEgMi44OTEiIC8+CiAgPHBhdGggZD0iTTkgMjJjMS43OTgtMS45OTggMi41MTgtMy45OTUgMi44MDctNS45OTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/dna\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDna = /*#__PURE__*/(() => {\n  class LucideDna extends LucideIconBase {\n    static icon = {\n      name: 'dna',\n      size: 24,\n      node: [['path', {\n        d: 'm10 16 1.5 1.5',\n        key: '11lckj'\n      }], ['path', {\n        d: 'm14 8-1.5-1.5',\n        key: '1ohn8i'\n      }], ['path', {\n        d: 'M15 2c-1.798 1.998-2.518 3.995-2.807 5.993',\n        key: '80uv8i'\n      }], ['path', {\n        d: 'm16.5 10.5 1 1',\n        key: '696xn5'\n      }], ['path', {\n        d: 'm17 6-2.891-2.891',\n        key: 'xu6p2f'\n      }], ['path', {\n        d: 'M2 15c6.667-6 13.333 0 20-6',\n        key: '1pyr53'\n      }], ['path', {\n        d: 'm20 9 .891.891',\n        key: '3xwk7g'\n      }], ['path', {\n        d: 'M3.109 14.109 4 15',\n        key: 'q76aoh'\n      }], ['path', {\n        d: 'm6.5 12.5 1 1',\n        key: 'cs35ky'\n      }], ['path', {\n        d: 'm7 18 2.891 2.891',\n        key: '1sisit'\n      }], ['path', {\n        d: 'M9 22c1.798-1.998 2.518-3.995 2.807-5.993',\n        key: 'q3hbxp'\n      }]]\n    };\n    icon = signal(LucideDna.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDna_BaseFactory;\n      return function LucideDna_Factory(__ngFactoryType__) {\n        return (ɵLucideDna_BaseFactory || (ɵLucideDna_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDna)))(__ngFactoryType__ || LucideDna);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDna,\n      selectors: [[\"svg\", \"lucideDna\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c535,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDna_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDna_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDna;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Dock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA4aDIwIiAvPgogIDxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIxNiIgeD0iMiIgeT0iNCIgcng9IjIiIC8+CiAgPHBhdGggZD0iTTYgMTZoMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/dock\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDock = /*#__PURE__*/(() => {\n  class LucideDock extends LucideIconBase {\n    static icon = {\n      name: 'dock',\n      size: 24,\n      node: [['path', {\n        d: 'M2 8h20',\n        key: 'd11cs7'\n      }], ['rect', {\n        width: '20',\n        height: '16',\n        x: '2',\n        y: '4',\n        rx: '2',\n        key: '18n3k1'\n      }], ['path', {\n        d: 'M6 16h12',\n        key: 'u522kt'\n      }]]\n    };\n    icon = signal(LucideDock.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDock_BaseFactory;\n      return function LucideDock_Factory(__ngFactoryType__) {\n        return (ɵLucideDock_BaseFactory || (ɵLucideDock_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDock)))(__ngFactoryType__ || LucideDock);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDock,\n      selectors: [[\"svg\", \"lucideDock\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c536,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDock_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDock_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDock;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Dog\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuMjUgMTYuMjVoMS41TDEyIDE3eiIgLz4KICA8cGF0aCBkPSJNMTYgMTR2LjUiIC8+CiAgPHBhdGggZD0iTTQuNDIgMTEuMjQ3QTEzLjE1MiAxMy4xNTIgMCAwIDAgNCAxNC41NTZDNCAxOC43MjggNy41ODIgMjEgMTIgMjFzOC0yLjI3MiA4LTYuNDQ0YTExLjcwMiAxMS43MDIgMCAwIDAtLjQ5My0zLjMwOSIgLz4KICA8cGF0aCBkPSJNOCAxNHYuNSIgLz4KICA8cGF0aCBkPSJNOC41IDguNWMtLjM4NCAxLjA1LTEuMDgzIDIuMDI4LTIuMzQ0IDIuNS0xLjkzMS43MjItMy41NzYtLjI5Ny0zLjY1Ni0xLS4xMTMtLjk5NCAxLjE3Ny02LjUzIDQtNyAxLjkyMy0uMzIxIDMuNjUxLjg0NSAzLjY1MSAyLjIzNUE3LjQ5NyA3LjQ5NyAwIDAgMSAxNCA1LjI3N2MwLTEuMzkgMS44NDQtMi41OTggMy43NjctMi4yNzcgMi44MjMuNDcgNC4xMTMgNi4wMDYgNCA3LS4wOC43MDMtMS43MjUgMS43MjItMy42NTYgMS0xLjI2MS0uNDcyLTEuODU1LTEuNDUtMi4yMzktMi41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/dog\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDog = /*#__PURE__*/(() => {\n  class LucideDog extends LucideIconBase {\n    static icon = {\n      name: 'dog',\n      size: 24,\n      node: [['path', {\n        d: 'M11.25 16.25h1.5L12 17z',\n        key: 'w7jh35'\n      }], ['path', {\n        d: 'M16 14v.5',\n        key: '1lajdz'\n      }], ['path', {\n        d: 'M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444a11.702 11.702 0 0 0-.493-3.309',\n        key: 'u7s9ue'\n      }], ['path', {\n        d: 'M8 14v.5',\n        key: '1nzgdb'\n      }], ['path', {\n        d: 'M8.5 8.5c-.384 1.05-1.083 2.028-2.344 2.5-1.931.722-3.576-.297-3.656-1-.113-.994 1.177-6.53 4-7 1.923-.321 3.651.845 3.651 2.235A7.497 7.497 0 0 1 14 5.277c0-1.39 1.844-2.598 3.767-2.277 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5',\n        key: 'v8hric'\n      }]]\n    };\n    icon = signal(LucideDog.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDog_BaseFactory;\n      return function LucideDog_Factory(__ngFactoryType__) {\n        return (ɵLucideDog_BaseFactory || (ɵLucideDog_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDog)))(__ngFactoryType__ || LucideDog);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDog,\n      selectors: [[\"svg\", \"lucideDog\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c537,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDog_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDog_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDog;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name DollarSign\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMTIiIHgyPSIxMiIgeTE9IjIiIHkyPSIyMiIgLz4KICA8cGF0aCBkPSJNMTcgNUg5LjVhMy41IDMuNSAwIDAgMCAwIDdoNWEzLjUgMy41IDAgMCAxIDAgN0g2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/dollar-sign\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDollarSign = /*#__PURE__*/(() => {\n  class LucideDollarSign extends LucideIconBase {\n    static icon = {\n      name: 'dollar-sign',\n      size: 24,\n      node: [['line', {\n        x1: '12',\n        x2: '12',\n        y1: '2',\n        y2: '22',\n        key: '7eqyqh'\n      }], ['path', {\n        d: 'M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6',\n        key: '1b0p4s'\n      }]]\n    };\n    icon = signal(LucideDollarSign.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDollarSign_BaseFactory;\n      return function LucideDollarSign_Factory(__ngFactoryType__) {\n        return (ɵLucideDollarSign_BaseFactory || (ɵLucideDollarSign_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDollarSign)))(__ngFactoryType__ || LucideDollarSign);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDollarSign,\n      selectors: [[\"svg\", \"lucideDollarSign\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c538,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDollarSign_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDollarSign_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDollarSign;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Donut\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAuNSAxMGEyLjUgMi41IDAgMCAxLTIuNC0zSDE4YTIuOTUgMi45NSAwIDAgMS0yLjYtNC40IDEwIDEwIDAgMSAwIDYuMyA3LjFjLS4zLjItLjguMy0xLjIuMyIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/donut\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDonut = /*#__PURE__*/(() => {\n  class LucideDonut extends LucideIconBase {\n    static icon = {\n      name: 'donut',\n      size: 24,\n      node: [['path', {\n        d: 'M20.5 10a2.5 2.5 0 0 1-2.4-3H18a2.95 2.95 0 0 1-2.6-4.4 10 10 0 1 0 6.3 7.1c-.3.2-.8.3-1.2.3',\n        key: '19sr3x'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '3',\n        key: '1v7zrd'\n      }]]\n    };\n    icon = signal(LucideDonut.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDonut_BaseFactory;\n      return function LucideDonut_Factory(__ngFactoryType__) {\n        return (ɵLucideDonut_BaseFactory || (ɵLucideDonut_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDonut)))(__ngFactoryType__ || LucideDonut);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDonut,\n      selectors: [[\"svg\", \"lucideDonut\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c539,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDonut_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDonut_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDonut;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name DoorClosedLocked\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTJoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xOCA5VjZhMiAyIDAgMCAwLTItMkg4YTIgMiAwIDAgMC0yIDJ2MTQiIC8+CiAgPHBhdGggZD0iTTIgMjBoOCIgLz4KICA8cGF0aCBkPSJNMjAgMTd2LTJhMiAyIDAgMSAwLTQgMHYyIiAvPgogIDxyZWN0IHg9IjE0IiB5PSIxNyIgd2lkdGg9IjgiIGhlaWdodD0iNSIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/door-closed-locked\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDoorClosedLocked = /*#__PURE__*/(() => {\n  class LucideDoorClosedLocked extends LucideIconBase {\n    static icon = {\n      name: 'door-closed-locked',\n      size: 24,\n      node: [['path', {\n        d: 'M10 12h.01',\n        key: '1kxr2c'\n      }], ['path', {\n        d: 'M18 9V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14',\n        key: '1bnhmg'\n      }], ['path', {\n        d: 'M2 20h8',\n        key: '10ntw1'\n      }], ['path', {\n        d: 'M20 17v-2a2 2 0 1 0-4 0v2',\n        key: 'pwaxnr'\n      }], ['rect', {\n        x: '14',\n        y: '17',\n        width: '8',\n        height: '5',\n        rx: '1',\n        key: '15pjcy'\n      }]]\n    };\n    icon = signal(LucideDoorClosedLocked.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDoorClosedLocked_BaseFactory;\n      return function LucideDoorClosedLocked_Factory(__ngFactoryType__) {\n        return (ɵLucideDoorClosedLocked_BaseFactory || (ɵLucideDoorClosedLocked_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDoorClosedLocked)))(__ngFactoryType__ || LucideDoorClosedLocked);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDoorClosedLocked,\n      selectors: [[\"svg\", \"lucideDoorClosedLocked\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c540,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDoorClosedLocked_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDoorClosedLocked_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDoorClosedLocked;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name DoorClosed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTJoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xOCAyMFY2YTIgMiAwIDAgMC0yLTJIOGEyIDIgMCAwIDAtMiAydjE0IiAvPgogIDxwYXRoIGQ9Ik0yIDIwaDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/door-closed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDoorClosed = /*#__PURE__*/(() => {\n  class LucideDoorClosed extends LucideIconBase {\n    static icon = {\n      name: 'door-closed',\n      size: 24,\n      node: [['path', {\n        d: 'M10 12h.01',\n        key: '1kxr2c'\n      }], ['path', {\n        d: 'M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14',\n        key: '36qu9e'\n      }], ['path', {\n        d: 'M2 20h20',\n        key: 'owomy5'\n      }]]\n    };\n    icon = signal(LucideDoorClosed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDoorClosed_BaseFactory;\n      return function LucideDoorClosed_Factory(__ngFactoryType__) {\n        return (ɵLucideDoorClosed_BaseFactory || (ɵLucideDoorClosed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDoorClosed)))(__ngFactoryType__ || LucideDoorClosed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDoorClosed,\n      selectors: [[\"svg\", \"lucideDoorClosed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c541,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDoorClosed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDoorClosed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDoorClosed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name DoorOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMjBIMiIgLz4KICA8cGF0aCBkPSJNMTEgNC41NjJ2MTYuMTU3YTEgMSAwIDAgMCAxLjI0Mi45N0wxOSAyMFY1LjU2MmEyIDIgMCAwIDAtMS41MTUtMS45NGwtNC0xQTIgMiAwIDAgMCAxMSA0LjU2MXoiIC8+CiAgPHBhdGggZD0iTTExIDRIOGEyIDIgMCAwIDAtMiAydjE0IiAvPgogIDxwYXRoIGQ9Ik0xNCAxMmguMDEiIC8+CiAgPHBhdGggZD0iTTIyIDIwaC0zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/door-open\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDoorOpen = /*#__PURE__*/(() => {\n  class LucideDoorOpen extends LucideIconBase {\n    static icon = {\n      name: 'door-open',\n      size: 24,\n      node: [['path', {\n        d: 'M11 20H2',\n        key: 'nlcfvz'\n      }], ['path', {\n        d: 'M11 4.562v16.157a1 1 0 0 0 1.242.97L19 20V5.562a2 2 0 0 0-1.515-1.94l-4-1A2 2 0 0 0 11 4.561z',\n        key: 'au4z13'\n      }], ['path', {\n        d: 'M11 4H8a2 2 0 0 0-2 2v14',\n        key: '74r1mk'\n      }], ['path', {\n        d: 'M14 12h.01',\n        key: '1jfl7z'\n      }], ['path', {\n        d: 'M22 20h-3',\n        key: 'vhrsz'\n      }]]\n    };\n    icon = signal(LucideDoorOpen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDoorOpen_BaseFactory;\n      return function LucideDoorOpen_Factory(__ngFactoryType__) {\n        return (ɵLucideDoorOpen_BaseFactory || (ɵLucideDoorOpen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDoorOpen)))(__ngFactoryType__ || LucideDoorOpen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDoorOpen,\n      selectors: [[\"svg\", \"lucideDoorOpen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c542,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDoorOpen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDoorOpen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDoorOpen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Dot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMi4xIiBjeT0iMTIuMSIgcj0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/dot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDot = /*#__PURE__*/(() => {\n  class LucideDot extends LucideIconBase {\n    static icon = {\n      name: 'dot',\n      size: 24,\n      node: [['circle', {\n        cx: '12.1',\n        cy: '12.1',\n        r: '1',\n        key: '18d7e5'\n      }]]\n    };\n    icon = signal(LucideDot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDot_BaseFactory;\n      return function LucideDot_Factory(__ngFactoryType__) {\n        return (ɵLucideDot_BaseFactory || (ɵLucideDot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDot)))(__ngFactoryType__ || LucideDot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDot,\n      selectors: [[\"svg\", \"lucideDot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c543,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Download\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTVWMyIgLz4KICA8cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCIgLz4KICA8cGF0aCBkPSJtNyAxMCA1IDUgNS01IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/download\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDownload = /*#__PURE__*/(() => {\n  class LucideDownload extends LucideIconBase {\n    static icon = {\n      name: 'download',\n      size: 24,\n      node: [['path', {\n        d: 'M12 15V3',\n        key: 'm9g1x1'\n      }], ['path', {\n        d: 'M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4',\n        key: 'ih7n3h'\n      }], ['path', {\n        d: 'm7 10 5 5 5-5',\n        key: 'brsn70'\n      }]]\n    };\n    icon = signal(LucideDownload.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDownload_BaseFactory;\n      return function LucideDownload_Factory(__ngFactoryType__) {\n        return (ɵLucideDownload_BaseFactory || (ɵLucideDownload_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDownload)))(__ngFactoryType__ || LucideDownload);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDownload,\n      selectors: [[\"svg\", \"lucideDownload\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c544,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDownload_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDownload_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDownload;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name DraftingCompass\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIuOTkgNi43NCAxLjkzIDMuNDQiIC8+CiAgPHBhdGggZD0iTTE5LjEzNiAxMmExMCAxMCAwIDAgMS0xNC4yNzEgMCIgLz4KICA8cGF0aCBkPSJtMjEgMjEtMi4xNi0zLjg0IiAvPgogIDxwYXRoIGQ9Im0zIDIxIDguMDItMTQuMjYiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSI1IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/drafting-compass\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDraftingCompass = /*#__PURE__*/(() => {\n  class LucideDraftingCompass extends LucideIconBase {\n    static icon = {\n      name: 'drafting-compass',\n      size: 24,\n      node: [['path', {\n        d: 'm12.99 6.74 1.93 3.44',\n        key: 'iwagvd'\n      }], ['path', {\n        d: 'M19.136 12a10 10 0 0 1-14.271 0',\n        key: 'ppmlo4'\n      }], ['path', {\n        d: 'm21 21-2.16-3.84',\n        key: 'vylbct'\n      }], ['path', {\n        d: 'm3 21 8.02-14.26',\n        key: '1ssaw4'\n      }], ['circle', {\n        cx: '12',\n        cy: '5',\n        r: '2',\n        key: 'f1ur92'\n      }]]\n    };\n    icon = signal(LucideDraftingCompass.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDraftingCompass_BaseFactory;\n      return function LucideDraftingCompass_Factory(__ngFactoryType__) {\n        return (ɵLucideDraftingCompass_BaseFactory || (ɵLucideDraftingCompass_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDraftingCompass)))(__ngFactoryType__ || LucideDraftingCompass);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDraftingCompass,\n      selectors: [[\"svg\", \"lucideDraftingCompass\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c545,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDraftingCompass_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDraftingCompass_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDraftingCompass;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Drama\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTFoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNCA2aC4wMSIgLz4KICA8cGF0aCBkPSJNMTggNmguMDEiIC8+CiAgPHBhdGggZD0iTTYuNSAxMy4xaC4wMSIgLz4KICA8cGF0aCBkPSJNMjIgNWMwIDktNCAxMi02IDEycy02LTMtNi0xMmMwLTIgMi0zIDYtM3M2IDEgNiAzIiAvPgogIDxwYXRoIGQ9Ik0xNy40IDkuOWMtLjguOC0yIC44LTIuOCAwIiAvPgogIDxwYXRoIGQ9Ik0xMC4xIDcuMUM5IDcuMiA3LjcgNy43IDYgOC42Yy0zLjUgMi00LjcgMy45LTMuNyA1LjYgNC41IDcuOCA5LjUgOC40IDExLjIgNy40LjktLjUgMS45LTIuMSAxLjktNC43IiAvPgogIDxwYXRoIGQ9Ik05LjEgMTYuNWMuMy0xLjEgMS40LTEuNyAyLjQtMS40IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/drama\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDrama = /*#__PURE__*/(() => {\n  class LucideDrama extends LucideIconBase {\n    static icon = {\n      name: 'drama',\n      size: 24,\n      node: [['path', {\n        d: 'M10 11h.01',\n        key: 'd2at3l'\n      }], ['path', {\n        d: 'M14 6h.01',\n        key: 'k028ub'\n      }], ['path', {\n        d: 'M18 6h.01',\n        key: '1v4wsw'\n      }], ['path', {\n        d: 'M6.5 13.1h.01',\n        key: '1748ia'\n      }], ['path', {\n        d: 'M22 5c0 9-4 12-6 12s-6-3-6-12c0-2 2-3 6-3s6 1 6 3',\n        key: '172yzv'\n      }], ['path', {\n        d: 'M17.4 9.9c-.8.8-2 .8-2.8 0',\n        key: '1obv0w'\n      }], ['path', {\n        d: 'M10.1 7.1C9 7.2 7.7 7.7 6 8.6c-3.5 2-4.7 3.9-3.7 5.6 4.5 7.8 9.5 8.4 11.2 7.4.9-.5 1.9-2.1 1.9-4.7',\n        key: 'rqjl8i'\n      }], ['path', {\n        d: 'M9.1 16.5c.3-1.1 1.4-1.7 2.4-1.4',\n        key: '1mr6wy'\n      }]]\n    };\n    icon = signal(LucideDrama.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDrama_BaseFactory;\n      return function LucideDrama_Factory(__ngFactoryType__) {\n        return (ɵLucideDrama_BaseFactory || (ɵLucideDrama_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDrama)))(__ngFactoryType__ || LucideDrama);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDrama,\n      selectors: [[\"svg\", \"lucideDrama\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c546,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDrama_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDrama_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDrama;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Drill\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMThhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMS0xIDFINWEzIDMgMCAwIDEtMy0zIDEgMSAwIDAgMSAxLTF6IiAvPgogIDxwYXRoIGQ9Ik0xMyAxMEg0YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDlhMSAxIDAgMCAxIDEgMXY2YTEgMSAwIDAgMS0xIDFsLS44MSAzLjI0MmExIDEgMCAwIDEtLjk3Ljc1OEg4IiAvPgogIDxwYXRoIGQ9Ik0xNCA0aDNhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMS0xIDFoLTMiIC8+CiAgPHBhdGggZD0iTTE4IDZoNCIgLz4KICA8cGF0aCBkPSJtNSAxMC0yIDgiIC8+CiAgPHBhdGggZD0ibTcgMTggMi04IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/drill\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDrill = /*#__PURE__*/(() => {\n  class LucideDrill extends LucideIconBase {\n    static icon = {\n      name: 'drill',\n      size: 24,\n      node: [['path', {\n        d: 'M10 18a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a3 3 0 0 1-3-3 1 1 0 0 1 1-1z',\n        key: 'ioqxb1'\n      }], ['path', {\n        d: 'M13 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1l-.81 3.242a1 1 0 0 1-.97.758H8',\n        key: '1rs59n'\n      }], ['path', {\n        d: 'M14 4h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3',\n        key: '105ega'\n      }], ['path', {\n        d: 'M18 6h4',\n        key: '66u95g'\n      }], ['path', {\n        d: 'm5 10-2 8',\n        key: 'xt2lic'\n      }], ['path', {\n        d: 'm7 18 2-8',\n        key: '1bzku2'\n      }]]\n    };\n    icon = signal(LucideDrill.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDrill_BaseFactory;\n      return function LucideDrill_Factory(__ngFactoryType__) {\n        return (ɵLucideDrill_BaseFactory || (ɵLucideDrill_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDrill)))(__ngFactoryType__ || LucideDrill);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDrill,\n      selectors: [[\"svg\", \"lucideDrill\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c547,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDrill_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDrill_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDrill;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Drone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTAgNyA3IiAvPgogIDxwYXRoIGQ9Im0xMCAxNC0zIDMiIC8+CiAgPHBhdGggZD0ibTE0IDEwIDMtMyIgLz4KICA8cGF0aCBkPSJtMTQgMTQgMyAzIiAvPgogIDxwYXRoIGQ9Ik0xNC4yMDUgNC4xMzlhNCA0IDAgMSAxIDUuNDM5IDUuODYzIiAvPgogIDxwYXRoIGQ9Ik0xOS42MzcgMTRhNCA0IDAgMSAxLTUuNDMyIDUuODY4IiAvPgogIDxwYXRoIGQ9Ik00LjM2NyAxMGE0IDQgMCAxIDEgNS40MzgtNS44NjIiIC8+CiAgPHBhdGggZD0iTTkuNzk1IDE5Ljg2MmE0IDQgMCAxIDEtNS40MjktNS44NzMiIC8+CiAgPHJlY3QgeD0iMTAiIHk9IjgiIHdpZHRoPSI0IiBoZWlnaHQ9IjgiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/drone\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDrone = /*#__PURE__*/(() => {\n  class LucideDrone extends LucideIconBase {\n    static icon = {\n      name: 'drone',\n      size: 24,\n      node: [['path', {\n        d: 'M10 10 7 7',\n        key: 'zp14k7'\n      }], ['path', {\n        d: 'm10 14-3 3',\n        key: '1jrpxk'\n      }], ['path', {\n        d: 'm14 10 3-3',\n        key: '7tigam'\n      }], ['path', {\n        d: 'm14 14 3 3',\n        key: 'vm23p3'\n      }], ['path', {\n        d: 'M14.205 4.139a4 4 0 1 1 5.439 5.863',\n        key: '1tm5p2'\n      }], ['path', {\n        d: 'M19.637 14a4 4 0 1 1-5.432 5.868',\n        key: '16egi2'\n      }], ['path', {\n        d: 'M4.367 10a4 4 0 1 1 5.438-5.862',\n        key: '1wta6a'\n      }], ['path', {\n        d: 'M9.795 19.862a4 4 0 1 1-5.429-5.873',\n        key: 'q39hpv'\n      }], ['rect', {\n        x: '10',\n        y: '8',\n        width: '4',\n        height: '8',\n        rx: '1',\n        key: 'phrjt1'\n      }]]\n    };\n    icon = signal(LucideDrone.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDrone_BaseFactory;\n      return function LucideDrone_Factory(__ngFactoryType__) {\n        return (ɵLucideDrone_BaseFactory || (ɵLucideDrone_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDrone)))(__ngFactoryType__ || LucideDrone);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDrone,\n      selectors: [[\"svg\", \"lucideDrone\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c548,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDrone_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDrone_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDrone;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name DropletOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTguNzE1IDEzLjE4NkMxOC4yOSAxMS44NTggMTcuMzg0IDEwLjYwNyAxNiA5LjVjLTItMS42LTMuNS00LTQtNi41YTEwLjcgMTAuNyAwIDAgMS0uODg0IDIuNTg2IiAvPgogIDxwYXRoIGQ9Im0yIDIgMjAgMjAiIC8+CiAgPHBhdGggZD0iTTguNzk1IDguNzk3QTExIDExIDAgMCAxIDggOS41QzYgMTEuMSA1IDEzIDUgMTVhNyA3IDAgMCAwIDEzLjIyMiAzLjIwOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/droplet-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDropletOff = /*#__PURE__*/(() => {\n  class LucideDropletOff extends LucideIconBase {\n    static icon = {\n      name: 'droplet-off',\n      size: 24,\n      node: [['path', {\n        d: 'M18.715 13.186C18.29 11.858 17.384 10.607 16 9.5c-2-1.6-3.5-4-4-6.5a10.7 10.7 0 0 1-.884 2.586',\n        key: '8suz2t'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M8.795 8.797A11 11 0 0 1 8 9.5C6 11.1 5 13 5 15a7 7 0 0 0 13.222 3.208',\n        key: '19dw9m'\n      }]]\n    };\n    icon = signal(LucideDropletOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDropletOff_BaseFactory;\n      return function LucideDropletOff_Factory(__ngFactoryType__) {\n        return (ɵLucideDropletOff_BaseFactory || (ɵLucideDropletOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDropletOff)))(__ngFactoryType__ || LucideDropletOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDropletOff,\n      selectors: [[\"svg\", \"lucideDropletOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c549,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDropletOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDropletOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDropletOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Droplet\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJhNyA3IDAgMCAwIDctN2MwLTItMS0zLjktMy01LjVzLTMuNS00LTQtNi41Yy0uNSAyLjUtMiA0LjktNCA2LjVDNiAxMS4xIDUgMTMgNSAxNWE3IDcgMCAwIDAgNyA3eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/droplet\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDroplet = /*#__PURE__*/(() => {\n  class LucideDroplet extends LucideIconBase {\n    static icon = {\n      name: 'droplet',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z',\n        key: 'c7niix'\n      }]]\n    };\n    icon = signal(LucideDroplet.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDroplet_BaseFactory;\n      return function LucideDroplet_Factory(__ngFactoryType__) {\n        return (ɵLucideDroplet_BaseFactory || (ɵLucideDroplet_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDroplet)))(__ngFactoryType__ || LucideDroplet);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDroplet,\n      selectors: [[\"svg\", \"lucideDroplet\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c550,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDroplet_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDroplet_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDroplet;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Droplets\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAxNi4zYzIuMiAwIDQtMS44MyA0LTQuMDUgMC0xLjE2LS41Ny0yLjI2LTEuNzEtMy4xOVM3LjI5IDYuNzUgNyA1LjNjLS4yOSAxLjQ1LTEuMTQgMi44NC0yLjI5IDMuNzZTMyAxMS4xIDMgMTIuMjVjMCAyLjIyIDEuOCA0LjA1IDQgNC4wNXoiIC8+CiAgPHBhdGggZD0iTTEyLjU2IDYuNkExMC45NyAxMC45NyAwIDAgMCAxNCAzLjAyYy41IDIuNSAyIDQuOSA0IDYuNXMzIDMuNSAzIDUuNWE2Ljk4IDYuOTggMCAwIDEtMTEuOTEgNC45NyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/droplets\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDroplets = /*#__PURE__*/(() => {\n  class LucideDroplets extends LucideIconBase {\n    static icon = {\n      name: 'droplets',\n      size: 24,\n      node: [['path', {\n        d: 'M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z',\n        key: '1ptgy4'\n      }], ['path', {\n        d: 'M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97',\n        key: '1sl1rz'\n      }]]\n    };\n    icon = signal(LucideDroplets.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDroplets_BaseFactory;\n      return function LucideDroplets_Factory(__ngFactoryType__) {\n        return (ɵLucideDroplets_BaseFactory || (ɵLucideDroplets_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDroplets)))(__ngFactoryType__ || LucideDroplets);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDroplets,\n      selectors: [[\"svg\", \"lucideDroplets\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c551,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDroplets_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDroplets_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDroplets;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Drum\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMiAyIDggOCIgLz4KICA8cGF0aCBkPSJtMjIgMi04IDgiIC8+CiAgPGVsbGlwc2UgY3g9IjEyIiBjeT0iOSIgcng9IjEwIiByeT0iNSIgLz4KICA8cGF0aCBkPSJNNyAxMy40djcuOSIgLz4KICA8cGF0aCBkPSJNMTIgMTR2OCIgLz4KICA8cGF0aCBkPSJNMTcgMTMuNHY3LjkiIC8+CiAgPHBhdGggZD0iTTIgOXY4YTEwIDUgMCAwIDAgMjAgMFY5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/drum\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDrum = /*#__PURE__*/(() => {\n  class LucideDrum extends LucideIconBase {\n    static icon = {\n      name: 'drum',\n      size: 24,\n      node: [['path', {\n        d: 'm2 2 8 8',\n        key: '1v6059'\n      }], ['path', {\n        d: 'm22 2-8 8',\n        key: '173r8a'\n      }], ['ellipse', {\n        cx: '12',\n        cy: '9',\n        rx: '10',\n        ry: '5',\n        key: 'liohsx'\n      }], ['path', {\n        d: 'M7 13.4v7.9',\n        key: '1yi6u9'\n      }], ['path', {\n        d: 'M12 14v8',\n        key: '1tn2tj'\n      }], ['path', {\n        d: 'M17 13.4v7.9',\n        key: 'eqz2v3'\n      }], ['path', {\n        d: 'M2 9v8a10 5 0 0 0 20 0V9',\n        key: '1750ul'\n      }]]\n    };\n    icon = signal(LucideDrum.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDrum_BaseFactory;\n      return function LucideDrum_Factory(__ngFactoryType__) {\n        return (ɵLucideDrum_BaseFactory || (ɵLucideDrum_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDrum)))(__ngFactoryType__ || LucideDrum);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDrum,\n      selectors: [[\"svg\", \"lucideDrum\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c552,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDrum_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDrum_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDrum;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Diff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxNCIgLz4KICA8cGF0aCBkPSJNNSAxMGgxNCIgLz4KICA8cGF0aCBkPSJNNSAyMWgxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/diff\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDiff = /*#__PURE__*/(() => {\n  class LucideDiff extends LucideIconBase {\n    static icon = {\n      name: 'diff',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3v14',\n        key: '7cf3v8'\n      }], ['path', {\n        d: 'M5 10h14',\n        key: 'elsbfy'\n      }], ['path', {\n        d: 'M5 21h14',\n        key: '11awu3'\n      }]]\n    };\n    icon = signal(LucideDiff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDiff_BaseFactory;\n      return function LucideDiff_Factory(__ngFactoryType__) {\n        return (ɵLucideDiff_BaseFactory || (ɵLucideDiff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDiff)))(__ngFactoryType__ || LucideDiff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDiff,\n      selectors: [[\"svg\", \"lucideDiff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c553,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDiff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDiff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDiff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Drumstick\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuNCAxNS42M2E3Ljg3NSA2IDEzNSAxIDEgNi4yMy02LjIzIDQuNSAzLjQzIDEzNSAwIDAtNi4yMyA2LjIzIiAvPgogIDxwYXRoIGQ9Im04LjI5IDEyLjcxLTIuNiAyLjZhMi41IDIuNSAwIDEgMC0xLjY1IDQuNjVBMi41IDIuNSAwIDEgMCA4LjcgMTguM2wyLjU5LTIuNTkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/drumstick\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDrumstick = /*#__PURE__*/(() => {\n  class LucideDrumstick extends LucideIconBase {\n    static icon = {\n      name: 'drumstick',\n      size: 24,\n      node: [['path', {\n        d: 'M15.4 15.63a7.875 6 135 1 1 6.23-6.23 4.5 3.43 135 0 0-6.23 6.23',\n        key: '1dtqwm'\n      }], ['path', {\n        d: 'm8.29 12.71-2.6 2.6a2.5 2.5 0 1 0-1.65 4.65A2.5 2.5 0 1 0 8.7 18.3l2.59-2.59',\n        key: '1oq1fw'\n      }]]\n    };\n    icon = signal(LucideDrumstick.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDrumstick_BaseFactory;\n      return function LucideDrumstick_Factory(__ngFactoryType__) {\n        return (ɵLucideDrumstick_BaseFactory || (ɵLucideDrumstick_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDrumstick)))(__ngFactoryType__ || LucideDrumstick);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDrumstick,\n      selectors: [[\"svg\", \"lucideDrumstick\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c554,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDrumstick_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDrumstick_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDrumstick;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Dumbbell\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcuNTk2IDEyLjc2OGEyIDIgMCAxIDAgMi44MjktMi44MjlsLTEuNzY4LTEuNzY3YTIgMiAwIDAgMCAyLjgyOC0yLjgyOWwtMi44MjgtMi44MjhhMiAyIDAgMCAwLTIuODI5IDIuODI4bC0xLjc2Ny0xLjc2OGEyIDIgMCAxIDAtMi44MjkgMi44Mjl6IiAvPgogIDxwYXRoIGQ9Im0yLjUgMjEuNSAxLjQtMS40IiAvPgogIDxwYXRoIGQ9Im0yMC4xIDMuOSAxLjQtMS40IiAvPgogIDxwYXRoIGQ9Ik01LjM0MyAyMS40ODVhMiAyIDAgMSAwIDIuODI5LTIuODI4bDEuNzY3IDEuNzY4YTIgMiAwIDEgMCAyLjgyOS0yLjgyOWwtNi4zNjQtNi4zNjRhMiAyIDAgMSAwLTIuODI5IDIuODI5bDEuNzY4IDEuNzY3YTIgMiAwIDAgMC0yLjgyOCAyLjgyOXoiIC8+CiAgPHBhdGggZD0ibTkuNiAxNC40IDQuOC00LjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/dumbbell\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideDumbbell = /*#__PURE__*/(() => {\n  class LucideDumbbell extends LucideIconBase {\n    static icon = {\n      name: 'dumbbell',\n      size: 24,\n      node: [['path', {\n        d: 'M17.596 12.768a2 2 0 1 0 2.829-2.829l-1.768-1.767a2 2 0 0 0 2.828-2.829l-2.828-2.828a2 2 0 0 0-2.829 2.828l-1.767-1.768a2 2 0 1 0-2.829 2.829z',\n        key: '9m4mmf'\n      }], ['path', {\n        d: 'm2.5 21.5 1.4-1.4',\n        key: '17g3f0'\n      }], ['path', {\n        d: 'm20.1 3.9 1.4-1.4',\n        key: '1qn309'\n      }], ['path', {\n        d: 'M5.343 21.485a2 2 0 1 0 2.829-2.828l1.767 1.768a2 2 0 1 0 2.829-2.829l-6.364-6.364a2 2 0 1 0-2.829 2.829l1.768 1.767a2 2 0 0 0-2.828 2.829z',\n        key: '1t2c92'\n      }], ['path', {\n        d: 'm9.6 14.4 4.8-4.8',\n        key: '6umqxw'\n      }]]\n    };\n    icon = signal(LucideDumbbell.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDumbbell_BaseFactory;\n      return function LucideDumbbell_Factory(__ngFactoryType__) {\n        return (ɵLucideDumbbell_BaseFactory || (ɵLucideDumbbell_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDumbbell)))(__ngFactoryType__ || LucideDumbbell);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDumbbell,\n      selectors: [[\"svg\", \"lucideDumbbell\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c555,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDumbbell_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDumbbell_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDumbbell;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name EarOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAxOC41YTMuNSAzLjUgMCAxIDAgNyAwYzAtMS41Ny45Mi0yLjUyIDIuMDQtMy40NiIgLz4KICA8cGF0aCBkPSJNNiA4LjVjMC0uNzUuMTMtMS40Ny4zNi0yLjE0IiAvPgogIDxwYXRoIGQ9Ik04LjggMy4xNUE2LjUgNi41IDAgMCAxIDE5IDguNWMwIDEuNjMtLjQ0IDIuODEtMS4wOSAzLjc2IiAvPgogIDxwYXRoIGQ9Ik0xMi41IDZBMi41IDIuNSAwIDAgMSAxNSA4LjVNMTAgMTNhMiAyIDAgMCAwIDEuODItMS4xOCIgLz4KICA8bGluZSB4MT0iMiIgeDI9IjIyIiB5MT0iMiIgeTI9IjIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ear-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEarOff = /*#__PURE__*/(() => {\n  class LucideEarOff extends LucideIconBase {\n    static icon = {\n      name: 'ear-off',\n      size: 24,\n      node: [['path', {\n        d: 'M6 18.5a3.5 3.5 0 1 0 7 0c0-1.57.92-2.52 2.04-3.46',\n        key: '1qngmn'\n      }], ['path', {\n        d: 'M6 8.5c0-.75.13-1.47.36-2.14',\n        key: 'b06bma'\n      }], ['path', {\n        d: 'M8.8 3.15A6.5 6.5 0 0 1 19 8.5c0 1.63-.44 2.81-1.09 3.76',\n        key: 'g10hsz'\n      }], ['path', {\n        d: 'M12.5 6A2.5 2.5 0 0 1 15 8.5M10 13a2 2 0 0 0 1.82-1.18',\n        key: 'ygzou7'\n      }], ['line', {\n        x1: '2',\n        x2: '22',\n        y1: '2',\n        y2: '22',\n        key: 'a6p6uj'\n      }]]\n    };\n    icon = signal(LucideEarOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEarOff_BaseFactory;\n      return function LucideEarOff_Factory(__ngFactoryType__) {\n        return (ɵLucideEarOff_BaseFactory || (ɵLucideEarOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEarOff)))(__ngFactoryType__ || LucideEarOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEarOff,\n      selectors: [[\"svg\", \"lucideEarOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c556,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEarOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEarOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEarOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ear\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiA4LjVhNi41IDYuNSAwIDEgMSAxMyAwYzAgNi02IDYtNiAxMGEzLjUgMy41IDAgMSAxLTcgMCIgLz4KICA8cGF0aCBkPSJNMTUgOC41YTIuNSAyLjUgMCAwIDAtNSAwdjFhMiAyIDAgMSAxIDAgNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/ear\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEar = /*#__PURE__*/(() => {\n  class LucideEar extends LucideIconBase {\n    static icon = {\n      name: 'ear',\n      size: 24,\n      node: [['path', {\n        d: 'M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0',\n        key: '1dfaln'\n      }], ['path', {\n        d: 'M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4',\n        key: '1qnva7'\n      }]]\n    };\n    icon = signal(LucideEar.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEar_BaseFactory;\n      return function LucideEar_Factory(__ngFactoryType__) {\n        return (ɵLucideEar_BaseFactory || (ɵLucideEar_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEar)))(__ngFactoryType__ || LucideEar);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEar,\n      selectors: [[\"svg\", \"lucideEar\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c557,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEar_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEar_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEar;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Earth\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEuNTQgMTVIMTdhMiAyIDAgMCAwLTIgMnY0LjU0IiAvPgogIDxwYXRoIGQ9Ik03IDMuMzRWNWEzIDMgMCAwIDAgMyAzYTIgMiAwIDAgMSAyIDJjMCAxLjEuOSAyIDIgMmEyIDIgMCAwIDAgMi0yYzAtMS4xLjktMiAyLTJoMy4xNyIgLz4KICA8cGF0aCBkPSJNMTEgMjEuOTVWMThhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDEtMi0ydi0xYTIgMiAwIDAgMC0yLTJIMi4wNSIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/earth\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEarth = /*#__PURE__*/(() => {\n  class LucideEarth extends LucideIconBase {\n    static icon = {\n      name: 'earth',\n      size: 24,\n      node: [['path', {\n        d: 'M21.54 15H17a2 2 0 0 0-2 2v4.54',\n        key: '1djwo0'\n      }], ['path', {\n        d: 'M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17',\n        key: '1tzkfa'\n      }], ['path', {\n        d: 'M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05',\n        key: '14pb5j'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }]],\n      aliases: ['globe-2']\n    };\n    icon = signal(LucideEarth.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEarth_BaseFactory;\n      return function LucideEarth_Factory(__ngFactoryType__) {\n        return (ɵLucideEarth_BaseFactory || (ɵLucideEarth_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEarth)))(__ngFactoryType__ || LucideEarth);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEarth,\n      selectors: [[\"svg\", \"lucideEarth\", \"\"], [\"svg\", \"lucideGlobe2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c558,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEarth_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEarth_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEarth;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideEarth\n */\nconst LucideGlobe2 = LucideEarth;\n\n/**\n * @component @name Eclipse\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgMmE3IDcgMCAxIDAgMTAgMTAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/eclipse\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEclipse = /*#__PURE__*/(() => {\n  class LucideEclipse extends LucideIconBase {\n    static icon = {\n      name: 'eclipse',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 2a7 7 0 1 0 10 10',\n        key: '1yuj32'\n      }]]\n    };\n    icon = signal(LucideEclipse.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEclipse_BaseFactory;\n      return function LucideEclipse_Factory(__ngFactoryType__) {\n        return (ɵLucideEclipse_BaseFactory || (ɵLucideEclipse_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEclipse)))(__ngFactoryType__ || LucideEclipse);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEclipse,\n      selectors: [[\"svg\", \"lucideEclipse\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c559,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEclipse_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEclipse_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEclipse;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name EarthLock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAzLjM0VjVhMyAzIDAgMCAwIDMgMyIgLz4KICA8cGF0aCBkPSJNMTEgMjEuOTVWMThhMiAyIDAgMCAwLTItMiAyIDIgMCAwIDEtMi0ydi0xYTIgMiAwIDAgMC0yLTJIMi4wNSIgLz4KICA8cGF0aCBkPSJNMjEuNTQgMTVIMTdhMiAyIDAgMCAwLTIgMnY0LjU0IiAvPgogIDxwYXRoIGQ9Ik0xMiAyYTEwIDEwIDAgMSAwIDkuNTQgMTMiIC8+CiAgPHBhdGggZD0iTTIwIDZWNGEyIDIgMCAxIDAtNCAwdjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjgiIGhlaWdodD0iNSIgeD0iMTQiIHk9IjYiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/earth-lock\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEarthLock = /*#__PURE__*/(() => {\n  class LucideEarthLock extends LucideIconBase {\n    static icon = {\n      name: 'earth-lock',\n      size: 24,\n      node: [['path', {\n        d: 'M7 3.34V5a3 3 0 0 0 3 3',\n        key: 'w732o8'\n      }], ['path', {\n        d: 'M11 21.95V18a2 2 0 0 0-2-2 2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05',\n        key: 'f02343'\n      }], ['path', {\n        d: 'M21.54 15H17a2 2 0 0 0-2 2v4.54',\n        key: '1djwo0'\n      }], ['path', {\n        d: 'M12 2a10 10 0 1 0 9.54 13',\n        key: 'zjsr6q'\n      }], ['path', {\n        d: 'M20 6V4a2 2 0 1 0-4 0v2',\n        key: '1of5e8'\n      }], ['rect', {\n        width: '8',\n        height: '5',\n        x: '14',\n        y: '6',\n        rx: '1',\n        key: '1fmf51'\n      }]]\n    };\n    icon = signal(LucideEarthLock.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEarthLock_BaseFactory;\n      return function LucideEarthLock_Factory(__ngFactoryType__) {\n        return (ɵLucideEarthLock_BaseFactory || (ɵLucideEarthLock_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEarthLock)))(__ngFactoryType__ || LucideEarthLock);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEarthLock,\n      selectors: [[\"svg\", \"lucideEarthLock\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c560,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEarthLock_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEarthLock_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEarthLock;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name EggFried\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMS41IiBjeT0iMTIuNSIgcj0iMy41IiAvPgogIDxwYXRoIGQ9Ik0zIDhjMC0zLjUgMi41LTYgNi41LTYgNSAwIDQuODMgMyA3LjUgNXM1IDIgNSA2YzAgNC41LTIuNSA2LjUtNyA2LjUtMi41IDAtMi41IDIuNS02IDIuNXMtNy0yLTctNS41YzAtMyAxLjUtMyAxLjUtNUMzLjUgMTAgMyA5IDMgOFoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/egg-fried\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEggFried = /*#__PURE__*/(() => {\n  class LucideEggFried extends LucideIconBase {\n    static icon = {\n      name: 'egg-fried',\n      size: 24,\n      node: [['circle', {\n        cx: '11.5',\n        cy: '12.5',\n        r: '3.5',\n        key: '1cl1mi'\n      }], ['path', {\n        d: 'M3 8c0-3.5 2.5-6 6.5-6 5 0 4.83 3 7.5 5s5 2 5 6c0 4.5-2.5 6.5-7 6.5-2.5 0-2.5 2.5-6 2.5s-7-2-7-5.5c0-3 1.5-3 1.5-5C3.5 10 3 9 3 8Z',\n        key: '165ef9'\n      }]]\n    };\n    icon = signal(LucideEggFried.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEggFried_BaseFactory;\n      return function LucideEggFried_Factory(__ngFactoryType__) {\n        return (ɵLucideEggFried_BaseFactory || (ɵLucideEggFried_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEggFried)))(__ngFactoryType__ || LucideEggFried);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEggFried,\n      selectors: [[\"svg\", \"lucideEggFried\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c561,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEggFried_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEggFried_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEggFried;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name EggOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik0yMCAxNC4zNDdWMTRjMC02LTQtMTItOC0xMi0xLjA3OCAwLTIuMTU3LjQzNi0zLjE1NyAxLjE5IiAvPgogIDxwYXRoIGQ9Ik02LjIwNiA2LjIxQzQuODcxIDguNCA0IDExLjIgNCAxNGE4IDggMCAwIDAgMTQuNTY4IDQuNTY4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/egg-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEggOff = /*#__PURE__*/(() => {\n  class LucideEggOff extends LucideIconBase {\n    static icon = {\n      name: 'egg-off',\n      size: 24,\n      node: [['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M20 14.347V14c0-6-4-12-8-12-1.078 0-2.157.436-3.157 1.19',\n        key: '13g2jy'\n      }], ['path', {\n        d: 'M6.206 6.21C4.871 8.4 4 11.2 4 14a8 8 0 0 0 14.568 4.568',\n        key: '1581id'\n      }]]\n    };\n    icon = signal(LucideEggOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEggOff_BaseFactory;\n      return function LucideEggOff_Factory(__ngFactoryType__) {\n        return (ɵLucideEggOff_BaseFactory || (ɵLucideEggOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEggOff)))(__ngFactoryType__ || LucideEggOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEggOff,\n      selectors: [[\"svg\", \"lucideEggOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c562,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEggOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEggOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEggOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ellipse\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8ZWxsaXBzZSBjeD0iMTIiIGN5PSIxMiIgcng9IjEwIiByeT0iNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/ellipse\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEllipse = /*#__PURE__*/(() => {\n  class LucideEllipse extends LucideIconBase {\n    static icon = {\n      name: 'ellipse',\n      size: 24,\n      node: [['ellipse', {\n        cx: '12',\n        cy: '12',\n        rx: '10',\n        ry: '6',\n        key: 'swdkt4'\n      }]]\n    };\n    icon = signal(LucideEllipse.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEllipse_BaseFactory;\n      return function LucideEllipse_Factory(__ngFactoryType__) {\n        return (ɵLucideEllipse_BaseFactory || (ɵLucideEllipse_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEllipse)))(__ngFactoryType__ || LucideEllipse);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEllipse,\n      selectors: [[\"svg\", \"lucideEllipse\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c563,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEllipse_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEllipse_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEllipse;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Egg\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMkM4IDIgNCA4IDQgMTRhOCA4IDAgMCAwIDE2IDBjMC02LTQtMTItOC0xMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/egg\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEgg = /*#__PURE__*/(() => {\n  class LucideEgg extends LucideIconBase {\n    static icon = {\n      name: 'egg',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2C8 2 4 8 4 14a8 8 0 0 0 16 0c0-6-4-12-8-12',\n        key: '1le142'\n      }]]\n    };\n    icon = signal(LucideEgg.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEgg_BaseFactory;\n      return function LucideEgg_Factory(__ngFactoryType__) {\n        return (ɵLucideEgg_BaseFactory || (ɵLucideEgg_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEgg)))(__ngFactoryType__ || LucideEgg);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEgg,\n      selectors: [[\"svg\", \"lucideEgg\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c564,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEgg_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEgg_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEgg;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name EllipsisVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iNSIgcj0iMSIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE5IiByPSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ellipsis-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEllipsisVertical = /*#__PURE__*/(() => {\n  class LucideEllipsisVertical extends LucideIconBase {\n    static icon = {\n      name: 'ellipsis-vertical',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '1',\n        key: '41hilf'\n      }], ['circle', {\n        cx: '12',\n        cy: '5',\n        r: '1',\n        key: 'gxeob9'\n      }], ['circle', {\n        cx: '12',\n        cy: '19',\n        r: '1',\n        key: 'lyex9k'\n      }]],\n      aliases: ['more-vertical']\n    };\n    icon = signal(LucideEllipsisVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEllipsisVertical_BaseFactory;\n      return function LucideEllipsisVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideEllipsisVertical_BaseFactory || (ɵLucideEllipsisVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEllipsisVertical)))(__ngFactoryType__ || LucideEllipsisVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEllipsisVertical,\n      selectors: [[\"svg\", \"lucideEllipsisVertical\", \"\"], [\"svg\", \"lucideMoreVertical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c565,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEllipsisVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEllipsisVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEllipsisVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideEllipsisVertical\n */\nconst LucideMoreVertical = LucideEllipsisVertical;\n\n/**\n * @component @name EqualApproximately\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxNWE2LjUgNi41IDAgMCAxIDcgMCA2LjUgNi41IDAgMCAwIDcgMCIgLz4KICA8cGF0aCBkPSJNNSA5YTYuNSA2LjUgMCAwIDEgNyAwIDYuNSA2LjUgMCAwIDAgNyAwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/equal-approximately\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEqualApproximately = /*#__PURE__*/(() => {\n  class LucideEqualApproximately extends LucideIconBase {\n    static icon = {\n      name: 'equal-approximately',\n      size: 24,\n      node: [['path', {\n        d: 'M5 15a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0',\n        key: 'yrdkhy'\n      }], ['path', {\n        d: 'M5 9a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0',\n        key: 'gzkvyz'\n      }]]\n    };\n    icon = signal(LucideEqualApproximately.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEqualApproximately_BaseFactory;\n      return function LucideEqualApproximately_Factory(__ngFactoryType__) {\n        return (ɵLucideEqualApproximately_BaseFactory || (ɵLucideEqualApproximately_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEqualApproximately)))(__ngFactoryType__ || LucideEqualApproximately);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEqualApproximately,\n      selectors: [[\"svg\", \"lucideEqualApproximately\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c566,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEqualApproximately_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEqualApproximately_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEqualApproximately;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ellipsis\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxIiAvPgogIDxjaXJjbGUgY3g9IjE5IiBjeT0iMTIiIHI9IjEiIC8+CiAgPGNpcmNsZSBjeD0iNSIgY3k9IjEyIiByPSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ellipsis\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEllipsis = /*#__PURE__*/(() => {\n  class LucideEllipsis extends LucideIconBase {\n    static icon = {\n      name: 'ellipsis',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '1',\n        key: '41hilf'\n      }], ['circle', {\n        cx: '19',\n        cy: '12',\n        r: '1',\n        key: '1wjl8i'\n      }], ['circle', {\n        cx: '5',\n        cy: '12',\n        r: '1',\n        key: '1pcz8c'\n      }]],\n      aliases: ['more-horizontal']\n    };\n    icon = signal(LucideEllipsis.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEllipsis_BaseFactory;\n      return function LucideEllipsis_Factory(__ngFactoryType__) {\n        return (ɵLucideEllipsis_BaseFactory || (ɵLucideEllipsis_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEllipsis)))(__ngFactoryType__ || LucideEllipsis);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEllipsis,\n      selectors: [[\"svg\", \"lucideEllipsis\", \"\"], [\"svg\", \"lucideMoreHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c567,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEllipsis_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEllipsis_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEllipsis;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideEllipsis\n */\nconst LucideMoreHorizontal = LucideEllipsis;\n\n/**\n * @component @name Eraser\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMjFIOGEyIDIgMCAwIDEtMS40Mi0uNTg3bC0zLjk5NC0zLjk5OWEyIDIgMCAwIDEgMC0yLjgyOGwxMC0xMGEyIDIgMCAwIDEgMi44MjkgMGw1Ljk5OSA2YTIgMiAwIDAgMSAwIDIuODI4TDEyLjgzNCAyMSIgLz4KICA8cGF0aCBkPSJtNS4wODIgMTEuMDkgOC44MjggOC44MjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/eraser\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEraser = /*#__PURE__*/(() => {\n  class LucideEraser extends LucideIconBase {\n    static icon = {\n      name: 'eraser',\n      size: 24,\n      node: [['path', {\n        d: 'M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21',\n        key: 'g5wo59'\n      }], ['path', {\n        d: 'm5.082 11.09 8.828 8.828',\n        key: '1wx5vj'\n      }]]\n    };\n    icon = signal(LucideEraser.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEraser_BaseFactory;\n      return function LucideEraser_Factory(__ngFactoryType__) {\n        return (ɵLucideEraser_BaseFactory || (ɵLucideEraser_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEraser)))(__ngFactoryType__ || LucideEraser);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEraser,\n      selectors: [[\"svg\", \"lucideEraser\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c568,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEraser_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEraser_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEraser;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name EqualNot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iNSIgeDI9IjE5IiB5MT0iOSIgeTI9IjkiIC8+CiAgPGxpbmUgeDE9IjUiIHgyPSIxOSIgeTE9IjE1IiB5Mj0iMTUiIC8+CiAgPGxpbmUgeDE9IjE5IiB4Mj0iNSIgeTE9IjUiIHkyPSIxOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/equal-not\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEqualNot = /*#__PURE__*/(() => {\n  class LucideEqualNot extends LucideIconBase {\n    static icon = {\n      name: 'equal-not',\n      size: 24,\n      node: [['line', {\n        x1: '5',\n        x2: '19',\n        y1: '9',\n        y2: '9',\n        key: '1nwqeh'\n      }], ['line', {\n        x1: '5',\n        x2: '19',\n        y1: '15',\n        y2: '15',\n        key: 'g8yjpy'\n      }], ['line', {\n        x1: '19',\n        x2: '5',\n        y1: '5',\n        y2: '19',\n        key: '1x9vlm'\n      }]]\n    };\n    icon = signal(LucideEqualNot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEqualNot_BaseFactory;\n      return function LucideEqualNot_Factory(__ngFactoryType__) {\n        return (ɵLucideEqualNot_BaseFactory || (ɵLucideEqualNot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEqualNot)))(__ngFactoryType__ || LucideEqualNot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEqualNot,\n      selectors: [[\"svg\", \"lucideEqualNot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c569,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEqualNot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEqualNot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEqualNot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Equal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iNSIgeDI9IjE5IiB5MT0iOSIgeTI9IjkiIC8+CiAgPGxpbmUgeDE9IjUiIHgyPSIxOSIgeTE9IjE1IiB5Mj0iMTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/equal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEqual = /*#__PURE__*/(() => {\n  class LucideEqual extends LucideIconBase {\n    static icon = {\n      name: 'equal',\n      size: 24,\n      node: [['line', {\n        x1: '5',\n        x2: '19',\n        y1: '9',\n        y2: '9',\n        key: '1nwqeh'\n      }], ['line', {\n        x1: '5',\n        x2: '19',\n        y1: '15',\n        y2: '15',\n        key: 'g8yjpy'\n      }]]\n    };\n    icon = signal(LucideEqual.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEqual_BaseFactory;\n      return function LucideEqual_Factory(__ngFactoryType__) {\n        return (ɵLucideEqual_BaseFactory || (ɵLucideEqual_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEqual)))(__ngFactoryType__ || LucideEqual);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEqual,\n      selectors: [[\"svg\", \"lucideEqual\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c570,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEqual_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEqual_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEqual;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name EthernetPort\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMjAgMy0zaDJhMiAyIDAgMCAwIDItMlY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjlhMiAyIDAgMCAwIDIgMmgybDMgM3oiIC8+CiAgPHBhdGggZD0iTTYgOHYxIiAvPgogIDxwYXRoIGQ9Ik0xMCA4djEiIC8+CiAgPHBhdGggZD0iTTE0IDh2MSIgLz4KICA8cGF0aCBkPSJNMTggOHYxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ethernet-port\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEthernetPort = /*#__PURE__*/(() => {\n  class LucideEthernetPort extends LucideIconBase {\n    static icon = {\n      name: 'ethernet-port',\n      size: 24,\n      node: [['path', {\n        d: 'm15 20 3-3h2a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h2l3 3z',\n        key: 'rbahqx'\n      }], ['path', {\n        d: 'M6 8v1',\n        key: '1636ez'\n      }], ['path', {\n        d: 'M10 8v1',\n        key: '1talb4'\n      }], ['path', {\n        d: 'M14 8v1',\n        key: '1rsfgr'\n      }], ['path', {\n        d: 'M18 8v1',\n        key: 'gnkwox'\n      }]]\n    };\n    icon = signal(LucideEthernetPort.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEthernetPort_BaseFactory;\n      return function LucideEthernetPort_Factory(__ngFactoryType__) {\n        return (ɵLucideEthernetPort_BaseFactory || (ɵLucideEthernetPort_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEthernetPort)))(__ngFactoryType__ || LucideEthernetPort);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEthernetPort,\n      selectors: [[\"svg\", \"lucideEthernetPort\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c571,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEthernetPort_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEthernetPort_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEthernetPort;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name EvCharger\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMTNoMmEyIDIgMCAwIDEgMiAydjJhMiAyIDAgMCAwIDQgMHYtNi45OThhMiAyIDAgMCAwLS41OS0xLjQyTDE4IDUiIC8+CiAgPHBhdGggZD0iTTE0IDIxVjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTYiIC8+CiAgPHBhdGggZD0iTTIgMjFoMTMiIC8+CiAgPHBhdGggZD0iTTMgN2gxMSIgLz4KICA8cGF0aCBkPSJtOSAxMS0yIDNoM2wtMiAzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ev-charger\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEvCharger = /*#__PURE__*/(() => {\n  class LucideEvCharger extends LucideIconBase {\n    static icon = {\n      name: 'ev-charger',\n      size: 24,\n      node: [['path', {\n        d: 'M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 4 0v-6.998a2 2 0 0 0-.59-1.42L18 5',\n        key: '1wtuz0'\n      }], ['path', {\n        d: 'M14 21V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v16',\n        key: 'e09ifn'\n      }], ['path', {\n        d: 'M2 21h13',\n        key: '1x0fut'\n      }], ['path', {\n        d: 'M3 7h11',\n        key: '19efrr'\n      }], ['path', {\n        d: 'm9 11-2 3h3l-2 3',\n        key: 'lmzxi1'\n      }]]\n    };\n    icon = signal(LucideEvCharger.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEvCharger_BaseFactory;\n      return function LucideEvCharger_Factory(__ngFactoryType__) {\n        return (ɵLucideEvCharger_BaseFactory || (ɵLucideEvCharger_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEvCharger)))(__ngFactoryType__ || LucideEvCharger);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEvCharger,\n      selectors: [[\"svg\", \"lucideEvCharger\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c572,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEvCharger_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEvCharger_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEvCharger;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Euro\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMGgxMiIgLz4KICA8cGF0aCBkPSJNNCAxNGg5IiAvPgogIDxwYXRoIGQ9Ik0xOSA2YTcuNyA3LjcgMCAwIDAtNS4yLTJBNy45IDcuOSAwIDAgMCA2IDEyYzAgNC40IDMuNSA4IDcuOCA4IDIgMCAzLjgtLjggNS4yLTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/euro\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEuro = /*#__PURE__*/(() => {\n  class LucideEuro extends LucideIconBase {\n    static icon = {\n      name: 'euro',\n      size: 24,\n      node: [['path', {\n        d: 'M4 10h12',\n        key: '1y6xl8'\n      }], ['path', {\n        d: 'M4 14h9',\n        key: '1loblj'\n      }], ['path', {\n        d: 'M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2',\n        key: '1j6lzo'\n      }]]\n    };\n    icon = signal(LucideEuro.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEuro_BaseFactory;\n      return function LucideEuro_Factory(__ngFactoryType__) {\n        return (ɵLucideEuro_BaseFactory || (ɵLucideEuro_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEuro)))(__ngFactoryType__ || LucideEuro);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEuro,\n      selectors: [[\"svg\", \"lucideEuro\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c573,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEuro_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEuro_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEuro;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Expand\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMTUgNiA2IiAvPgogIDxwYXRoIGQ9Im0xNSA5IDYtNiIgLz4KICA8cGF0aCBkPSJNMjEgMTZ2NWgtNSIgLz4KICA8cGF0aCBkPSJNMjEgOFYzaC01IiAvPgogIDxwYXRoIGQ9Ik0zIDE2djVoNSIgLz4KICA8cGF0aCBkPSJtMyAyMSA2LTYiIC8+CiAgPHBhdGggZD0iTTMgOFYzaDUiIC8+CiAgPHBhdGggZD0iTTkgOSAzIDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/expand\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideExpand = /*#__PURE__*/(() => {\n  class LucideExpand extends LucideIconBase {\n    static icon = {\n      name: 'expand',\n      size: 24,\n      node: [['path', {\n        d: 'm15 15 6 6',\n        key: '1s409w'\n      }], ['path', {\n        d: 'm15 9 6-6',\n        key: 'ko1vev'\n      }], ['path', {\n        d: 'M21 16v5h-5',\n        key: '1ck2sf'\n      }], ['path', {\n        d: 'M21 8V3h-5',\n        key: '1qoq8a'\n      }], ['path', {\n        d: 'M3 16v5h5',\n        key: '1t08am'\n      }], ['path', {\n        d: 'm3 21 6-6',\n        key: 'wwnumi'\n      }], ['path', {\n        d: 'M3 8V3h5',\n        key: '1ln10m'\n      }], ['path', {\n        d: 'M9 9 3 3',\n        key: 'v551iv'\n      }]]\n    };\n    icon = signal(LucideExpand.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideExpand_BaseFactory;\n      return function LucideExpand_Factory(__ngFactoryType__) {\n        return (ɵLucideExpand_BaseFactory || (ɵLucideExpand_BaseFactory = i0.ɵɵgetInheritedFactory(LucideExpand)))(__ngFactoryType__ || LucideExpand);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideExpand,\n      selectors: [[\"svg\", \"lucideExpand\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c574,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideExpand_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideExpand_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideExpand;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ExternalLink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgM2g2djYiIC8+CiAgPHBhdGggZD0iTTEwIDE0IDIxIDMiIC8+CiAgPHBhdGggZD0iTTE4IDEzdjZhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/external-link\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideExternalLink = /*#__PURE__*/(() => {\n  class LucideExternalLink extends LucideIconBase {\n    static icon = {\n      name: 'external-link',\n      size: 24,\n      node: [['path', {\n        d: 'M15 3h6v6',\n        key: '1q9fwt'\n      }], ['path', {\n        d: 'M10 14 21 3',\n        key: 'gplh6r'\n      }], ['path', {\n        d: 'M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6',\n        key: 'a6xqqp'\n      }]]\n    };\n    icon = signal(LucideExternalLink.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideExternalLink_BaseFactory;\n      return function LucideExternalLink_Factory(__ngFactoryType__) {\n        return (ɵLucideExternalLink_BaseFactory || (ɵLucideExternalLink_BaseFactory = i0.ɵɵgetInheritedFactory(LucideExternalLink)))(__ngFactoryType__ || LucideExternalLink);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideExternalLink,\n      selectors: [[\"svg\", \"lucideExternalLink\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c575,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideExternalLink_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideExternalLink_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideExternalLink;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name EyeOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNzMzIDUuMDc2YTEwLjc0NCAxMC43NDQgMCAwIDEgMTEuMjA1IDYuNTc1IDEgMSAwIDAgMSAwIC42OTYgMTAuNzQ3IDEwLjc0NyAwIDAgMS0xLjQ0NCAyLjQ5IiAvPgogIDxwYXRoIGQ9Ik0xNC4wODQgMTQuMTU4YTMgMyAwIDAgMS00LjI0Mi00LjI0MiIgLz4KICA8cGF0aCBkPSJNMTcuNDc5IDE3LjQ5OWExMC43NSAxMC43NSAwIDAgMS0xNS40MTctNS4xNTEgMSAxIDAgMCAxIDAtLjY5NiAxMC43NSAxMC43NSAwIDAgMSA0LjQ0Ni01LjE0MyIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/eye-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEyeOff = /*#__PURE__*/(() => {\n  class LucideEyeOff extends LucideIconBase {\n    static icon = {\n      name: 'eye-off',\n      size: 24,\n      node: [['path', {\n        d: 'M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49',\n        key: 'ct8e1f'\n      }], ['path', {\n        d: 'M14.084 14.158a3 3 0 0 1-4.242-4.242',\n        key: '151rxh'\n      }], ['path', {\n        d: 'M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143',\n        key: '13bj9a'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucideEyeOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEyeOff_BaseFactory;\n      return function LucideEyeOff_Factory(__ngFactoryType__) {\n        return (ɵLucideEyeOff_BaseFactory || (ɵLucideEyeOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEyeOff)))(__ngFactoryType__ || LucideEyeOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEyeOff,\n      selectors: [[\"svg\", \"lucideEyeOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c576,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEyeOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEyeOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEyeOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name EyeClosed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMTgtLjcyMi0zLjI1IiAvPgogIDxwYXRoIGQ9Ik0yIDhhMTAuNjQ1IDEwLjY0NSAwIDAgMCAyMCAwIiAvPgogIDxwYXRoIGQ9Im0yMCAxNS0xLjcyNi0yLjA1IiAvPgogIDxwYXRoIGQ9Im00IDE1IDEuNzI2LTIuMDUiIC8+CiAgPHBhdGggZD0ibTkgMTggLjcyMi0zLjI1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/eye-closed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEyeClosed = /*#__PURE__*/(() => {\n  class LucideEyeClosed extends LucideIconBase {\n    static icon = {\n      name: 'eye-closed',\n      size: 24,\n      node: [['path', {\n        d: 'm15 18-.722-3.25',\n        key: '1j64jw'\n      }], ['path', {\n        d: 'M2 8a10.645 10.645 0 0 0 20 0',\n        key: '1e7gxb'\n      }], ['path', {\n        d: 'm20 15-1.726-2.05',\n        key: '1cnuld'\n      }], ['path', {\n        d: 'm4 15 1.726-2.05',\n        key: '1dsqqd'\n      }], ['path', {\n        d: 'm9 18 .722-3.25',\n        key: 'ypw2yx'\n      }]]\n    };\n    icon = signal(LucideEyeClosed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEyeClosed_BaseFactory;\n      return function LucideEyeClosed_Factory(__ngFactoryType__) {\n        return (ɵLucideEyeClosed_BaseFactory || (ɵLucideEyeClosed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEyeClosed)))(__ngFactoryType__ || LucideEyeClosed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEyeClosed,\n      selectors: [[\"svg\", \"lucideEyeClosed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c577,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEyeClosed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEyeClosed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEyeClosed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Factory\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTZoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNiAxNmguMDEiIC8+CiAgPHBhdGggZD0iTTMgMTlhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0yVjguNWEuNS41IDAgMCAwLS43NjktLjQyMmwtNC40NjIgMi44NDRBLjUuNSAwIDAgMSAxNSAxMC41di0yYS41LjUgMCAwIDAtLjc2OS0uNDIyTDkuNzcgMTAuOTIyQS41LjUgMCAwIDEgOSAxMC41VjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ6IiAvPgogIDxwYXRoIGQ9Ik04IDE2aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/factory\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFactory = /*#__PURE__*/(() => {\n  class LucideFactory extends LucideIconBase {\n    static icon = {\n      name: 'factory',\n      size: 24,\n      node: [['path', {\n        d: 'M12 16h.01',\n        key: '1drbdi'\n      }], ['path', {\n        d: 'M16 16h.01',\n        key: '1f9h7w'\n      }], ['path', {\n        d: 'M3 19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a.5.5 0 0 0-.769-.422l-4.462 2.844A.5.5 0 0 1 15 10.5v-2a.5.5 0 0 0-.769-.422L9.77 10.922A.5.5 0 0 1 9 10.5V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2z',\n        key: '1iv0i2'\n      }], ['path', {\n        d: 'M8 16h.01',\n        key: '18s6g9'\n      }]]\n    };\n    icon = signal(LucideFactory.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFactory_BaseFactory;\n      return function LucideFactory_Factory(__ngFactoryType__) {\n        return (ɵLucideFactory_BaseFactory || (ɵLucideFactory_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFactory)))(__ngFactoryType__ || LucideFactory);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFactory,\n      selectors: [[\"svg\", \"lucideFactory\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c578,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFactory_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFactory_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFactory;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Eye\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi4wNjIgMTIuMzQ4YTEgMSAwIDAgMSAwLS42OTYgMTAuNzUgMTAuNzUgMCAwIDEgMTkuODc2IDAgMSAxIDAgMCAxIDAgLjY5NiAxMC43NSAxMC43NSAwIDAgMS0xOS44NzYgMCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/eye\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideEye = /*#__PURE__*/(() => {\n  class LucideEye extends LucideIconBase {\n    static icon = {\n      name: 'eye',\n      size: 24,\n      node: [['path', {\n        d: 'M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0',\n        key: '1nclc0'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '3',\n        key: '1v7zrd'\n      }]]\n    };\n    icon = signal(LucideEye.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideEye_BaseFactory;\n      return function LucideEye_Factory(__ngFactoryType__) {\n        return (ɵLucideEye_BaseFactory || (ɵLucideEye_BaseFactory = i0.ɵɵgetInheritedFactory(LucideEye)))(__ngFactoryType__ || LucideEye);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideEye,\n      selectors: [[\"svg\", \"lucideEye\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c579,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideEye_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideEye_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideEye;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Fan\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuODI3IDE2LjM3OWE2LjA4MiA2LjA4MiAwIDAgMS04LjYxOC03LjAwMmw1LjQxMiAxLjQ1YTYuMDgyIDYuMDgyIDAgMCAxIDcuMDAyLTguNjE4bC0xLjQ1IDUuNDEyYTYuMDgyIDYuMDgyIDAgMCAxIDguNjE4IDcuMDAybC01LjQxMi0xLjQ1YTYuMDgyIDYuMDgyIDAgMCAxLTcuMDAyIDguNjE4bDEuNDUtNS40MTJaIiAvPgogIDxwYXRoIGQ9Ik0xMiAxMnYuMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/fan\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFan = /*#__PURE__*/(() => {\n  class LucideFan extends LucideIconBase {\n    static icon = {\n      name: 'fan',\n      size: 24,\n      node: [['path', {\n        d: 'M10.827 16.379a6.082 6.082 0 0 1-8.618-7.002l5.412 1.45a6.082 6.082 0 0 1 7.002-8.618l-1.45 5.412a6.082 6.082 0 0 1 8.618 7.002l-5.412-1.45a6.082 6.082 0 0 1-7.002 8.618l1.45-5.412Z',\n        key: '484a7f'\n      }], ['path', {\n        d: 'M12 12v.01',\n        key: 'u5ubse'\n      }]]\n    };\n    icon = signal(LucideFan.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFan_BaseFactory;\n      return function LucideFan_Factory(__ngFactoryType__) {\n        return (ɵLucideFan_BaseFactory || (ɵLucideFan_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFan)))(__ngFactoryType__ || LucideFan);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFan,\n      selectors: [[\"svg\", \"lucideFan\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c580,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFan_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFan_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFan;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FastForward\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNmEyIDIgMCAwIDEgMy40MTQtMS40MTRsNiA2YTIgMiAwIDAgMSAwIDIuODI4bC02IDZBMiAyIDAgMCAxIDEyIDE4eiIgLz4KICA8cGF0aCBkPSJNMiA2YTIgMiAwIDAgMSAzLjQxNC0xLjQxNGw2IDZhMiAyIDAgMCAxIDAgMi44MjhsLTYgNkEyIDIgMCAwIDEgMiAxOHoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/fast-forward\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFastForward = /*#__PURE__*/(() => {\n  class LucideFastForward extends LucideIconBase {\n    static icon = {\n      name: 'fast-forward',\n      size: 24,\n      node: [['path', {\n        d: 'M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z',\n        key: 'b19h5q'\n      }], ['path', {\n        d: 'M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z',\n        key: 'h7h5ge'\n      }]]\n    };\n    icon = signal(LucideFastForward.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFastForward_BaseFactory;\n      return function LucideFastForward_Factory(__ngFactoryType__) {\n        return (ɵLucideFastForward_BaseFactory || (ɵLucideFastForward_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFastForward)))(__ngFactoryType__ || LucideFastForward);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFastForward,\n      selectors: [[\"svg\", \"lucideFastForward\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c581,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFastForward_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFastForward_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFastForward;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Feather\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuNjcgMTlhMiAyIDAgMCAwIDEuNDE2LS41ODhsNi4xNTQtNi4xNzJhNiA2IDAgMCAwLTguNDktOC40OUw1LjU4NiA5LjkxNEEyIDIgMCAwIDAgNSAxMS4zMjhWMThhMSAxIDAgMCAwIDEgMXoiIC8+CiAgPHBhdGggZD0iTTE2IDggMiAyMiIgLz4KICA8cGF0aCBkPSJNMTcuNSAxNUg5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/feather\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFeather = /*#__PURE__*/(() => {\n  class LucideFeather extends LucideIconBase {\n    static icon = {\n      name: 'feather',\n      size: 24,\n      node: [['path', {\n        d: 'M12.67 19a2 2 0 0 0 1.416-.588l6.154-6.172a6 6 0 0 0-8.49-8.49L5.586 9.914A2 2 0 0 0 5 11.328V18a1 1 0 0 0 1 1z',\n        key: '18jl4k'\n      }], ['path', {\n        d: 'M16 8 2 22',\n        key: 'vp34q'\n      }], ['path', {\n        d: 'M17.5 15H9',\n        key: '1oz8nu'\n      }]]\n    };\n    icon = signal(LucideFeather.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFeather_BaseFactory;\n      return function LucideFeather_Factory(__ngFactoryType__) {\n        return (ɵLucideFeather_BaseFactory || (ɵLucideFeather_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFeather)))(__ngFactoryType__ || LucideFeather);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFeather,\n      selectors: [[\"svg\", \"lucideFeather\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c582,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFeather_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFeather_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFeather;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Fence\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAzIDIgNXYxNWMwIC42LjQgMSAxIDFoMmMuNiAwIDEtLjQgMS0xVjVaIiAvPgogIDxwYXRoIGQ9Ik02IDhoNCIgLz4KICA8cGF0aCBkPSJNNiAxOGg0IiAvPgogIDxwYXRoIGQ9Im0xMiAzLTIgMnYxNWMwIC42LjQgMSAxIDFoMmMuNiAwIDEtLjQgMS0xVjVaIiAvPgogIDxwYXRoIGQ9Ik0xNCA4aDQiIC8+CiAgPHBhdGggZD0iTTE0IDE4aDQiIC8+CiAgPHBhdGggZD0ibTIwIDMtMiAydjE1YzAgLjYuNCAxIDEgMWgyYy42IDAgMS0uNCAxLTFWNVoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/fence\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFence = /*#__PURE__*/(() => {\n  class LucideFence extends LucideIconBase {\n    static icon = {\n      name: 'fence',\n      size: 24,\n      node: [['path', {\n        d: 'M4 3 2 5v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z',\n        key: '1n2rgs'\n      }], ['path', {\n        d: 'M6 8h4',\n        key: 'utf9t1'\n      }], ['path', {\n        d: 'M6 18h4',\n        key: '12yh4b'\n      }], ['path', {\n        d: 'm12 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z',\n        key: '3ha7mj'\n      }], ['path', {\n        d: 'M14 8h4',\n        key: '1r8wg2'\n      }], ['path', {\n        d: 'M14 18h4',\n        key: '1t3kbu'\n      }], ['path', {\n        d: 'm20 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z',\n        key: 'dfd4e2'\n      }]]\n    };\n    icon = signal(LucideFence.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFence_BaseFactory;\n      return function LucideFence_Factory(__ngFactoryType__) {\n        return (ɵLucideFence_BaseFactory || (ɵLucideFence_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFence)))(__ngFactoryType__ || LucideFence);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFence,\n      selectors: [[\"svg\", \"lucideFence\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c583,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFence_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFence_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFence;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FerrisWheel\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIiAvPgogIDxwYXRoIGQ9Ik0xMiAydjQiIC8+CiAgPHBhdGggZD0ibTYuOCAxNS0zLjUgMiIgLz4KICA8cGF0aCBkPSJtMjAuNyA3LTMuNSAyIiAvPgogIDxwYXRoIGQ9Ik02LjggOSAzLjMgNyIgLz4KICA8cGF0aCBkPSJtMjAuNyAxNy0zLjUtMiIgLz4KICA8cGF0aCBkPSJtOSAyMiAzLTggMyA4IiAvPgogIDxwYXRoIGQ9Ik04IDIyaDgiIC8+CiAgPHBhdGggZD0iTTE4IDE4LjdhOSA5IDAgMSAwLTEyIDAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/ferris-wheel\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFerrisWheel = /*#__PURE__*/(() => {\n  class LucideFerrisWheel extends LucideIconBase {\n    static icon = {\n      name: 'ferris-wheel',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '2',\n        key: '1c9p78'\n      }], ['path', {\n        d: 'M12 2v4',\n        key: '3427ic'\n      }], ['path', {\n        d: 'm6.8 15-3.5 2',\n        key: 'hjy98k'\n      }], ['path', {\n        d: 'm20.7 7-3.5 2',\n        key: 'f08gto'\n      }], ['path', {\n        d: 'M6.8 9 3.3 7',\n        key: '1aevh4'\n      }], ['path', {\n        d: 'm20.7 17-3.5-2',\n        key: '1liqo3'\n      }], ['path', {\n        d: 'm9 22 3-8 3 8',\n        key: 'wees03'\n      }], ['path', {\n        d: 'M8 22h8',\n        key: 'rmew8v'\n      }], ['path', {\n        d: 'M18 18.7a9 9 0 1 0-12 0',\n        key: 'dhzg4g'\n      }]]\n    };\n    icon = signal(LucideFerrisWheel.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFerrisWheel_BaseFactory;\n      return function LucideFerrisWheel_Factory(__ngFactoryType__) {\n        return (ɵLucideFerrisWheel_BaseFactory || (ɵLucideFerrisWheel_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFerrisWheel)))(__ngFactoryType__ || LucideFerrisWheel);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFerrisWheel,\n      selectors: [[\"svg\", \"lucideFerrisWheel\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c584,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFerrisWheel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFerrisWheel_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFerrisWheel;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileArchive\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuNjU5IDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTEuNSIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNOCAxMnYtMSIgLz4KICA8cGF0aCBkPSJNOCAxOHYtMiIgLz4KICA8cGF0aCBkPSJNOCA3VjYiIC8+CiAgPGNpcmNsZSBjeD0iOCIgY3k9IjIwIiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-archive\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileArchive = /*#__PURE__*/(() => {\n  class LucideFileArchive extends LucideIconBase {\n    static icon = {\n      name: 'file-archive',\n      size: 24,\n      node: [['path', {\n        d: 'M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5',\n        key: '4pqfef'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M8 12v-1',\n        key: '1ej8lb'\n      }], ['path', {\n        d: 'M8 18v-2',\n        key: 'qcmpov'\n      }], ['path', {\n        d: 'M8 7V6',\n        key: '1nbb54'\n      }], ['circle', {\n        cx: '8',\n        cy: '20',\n        r: '2',\n        key: 'ckkr5m'\n      }]]\n    };\n    icon = signal(LucideFileArchive.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileArchive_BaseFactory;\n      return function LucideFileArchive_Factory(__ngFactoryType__) {\n        return (ɵLucideFileArchive_BaseFactory || (ɵLucideFileArchive_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileArchive)))(__ngFactoryType__ || LucideFileArchive);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileArchive,\n      selectors: [[\"svg\", \"lucideFileArchive\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c585,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileArchive_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileArchive_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileArchive;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileBadge\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMjJoNWEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjMuMyIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJtNy42OSAxNi40NzkgMS4yOSA0Ljg4YS41LjUgMCAwIDEtLjY5OC41OTFsLTEuODQzLS44NDlhMSAxIDAgMCAwLS44NzkuMDAxbC0xLjg0Ni44NWEuNS41IDAgMCAxLS42OTItLjU5M2wxLjI5LTQuODgiIC8+CiAgPGNpcmNsZSBjeD0iNiIgY3k9IjE0IiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-badge\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileBadge = /*#__PURE__*/(() => {\n  class LucideFileBadge extends LucideIconBase {\n    static icon = {\n      name: 'file-badge',\n      size: 24,\n      node: [['path', {\n        d: 'M13 22h5a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.3',\n        key: 'cvl1xm'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'm7.69 16.479 1.29 4.88a.5.5 0 0 1-.698.591l-1.843-.849a1 1 0 0 0-.879.001l-1.846.85a.5.5 0 0 1-.692-.593l1.29-4.88',\n        key: '1ff7gj'\n      }], ['circle', {\n        cx: '6',\n        cy: '14',\n        r: '3',\n        key: 'a1xfv6'\n      }]],\n      aliases: ['file-badge-2']\n    };\n    icon = signal(LucideFileBadge.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileBadge_BaseFactory;\n      return function LucideFileBadge_Factory(__ngFactoryType__) {\n        return (ɵLucideFileBadge_BaseFactory || (ɵLucideFileBadge_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileBadge)))(__ngFactoryType__ || LucideFileBadge);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileBadge,\n      selectors: [[\"svg\", \"lucideFileBadge\", \"\"], [\"svg\", \"lucideFileBadge2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c586,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileBadge_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileBadge_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileBadge;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileBadge\n */\nconst LucideFileBadge2 = LucideFileBadge;\n\n/**\n * @component @name FileAxis3d\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJtOCAxOCA0LTQiIC8+CiAgPHBhdGggZD0iTTggMTB2OGg4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-axis-3d\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileAxis3d = /*#__PURE__*/(() => {\n  class LucideFileAxis3d extends LucideIconBase {\n    static icon = {\n      name: 'file-axis-3d',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'm8 18 4-4',\n        key: '12zab0'\n      }], ['path', {\n        d: 'M8 10v8h8',\n        key: 'tlaukw'\n      }]],\n      aliases: ['file-axis-3-d']\n    };\n    icon = signal(LucideFileAxis3d.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileAxis3d_BaseFactory;\n      return function LucideFileAxis3d_Factory(__ngFactoryType__) {\n        return (ɵLucideFileAxis3d_BaseFactory || (ɵLucideFileAxis3d_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileAxis3d)))(__ngFactoryType__ || LucideFileAxis3d);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileAxis3d,\n      selectors: [[\"svg\", \"lucideFileAxis3d\", \"\"], [\"svg\", \"lucideFileAxis3D\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c587,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileAxis3d_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileAxis3d_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileAxis3d;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileAxis3d\n */\nconst LucideFileAxis3D = LucideFileAxis3d;\n\n/**\n * @component @name FileBox\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQuNSAyMkgxOGEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjMuOCIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTEuNyAxNC4yIDcgMTdsLTQuNy0yLjgiIC8+CiAgPHBhdGggZD0iTTMgMTMuMWEyIDIgMCAwIDAtLjk5OSAxLjc2djMuMjRhMiAyIDAgMCAwIC45NjkgMS43OEw2IDIxLjdhMiAyIDAgMCAwIDIuMDMuMDFMMTEgMTkuOWEyIDIgMCAwIDAgMS0xLjc2VjE0LjlhMiAyIDAgMCAwLS45Ny0xLjc4TDggMTEuM2EyIDIgMCAwIDAtMi4wMy0uMDF6IiAvPgogIDxwYXRoIGQ9Ik03IDE3djUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/file-box\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileBox = /*#__PURE__*/(() => {\n  class LucideFileBox extends LucideIconBase {\n    static icon = {\n      name: 'file-box',\n      size: 24,\n      node: [['path', {\n        d: 'M14.5 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.8',\n        key: '1kchwa'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M11.7 14.2 7 17l-4.7-2.8',\n        key: '1yk8tc'\n      }], ['path', {\n        d: 'M3 13.1a2 2 0 0 0-.999 1.76v3.24a2 2 0 0 0 .969 1.78L6 21.7a2 2 0 0 0 2.03.01L11 19.9a2 2 0 0 0 1-1.76V14.9a2 2 0 0 0-.97-1.78L8 11.3a2 2 0 0 0-2.03-.01z',\n        key: '19flxy'\n      }], ['path', {\n        d: 'M7 17v5',\n        key: '1yj1jh'\n      }]]\n    };\n    icon = signal(LucideFileBox.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileBox_BaseFactory;\n      return function LucideFileBox_Factory(__ngFactoryType__) {\n        return (ɵLucideFileBox_BaseFactory || (ɵLucideFileBox_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileBox)))(__ngFactoryType__ || LucideFileBox);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileBox,\n      selectors: [[\"svg\", \"lucideFileBox\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c588,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileBox_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileBox_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileBox;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileBracesCorner\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMjJoNGEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjYiIC8+CiAgPHBhdGggZD0iTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUiIC8+CiAgPHBhdGggZD0iTTUgMTRhMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMS0xIDEgMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMCAxIDEiIC8+CiAgPHBhdGggZD0iTTkgMjJhMSAxIDAgMCAwIDEtMXYtMmExIDEgMCAwIDEgMS0xIDEgMSAwIDAgMS0xLTF2LTJhMSAxIDAgMCAwLTEtMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-braces-corner\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileBracesCorner = /*#__PURE__*/(() => {\n  class LucideFileBracesCorner extends LucideIconBase {\n    static icon = {\n      name: 'file-braces-corner',\n      size: 24,\n      node: [['path', {\n        d: 'M14 22h4a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6',\n        key: '14cnrg'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M5 14a1 1 0 0 0-1 1v2a1 1 0 0 1-1 1 1 1 0 0 1 1 1v2a1 1 0 0 0 1 1',\n        key: 'sr0ebq'\n      }], ['path', {\n        d: 'M9 22a1 1 0 0 0 1-1v-2a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-2a1 1 0 0 0-1-1',\n        key: 'w793db'\n      }]],\n      aliases: ['file-json-2']\n    };\n    icon = signal(LucideFileBracesCorner.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileBracesCorner_BaseFactory;\n      return function LucideFileBracesCorner_Factory(__ngFactoryType__) {\n        return (ɵLucideFileBracesCorner_BaseFactory || (ɵLucideFileBracesCorner_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileBracesCorner)))(__ngFactoryType__ || LucideFileBracesCorner);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileBracesCorner,\n      selectors: [[\"svg\", \"lucideFileBracesCorner\", \"\"], [\"svg\", \"lucideFileJson2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c589,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileBracesCorner_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileBracesCorner_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileBracesCorner;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileBracesCorner\n */\nconst LucideFileJson2 = LucideFileBracesCorner;\n\n/**\n * @component @name FileBraces\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTAgMTJhMSAxIDAgMCAwLTEgMXYxYTEgMSAwIDAgMS0xIDEgMSAxIDAgMCAxIDEgMXYxYTEgMSAwIDAgMCAxIDEiIC8+CiAgPHBhdGggZD0iTTE0IDE4YTEgMSAwIDAgMCAxLTF2LTFhMSAxIDAgMCAxIDEtMSAxIDEgMCAwIDEtMS0xdi0xYTEgMSAwIDAgMC0xLTEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/file-braces\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileBraces = /*#__PURE__*/(() => {\n  class LucideFileBraces extends LucideIconBase {\n    static icon = {\n      name: 'file-braces',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1',\n        key: '1oajmo'\n      }], ['path', {\n        d: 'M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1',\n        key: 'mpwhp6'\n      }]],\n      aliases: ['file-json']\n    };\n    icon = signal(LucideFileBraces.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileBraces_BaseFactory;\n      return function LucideFileBraces_Factory(__ngFactoryType__) {\n        return (ɵLucideFileBraces_BaseFactory || (ɵLucideFileBraces_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileBraces)))(__ngFactoryType__ || LucideFileBraces);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileBraces,\n      selectors: [[\"svg\", \"lucideFileBraces\", \"\"], [\"svg\", \"lucideFileJson\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c590,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileBraces_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileBraces_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileBraces;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileBraces\n */\nconst LucideFileJson = LucideFileBraces;\n\n/**\n * @component @name FileChartColumnIncreasing\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNOCAxOHYtMiIgLz4KICA8cGF0aCBkPSJNMTIgMTh2LTQiIC8+CiAgPHBhdGggZD0iTTE2IDE4di02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-chart-column-increasing\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileChartColumnIncreasing = /*#__PURE__*/(() => {\n  class LucideFileChartColumnIncreasing extends LucideIconBase {\n    static icon = {\n      name: 'file-chart-column-increasing',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M8 18v-2',\n        key: 'qcmpov'\n      }], ['path', {\n        d: 'M12 18v-4',\n        key: 'q1q25u'\n      }], ['path', {\n        d: 'M16 18v-6',\n        key: '15y0np'\n      }]],\n      aliases: ['file-bar-chart']\n    };\n    icon = signal(LucideFileChartColumnIncreasing.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileChartColumnIncreasing_BaseFactory;\n      return function LucideFileChartColumnIncreasing_Factory(__ngFactoryType__) {\n        return (ɵLucideFileChartColumnIncreasing_BaseFactory || (ɵLucideFileChartColumnIncreasing_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileChartColumnIncreasing)))(__ngFactoryType__ || LucideFileChartColumnIncreasing);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileChartColumnIncreasing,\n      selectors: [[\"svg\", \"lucideFileChartColumnIncreasing\", \"\"], [\"svg\", \"lucideFileBarChart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c591,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileChartColumnIncreasing_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileChartColumnIncreasing_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileChartColumnIncreasing;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileChartColumnIncreasing\n */\nconst LucideFileBarChart = LucideFileChartColumnIncreasing;\n\n/**\n * @component @name FileChartColumn\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNOCAxOHYtMSIgLz4KICA8cGF0aCBkPSJNMTIgMTh2LTYiIC8+CiAgPHBhdGggZD0iTTE2IDE4di0zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-chart-column\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileChartColumn = /*#__PURE__*/(() => {\n  class LucideFileChartColumn extends LucideIconBase {\n    static icon = {\n      name: 'file-chart-column',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M8 18v-1',\n        key: 'zg0ygc'\n      }], ['path', {\n        d: 'M12 18v-6',\n        key: '17g6i2'\n      }], ['path', {\n        d: 'M16 18v-3',\n        key: 'j5jt4h'\n      }]],\n      aliases: ['file-bar-chart-2']\n    };\n    icon = signal(LucideFileChartColumn.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileChartColumn_BaseFactory;\n      return function LucideFileChartColumn_Factory(__ngFactoryType__) {\n        return (ɵLucideFileChartColumn_BaseFactory || (ɵLucideFileChartColumn_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileChartColumn)))(__ngFactoryType__ || LucideFileChartColumn);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileChartColumn,\n      selectors: [[\"svg\", \"lucideFileChartColumn\", \"\"], [\"svg\", \"lucideFileBarChart2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c592,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileChartColumn_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileChartColumn_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileChartColumn;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileChartColumn\n */\nconst LucideFileBarChart2 = LucideFileChartColumn;\n\n/**\n * @component @name FileChartLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJtMTYgMTMtMy41IDMuNS0yLTJMOCAxNyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-chart-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileChartLine = /*#__PURE__*/(() => {\n  class LucideFileChartLine extends LucideIconBase {\n    static icon = {\n      name: 'file-chart-line',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'm16 13-3.5 3.5-2-2L8 17',\n        key: 'zz7yod'\n      }]],\n      aliases: ['file-line-chart']\n    };\n    icon = signal(LucideFileChartLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileChartLine_BaseFactory;\n      return function LucideFileChartLine_Factory(__ngFactoryType__) {\n        return (ɵLucideFileChartLine_BaseFactory || (ɵLucideFileChartLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileChartLine)))(__ngFactoryType__ || LucideFileChartLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileChartLine,\n      selectors: [[\"svg\", \"lucideFileChartLine\", \"\"], [\"svg\", \"lucideFileLineChart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c593,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileChartLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileChartLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileChartLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileChartLine\n */\nconst LucideFileLineChart = LucideFileChartLine;\n\n/**\n * @component @name FileChartPie\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuOTQxIDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDRsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2My41MTIiIC8+CiAgPHBhdGggZD0iTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUiIC8+CiAgPHBhdGggZD0iTTQuMDE3IDExLjUxMmE2IDYgMCAxIDAgOC40NjYgOC40NzUiIC8+CiAgPHBhdGggZD0iTTkgMTZhMSAxIDAgMCAxLTEtMXYtNGMwLS41NTIuNDUtMS4wMDguOTk1LS45MTdhNiA2IDAgMCAxIDQuOTIyIDQuOTIyYy4wOTEuNTQ0LS4zNjUuOTk1LS45MTcuOTk1eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-chart-pie\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileChartPie = /*#__PURE__*/(() => {\n  class LucideFileChartPie extends LucideIconBase {\n    static icon = {\n      name: 'file-chart-pie',\n      size: 24,\n      node: [['path', {\n        d: 'M15.941 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.704l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.512',\n        key: '13hoie'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M4.017 11.512a6 6 0 1 0 8.466 8.475',\n        key: 's6vs5t'\n      }], ['path', {\n        d: 'M9 16a1 1 0 0 1-1-1v-4c0-.552.45-1.008.995-.917a6 6 0 0 1 4.922 4.922c.091.544-.365.995-.917.995z',\n        key: '1dl6s6'\n      }]],\n      aliases: ['file-pie-chart']\n    };\n    icon = signal(LucideFileChartPie.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileChartPie_BaseFactory;\n      return function LucideFileChartPie_Factory(__ngFactoryType__) {\n        return (ɵLucideFileChartPie_BaseFactory || (ɵLucideFileChartPie_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileChartPie)))(__ngFactoryType__ || LucideFileChartPie);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileChartPie,\n      selectors: [[\"svg\", \"lucideFileChartPie\", \"\"], [\"svg\", \"lucideFilePieChart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c594,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileChartPie_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileChartPie_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileChartPie;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileChartPie\n */\nconst LucideFilePieChart = LucideFileChartPie;\n\n/**\n * @component @name FileCheckCorner\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNSAyMkg2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djYiIC8+CiAgPHBhdGggZD0iTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUiIC8+CiAgPHBhdGggZD0ibTE0IDIwIDIgMiA0LTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/file-check-corner\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileCheckCorner = /*#__PURE__*/(() => {\n  class LucideFileCheckCorner extends LucideIconBase {\n    static icon = {\n      name: 'file-check-corner',\n      size: 24,\n      node: [['path', {\n        d: 'M10.5 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v6',\n        key: 'g5mvt7'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'm14 20 2 2 4-4',\n        key: '15kota'\n      }]],\n      aliases: ['file-check-2']\n    };\n    icon = signal(LucideFileCheckCorner.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileCheckCorner_BaseFactory;\n      return function LucideFileCheckCorner_Factory(__ngFactoryType__) {\n        return (ɵLucideFileCheckCorner_BaseFactory || (ɵLucideFileCheckCorner_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileCheckCorner)))(__ngFactoryType__ || LucideFileCheckCorner);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileCheckCorner,\n      selectors: [[\"svg\", \"lucideFileCheckCorner\", \"\"], [\"svg\", \"lucideFileCheck2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c595,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileCheckCorner_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileCheckCorner_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileCheckCorner;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileCheckCorner\n */\nconst LucideFileCheck2 = LucideFileCheckCorner;\n\n/**\n * @component @name FileCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJtOSAxNSAyIDIgNC00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileCheck = /*#__PURE__*/(() => {\n  class LucideFileCheck extends LucideIconBase {\n    static icon = {\n      name: 'file-check',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'm9 15 2 2 4-4',\n        key: '1grp1n'\n      }]]\n    };\n    icon = signal(LucideFileCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileCheck_BaseFactory;\n      return function LucideFileCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideFileCheck_BaseFactory || (ɵLucideFileCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileCheck)))(__ngFactoryType__ || LucideFileCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileCheck,\n      selectors: [[\"svg\", \"lucideFileCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c596,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileClock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMjJoMmEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjIuODUiIC8+CiAgPHBhdGggZD0iTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUiIC8+CiAgPHBhdGggZD0iTTggMTR2Mi4ybDEuNiAxIiAvPgogIDxjaXJjbGUgY3g9IjgiIGN5PSIxNiIgcj0iNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-clock\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileClock = /*#__PURE__*/(() => {\n  class LucideFileClock extends LucideIconBase {\n    static icon = {\n      name: 'file-clock',\n      size: 24,\n      node: [['path', {\n        d: 'M16 22h2a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v2.85',\n        key: 'ryk6xj'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M8 14v2.2l1.6 1',\n        key: '6m4bie'\n      }], ['circle', {\n        cx: '8',\n        cy: '16',\n        r: '6',\n        key: '10v15b'\n      }]]\n    };\n    icon = signal(LucideFileClock.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileClock_BaseFactory;\n      return function LucideFileClock_Factory(__ngFactoryType__) {\n        return (ɵLucideFileClock_BaseFactory || (ɵLucideFileClock_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileClock)))(__ngFactoryType__ || LucideFileClock);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileClock,\n      selectors: [[\"svg\", \"lucideFileClock\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c597,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileClock_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileClock_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileClock;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileCodeCorner\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMi4xNVY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMmgtMy4zNSIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJtNSAxNi0zIDMgMyAzIiAvPgogIDxwYXRoIGQ9Im05IDIyIDMtMy0zLTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/file-code-corner\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileCodeCorner = /*#__PURE__*/(() => {\n  class LucideFileCodeCorner extends LucideIconBase {\n    static icon = {\n      name: 'file-code-corner',\n      size: 24,\n      node: [['path', {\n        d: 'M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35',\n        key: '1wthlu'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'm5 16-3 3 3 3',\n        key: '331omg'\n      }], ['path', {\n        d: 'm9 22 3-3-3-3',\n        key: 'lsp7cz'\n      }]],\n      aliases: ['file-code-2']\n    };\n    icon = signal(LucideFileCodeCorner.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileCodeCorner_BaseFactory;\n      return function LucideFileCodeCorner_Factory(__ngFactoryType__) {\n        return (ɵLucideFileCodeCorner_BaseFactory || (ɵLucideFileCodeCorner_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileCodeCorner)))(__ngFactoryType__ || LucideFileCodeCorner);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileCodeCorner,\n      selectors: [[\"svg\", \"lucideFileCodeCorner\", \"\"], [\"svg\", \"lucideFileCode2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c598,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileCodeCorner_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileCodeCorner_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileCodeCorner;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileCodeCorner\n */\nconst LucideFileCode2 = LucideFileCodeCorner;\n\n/**\n * @component @name FileCode\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTAgMTIuNSA4IDE1bDIgMi41IiAvPgogIDxwYXRoIGQ9Im0xNCAxMi41IDIgMi41LTIgMi41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-code\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileCode = /*#__PURE__*/(() => {\n  class LucideFileCode extends LucideIconBase {\n    static icon = {\n      name: 'file-code',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M10 12.5 8 15l2 2.5',\n        key: '1tg20x'\n      }], ['path', {\n        d: 'm14 12.5 2 2.5-2 2.5',\n        key: 'yinavb'\n      }]]\n    };\n    icon = signal(LucideFileCode.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileCode_BaseFactory;\n      return function LucideFileCode_Factory(__ngFactoryType__) {\n        return (ɵLucideFileCode_BaseFactory || (ɵLucideFileCode_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileCode)))(__ngFactoryType__ || LucideFileCode);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileCode,\n      selectors: [[\"svg\", \"lucideFileCode\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c599,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileCode_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileCode_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileCode;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileDiff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNOSAxMGg2IiAvPgogIDxwYXRoIGQ9Ik0xMiAxM1Y3IiAvPgogIDxwYXRoIGQ9Ik05IDE3aDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/file-diff\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileDiff = /*#__PURE__*/(() => {\n  class LucideFileDiff extends LucideIconBase {\n    static icon = {\n      name: 'file-diff',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M9 10h6',\n        key: '9gxzsh'\n      }], ['path', {\n        d: 'M12 13V7',\n        key: 'h0r20n'\n      }], ['path', {\n        d: 'M9 17h6',\n        key: 'r8uit2'\n      }]]\n    };\n    icon = signal(LucideFileDiff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileDiff_BaseFactory;\n      return function LucideFileDiff_Factory(__ngFactoryType__) {\n        return (ɵLucideFileDiff_BaseFactory || (ɵLucideFileDiff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileDiff)))(__ngFactoryType__ || LucideFileDiff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileDiff,\n      selectors: [[\"svg\", \"lucideFileDiff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c600,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileDiff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileDiff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileDiff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileCog\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgOGExIDEgMCAwIDEtMS0xVjJhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4eiIgLz4KICA8cGF0aCBkPSJNMjAgOHYxMmEyIDIgMCAwIDEtMiAyaC00LjE4MiIgLz4KICA8cGF0aCBkPSJtMy4zMDUgMTkuNTMuOTIzLS4zODIiIC8+CiAgPHBhdGggZD0iTTQgMTAuNTkyVjRhMiAyIDAgMCAxIDItMmg4IiAvPgogIDxwYXRoIGQ9Im00LjIyOCAxNi44NTItLjkyNC0uMzgzIiAvPgogIDxwYXRoIGQ9Im01Ljg1MiAxNS4yMjgtLjM4My0uOTIzIiAvPgogIDxwYXRoIGQ9Im01Ljg1MiAyMC43NzItLjM4My45MjQiIC8+CiAgPHBhdGggZD0ibTguMTQ4IDE1LjIyOC4zODMtLjkyMyIgLz4KICA8cGF0aCBkPSJtOC41MyAyMS42OTYtLjM4Mi0uOTI0IiAvPgogIDxwYXRoIGQ9Im05Ljc3MyAxNi44NTIuOTIyLS4zODMiIC8+CiAgPHBhdGggZD0ibTkuNzczIDE5LjE0OC45MjIuMzgzIiAvPgogIDxjaXJjbGUgY3g9IjciIGN5PSIxOCIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-cog\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileCog = /*#__PURE__*/(() => {\n  class LucideFileCog extends LucideIconBase {\n    static icon = {\n      name: 'file-cog',\n      size: 24,\n      node: [['path', {\n        d: 'M15 8a1 1 0 0 1-1-1V2a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8z',\n        key: '1ckgky'\n      }], ['path', {\n        d: 'M20 8v12a2 2 0 0 1-2 2h-4.182',\n        key: '1726p0'\n      }], ['path', {\n        d: 'm3.305 19.53.923-.382',\n        key: 'ao1pio'\n      }], ['path', {\n        d: 'M4 10.592V4a2 2 0 0 1 2-2h8',\n        key: '1foop0'\n      }], ['path', {\n        d: 'm4.228 16.852-.924-.383',\n        key: '1fv9zy'\n      }], ['path', {\n        d: 'm5.852 15.228-.383-.923',\n        key: '1a9hc2'\n      }], ['path', {\n        d: 'm5.852 20.772-.383.924',\n        key: '1sh9ke'\n      }], ['path', {\n        d: 'm8.148 15.228.383-.923',\n        key: '4yu6lf'\n      }], ['path', {\n        d: 'm8.53 21.696-.382-.924',\n        key: '18b0s9'\n      }], ['path', {\n        d: 'm9.773 16.852.922-.383',\n        key: 'ti6xop'\n      }], ['path', {\n        d: 'm9.773 19.148.922.383',\n        key: 'rws47d'\n      }], ['circle', {\n        cx: '7',\n        cy: '18',\n        r: '3',\n        key: 'lvkj7j'\n      }]],\n      aliases: ['file-cog-2']\n    };\n    icon = signal(LucideFileCog.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileCog_BaseFactory;\n      return function LucideFileCog_Factory(__ngFactoryType__) {\n        return (ɵLucideFileCog_BaseFactory || (ɵLucideFileCog_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileCog)))(__ngFactoryType__ || LucideFileCog);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileCog,\n      selectors: [[\"svg\", \"lucideFileCog\", \"\"], [\"svg\", \"lucideFileCog2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c601,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileCog_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileCog_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileCog;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileCog\n */\nconst LucideFileCog2 = LucideFileCog;\n\n/**\n * @component @name FileDigit\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTAgMTZoMnY2IiAvPgogIDxwYXRoIGQ9Ik0xMCAyMmg0IiAvPgogIDxyZWN0IHg9IjIiIHk9IjE2IiB3aWR0aD0iNCIgaGVpZ2h0PSI2IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-digit\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileDigit = /*#__PURE__*/(() => {\n  class LucideFileDigit extends LucideIconBase {\n    static icon = {\n      name: 'file-digit',\n      size: 24,\n      node: [['path', {\n        d: 'M4 12V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2',\n        key: 'jrl274'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M10 16h2v6',\n        key: '1bxocy'\n      }], ['path', {\n        d: 'M10 22h4',\n        key: 'ceow96'\n      }], ['rect', {\n        x: '2',\n        y: '16',\n        width: '4',\n        height: '6',\n        rx: '2',\n        key: 'r45zd0'\n      }]]\n    };\n    icon = signal(LucideFileDigit.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileDigit_BaseFactory;\n      return function LucideFileDigit_Factory(__ngFactoryType__) {\n        return (ɵLucideFileDigit_BaseFactory || (ɵLucideFileDigit_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileDigit)))(__ngFactoryType__ || LucideFileDigit);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileDigit,\n      selectors: [[\"svg\", \"lucideFileDigit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c602,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileDigit_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileDigit_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileDigit;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileExclamationPoint\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTIgOXY0IiAvPgogIDxwYXRoIGQ9Ik0xMiAxN2guMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/file-exclamation-point\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileExclamationPoint = /*#__PURE__*/(() => {\n  class LucideFileExclamationPoint extends LucideIconBase {\n    static icon = {\n      name: 'file-exclamation-point',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M12 9v4',\n        key: 'juzpu7'\n      }], ['path', {\n        d: 'M12 17h.01',\n        key: 'p32p05'\n      }]],\n      aliases: ['file-warning']\n    };\n    icon = signal(LucideFileExclamationPoint.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileExclamationPoint_BaseFactory;\n      return function LucideFileExclamationPoint_Factory(__ngFactoryType__) {\n        return (ɵLucideFileExclamationPoint_BaseFactory || (ɵLucideFileExclamationPoint_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileExclamationPoint)))(__ngFactoryType__ || LucideFileExclamationPoint);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileExclamationPoint,\n      selectors: [[\"svg\", \"lucideFileExclamationPoint\", \"\"], [\"svg\", \"lucideFileWarning\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c603,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileExclamationPoint_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileExclamationPoint_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileExclamationPoint;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileExclamationPoint\n */\nconst LucideFileWarning = LucideFileExclamationPoint;\n\n/**\n * @component @name FileDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTIgMTh2LTYiIC8+CiAgPHBhdGggZD0ibTkgMTUgMyAzIDMtMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileDown = /*#__PURE__*/(() => {\n  class LucideFileDown extends LucideIconBase {\n    static icon = {\n      name: 'file-down',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M12 18v-6',\n        key: '17g6i2'\n      }], ['path', {\n        d: 'm9 15 3 3 3-3',\n        key: '1npd3o'\n      }]]\n    };\n    icon = signal(LucideFileDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileDown_BaseFactory;\n      return function LucideFileDown_Factory(__ngFactoryType__) {\n        return (ɵLucideFileDown_BaseFactory || (ɵLucideFileDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileDown)))(__ngFactoryType__ || LucideFileDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileDown,\n      selectors: [[\"svg\", \"lucideFileDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c604,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileHeadphone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCA2LjgzNVY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMmgtLjM0MyIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMiAxOWEyIDIgMCAwIDEgNCAwdjFhMiAyIDAgMCAxLTQgMHYtNGE2IDYgMCAwIDEgMTIgMHY0YTIgMiAwIDAgMS00IDB2LTFhMiAyIDAgMCAxIDQgMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-headphone\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileHeadphone = /*#__PURE__*/(() => {\n  class LucideFileHeadphone extends LucideIconBase {\n    static icon = {\n      name: 'file-headphone',\n      size: 24,\n      node: [['path', {\n        d: 'M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343',\n        key: '1vfytu'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0',\n        key: '1etmh7'\n      }]],\n      aliases: ['file-audio', 'file-audio-2']\n    };\n    icon = signal(LucideFileHeadphone.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileHeadphone_BaseFactory;\n      return function LucideFileHeadphone_Factory(__ngFactoryType__) {\n        return (ɵLucideFileHeadphone_BaseFactory || (ɵLucideFileHeadphone_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileHeadphone)))(__ngFactoryType__ || LucideFileHeadphone);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileHeadphone,\n      selectors: [[\"svg\", \"lucideFileHeadphone\", \"\"], [\"svg\", \"lucideFileAudio\", \"\"], [\"svg\", \"lucideFileAudio2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c605,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileHeadphone_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileHeadphone_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileHeadphone;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileHeadphone\n */\nconst LucideFileAudio = LucideFileHeadphone;\n/**\n * @deprecated\n * @see LucideFileHeadphone\n */\nconst LucideFileAudio2 = LucideFileHeadphone;\n\n/**\n * @component @name FileHeart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMjJoNWEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjciIC8+CiAgPHBhdGggZD0iTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUiIC8+CiAgPHBhdGggZD0iTTMuNjIgMTguOEEyLjI1IDIuMjUgMCAxIDEgNyAxNS44MzZhMi4yNSAyLjI1IDAgMSAxIDMuMzggMi45NjZsLTIuNjI2IDIuODU2YTEgMSAwIDAgMS0xLjUwNyAweiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-heart\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileHeart = /*#__PURE__*/(() => {\n  class LucideFileHeart extends LucideIconBase {\n    static icon = {\n      name: 'file-heart',\n      size: 24,\n      node: [['path', {\n        d: 'M13 22h5a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v7',\n        key: 'oagw2b'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M3.62 18.8A2.25 2.25 0 1 1 7 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a1 1 0 0 1-1.507 0z',\n        key: 'rg3psg'\n      }]]\n    };\n    icon = signal(LucideFileHeart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileHeart_BaseFactory;\n      return function LucideFileHeart_Factory(__ngFactoryType__) {\n        return (ɵLucideFileHeart_BaseFactory || (ɵLucideFileHeart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileHeart)))(__ngFactoryType__ || LucideFileHeart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileHeart,\n      selectors: [[\"svg\", \"lucideFileHeart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c606,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileHeart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileHeart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileHeart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileKey\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNNCAxMnY2IiAvPgogIDxwYXRoIGQ9Ik00IDE0aDIiIC8+CiAgPHBhdGggZD0iTTkuNjUgMjJIMThhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnY0IiAvPgogIDxjaXJjbGUgY3g9IjQiIGN5PSIyMCIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-key\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileKey = /*#__PURE__*/(() => {\n  class LucideFileKey extends LucideIconBase {\n    static icon = {\n      name: 'file-key',\n      size: 24,\n      node: [['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M4 12v6',\n        key: 'bg1pfk'\n      }], ['path', {\n        d: 'M4 14h2',\n        key: '1sf9f8'\n      }], ['path', {\n        d: 'M9.65 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v4',\n        key: 'd56i0q'\n      }], ['circle', {\n        cx: '4',\n        cy: '20',\n        r: '2',\n        key: '6kqj1y'\n      }]],\n      aliases: ['file-key-2']\n    };\n    icon = signal(LucideFileKey.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileKey_BaseFactory;\n      return function LucideFileKey_Factory(__ngFactoryType__) {\n        return (ɵLucideFileKey_BaseFactory || (ɵLucideFileKey_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileKey)))(__ngFactoryType__ || LucideFileKey);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileKey,\n      selectors: [[\"svg\", \"lucideFileKey\", \"\"], [\"svg\", \"lucideFileKey2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c607,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileKey_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileKey_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileKey;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileKey\n */\nconst LucideFileKey2 = LucideFileKey;\n\n/**\n * @component @name FileLock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCA5LjhWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJoLTMiIC8+CiAgPHBhdGggZD0iTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUiIC8+CiAgPHBhdGggZD0iTTkgMTd2LTJhMiAyIDAgMCAwLTQgMHYyIiAvPgogIDxyZWN0IHdpZHRoPSI4IiBoZWlnaHQ9IjUiIHg9IjMiIHk9IjE3IiByeD0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-lock\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileLock = /*#__PURE__*/(() => {\n  class LucideFileLock extends LucideIconBase {\n    static icon = {\n      name: 'file-lock',\n      size: 24,\n      node: [['path', {\n        d: 'M4 9.8V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3',\n        key: '1432pc'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M9 17v-2a2 2 0 0 0-4 0v2',\n        key: '168m41'\n      }], ['rect', {\n        width: '8',\n        height: '5',\n        x: '3',\n        y: '17',\n        rx: '1',\n        key: 'o8vfew'\n      }]],\n      aliases: ['file-lock-2']\n    };\n    icon = signal(LucideFileLock.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileLock_BaseFactory;\n      return function LucideFileLock_Factory(__ngFactoryType__) {\n        return (ɵLucideFileLock_BaseFactory || (ɵLucideFileLock_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileLock)))(__ngFactoryType__ || LucideFileLock);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileLock,\n      selectors: [[\"svg\", \"lucideFileLock\", \"\"], [\"svg\", \"lucideFileLock2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c608,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileLock_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileLock_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileLock;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileLock\n */\nconst LucideFileLock2 = LucideFileLock;\n\n/**\n * @component @name FileImage\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8Y2lyY2xlIGN4PSIxMCIgY3k9IjEyIiByPSIyIiAvPgogIDxwYXRoIGQ9Im0yMCAxNy0xLjI5Ni0xLjI5NmEyLjQxIDIuNDEgMCAwIDAtMy40MDggMEw5IDIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-image\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileImage = /*#__PURE__*/(() => {\n  class LucideFileImage extends LucideIconBase {\n    static icon = {\n      name: 'file-image',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['circle', {\n        cx: '10',\n        cy: '12',\n        r: '2',\n        key: '737tya'\n      }], ['path', {\n        d: 'm20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22',\n        key: 'wt3hpn'\n      }]]\n    };\n    icon = signal(LucideFileImage.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileImage_BaseFactory;\n      return function LucideFileImage_Factory(__ngFactoryType__) {\n        return (ɵLucideFileImage_BaseFactory || (ɵLucideFileImage_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileImage)))(__ngFactoryType__ || LucideFileImage);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileImage,\n      selectors: [[\"svg\", \"lucideFileImage\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c609,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileImage_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileImage_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileImage;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileInput\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMVY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJ2LTEiIC8+CiAgPHBhdGggZD0iTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUiIC8+CiAgPHBhdGggZD0iTTIgMTVoMTAiIC8+CiAgPHBhdGggZD0ibTkgMTggMy0zLTMtMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-input\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileInput = /*#__PURE__*/(() => {\n  class LucideFileInput extends LucideIconBase {\n    static icon = {\n      name: 'file-input',\n      size: 24,\n      node: [['path', {\n        d: 'M4 11V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-1',\n        key: '1q9hii'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M2 15h10',\n        key: 'jfw4w8'\n      }], ['path', {\n        d: 'm9 18 3-3-3-3',\n        key: '112psh'\n      }]]\n    };\n    icon = signal(LucideFileInput.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileInput_BaseFactory;\n      return function LucideFileInput_Factory(__ngFactoryType__) {\n        return (ɵLucideFileInput_BaseFactory || (ɵLucideFileInput_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileInput)))(__ngFactoryType__ || LucideFileInput);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileInput,\n      selectors: [[\"svg\", \"lucideFileInput\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c610,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileInput_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileInput_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileInput;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNOSAxNWg2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileMinus = /*#__PURE__*/(() => {\n  class LucideFileMinus extends LucideIconBase {\n    static icon = {\n      name: 'file-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M9 15h6',\n        key: 'cctwl0'\n      }]]\n    };\n    icon = signal(LucideFileMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileMinus_BaseFactory;\n      return function LucideFileMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideFileMinus_BaseFactory || (ɵLucideFileMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileMinus)))(__ngFactoryType__ || LucideFileMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileMinus,\n      selectors: [[\"svg\", \"lucideFileMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c611,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileMinusCorner\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTRWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTQgMThoNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-minus-corner\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileMinusCorner = /*#__PURE__*/(() => {\n  class LucideFileMinusCorner extends LucideIconBase {\n    static icon = {\n      name: 'file-minus-corner',\n      size: 24,\n      node: [['path', {\n        d: 'M20 14V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12',\n        key: 'l9p8hp'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M14 18h6',\n        key: '1m8k6r'\n      }]],\n      aliases: ['file-minus-2']\n    };\n    icon = signal(LucideFileMinusCorner.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileMinusCorner_BaseFactory;\n      return function LucideFileMinusCorner_Factory(__ngFactoryType__) {\n        return (ɵLucideFileMinusCorner_BaseFactory || (ɵLucideFileMinusCorner_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileMinusCorner)))(__ngFactoryType__ || LucideFileMinusCorner);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileMinusCorner,\n      selectors: [[\"svg\", \"lucideFileMinusCorner\", \"\"], [\"svg\", \"lucideFileMinus2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c612,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileMinusCorner_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileMinusCorner_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileMinusCorner;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileMinusCorner\n */\nconst LucideFileMinus2 = LucideFileMinusCorner;\n\n/**\n * @component @name FileMusic\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuNjUgMjJIMThhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYxMC4zNSIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNOCAyMHYtN2wzIDEuNDc0IiAvPgogIDxjaXJjbGUgY3g9IjYiIGN5PSIyMCIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-music\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileMusic = /*#__PURE__*/(() => {\n  class LucideFileMusic extends LucideIconBase {\n    static icon = {\n      name: 'file-music',\n      size: 24,\n      node: [['path', {\n        d: 'M11.65 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v10.35',\n        key: '5ad7z2'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M8 20v-7l3 1.474',\n        key: '1ggyb9'\n      }], ['circle', {\n        cx: '6',\n        cy: '20',\n        r: '2',\n        key: 'j7wjp0'\n      }]]\n    };\n    icon = signal(LucideFileMusic.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileMusic_BaseFactory;\n      return function LucideFileMusic_Factory(__ngFactoryType__) {\n        return (ɵLucideFileMusic_BaseFactory || (ɵLucideFileMusic_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileMusic)))(__ngFactoryType__ || LucideFileMusic);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileMusic,\n      selectors: [[\"svg\", \"lucideFileMusic\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c613,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileMusic_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileMusic_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileMusic;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FilePenLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQuMzY0IDEzLjYzNGEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNmw0LjAxMy00LjAwOWExIDEgMCAwIDAtMy4wMDQtMy4wMDR6IiAvPgogIDxwYXRoIGQ9Ik0xNC40ODcgNy44NThBMSAxIDAgMCAxIDE0IDdWMiIgLz4KICA8cGF0aCBkPSJNMjAgMTkuNjQ1VjIwYTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDIuNTE2IDIuNTE2IiAvPgogIDxwYXRoIGQ9Ik04IDE4aDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/file-pen-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFilePenLine = /*#__PURE__*/(() => {\n  class LucideFilePenLine extends LucideIconBase {\n    static icon = {\n      name: 'file-pen-line',\n      size: 24,\n      node: [['path', {\n        d: 'M14.364 13.634a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506l4.013-4.009a1 1 0 0 0-3.004-3.004z',\n        key: 'ukzhwg'\n      }], ['path', {\n        d: 'M14.487 7.858A1 1 0 0 1 14 7V2',\n        key: '1klhew'\n      }], ['path', {\n        d: 'M20 19.645V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l2.516 2.516',\n        key: 'rxaxab'\n      }], ['path', {\n        d: 'M8 18h1',\n        key: '13wk12'\n      }]],\n      aliases: ['file-signature']\n    };\n    icon = signal(LucideFilePenLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFilePenLine_BaseFactory;\n      return function LucideFilePenLine_Factory(__ngFactoryType__) {\n        return (ɵLucideFilePenLine_BaseFactory || (ɵLucideFilePenLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFilePenLine)))(__ngFactoryType__ || LucideFilePenLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFilePenLine,\n      selectors: [[\"svg\", \"lucideFilePenLine\", \"\"], [\"svg\", \"lucideFileSignature\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c614,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFilePenLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFilePenLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFilePenLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFilePenLine\n */\nconst LucideFileSignature = LucideFilePenLine;\n\n/**\n * @component @name FileOutput\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNC4yMjYgMjAuOTI1QTIgMiAwIDAgMCA2IDIyaDEyYTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2My4xMjciIC8+CiAgPHBhdGggZD0iTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUiIC8+CiAgPHBhdGggZD0ibTUgMTEtMyAzIiAvPgogIDxwYXRoIGQ9Im01IDE3LTMtM2gxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-output\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileOutput = /*#__PURE__*/(() => {\n  class LucideFileOutput extends LucideIconBase {\n    static icon = {\n      name: 'file-output',\n      size: 24,\n      node: [['path', {\n        d: 'M4.226 20.925A2 2 0 0 0 6 22h12a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.127',\n        key: 'wfxp4w'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'm5 11-3 3',\n        key: '1dgrs4'\n      }], ['path', {\n        d: 'm5 17-3-3h10',\n        key: '1mvvaf'\n      }]]\n    };\n    icon = signal(LucideFileOutput.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileOutput_BaseFactory;\n      return function LucideFileOutput_Factory(__ngFactoryType__) {\n        return (ɵLucideFileOutput_BaseFactory || (ɵLucideFileOutput_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileOutput)))(__ngFactoryType__ || LucideFileOutput);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileOutput,\n      selectors: [[\"svg\", \"lucideFileOutput\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c615,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileOutput_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileOutput_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileOutput;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FilePen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuNjU5IDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2OS4zNCIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTAuMzc4IDEyLjYyMmExIDEgMCAwIDEgMyAzLjAwM0w4LjM2IDIwLjYzN2EyIDIgMCAwIDEtLjg1NC41MDZsLTIuODY3LjgzN2EuNS41IDAgMCAxLS42Mi0uNjJsLjgzNi0yLjg2OWEyIDIgMCAwIDEgLjUwNi0uODUzeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-pen\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFilePen = /*#__PURE__*/(() => {\n  class LucideFilePen extends LucideIconBase {\n    static icon = {\n      name: 'file-pen',\n      size: 24,\n      node: [['path', {\n        d: 'M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34',\n        key: 'o6klzx'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z',\n        key: 'zhnas1'\n      }]],\n      aliases: ['file-edit']\n    };\n    icon = signal(LucideFilePen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFilePen_BaseFactory;\n      return function LucideFilePen_Factory(__ngFactoryType__) {\n        return (ɵLucideFilePen_BaseFactory || (ɵLucideFilePen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFilePen)))(__ngFactoryType__ || LucideFilePen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFilePen,\n      selectors: [[\"svg\", \"lucideFilePen\", \"\"], [\"svg\", \"lucideFileEdit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c616,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFilePen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFilePen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFilePen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFilePen\n */\nconst LucideFileEdit = LucideFilePen;\n\n/**\n * @component @name FilePlay\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTUuMDMzIDEzLjQ0YS42NDcuNjQ3IDAgMCAxIDAgMS4xMmwtNC4wNjUgMi4zNTJhLjY0NS42NDUgMCAwIDEtLjk2OC0uNTZ2LTQuNzA0YS42NDUuNjQ1IDAgMCAxIC45NjctLjU2eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-play\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFilePlay = /*#__PURE__*/(() => {\n  class LucideFilePlay extends LucideIconBase {\n    static icon = {\n      name: 'file-play',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z',\n        key: '1tzo1f'\n      }]],\n      aliases: ['file-video']\n    };\n    icon = signal(LucideFilePlay.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFilePlay_BaseFactory;\n      return function LucideFilePlay_Factory(__ngFactoryType__) {\n        return (ɵLucideFilePlay_BaseFactory || (ɵLucideFilePlay_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFilePlay)))(__ngFactoryType__ || LucideFilePlay);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFilePlay,\n      selectors: [[\"svg\", \"lucideFilePlay\", \"\"], [\"svg\", \"lucideFileVideo\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c617,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFilePlay_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFilePlay_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFilePlay;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFilePlay\n */\nconst LucideFileVideo = LucideFilePlay;\n\n/**\n * @component @name FilePlusCorner\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuMzUgMjJINmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHY1LjM1IiAvPgogIDxwYXRoIGQ9Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1IiAvPgogIDxwYXRoIGQ9Ik0xNCAxOWg2IiAvPgogIDxwYXRoIGQ9Ik0xNyAxNnY2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-plus-corner\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFilePlusCorner = /*#__PURE__*/(() => {\n  class LucideFilePlusCorner extends LucideIconBase {\n    static icon = {\n      name: 'file-plus-corner',\n      size: 24,\n      node: [['path', {\n        d: 'M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35',\n        key: '17jvcc'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M14 19h6',\n        key: 'bvotb8'\n      }], ['path', {\n        d: 'M17 16v6',\n        key: '18yu1i'\n      }]],\n      aliases: ['file-plus-2']\n    };\n    icon = signal(LucideFilePlusCorner.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFilePlusCorner_BaseFactory;\n      return function LucideFilePlusCorner_Factory(__ngFactoryType__) {\n        return (ɵLucideFilePlusCorner_BaseFactory || (ɵLucideFilePlusCorner_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFilePlusCorner)))(__ngFactoryType__ || LucideFilePlusCorner);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFilePlusCorner,\n      selectors: [[\"svg\", \"lucideFilePlusCorner\", \"\"], [\"svg\", \"lucideFilePlus2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c618,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFilePlusCorner_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFilePlusCorner_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFilePlusCorner;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFilePlusCorner\n */\nconst LucideFilePlus2 = LucideFilePlusCorner;\n\n/**\n * @component @name FilePlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNOSAxNWg2IiAvPgogIDxwYXRoIGQ9Ik0xMiAxOHYtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFilePlus = /*#__PURE__*/(() => {\n  class LucideFilePlus extends LucideIconBase {\n    static icon = {\n      name: 'file-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M9 15h6',\n        key: 'cctwl0'\n      }], ['path', {\n        d: 'M12 18v-6',\n        key: '17g6i2'\n      }]]\n    };\n    icon = signal(LucideFilePlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFilePlus_BaseFactory;\n      return function LucideFilePlus_Factory(__ngFactoryType__) {\n        return (ɵLucideFilePlus_BaseFactory || (ɵLucideFilePlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFilePlus)))(__ngFactoryType__ || LucideFilePlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFilePlus,\n      selectors: [[\"svg\", \"lucideFilePlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c619,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFilePlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFilePlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFilePlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileScan\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTBWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDRsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmg0LjM1IiAvPgogIDxwYXRoIGQ9Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1IiAvPgogIDxwYXRoIGQ9Ik0xNiAxNGEyIDIgMCAwIDAtMiAyIiAvPgogIDxwYXRoIGQ9Ik0xNiAyMmEyIDIgMCAwIDEtMi0yIiAvPgogIDxwYXRoIGQ9Ik0yMCAxNGEyIDIgMCAwIDEgMiAyIiAvPgogIDxwYXRoIGQ9Ik0yMCAyMmEyIDIgMCAwIDAgMi0yIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-scan\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileScan = /*#__PURE__*/(() => {\n  class LucideFileScan extends LucideIconBase {\n    static icon = {\n      name: 'file-scan',\n      size: 24,\n      node: [['path', {\n        d: 'M20 10V8a2.4 2.4 0 0 0-.706-1.704l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.35',\n        key: '1cdjst'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M16 14a2 2 0 0 0-2 2',\n        key: 'ceaadl'\n      }], ['path', {\n        d: 'M16 22a2 2 0 0 1-2-2',\n        key: '1wqh5n'\n      }], ['path', {\n        d: 'M20 14a2 2 0 0 1 2 2',\n        key: '1ny6zw'\n      }], ['path', {\n        d: 'M20 22a2 2 0 0 0 2-2',\n        key: '1l9q4k'\n      }]]\n    };\n    icon = signal(LucideFileScan.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileScan_BaseFactory;\n      return function LucideFileScan_Factory(__ngFactoryType__) {\n        return (ɵLucideFileScan_BaseFactory || (ɵLucideFileScan_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileScan)))(__ngFactoryType__ || LucideFileScan);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileScan,\n      selectors: [[\"svg\", \"lucideFileScan\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c620,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileScan_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileScan_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileScan;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileQuestionMark\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTIgMTdoLjAxIiAvPgogIDxwYXRoIGQ9Ik05LjEgOWEzIDMgMCAwIDEgNS44MiAxYzAgMi0zIDMtMyAzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-question-mark\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileQuestionMark = /*#__PURE__*/(() => {\n  class LucideFileQuestionMark extends LucideIconBase {\n    static icon = {\n      name: 'file-question-mark',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M12 17h.01',\n        key: 'p32p05'\n      }], ['path', {\n        d: 'M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3',\n        key: 'mhlwft'\n      }]],\n      aliases: ['file-question']\n    };\n    icon = signal(LucideFileQuestionMark.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileQuestionMark_BaseFactory;\n      return function LucideFileQuestionMark_Factory(__ngFactoryType__) {\n        return (ɵLucideFileQuestionMark_BaseFactory || (ɵLucideFileQuestionMark_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileQuestionMark)))(__ngFactoryType__ || LucideFileQuestionMark);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileQuestionMark,\n      selectors: [[\"svg\", \"lucideFileQuestionMark\", \"\"], [\"svg\", \"lucideFileQuestion\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c621,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileQuestionMark_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileQuestionMark_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileQuestionMark;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileQuestionMark\n */\nconst LucideFileQuestion = LucideFileQuestionMark;\n\n/**\n * @component @name FileSearchCorner\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuMSAyMkg2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODkgMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djMuMjUiIC8+CiAgPHBhdGggZD0iTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUiIC8+CiAgPHBhdGggZD0ibTIxIDIyLTIuODgtMi44OCIgLz4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjE3IiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-search-corner\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileSearchCorner = /*#__PURE__*/(() => {\n  class LucideFileSearchCorner extends LucideIconBase {\n    static icon = {\n      name: 'file-search-corner',\n      size: 24,\n      node: [['path', {\n        d: 'M11.1 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.589 3.588A2.4 2.4 0 0 1 20 8v3.25',\n        key: 'uh4ikj'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'm21 22-2.88-2.88',\n        key: '9dd25w'\n      }], ['circle', {\n        cx: '16',\n        cy: '17',\n        r: '3',\n        key: '11br10'\n      }]],\n      aliases: ['file-search-2']\n    };\n    icon = signal(LucideFileSearchCorner.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileSearchCorner_BaseFactory;\n      return function LucideFileSearchCorner_Factory(__ngFactoryType__) {\n        return (ɵLucideFileSearchCorner_BaseFactory || (ɵLucideFileSearchCorner_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileSearchCorner)))(__ngFactoryType__ || LucideFileSearchCorner);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileSearchCorner,\n      selectors: [[\"svg\", \"lucideFileSearchCorner\", \"\"], [\"svg\", \"lucideFileSearch2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c622,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileSearchCorner_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileSearchCorner_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileSearchCorner;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileSearchCorner\n */\nconst LucideFileSearch2 = LucideFileSearchCorner;\n\n/**\n * @component @name FileSignal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNOCAxNWguMDEiIC8+CiAgPHBhdGggZD0iTTExLjUgMTMuNWEyLjUgMi41IDAgMCAxIDAgMyIgLz4KICA8cGF0aCBkPSJNMTUgMTJhNSA1IDAgMCAxIDAgNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-signal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileSignal = /*#__PURE__*/(() => {\n  class LucideFileSignal extends LucideIconBase {\n    static icon = {\n      name: 'file-signal',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M8 15h.01',\n        key: 'a7atzg'\n      }], ['path', {\n        d: 'M11.5 13.5a2.5 2.5 0 0 1 0 3',\n        key: '1fccat'\n      }], ['path', {\n        d: 'M15 12a5 5 0 0 1 0 6',\n        key: 'ps46cm'\n      }]],\n      aliases: ['file-volume-2']\n    };\n    icon = signal(LucideFileSignal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileSignal_BaseFactory;\n      return function LucideFileSignal_Factory(__ngFactoryType__) {\n        return (ɵLucideFileSignal_BaseFactory || (ɵLucideFileSignal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileSignal)))(__ngFactoryType__ || LucideFileSignal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileSignal,\n      selectors: [[\"svg\", \"lucideFileSignal\", \"\"], [\"svg\", \"lucideFileVolume2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c623,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileSignal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileSignal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileSignal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileSignal\n */\nconst LucideFileVolume2 = LucideFileSignal;\n\n/**\n * @component @name FileSliders\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNOCAxMmg4IiAvPgogIDxwYXRoIGQ9Ik0xMCAxMXYyIiAvPgogIDxwYXRoIGQ9Ik04IDE3aDgiIC8+CiAgPHBhdGggZD0iTTE0IDE2djIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/file-sliders\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileSliders = /*#__PURE__*/(() => {\n  class LucideFileSliders extends LucideIconBase {\n    static icon = {\n      name: 'file-sliders',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }], ['path', {\n        d: 'M10 11v2',\n        key: '1s651w'\n      }], ['path', {\n        d: 'M8 17h8',\n        key: 'wh5c61'\n      }], ['path', {\n        d: 'M14 16v2',\n        key: '12fp5e'\n      }]]\n    };\n    icon = signal(LucideFileSliders.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileSliders_BaseFactory;\n      return function LucideFileSliders_Factory(__ngFactoryType__) {\n        return (ɵLucideFileSliders_BaseFactory || (ɵLucideFileSliders_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileSliders)))(__ngFactoryType__ || LucideFileSliders);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileSliders,\n      selectors: [[\"svg\", \"lucideFileSliders\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c624,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileSliders_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileSliders_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileSliders;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileSearch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8Y2lyY2xlIGN4PSIxMS41IiBjeT0iMTQuNSIgcj0iMi41IiAvPgogIDxwYXRoIGQ9Ik0xMy4zIDE2LjMgMTUgMTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/file-search\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileSearch = /*#__PURE__*/(() => {\n  class LucideFileSearch extends LucideIconBase {\n    static icon = {\n      name: 'file-search',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['circle', {\n        cx: '11.5',\n        cy: '14.5',\n        r: '2.5',\n        key: '1bq0ko'\n      }], ['path', {\n        d: 'M13.3 16.3 15 18',\n        key: '2quom7'\n      }]]\n    };\n    icon = signal(LucideFileSearch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileSearch_BaseFactory;\n      return function LucideFileSearch_Factory(__ngFactoryType__) {\n        return (ɵLucideFileSearch_BaseFactory || (ɵLucideFileSearch_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileSearch)))(__ngFactoryType__ || LucideFileSearch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileSearch,\n      selectors: [[\"svg\", \"lucideFileSearch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c625,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileSearch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileSearch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileSearch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileSpreadsheet\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNOCAxM2gyIiAvPgogIDxwYXRoIGQ9Ik0xNCAxM2gyIiAvPgogIDxwYXRoIGQ9Ik04IDE3aDIiIC8+CiAgPHBhdGggZD0iTTE0IDE3aDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/file-spreadsheet\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileSpreadsheet = /*#__PURE__*/(() => {\n  class LucideFileSpreadsheet extends LucideIconBase {\n    static icon = {\n      name: 'file-spreadsheet',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M8 13h2',\n        key: 'yr2amv'\n      }], ['path', {\n        d: 'M14 13h2',\n        key: 'un5t4a'\n      }], ['path', {\n        d: 'M8 17h2',\n        key: '2yhykz'\n      }], ['path', {\n        d: 'M14 17h2',\n        key: '10kma7'\n      }]]\n    };\n    icon = signal(LucideFileSpreadsheet.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileSpreadsheet_BaseFactory;\n      return function LucideFileSpreadsheet_Factory(__ngFactoryType__) {\n        return (ɵLucideFileSpreadsheet_BaseFactory || (ɵLucideFileSpreadsheet_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileSpreadsheet)))(__ngFactoryType__ || LucideFileSpreadsheet);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileSpreadsheet,\n      selectors: [[\"svg\", \"lucideFileSpreadsheet\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c626,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileSpreadsheet_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileSpreadsheet_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileSpreadsheet;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileSymlink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMVY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJ2LTNhMiAyIDAgMCAxIDItMmg3IiAvPgogIDxwYXRoIGQ9Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1IiAvPgogIDxwYXRoIGQ9Im0xMCAxOCAzLTMtMy0zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-symlink\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileSymlink = /*#__PURE__*/(() => {\n  class LucideFileSymlink extends LucideIconBase {\n    static icon = {\n      name: 'file-symlink',\n      size: 24,\n      node: [['path', {\n        d: 'M4 11V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7',\n        key: 'huwfnr'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'm10 18 3-3-3-3',\n        key: '18f6ys'\n      }]]\n    };\n    icon = signal(LucideFileSymlink.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileSymlink_BaseFactory;\n      return function LucideFileSymlink_Factory(__ngFactoryType__) {\n        return (ɵLucideFileSymlink_BaseFactory || (ɵLucideFileSymlink_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileSymlink)))(__ngFactoryType__ || LucideFileSymlink);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileSymlink,\n      selectors: [[\"svg\", \"lucideFileSymlink\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c627,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileSymlink_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileSymlink_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileSymlink;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileTerminal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJtOCAxNiAyLTItMi0yIiAvPgogIDxwYXRoIGQ9Ik0xMiAxOGg0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-terminal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileTerminal = /*#__PURE__*/(() => {\n  class LucideFileTerminal extends LucideIconBase {\n    static icon = {\n      name: 'file-terminal',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'm8 16 2-2-2-2',\n        key: '10vzyd'\n      }], ['path', {\n        d: 'M12 18h4',\n        key: '1wd2n7'\n      }]]\n    };\n    icon = signal(LucideFileTerminal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileTerminal_BaseFactory;\n      return function LucideFileTerminal_Factory(__ngFactoryType__) {\n        return (ɵLucideFileTerminal_BaseFactory || (ɵLucideFileTerminal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileTerminal)))(__ngFactoryType__ || LucideFileTerminal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileTerminal,\n      selectors: [[\"svg\", \"lucideFileTerminal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c628,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileTerminal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileTerminal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileTerminal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileStack\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMjFhMSAxIDAgMCAxLTEgMUg0YTEgMSAwIDAgMS0xLTF2LThhMSAxIDAgMCAxIDEtMSIgLz4KICA8cGF0aCBkPSJNMTYgMTZhMSAxIDAgMCAxLTEgMUg5YTEgMSAwIDAgMS0xLTFWOGExIDEgMCAwIDEgMS0xIiAvPgogIDxwYXRoIGQ9Ik0yMSA2YTIgMiAwIDAgMC0uNTg2LTEuNDE0bC0yLTJBMiAyIDAgMCAwIDE3IDJoLTNhMSAxIDAgMCAwLTEgMXY4YTEgMSAwIDAgMCAxIDFoNmExIDEgMCAwIDAgMS0xeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-stack\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileStack = /*#__PURE__*/(() => {\n  class LucideFileStack extends LucideIconBase {\n    static icon = {\n      name: 'file-stack',\n      size: 24,\n      node: [['path', {\n        d: 'M11 21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1',\n        key: 'likhh7'\n      }], ['path', {\n        d: 'M16 16a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1',\n        key: '17ky3x'\n      }], ['path', {\n        d: 'M21 6a2 2 0 0 0-.586-1.414l-2-2A2 2 0 0 0 17 2h-3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1z',\n        key: '1hyeo0'\n      }]]\n    };\n    icon = signal(LucideFileStack.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileStack_BaseFactory;\n      return function LucideFileStack_Factory(__ngFactoryType__) {\n        return (ɵLucideFileStack_BaseFactory || (ɵLucideFileStack_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileStack)))(__ngFactoryType__ || LucideFileStack);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileStack,\n      selectors: [[\"svg\", \"lucideFileStack\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c629,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileStack_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileStack_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileStack;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileText\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTAgOUg4IiAvPgogIDxwYXRoIGQ9Ik0xNiAxM0g4IiAvPgogIDxwYXRoIGQ9Ik0xNiAxN0g4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-text\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileText = /*#__PURE__*/(() => {\n  class LucideFileText extends LucideIconBase {\n    static icon = {\n      name: 'file-text',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M10 9H8',\n        key: 'b1mrlr'\n      }], ['path', {\n        d: 'M16 13H8',\n        key: 't4e002'\n      }], ['path', {\n        d: 'M16 17H8',\n        key: 'z1uh3a'\n      }]]\n    };\n    icon = signal(LucideFileText.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileText_BaseFactory;\n      return function LucideFileText_Factory(__ngFactoryType__) {\n        return (ɵLucideFileText_BaseFactory || (ɵLucideFileText_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileText)))(__ngFactoryType__ || LucideFileText);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileText,\n      selectors: [[\"svg\", \"lucideFileText\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c630,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileText_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileText_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileText;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileType\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTEgMThoMiIgLz4KICA8cGF0aCBkPSJNMTIgMTJ2NiIgLz4KICA8cGF0aCBkPSJNOSAxM3YtLjVhLjUuNSAwIDAgMSAuNS0uNWg1YS41LjUgMCAwIDEgLjUuNXYuNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-type\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileType = /*#__PURE__*/(() => {\n  class LucideFileType extends LucideIconBase {\n    static icon = {\n      name: 'file-type',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M11 18h2',\n        key: '12mj7e'\n      }], ['path', {\n        d: 'M12 12v6',\n        key: '3ahymv'\n      }], ['path', {\n        d: 'M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5',\n        key: 'qbrxap'\n      }]]\n    };\n    icon = signal(LucideFileType.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileType_BaseFactory;\n      return function LucideFileType_Factory(__ngFactoryType__) {\n        return (ɵLucideFileType_BaseFactory || (ɵLucideFileType_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileType)))(__ngFactoryType__ || LucideFileType);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileType,\n      selectors: [[\"svg\", \"lucideFileType\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c631,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileType_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileType_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileType;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileTypeCorner\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJoNmEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjYiIC8+CiAgPHBhdGggZD0iTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUiIC8+CiAgPHBhdGggZD0iTTMgMTZ2LTEuNWEuNS41IDAgMCAxIC41LS41aDdhLjUuNSAwIDAgMSAuNS41VjE2IiAvPgogIDxwYXRoIGQ9Ik02IDIyaDIiIC8+CiAgPHBhdGggZD0iTTcgMTR2OCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-type-corner\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileTypeCorner = /*#__PURE__*/(() => {\n  class LucideFileTypeCorner extends LucideIconBase {\n    static icon = {\n      name: 'file-type-corner',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22h6a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v6',\n        key: '15usau'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M3 16v-1.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5V16',\n        key: 's1gz5'\n      }], ['path', {\n        d: 'M6 22h2',\n        key: '194x9m'\n      }], ['path', {\n        d: 'M7 14v8',\n        key: '11ixej'\n      }]],\n      aliases: ['file-type-2']\n    };\n    icon = signal(LucideFileTypeCorner.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileTypeCorner_BaseFactory;\n      return function LucideFileTypeCorner_Factory(__ngFactoryType__) {\n        return (ɵLucideFileTypeCorner_BaseFactory || (ɵLucideFileTypeCorner_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileTypeCorner)))(__ngFactoryType__ || LucideFileTypeCorner);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileTypeCorner,\n      selectors: [[\"svg\", \"lucideFileTypeCorner\", \"\"], [\"svg\", \"lucideFileType2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c632,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileTypeCorner_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileTypeCorner_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileTypeCorner;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileTypeCorner\n */\nconst LucideFileType2 = LucideFileTypeCorner;\n\n/**\n * @component @name FileUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTIgMTJ2NiIgLz4KICA8cGF0aCBkPSJtMTUgMTUtMy0zLTMgMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileUp = /*#__PURE__*/(() => {\n  class LucideFileUp extends LucideIconBase {\n    static icon = {\n      name: 'file-up',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M12 12v6',\n        key: '3ahymv'\n      }], ['path', {\n        d: 'm15 15-3-3-3 3',\n        key: '15xj92'\n      }]]\n    };\n    icon = signal(LucideFileUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileUp_BaseFactory;\n      return function LucideFileUp_Factory(__ngFactoryType__) {\n        return (ɵLucideFileUp_BaseFactory || (ɵLucideFileUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileUp)))(__ngFactoryType__ || LucideFileUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileUp,\n      selectors: [[\"svg\", \"lucideFileUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c633,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileVideoCamera\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJtMTAgMTcuODQzIDMuMDMzLTEuNzU1YS42NC42NCAwIDAgMSAuOTY3LjU2djQuNzA0YS42NS42NSAwIDAgMS0uOTY3LjU2TDEwIDIwLjE1NyIgLz4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSI2IiB4PSIzIiB5PSIxNiIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/file-video-camera\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileVideoCamera = /*#__PURE__*/(() => {\n  class LucideFileVideoCamera extends LucideIconBase {\n    static icon = {\n      name: 'file-video-camera',\n      size: 24,\n      node: [['path', {\n        d: 'M4 12V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2',\n        key: 'jrl274'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'm10 17.843 3.033-1.755a.64.64 0 0 1 .967.56v4.704a.65.65 0 0 1-.967.56L10 20.157',\n        key: '17aeo9'\n      }], ['rect', {\n        width: '7',\n        height: '6',\n        x: '3',\n        y: '16',\n        rx: '1',\n        key: 's27ndx'\n      }]],\n      aliases: ['file-video-2']\n    };\n    icon = signal(LucideFileVideoCamera.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileVideoCamera_BaseFactory;\n      return function LucideFileVideoCamera_Factory(__ngFactoryType__) {\n        return (ɵLucideFileVideoCamera_BaseFactory || (ɵLucideFileVideoCamera_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileVideoCamera)))(__ngFactoryType__ || LucideFileVideoCamera);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileVideoCamera,\n      selectors: [[\"svg\", \"lucideFileVideoCamera\", \"\"], [\"svg\", \"lucideFileVideo2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c634,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileVideoCamera_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileVideoCamera_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileVideoCamera;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileVideoCamera\n */\nconst LucideFileVideo2 = LucideFileVideoCamera;\n\n/**\n * @component @name FileXCorner\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMjJINmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHY1IiAvPgogIDxwYXRoIGQ9Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1IiAvPgogIDxwYXRoIGQ9Im0xNSAxNyA1IDUiIC8+CiAgPHBhdGggZD0ibTIwIDE3LTUgNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-x-corner\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileXCorner = /*#__PURE__*/(() => {\n  class LucideFileXCorner extends LucideIconBase {\n    static icon = {\n      name: 'file-x-corner',\n      size: 24,\n      node: [['path', {\n        d: 'M11 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5',\n        key: '1jo35a'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'm15 17 5 5',\n        key: '36xl1x'\n      }], ['path', {\n        d: 'm20 17-5 5',\n        key: 'vdz27y'\n      }]],\n      aliases: ['file-x-2']\n    };\n    icon = signal(LucideFileXCorner.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileXCorner_BaseFactory;\n      return function LucideFileXCorner_Factory(__ngFactoryType__) {\n        return (ɵLucideFileXCorner_BaseFactory || (ɵLucideFileXCorner_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileXCorner)))(__ngFactoryType__ || LucideFileXCorner);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileXCorner,\n      selectors: [[\"svg\", \"lucideFileXCorner\", \"\"], [\"svg\", \"lucideFileX2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c635,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileXCorner_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileXCorner_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileXCorner;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFileXCorner\n */\nconst LucideFileX2 = LucideFileXCorner;\n\n/**\n * @component @name FileUser\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTYgMjJhNCA0IDAgMCAwLTggMCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE1IiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-user\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileUser = /*#__PURE__*/(() => {\n  class LucideFileUser extends LucideIconBase {\n    static icon = {\n      name: 'file-user',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M16 22a4 4 0 0 0-8 0',\n        key: '7a83pg'\n      }], ['circle', {\n        cx: '12',\n        cy: '15',\n        r: '3',\n        key: 'g36mzq'\n      }]]\n    };\n    icon = signal(LucideFileUser.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileUser_BaseFactory;\n      return function LucideFileUser_Factory(__ngFactoryType__) {\n        return (ɵLucideFileUser_BaseFactory || (ɵLucideFileUser_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileUser)))(__ngFactoryType__ || LucideFileUser);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileUser,\n      selectors: [[\"svg\", \"lucideFileUser\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c636,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileUser_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileUser_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileUser;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileVolume\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMS41NVY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMmgtMS45NSIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTIgMTVhNSA1IDAgMCAxIDAgNiIgLz4KICA8cGF0aCBkPSJNOCAxNC41MDJhLjUuNSAwIDAgMC0uODI2LS4zODFsLTEuODkzIDEuNjMxYTEgMSAwIDAgMS0uNjUxLjI0M0gzLjVhLjUuNSAwIDAgMC0uNS41MDF2My4wMDZhLjUuNSAwIDAgMCAuNS41MDFoMS4xMjlhMSAxIDAgMCAxIC42NTIuMjQzbDEuODkzIDEuNjMzYS41LjUgMCAwIDAgLjgyNi0uMzh6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-volume\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileVolume = /*#__PURE__*/(() => {\n  class LucideFileVolume extends LucideIconBase {\n    static icon = {\n      name: 'file-volume',\n      size: 24,\n      node: [['path', {\n        d: 'M4 11.55V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-1.95',\n        key: '44gpjv'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M12 15a5 5 0 0 1 0 6',\n        key: 'oxg87a'\n      }], ['path', {\n        d: 'M8 14.502a.5.5 0 0 0-.826-.381l-1.893 1.631a1 1 0 0 1-.651.243H3.5a.5.5 0 0 0-.5.501v3.006a.5.5 0 0 0 .5.501h1.129a1 1 0 0 1 .652.243l1.893 1.633a.5.5 0 0 0 .826-.38z',\n        key: '8rtoi1'\n      }]]\n    };\n    icon = signal(LucideFileVolume.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileVolume_BaseFactory;\n      return function LucideFileVolume_Factory(__ngFactoryType__) {\n        return (ɵLucideFileVolume_BaseFactory || (ɵLucideFileVolume_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileVolume)))(__ngFactoryType__ || LucideFileVolume);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileVolume,\n      selectors: [[\"svg\", \"lucideFileVolume\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c637,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileVolume_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileVolume_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileVolume;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Files\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMmgtNGEyIDIgMCAwIDAtMiAydjExYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0yVjgiIC8+CiAgPHBhdGggZD0iTTE2LjcwNiAyLjcwNkEyLjQgMi40IDAgMCAwIDE1IDJ2NWExIDEgMCAwIDAgMSAxaDVhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2eiIgLz4KICA8cGF0aCBkPSJNNSA3YTIgMiAwIDAgMC0yIDJ2MTFhMiAyIDAgMCAwIDIgMmg4YTIgMiAwIDAgMCAxLjczMi0xIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/files\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFiles = /*#__PURE__*/(() => {\n  class LucideFiles extends LucideIconBase {\n    static icon = {\n      name: 'files',\n      size: 24,\n      node: [['path', {\n        d: 'M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8',\n        key: '14sh0y'\n      }], ['path', {\n        d: 'M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z',\n        key: '1970lx'\n      }], ['path', {\n        d: 'M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1',\n        key: 'l4dndm'\n      }]]\n    };\n    icon = signal(LucideFiles.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFiles_BaseFactory;\n      return function LucideFiles_Factory(__ngFactoryType__) {\n        return (ɵLucideFiles_BaseFactory || (ɵLucideFiles_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFiles)))(__ngFactoryType__ || LucideFiles);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFiles,\n      selectors: [[\"svg\", \"lucideFiles\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c638,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFiles_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFiles_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFiles;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FileX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJtMTQuNSAxMi41LTUgNSIgLz4KICA8cGF0aCBkPSJtOS41IDEyLjUgNSA1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFileX = /*#__PURE__*/(() => {\n  class LucideFileX extends LucideIconBase {\n    static icon = {\n      name: 'file-x',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'm14.5 12.5-5 5',\n        key: 'b62r18'\n      }], ['path', {\n        d: 'm9.5 12.5 5 5',\n        key: '1rk7el'\n      }]]\n    };\n    icon = signal(LucideFileX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFileX_BaseFactory;\n      return function LucideFileX_Factory(__ngFactoryType__) {\n        return (ɵLucideFileX_BaseFactory || (ɵLucideFileX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFileX)))(__ngFactoryType__ || LucideFileX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFileX,\n      selectors: [[\"svg\", \"lucideFileX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c639,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFileX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFileX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFileX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Film\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik03IDN2MTgiIC8+CiAgPHBhdGggZD0iTTMgNy41aDQiIC8+CiAgPHBhdGggZD0iTTMgMTJoMTgiIC8+CiAgPHBhdGggZD0iTTMgMTYuNWg0IiAvPgogIDxwYXRoIGQ9Ik0xNyAzdjE4IiAvPgogIDxwYXRoIGQ9Ik0xNyA3LjVoNCIgLz4KICA8cGF0aCBkPSJNMTcgMTYuNWg0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/film\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFilm = /*#__PURE__*/(() => {\n  class LucideFilm extends LucideIconBase {\n    static icon = {\n      name: 'film',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M7 3v18',\n        key: 'bbkbws'\n      }], ['path', {\n        d: 'M3 7.5h4',\n        key: 'zfgn84'\n      }], ['path', {\n        d: 'M3 12h18',\n        key: '1i2n21'\n      }], ['path', {\n        d: 'M3 16.5h4',\n        key: '1230mu'\n      }], ['path', {\n        d: 'M17 3v18',\n        key: 'in4fa5'\n      }], ['path', {\n        d: 'M17 7.5h4',\n        key: 'myr1c1'\n      }], ['path', {\n        d: 'M17 16.5h4',\n        key: 'go4c1d'\n      }]]\n    };\n    icon = signal(LucideFilm.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFilm_BaseFactory;\n      return function LucideFilm_Factory(__ngFactoryType__) {\n        return (ɵLucideFilm_BaseFactory || (ɵLucideFilm_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFilm)))(__ngFactoryType__ || LucideFilm);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFilm,\n      selectors: [[\"svg\", \"lucideFilm\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c640,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFilm_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFilm_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFilm;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name File\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFile = /*#__PURE__*/(() => {\n  class LucideFile extends LucideIconBase {\n    static icon = {\n      name: 'file',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n        key: '1oefj6'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }]]\n    };\n    icon = signal(LucideFile.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFile_BaseFactory;\n      return function LucideFile_Factory(__ngFactoryType__) {\n        return (ɵLucideFile_BaseFactory || (ɵLucideFile_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFile)))(__ngFactoryType__ || LucideFile);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFile,\n      selectors: [[\"svg\", \"lucideFile\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c641,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFile_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFile_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFile;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FingerprintPattern\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTBhMiAyIDAgMCAwLTIgMmMwIDEuMDItLjEgMi41MS0uMjYgNCIgLz4KICA8cGF0aCBkPSJNMTQgMTMuMTJjMCAyLjM4IDAgNi4zOC0xIDguODgiIC8+CiAgPHBhdGggZD0iTTE3LjI5IDIxLjAyYy4xMi0uNi40My0yLjMuNS0zLjAyIiAvPgogIDxwYXRoIGQ9Ik0yIDEyYTEwIDEwIDAgMCAxIDE4LTYiIC8+CiAgPHBhdGggZD0iTTIgMTZoLjAxIiAvPgogIDxwYXRoIGQ9Ik0yMS44IDE2Yy4yLTIgLjEzMS01LjM1NCAwLTYiIC8+CiAgPHBhdGggZD0iTTUgMTkuNUM1LjUgMTggNiAxNSA2IDEyYTYgNiAwIDAgMSAuMzQtMiIgLz4KICA8cGF0aCBkPSJNOC42NSAyMmMuMjEtLjY2LjQ1LTEuMzIuNTctMiIgLz4KICA8cGF0aCBkPSJNOSA2LjhhNiA2IDAgMCAxIDkgNS4ydjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/fingerprint-pattern\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFingerprintPattern = /*#__PURE__*/(() => {\n  class LucideFingerprintPattern extends LucideIconBase {\n    static icon = {\n      name: 'fingerprint-pattern',\n      size: 24,\n      node: [['path', {\n        d: 'M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4',\n        key: '1nerag'\n      }], ['path', {\n        d: 'M14 13.12c0 2.38 0 6.38-1 8.88',\n        key: 'o46ks0'\n      }], ['path', {\n        d: 'M17.29 21.02c.12-.6.43-2.3.5-3.02',\n        key: 'ptglia'\n      }], ['path', {\n        d: 'M2 12a10 10 0 0 1 18-6',\n        key: 'ydlgp0'\n      }], ['path', {\n        d: 'M2 16h.01',\n        key: '1gqxmh'\n      }], ['path', {\n        d: 'M21.8 16c.2-2 .131-5.354 0-6',\n        key: 'drycrb'\n      }], ['path', {\n        d: 'M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2',\n        key: '1tidbn'\n      }], ['path', {\n        d: 'M8.65 22c.21-.66.45-1.32.57-2',\n        key: '13wd9y'\n      }], ['path', {\n        d: 'M9 6.8a6 6 0 0 1 9 5.2v2',\n        key: '1fr1j5'\n      }]],\n      aliases: ['fingerprint']\n    };\n    icon = signal(LucideFingerprintPattern.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFingerprintPattern_BaseFactory;\n      return function LucideFingerprintPattern_Factory(__ngFactoryType__) {\n        return (ɵLucideFingerprintPattern_BaseFactory || (ɵLucideFingerprintPattern_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFingerprintPattern)))(__ngFactoryType__ || LucideFingerprintPattern);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFingerprintPattern,\n      selectors: [[\"svg\", \"lucideFingerprintPattern\", \"\"], [\"svg\", \"lucideFingerprint\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c642,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFingerprintPattern_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFingerprintPattern_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFingerprintPattern;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFingerprintPattern\n */\nconst LucideFingerprint = LucideFingerprintPattern;\n\n/**\n * @component @name FireExtinguisher\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgNi41VjNhMSAxIDAgMCAwLTEtMWgtMmExIDEgMCAwIDAtMSAxdjMuNSIgLz4KICA8cGF0aCBkPSJNOSAxOGg4IiAvPgogIDxwYXRoIGQ9Ik0xOCAzaC0zIiAvPgogIDxwYXRoIGQ9Ik0xMSAzYTYgNiAwIDAgMC02IDZ2MTEiIC8+CiAgPHBhdGggZD0iTTUgMTNoNCIgLz4KICA8cGF0aCBkPSJNMTcgMTBhNCA0IDAgMCAwLTggMHYxMGEyIDIgMCAwIDAgMiAyaDRhMiAyIDAgMCAwIDItMloiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/fire-extinguisher\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFireExtinguisher = /*#__PURE__*/(() => {\n  class LucideFireExtinguisher extends LucideIconBase {\n    static icon = {\n      name: 'fire-extinguisher',\n      size: 24,\n      node: [['path', {\n        d: 'M15 6.5V3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3.5',\n        key: 'sqyvz'\n      }], ['path', {\n        d: 'M9 18h8',\n        key: 'i7pszb'\n      }], ['path', {\n        d: 'M18 3h-3',\n        key: '7idoqj'\n      }], ['path', {\n        d: 'M11 3a6 6 0 0 0-6 6v11',\n        key: '1v5je3'\n      }], ['path', {\n        d: 'M5 13h4',\n        key: 'svpcxo'\n      }], ['path', {\n        d: 'M17 10a4 4 0 0 0-8 0v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2Z',\n        key: 'vsjego'\n      }]]\n    };\n    icon = signal(LucideFireExtinguisher.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFireExtinguisher_BaseFactory;\n      return function LucideFireExtinguisher_Factory(__ngFactoryType__) {\n        return (ɵLucideFireExtinguisher_BaseFactory || (ɵLucideFireExtinguisher_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFireExtinguisher)))(__ngFactoryType__ || LucideFireExtinguisher);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFireExtinguisher,\n      selectors: [[\"svg\", \"lucideFireExtinguisher\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c643,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFireExtinguisher_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFireExtinguisher_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFireExtinguisher;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FishSymbol\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxNnM5LTE1IDIwLTRDMTEgMjMgMiA4IDIgOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/fish-symbol\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFishSymbol = /*#__PURE__*/(() => {\n  class LucideFishSymbol extends LucideIconBase {\n    static icon = {\n      name: 'fish-symbol',\n      size: 24,\n      node: [['path', {\n        d: 'M2 16s9-15 20-4C11 23 2 8 2 8',\n        key: 'h4oh4o'\n      }]]\n    };\n    icon = signal(LucideFishSymbol.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFishSymbol_BaseFactory;\n      return function LucideFishSymbol_Factory(__ngFactoryType__) {\n        return (ɵLucideFishSymbol_BaseFactory || (ɵLucideFishSymbol_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFishSymbol)))(__ngFactoryType__ || LucideFishSymbol);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFishSymbol,\n      selectors: [[\"svg\", \"lucideFishSymbol\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c644,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFishSymbol_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFishSymbol_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFishSymbol;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FishOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggMTIuNDd2LjAzbTAtLjV2LjQ3bS0uNDc1IDUuMDU2QTYuNzQ0IDYuNzQ0IDAgMCAxIDE1IDE4Yy0zLjU2IDAtNy41Ni0yLjUzLTguNS02IC4zNDgtMS4yOCAxLjExNC0yLjQzMyAyLjEyMS0zLjM4bTMuNDQ0LTIuMDg4QTguODAyIDguODAyIDAgMCAxIDE1IDZjMy41NiAwIDYuMDYgMi41NCA3IDYtLjMwOSAxLjE0LS43ODYgMi4xNzctMS40MTMgMy4wNTgiIC8+CiAgPHBhdGggZD0iTTcgMTAuNjdDNyA4IDUuNTggNS45NyAyLjczIDUuNWMtMSAxLjUtMSA1IC4yMyA2LjUtMS4yNCAxLjUtMS4yNCA1LS4yMyA2LjVDNS41OCAxOC4wMyA3IDE2IDcgMTMuMzNtNy40OC00LjM3MkE5Ljc3IDkuNzcgMCAwIDEgMTYgNi4wN20wIDExLjg2YTkuNzcgOS43NyAwIDAgMS0xLjcyOC0zLjYxOCIgLz4KICA8cGF0aCBkPSJtMTYuMDEgMTcuOTMtLjIzIDEuNEEyIDIgMCAwIDEgMTMuOCAyMUg5LjVhNS45NiA1Ljk2IDAgMCAwIDEuNDktMy45OE04LjUzIDNoNS4yN2EyIDIgMCAwIDEgMS45OCAxLjY3bC4yMyAxLjRNMiAybDIwIDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/fish-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFishOff = /*#__PURE__*/(() => {\n  class LucideFishOff extends LucideIconBase {\n    static icon = {\n      name: 'fish-off',\n      size: 24,\n      node: [['path', {\n        d: 'M18 12.47v.03m0-.5v.47m-.475 5.056A6.744 6.744 0 0 1 15 18c-3.56 0-7.56-2.53-8.5-6 .348-1.28 1.114-2.433 2.121-3.38m3.444-2.088A8.802 8.802 0 0 1 15 6c3.56 0 6.06 2.54 7 6-.309 1.14-.786 2.177-1.413 3.058',\n        key: '1j1hse'\n      }], ['path', {\n        d: 'M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33m7.48-4.372A9.77 9.77 0 0 1 16 6.07m0 11.86a9.77 9.77 0 0 1-1.728-3.618',\n        key: '1q46z8'\n      }], ['path', {\n        d: 'm16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98M8.53 3h5.27a2 2 0 0 1 1.98 1.67l.23 1.4M2 2l20 20',\n        key: '1407gh'\n      }]]\n    };\n    icon = signal(LucideFishOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFishOff_BaseFactory;\n      return function LucideFishOff_Factory(__ngFactoryType__) {\n        return (ɵLucideFishOff_BaseFactory || (ɵLucideFishOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFishOff)))(__ngFactoryType__ || LucideFishOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFishOff,\n      selectors: [[\"svg\", \"lucideFishOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c645,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFishOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFishOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFishOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Fish\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNi41IDEyYy45NC0zLjQ2IDQuOTQtNiA4LjUtNiAzLjU2IDAgNi4wNiAyLjU0IDcgNi0uOTQgMy40Ny0zLjQ0IDYtNyA2cy03LjU2LTIuNTMtOC41LTZaIiAvPgogIDxwYXRoIGQ9Ik0xOCAxMnYuNSIgLz4KICA8cGF0aCBkPSJNMTYgMTcuOTNhOS43NyA5Ljc3IDAgMCAxIDAtMTEuODYiIC8+CiAgPHBhdGggZD0iTTcgMTAuNjdDNyA4IDUuNTggNS45NyAyLjczIDUuNWMtMSAxLjUtMSA1IC4yMyA2LjUtMS4yNCAxLjUtMS4yNCA1LS4yMyA2LjVDNS41OCAxOC4wMyA3IDE2IDcgMTMuMzMiIC8+CiAgPHBhdGggZD0iTTEwLjQ2IDcuMjZDMTAuMiA1Ljg4IDkuMTcgNC4yNCA4IDNoNS44YTIgMiAwIDAgMSAxLjk4IDEuNjdsLjIzIDEuNCIgLz4KICA8cGF0aCBkPSJtMTYuMDEgMTcuOTMtLjIzIDEuNEEyIDIgMCAwIDEgMTMuOCAyMUg5LjVhNS45NiA1Ljk2IDAgMCAwIDEuNDktMy45OCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/fish\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFish = /*#__PURE__*/(() => {\n  class LucideFish extends LucideIconBase {\n    static icon = {\n      name: 'fish',\n      size: 24,\n      node: [['path', {\n        d: 'M6.5 12c.94-3.46 4.94-6 8.5-6 3.56 0 6.06 2.54 7 6-.94 3.47-3.44 6-7 6s-7.56-2.53-8.5-6Z',\n        key: '15baut'\n      }], ['path', {\n        d: 'M18 12v.5',\n        key: '18hhni'\n      }], ['path', {\n        d: 'M16 17.93a9.77 9.77 0 0 1 0-11.86',\n        key: '16dt7o'\n      }], ['path', {\n        d: 'M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33',\n        key: 'l9di03'\n      }], ['path', {\n        d: 'M10.46 7.26C10.2 5.88 9.17 4.24 8 3h5.8a2 2 0 0 1 1.98 1.67l.23 1.4',\n        key: '1kjonw'\n      }], ['path', {\n        d: 'm16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98',\n        key: '1zlm23'\n      }]]\n    };\n    icon = signal(LucideFish.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFish_BaseFactory;\n      return function LucideFish_Factory(__ngFactoryType__) {\n        return (ɵLucideFish_BaseFactory || (ɵLucideFish_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFish)))(__ngFactoryType__ || LucideFish);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFish,\n      selectors: [[\"svg\", \"lucideFish\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c646,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFish_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFish_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFish;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FishingHook\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTcuNTg2IDExLjQxNC01LjkzIDUuOTNhMSAxIDAgMCAxLTgtOGwzLjEzNy0zLjEzN2EuNzA3LjcwNyAwIDAgMSAxLjIwNy41VjEwIiAvPgogIDxwYXRoIGQ9Ik0yMC40MTQgOC41ODYgMjIgNyIgLz4KICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjEwIiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/fishing-hook\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFishingHook = /*#__PURE__*/(() => {\n  class LucideFishingHook extends LucideIconBase {\n    static icon = {\n      name: 'fishing-hook',\n      size: 24,\n      node: [['path', {\n        d: 'm17.586 11.414-5.93 5.93a1 1 0 0 1-8-8l3.137-3.137a.707.707 0 0 1 1.207.5V10',\n        key: '157y8s'\n      }], ['path', {\n        d: 'M20.414 8.586 22 7',\n        key: '5g2s34'\n      }], ['circle', {\n        cx: '19',\n        cy: '10',\n        r: '2',\n        key: '7363ft'\n      }]]\n    };\n    icon = signal(LucideFishingHook.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFishingHook_BaseFactory;\n      return function LucideFishingHook_Factory(__ngFactoryType__) {\n        return (ɵLucideFishingHook_BaseFactory || (ɵLucideFishingHook_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFishingHook)))(__ngFactoryType__ || LucideFishingHook);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFishingHook,\n      selectors: [[\"svg\", \"lucideFishingHook\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c647,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFishingHook_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFishingHook_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFishingHook;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FlagOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTZjLTMgMC01LTItOC0yYTYgNiAwIDAgMC00IDEuNTI4IiAvPgogIDxwYXRoIGQ9Im0yIDIgMjAgMjAiIC8+CiAgPHBhdGggZD0iTTQgMjJWNCIgLz4KICA8cGF0aCBkPSJNNy42NTYgMkg4YzMgMCA1IDIgNy4zMzMgMnEyIDAgMy4wNjctLjhBMSAxIDAgMCAxIDIwIDR2MTAuMzQ3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/flag-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFlagOff = /*#__PURE__*/(() => {\n  class LucideFlagOff extends LucideIconBase {\n    static icon = {\n      name: 'flag-off',\n      size: 24,\n      node: [['path', {\n        d: 'M16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528',\n        key: '1q158e'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M4 22V4',\n        key: '1plyxx'\n      }], ['path', {\n        d: 'M7.656 2H8c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10.347',\n        key: 'xj1b71'\n      }]]\n    };\n    icon = signal(LucideFlagOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFlagOff_BaseFactory;\n      return function LucideFlagOff_Factory(__ngFactoryType__) {\n        return (ɵLucideFlagOff_BaseFactory || (ɵLucideFlagOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFlagOff)))(__ngFactoryType__ || LucideFlagOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFlagOff,\n      selectors: [[\"svg\", \"lucideFlagOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c648,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFlagOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFlagOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFlagOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FishingRod\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMWgxIiAvPgogIDxwYXRoIGQ9Ik04IDE1YTIgMiAwIDAgMS00IDBWM2ExIDEgMCAwIDEgMS0xaC41QzE0IDIgMjAgOSAyMCAxOHY0IiAvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/fishing-rod\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFishingRod = /*#__PURE__*/(() => {\n  class LucideFishingRod extends LucideIconBase {\n    static icon = {\n      name: 'fishing-rod',\n      size: 24,\n      node: [['path', {\n        d: 'M4 11h1',\n        key: '13eipc'\n      }], ['path', {\n        d: 'M8 15a2 2 0 0 1-4 0V3a1 1 0 0 1 1-1h.5C14 2 20 9 20 18v4',\n        key: '1hs3im'\n      }], ['circle', {\n        cx: '18',\n        cy: '18',\n        r: '2',\n        key: '1emm8v'\n      }]]\n    };\n    icon = signal(LucideFishingRod.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFishingRod_BaseFactory;\n      return function LucideFishingRod_Factory(__ngFactoryType__) {\n        return (ɵLucideFishingRod_BaseFactory || (ɵLucideFishingRod_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFishingRod)))(__ngFactoryType__ || LucideFishingRod);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFishingRod,\n      selectors: [[\"svg\", \"lucideFishingRod\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c649,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFishingRod_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFishingRod_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFishingRod;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FlagTriangleLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggMjJWMi44YS44LjggMCAwIDAtMS4xNy0uNzFMNS40NSA3Ljc4YS44LjggMCAwIDAgMCAxLjQ0TDE4IDE1LjUiIC8+Cjwvc3ZnPg==) - https://lucide.dev/icons/flag-triangle-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFlagTriangleLeft = /*#__PURE__*/(() => {\n  class LucideFlagTriangleLeft extends LucideIconBase {\n    static icon = {\n      name: 'flag-triangle-left',\n      size: 24,\n      node: [['path', {\n        d: 'M18 22V2.8a.8.8 0 0 0-1.17-.71L5.45 7.78a.8.8 0 0 0 0 1.44L18 15.5',\n        key: 'rbbtmw'\n      }]]\n    };\n    icon = signal(LucideFlagTriangleLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFlagTriangleLeft_BaseFactory;\n      return function LucideFlagTriangleLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideFlagTriangleLeft_BaseFactory || (ɵLucideFlagTriangleLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFlagTriangleLeft)))(__ngFactoryType__ || LucideFlagTriangleLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFlagTriangleLeft,\n      selectors: [[\"svg\", \"lucideFlagTriangleLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c650,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFlagTriangleLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFlagTriangleLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFlagTriangleLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FlagTriangleRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMlYyLjhhLjguOCAwIDAgMSAxLjE3LS43MWwxMS4zOCA1LjY5YS44LjggMCAwIDEgMCAxLjQ0TDYgMTUuNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/flag-triangle-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFlagTriangleRight = /*#__PURE__*/(() => {\n  class LucideFlagTriangleRight extends LucideIconBase {\n    static icon = {\n      name: 'flag-triangle-right',\n      size: 24,\n      node: [['path', {\n        d: 'M6 22V2.8a.8.8 0 0 1 1.17-.71l11.38 5.69a.8.8 0 0 1 0 1.44L6 15.5',\n        key: 'kfjsu0'\n      }]]\n    };\n    icon = signal(LucideFlagTriangleRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFlagTriangleRight_BaseFactory;\n      return function LucideFlagTriangleRight_Factory(__ngFactoryType__) {\n        return (ɵLucideFlagTriangleRight_BaseFactory || (ɵLucideFlagTriangleRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFlagTriangleRight)))(__ngFactoryType__ || LucideFlagTriangleRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFlagTriangleRight,\n      selectors: [[\"svg\", \"lucideFlagTriangleRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c651,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFlagTriangleRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFlagTriangleRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFlagTriangleRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FlameKindling\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMmMxIDMgMi41IDMuNSAzLjUgNC41QTUgNSAwIDAgMSAxNyAxMGE1IDUgMCAxIDEtMTAgMGMwLS4zIDAtLjYuMS0uOWEyIDIgMCAxIDAgMy4zLTJDOCA0LjUgMTEgMiAxMiAyWiIgLz4KICA8cGF0aCBkPSJtNSAyMiAxNC00IiAvPgogIDxwYXRoIGQ9Im01IDE4IDE0IDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/flame-kindling\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFlameKindling = /*#__PURE__*/(() => {\n  class LucideFlameKindling extends LucideIconBase {\n    static icon = {\n      name: 'flame-kindling',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2c1 3 2.5 3.5 3.5 4.5A5 5 0 0 1 17 10a5 5 0 1 1-10 0c0-.3 0-.6.1-.9a2 2 0 1 0 3.3-2C8 4.5 11 2 12 2Z',\n        key: '1ir223'\n      }], ['path', {\n        d: 'm5 22 14-4',\n        key: '1brv4h'\n      }], ['path', {\n        d: 'm5 18 14 4',\n        key: 'lgyyje'\n      }]]\n    };\n    icon = signal(LucideFlameKindling.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFlameKindling_BaseFactory;\n      return function LucideFlameKindling_Factory(__ngFactoryType__) {\n        return (ɵLucideFlameKindling_BaseFactory || (ɵLucideFlameKindling_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFlameKindling)))(__ngFactoryType__ || LucideFlameKindling);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFlameKindling,\n      selectors: [[\"svg\", \"lucideFlameKindling\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c652,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFlameKindling_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFlameKindling_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFlameKindling;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Flame\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3ExIDQgNCA2LjV0MyA1LjVhMSAxIDAgMCAxLTE0IDAgNSA1IDAgMCAxIDEtMyAxIDEgMCAwIDAgNSAwYzAtMi0xLjUtMy0xLjUtNXEwLTIgMi41LTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/flame\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFlame = /*#__PURE__*/(() => {\n  class LucideFlame extends LucideIconBase {\n    static icon = {\n      name: 'flame',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4',\n        key: '1slcih'\n      }]]\n    };\n    icon = signal(LucideFlame.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFlame_BaseFactory;\n      return function LucideFlame_Factory(__ngFactoryType__) {\n        return (ɵLucideFlame_BaseFactory || (ɵLucideFlame_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFlame)))(__ngFactoryType__ || LucideFlame);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFlame,\n      selectors: [[\"svg\", \"lucideFlame\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c653,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFlame_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFlame_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFlame;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Flag\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAyMlY0YTEgMSAwIDAgMSAuNC0uOEE2IDYgMCAwIDEgOCAyYzMgMCA1IDIgNy4zMzMgMnEyIDAgMy4wNjctLjhBMSAxIDAgMCAxIDIwIDR2MTBhMSAxIDAgMCAxLS40LjhBNiA2IDAgMCAxIDE2IDE2Yy0zIDAtNS0yLTgtMmE2IDYgMCAwIDAtNCAxLjUyOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/flag\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFlag = /*#__PURE__*/(() => {\n  class LucideFlag extends LucideIconBase {\n    static icon = {\n      name: 'flag',\n      size: 24,\n      node: [['path', {\n        d: 'M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528',\n        key: '1jaruq'\n      }]]\n    };\n    icon = signal(LucideFlag.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFlag_BaseFactory;\n      return function LucideFlag_Factory(__ngFactoryType__) {\n        return (ɵLucideFlag_BaseFactory || (ɵLucideFlag_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFlag)))(__ngFactoryType__ || LucideFlag);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFlag,\n      selectors: [[\"svg\", \"lucideFlag\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c654,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFlag_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFlag_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFlag;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FlashlightOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuNjUyIDZIMTgiIC8+CiAgPHBhdGggZD0iTTEyIDEzdjEiIC8+CiAgPHBhdGggZD0iTTE2IDE2djRhMiAyIDAgMCAxLTIgMmgtNGEyIDIgMCAwIDEtMi0ydi04YTQgNCAwIDAgMC0uOC0yLjRsLS42LS44QTMgMyAwIDAgMSA2IDdWNiIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik03LjY0OSAySDE3YTEgMSAwIDAgMSAxIDF2NGEzIDMgMCAwIDEtLjYgMS44bC0uNi44YTQgNCAwIDAgMC0uNTUgMS4wMDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/flashlight-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFlashlightOff = /*#__PURE__*/(() => {\n  class LucideFlashlightOff extends LucideIconBase {\n    static icon = {\n      name: 'flashlight-off',\n      size: 24,\n      node: [['path', {\n        d: 'M11.652 6H18',\n        key: 'voqkpr'\n      }], ['path', {\n        d: 'M12 13v1',\n        key: '176q98'\n      }], ['path', {\n        d: 'M16 16v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V6',\n        key: 'dzyf92'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M7.649 2H17a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8a4 4 0 0 0-.55 1.007',\n        key: '1hvcfn'\n      }]]\n    };\n    icon = signal(LucideFlashlightOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFlashlightOff_BaseFactory;\n      return function LucideFlashlightOff_Factory(__ngFactoryType__) {\n        return (ɵLucideFlashlightOff_BaseFactory || (ɵLucideFlashlightOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFlashlightOff)))(__ngFactoryType__ || LucideFlashlightOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFlashlightOff,\n      selectors: [[\"svg\", \"lucideFlashlightOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c655,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFlashlightOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFlashlightOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFlashlightOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Flashlight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTN2MSIgLz4KICA8cGF0aCBkPSJNMTcgMmExIDEgMCAwIDEgMSAxdjRhMyAzIDAgMCAxLS42IDEuOGwtLjYuOEE0IDQgMCAwIDAgMTYgMTJ2OGEyIDIgMCAwIDEtMiAySDEwYTIgMiAwIDAgMS0yLTJ2LThhNCA0IDAgMCAwLS44LTIuNGwtLjYtLjhBMyAzIDAgMCAxIDYgN1YzYTEgMSAwIDAgMSAxLTF6IiAvPgogIDxwYXRoIGQ9Ik02IDZoMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/flashlight\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFlashlight = /*#__PURE__*/(() => {\n  class LucideFlashlight extends LucideIconBase {\n    static icon = {\n      name: 'flashlight',\n      size: 24,\n      node: [['path', {\n        d: 'M12 13v1',\n        key: '176q98'\n      }], ['path', {\n        d: 'M17 2a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8A4 4 0 0 0 16 12v8a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V3a1 1 0 0 1 1-1z',\n        key: '17vh7j'\n      }], ['path', {\n        d: 'M6 6h12',\n        key: 'n6hhss'\n      }]]\n    };\n    icon = signal(LucideFlashlight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFlashlight_BaseFactory;\n      return function LucideFlashlight_Factory(__ngFactoryType__) {\n        return (ɵLucideFlashlight_BaseFactory || (ɵLucideFlashlight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFlashlight)))(__ngFactoryType__ || LucideFlashlight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFlashlight,\n      selectors: [[\"svg\", \"lucideFlashlight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c656,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFlashlight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFlashlight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFlashlight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FlaskConicalOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMnYyLjM0MyIgLz4KICA8cGF0aCBkPSJNMTQgMnY2LjM0MyIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik0yMCAyMGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTEuNzU1LTIuOTZsNS4yMjctOS41NjMiIC8+CiAgPHBhdGggZD0iTTYuNDUzIDE1SDE1IiAvPgogIDxwYXRoIGQ9Ik04LjUgMmg3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/flask-conical-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFlaskConicalOff = /*#__PURE__*/(() => {\n  class LucideFlaskConicalOff extends LucideIconBase {\n    static icon = {\n      name: 'flask-conical-off',\n      size: 24,\n      node: [['path', {\n        d: 'M10 2v2.343',\n        key: '15t272'\n      }], ['path', {\n        d: 'M14 2v6.343',\n        key: 'sxr80q'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M20 20a2 2 0 0 1-2 2H6a2 2 0 0 1-1.755-2.96l5.227-9.563',\n        key: 'k0duyd'\n      }], ['path', {\n        d: 'M6.453 15H15',\n        key: '1f0z33'\n      }], ['path', {\n        d: 'M8.5 2h7',\n        key: 'csnxdl'\n      }]]\n    };\n    icon = signal(LucideFlaskConicalOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFlaskConicalOff_BaseFactory;\n      return function LucideFlaskConicalOff_Factory(__ngFactoryType__) {\n        return (ɵLucideFlaskConicalOff_BaseFactory || (ɵLucideFlaskConicalOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFlaskConicalOff)))(__ngFactoryType__ || LucideFlaskConicalOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFlaskConicalOff,\n      selectors: [[\"svg\", \"lucideFlaskConicalOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c657,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFlaskConicalOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFlaskConicalOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFlaskConicalOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FlipHorizontal2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMyA3IDUgNS01IDVWNyIgLz4KICA8cGF0aCBkPSJtMjEgNy01IDUgNSA1VjciIC8+CiAgPHBhdGggZD0iTTEyIDIwdjIiIC8+CiAgPHBhdGggZD0iTTEyIDE0djIiIC8+CiAgPHBhdGggZD0iTTEyIDh2MiIgLz4KICA8cGF0aCBkPSJNMTIgMnYyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/flip-horizontal-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFlipHorizontal2 = /*#__PURE__*/(() => {\n  class LucideFlipHorizontal2 extends LucideIconBase {\n    static icon = {\n      name: 'flip-horizontal-2',\n      size: 24,\n      node: [['path', {\n        d: 'm3 7 5 5-5 5V7',\n        key: 'couhi7'\n      }], ['path', {\n        d: 'm21 7-5 5 5 5V7',\n        key: '6ouia7'\n      }], ['path', {\n        d: 'M12 20v2',\n        key: '1lh1kg'\n      }], ['path', {\n        d: 'M12 14v2',\n        key: '8jcxud'\n      }], ['path', {\n        d: 'M12 8v2',\n        key: '1woqiv'\n      }], ['path', {\n        d: 'M12 2v2',\n        key: 'tus03m'\n      }]]\n    };\n    icon = signal(LucideFlipHorizontal2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFlipHorizontal2_BaseFactory;\n      return function LucideFlipHorizontal2_Factory(__ngFactoryType__) {\n        return (ɵLucideFlipHorizontal2_BaseFactory || (ɵLucideFlipHorizontal2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFlipHorizontal2)))(__ngFactoryType__ || LucideFlipHorizontal2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFlipHorizontal2,\n      selectors: [[\"svg\", \"lucideFlipHorizontal2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c658,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFlipHorizontal2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFlipHorizontal2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFlipHorizontal2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FlaskConical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMnY2YTIgMiAwIDAgMCAuMjQ1Ljk2bDUuNTEgMTAuMDhBMiAyIDAgMCAxIDE4IDIySDZhMiAyIDAgMCAxLTEuNzU1LTIuOTZsNS41MS0xMC4wOEEyIDIgMCAwIDAgMTAgOFYyIiAvPgogIDxwYXRoIGQ9Ik02LjQ1MyAxNWgxMS4wOTQiIC8+CiAgPHBhdGggZD0iTTguNSAyaDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/flask-conical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFlaskConical = /*#__PURE__*/(() => {\n  class LucideFlaskConical extends LucideIconBase {\n    static icon = {\n      name: 'flask-conical',\n      size: 24,\n      node: [['path', {\n        d: 'M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2',\n        key: '18mbvz'\n      }], ['path', {\n        d: 'M6.453 15h11.094',\n        key: '3shlmq'\n      }], ['path', {\n        d: 'M8.5 2h7',\n        key: 'csnxdl'\n      }]]\n    };\n    icon = signal(LucideFlaskConical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFlaskConical_BaseFactory;\n      return function LucideFlaskConical_Factory(__ngFactoryType__) {\n        return (ɵLucideFlaskConical_BaseFactory || (ɵLucideFlaskConical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFlaskConical)))(__ngFactoryType__ || LucideFlaskConical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFlaskConical,\n      selectors: [[\"svg\", \"lucideFlaskConical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c659,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFlaskConical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFlaskConical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFlaskConical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FlaskRound\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMnY2LjI5MmE3IDcgMCAxIDAgNCAwVjIiIC8+CiAgPHBhdGggZD0iTTUgMTVoMTQiIC8+CiAgPHBhdGggZD0iTTguNSAyaDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/flask-round\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFlaskRound = /*#__PURE__*/(() => {\n  class LucideFlaskRound extends LucideIconBase {\n    static icon = {\n      name: 'flask-round',\n      size: 24,\n      node: [['path', {\n        d: 'M10 2v6.292a7 7 0 1 0 4 0V2',\n        key: '1s42pc'\n      }], ['path', {\n        d: 'M5 15h14',\n        key: 'm0yey3'\n      }], ['path', {\n        d: 'M8.5 2h7',\n        key: 'csnxdl'\n      }]]\n    };\n    icon = signal(LucideFlaskRound.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFlaskRound_BaseFactory;\n      return function LucideFlaskRound_Factory(__ngFactoryType__) {\n        return (ɵLucideFlaskRound_BaseFactory || (ɵLucideFlaskRound_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFlaskRound)))(__ngFactoryType__ || LucideFlaskRound);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFlaskRound,\n      selectors: [[\"svg\", \"lucideFlaskRound\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c660,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFlaskRound_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFlaskRound_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFlaskRound;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FlipVertical2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTcgMy01IDUtNS01aDEwIiAvPgogIDxwYXRoIGQ9Im0xNyAyMS01LTUtNSA1aDEwIiAvPgogIDxwYXRoIGQ9Ik00IDEySDIiIC8+CiAgPHBhdGggZD0iTTEwIDEySDgiIC8+CiAgPHBhdGggZD0iTTE2IDEyaC0yIiAvPgogIDxwYXRoIGQ9Ik0yMiAxMmgtMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/flip-vertical-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFlipVertical2 = /*#__PURE__*/(() => {\n  class LucideFlipVertical2 extends LucideIconBase {\n    static icon = {\n      name: 'flip-vertical-2',\n      size: 24,\n      node: [['path', {\n        d: 'm17 3-5 5-5-5h10',\n        key: '1ftt6x'\n      }], ['path', {\n        d: 'm17 21-5-5-5 5h10',\n        key: '1m0wmu'\n      }], ['path', {\n        d: 'M4 12H2',\n        key: 'rhcxmi'\n      }], ['path', {\n        d: 'M10 12H8',\n        key: 's88cx1'\n      }], ['path', {\n        d: 'M16 12h-2',\n        key: '10asgb'\n      }], ['path', {\n        d: 'M22 12h-2',\n        key: '14jgyd'\n      }]]\n    };\n    icon = signal(LucideFlipVertical2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFlipVertical2_BaseFactory;\n      return function LucideFlipVertical2_Factory(__ngFactoryType__) {\n        return (ɵLucideFlipVertical2_BaseFactory || (ɵLucideFlipVertical2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFlipVertical2)))(__ngFactoryType__ || LucideFlipVertical2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFlipVertical2,\n      selectors: [[\"svg\", \"lucideFlipVertical2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c661,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFlipVertical2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFlipVertical2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFlipVertical2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Flower2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNWEzIDMgMCAxIDEgMyAzbS0zLTNhMyAzIDAgMSAwLTMgM20zLTN2MU05IDhhMyAzIDAgMSAwIDMgM005IDhoMW01IDBhMyAzIDAgMSAxLTMgM20zLTNoLTFtLTIgM3YtMSIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjgiIHI9IjIiIC8+CiAgPHBhdGggZD0iTTEyIDEwdjEyIiAvPgogIDxwYXRoIGQ9Ik0xMiAyMmM0LjIgMCA3LTEuNjY3IDctNS00LjIgMC03IDEuNjY3LTcgNVoiIC8+CiAgPHBhdGggZD0iTTEyIDIyYy00LjIgMC03LTEuNjY3LTctNSA0LjIgMCA3IDEuNjY3IDcgNVoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/flower-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFlower2 = /*#__PURE__*/(() => {\n  class LucideFlower2 extends LucideIconBase {\n    static icon = {\n      name: 'flower-2',\n      size: 24,\n      node: [['path', {\n        d: 'M12 5a3 3 0 1 1 3 3m-3-3a3 3 0 1 0-3 3m3-3v1M9 8a3 3 0 1 0 3 3M9 8h1m5 0a3 3 0 1 1-3 3m3-3h-1m-2 3v-1',\n        key: '3pnvol'\n      }], ['circle', {\n        cx: '12',\n        cy: '8',\n        r: '2',\n        key: '1822b1'\n      }], ['path', {\n        d: 'M12 10v12',\n        key: '6ubwww'\n      }], ['path', {\n        d: 'M12 22c4.2 0 7-1.667 7-5-4.2 0-7 1.667-7 5Z',\n        key: '9hd38g'\n      }], ['path', {\n        d: 'M12 22c-4.2 0-7-1.667-7-5 4.2 0 7 1.667 7 5Z',\n        key: 'ufn41s'\n      }]]\n    };\n    icon = signal(LucideFlower2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFlower2_BaseFactory;\n      return function LucideFlower2_Factory(__ngFactoryType__) {\n        return (ɵLucideFlower2_BaseFactory || (ɵLucideFlower2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFlower2)))(__ngFactoryType__ || LucideFlower2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFlower2,\n      selectors: [[\"svg\", \"lucideFlower2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c662,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFlower2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFlower2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFlower2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Focus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIiAvPgogIDxwYXRoIGQ9Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIiIC8+CiAgPHBhdGggZD0iTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIiIC8+CiAgPHBhdGggZD0iTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiIgLz4KICA8cGF0aCBkPSJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/focus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFocus = /*#__PURE__*/(() => {\n  class LucideFocus extends LucideIconBase {\n    static icon = {\n      name: 'focus',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '3',\n        key: '1v7zrd'\n      }], ['path', {\n        d: 'M3 7V5a2 2 0 0 1 2-2h2',\n        key: 'aa7l1z'\n      }], ['path', {\n        d: 'M17 3h2a2 2 0 0 1 2 2v2',\n        key: '4qcy5o'\n      }], ['path', {\n        d: 'M21 17v2a2 2 0 0 1-2 2h-2',\n        key: '6vwrx8'\n      }], ['path', {\n        d: 'M7 21H5a2 2 0 0 1-2-2v-2',\n        key: 'ioqczr'\n      }]]\n    };\n    icon = signal(LucideFocus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFocus_BaseFactory;\n      return function LucideFocus_Factory(__ngFactoryType__) {\n        return (ɵLucideFocus_BaseFactory || (ɵLucideFocus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFocus)))(__ngFactoryType__ || LucideFocus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFocus,\n      selectors: [[\"svg\", \"lucideFocus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c663,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFocus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFocus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFocus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Flower\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIiAvPgogIDxwYXRoIGQ9Ik0xMiAxNi41QTQuNSA0LjUgMCAxIDEgNy41IDEyIDQuNSA0LjUgMCAxIDEgMTIgNy41YTQuNSA0LjUgMCAxIDEgNC41IDQuNSA0LjUgNC41IDAgMSAxLTQuNSA0LjUiIC8+CiAgPHBhdGggZD0iTTEyIDcuNVY5IiAvPgogIDxwYXRoIGQ9Ik03LjUgMTJIOSIgLz4KICA8cGF0aCBkPSJNMTYuNSAxMkgxNSIgLz4KICA8cGF0aCBkPSJNMTIgMTYuNVYxNSIgLz4KICA8cGF0aCBkPSJtOCA4IDEuODggMS44OCIgLz4KICA8cGF0aCBkPSJNMTQuMTIgOS44OCAxNiA4IiAvPgogIDxwYXRoIGQ9Im04IDE2IDEuODgtMS44OCIgLz4KICA8cGF0aCBkPSJNMTQuMTIgMTQuMTIgMTYgMTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/flower\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFlower = /*#__PURE__*/(() => {\n  class LucideFlower extends LucideIconBase {\n    static icon = {\n      name: 'flower',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '3',\n        key: '1v7zrd'\n      }], ['path', {\n        d: 'M12 16.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 1 1 4.5 4.5 4.5 4.5 0 1 1-4.5 4.5',\n        key: '14wa3c'\n      }], ['path', {\n        d: 'M12 7.5V9',\n        key: '1oy5b0'\n      }], ['path', {\n        d: 'M7.5 12H9',\n        key: 'eltsq1'\n      }], ['path', {\n        d: 'M16.5 12H15',\n        key: 'vk5kw4'\n      }], ['path', {\n        d: 'M12 16.5V15',\n        key: 'k7eayi'\n      }], ['path', {\n        d: 'm8 8 1.88 1.88',\n        key: 'nxy4qf'\n      }], ['path', {\n        d: 'M14.12 9.88 16 8',\n        key: '1lst6k'\n      }], ['path', {\n        d: 'm8 16 1.88-1.88',\n        key: 'h2eex1'\n      }], ['path', {\n        d: 'M14.12 14.12 16 16',\n        key: 'uqkrx3'\n      }]]\n    };\n    icon = signal(LucideFlower.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFlower_BaseFactory;\n      return function LucideFlower_Factory(__ngFactoryType__) {\n        return (ɵLucideFlower_BaseFactory || (ɵLucideFlower_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFlower)))(__ngFactoryType__ || LucideFlower);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFlower,\n      selectors: [[\"svg\", \"lucideFlower\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c664,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFlower_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFlower_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFlower;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FoldHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxMmg2IiAvPgogIDxwYXRoIGQ9Ik0yMiAxMmgtNiIgLz4KICA8cGF0aCBkPSJNMTIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0xMiA4djIiIC8+CiAgPHBhdGggZD0iTTEyIDE0djIiIC8+CiAgPHBhdGggZD0iTTEyIDIwdjIiIC8+CiAgPHBhdGggZD0ibTE5IDktMyAzIDMgMyIgLz4KICA8cGF0aCBkPSJtNSAxNSAzLTMtMy0zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/fold-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFoldHorizontal = /*#__PURE__*/(() => {\n  class LucideFoldHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'fold-horizontal',\n      size: 24,\n      node: [['path', {\n        d: 'M2 12h6',\n        key: '1wqiqv'\n      }], ['path', {\n        d: 'M22 12h-6',\n        key: '1eg9hc'\n      }], ['path', {\n        d: 'M12 2v2',\n        key: 'tus03m'\n      }], ['path', {\n        d: 'M12 8v2',\n        key: '1woqiv'\n      }], ['path', {\n        d: 'M12 14v2',\n        key: '8jcxud'\n      }], ['path', {\n        d: 'M12 20v2',\n        key: '1lh1kg'\n      }], ['path', {\n        d: 'm19 9-3 3 3 3',\n        key: '12ol22'\n      }], ['path', {\n        d: 'm5 15 3-3-3-3',\n        key: '1kdhjc'\n      }]]\n    };\n    icon = signal(LucideFoldHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFoldHorizontal_BaseFactory;\n      return function LucideFoldHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideFoldHorizontal_BaseFactory || (ɵLucideFoldHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFoldHorizontal)))(__ngFactoryType__ || LucideFoldHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFoldHorizontal,\n      selectors: [[\"svg\", \"lucideFoldHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c665,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFoldHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFoldHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFoldHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FoldVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJ2LTYiIC8+CiAgPHBhdGggZD0iTTEyIDhWMiIgLz4KICA8cGF0aCBkPSJNNCAxMkgyIiAvPgogIDxwYXRoIGQ9Ik0xMCAxMkg4IiAvPgogIDxwYXRoIGQ9Ik0xNiAxMmgtMiIgLz4KICA8cGF0aCBkPSJNMjIgMTJoLTIiIC8+CiAgPHBhdGggZD0ibTE1IDE5LTMtMy0zIDMiIC8+CiAgPHBhdGggZD0ibTE1IDUtMyAzLTMtMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/fold-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFoldVertical = /*#__PURE__*/(() => {\n  class LucideFoldVertical extends LucideIconBase {\n    static icon = {\n      name: 'fold-vertical',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22v-6',\n        key: '6o8u61'\n      }], ['path', {\n        d: 'M12 8V2',\n        key: '1wkif3'\n      }], ['path', {\n        d: 'M4 12H2',\n        key: 'rhcxmi'\n      }], ['path', {\n        d: 'M10 12H8',\n        key: 's88cx1'\n      }], ['path', {\n        d: 'M16 12h-2',\n        key: '10asgb'\n      }], ['path', {\n        d: 'M22 12h-2',\n        key: '14jgyd'\n      }], ['path', {\n        d: 'm15 19-3-3-3 3',\n        key: 'e37ymu'\n      }], ['path', {\n        d: 'm15 5-3 3-3-3',\n        key: '19d6lf'\n      }]]\n    };\n    icon = signal(LucideFoldVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFoldVertical_BaseFactory;\n      return function LucideFoldVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideFoldVertical_BaseFactory || (ɵLucideFoldVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFoldVertical)))(__ngFactoryType__ || LucideFoldVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFoldVertical,\n      selectors: [[\"svg\", \"lucideFoldVertical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c666,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFoldVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFoldVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFoldVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderArchive\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxNSIgY3k9IjE5IiByPSIyIiAvPgogIDxwYXRoIGQ9Ik0yMC45IDE5LjhBMiAyIDAgMCAwIDIyIDE4VjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMmg1LjEiIC8+CiAgPHBhdGggZD0iTTE1IDExdi0xIiAvPgogIDxwYXRoIGQ9Ik0xNSAxN3YtMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/folder-archive\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderArchive = /*#__PURE__*/(() => {\n  class LucideFolderArchive extends LucideIconBase {\n    static icon = {\n      name: 'folder-archive',\n      size: 24,\n      node: [['circle', {\n        cx: '15',\n        cy: '19',\n        r: '2',\n        key: 'u2pros'\n      }], ['path', {\n        d: 'M20.9 19.8A2 2 0 0 0 22 18V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h5.1',\n        key: '1jj40k'\n      }], ['path', {\n        d: 'M15 11v-1',\n        key: 'cntcp'\n      }], ['path', {\n        d: 'M15 17v-2',\n        key: '1279jj'\n      }]]\n    };\n    icon = signal(LucideFolderArchive.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderArchive_BaseFactory;\n      return function LucideFolderArchive_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderArchive_BaseFactory || (ɵLucideFolderArchive_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderArchive)))(__ngFactoryType__ || LucideFolderArchive);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderArchive,\n      selectors: [[\"svg\", \"lucideFolderArchive\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c667,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderArchive_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderArchive_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderArchive;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIiAvPgogIDxwYXRoIGQ9Im05IDEzIDIgMiA0LTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderCheck = /*#__PURE__*/(() => {\n  class LucideFolderCheck extends LucideIconBase {\n    static icon = {\n      name: 'folder-check',\n      size: 24,\n      node: [['path', {\n        d: 'M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z',\n        key: '1kt360'\n      }], ['path', {\n        d: 'm9 13 2 2 4-4',\n        key: '6343dt'\n      }]]\n    };\n    icon = signal(LucideFolderCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderCheck_BaseFactory;\n      return function LucideFolderCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderCheck_BaseFactory || (ɵLucideFolderCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderCheck)))(__ngFactoryType__ || LucideFolderCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderCheck,\n      selectors: [[\"svg\", \"lucideFolderCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c668,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderClock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTR2Mi4ybDEuNiAxIiAvPgogIDxwYXRoIGQ9Ik03IDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDIwYTIgMiAwIDAgMSAyIDIiIC8+CiAgPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/folder-clock\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderClock = /*#__PURE__*/(() => {\n  class LucideFolderClock extends LucideIconBase {\n    static icon = {\n      name: 'folder-clock',\n      size: 24,\n      node: [['path', {\n        d: 'M16 14v2.2l1.6 1',\n        key: 'fo4ql5'\n      }], ['path', {\n        d: 'M7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2',\n        key: '1urifu'\n      }], ['circle', {\n        cx: '16',\n        cy: '16',\n        r: '6',\n        key: 'qoo3c4'\n      }]]\n    };\n    icon = signal(LucideFolderClock.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderClock_BaseFactory;\n      return function LucideFolderClock_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderClock_BaseFactory || (ɵLucideFolderClock_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderClock)))(__ngFactoryType__ || LucideFolderClock);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderClock,\n      selectors: [[\"svg\", \"lucideFolderClock\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c669,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderClock_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderClock_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderClock;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderCog\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMyAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOThhMiAyIDAgMCAxIDEuNjkuOWwuNjYgMS4yQTIgMiAwIDAgMCAxMiA2aDhhMiAyIDAgMCAxIDIgMnYzLjMiIC8+CiAgPHBhdGggZD0ibTE0LjMwNSAxOS41My45MjMtLjM4MiIgLz4KICA8cGF0aCBkPSJtMTUuMjI4IDE2Ljg1Mi0uOTIzLS4zODMiIC8+CiAgPHBhdGggZD0ibTE2Ljg1MiAxNS4yMjgtLjM4My0uOTIzIiAvPgogIDxwYXRoIGQ9Im0xNi44NTIgMjAuNzcyLS4zODMuOTI0IiAvPgogIDxwYXRoIGQ9Im0xOS4xNDggMTUuMjI4LjM4My0uOTIzIiAvPgogIDxwYXRoIGQ9Im0xOS41MyAyMS42OTYtLjM4Mi0uOTI0IiAvPgogIDxwYXRoIGQ9Im0yMC43NzIgMTYuODUyLjkyNC0uMzgzIiAvPgogIDxwYXRoIGQ9Im0yMC43NzIgMTkuMTQ4LjkyNC4zODMiIC8+CiAgPGNpcmNsZSBjeD0iMTgiIGN5PSIxOCIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/folder-cog\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderCog = /*#__PURE__*/(() => {\n  class LucideFolderCog extends LucideIconBase {\n    static icon = {\n      name: 'folder-cog',\n      size: 24,\n      node: [['path', {\n        d: 'M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3',\n        key: '128dxu'\n      }], ['path', {\n        d: 'm14.305 19.53.923-.382',\n        key: '3m78fa'\n      }], ['path', {\n        d: 'm15.228 16.852-.923-.383',\n        key: 'npixar'\n      }], ['path', {\n        d: 'm16.852 15.228-.383-.923',\n        key: '5xggr7'\n      }], ['path', {\n        d: 'm16.852 20.772-.383.924',\n        key: 'dpfhf9'\n      }], ['path', {\n        d: 'm19.148 15.228.383-.923',\n        key: '1reyyz'\n      }], ['path', {\n        d: 'm19.53 21.696-.382-.924',\n        key: '1goivc'\n      }], ['path', {\n        d: 'm20.772 16.852.924-.383',\n        key: 'htqkph'\n      }], ['path', {\n        d: 'm20.772 19.148.924.383',\n        key: '9w9pjp'\n      }], ['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }]],\n      aliases: ['folder-cog-2']\n    };\n    icon = signal(LucideFolderCog.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderCog_BaseFactory;\n      return function LucideFolderCog_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderCog_BaseFactory || (ɵLucideFolderCog_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderCog)))(__ngFactoryType__ || LucideFolderCog);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderCog,\n      selectors: [[\"svg\", \"lucideFolderCog\", \"\"], [\"svg\", \"lucideFolderCog2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c670,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderCog_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderCog_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderCog;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFolderCog\n */\nconst LucideFolderCog2 = LucideFolderCog;\n\n/**\n * @component @name FolderDot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAyMGgxNmEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45M2EyIDIgMCAwIDEtMS42Ni0uOWwtLjgyLTEuMkEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2MwIDEuMS45IDIgMiAyWiIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEzIiByPSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/folder-dot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderDot = /*#__PURE__*/(() => {\n  class LucideFolderDot extends LucideIconBase {\n    static icon = {\n      name: 'folder-dot',\n      size: 24,\n      node: [['path', {\n        d: 'M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z',\n        key: '1fr9dc'\n      }], ['circle', {\n        cx: '12',\n        cy: '13',\n        r: '1',\n        key: '49l61u'\n      }]]\n    };\n    icon = signal(LucideFolderDot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderDot_BaseFactory;\n      return function LucideFolderDot_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderDot_BaseFactory || (ɵLucideFolderDot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderDot)))(__ngFactoryType__ || LucideFolderDot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderDot,\n      selectors: [[\"svg\", \"lucideFolderDot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c671,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderDot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderDot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderDot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderCode\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTAuNSA4IDEzbDIgMi41IiAvPgogIDxwYXRoIGQ9Im0xNCAxMC41IDIgMi41LTIgMi41IiAvPgogIDxwYXRoIGQ9Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-code\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderCode = /*#__PURE__*/(() => {\n  class LucideFolderCode extends LucideIconBase {\n    static icon = {\n      name: 'folder-code',\n      size: 24,\n      node: [['path', {\n        d: 'M10 10.5 8 13l2 2.5',\n        key: 'm4t9c1'\n      }], ['path', {\n        d: 'm14 10.5 2 2.5-2 2.5',\n        key: '14w2eb'\n      }], ['path', {\n        d: 'M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z',\n        key: '1u1bxd'\n      }]]\n    };\n    icon = signal(LucideFolderCode.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderCode_BaseFactory;\n      return function LucideFolderCode_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderCode_BaseFactory || (ɵLucideFolderCode_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderCode)))(__ngFactoryType__ || LucideFolderCode);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderCode,\n      selectors: [[\"svg\", \"lucideFolderCode\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c672,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderCode_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderCode_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderCode;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderClosed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIiAvPgogIDxwYXRoIGQ9Ik0yIDEwaDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/folder-closed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderClosed = /*#__PURE__*/(() => {\n  class LucideFolderClosed extends LucideIconBase {\n    static icon = {\n      name: 'folder-closed',\n      size: 24,\n      node: [['path', {\n        d: 'M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z',\n        key: '1kt360'\n      }], ['path', {\n        d: 'M2 10h20',\n        key: '1ir3d8'\n      }]]\n    };\n    icon = signal(LucideFolderClosed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderClosed_BaseFactory;\n      return function LucideFolderClosed_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderClosed_BaseFactory || (ɵLucideFolderClosed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderClosed)))(__ngFactoryType__ || LucideFolderClosed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderClosed,\n      selectors: [[\"svg\", \"lucideFolderClosed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c673,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderClosed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderClosed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderClosed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderHeart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNjM4IDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDIwYTIgMiAwIDAgMSAyIDJ2My40MTciIC8+CiAgPHBhdGggZD0iTTE0LjYyIDE4LjhBMi4yNSAyLjI1IDAgMSAxIDE4IDE1LjgzNmEyLjI1IDIuMjUgMCAxIDEgMy4zOCAyLjk2NmwtMi42MjYgMi44NTZhLjk5OC45OTggMCAwIDEtMS41MDcgMHoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-heart\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderHeart = /*#__PURE__*/(() => {\n  class LucideFolderHeart extends LucideIconBase {\n    static icon = {\n      name: 'folder-heart',\n      size: 24,\n      node: [['path', {\n        d: 'M10.638 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v3.417',\n        key: '10r6g4'\n      }], ['path', {\n        d: 'M14.62 18.8A2.25 2.25 0 1 1 18 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z',\n        key: '15cy7q'\n      }]]\n    };\n    icon = signal(LucideFolderHeart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderHeart_BaseFactory;\n      return function LucideFolderHeart_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderHeart_BaseFactory || (ɵLucideFolderHeart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderHeart)))(__ngFactoryType__ || LucideFolderHeart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderHeart,\n      selectors: [[\"svg\", \"lucideFolderHeart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c674,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderHeart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderHeart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderHeart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderGit\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEzIiByPSIyIiAvPgogIDxwYXRoIGQ9Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloiIC8+CiAgPHBhdGggZD0iTTE0IDEzaDMiIC8+CiAgPHBhdGggZD0iTTcgMTNoMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/folder-git\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderGit = /*#__PURE__*/(() => {\n  class LucideFolderGit extends LucideIconBase {\n    static icon = {\n      name: 'folder-git',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '13',\n        r: '2',\n        key: '1c1ljs'\n      }], ['path', {\n        d: 'M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z',\n        key: '1kt360'\n      }], ['path', {\n        d: 'M14 13h3',\n        key: '1dgedf'\n      }], ['path', {\n        d: 'M7 13h3',\n        key: '1pygq7'\n      }]]\n    };\n    icon = signal(LucideFolderGit.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderGit_BaseFactory;\n      return function LucideFolderGit_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderGit_BaseFactory || (ɵLucideFolderGit_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderGit)))(__ngFactoryType__ || LucideFolderGit);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderGit,\n      selectors: [[\"svg\", \"lucideFolderGit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c675,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderGit_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderGit_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderGit;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIiAvPgogIDxwYXRoIGQ9Ik0xMiAxMHY2IiAvPgogIDxwYXRoIGQ9Im0xNSAxMy0zIDMtMy0zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/folder-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderDown = /*#__PURE__*/(() => {\n  class LucideFolderDown extends LucideIconBase {\n    static icon = {\n      name: 'folder-down',\n      size: 24,\n      node: [['path', {\n        d: 'M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z',\n        key: '1kt360'\n      }], ['path', {\n        d: 'M12 10v6',\n        key: '1bos4e'\n      }], ['path', {\n        d: 'm15 13-3 3-3-3',\n        key: '6j2sf0'\n      }]]\n    };\n    icon = signal(LucideFolderDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderDown_BaseFactory;\n      return function LucideFolderDown_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderDown_BaseFactory || (ɵLucideFolderDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderDown)))(__ngFactoryType__ || LucideFolderDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderDown,\n      selectors: [[\"svg\", \"lucideFolderDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c676,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderGit2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggMTlhNSA1IDAgMCAxLTUtNXY4IiAvPgogIDxwYXRoIGQ9Ik05IDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDIwYTIgMiAwIDAgMSAyIDJ2NSIgLz4KICA8Y2lyY2xlIGN4PSIxMyIgY3k9IjEyIiByPSIyIiAvPgogIDxjaXJjbGUgY3g9IjIwIiBjeT0iMTkiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-git-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderGit2 = /*#__PURE__*/(() => {\n  class LucideFolderGit2 extends LucideIconBase {\n    static icon = {\n      name: 'folder-git-2',\n      size: 24,\n      node: [['path', {\n        d: 'M18 19a5 5 0 0 1-5-5v8',\n        key: 'sz5oeg'\n      }], ['path', {\n        d: 'M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5',\n        key: '1w6njk'\n      }], ['circle', {\n        cx: '13',\n        cy: '12',\n        r: '2',\n        key: '1j92g6'\n      }], ['circle', {\n        cx: '20',\n        cy: '19',\n        r: '2',\n        key: '1obnsp'\n      }]]\n    };\n    icon = signal(LucideFolderGit2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderGit2_BaseFactory;\n      return function LucideFolderGit2_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderGit2_BaseFactory || (ɵLucideFolderGit2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderGit2)))(__ngFactoryType__ || LucideFolderGit2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderGit2,\n      selectors: [[\"svg\", \"lucideFolderGit2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c677,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderGit2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderGit2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderGit2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderKanban\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAyMGgxNmEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45M2EyIDIgMCAwIDEtMS42Ni0uOWwtLjgyLTEuMkEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2MwIDEuMS45IDIgMiAyWiIgLz4KICA8cGF0aCBkPSJNOCAxMHY0IiAvPgogIDxwYXRoIGQ9Ik0xMiAxMHYyIiAvPgogIDxwYXRoIGQ9Ik0xNiAxMHY2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/folder-kanban\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderKanban = /*#__PURE__*/(() => {\n  class LucideFolderKanban extends LucideIconBase {\n    static icon = {\n      name: 'folder-kanban',\n      size: 24,\n      node: [['path', {\n        d: 'M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z',\n        key: '1fr9dc'\n      }], ['path', {\n        d: 'M8 10v4',\n        key: 'tgpxqk'\n      }], ['path', {\n        d: 'M12 10v2',\n        key: 'hh53o1'\n      }], ['path', {\n        d: 'M16 10v6',\n        key: '1d6xys'\n      }]]\n    };\n    icon = signal(LucideFolderKanban.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderKanban_BaseFactory;\n      return function LucideFolderKanban_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderKanban_BaseFactory || (ɵLucideFolderKanban_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderKanban)))(__ngFactoryType__ || LucideFolderKanban);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderKanban,\n      selectors: [[\"svg\", \"lucideFolderKanban\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c678,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderKanban_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderKanban_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderKanban;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderKey\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMjBINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYxLjM2IiAvPgogIDxwYXRoIGQ9Ik0xOSAxMnY2IiAvPgogIDxwYXRoIGQ9Ik0xOSAxNGgyIiAvPgogIDxjaXJjbGUgY3g9IjE5IiBjeT0iMjAiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-key\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderKey = /*#__PURE__*/(() => {\n  class LucideFolderKey extends LucideIconBase {\n    static icon = {\n      name: 'folder-key',\n      size: 24,\n      node: [['path', {\n        d: 'M13 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v1.36',\n        key: '1shsnm'\n      }], ['path', {\n        d: 'M19 12v6',\n        key: 'kflna4'\n      }], ['path', {\n        d: 'M19 14h2',\n        key: 'wp2qbk'\n      }], ['circle', {\n        cx: '19',\n        cy: '20',\n        r: '2',\n        key: '1jfyz6'\n      }]]\n    };\n    icon = signal(LucideFolderKey.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderKey_BaseFactory;\n      return function LucideFolderKey_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderKey_BaseFactory || (ɵLucideFolderKey_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderKey)))(__ngFactoryType__ || LucideFolderKey);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderKey,\n      selectors: [[\"svg\", \"lucideFolderKey\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c679,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderKey_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderKey_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderKey;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderLock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI1IiB4PSIxNCIgeT0iMTciIHJ4PSIxIiAvPgogIDxwYXRoIGQ9Ik0xMCAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjIuNSIgLz4KICA8cGF0aCBkPSJNMjAgMTd2LTJhMiAyIDAgMSAwLTQgMHYyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/folder-lock\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderLock = /*#__PURE__*/(() => {\n  class LucideFolderLock extends LucideIconBase {\n    static icon = {\n      name: 'folder-lock',\n      size: 24,\n      node: [['rect', {\n        width: '8',\n        height: '5',\n        x: '14',\n        y: '17',\n        rx: '1',\n        key: '19aais'\n      }], ['path', {\n        d: 'M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5',\n        key: '1w6v7t'\n      }], ['path', {\n        d: 'M20 17v-2a2 2 0 1 0-4 0v2',\n        key: 'pwaxnr'\n      }]]\n    };\n    icon = signal(LucideFolderLock.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderLock_BaseFactory;\n      return function LucideFolderLock_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderLock_BaseFactory || (ɵLucideFolderLock_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderLock)))(__ngFactoryType__ || LucideFolderLock);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderLock,\n      selectors: [[\"svg\", \"lucideFolderLock\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c680,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderLock_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderLock_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderLock;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderInput\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA5VjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMnYtMSIgLz4KICA8cGF0aCBkPSJNMiAxM2gxMCIgLz4KICA8cGF0aCBkPSJtOSAxNiAzLTMtMy0zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/folder-input\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderInput = /*#__PURE__*/(() => {\n  class LucideFolderInput extends LucideIconBase {\n    static icon = {\n      name: 'folder-input',\n      size: 24,\n      node: [['path', {\n        d: 'M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1',\n        key: 'fm4g5t'\n      }], ['path', {\n        d: 'M2 13h10',\n        key: 'pgb2dq'\n      }], ['path', {\n        d: 'm9 16 3-3-3-3',\n        key: '6m91ic'\n      }]]\n    };\n    icon = signal(LucideFolderInput.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderInput_BaseFactory;\n      return function LucideFolderInput_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderInput_BaseFactory || (ɵLucideFolderInput_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderInput)))(__ngFactoryType__ || LucideFolderInput);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderInput,\n      selectors: [[\"svg\", \"lucideFolderInput\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c681,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderInput_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderInput_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderInput;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSAxM2g2IiAvPgogIDxwYXRoIGQ9Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderMinus = /*#__PURE__*/(() => {\n  class LucideFolderMinus extends LucideIconBase {\n    static icon = {\n      name: 'folder-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M9 13h6',\n        key: '1uhe8q'\n      }], ['path', {\n        d: 'M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z',\n        key: '1kt360'\n      }]]\n    };\n    icon = signal(LucideFolderMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderMinus_BaseFactory;\n      return function LucideFolderMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderMinus_BaseFactory || (ɵLucideFolderMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderMinus)))(__ngFactoryType__ || LucideFolderMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderMinus,\n      selectors: [[\"svg\", \"lucideFolderMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c682,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderOpenDot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiAxNCAxLjQ1LTIuOUEyIDIgMCAwIDEgOS4yNCAxMEgyMGEyIDIgMCAwIDEgMS45NCAyLjVsLTEuNTUgNmEyIDIgMCAwIDEtMS45NCAxLjVINGEyIDIgMCAwIDEtMi0yVjVjMC0xLjEuOS0yIDItMmgzLjkzYTIgMiAwIDAgMSAxLjY2LjlsLjgyIDEuMmEyIDIgMCAwIDAgMS42Ni45SDE4YTIgMiAwIDAgMSAyIDJ2MiIgLz4KICA8Y2lyY2xlIGN4PSIxNCIgY3k9IjE1IiByPSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/folder-open-dot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderOpenDot = /*#__PURE__*/(() => {\n  class LucideFolderOpenDot extends LucideIconBase {\n    static icon = {\n      name: 'folder-open-dot',\n      size: 24,\n      node: [['path', {\n        d: 'm6 14 1.45-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.55 6a2 2 0 0 1-1.94 1.5H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H18a2 2 0 0 1 2 2v2',\n        key: '1nmvlm'\n      }], ['circle', {\n        cx: '14',\n        cy: '15',\n        r: '1',\n        key: '1gm4qj'\n      }]]\n    };\n    icon = signal(LucideFolderOpenDot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderOpenDot_BaseFactory;\n      return function LucideFolderOpenDot_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderOpenDot_BaseFactory || (ɵLucideFolderOpenDot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderOpenDot)))(__ngFactoryType__ || LucideFolderOpenDot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderOpenDot,\n      selectors: [[\"svg\", \"lucideFolderOpenDot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c683,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderOpenDot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderOpenDot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderOpenDot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiAxNCAxLjUtMi45QTIgMiAwIDAgMSA5LjI0IDEwSDIwYTIgMiAwIDAgMSAxLjk0IDIuNWwtMS41NCA2YTIgMiAwIDAgMS0xLjk1IDEuNUg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgxOGEyIDIgMCAwIDEgMiAydjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-open\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderOpen = /*#__PURE__*/(() => {\n  class LucideFolderOpen extends LucideIconBase {\n    static icon = {\n      name: 'folder-open',\n      size: 24,\n      node: [['path', {\n        d: 'm6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2',\n        key: 'usdka0'\n      }]]\n    };\n    icon = signal(LucideFolderOpen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderOpen_BaseFactory;\n      return function LucideFolderOpen_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderOpen_BaseFactory || (ɵLucideFolderOpen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderOpen)))(__ngFactoryType__ || LucideFolderOpen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderOpen,\n      selectors: [[\"svg\", \"lucideFolderOpen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c684,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderOpen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderOpen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderOpen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderPen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxMS41VjVhMiAyIDAgMCAxIDItMmgzLjljLjcgMCAxLjMuMyAxLjcuOWwuOCAxLjJjLjQuNiAxIC45IDEuNy45SDIwYTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMmgtOS41IiAvPgogIDxwYXRoIGQ9Ik0xMS4zNzggMTMuNjI2YTEgMSAwIDEgMC0zLjAwNC0zLjAwNGwtNS4wMSA1LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-pen\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderPen = /*#__PURE__*/(() => {\n  class LucideFolderPen extends LucideIconBase {\n    static icon = {\n      name: 'folder-pen',\n      size: 24,\n      node: [['path', {\n        d: 'M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5',\n        key: 'a8xqs0'\n      }], ['path', {\n        d: 'M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z',\n        key: '1saktj'\n      }]],\n      aliases: ['folder-edit']\n    };\n    icon = signal(LucideFolderPen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderPen_BaseFactory;\n      return function LucideFolderPen_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderPen_BaseFactory || (ɵLucideFolderPen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderPen)))(__ngFactoryType__ || LucideFolderPen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderPen,\n      selectors: [[\"svg\", \"lucideFolderPen\", \"\"], [\"svg\", \"lucideFolderEdit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c685,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderPen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderPen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderPen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFolderPen\n */\nconst LucideFolderEdit = LucideFolderPen;\n\n/**\n * @component @name FolderPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTB2NiIgLz4KICA8cGF0aCBkPSJNOSAxM2g2IiAvPgogIDxwYXRoIGQ9Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderPlus = /*#__PURE__*/(() => {\n  class LucideFolderPlus extends LucideIconBase {\n    static icon = {\n      name: 'folder-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M12 10v6',\n        key: '1bos4e'\n      }], ['path', {\n        d: 'M9 13h6',\n        key: '1uhe8q'\n      }], ['path', {\n        d: 'M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z',\n        key: '1kt360'\n      }]]\n    };\n    icon = signal(LucideFolderPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderPlus_BaseFactory;\n      return function LucideFolderPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderPlus_BaseFactory || (ɵLucideFolderPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderPlus)))(__ngFactoryType__ || LucideFolderPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderPlus,\n      selectors: [[\"svg\", \"lucideFolderPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c686,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderOutput\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA3LjVWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0xLjUiIC8+CiAgPHBhdGggZD0iTTIgMTNoMTAiIC8+CiAgPHBhdGggZD0ibTUgMTAtMyAzIDMgMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/folder-output\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderOutput = /*#__PURE__*/(() => {\n  class LucideFolderOutput extends LucideIconBase {\n    static icon = {\n      name: 'folder-output',\n      size: 24,\n      node: [['path', {\n        d: 'M2 7.5V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-1.5',\n        key: '1yk7aj'\n      }], ['path', {\n        d: 'M2 13h10',\n        key: 'pgb2dq'\n      }], ['path', {\n        d: 'm5 10-3 3 3 3',\n        key: '1r8ie0'\n      }]]\n    };\n    icon = signal(LucideFolderOutput.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderOutput_BaseFactory;\n      return function LucideFolderOutput_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderOutput_BaseFactory || (ɵLucideFolderOutput_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderOutput)))(__ngFactoryType__ || LucideFolderOutput);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderOutput,\n      selectors: [[\"svg\", \"lucideFolderOutput\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c687,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderOutput_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderOutput_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderOutput;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderSearch2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMS41IiBjeT0iMTIuNSIgcj0iMi41IiAvPgogIDxwYXRoIGQ9Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloiIC8+CiAgPHBhdGggZD0iTTEzLjMgMTQuMyAxNSAxNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/folder-search-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderSearch2 = /*#__PURE__*/(() => {\n  class LucideFolderSearch2 extends LucideIconBase {\n    static icon = {\n      name: 'folder-search-2',\n      size: 24,\n      node: [['circle', {\n        cx: '11.5',\n        cy: '12.5',\n        r: '2.5',\n        key: '1ea5ju'\n      }], ['path', {\n        d: 'M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z',\n        key: '1kt360'\n      }], ['path', {\n        d: 'M13.3 14.3 15 16',\n        key: '1y4v1n'\n      }]]\n    };\n    icon = signal(LucideFolderSearch2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderSearch2_BaseFactory;\n      return function LucideFolderSearch2_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderSearch2_BaseFactory || (ɵLucideFolderSearch2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderSearch2)))(__ngFactoryType__ || LucideFolderSearch2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderSearch2,\n      selectors: [[\"svg\", \"lucideFolderSearch2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c688,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderSearch2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderSearch2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderSearch2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderSymlink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA5LjM1VjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMnYtM2EyIDIgMCAwIDEgMi0yaDciIC8+CiAgPHBhdGggZD0ibTggMTYgMy0zLTMtMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/folder-symlink\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderSymlink = /*#__PURE__*/(() => {\n  class LucideFolderSymlink extends LucideIconBase {\n    static icon = {\n      name: 'folder-symlink',\n      size: 24,\n      node: [['path', {\n        d: 'M2 9.35V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7',\n        key: 'y8kt7d'\n      }], ['path', {\n        d: 'm8 16 3-3-3-3',\n        key: 'rlqrt1'\n      }]]\n    };\n    icon = signal(LucideFolderSymlink.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderSymlink_BaseFactory;\n      return function LucideFolderSymlink_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderSymlink_BaseFactory || (ɵLucideFolderSymlink_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderSymlink)))(__ngFactoryType__ || LucideFolderSymlink);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderSymlink,\n      selectors: [[\"svg\", \"lucideFolderSymlink\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c689,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderSymlink_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderSymlink_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderSymlink;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderSearch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNyAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjQuMSIgLz4KICA8cGF0aCBkPSJtMjEgMjEtMS45LTEuOSIgLz4KICA8Y2lyY2xlIGN4PSIxNyIgY3k9IjE3IiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/folder-search\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderSearch = /*#__PURE__*/(() => {\n  class LucideFolderSearch extends LucideIconBase {\n    static icon = {\n      name: 'folder-search',\n      size: 24,\n      node: [['path', {\n        d: 'M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1',\n        key: '1bw5m7'\n      }], ['path', {\n        d: 'm21 21-1.9-1.9',\n        key: '1g2n9r'\n      }], ['circle', {\n        cx: '17',\n        cy: '17',\n        r: '3',\n        key: '18b49y'\n      }]]\n    };\n    icon = signal(LucideFolderSearch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderSearch_BaseFactory;\n      return function LucideFolderSearch_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderSearch_BaseFactory || (ɵLucideFolderSearch_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderSearch)))(__ngFactoryType__ || LucideFolderSearch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderSearch,\n      selectors: [[\"svg\", \"lucideFolderSearch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c690,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderSearch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderSearch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderSearch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderRoot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAyMGgxNmEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45M2EyIDIgMCAwIDEtMS42Ni0uOWwtLjgyLTEuMkEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2MwIDEuMS45IDIgMiAyWiIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEzIiByPSIyIiAvPgogIDxwYXRoIGQ9Ik0xMiAxNXY1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/folder-root\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderRoot = /*#__PURE__*/(() => {\n  class LucideFolderRoot extends LucideIconBase {\n    static icon = {\n      name: 'folder-root',\n      size: 24,\n      node: [['path', {\n        d: 'M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z',\n        key: '1fr9dc'\n      }], ['circle', {\n        cx: '12',\n        cy: '13',\n        r: '2',\n        key: '1c1ljs'\n      }], ['path', {\n        d: 'M12 15v5',\n        key: '11xva1'\n      }]]\n    };\n    icon = signal(LucideFolderRoot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderRoot_BaseFactory;\n      return function LucideFolderRoot_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderRoot_BaseFactory || (ɵLucideFolderRoot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderRoot)))(__ngFactoryType__ || LucideFolderRoot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderRoot,\n      selectors: [[\"svg\", \"lucideFolderRoot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c691,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderRoot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderRoot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderRoot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderSync\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydi41IiAvPgogIDxwYXRoIGQ9Ik0xMiAxMHY0aDQiIC8+CiAgPHBhdGggZD0ibTEyIDE0IDEuNTM1LTEuNjA1YTUgNSAwIDAgMSA4IDEuNSIgLz4KICA8cGF0aCBkPSJNMjIgMjJ2LTRoLTQiIC8+CiAgPHBhdGggZD0ibTIyIDE4LTEuNTM1IDEuNjA1YTUgNSAwIDAgMS04LTEuNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/folder-sync\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderSync = /*#__PURE__*/(() => {\n  class LucideFolderSync extends LucideIconBase {\n    static icon = {\n      name: 'folder-sync',\n      size: 24,\n      node: [['path', {\n        d: 'M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5',\n        key: '1dkoa9'\n      }], ['path', {\n        d: 'M12 10v4h4',\n        key: '1czhmt'\n      }], ['path', {\n        d: 'm12 14 1.535-1.605a5 5 0 0 1 8 1.5',\n        key: 'lvuxfi'\n      }], ['path', {\n        d: 'M22 22v-4h-4',\n        key: '1ewp4q'\n      }], ['path', {\n        d: 'm22 18-1.535 1.605a5 5 0 0 1-8-1.5',\n        key: '14ync0'\n      }]]\n    };\n    icon = signal(LucideFolderSync.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderSync_BaseFactory;\n      return function LucideFolderSync_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderSync_BaseFactory || (ɵLucideFolderSync_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderSync)))(__ngFactoryType__ || LucideFolderSync);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderSync,\n      selectors: [[\"svg\", \"lucideFolderSync\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c692,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderSync_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderSync_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderSync;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderTree\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTBhMSAxIDAgMCAwIDEtMVY2YTEgMSAwIDAgMC0xLTFoLTIuNWExIDEgMCAwIDEtLjgtLjRsLS45LTEuMkExIDEgMCAwIDAgMTUgM2gtMmExIDEgMCAwIDAtMSAxdjVhMSAxIDAgMCAwIDEgMVoiIC8+CiAgPHBhdGggZD0iTTIwIDIxYTEgMSAwIDAgMCAxLTF2LTNhMSAxIDAgMCAwLTEtMWgtMi45YTEgMSAwIDAgMS0uODgtLjU1bC0uNDItLjg1YTEgMSAwIDAgMC0uOTItLjZIMTNhMSAxIDAgMCAwLTEgMXY1YTEgMSAwIDAgMCAxIDFaIiAvPgogIDxwYXRoIGQ9Ik0zIDVhMiAyIDAgMCAwIDIgMmgzIiAvPgogIDxwYXRoIGQ9Ik0zIDN2MTNhMiAyIDAgMCAwIDIgMmgzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/folder-tree\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderTree = /*#__PURE__*/(() => {\n  class LucideFolderTree extends LucideIconBase {\n    static icon = {\n      name: 'folder-tree',\n      size: 24,\n      node: [['path', {\n        d: 'M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z',\n        key: 'hod4my'\n      }], ['path', {\n        d: 'M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z',\n        key: 'w4yl2u'\n      }], ['path', {\n        d: 'M3 5a2 2 0 0 0 2 2h3',\n        key: 'f2jnh7'\n      }], ['path', {\n        d: 'M3 3v13a2 2 0 0 0 2 2h3',\n        key: 'k8epm1'\n      }]]\n    };\n    icon = signal(LucideFolderTree.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderTree_BaseFactory;\n      return function LucideFolderTree_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderTree_BaseFactory || (ɵLucideFolderTree_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderTree)))(__ngFactoryType__ || LucideFolderTree);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderTree,\n      selectors: [[\"svg\", \"lucideFolderTree\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c693,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderTree_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderTree_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderTree;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIiAvPgogIDxwYXRoIGQ9Ik0xMiAxMHY2IiAvPgogIDxwYXRoIGQ9Im05IDEzIDMtMyAzIDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderUp = /*#__PURE__*/(() => {\n  class LucideFolderUp extends LucideIconBase {\n    static icon = {\n      name: 'folder-up',\n      size: 24,\n      node: [['path', {\n        d: 'M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z',\n        key: '1kt360'\n      }], ['path', {\n        d: 'M12 10v6',\n        key: '1bos4e'\n      }], ['path', {\n        d: 'm9 13 3-3 3 3',\n        key: '1pxg3c'\n      }]]\n    };\n    icon = signal(LucideFolderUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderUp_BaseFactory;\n      return function LucideFolderUp_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderUp_BaseFactory || (ɵLucideFolderUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderUp)))(__ngFactoryType__ || LucideFolderUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderUp,\n      selectors: [[\"svg\", \"lucideFolderUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c694,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Folder\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/folder\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolder = /*#__PURE__*/(() => {\n  class LucideFolder extends LucideIconBase {\n    static icon = {\n      name: 'folder',\n      size: 24,\n      node: [['path', {\n        d: 'M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z',\n        key: '1kt360'\n      }]]\n    };\n    icon = signal(LucideFolder.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolder_BaseFactory;\n      return function LucideFolder_Factory(__ngFactoryType__) {\n        return (ɵLucideFolder_BaseFactory || (ɵLucideFolder_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolder)))(__ngFactoryType__ || LucideFolder);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolder,\n      selectors: [[\"svg\", \"lucideFolder\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c695,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolder_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolder_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolder;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FolderX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIiAvPgogIDxwYXRoIGQ9Im05LjUgMTAuNSA1IDUiIC8+CiAgPHBhdGggZD0ibTE0LjUgMTAuNS01IDUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolderX = /*#__PURE__*/(() => {\n  class LucideFolderX extends LucideIconBase {\n    static icon = {\n      name: 'folder-x',\n      size: 24,\n      node: [['path', {\n        d: 'M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z',\n        key: '1kt360'\n      }], ['path', {\n        d: 'm9.5 10.5 5 5',\n        key: 'ra9qjz'\n      }], ['path', {\n        d: 'm14.5 10.5-5 5',\n        key: 'l2rkpq'\n      }]]\n    };\n    icon = signal(LucideFolderX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolderX_BaseFactory;\n      return function LucideFolderX_Factory(__ngFactoryType__) {\n        return (ɵLucideFolderX_BaseFactory || (ɵLucideFolderX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolderX)))(__ngFactoryType__ || LucideFolderX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolderX,\n      selectors: [[\"svg\", \"lucideFolderX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c696,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolderX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolderX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolderX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Folders\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNWEyIDIgMCAwIDEgMiAydjdhMiAyIDAgMCAxLTIgMkg5YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDIuNWExLjUgMS41IDAgMCAxIDEuMi42bC42LjhhMS41IDEuNSAwIDAgMCAxLjIuNnoiIC8+CiAgPHBhdGggZD0iTTMgOC4yNjhhMiAyIDAgMCAwLTEgMS43MzhWMTlhMiAyIDAgMCAwIDIgMmgxMWEyIDIgMCAwIDAgMS43MzItMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/folders\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFolders = /*#__PURE__*/(() => {\n  class LucideFolders extends LucideIconBase {\n    static icon = {\n      name: 'folders',\n      size: 24,\n      node: [['path', {\n        d: 'M20 5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h2.5a1.5 1.5 0 0 1 1.2.6l.6.8a1.5 1.5 0 0 0 1.2.6z',\n        key: 'a4852j'\n      }], ['path', {\n        d: 'M3 8.268a2 2 0 0 0-1 1.738V19a2 2 0 0 0 2 2h11a2 2 0 0 0 1.732-1',\n        key: 'yxbcw3'\n      }]]\n    };\n    icon = signal(LucideFolders.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFolders_BaseFactory;\n      return function LucideFolders_Factory(__ngFactoryType__) {\n        return (ɵLucideFolders_BaseFactory || (ɵLucideFolders_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFolders)))(__ngFactoryType__ || LucideFolders);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFolders,\n      selectors: [[\"svg\", \"lucideFolders\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c697,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFolders_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFolders_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFolders;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Footprints\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxNnYtMi4zOEM0IDExLjUgMi45NyAxMC41IDMgOGMuMDMtMi43MiAxLjQ5LTYgNC41LTZDOS4zNyAyIDEwIDMuOCAxMCA1LjVjMCAzLjExLTIgNS42Ni0yIDguNjhWMTZhMiAyIDAgMSAxLTQgMFoiIC8+CiAgPHBhdGggZD0iTTIwIDIwdi0yLjM4YzAtMi4xMiAxLjAzLTMuMTIgMS01LjYyLS4wMy0yLjcyLTEuNDktNi00LjUtNkMxNC42MyA2IDE0IDcuOCAxNCA5LjVjMCAzLjExIDIgNS42NiAyIDguNjhWMjBhMiAyIDAgMSAwIDQgMFoiIC8+CiAgPHBhdGggZD0iTTE2IDE3aDQiIC8+CiAgPHBhdGggZD0iTTQgMTNoNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/footprints\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFootprints = /*#__PURE__*/(() => {\n  class LucideFootprints extends LucideIconBase {\n    static icon = {\n      name: 'footprints',\n      size: 24,\n      node: [['path', {\n        d: 'M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z',\n        key: '1dudjm'\n      }], ['path', {\n        d: 'M20 20v-2.38c0-2.12 1.03-3.12 1-5.62-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0Z',\n        key: 'l2t8xc'\n      }], ['path', {\n        d: 'M16 17h4',\n        key: '1dejxt'\n      }], ['path', {\n        d: 'M4 13h4',\n        key: '1bwh8b'\n      }]]\n    };\n    icon = signal(LucideFootprints.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFootprints_BaseFactory;\n      return function LucideFootprints_Factory(__ngFactoryType__) {\n        return (ɵLucideFootprints_BaseFactory || (ɵLucideFootprints_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFootprints)))(__ngFactoryType__ || LucideFootprints);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFootprints,\n      selectors: [[\"svg\", \"lucideFootprints\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c698,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFootprints_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFootprints_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFootprints;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Forklift\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTJINWEyIDIgMCAwIDAtMiAydjUiIC8+CiAgPHBhdGggZD0iTTE1IDE5aDciIC8+CiAgPHBhdGggZD0iTTE2IDE5VjIiIC8+CiAgPHBhdGggZD0iTTYgMTJWN2EyIDIgMCAwIDEgMi0yaDIuMTcyYTIgMiAwIDAgMSAxLjQxNC41ODZsMy44MjggMy44MjhBMiAyIDAgMCAxIDE2IDEwLjgyOCIgLz4KICA8cGF0aCBkPSJNNyAxOWg0IiAvPgogIDxjaXJjbGUgY3g9IjEzIiBjeT0iMTkiIHI9IjIiIC8+CiAgPGNpcmNsZSBjeD0iNSIgY3k9IjE5IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/forklift\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideForklift = /*#__PURE__*/(() => {\n  class LucideForklift extends LucideIconBase {\n    static icon = {\n      name: 'forklift',\n      size: 24,\n      node: [['path', {\n        d: 'M12 12H5a2 2 0 0 0-2 2v5',\n        key: '7zsz91'\n      }], ['path', {\n        d: 'M15 19h7',\n        key: '1askl3'\n      }], ['path', {\n        d: 'M16 19V2',\n        key: '1gf9nk'\n      }], ['path', {\n        d: 'M6 12V7a2 2 0 0 1 2-2h2.172a2 2 0 0 1 1.414.586l3.828 3.828A2 2 0 0 1 16 10.828',\n        key: 'enx9tf'\n      }], ['path', {\n        d: 'M7 19h4',\n        key: 'fumhkk'\n      }], ['circle', {\n        cx: '13',\n        cy: '19',\n        r: '2',\n        key: 'wjnkru'\n      }], ['circle', {\n        cx: '5',\n        cy: '19',\n        r: '2',\n        key: 'v8kfzx'\n      }]]\n    };\n    icon = signal(LucideForklift.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideForklift_BaseFactory;\n      return function LucideForklift_Factory(__ngFactoryType__) {\n        return (ɵLucideForklift_BaseFactory || (ɵLucideForklift_BaseFactory = i0.ɵɵgetInheritedFactory(LucideForklift)))(__ngFactoryType__ || LucideForklift);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideForklift,\n      selectors: [[\"svg\", \"lucideForklift\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c699,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideForklift_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideForklift_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideForklift;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Forward\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMTcgNS01LTUtNSIgLz4KICA8cGF0aCBkPSJNNCAxOHYtMmE0IDQgMCAwIDEgNC00aDEyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/forward\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideForward = /*#__PURE__*/(() => {\n  class LucideForward extends LucideIconBase {\n    static icon = {\n      name: 'forward',\n      size: 24,\n      node: [['path', {\n        d: 'm15 17 5-5-5-5',\n        key: 'nf172w'\n      }], ['path', {\n        d: 'M4 18v-2a4 4 0 0 1 4-4h12',\n        key: 'jmiej9'\n      }]]\n    };\n    icon = signal(LucideForward.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideForward_BaseFactory;\n      return function LucideForward_Factory(__ngFactoryType__) {\n        return (ɵLucideForward_BaseFactory || (ɵLucideForward_BaseFactory = i0.ɵɵgetInheritedFactory(LucideForward)))(__ngFactoryType__ || LucideForward);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideForward,\n      selectors: [[\"svg\", \"lucideForward\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c700,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideForward_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideForward_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideForward;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Form\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxNGg2IiAvPgogIDxwYXRoIGQ9Ik00IDJoMTAiIC8+CiAgPHJlY3QgeD0iNCIgeT0iMTgiIHdpZHRoPSIxNiIgaGVpZ2h0PSI0IiByeD0iMSIgLz4KICA8cmVjdCB4PSI0IiB5PSI2IiB3aWR0aD0iMTYiIGhlaWdodD0iNCIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/form\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideForm = /*#__PURE__*/(() => {\n  class LucideForm extends LucideIconBase {\n    static icon = {\n      name: 'form',\n      size: 24,\n      node: [['path', {\n        d: 'M4 14h6',\n        key: '77gv2w'\n      }], ['path', {\n        d: 'M4 2h10',\n        key: 'a2b314'\n      }], ['rect', {\n        x: '4',\n        y: '18',\n        width: '16',\n        height: '4',\n        rx: '1',\n        key: 'sybzq6'\n      }], ['rect', {\n        x: '4',\n        y: '6',\n        width: '16',\n        height: '4',\n        rx: '1',\n        key: '1osc9e'\n      }]]\n    };\n    icon = signal(LucideForm.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideForm_BaseFactory;\n      return function LucideForm_Factory(__ngFactoryType__) {\n        return (ɵLucideForm_BaseFactory || (ɵLucideForm_BaseFactory = i0.ɵɵgetInheritedFactory(LucideForm)))(__ngFactoryType__ || LucideForm);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideForm,\n      selectors: [[\"svg\", \"lucideForm\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c701,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideForm_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideForm_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideForm;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Frame\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMjIiIHgyPSIyIiB5MT0iNiIgeTI9IjYiIC8+CiAgPGxpbmUgeDE9IjIyIiB4Mj0iMiIgeTE9IjE4IiB5Mj0iMTgiIC8+CiAgPGxpbmUgeDE9IjYiIHgyPSI2IiB5MT0iMiIgeTI9IjIyIiAvPgogIDxsaW5lIHgxPSIxOCIgeDI9IjE4IiB5MT0iMiIgeTI9IjIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/frame\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFrame = /*#__PURE__*/(() => {\n  class LucideFrame extends LucideIconBase {\n    static icon = {\n      name: 'frame',\n      size: 24,\n      node: [['line', {\n        x1: '22',\n        x2: '2',\n        y1: '6',\n        y2: '6',\n        key: '15w7dq'\n      }], ['line', {\n        x1: '22',\n        x2: '2',\n        y1: '18',\n        y2: '18',\n        key: '1ip48p'\n      }], ['line', {\n        x1: '6',\n        x2: '6',\n        y1: '2',\n        y2: '22',\n        key: 'a2lnyx'\n      }], ['line', {\n        x1: '18',\n        x2: '18',\n        y1: '2',\n        y2: '22',\n        key: '8vb6jd'\n      }]]\n    };\n    icon = signal(LucideFrame.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFrame_BaseFactory;\n      return function LucideFrame_Factory(__ngFactoryType__) {\n        return (ɵLucideFrame_BaseFactory || (ɵLucideFrame_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFrame)))(__ngFactoryType__ || LucideFrame);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFrame,\n      selectors: [[\"svg\", \"lucideFrame\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c702,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFrame_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFrame_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFrame;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Frown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTYgMTZzLTEuNS0yLTQtMi00IDItNCAyIiAvPgogIDxsaW5lIHgxPSI5IiB4Mj0iOS4wMSIgeTE9IjkiIHkyPSI5IiAvPgogIDxsaW5lIHgxPSIxNSIgeDI9IjE1LjAxIiB5MT0iOSIgeTI9IjkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/frown\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFrown = /*#__PURE__*/(() => {\n  class LucideFrown extends LucideIconBase {\n    static icon = {\n      name: 'frown',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M16 16s-1.5-2-4-2-4 2-4 2',\n        key: 'epbg0q'\n      }], ['line', {\n        x1: '9',\n        x2: '9.01',\n        y1: '9',\n        y2: '9',\n        key: 'yxxnd0'\n      }], ['line', {\n        x1: '15',\n        x2: '15.01',\n        y1: '9',\n        y2: '9',\n        key: '1p4y9e'\n      }]]\n    };\n    icon = signal(LucideFrown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFrown_BaseFactory;\n      return function LucideFrown_Factory(__ngFactoryType__) {\n        return (ɵLucideFrown_BaseFactory || (ɵLucideFrown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFrown)))(__ngFactoryType__ || LucideFrown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFrown,\n      selectors: [[\"svg\", \"lucideFrown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c703,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFrown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFrown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFrown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Fuel\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMTNoMmEyIDIgMCAwIDEgMiAydjJhMiAyIDAgMCAwIDQgMHYtNi45OThhMiAyIDAgMCAwLS41OS0xLjQyTDE4IDUiIC8+CiAgPHBhdGggZD0iTTE0IDIxVjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTYiIC8+CiAgPHBhdGggZD0iTTIgMjFoMTMiIC8+CiAgPHBhdGggZD0iTTMgOWgxMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/fuel\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFuel = /*#__PURE__*/(() => {\n  class LucideFuel extends LucideIconBase {\n    static icon = {\n      name: 'fuel',\n      size: 24,\n      node: [['path', {\n        d: 'M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 4 0v-6.998a2 2 0 0 0-.59-1.42L18 5',\n        key: '1wtuz0'\n      }], ['path', {\n        d: 'M14 21V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v16',\n        key: 'e09ifn'\n      }], ['path', {\n        d: 'M2 21h13',\n        key: '1x0fut'\n      }], ['path', {\n        d: 'M3 9h11',\n        key: '1p7c0w'\n      }]]\n    };\n    icon = signal(LucideFuel.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFuel_BaseFactory;\n      return function LucideFuel_Factory(__ngFactoryType__) {\n        return (ɵLucideFuel_BaseFactory || (ɵLucideFuel_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFuel)))(__ngFactoryType__ || LucideFuel);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFuel,\n      selectors: [[\"svg\", \"lucideFuel\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c704,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFuel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFuel_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFuel;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Fullscreen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIiIC8+CiAgPHBhdGggZD0iTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIiAvPgogIDxyZWN0IHdpZHRoPSIxMCIgaGVpZ2h0PSI4IiB4PSI3IiB5PSI4IiByeD0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/fullscreen\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFullscreen = /*#__PURE__*/(() => {\n  class LucideFullscreen extends LucideIconBase {\n    static icon = {\n      name: 'fullscreen',\n      size: 24,\n      node: [['path', {\n        d: 'M3 7V5a2 2 0 0 1 2-2h2',\n        key: 'aa7l1z'\n      }], ['path', {\n        d: 'M17 3h2a2 2 0 0 1 2 2v2',\n        key: '4qcy5o'\n      }], ['path', {\n        d: 'M21 17v2a2 2 0 0 1-2 2h-2',\n        key: '6vwrx8'\n      }], ['path', {\n        d: 'M7 21H5a2 2 0 0 1-2-2v-2',\n        key: 'ioqczr'\n      }], ['rect', {\n        width: '10',\n        height: '8',\n        x: '7',\n        y: '8',\n        rx: '1',\n        key: 'vys8me'\n      }]]\n    };\n    icon = signal(LucideFullscreen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFullscreen_BaseFactory;\n      return function LucideFullscreen_Factory(__ngFactoryType__) {\n        return (ɵLucideFullscreen_BaseFactory || (ɵLucideFullscreen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFullscreen)))(__ngFactoryType__ || LucideFullscreen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFullscreen,\n      selectors: [[\"svg\", \"lucideFullscreen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c705,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFullscreen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFullscreen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFullscreen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FunnelPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuMzU0IDNIM2ExIDEgMCAwIDAtLjc0MiAxLjY3bDcuMjI1IDcuOTg5QTIgMiAwIDAgMSAxMCAxNHY2YTEgMSAwIDAgMCAuNTUzLjg5NWwyIDFBMSAxIDAgMCAwIDE0IDIxdi03YTIgMiAwIDAgMSAuNTE3LTEuMzQxbDEuMjE4LTEuMzQ4IiAvPgogIDxwYXRoIGQ9Ik0xNiA2aDYiIC8+CiAgPHBhdGggZD0iTTE5IDN2NiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/funnel-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFunnelPlus = /*#__PURE__*/(() => {\n  class LucideFunnelPlus extends LucideIconBase {\n    static icon = {\n      name: 'funnel-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M13.354 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14v6a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341l1.218-1.348',\n        key: '8mvsmf'\n      }], ['path', {\n        d: 'M16 6h6',\n        key: '1dogtp'\n      }], ['path', {\n        d: 'M19 3v6',\n        key: '1ytpjt'\n      }]]\n    };\n    icon = signal(LucideFunnelPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFunnelPlus_BaseFactory;\n      return function LucideFunnelPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideFunnelPlus_BaseFactory || (ɵLucideFunnelPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFunnelPlus)))(__ngFactoryType__ || LucideFunnelPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFunnelPlus,\n      selectors: [[\"svg\", \"lucideFunnelPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c706,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFunnelPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFunnelPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFunnelPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Funnel\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMjBhMSAxIDAgMCAwIC41NTMuODk1bDIgMUExIDEgMCAwIDAgMTQgMjF2LTdhMiAyIDAgMCAxIC41MTctMS4zNDFMMjEuNzQgNC42N0ExIDEgMCAwIDAgMjEgM0gzYTEgMSAwIDAgMC0uNzQyIDEuNjdsNy4yMjUgNy45ODlBMiAyIDAgMCAxIDEwIDE0eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/funnel\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFunnel = /*#__PURE__*/(() => {\n  class LucideFunnel extends LucideIconBase {\n    static icon = {\n      name: 'funnel',\n      size: 24,\n      node: [['path', {\n        d: 'M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z',\n        key: 'sc7q7i'\n      }]],\n      aliases: ['filter']\n    };\n    icon = signal(LucideFunnel.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFunnel_BaseFactory;\n      return function LucideFunnel_Factory(__ngFactoryType__) {\n        return (ɵLucideFunnel_BaseFactory || (ɵLucideFunnel_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFunnel)))(__ngFactoryType__ || LucideFunnel);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFunnel,\n      selectors: [[\"svg\", \"lucideFunnel\", \"\"], [\"svg\", \"lucideFilter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c707,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFunnel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFunnel_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFunnel;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFunnel\n */\nconst LucideFilter = LucideFunnel;\n\n/**\n * @component @name GalleryHorizontalEnd\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA3djEwIiAvPgogIDxwYXRoIGQ9Ik02IDV2MTQiIC8+CiAgPHJlY3Qgd2lkdGg9IjEyIiBoZWlnaHQ9IjE4IiB4PSIxMCIgeT0iMyIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/gallery-horizontal-end\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGalleryHorizontalEnd = /*#__PURE__*/(() => {\n  class LucideGalleryHorizontalEnd extends LucideIconBase {\n    static icon = {\n      name: 'gallery-horizontal-end',\n      size: 24,\n      node: [['path', {\n        d: 'M2 7v10',\n        key: 'a2pl2d'\n      }], ['path', {\n        d: 'M6 5v14',\n        key: '1kq3d7'\n      }], ['rect', {\n        width: '12',\n        height: '18',\n        x: '10',\n        y: '3',\n        rx: '2',\n        key: '13i7bc'\n      }]]\n    };\n    icon = signal(LucideGalleryHorizontalEnd.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGalleryHorizontalEnd_BaseFactory;\n      return function LucideGalleryHorizontalEnd_Factory(__ngFactoryType__) {\n        return (ɵLucideGalleryHorizontalEnd_BaseFactory || (ɵLucideGalleryHorizontalEnd_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGalleryHorizontalEnd)))(__ngFactoryType__ || LucideGalleryHorizontalEnd);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGalleryHorizontalEnd,\n      selectors: [[\"svg\", \"lucideGalleryHorizontalEnd\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c708,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGalleryHorizontalEnd_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGalleryHorizontalEnd_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGalleryHorizontalEnd;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name FunnelX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuNTMxIDNIM2ExIDEgMCAwIDAtLjc0MiAxLjY3bDcuMjI1IDcuOTg5QTIgMiAwIDAgMSAxMCAxNHY2YTEgMSAwIDAgMCAuNTUzLjg5NWwyIDFBMSAxIDAgMCAwIDE0IDIxdi03YTIgMiAwIDAgMSAuNTE3LTEuMzQxbC40MjctLjQ3MyIgLz4KICA8cGF0aCBkPSJtMTYuNSAzLjUgNSA1IiAvPgogIDxwYXRoIGQ9Im0yMS41IDMuNS01IDUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/funnel-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideFunnelX = /*#__PURE__*/(() => {\n  class LucideFunnelX extends LucideIconBase {\n    static icon = {\n      name: 'funnel-x',\n      size: 24,\n      node: [['path', {\n        d: 'M12.531 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14v6a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341l.427-.473',\n        key: 'ol2ft2'\n      }], ['path', {\n        d: 'm16.5 3.5 5 5',\n        key: '15e6fa'\n      }], ['path', {\n        d: 'm21.5 3.5-5 5',\n        key: 'm0lwru'\n      }]],\n      aliases: ['filter-x']\n    };\n    icon = signal(LucideFunnelX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideFunnelX_BaseFactory;\n      return function LucideFunnelX_Factory(__ngFactoryType__) {\n        return (ɵLucideFunnelX_BaseFactory || (ɵLucideFunnelX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideFunnelX)))(__ngFactoryType__ || LucideFunnelX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideFunnelX,\n      selectors: [[\"svg\", \"lucideFunnelX\", \"\"], [\"svg\", \"lucideFilterX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c709,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideFunnelX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideFunnelX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideFunnelX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideFunnelX\n */\nconst LucideFilterX = LucideFunnelX;\n\n/**\n * @component @name GalleryHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAzdjE4IiAvPgogIDxyZWN0IHdpZHRoPSIxMiIgaGVpZ2h0PSIxOCIgeD0iNiIgeT0iMyIgcng9IjIiIC8+CiAgPHBhdGggZD0iTTIyIDN2MTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/gallery-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGalleryHorizontal = /*#__PURE__*/(() => {\n  class LucideGalleryHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'gallery-horizontal',\n      size: 24,\n      node: [['path', {\n        d: 'M2 3v18',\n        key: 'pzttux'\n      }], ['rect', {\n        width: '12',\n        height: '18',\n        x: '6',\n        y: '3',\n        rx: '2',\n        key: 'btr8bg'\n      }], ['path', {\n        d: 'M22 3v18',\n        key: '6jf3v'\n      }]]\n    };\n    icon = signal(LucideGalleryHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGalleryHorizontal_BaseFactory;\n      return function LucideGalleryHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideGalleryHorizontal_BaseFactory || (ɵLucideGalleryHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGalleryHorizontal)))(__ngFactoryType__ || LucideGalleryHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGalleryHorizontal,\n      selectors: [[\"svg\", \"lucideGalleryHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c710,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGalleryHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGalleryHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGalleryHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GalleryThumbnails\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTQiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik00IDIxaDEiIC8+CiAgPHBhdGggZD0iTTkgMjFoMSIgLz4KICA8cGF0aCBkPSJNMTQgMjFoMSIgLz4KICA8cGF0aCBkPSJNMTkgMjFoMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/gallery-thumbnails\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGalleryThumbnails = /*#__PURE__*/(() => {\n  class LucideGalleryThumbnails extends LucideIconBase {\n    static icon = {\n      name: 'gallery-thumbnails',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '14',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: '74y24f'\n      }], ['path', {\n        d: 'M4 21h1',\n        key: '16zlid'\n      }], ['path', {\n        d: 'M9 21h1',\n        key: '15o7lz'\n      }], ['path', {\n        d: 'M14 21h1',\n        key: 'v9vybs'\n      }], ['path', {\n        d: 'M19 21h1',\n        key: 'edywat'\n      }]]\n    };\n    icon = signal(LucideGalleryThumbnails.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGalleryThumbnails_BaseFactory;\n      return function LucideGalleryThumbnails_Factory(__ngFactoryType__) {\n        return (ɵLucideGalleryThumbnails_BaseFactory || (ɵLucideGalleryThumbnails_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGalleryThumbnails)))(__ngFactoryType__ || LucideGalleryThumbnails);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGalleryThumbnails,\n      selectors: [[\"svg\", \"lucideGalleryThumbnails\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c711,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGalleryThumbnails_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGalleryThumbnails_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGalleryThumbnails;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GalleryVerticalEnd\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAyaDEwIiAvPgogIDxwYXRoIGQ9Ik01IDZoMTQiIC8+CiAgPHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjEyIiB4PSIzIiB5PSIxMCIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/gallery-vertical-end\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGalleryVerticalEnd = /*#__PURE__*/(() => {\n  class LucideGalleryVerticalEnd extends LucideIconBase {\n    static icon = {\n      name: 'gallery-vertical-end',\n      size: 24,\n      node: [['path', {\n        d: 'M7 2h10',\n        key: 'nczekb'\n      }], ['path', {\n        d: 'M5 6h14',\n        key: 'u2x4p'\n      }], ['rect', {\n        width: '18',\n        height: '12',\n        x: '3',\n        y: '10',\n        rx: '2',\n        key: 'l0tzu3'\n      }]]\n    };\n    icon = signal(LucideGalleryVerticalEnd.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGalleryVerticalEnd_BaseFactory;\n      return function LucideGalleryVerticalEnd_Factory(__ngFactoryType__) {\n        return (ɵLucideGalleryVerticalEnd_BaseFactory || (ɵLucideGalleryVerticalEnd_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGalleryVerticalEnd)))(__ngFactoryType__ || LucideGalleryVerticalEnd);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGalleryVerticalEnd,\n      selectors: [[\"svg\", \"lucideGalleryVerticalEnd\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c712,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGalleryVerticalEnd_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGalleryVerticalEnd_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGalleryVerticalEnd;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GalleryVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAyaDE4IiAvPgogIDxyZWN0IHdpZHRoPSIxOCIgaGVpZ2h0PSIxMiIgeD0iMyIgeT0iNiIgcng9IjIiIC8+CiAgPHBhdGggZD0iTTMgMjJoMTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/gallery-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGalleryVertical = /*#__PURE__*/(() => {\n  class LucideGalleryVertical extends LucideIconBase {\n    static icon = {\n      name: 'gallery-vertical',\n      size: 24,\n      node: [['path', {\n        d: 'M3 2h18',\n        key: '15qxfx'\n      }], ['rect', {\n        width: '18',\n        height: '12',\n        x: '3',\n        y: '6',\n        rx: '2',\n        key: '1439r6'\n      }], ['path', {\n        d: 'M3 22h18',\n        key: '8prr45'\n      }]]\n    };\n    icon = signal(LucideGalleryVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGalleryVertical_BaseFactory;\n      return function LucideGalleryVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideGalleryVertical_BaseFactory || (ɵLucideGalleryVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGalleryVertical)))(__ngFactoryType__ || LucideGalleryVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGalleryVertical,\n      selectors: [[\"svg\", \"lucideGalleryVertical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c713,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGalleryVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGalleryVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGalleryVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Gamepad2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iNiIgeDI9IjEwIiB5MT0iMTEiIHkyPSIxMSIgLz4KICA8bGluZSB4MT0iOCIgeDI9IjgiIHkxPSI5IiB5Mj0iMTMiIC8+CiAgPGxpbmUgeDE9IjE1IiB4Mj0iMTUuMDEiIHkxPSIxMiIgeTI9IjEyIiAvPgogIDxsaW5lIHgxPSIxOCIgeDI9IjE4LjAxIiB5MT0iMTAiIHkyPSIxMCIgLz4KICA8cGF0aCBkPSJNMTcuMzIgNUg2LjY4YTQgNCAwIDAgMC0zLjk3OCAzLjU5Yy0uMDA2LjA1Mi0uMDEuMTAxLS4wMTcuMTUyQzIuNjA0IDkuNDE2IDIgMTQuNDU2IDIgMTZhMyAzIDAgMCAwIDMgM2MxIDAgMS41LS41IDItMWwxLjQxNC0xLjQxNEEyIDIgMCAwIDEgOS44MjggMTZoNC4zNDRhMiAyIDAgMCAxIDEuNDE0LjU4NkwxNyAxOGMuNS41IDEgMSAyIDFhMyAzIDAgMCAwIDMtM2MwLTEuNTQ1LS42MDQtNi41ODQtLjY4NS03LjI1OC0uMDA3LS4wNS0uMDExLS4xLS4wMTctLjE1MUE0IDQgMCAwIDAgMTcuMzIgNXoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/gamepad-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGamepad2 = /*#__PURE__*/(() => {\n  class LucideGamepad2 extends LucideIconBase {\n    static icon = {\n      name: 'gamepad-2',\n      size: 24,\n      node: [['line', {\n        x1: '6',\n        x2: '10',\n        y1: '11',\n        y2: '11',\n        key: '1gktln'\n      }], ['line', {\n        x1: '8',\n        x2: '8',\n        y1: '9',\n        y2: '13',\n        key: 'qnk9ow'\n      }], ['line', {\n        x1: '15',\n        x2: '15.01',\n        y1: '12',\n        y2: '12',\n        key: 'krot7o'\n      }], ['line', {\n        x1: '18',\n        x2: '18.01',\n        y1: '10',\n        y2: '10',\n        key: '1lcuu1'\n      }], ['path', {\n        d: 'M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z',\n        key: 'mfqc10'\n      }]]\n    };\n    icon = signal(LucideGamepad2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGamepad2_BaseFactory;\n      return function LucideGamepad2_Factory(__ngFactoryType__) {\n        return (ɵLucideGamepad2_BaseFactory || (ɵLucideGamepad2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGamepad2)))(__ngFactoryType__ || LucideGamepad2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGamepad2,\n      selectors: [[\"svg\", \"lucideGamepad2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c714,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGamepad2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGamepad2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGamepad2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Gauge\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIgMTQgNC00IiAvPgogIDxwYXRoIGQ9Ik0zLjM0IDE5YTEwIDEwIDAgMSAxIDE3LjMyIDAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/gauge\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGauge = /*#__PURE__*/(() => {\n  class LucideGauge extends LucideIconBase {\n    static icon = {\n      name: 'gauge',\n      size: 24,\n      node: [['path', {\n        d: 'm12 14 4-4',\n        key: '9kzdfg'\n      }], ['path', {\n        d: 'M3.34 19a10 10 0 1 1 17.32 0',\n        key: '19p75a'\n      }]]\n    };\n    icon = signal(LucideGauge.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGauge_BaseFactory;\n      return function LucideGauge_Factory(__ngFactoryType__) {\n        return (ɵLucideGauge_BaseFactory || (ɵLucideGauge_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGauge)))(__ngFactoryType__ || LucideGauge);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGauge,\n      selectors: [[\"svg\", \"lucideGauge\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c715,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGauge_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGauge_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGauge;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Gamepad\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iNiIgeDI9IjEwIiB5MT0iMTIiIHkyPSIxMiIgLz4KICA8bGluZSB4MT0iOCIgeDI9IjgiIHkxPSIxMCIgeTI9IjE0IiAvPgogIDxsaW5lIHgxPSIxNSIgeDI9IjE1LjAxIiB5MT0iMTMiIHkyPSIxMyIgLz4KICA8bGluZSB4MT0iMTgiIHgyPSIxOC4wMSIgeTE9IjExIiB5Mj0iMTEiIC8+CiAgPHJlY3Qgd2lkdGg9IjIwIiBoZWlnaHQ9IjEyIiB4PSIyIiB5PSI2IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/gamepad\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGamepad = /*#__PURE__*/(() => {\n  class LucideGamepad extends LucideIconBase {\n    static icon = {\n      name: 'gamepad',\n      size: 24,\n      node: [['line', {\n        x1: '6',\n        x2: '10',\n        y1: '12',\n        y2: '12',\n        key: '161bw2'\n      }], ['line', {\n        x1: '8',\n        x2: '8',\n        y1: '10',\n        y2: '14',\n        key: '1i6ji0'\n      }], ['line', {\n        x1: '15',\n        x2: '15.01',\n        y1: '13',\n        y2: '13',\n        key: 'dqpgro'\n      }], ['line', {\n        x1: '18',\n        x2: '18.01',\n        y1: '11',\n        y2: '11',\n        key: 'meh2c'\n      }], ['rect', {\n        width: '20',\n        height: '12',\n        x: '2',\n        y: '6',\n        rx: '2',\n        key: '9lu3g6'\n      }]]\n    };\n    icon = signal(LucideGamepad.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGamepad_BaseFactory;\n      return function LucideGamepad_Factory(__ngFactoryType__) {\n        return (ɵLucideGamepad_BaseFactory || (ɵLucideGamepad_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGamepad)))(__ngFactoryType__ || LucideGamepad);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGamepad,\n      selectors: [[\"svg\", \"lucideGamepad\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c716,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGamepad_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGamepad_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGamepad;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GamepadDirectional\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aAogICAgZD0iTTExLjE0NiAxNS44NTRhMS4yMDcgMS4yMDcgMCAwIDEgMS43MDggMGwxLjU2IDEuNTZBMiAyIDAgMCAxIDE1IDE4LjgyOFYyMWExIDEgMCAwIDEtMSAxaC00YTEgMSAwIDAgMS0xLTF2LTIuMTcyYTIgMiAwIDAgMSAuNTg2LTEuNDE0eiIgLz4KICA8cGF0aAogICAgZD0iTTE4LjgyOCAxNWEyIDIgMCAwIDEtMS40MTQtLjU4NmwtMS41Ni0xLjU2YTEuMjA3IDEuMjA3IDAgMCAxIDAtMS43MDhsMS41Ni0xLjU2QTIgMiAwIDAgMSAxOC44MjggOUgyMWExIDEgMCAwIDEgMSAxdjRhMSAxIDAgMCAxLTEgMXoiIC8+CiAgPHBhdGgKICAgIGQ9Ik02LjU4NiAxNC40MTRBMiAyIDAgMCAxIDUuMTcyIDE1SDNhMSAxIDAgMCAxLTEtMXYtNGExIDEgMCAwIDEgMS0xaDIuMTcyYTIgMiAwIDAgMSAxLjQxNC41ODZsMS41NiAxLjU2YTEuMjA3IDEuMjA3IDAgMCAxIDAgMS43MDh6IiAvPgogIDxwYXRoCiAgICBkPSJNOSAzYTEgMSAwIDAgMSAxLTFoNGExIDEgMCAwIDEgMSAxdjIuMTcyYTIgMiAwIDAgMS0uNTg2IDEuNDE0bC0xLjU2IDEuNTZhMS4yMDcgMS4yMDcgMCAwIDEtMS43MDggMGwtMS41Ni0xLjU2QTIgMiAwIDAgMSA5IDUuMTcyeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/gamepad-directional\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGamepadDirectional = /*#__PURE__*/(() => {\n  class LucideGamepadDirectional extends LucideIconBase {\n    static icon = {\n      name: 'gamepad-directional',\n      size: 24,\n      node: [['path', {\n        d: 'M11.146 15.854a1.207 1.207 0 0 1 1.708 0l1.56 1.56A2 2 0 0 1 15 18.828V21a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-2.172a2 2 0 0 1 .586-1.414z',\n        key: '1re2og'\n      }], ['path', {\n        d: 'M18.828 15a2 2 0 0 1-1.414-.586l-1.56-1.56a1.207 1.207 0 0 1 0-1.708l1.56-1.56A2 2 0 0 1 18.828 9H21a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1z',\n        key: '1pchrj'\n      }], ['path', {\n        d: 'M6.586 14.414A2 2 0 0 1 5.172 15H3a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h2.172a2 2 0 0 1 1.414.586l1.56 1.56a1.207 1.207 0 0 1 0 1.708z',\n        key: '16mt4c'\n      }], ['path', {\n        d: 'M9 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2.172a2 2 0 0 1-.586 1.414l-1.56 1.56a1.207 1.207 0 0 1-1.708 0l-1.56-1.56A2 2 0 0 1 9 5.172z',\n        key: '19ox6c'\n      }]]\n    };\n    icon = signal(LucideGamepadDirectional.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGamepadDirectional_BaseFactory;\n      return function LucideGamepadDirectional_Factory(__ngFactoryType__) {\n        return (ɵLucideGamepadDirectional_BaseFactory || (ɵLucideGamepadDirectional_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGamepadDirectional)))(__ngFactoryType__ || LucideGamepadDirectional);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGamepadDirectional,\n      selectors: [[\"svg\", \"lucideGamepadDirectional\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c717,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGamepadDirectional_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGamepadDirectional_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGamepadDirectional;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Gavel\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQgMTMtOC4zODEgOC4zOGExIDEgMCAwIDEtMy4wMDEtM2w4LjM4NC04LjM4MSIgLz4KICA8cGF0aCBkPSJtMTYgMTYgNi02IiAvPgogIDxwYXRoIGQ9Im0yMS41IDEwLjUtOC04IiAvPgogIDxwYXRoIGQ9Im04IDggNi02IiAvPgogIDxwYXRoIGQ9Im04LjUgNy41IDggOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/gavel\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGavel = /*#__PURE__*/(() => {\n  class LucideGavel extends LucideIconBase {\n    static icon = {\n      name: 'gavel',\n      size: 24,\n      node: [['path', {\n        d: 'm14 13-8.381 8.38a1 1 0 0 1-3.001-3l8.384-8.381',\n        key: 'pgg06f'\n      }], ['path', {\n        d: 'm16 16 6-6',\n        key: 'vzrcl6'\n      }], ['path', {\n        d: 'm21.5 10.5-8-8',\n        key: 'a17d9x'\n      }], ['path', {\n        d: 'm8 8 6-6',\n        key: '18bi4p'\n      }], ['path', {\n        d: 'm8.5 7.5 8 8',\n        key: '1oyaui'\n      }]]\n    };\n    icon = signal(LucideGavel.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGavel_BaseFactory;\n      return function LucideGavel_Factory(__ngFactoryType__) {\n        return (ɵLucideGavel_BaseFactory || (ɵLucideGavel_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGavel)))(__ngFactoryType__ || LucideGavel);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGavel,\n      selectors: [[\"svg\", \"lucideGavel\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c718,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGavel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGavel_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGavel;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Gem\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNSAzIDggOWw0IDEzIDQtMTMtMi41LTYiIC8+CiAgPHBhdGggZD0iTTE3IDNhMiAyIDAgMCAxIDEuNi44bDMgNGEyIDIgMCAwIDEgLjAxMyAyLjM4MmwtNy45OSAxMC45ODZhMiAyIDAgMCAxLTMuMjQ3IDBsLTcuOTktMTAuOTg2QTIgMiAwIDAgMSAyLjQgNy44bDIuOTk4LTMuOTk3QTIgMiAwIDAgMSA3IDN6IiAvPgogIDxwYXRoIGQ9Ik0yIDloMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/gem\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGem = /*#__PURE__*/(() => {\n  class LucideGem extends LucideIconBase {\n    static icon = {\n      name: 'gem',\n      size: 24,\n      node: [['path', {\n        d: 'M10.5 3 8 9l4 13 4-13-2.5-6',\n        key: 'b3dvk1'\n      }], ['path', {\n        d: 'M17 3a2 2 0 0 1 1.6.8l3 4a2 2 0 0 1 .013 2.382l-7.99 10.986a2 2 0 0 1-3.247 0l-7.99-10.986A2 2 0 0 1 2.4 7.8l2.998-3.997A2 2 0 0 1 7 3z',\n        key: '7w4byz'\n      }], ['path', {\n        d: 'M2 9h20',\n        key: '16fsjt'\n      }]]\n    };\n    icon = signal(LucideGem.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGem_BaseFactory;\n      return function LucideGem_Factory(__ngFactoryType__) {\n        return (ɵLucideGem_BaseFactory || (ɵLucideGem_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGem)))(__ngFactoryType__ || LucideGem);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGem,\n      selectors: [[\"svg\", \"lucideGem\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c719,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGem_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGem_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGem;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ghost\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSAxMGguMDEiIC8+CiAgPHBhdGggZD0iTTE1IDEwaC4wMSIgLz4KICA8cGF0aCBkPSJNMTIgMmE4IDggMCAwIDAtOCA4djEybDMtMyAyLjUgMi41TDEyIDE5bDIuNSAyLjVMMTcgMTlsMyAzVjEwYTggOCAwIDAgMC04LTh6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ghost\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGhost = /*#__PURE__*/(() => {\n  class LucideGhost extends LucideIconBase {\n    static icon = {\n      name: 'ghost',\n      size: 24,\n      node: [['path', {\n        d: 'M9 10h.01',\n        key: 'qbtxuw'\n      }], ['path', {\n        d: 'M15 10h.01',\n        key: '1qmjsl'\n      }], ['path', {\n        d: 'M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z',\n        key: 'uwwb07'\n      }]]\n    };\n    icon = signal(LucideGhost.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGhost_BaseFactory;\n      return function LucideGhost_Factory(__ngFactoryType__) {\n        return (ɵLucideGhost_BaseFactory || (ɵLucideGhost_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGhost)))(__ngFactoryType__ || LucideGhost);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGhost,\n      selectors: [[\"svg\", \"lucideGhost\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c720,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGhost_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGhost_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGhost;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Gift\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgN3YxNCIgLz4KICA8cGF0aCBkPSJNMjAgMTF2OGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnYtOCIgLz4KICA8cGF0aCBkPSJNNy41IDdhMSAxIDAgMCAxIDAtNUE0LjggOCAwIDAgMSAxMiA3YTQuOCA4IDAgMCAxIDQuNS01IDEgMSAwIDAgMSAwIDUiIC8+CiAgPHJlY3QgeD0iMyIgeT0iNyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjQiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/gift\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGift = /*#__PURE__*/(() => {\n  class LucideGift extends LucideIconBase {\n    static icon = {\n      name: 'gift',\n      size: 24,\n      node: [['path', {\n        d: 'M12 7v14',\n        key: '1akyts'\n      }], ['path', {\n        d: 'M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8',\n        key: '1sqzm4'\n      }], ['path', {\n        d: 'M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5',\n        key: 'kc0143'\n      }], ['rect', {\n        x: '3',\n        y: '7',\n        width: '18',\n        height: '4',\n        rx: '1',\n        key: '1hberx'\n      }]]\n    };\n    icon = signal(LucideGift.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGift_BaseFactory;\n      return function LucideGift_Factory(__ngFactoryType__) {\n        return (ɵLucideGift_BaseFactory || (ɵLucideGift_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGift)))(__ngFactoryType__ || LucideGift);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGift,\n      selectors: [[\"svg\", \"lucideGift\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c721,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGift_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGift_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGift;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GeorgianLari\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuNSAyMWE3LjUgNy41IDAgMSAxIDcuMzUtOSIgLz4KICA8cGF0aCBkPSJNMTMgMTJWMyIgLz4KICA8cGF0aCBkPSJNNCAyMWgxNiIgLz4KICA8cGF0aCBkPSJNOSAxMlYzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/georgian-lari\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGeorgianLari = /*#__PURE__*/(() => {\n  class LucideGeorgianLari extends LucideIconBase {\n    static icon = {\n      name: 'georgian-lari',\n      size: 24,\n      node: [['path', {\n        d: 'M11.5 21a7.5 7.5 0 1 1 7.35-9',\n        key: '1gyj8k'\n      }], ['path', {\n        d: 'M13 12V3',\n        key: '18om2a'\n      }], ['path', {\n        d: 'M4 21h16',\n        key: '1h09gz'\n      }], ['path', {\n        d: 'M9 12V3',\n        key: 'geutu0'\n      }]]\n    };\n    icon = signal(LucideGeorgianLari.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGeorgianLari_BaseFactory;\n      return function LucideGeorgianLari_Factory(__ngFactoryType__) {\n        return (ɵLucideGeorgianLari_BaseFactory || (ɵLucideGeorgianLari_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGeorgianLari)))(__ngFactoryType__ || LucideGeorgianLari);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGeorgianLari,\n      selectors: [[\"svg\", \"lucideGeorgianLari\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c722,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGeorgianLari_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGeorgianLari_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGeorgianLari;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitBranchPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAzdjEyIiAvPgogIDxwYXRoIGQ9Ik0xOCA5YTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnoiIC8+CiAgPHBhdGggZD0iTTYgMjFhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2eiIgLz4KICA8cGF0aCBkPSJNMTUgNmE5IDkgMCAwIDAtOSA5IiAvPgogIDxwYXRoIGQ9Ik0xOCAxNXY2IiAvPgogIDxwYXRoIGQ9Ik0yMSAxOGgtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/git-branch-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitBranchPlus = /*#__PURE__*/(() => {\n  class LucideGitBranchPlus extends LucideIconBase {\n    static icon = {\n      name: 'git-branch-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M6 3v12',\n        key: 'qpgusn'\n      }], ['path', {\n        d: 'M18 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6z',\n        key: '1d02ji'\n      }], ['path', {\n        d: 'M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6z',\n        key: 'chk6ph'\n      }], ['path', {\n        d: 'M15 6a9 9 0 0 0-9 9',\n        key: 'or332x'\n      }], ['path', {\n        d: 'M18 15v6',\n        key: '9wciyi'\n      }], ['path', {\n        d: 'M21 18h-6',\n        key: '139f0c'\n      }]]\n    };\n    icon = signal(LucideGitBranchPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitBranchPlus_BaseFactory;\n      return function LucideGitBranchPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideGitBranchPlus_BaseFactory || (ɵLucideGitBranchPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitBranchPlus)))(__ngFactoryType__ || LucideGitBranchPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitBranchPlus,\n      selectors: [[\"svg\", \"lucideGitBranchPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c723,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitBranchPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitBranchPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitBranchPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitBranchMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgNmE5IDkgMCAwIDAtOSA5VjMiIC8+CiAgPHBhdGggZD0iTTIxIDE4aC02IiAvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iNiIgcj0iMyIgLz4KICA8Y2lyY2xlIGN4PSI2IiBjeT0iMTgiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/git-branch-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitBranchMinus = /*#__PURE__*/(() => {\n  class LucideGitBranchMinus extends LucideIconBase {\n    static icon = {\n      name: 'git-branch-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M15 6a9 9 0 0 0-9 9V3',\n        key: '1cii5b'\n      }], ['path', {\n        d: 'M21 18h-6',\n        key: '139f0c'\n      }], ['circle', {\n        cx: '18',\n        cy: '6',\n        r: '3',\n        key: '1h7g24'\n      }], ['circle', {\n        cx: '6',\n        cy: '18',\n        r: '3',\n        key: 'fqmcym'\n      }]]\n    };\n    icon = signal(LucideGitBranchMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitBranchMinus_BaseFactory;\n      return function LucideGitBranchMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideGitBranchMinus_BaseFactory || (ɵLucideGitBranchMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitBranchMinus)))(__ngFactoryType__ || LucideGitBranchMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitBranchMinus,\n      selectors: [[\"svg\", \"lucideGitBranchMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c724,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitBranchMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitBranchMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitBranchMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitBranch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgNmE5IDkgMCAwIDAtOSA5VjMiIC8+CiAgPGNpcmNsZSBjeD0iMTgiIGN5PSI2IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjYiIGN5PSIxOCIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/git-branch\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitBranch = /*#__PURE__*/(() => {\n  class LucideGitBranch extends LucideIconBase {\n    static icon = {\n      name: 'git-branch',\n      size: 24,\n      node: [['path', {\n        d: 'M15 6a9 9 0 0 0-9 9V3',\n        key: '1cii5b'\n      }], ['circle', {\n        cx: '18',\n        cy: '6',\n        r: '3',\n        key: '1h7g24'\n      }], ['circle', {\n        cx: '6',\n        cy: '18',\n        r: '3',\n        key: 'fqmcym'\n      }]]\n    };\n    icon = signal(LucideGitBranch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitBranch_BaseFactory;\n      return function LucideGitBranch_Factory(__ngFactoryType__) {\n        return (ɵLucideGitBranch_BaseFactory || (ɵLucideGitBranch_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitBranch)))(__ngFactoryType__ || LucideGitBranch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitBranch,\n      selectors: [[\"svg\", \"lucideGitBranch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c725,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitBranch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitBranch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitBranch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitCommitVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3Y2IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiIC8+CiAgPHBhdGggZD0iTTEyIDE1djYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/git-commit-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitCommitVertical = /*#__PURE__*/(() => {\n  class LucideGitCommitVertical extends LucideIconBase {\n    static icon = {\n      name: 'git-commit-vertical',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3v6',\n        key: '1holv5'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '3',\n        key: '1v7zrd'\n      }], ['path', {\n        d: 'M12 15v6',\n        key: 'a9ows0'\n      }]]\n    };\n    icon = signal(LucideGitCommitVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitCommitVertical_BaseFactory;\n      return function LucideGitCommitVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideGitCommitVertical_BaseFactory || (ɵLucideGitCommitVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitCommitVertical)))(__ngFactoryType__ || LucideGitCommitVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitCommitVertical,\n      selectors: [[\"svg\", \"lucideGitCommitVertical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c726,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitCommitVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitCommitVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitCommitVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitCommitHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIiAvPgogIDxsaW5lIHgxPSIzIiB4Mj0iOSIgeTE9IjEyIiB5Mj0iMTIiIC8+CiAgPGxpbmUgeDE9IjE1IiB4Mj0iMjEiIHkxPSIxMiIgeTI9IjEyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/git-commit-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitCommitHorizontal = /*#__PURE__*/(() => {\n  class LucideGitCommitHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'git-commit-horizontal',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '3',\n        key: '1v7zrd'\n      }], ['line', {\n        x1: '3',\n        x2: '9',\n        y1: '12',\n        y2: '12',\n        key: '1dyftd'\n      }], ['line', {\n        x1: '15',\n        x2: '21',\n        y1: '12',\n        y2: '12',\n        key: 'oup4p8'\n      }]],\n      aliases: ['git-commit']\n    };\n    icon = signal(LucideGitCommitHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitCommitHorizontal_BaseFactory;\n      return function LucideGitCommitHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideGitCommitHorizontal_BaseFactory || (ɵLucideGitCommitHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitCommitHorizontal)))(__ngFactoryType__ || LucideGitCommitHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitCommitHorizontal,\n      selectors: [[\"svg\", \"lucideGitCommitHorizontal\", \"\"], [\"svg\", \"lucideGitCommit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c727,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitCommitHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitCommitHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitCommitHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideGitCommitHorizontal\n */\nconst LucideGitCommit = LucideGitCommitHorizontal;\n\n/**\n * @component @name GitCompareArrows\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI1IiBjeT0iNiIgcj0iMyIgLz4KICA8cGF0aCBkPSJNMTIgNmg1YTIgMiAwIDAgMSAyIDJ2NyIgLz4KICA8cGF0aCBkPSJtMTUgOS0zLTMgMy0zIiAvPgogIDxjaXJjbGUgY3g9IjE5IiBjeT0iMTgiIHI9IjMiIC8+CiAgPHBhdGggZD0iTTEyIDE4SDdhMiAyIDAgMCAxLTItMlY5IiAvPgogIDxwYXRoIGQ9Im05IDE1IDMgMy0zIDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/git-compare-arrows\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitCompareArrows = /*#__PURE__*/(() => {\n  class LucideGitCompareArrows extends LucideIconBase {\n    static icon = {\n      name: 'git-compare-arrows',\n      size: 24,\n      node: [['circle', {\n        cx: '5',\n        cy: '6',\n        r: '3',\n        key: '1qnov2'\n      }], ['path', {\n        d: 'M12 6h5a2 2 0 0 1 2 2v7',\n        key: '1yj91y'\n      }], ['path', {\n        d: 'm15 9-3-3 3-3',\n        key: '1lwv8l'\n      }], ['circle', {\n        cx: '19',\n        cy: '18',\n        r: '3',\n        key: '1qljk2'\n      }], ['path', {\n        d: 'M12 18H7a2 2 0 0 1-2-2V9',\n        key: '16sdep'\n      }], ['path', {\n        d: 'm9 15 3 3-3 3',\n        key: '1m3kbl'\n      }]]\n    };\n    icon = signal(LucideGitCompareArrows.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitCompareArrows_BaseFactory;\n      return function LucideGitCompareArrows_Factory(__ngFactoryType__) {\n        return (ɵLucideGitCompareArrows_BaseFactory || (ɵLucideGitCompareArrows_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitCompareArrows)))(__ngFactoryType__ || LucideGitCompareArrows);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitCompareArrows,\n      selectors: [[\"svg\", \"lucideGitCompareArrows\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c728,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitCompareArrows_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitCompareArrows_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitCompareArrows;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitFork\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE4IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjYiIGN5PSI2IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iNiIgcj0iMyIgLz4KICA8cGF0aCBkPSJNMTggOXYyYzAgLjYtLjQgMS0xIDFIN2MtLjYgMC0xLS40LTEtMVY5IiAvPgogIDxwYXRoIGQ9Ik0xMiAxMnYzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/git-fork\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitFork = /*#__PURE__*/(() => {\n  class LucideGitFork extends LucideIconBase {\n    static icon = {\n      name: 'git-fork',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '18',\n        r: '3',\n        key: '1mpf1b'\n      }], ['circle', {\n        cx: '6',\n        cy: '6',\n        r: '3',\n        key: '1lh9wr'\n      }], ['circle', {\n        cx: '18',\n        cy: '6',\n        r: '3',\n        key: '1h7g24'\n      }], ['path', {\n        d: 'M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9',\n        key: '1uq4wg'\n      }], ['path', {\n        d: 'M12 12v3',\n        key: '158kv8'\n      }]]\n    };\n    icon = signal(LucideGitFork.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitFork_BaseFactory;\n      return function LucideGitFork_Factory(__ngFactoryType__) {\n        return (ɵLucideGitFork_BaseFactory || (ɵLucideGitFork_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitFork)))(__ngFactoryType__ || LucideGitFork);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitFork,\n      selectors: [[\"svg\", \"lucideGitFork\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c729,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitFork_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitFork_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitFork;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitGraph\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI1IiBjeT0iNiIgcj0iMyIgLz4KICA8cGF0aCBkPSJNNSA5djYiIC8+CiAgPGNpcmNsZSBjeD0iNSIgY3k9IjE4IiByPSIzIiAvPgogIDxwYXRoIGQ9Ik0xMiAzdjE4IiAvPgogIDxjaXJjbGUgY3g9IjE5IiBjeT0iNiIgcj0iMyIgLz4KICA8cGF0aCBkPSJNMTYgMTUuN0E5IDkgMCAwIDAgMTkgOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/git-graph\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitGraph = /*#__PURE__*/(() => {\n  class LucideGitGraph extends LucideIconBase {\n    static icon = {\n      name: 'git-graph',\n      size: 24,\n      node: [['circle', {\n        cx: '5',\n        cy: '6',\n        r: '3',\n        key: '1qnov2'\n      }], ['path', {\n        d: 'M5 9v6',\n        key: '158jrl'\n      }], ['circle', {\n        cx: '5',\n        cy: '18',\n        r: '3',\n        key: '104gr9'\n      }], ['path', {\n        d: 'M12 3v18',\n        key: '108xh3'\n      }], ['circle', {\n        cx: '19',\n        cy: '6',\n        r: '3',\n        key: '108a5v'\n      }], ['path', {\n        d: 'M16 15.7A9 9 0 0 0 19 9',\n        key: '1e3vqb'\n      }]]\n    };\n    icon = signal(LucideGitGraph.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitGraph_BaseFactory;\n      return function LucideGitGraph_Factory(__ngFactoryType__) {\n        return (ɵLucideGitGraph_BaseFactory || (ɵLucideGitGraph_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitGraph)))(__ngFactoryType__ || LucideGitGraph);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitGraph,\n      selectors: [[\"svg\", \"lucideGitGraph\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c730,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitGraph_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitGraph_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitGraph;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitCompare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjE4IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjYiIGN5PSI2IiByPSIzIiAvPgogIDxwYXRoIGQ9Ik0xMyA2aDNhMiAyIDAgMCAxIDIgMnY3IiAvPgogIDxwYXRoIGQ9Ik0xMSAxOEg4YTIgMiAwIDAgMS0yLTJWOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/git-compare\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitCompare = /*#__PURE__*/(() => {\n  class LucideGitCompare extends LucideIconBase {\n    static icon = {\n      name: 'git-compare',\n      size: 24,\n      node: [['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }], ['circle', {\n        cx: '6',\n        cy: '6',\n        r: '3',\n        key: '1lh9wr'\n      }], ['path', {\n        d: 'M13 6h3a2 2 0 0 1 2 2v7',\n        key: '1yeb86'\n      }], ['path', {\n        d: 'M11 18H8a2 2 0 0 1-2-2V9',\n        key: '19pyzm'\n      }]]\n    };\n    icon = signal(LucideGitCompare.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitCompare_BaseFactory;\n      return function LucideGitCompare_Factory(__ngFactoryType__) {\n        return (ɵLucideGitCompare_BaseFactory || (ɵLucideGitCompare_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitCompare)))(__ngFactoryType__ || LucideGitCompare);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitCompare,\n      selectors: [[\"svg\", \"lucideGitCompare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c731,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitCompare_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitCompare_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitCompare;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitMergeConflict\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNmg0YTIgMiAwIDAgMSAyIDJ2NyIgLz4KICA8cGF0aCBkPSJNNiAxMnY5IiAvPgogIDxwYXRoIGQ9Ik05IDMgMyA5IiAvPgogIDxwYXRoIGQ9Ik05IDkgMyAzIiAvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjMiIC8+Cjwvc3ZnPg==) - https://lucide.dev/icons/git-merge-conflict\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitMergeConflict = /*#__PURE__*/(() => {\n  class LucideGitMergeConflict extends LucideIconBase {\n    static icon = {\n      name: 'git-merge-conflict',\n      size: 24,\n      node: [['path', {\n        d: 'M12 6h4a2 2 0 0 1 2 2v7',\n        key: '18ej7s'\n      }], ['path', {\n        d: 'M6 12v9',\n        key: '9e33v1'\n      }], ['path', {\n        d: 'M9 3 3 9',\n        key: 'ahyygn'\n      }], ['path', {\n        d: 'M9 9 3 3',\n        key: 'v551iv'\n      }], ['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }]]\n    };\n    icon = signal(LucideGitMergeConflict.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitMergeConflict_BaseFactory;\n      return function LucideGitMergeConflict_Factory(__ngFactoryType__) {\n        return (ɵLucideGitMergeConflict_BaseFactory || (ɵLucideGitMergeConflict_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitMergeConflict)))(__ngFactoryType__ || LucideGitMergeConflict);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitMergeConflict,\n      selectors: [[\"svg\", \"lucideGitMergeConflict\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c732,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitMergeConflict_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitMergeConflict_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitMergeConflict;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitPullRequestArrow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI1IiBjeT0iNiIgcj0iMyIgLz4KICA8cGF0aCBkPSJNNSA5djEyIiAvPgogIDxjaXJjbGUgY3g9IjE5IiBjeT0iMTgiIHI9IjMiIC8+CiAgPHBhdGggZD0ibTE1IDktMy0zIDMtMyIgLz4KICA8cGF0aCBkPSJNMTIgNmg1YTIgMiAwIDAgMSAyIDJ2NyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/git-pull-request-arrow\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitPullRequestArrow = /*#__PURE__*/(() => {\n  class LucideGitPullRequestArrow extends LucideIconBase {\n    static icon = {\n      name: 'git-pull-request-arrow',\n      size: 24,\n      node: [['circle', {\n        cx: '5',\n        cy: '6',\n        r: '3',\n        key: '1qnov2'\n      }], ['path', {\n        d: 'M5 9v12',\n        key: 'ih889a'\n      }], ['circle', {\n        cx: '19',\n        cy: '18',\n        r: '3',\n        key: '1qljk2'\n      }], ['path', {\n        d: 'm15 9-3-3 3-3',\n        key: '1lwv8l'\n      }], ['path', {\n        d: 'M12 6h5a2 2 0 0 1 2 2v7',\n        key: '1yj91y'\n      }]]\n    };\n    icon = signal(LucideGitPullRequestArrow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitPullRequestArrow_BaseFactory;\n      return function LucideGitPullRequestArrow_Factory(__ngFactoryType__) {\n        return (ɵLucideGitPullRequestArrow_BaseFactory || (ɵLucideGitPullRequestArrow_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitPullRequestArrow)))(__ngFactoryType__ || LucideGitPullRequestArrow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitPullRequestArrow,\n      selectors: [[\"svg\", \"lucideGitPullRequestArrow\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c733,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitPullRequestArrow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitPullRequestArrow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitPullRequestArrow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitPullRequestClosed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI2IiBjeT0iNiIgcj0iMyIgLz4KICA8cGF0aCBkPSJNNiA5djEyIiAvPgogIDxwYXRoIGQ9Im0yMSAzLTYgNiIgLz4KICA8cGF0aCBkPSJtMjEgOS02LTYiIC8+CiAgPHBhdGggZD0iTTE4IDExLjVWMTUiIC8+CiAgPGNpcmNsZSBjeD0iMTgiIGN5PSIxOCIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/git-pull-request-closed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitPullRequestClosed = /*#__PURE__*/(() => {\n  class LucideGitPullRequestClosed extends LucideIconBase {\n    static icon = {\n      name: 'git-pull-request-closed',\n      size: 24,\n      node: [['circle', {\n        cx: '6',\n        cy: '6',\n        r: '3',\n        key: '1lh9wr'\n      }], ['path', {\n        d: 'M6 9v12',\n        key: '1sc30k'\n      }], ['path', {\n        d: 'm21 3-6 6',\n        key: '16nqsk'\n      }], ['path', {\n        d: 'm21 9-6-6',\n        key: '9j17rh'\n      }], ['path', {\n        d: 'M18 11.5V15',\n        key: '65xf6f'\n      }], ['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }]]\n    };\n    icon = signal(LucideGitPullRequestClosed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitPullRequestClosed_BaseFactory;\n      return function LucideGitPullRequestClosed_Factory(__ngFactoryType__) {\n        return (ɵLucideGitPullRequestClosed_BaseFactory || (ɵLucideGitPullRequestClosed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitPullRequestClosed)))(__ngFactoryType__ || LucideGitPullRequestClosed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitPullRequestClosed,\n      selectors: [[\"svg\", \"lucideGitPullRequestClosed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c734,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitPullRequestClosed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitPullRequestClosed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitPullRequestClosed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitMerge\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjE4IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjYiIGN5PSI2IiByPSIzIiAvPgogIDxwYXRoIGQ9Ik02IDIxVjlhOSA5IDAgMCAwIDkgOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/git-merge\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitMerge = /*#__PURE__*/(() => {\n  class LucideGitMerge extends LucideIconBase {\n    static icon = {\n      name: 'git-merge',\n      size: 24,\n      node: [['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }], ['circle', {\n        cx: '6',\n        cy: '6',\n        r: '3',\n        key: '1lh9wr'\n      }], ['path', {\n        d: 'M6 21V9a9 9 0 0 0 9 9',\n        key: '7kw0sc'\n      }]]\n    };\n    icon = signal(LucideGitMerge.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitMerge_BaseFactory;\n      return function LucideGitMerge_Factory(__ngFactoryType__) {\n        return (ɵLucideGitMerge_BaseFactory || (ɵLucideGitMerge_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitMerge)))(__ngFactoryType__ || LucideGitMerge);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitMerge,\n      selectors: [[\"svg\", \"lucideGitMerge\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c735,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitMerge_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitMerge_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitMerge;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitPullRequestCreateArrow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI1IiBjeT0iNiIgcj0iMyIgLz4KICA8cGF0aCBkPSJNNSA5djEyIiAvPgogIDxwYXRoIGQ9Im0xNSA5LTMtMyAzLTMiIC8+CiAgPHBhdGggZD0iTTEyIDZoNWEyIDIgMCAwIDEgMiAydjMiIC8+CiAgPHBhdGggZD0iTTE5IDE1djYiIC8+CiAgPHBhdGggZD0iTTIyIDE4aC02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/git-pull-request-create-arrow\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitPullRequestCreateArrow = /*#__PURE__*/(() => {\n  class LucideGitPullRequestCreateArrow extends LucideIconBase {\n    static icon = {\n      name: 'git-pull-request-create-arrow',\n      size: 24,\n      node: [['circle', {\n        cx: '5',\n        cy: '6',\n        r: '3',\n        key: '1qnov2'\n      }], ['path', {\n        d: 'M5 9v12',\n        key: 'ih889a'\n      }], ['path', {\n        d: 'm15 9-3-3 3-3',\n        key: '1lwv8l'\n      }], ['path', {\n        d: 'M12 6h5a2 2 0 0 1 2 2v3',\n        key: '1rbwk6'\n      }], ['path', {\n        d: 'M19 15v6',\n        key: '10aioa'\n      }], ['path', {\n        d: 'M22 18h-6',\n        key: '1d5gi5'\n      }]]\n    };\n    icon = signal(LucideGitPullRequestCreateArrow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitPullRequestCreateArrow_BaseFactory;\n      return function LucideGitPullRequestCreateArrow_Factory(__ngFactoryType__) {\n        return (ɵLucideGitPullRequestCreateArrow_BaseFactory || (ɵLucideGitPullRequestCreateArrow_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitPullRequestCreateArrow)))(__ngFactoryType__ || LucideGitPullRequestCreateArrow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitPullRequestCreateArrow,\n      selectors: [[\"svg\", \"lucideGitPullRequestCreateArrow\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c736,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitPullRequestCreateArrow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitPullRequestCreateArrow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitPullRequestCreateArrow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitPullRequest\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjE4IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjYiIGN5PSI2IiByPSIzIiAvPgogIDxwYXRoIGQ9Ik0xMyA2aDNhMiAyIDAgMCAxIDIgMnY3IiAvPgogIDxsaW5lIHgxPSI2IiB4Mj0iNiIgeTE9IjkiIHkyPSIyMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/git-pull-request\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitPullRequest = /*#__PURE__*/(() => {\n  class LucideGitPullRequest extends LucideIconBase {\n    static icon = {\n      name: 'git-pull-request',\n      size: 24,\n      node: [['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }], ['circle', {\n        cx: '6',\n        cy: '6',\n        r: '3',\n        key: '1lh9wr'\n      }], ['path', {\n        d: 'M13 6h3a2 2 0 0 1 2 2v7',\n        key: '1yeb86'\n      }], ['line', {\n        x1: '6',\n        x2: '6',\n        y1: '9',\n        y2: '21',\n        key: 'rroup'\n      }]]\n    };\n    icon = signal(LucideGitPullRequest.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitPullRequest_BaseFactory;\n      return function LucideGitPullRequest_Factory(__ngFactoryType__) {\n        return (ɵLucideGitPullRequest_BaseFactory || (ɵLucideGitPullRequest_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitPullRequest)))(__ngFactoryType__ || LucideGitPullRequest);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitPullRequest,\n      selectors: [[\"svg\", \"lucideGitPullRequest\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c737,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitPullRequest_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitPullRequest_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitPullRequest;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitPullRequestCreate\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI2IiBjeT0iNiIgcj0iMyIgLz4KICA8cGF0aCBkPSJNNiA5djEyIiAvPgogIDxwYXRoIGQ9Ik0xMyA2aDNhMiAyIDAgMCAxIDIgMnYzIiAvPgogIDxwYXRoIGQ9Ik0xOCAxNXY2IiAvPgogIDxwYXRoIGQ9Ik0yMSAxOGgtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/git-pull-request-create\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitPullRequestCreate = /*#__PURE__*/(() => {\n  class LucideGitPullRequestCreate extends LucideIconBase {\n    static icon = {\n      name: 'git-pull-request-create',\n      size: 24,\n      node: [['circle', {\n        cx: '6',\n        cy: '6',\n        r: '3',\n        key: '1lh9wr'\n      }], ['path', {\n        d: 'M6 9v12',\n        key: '1sc30k'\n      }], ['path', {\n        d: 'M13 6h3a2 2 0 0 1 2 2v3',\n        key: '1jb6z3'\n      }], ['path', {\n        d: 'M18 15v6',\n        key: '9wciyi'\n      }], ['path', {\n        d: 'M21 18h-6',\n        key: '139f0c'\n      }]]\n    };\n    icon = signal(LucideGitPullRequestCreate.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitPullRequestCreate_BaseFactory;\n      return function LucideGitPullRequestCreate_Factory(__ngFactoryType__) {\n        return (ɵLucideGitPullRequestCreate_BaseFactory || (ɵLucideGitPullRequestCreate_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitPullRequestCreate)))(__ngFactoryType__ || LucideGitPullRequestCreate);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitPullRequestCreate,\n      selectors: [[\"svg\", \"lucideGitPullRequestCreate\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c738,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitPullRequestCreate_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitPullRequestCreate_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitPullRequestCreate;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GitPullRequestDraft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjE4IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjYiIGN5PSI2IiByPSIzIiAvPgogIDxwYXRoIGQ9Ik0xOCA2VjUiIC8+CiAgPHBhdGggZD0iTTE4IDExdi0xIiAvPgogIDxsaW5lIHgxPSI2IiB4Mj0iNiIgeTE9IjkiIHkyPSIyMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/git-pull-request-draft\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGitPullRequestDraft = /*#__PURE__*/(() => {\n  class LucideGitPullRequestDraft extends LucideIconBase {\n    static icon = {\n      name: 'git-pull-request-draft',\n      size: 24,\n      node: [['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }], ['circle', {\n        cx: '6',\n        cy: '6',\n        r: '3',\n        key: '1lh9wr'\n      }], ['path', {\n        d: 'M18 6V5',\n        key: '1oao2s'\n      }], ['path', {\n        d: 'M18 11v-1',\n        key: '11c8tz'\n      }], ['line', {\n        x1: '6',\n        x2: '6',\n        y1: '9',\n        y2: '21',\n        key: 'rroup'\n      }]]\n    };\n    icon = signal(LucideGitPullRequestDraft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGitPullRequestDraft_BaseFactory;\n      return function LucideGitPullRequestDraft_Factory(__ngFactoryType__) {\n        return (ɵLucideGitPullRequestDraft_BaseFactory || (ɵLucideGitPullRequestDraft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGitPullRequestDraft)))(__ngFactoryType__ || LucideGitPullRequestDraft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGitPullRequestDraft,\n      selectors: [[\"svg\", \"lucideGitPullRequestDraft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c739,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGitPullRequestDraft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGitPullRequestDraft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGitPullRequestDraft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GlassWater\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNS4xMTYgNC4xMDRBMSAxIDAgMCAxIDYuMTEgM2gxMS43OGExIDEgMCAwIDEgLjk5NCAxLjEwNUwxNy4xOSAyMC4yMUEyIDIgMCAwIDEgMTUuMiAyMkg4LjhhMiAyIDAgMCAxLTItMS43OXoiIC8+CiAgPHBhdGggZD0iTTYgMTJhNSA1IDAgMCAxIDYgMCA1IDUgMCAwIDAgNiAwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/glass-water\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGlassWater = /*#__PURE__*/(() => {\n  class LucideGlassWater extends LucideIconBase {\n    static icon = {\n      name: 'glass-water',\n      size: 24,\n      node: [['path', {\n        d: 'M5.116 4.104A1 1 0 0 1 6.11 3h11.78a1 1 0 0 1 .994 1.105L17.19 20.21A2 2 0 0 1 15.2 22H8.8a2 2 0 0 1-2-1.79z',\n        key: 'p55z4y'\n      }], ['path', {\n        d: 'M6 12a5 5 0 0 1 6 0 5 5 0 0 0 6 0',\n        key: 'mjntcy'\n      }]]\n    };\n    icon = signal(LucideGlassWater.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGlassWater_BaseFactory;\n      return function LucideGlassWater_Factory(__ngFactoryType__) {\n        return (ɵLucideGlassWater_BaseFactory || (ɵLucideGlassWater_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGlassWater)))(__ngFactoryType__ || LucideGlassWater);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGlassWater,\n      selectors: [[\"svg\", \"lucideGlassWater\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c740,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGlassWater_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGlassWater_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGlassWater;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GlobeLock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuNjg2IDE1QTE0LjUgMTQuNSAwIDAgMSAxMiAyMmExNC41IDE0LjUgMCAwIDEgMC0yMCAxMCAxMCAwIDEgMCA5LjU0MiAxMyIgLz4KICA8cGF0aCBkPSJNMiAxMmg4LjUiIC8+CiAgPHBhdGggZD0iTTIwIDZWNGEyIDIgMCAxIDAtNCAwdjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjgiIGhlaWdodD0iNSIgeD0iMTQiIHk9IjYiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/globe-lock\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGlobeLock = /*#__PURE__*/(() => {\n  class LucideGlobeLock extends LucideIconBase {\n    static icon = {\n      name: 'globe-lock',\n      size: 24,\n      node: [['path', {\n        d: 'M15.686 15A14.5 14.5 0 0 1 12 22a14.5 14.5 0 0 1 0-20 10 10 0 1 0 9.542 13',\n        key: 'qkt0x6'\n      }], ['path', {\n        d: 'M2 12h8.5',\n        key: 'ovaggd'\n      }], ['path', {\n        d: 'M20 6V4a2 2 0 1 0-4 0v2',\n        key: '1of5e8'\n      }], ['rect', {\n        width: '8',\n        height: '5',\n        x: '14',\n        y: '6',\n        rx: '1',\n        key: '1fmf51'\n      }]]\n    };\n    icon = signal(LucideGlobeLock.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGlobeLock_BaseFactory;\n      return function LucideGlobeLock_Factory(__ngFactoryType__) {\n        return (ɵLucideGlobeLock_BaseFactory || (ɵLucideGlobeLock_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGlobeLock)))(__ngFactoryType__ || LucideGlobeLock);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGlobeLock,\n      selectors: [[\"svg\", \"lucideGlobeLock\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c741,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGlobeLock_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGlobeLock_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGlobeLock;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Glasses\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI2IiBjeT0iMTUiIHI9IjQiIC8+CiAgPGNpcmNsZSBjeD0iMTgiIGN5PSIxNSIgcj0iNCIgLz4KICA8cGF0aCBkPSJNMTQgMTVhMiAyIDAgMCAwLTItMiAyIDIgMCAwIDAtMiAyIiAvPgogIDxwYXRoIGQ9Ik0yLjUgMTMgNSA3Yy43LTEuMyAxLjQtMiAzLTIiIC8+CiAgPHBhdGggZD0iTTIxLjUgMTMgMTkgN2MtLjctMS4zLTEuNS0yLTMtMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/glasses\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGlasses = /*#__PURE__*/(() => {\n  class LucideGlasses extends LucideIconBase {\n    static icon = {\n      name: 'glasses',\n      size: 24,\n      node: [['circle', {\n        cx: '6',\n        cy: '15',\n        r: '4',\n        key: 'vux9w4'\n      }], ['circle', {\n        cx: '18',\n        cy: '15',\n        r: '4',\n        key: '18o8ve'\n      }], ['path', {\n        d: 'M14 15a2 2 0 0 0-2-2 2 2 0 0 0-2 2',\n        key: '1ag4bs'\n      }], ['path', {\n        d: 'M2.5 13 5 7c.7-1.3 1.4-2 3-2',\n        key: '1hm1gs'\n      }], ['path', {\n        d: 'M21.5 13 19 7c-.7-1.3-1.5-2-3-2',\n        key: '1r31ai'\n      }]]\n    };\n    icon = signal(LucideGlasses.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGlasses_BaseFactory;\n      return function LucideGlasses_Factory(__ngFactoryType__) {\n        return (ɵLucideGlasses_BaseFactory || (ɵLucideGlasses_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGlasses)))(__ngFactoryType__ || LucideGlasses);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGlasses,\n      selectors: [[\"svg\", \"lucideGlasses\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c742,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGlasses_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGlasses_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGlasses;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GlobeOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMTE0IDQuNDYyQTE0LjUgMTQuNSAwIDAgMSAxMiAyYTEwIDEwIDAgMCAxIDkuMzEzIDEzLjY0MyIgLz4KICA8cGF0aCBkPSJNMTUuNTU3IDE1LjU1NkExNC41IDE0LjUgMCAwIDEgMTIgMjIgMTAgMTAgMCAwIDEgNC45MjkgNC45MjkiIC8+CiAgPHBhdGggZD0iTTE1Ljg5MiAxMC4yMzRBMTQuNSAxNC41IDAgMCAwIDEyIDJhMTAgMTAgMCAwIDAtMy42NDMuNjg3IiAvPgogIDxwYXRoIGQ9Ik0xNy42NTYgMTJIMjIiIC8+CiAgPHBhdGggZD0iTTE5LjA3MSAxOS4wNzFBMTAgMTAgMCAwIDEgMTIgMjIgMTQuNSAxNC41IDAgMCAxIDguNDQgOC40NSIgLz4KICA8cGF0aCBkPSJNMiAxMmgxMCIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/globe-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGlobeOff = /*#__PURE__*/(() => {\n  class LucideGlobeOff extends LucideIconBase {\n    static icon = {\n      name: 'globe-off',\n      size: 24,\n      node: [['path', {\n        d: 'M10.114 4.462A14.5 14.5 0 0 1 12 2a10 10 0 0 1 9.313 13.643',\n        key: '1jq2r7'\n      }], ['path', {\n        d: 'M15.557 15.556A14.5 14.5 0 0 1 12 22 10 10 0 0 1 4.929 4.929',\n        key: '1ohfya'\n      }], ['path', {\n        d: 'M15.892 10.234A14.5 14.5 0 0 0 12 2a10 10 0 0 0-3.643.687',\n        key: '1fyh9w'\n      }], ['path', {\n        d: 'M17.656 12H22',\n        key: '1ttse4'\n      }], ['path', {\n        d: 'M19.071 19.071A10 10 0 0 1 12 22 14.5 14.5 0 0 1 8.44 8.45',\n        key: 'rmtjzo'\n      }], ['path', {\n        d: 'M2 12h10',\n        key: '19562f'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucideGlobeOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGlobeOff_BaseFactory;\n      return function LucideGlobeOff_Factory(__ngFactoryType__) {\n        return (ɵLucideGlobeOff_BaseFactory || (ɵLucideGlobeOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGlobeOff)))(__ngFactoryType__ || LucideGlobeOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGlobeOff,\n      selectors: [[\"svg\", \"lucideGlobeOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c743,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGlobeOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGlobeOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGlobeOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GlobeX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMyA1IDUiIC8+CiAgPHBhdGggZD0iTTIgMTJoMjBBMTAgMTAgMCAxIDEgMTIgMmExNC41IDE0LjUgMCAwIDAgMCAyMCAxNC41IDE0LjUgMCAwIDAgNC0xMCIgLz4KICA8cGF0aCBkPSJtMjEgMy01IDUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/globe-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGlobeX = /*#__PURE__*/(() => {\n  class LucideGlobeX extends LucideIconBase {\n    static icon = {\n      name: 'globe-x',\n      size: 24,\n      node: [['path', {\n        d: 'm16 3 5 5',\n        key: '1husv6'\n      }], ['path', {\n        d: 'M2 12h20A10 10 0 1 1 12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 4-10',\n        key: '46evmv'\n      }], ['path', {\n        d: 'm21 3-5 5',\n        key: '1g5oa7'\n      }]]\n    };\n    icon = signal(LucideGlobeX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGlobeX_BaseFactory;\n      return function LucideGlobeX_Factory(__ngFactoryType__) {\n        return (ɵLucideGlobeX_BaseFactory || (ɵLucideGlobeX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGlobeX)))(__ngFactoryType__ || LucideGlobeX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGlobeX,\n      selectors: [[\"svg\", \"lucideGlobeX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c744,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGlobeX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGlobeX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGlobeX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Goal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTNWMmw4IDQtOCA0IiAvPgogIDxwYXRoIGQ9Ik0yMC41NjEgMTAuMjIyYTkgOSAwIDEgMS0xMi41NS01LjI5IiAvPgogIDxwYXRoIGQ9Ik04LjAwMiA5Ljk5N2E1IDUgMCAxIDAgOC45IDIuMDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/goal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGoal = /*#__PURE__*/(() => {\n  class LucideGoal extends LucideIconBase {\n    static icon = {\n      name: 'goal',\n      size: 24,\n      node: [['path', {\n        d: 'M12 13V2l8 4-8 4',\n        key: '5wlwwj'\n      }], ['path', {\n        d: 'M20.561 10.222a9 9 0 1 1-12.55-5.29',\n        key: '1c0wjv'\n      }], ['path', {\n        d: 'M8.002 9.997a5 5 0 1 0 8.9 2.02',\n        key: 'gb1g7m'\n      }]]\n    };\n    icon = signal(LucideGoal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGoal_BaseFactory;\n      return function LucideGoal_Factory(__ngFactoryType__) {\n        return (ɵLucideGoal_BaseFactory || (ɵLucideGoal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGoal)))(__ngFactoryType__ || LucideGoal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGoal,\n      selectors: [[\"svg\", \"lucideGoal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c745,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGoal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGoal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGoal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Gpu\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxN2gxOGEyIDIgMCAwIDAgMi0yVjdhMiAyIDAgMCAwLTItMkgyIiAvPgogIDxwYXRoIGQ9Ik0yIDIxVjMiIC8+CiAgPHBhdGggZD0iTTcgMTd2M2ExIDEgMCAwIDAgMSAxaDVhMSAxIDAgMCAwIDEtMXYtMyIgLz4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjExIiByPSIyIiAvPgogIDxjaXJjbGUgY3g9IjgiIGN5PSIxMSIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/gpu\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGpu = /*#__PURE__*/(() => {\n  class LucideGpu extends LucideIconBase {\n    static icon = {\n      name: 'gpu',\n      size: 24,\n      node: [['path', {\n        d: 'M2 17h18a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H2',\n        key: 'hpo31w'\n      }], ['path', {\n        d: 'M2 21V3',\n        key: '1bzk4w'\n      }], ['path', {\n        d: 'M7 17v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3',\n        key: '5hbqbf'\n      }], ['circle', {\n        cx: '16',\n        cy: '11',\n        r: '2',\n        key: 'qt15rb'\n      }], ['circle', {\n        cx: '8',\n        cy: '11',\n        r: '2',\n        key: 'ssideg'\n      }]]\n    };\n    icon = signal(LucideGpu.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGpu_BaseFactory;\n      return function LucideGpu_Factory(__ngFactoryType__) {\n        return (ɵLucideGpu_BaseFactory || (ɵLucideGpu_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGpu)))(__ngFactoryType__ || LucideGpu);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGpu,\n      selectors: [[\"svg\", \"lucideGpu\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c746,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGpu_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGpu_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGpu;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GraduationCap\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEuNDIgMTAuOTIyYTEgMSAwIDAgMC0uMDE5LTEuODM4TDEyLjgzIDUuMThhMiAyIDAgMCAwLTEuNjYgMEwyLjYgOS4wOGExIDEgMCAwIDAgMCAxLjgzMmw4LjU3IDMuOTA4YTIgMiAwIDAgMCAxLjY2IDB6IiAvPgogIDxwYXRoIGQ9Ik0yMiAxMHY2IiAvPgogIDxwYXRoIGQ9Ik02IDEyLjVWMTZhNiAzIDAgMCAwIDEyIDB2LTMuNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/graduation-cap\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGraduationCap = /*#__PURE__*/(() => {\n  class LucideGraduationCap extends LucideIconBase {\n    static icon = {\n      name: 'graduation-cap',\n      size: 24,\n      node: [['path', {\n        d: 'M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z',\n        key: 'j76jl0'\n      }], ['path', {\n        d: 'M22 10v6',\n        key: '1lu8f3'\n      }], ['path', {\n        d: 'M6 12.5V16a6 3 0 0 0 12 0v-3.5',\n        key: '1r8lef'\n      }]]\n    };\n    icon = signal(LucideGraduationCap.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGraduationCap_BaseFactory;\n      return function LucideGraduationCap_Factory(__ngFactoryType__) {\n        return (ɵLucideGraduationCap_BaseFactory || (ɵLucideGraduationCap_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGraduationCap)))(__ngFactoryType__ || LucideGraduationCap);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGraduationCap,\n      selectors: [[\"svg\", \"lucideGraduationCap\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c747,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGraduationCap_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGraduationCap_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGraduationCap;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Globe\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgMmExNC41IDE0LjUgMCAwIDAgMCAyMCAxNC41IDE0LjUgMCAwIDAgMC0yMCIgLz4KICA8cGF0aCBkPSJNMiAxMmgyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/globe\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGlobe = /*#__PURE__*/(() => {\n  class LucideGlobe extends LucideIconBase {\n    static icon = {\n      name: 'globe',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20',\n        key: '13o1zl'\n      }], ['path', {\n        d: 'M2 12h20',\n        key: '9i4pu4'\n      }]]\n    };\n    icon = signal(LucideGlobe.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGlobe_BaseFactory;\n      return function LucideGlobe_Factory(__ngFactoryType__) {\n        return (ɵLucideGlobe_BaseFactory || (ɵLucideGlobe_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGlobe)))(__ngFactoryType__ || LucideGlobe);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGlobe,\n      selectors: [[\"svg\", \"lucideGlobe\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c748,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGlobe_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGlobe_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGlobe;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Grid2x2Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxN2ExIDEgMCAwIDEtMSAxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnY2YTEgMSAwIDAgMS0xIDFIMyIgLz4KICA8cGF0aCBkPSJtMTYgMTkgMiAyIDQtNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/grid-2x2-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGrid2x2Check = /*#__PURE__*/(() => {\n  class LucideGrid2x2Check extends LucideIconBase {\n    static icon = {\n      name: 'grid-2x2-check',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3',\n        key: '11za1p'\n      }], ['path', {\n        d: 'm16 19 2 2 4-4',\n        key: '1b14m6'\n      }]],\n      aliases: ['grid-2-x-2-check']\n    };\n    icon = signal(LucideGrid2x2Check.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGrid2x2Check_BaseFactory;\n      return function LucideGrid2x2Check_Factory(__ngFactoryType__) {\n        return (ɵLucideGrid2x2Check_BaseFactory || (ɵLucideGrid2x2Check_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGrid2x2Check)))(__ngFactoryType__ || LucideGrid2x2Check);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGrid2x2Check,\n      selectors: [[\"svg\", \"lucideGrid2x2Check\", \"\"], [\"svg\", \"lucideGrid2X2Check\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c749,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGrid2x2Check_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGrid2x2Check_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGrid2x2Check;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideGrid2x2Check\n */\nconst LucideGrid2X2Check = LucideGrid2x2Check;\n\n/**\n * @component @name Grape\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgNVYybC01Ljg5IDUuODkiIC8+CiAgPGNpcmNsZSBjeD0iMTYuNiIgY3k9IjE1Ljg5IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjguMTEiIGN5PSI3LjQiIHI9IjMiIC8+CiAgPGNpcmNsZSBjeD0iMTIuMzUiIGN5PSIxMS42NSIgcj0iMyIgLz4KICA8Y2lyY2xlIGN4PSIxMy45MSIgY3k9IjUuODUiIHI9IjMiIC8+CiAgPGNpcmNsZSBjeD0iMTguMTUiIGN5PSIxMC4wOSIgcj0iMyIgLz4KICA8Y2lyY2xlIGN4PSI2LjU2IiBjeT0iMTMuMiIgcj0iMyIgLz4KICA8Y2lyY2xlIGN4PSIxMC44IiBjeT0iMTcuNDQiIHI9IjMiIC8+CiAgPGNpcmNsZSBjeD0iNSIgY3k9IjE5IiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/grape\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGrape = /*#__PURE__*/(() => {\n  class LucideGrape extends LucideIconBase {\n    static icon = {\n      name: 'grape',\n      size: 24,\n      node: [['path', {\n        d: 'M22 5V2l-5.89 5.89',\n        key: '1eenpo'\n      }], ['circle', {\n        cx: '16.6',\n        cy: '15.89',\n        r: '3',\n        key: 'xjtalx'\n      }], ['circle', {\n        cx: '8.11',\n        cy: '7.4',\n        r: '3',\n        key: 'u2fv6i'\n      }], ['circle', {\n        cx: '12.35',\n        cy: '11.65',\n        r: '3',\n        key: 'i6i8g7'\n      }], ['circle', {\n        cx: '13.91',\n        cy: '5.85',\n        r: '3',\n        key: '6ye0dv'\n      }], ['circle', {\n        cx: '18.15',\n        cy: '10.09',\n        r: '3',\n        key: 'snx9no'\n      }], ['circle', {\n        cx: '6.56',\n        cy: '13.2',\n        r: '3',\n        key: '17x4xg'\n      }], ['circle', {\n        cx: '10.8',\n        cy: '17.44',\n        r: '3',\n        key: '1hogw9'\n      }], ['circle', {\n        cx: '5',\n        cy: '19',\n        r: '3',\n        key: '1sn6vo'\n      }]]\n    };\n    icon = signal(LucideGrape.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGrape_BaseFactory;\n      return function LucideGrape_Factory(__ngFactoryType__) {\n        return (ɵLucideGrape_BaseFactory || (ɵLucideGrape_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGrape)))(__ngFactoryType__ || LucideGrape);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGrape,\n      selectors: [[\"svg\", \"lucideGrape\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c750,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGrape_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGrape_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGrape;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Grid2x2Plus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxN2ExIDEgMCAwIDEtMSAxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnY2YTEgMSAwIDAgMS0xIDFIMyIgLz4KICA8cGF0aCBkPSJNMTYgMTloNiIgLz4KICA8cGF0aCBkPSJNMTkgMjJ2LTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/grid-2x2-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGrid2x2Plus = /*#__PURE__*/(() => {\n  class LucideGrid2x2Plus extends LucideIconBase {\n    static icon = {\n      name: 'grid-2x2-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3',\n        key: '11za1p'\n      }], ['path', {\n        d: 'M16 19h6',\n        key: 'xwg31i'\n      }], ['path', {\n        d: 'M19 22v-6',\n        key: 'qhmiwi'\n      }]],\n      aliases: ['grid-2-x-2-plus']\n    };\n    icon = signal(LucideGrid2x2Plus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGrid2x2Plus_BaseFactory;\n      return function LucideGrid2x2Plus_Factory(__ngFactoryType__) {\n        return (ɵLucideGrid2x2Plus_BaseFactory || (ɵLucideGrid2x2Plus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGrid2x2Plus)))(__ngFactoryType__ || LucideGrid2x2Plus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGrid2x2Plus,\n      selectors: [[\"svg\", \"lucideGrid2x2Plus\", \"\"], [\"svg\", \"lucideGrid2X2Plus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c751,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGrid2x2Plus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGrid2x2Plus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGrid2x2Plus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideGrid2x2Plus\n */\nconst LucideGrid2X2Plus = LucideGrid2x2Plus;\n\n/**\n * @component @name Grid2x2X\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxN2ExIDEgMCAwIDEtMSAxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnY2YTEgMSAwIDAgMS0xIDFIMyIgLz4KICA8cGF0aCBkPSJtMTYgMTYgNSA1IiAvPgogIDxwYXRoIGQ9Im0xNiAyMSA1LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/grid-2x2-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGrid2x2X = /*#__PURE__*/(() => {\n  class LucideGrid2x2X extends LucideIconBase {\n    static icon = {\n      name: 'grid-2x2-x',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3',\n        key: '11za1p'\n      }], ['path', {\n        d: 'm16 16 5 5',\n        key: '8tpb07'\n      }], ['path', {\n        d: 'm16 21 5-5',\n        key: '193jll'\n      }]],\n      aliases: ['grid-2-x-2-x']\n    };\n    icon = signal(LucideGrid2x2X.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGrid2x2X_BaseFactory;\n      return function LucideGrid2x2X_Factory(__ngFactoryType__) {\n        return (ɵLucideGrid2x2X_BaseFactory || (ɵLucideGrid2x2X_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGrid2x2X)))(__ngFactoryType__ || LucideGrid2x2X);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGrid2x2X,\n      selectors: [[\"svg\", \"lucideGrid2x2X\", \"\"], [\"svg\", \"lucideGrid2X2X\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c752,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGrid2x2X_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGrid2x2X_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGrid2x2X;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideGrid2x2X\n */\nconst LucideGrid2X2X = LucideGrid2x2X;\n\n/**\n * @component @name Grid3x2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgM3YxOCIgLz4KICA8cGF0aCBkPSJNMyAxMmgxOCIgLz4KICA8cGF0aCBkPSJNOSAzdjE4IiAvPgogIDxyZWN0IHg9IjMiIHk9IjMiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/grid-3x2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGrid3x2 = /*#__PURE__*/(() => {\n  class LucideGrid3x2 extends LucideIconBase {\n    static icon = {\n      name: 'grid-3x2',\n      size: 24,\n      node: [['path', {\n        d: 'M15 3v18',\n        key: '14nvp0'\n      }], ['path', {\n        d: 'M3 12h18',\n        key: '1i2n21'\n      }], ['path', {\n        d: 'M9 3v18',\n        key: 'fh3hqa'\n      }], ['rect', {\n        x: '3',\n        y: '3',\n        width: '18',\n        height: '18',\n        rx: '2',\n        key: 'h1oib'\n      }]]\n    };\n    icon = signal(LucideGrid3x2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGrid3x2_BaseFactory;\n      return function LucideGrid3x2_Factory(__ngFactoryType__) {\n        return (ɵLucideGrid3x2_BaseFactory || (ɵLucideGrid3x2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGrid3x2)))(__ngFactoryType__ || LucideGrid3x2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGrid3x2,\n      selectors: [[\"svg\", \"lucideGrid3x2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c753,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGrid3x2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGrid3x2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGrid3x2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Grid2x2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxOCIgLz4KICA8cGF0aCBkPSJNMyAxMmgxOCIgLz4KICA8cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/grid-2x2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGrid2x2 = /*#__PURE__*/(() => {\n  class LucideGrid2x2 extends LucideIconBase {\n    static icon = {\n      name: 'grid-2x2',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3v18',\n        key: '108xh3'\n      }], ['path', {\n        d: 'M3 12h18',\n        key: '1i2n21'\n      }], ['rect', {\n        x: '3',\n        y: '3',\n        width: '18',\n        height: '18',\n        rx: '2',\n        key: 'h1oib'\n      }]],\n      aliases: ['grid-2-x-2']\n    };\n    icon = signal(LucideGrid2x2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGrid2x2_BaseFactory;\n      return function LucideGrid2x2_Factory(__ngFactoryType__) {\n        return (ɵLucideGrid2x2_BaseFactory || (ɵLucideGrid2x2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGrid2x2)))(__ngFactoryType__ || LucideGrid2x2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGrid2x2,\n      selectors: [[\"svg\", \"lucideGrid2x2\", \"\"], [\"svg\", \"lucideGrid2X2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c754,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGrid2x2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGrid2x2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGrid2x2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideGrid2x2\n */\nconst LucideGrid2X2 = LucideGrid2x2;\n\n/**\n * @component @name Grid3x3\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDloMTgiIC8+CiAgPHBhdGggZD0iTTMgMTVoMTgiIC8+CiAgPHBhdGggZD0iTTkgM3YxOCIgLz4KICA8cGF0aCBkPSJNMTUgM3YxOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/grid-3x3\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGrid3x3 = /*#__PURE__*/(() => {\n  class LucideGrid3x3 extends LucideIconBase {\n    static icon = {\n      name: 'grid-3x3',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M3 9h18',\n        key: '1pudct'\n      }], ['path', {\n        d: 'M3 15h18',\n        key: '5xshup'\n      }], ['path', {\n        d: 'M9 3v18',\n        key: 'fh3hqa'\n      }], ['path', {\n        d: 'M15 3v18',\n        key: '14nvp0'\n      }]],\n      aliases: ['grid', 'grid-3-x-3']\n    };\n    icon = signal(LucideGrid3x3.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGrid3x3_BaseFactory;\n      return function LucideGrid3x3_Factory(__ngFactoryType__) {\n        return (ɵLucideGrid3x3_BaseFactory || (ɵLucideGrid3x3_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGrid3x3)))(__ngFactoryType__ || LucideGrid3x3);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGrid3x3,\n      selectors: [[\"svg\", \"lucideGrid3x3\", \"\"], [\"svg\", \"lucideGrid\", \"\"], [\"svg\", \"lucideGrid3X3\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c755,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGrid3x3_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGrid3x3_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGrid3x3;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideGrid3x3\n */\nconst LucideGrid = LucideGrid3x3;\n/**\n * @deprecated\n * @see LucideGrid3x3\n */\nconst LucideGrid3X3 = LucideGrid3x3;\n\n/**\n * @component @name GripHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjkiIHI9IjEiIC8+CiAgPGNpcmNsZSBjeD0iMTkiIGN5PSI5IiByPSIxIiAvPgogIDxjaXJjbGUgY3g9IjUiIGN5PSI5IiByPSIxIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTUiIHI9IjEiIC8+CiAgPGNpcmNsZSBjeD0iMTkiIGN5PSIxNSIgcj0iMSIgLz4KICA8Y2lyY2xlIGN4PSI1IiBjeT0iMTUiIHI9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/grip-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGripHorizontal = /*#__PURE__*/(() => {\n  class LucideGripHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'grip-horizontal',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '9',\n        r: '1',\n        key: '124mty'\n      }], ['circle', {\n        cx: '19',\n        cy: '9',\n        r: '1',\n        key: '1ruzo2'\n      }], ['circle', {\n        cx: '5',\n        cy: '9',\n        r: '1',\n        key: '1a8b28'\n      }], ['circle', {\n        cx: '12',\n        cy: '15',\n        r: '1',\n        key: '1e56xg'\n      }], ['circle', {\n        cx: '19',\n        cy: '15',\n        r: '1',\n        key: '1a92ep'\n      }], ['circle', {\n        cx: '5',\n        cy: '15',\n        r: '1',\n        key: '5r1jwy'\n      }]]\n    };\n    icon = signal(LucideGripHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGripHorizontal_BaseFactory;\n      return function LucideGripHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideGripHorizontal_BaseFactory || (ɵLucideGripHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGripHorizontal)))(__ngFactoryType__ || LucideGripHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGripHorizontal,\n      selectors: [[\"svg\", \"lucideGripHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c756,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGripHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGripHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGripHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name GripVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iMTIiIHI9IjEiIC8+CiAgPGNpcmNsZSBjeD0iOSIgY3k9IjUiIHI9IjEiIC8+CiAgPGNpcmNsZSBjeD0iOSIgY3k9IjE5IiByPSIxIiAvPgogIDxjaXJjbGUgY3g9IjE1IiBjeT0iMTIiIHI9IjEiIC8+CiAgPGNpcmNsZSBjeD0iMTUiIGN5PSI1IiByPSIxIiAvPgogIDxjaXJjbGUgY3g9IjE1IiBjeT0iMTkiIHI9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/grip-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGripVertical = /*#__PURE__*/(() => {\n  class LucideGripVertical extends LucideIconBase {\n    static icon = {\n      name: 'grip-vertical',\n      size: 24,\n      node: [['circle', {\n        cx: '9',\n        cy: '12',\n        r: '1',\n        key: '1vctgf'\n      }], ['circle', {\n        cx: '9',\n        cy: '5',\n        r: '1',\n        key: 'hp0tcf'\n      }], ['circle', {\n        cx: '9',\n        cy: '19',\n        r: '1',\n        key: 'fkjjf6'\n      }], ['circle', {\n        cx: '15',\n        cy: '12',\n        r: '1',\n        key: '1tmaij'\n      }], ['circle', {\n        cx: '15',\n        cy: '5',\n        r: '1',\n        key: '19l28e'\n      }], ['circle', {\n        cx: '15',\n        cy: '19',\n        r: '1',\n        key: 'f4zoj3'\n      }]]\n    };\n    icon = signal(LucideGripVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGripVertical_BaseFactory;\n      return function LucideGripVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideGripVertical_BaseFactory || (ɵLucideGripVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGripVertical)))(__ngFactoryType__ || LucideGripVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGripVertical,\n      selectors: [[\"svg\", \"lucideGripVertical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c757,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGripVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGripVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGripVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Grip\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjUiIHI9IjEiIC8+CiAgPGNpcmNsZSBjeD0iMTkiIGN5PSI1IiByPSIxIiAvPgogIDxjaXJjbGUgY3g9IjUiIGN5PSI1IiByPSIxIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEiIC8+CiAgPGNpcmNsZSBjeD0iMTkiIGN5PSIxMiIgcj0iMSIgLz4KICA8Y2lyY2xlIGN4PSI1IiBjeT0iMTIiIHI9IjEiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxOSIgcj0iMSIgLz4KICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjE5IiByPSIxIiAvPgogIDxjaXJjbGUgY3g9IjUiIGN5PSIxOSIgcj0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/grip\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGrip = /*#__PURE__*/(() => {\n  class LucideGrip extends LucideIconBase {\n    static icon = {\n      name: 'grip',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '5',\n        r: '1',\n        key: 'gxeob9'\n      }], ['circle', {\n        cx: '19',\n        cy: '5',\n        r: '1',\n        key: 'w8mnmm'\n      }], ['circle', {\n        cx: '5',\n        cy: '5',\n        r: '1',\n        key: 'lttvr7'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '1',\n        key: '41hilf'\n      }], ['circle', {\n        cx: '19',\n        cy: '12',\n        r: '1',\n        key: '1wjl8i'\n      }], ['circle', {\n        cx: '5',\n        cy: '12',\n        r: '1',\n        key: '1pcz8c'\n      }], ['circle', {\n        cx: '12',\n        cy: '19',\n        r: '1',\n        key: 'lyex9k'\n      }], ['circle', {\n        cx: '19',\n        cy: '19',\n        r: '1',\n        key: 'shf9b7'\n      }], ['circle', {\n        cx: '5',\n        cy: '19',\n        r: '1',\n        key: 'bfqh0e'\n      }]]\n    };\n    icon = signal(LucideGrip.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGrip_BaseFactory;\n      return function LucideGrip_Factory(__ngFactoryType__) {\n        return (ɵLucideGrip_BaseFactory || (ɵLucideGrip_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGrip)))(__ngFactoryType__ || LucideGrip);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGrip,\n      selectors: [[\"svg\", \"lucideGrip\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c758,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGrip_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGrip_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGrip;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Group\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA3VjVjMC0xLjEuOS0yIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik0xNyAzaDJjMS4xIDAgMiAuOSAyIDJ2MiIgLz4KICA8cGF0aCBkPSJNMjEgMTd2MmMwIDEuMS0uOSAyLTIgMmgtMiIgLz4KICA8cGF0aCBkPSJNNyAyMUg1Yy0xLjEgMC0yLS45LTItMnYtMiIgLz4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSI1IiB4PSI3IiB5PSI3IiByeD0iMSIgLz4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSI1IiB4PSIxMCIgeT0iMTIiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/group\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGroup = /*#__PURE__*/(() => {\n  class LucideGroup extends LucideIconBase {\n    static icon = {\n      name: 'group',\n      size: 24,\n      node: [['path', {\n        d: 'M3 7V5c0-1.1.9-2 2-2h2',\n        key: 'adw53z'\n      }], ['path', {\n        d: 'M17 3h2c1.1 0 2 .9 2 2v2',\n        key: 'an4l38'\n      }], ['path', {\n        d: 'M21 17v2c0 1.1-.9 2-2 2h-2',\n        key: '144t0e'\n      }], ['path', {\n        d: 'M7 21H5c-1.1 0-2-.9-2-2v-2',\n        key: 'rtnfgi'\n      }], ['rect', {\n        width: '7',\n        height: '5',\n        x: '7',\n        y: '7',\n        rx: '1',\n        key: '1eyiv7'\n      }], ['rect', {\n        width: '7',\n        height: '5',\n        x: '10',\n        y: '12',\n        rx: '1',\n        key: '1qlmkx'\n      }]]\n    };\n    icon = signal(LucideGroup.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGroup_BaseFactory;\n      return function LucideGroup_Factory(__ngFactoryType__) {\n        return (ɵLucideGroup_BaseFactory || (ɵLucideGroup_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGroup)))(__ngFactoryType__ || LucideGroup);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGroup,\n      selectors: [[\"svg\", \"lucideGroup\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c759,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGroup_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGroup_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGroup;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ham\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuMTQ0IDIxLjE0NEE3LjI3NCAxMC40NDUgNDUgMSAwIDIuODU2IDEwLjg1NiIgLz4KICA8cGF0aCBkPSJNMTMuMTQ0IDIxLjE0NEE3LjI3NCA0LjM2NSA0NSAwIDAgMi44NTYgMTAuODU2YTcuMjc0IDQuMzY1IDQ1IDAgMCAxMC4yODggMTAuMjg4IiAvPgogIDxwYXRoIGQ9Ik0xNi41NjUgMTAuNDM1IDE4LjYgOC40YTIuNTAxIDIuNTAxIDAgMSAwIDEuNjUtNC42NSAyLjUgMi41IDAgMSAwLTQuNjYgMS42NmwtMi4wMjQgMi4wMjUiIC8+CiAgPHBhdGggZD0ibTguNSAxNi41LTEtMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/ham\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHam = /*#__PURE__*/(() => {\n  class LucideHam extends LucideIconBase {\n    static icon = {\n      name: 'ham',\n      size: 24,\n      node: [['path', {\n        d: 'M13.144 21.144A7.274 10.445 45 1 0 2.856 10.856',\n        key: '1k1t7q'\n      }], ['path', {\n        d: 'M13.144 21.144A7.274 4.365 45 0 0 2.856 10.856a7.274 4.365 45 0 0 10.288 10.288',\n        key: '153t1g'\n      }], ['path', {\n        d: 'M16.565 10.435 18.6 8.4a2.501 2.501 0 1 0 1.65-4.65 2.5 2.5 0 1 0-4.66 1.66l-2.024 2.025',\n        key: 'gzrt0n'\n      }], ['path', {\n        d: 'm8.5 16.5-1-1',\n        key: 'otr954'\n      }]]\n    };\n    icon = signal(LucideHam.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHam_BaseFactory;\n      return function LucideHam_Factory(__ngFactoryType__) {\n        return (ɵLucideHam_BaseFactory || (ɵLucideHam_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHam)))(__ngFactoryType__ || LucideHam);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHam,\n      selectors: [[\"svg\", \"lucideHam\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c760,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHam_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHam_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHam;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Guitar\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTEuOSAxMi4xIDQuNTE0LTQuNTE0IiAvPgogIDxwYXRoIGQ9Ik0yMC4xIDIuM2ExIDEgMCAwIDAtMS40IDBsLTEuMTE0IDEuMTE0QTIgMiAwIDAgMCAxNyA0LjgyOHYxLjM0NGEyIDIgMCAwIDEtLjU4NiAxLjQxNEEyIDIgMCAwIDEgMTcuODI4IDdoMS4zNDRhMiAyIDAgMCAwIDEuNDE0LS41ODZMMjEuNyA1LjNhMSAxIDAgMCAwIDAtMS40eiIgLz4KICA8cGF0aCBkPSJtNiAxNiAyIDIiIC8+CiAgPHBhdGggZD0iTTguMjMgOS44NUEzIDMgMCAwIDEgMTEgOGE1IDUgMCAwIDEgNSA1IDMgMyAwIDAgMS0xLjg1IDIuNzdsLS45Mi4zOEEyIDIgMCAwIDAgMTIgMThhNCA0IDAgMCAxLTQgNCA2IDYgMCAwIDEtNi02IDQgNCAwIDAgMSA0LTQgMiAyIDAgMCAwIDEuODUtMS4yM3oiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/guitar\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideGuitar = /*#__PURE__*/(() => {\n  class LucideGuitar extends LucideIconBase {\n    static icon = {\n      name: 'guitar',\n      size: 24,\n      node: [['path', {\n        d: 'm11.9 12.1 4.514-4.514',\n        key: '109xqo'\n      }], ['path', {\n        d: 'M20.1 2.3a1 1 0 0 0-1.4 0l-1.114 1.114A2 2 0 0 0 17 4.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 17.828 7h1.344a2 2 0 0 0 1.414-.586L21.7 5.3a1 1 0 0 0 0-1.4z',\n        key: 'txyc8t'\n      }], ['path', {\n        d: 'm6 16 2 2',\n        key: '16qmzd'\n      }], ['path', {\n        d: 'M8.23 9.85A3 3 0 0 1 11 8a5 5 0 0 1 5 5 3 3 0 0 1-1.85 2.77l-.92.38A2 2 0 0 0 12 18a4 4 0 0 1-4 4 6 6 0 0 1-6-6 4 4 0 0 1 4-4 2 2 0 0 0 1.85-1.23z',\n        key: '1de1vg'\n      }]]\n    };\n    icon = signal(LucideGuitar.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideGuitar_BaseFactory;\n      return function LucideGuitar_Factory(__ngFactoryType__) {\n        return (ɵLucideGuitar_BaseFactory || (ɵLucideGuitar_BaseFactory = i0.ɵɵgetInheritedFactory(LucideGuitar)))(__ngFactoryType__ || LucideGuitar);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideGuitar,\n      selectors: [[\"svg\", \"lucideGuitar\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c761,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideGuitar_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideGuitar_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideGuitar;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Hamburger\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTZINGEyIDIgMCAxIDEgMC00aDE2YTIgMiAwIDEgMSAwIDRoLTQuMjUiIC8+CiAgPHBhdGggZD0iTTUgMTJhMiAyIDAgMCAxLTItMiA5IDcgMCAwIDEgMTggMCAyIDIgMCAwIDEtMiAyIiAvPgogIDxwYXRoIGQ9Ik01IDE2YTIgMiAwIDAgMC0yIDIgMyAzIDAgMCAwIDMgM2gxMmEzIDMgMCAwIDAgMy0zIDIgMiAwIDAgMC0yLTJxMCAwIDAgMCIgLz4KICA8cGF0aCBkPSJtNi42NyAxMiA2LjEzIDQuNmEyIDIgMCAwIDAgMi44LS40bDMuMTUtNC4yIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/hamburger\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHamburger = /*#__PURE__*/(() => {\n  class LucideHamburger extends LucideIconBase {\n    static icon = {\n      name: 'hamburger',\n      size: 24,\n      node: [['path', {\n        d: 'M12 16H4a2 2 0 1 1 0-4h16a2 2 0 1 1 0 4h-4.25',\n        key: '5dloqd'\n      }], ['path', {\n        d: 'M5 12a2 2 0 0 1-2-2 9 7 0 0 1 18 0 2 2 0 0 1-2 2',\n        key: '1vl3my'\n      }], ['path', {\n        d: 'M5 16a2 2 0 0 0-2 2 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 2 2 0 0 0-2-2q0 0 0 0',\n        key: '1us75o'\n      }], ['path', {\n        d: 'm6.67 12 6.13 4.6a2 2 0 0 0 2.8-.4l3.15-4.2',\n        key: 'qqzweh'\n      }]]\n    };\n    icon = signal(LucideHamburger.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHamburger_BaseFactory;\n      return function LucideHamburger_Factory(__ngFactoryType__) {\n        return (ɵLucideHamburger_BaseFactory || (ɵLucideHamburger_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHamburger)))(__ngFactoryType__ || LucideHamburger);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHamburger,\n      selectors: [[\"svg\", \"lucideHamburger\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c762,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHamburger_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHamburger_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHamburger;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Hammer\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMTItOS4zNzMgOS4zNzNhMSAxIDAgMCAxLTMuMDAxLTNMMTIgOSIgLz4KICA8cGF0aCBkPSJtMTggMTUgNC00IiAvPgogIDxwYXRoIGQ9Im0yMS41IDExLjUtMS45MTQtMS45MTRBMiAyIDAgMCAxIDE5IDguMTcydi0uMzQ0YTIgMiAwIDAgMC0uNTg2LTEuNDE0bC0xLjY1Ny0xLjY1N0E2IDYgMCAwIDAgMTIuNTE2IDNIOWwxLjI0MyAxLjI0M0E2IDYgMCAwIDEgMTIgOC40ODVWMTBsMiAyaDEuMTcyYTIgMiAwIDAgMSAxLjQxNC41ODZMMTguNSAxNC41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/hammer\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHammer = /*#__PURE__*/(() => {\n  class LucideHammer extends LucideIconBase {\n    static icon = {\n      name: 'hammer',\n      size: 24,\n      node: [['path', {\n        d: 'm15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9',\n        key: '1hayfq'\n      }], ['path', {\n        d: 'm18 15 4-4',\n        key: '16gjal'\n      }], ['path', {\n        d: 'm21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5',\n        key: '15ts47'\n      }]]\n    };\n    icon = signal(LucideHammer.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHammer_BaseFactory;\n      return function LucideHammer_Factory(__ngFactoryType__) {\n        return (ɵLucideHammer_BaseFactory || (ɵLucideHammer_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHammer)))(__ngFactoryType__ || LucideHammer);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHammer,\n      selectors: [[\"svg\", \"lucideHammer\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c763,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHammer_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHammer_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHammer;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HandGrab\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggMTEuNVY5YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnYxLjQiIC8+CiAgPHBhdGggZD0iTTE0IDEwVjhhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAydjIiIC8+CiAgPHBhdGggZD0iTTEwIDkuOVY5YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnY1IiAvPgogIDxwYXRoIGQ9Ik02IDE0YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMiIgLz4KICA8cGF0aCBkPSJNMTggMTFhMiAyIDAgMSAxIDQgMHYzYTggOCAwIDAgMS04IDhoLTRhOCA4IDAgMCAxLTgtOCAyIDIgMCAxIDEgNCAwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/hand-grab\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHandGrab = /*#__PURE__*/(() => {\n  class LucideHandGrab extends LucideIconBase {\n    static icon = {\n      name: 'hand-grab',\n      size: 24,\n      node: [['path', {\n        d: 'M18 11.5V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4',\n        key: 'edstyy'\n      }], ['path', {\n        d: 'M14 10V8a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2',\n        key: '19wdwo'\n      }], ['path', {\n        d: 'M10 9.9V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5',\n        key: '1lugqo'\n      }], ['path', {\n        d: 'M6 14a2 2 0 0 0-2-2a2 2 0 0 0-2 2',\n        key: '1hbeus'\n      }], ['path', {\n        d: 'M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-4a8 8 0 0 1-8-8 2 2 0 1 1 4 0',\n        key: '1etffm'\n      }]],\n      aliases: ['grab']\n    };\n    icon = signal(LucideHandGrab.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHandGrab_BaseFactory;\n      return function LucideHandGrab_Factory(__ngFactoryType__) {\n        return (ɵLucideHandGrab_BaseFactory || (ɵLucideHandGrab_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHandGrab)))(__ngFactoryType__ || LucideHandGrab);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHandGrab,\n      selectors: [[\"svg\", \"lucideHandGrab\", \"\"], [\"svg\", \"lucideGrab\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c764,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHandGrab_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHandGrab_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHandGrab;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideHandGrab\n */\nconst LucideGrab = LucideHandGrab;\n\n/**\n * @component @name HandFist\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuMDM1IDE3LjAxMmEzIDMgMCAwIDAtMy0zbC0uMzExLS4wMDJhLjcyLjcyIDAgMCAxLS41MDUtMS4yMjlsMS4xOTUtMS4xOTVBMiAyIDAgMCAxIDEwLjgyOCAxMUgxMmEyIDIgMCAwIDAgMC00SDkuMjQzYTMgMyAwIDAgMC0yLjEyMi44NzlsLTIuNzA3IDIuNzA3QTQuODMgNC44MyAwIDAgMCAzIDE0YTggOCAwIDAgMCA4IDhoMmE4IDggMCAwIDAgOC04VjdhMiAyIDAgMSAwLTQgMHYyYTIgMiAwIDEgMCA0IDAiIC8+CiAgPHBhdGggZD0iTTEzLjg4OCA5LjY2MkEyIDIgMCAwIDAgMTcgOFY1QTIgMiAwIDEgMCAxMyA1IiAvPgogIDxwYXRoIGQ9Ik05IDVBMiAyIDAgMSAwIDUgNVYxMCIgLz4KICA8cGF0aCBkPSJNOSA3VjRBMiAyIDAgMSAxIDEzIDRWNy4yNjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/hand-fist\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHandFist = /*#__PURE__*/(() => {\n  class LucideHandFist extends LucideIconBase {\n    static icon = {\n      name: 'hand-fist',\n      size: 24,\n      node: [['path', {\n        d: 'M12.035 17.012a3 3 0 0 0-3-3l-.311-.002a.72.72 0 0 1-.505-1.229l1.195-1.195A2 2 0 0 1 10.828 11H12a2 2 0 0 0 0-4H9.243a3 3 0 0 0-2.122.879l-2.707 2.707A4.83 4.83 0 0 0 3 14a8 8 0 0 0 8 8h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v2a2 2 0 1 0 4 0',\n        key: '1ff7rl'\n      }], ['path', {\n        d: 'M13.888 9.662A2 2 0 0 0 17 8V5A2 2 0 1 0 13 5',\n        key: '1xmd21'\n      }], ['path', {\n        d: 'M9 5A2 2 0 1 0 5 5V10',\n        key: 'f3wfjw'\n      }], ['path', {\n        d: 'M9 7V4A2 2 0 1 1 13 4V7.268',\n        key: 'eaoucv'\n      }]]\n    };\n    icon = signal(LucideHandFist.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHandFist_BaseFactory;\n      return function LucideHandFist_Factory(__ngFactoryType__) {\n        return (ɵLucideHandFist_BaseFactory || (ɵLucideHandFist_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHandFist)))(__ngFactoryType__ || LucideHandFist);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHandFist,\n      selectors: [[\"svg\", \"lucideHandFist\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c765,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHandFist_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHandFist_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHandFist;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HandCoins\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTVoMmEyIDIgMCAxIDAgMC00aC0zYy0uNiAwLTEuMS4yLTEuNC42TDMgMTciIC8+CiAgPHBhdGggZD0ibTcgMjEgMS42LTEuNGMuMy0uNC44LS42IDEuNC0uNmg0YzEuMSAwIDIuMS0uNCAyLjgtMS4ybDQuNi00LjRhMiAyIDAgMCAwLTIuNzUtMi45MWwtNC4yIDMuOSIgLz4KICA8cGF0aCBkPSJtMiAxNiA2IDYiIC8+CiAgPGNpcmNsZSBjeD0iMTYiIGN5PSI5IiByPSIyLjkiIC8+CiAgPGNpcmNsZSBjeD0iNiIgY3k9IjUiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/hand-coins\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHandCoins = /*#__PURE__*/(() => {\n  class LucideHandCoins extends LucideIconBase {\n    static icon = {\n      name: 'hand-coins',\n      size: 24,\n      node: [['path', {\n        d: 'M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17',\n        key: 'geh8rc'\n      }], ['path', {\n        d: 'm7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9',\n        key: '1fto5m'\n      }], ['path', {\n        d: 'm2 16 6 6',\n        key: '1pfhp9'\n      }], ['circle', {\n        cx: '16',\n        cy: '9',\n        r: '2.9',\n        key: '1n0dlu'\n      }], ['circle', {\n        cx: '6',\n        cy: '5',\n        r: '3',\n        key: '151irh'\n      }]]\n    };\n    icon = signal(LucideHandCoins.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHandCoins_BaseFactory;\n      return function LucideHandCoins_Factory(__ngFactoryType__) {\n        return (ɵLucideHandCoins_BaseFactory || (ɵLucideHandCoins_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHandCoins)))(__ngFactoryType__ || LucideHandCoins);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHandCoins,\n      selectors: [[\"svg\", \"lucideHandCoins\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c766,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHandCoins_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHandCoins_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHandCoins;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HandHeart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTRoMmEyIDIgMCAwIDAgMC00aC0zYy0uNiAwLTEuMS4yLTEuNC42TDMgMTYiIC8+CiAgPHBhdGggZD0ibTE0LjQ1IDEzLjM5IDUuMDUtNC42OTRDMjAuMTk2IDggMjEgNi44NSAyMSA1Ljc1YTIuNzUgMi43NSAwIDAgMC00Ljc5Ny0xLjgzNy4yNzYuMjc2IDAgMCAxLS40MDYgMEEyLjc1IDIuNzUgMCAwIDAgMTEgNS43NWMwIDEuMi44MDIgMi4yNDggMS41IDIuOTQ2TDE2IDExLjk1IiAvPgogIDxwYXRoIGQ9Im0yIDE1IDYgNiIgLz4KICA8cGF0aCBkPSJtNyAyMCAxLjYtMS40Yy4zLS40LjgtLjYgMS40LS42aDRjMS4xIDAgMi4xLS40IDIuOC0xLjJsNC42LTQuNGExIDEgMCAwIDAtMi43NS0yLjkxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/hand-heart\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHandHeart = /*#__PURE__*/(() => {\n  class LucideHandHeart extends LucideIconBase {\n    static icon = {\n      name: 'hand-heart',\n      size: 24,\n      node: [['path', {\n        d: 'M11 14h2a2 2 0 0 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16',\n        key: '1v1a37'\n      }], ['path', {\n        d: 'm14.45 13.39 5.05-4.694C20.196 8 21 6.85 21 5.75a2.75 2.75 0 0 0-4.797-1.837.276.276 0 0 1-.406 0A2.75 2.75 0 0 0 11 5.75c0 1.2.802 2.248 1.5 2.946L16 11.95',\n        key: 'fhfbnt'\n      }], ['path', {\n        d: 'm2 15 6 6',\n        key: '10dquu'\n      }], ['path', {\n        d: 'm7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a1 1 0 0 0-2.75-2.91',\n        key: '1x6kdw'\n      }]]\n    };\n    icon = signal(LucideHandHeart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHandHeart_BaseFactory;\n      return function LucideHandHeart_Factory(__ngFactoryType__) {\n        return (ɵLucideHandHeart_BaseFactory || (ɵLucideHandHeart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHandHeart)))(__ngFactoryType__ || LucideHandHeart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHandHeart,\n      selectors: [[\"svg\", \"lucideHandHeart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c767,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHandHeart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHandHeart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHandHeart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HandMetal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggMTIuNVYxMGEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2MS40IiAvPgogIDxwYXRoIGQ9Ik0xNCAxMVY5YTIgMiAwIDEgMC00IDB2MiIgLz4KICA8cGF0aCBkPSJNMTAgMTAuNVY1YTIgMiAwIDEgMC00IDB2OSIgLz4KICA8cGF0aCBkPSJtNyAxNS0xLjc2LTEuNzZhMiAyIDAgMCAwLTIuODMgMi44MmwzLjYgMy42QzcuNSAyMS4xNCA5LjIgMjIgMTIgMjJoMmE4IDggMCAwIDAgOC04VjdhMiAyIDAgMSAwLTQgMHY1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/hand-metal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHandMetal = /*#__PURE__*/(() => {\n  class LucideHandMetal extends LucideIconBase {\n    static icon = {\n      name: 'hand-metal',\n      size: 24,\n      node: [['path', {\n        d: 'M18 12.5V10a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4',\n        key: 'wc6myp'\n      }], ['path', {\n        d: 'M14 11V9a2 2 0 1 0-4 0v2',\n        key: '94qvcw'\n      }], ['path', {\n        d: 'M10 10.5V5a2 2 0 1 0-4 0v9',\n        key: 'm1ah89'\n      }], ['path', {\n        d: 'm7 15-1.76-1.76a2 2 0 0 0-2.83 2.82l3.6 3.6C7.5 21.14 9.2 22 12 22h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v5',\n        key: 't1skq1'\n      }]]\n    };\n    icon = signal(LucideHandMetal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHandMetal_BaseFactory;\n      return function LucideHandMetal_Factory(__ngFactoryType__) {\n        return (ɵLucideHandMetal_BaseFactory || (ɵLucideHandMetal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHandMetal)))(__ngFactoryType__ || LucideHandMetal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHandMetal,\n      selectors: [[\"svg\", \"lucideHandMetal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c768,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHandMetal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHandMetal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHandMetal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HandHelping\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTJoMmEyIDIgMCAxIDAgMC00aC0zYy0uNiAwLTEuMS4yLTEuNC42TDMgMTQiIC8+CiAgPHBhdGggZD0ibTcgMTggMS42LTEuNGMuMy0uNC44LS42IDEuNC0uNmg0YzEuMSAwIDIuMS0uNCAyLjgtMS4ybDQuNi00LjRhMiAyIDAgMCAwLTIuNzUtMi45MWwtNC4yIDMuOSIgLz4KICA8cGF0aCBkPSJtMiAxMyA2IDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/hand-helping\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHandHelping = /*#__PURE__*/(() => {\n  class LucideHandHelping extends LucideIconBase {\n    static icon = {\n      name: 'hand-helping',\n      size: 24,\n      node: [['path', {\n        d: 'M11 12h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 14',\n        key: '1j4xps'\n      }], ['path', {\n        d: 'm7 18 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9',\n        key: 'uospg8'\n      }], ['path', {\n        d: 'm2 13 6 6',\n        key: '16e5sb'\n      }]],\n      aliases: ['helping-hand']\n    };\n    icon = signal(LucideHandHelping.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHandHelping_BaseFactory;\n      return function LucideHandHelping_Factory(__ngFactoryType__) {\n        return (ɵLucideHandHelping_BaseFactory || (ɵLucideHandHelping_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHandHelping)))(__ngFactoryType__ || LucideHandHelping);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHandHelping,\n      selectors: [[\"svg\", \"lucideHandHelping\", \"\"], [\"svg\", \"lucideHelpingHand\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c769,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHandHelping_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHandHelping_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHandHelping;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideHandHelping\n */\nconst LucideHelpingHand = LucideHandHelping;\n\n/**\n * @component @name Handbag\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi4wNDggMTguNTY2QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjk1Mi0yLjQzNGwtMi05QTIgMiAwIDAgMCAxOCA4SDZhMiAyIDAgMCAwLTEuOTUyIDEuNTY2eiIgLz4KICA8cGF0aCBkPSJNOCAxMVY2YTQgNCAwIDAgMSA4IDB2NSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/handbag\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHandbag = /*#__PURE__*/(() => {\n  class LucideHandbag extends LucideIconBase {\n    static icon = {\n      name: 'handbag',\n      size: 24,\n      node: [['path', {\n        d: 'M2.048 18.566A2 2 0 0 0 4 21h16a2 2 0 0 0 1.952-2.434l-2-9A2 2 0 0 0 18 8H6a2 2 0 0 0-1.952 1.566z',\n        key: '1qbui5'\n      }], ['path', {\n        d: 'M8 11V6a4 4 0 0 1 8 0v5',\n        key: 'tcht90'\n      }]]\n    };\n    icon = signal(LucideHandbag.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHandbag_BaseFactory;\n      return function LucideHandbag_Factory(__ngFactoryType__) {\n        return (ɵLucideHandbag_BaseFactory || (ɵLucideHandbag_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHandbag)))(__ngFactoryType__ || LucideHandbag);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHandbag,\n      selectors: [[\"svg\", \"lucideHandbag\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c770,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHandbag_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHandbag_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHandbag;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HandPlatter\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM1YyIiAvPgogIDxwYXRoIGQ9Im0xNS40IDE3LjQgMy4yLTIuOGEyIDIgMCAxIDEgMi44IDIuOWwtMy42IDMuM2MtLjcuOC0xLjcgMS4yLTIuOCAxLjJoLTRjLTEuMSAwLTIuMS0uNC0yLjgtMS4ybC0xLjMwMi0xLjQ2NEExIDEgMCAwIDAgNi4xNTEgMTlINSIgLz4KICA8cGF0aCBkPSJNMiAxNGgxMmEyIDIgMCAwIDEgMCA0aC0yIiAvPgogIDxwYXRoIGQ9Ik00IDEwaDE2IiAvPgogIDxwYXRoIGQ9Ik01IDEwYTcgNyAwIDAgMSAxNCAwIiAvPgogIDxwYXRoIGQ9Ik01IDE0djZhMSAxIDAgMCAxLTEgMUgyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/hand-platter\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHandPlatter = /*#__PURE__*/(() => {\n  class LucideHandPlatter extends LucideIconBase {\n    static icon = {\n      name: 'hand-platter',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3V2',\n        key: 'ar7q03'\n      }], ['path', {\n        d: 'm15.4 17.4 3.2-2.8a2 2 0 1 1 2.8 2.9l-3.6 3.3c-.7.8-1.7 1.2-2.8 1.2h-4c-1.1 0-2.1-.4-2.8-1.2l-1.302-1.464A1 1 0 0 0 6.151 19H5',\n        key: 'n2g93r'\n      }], ['path', {\n        d: 'M2 14h12a2 2 0 0 1 0 4h-2',\n        key: '1o2jem'\n      }], ['path', {\n        d: 'M4 10h16',\n        key: 'img6z1'\n      }], ['path', {\n        d: 'M5 10a7 7 0 0 1 14 0',\n        key: '1ega1o'\n      }], ['path', {\n        d: 'M5 14v6a1 1 0 0 1-1 1H2',\n        key: '1hescx'\n      }]]\n    };\n    icon = signal(LucideHandPlatter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHandPlatter_BaseFactory;\n      return function LucideHandPlatter_Factory(__ngFactoryType__) {\n        return (ɵLucideHandPlatter_BaseFactory || (ɵLucideHandPlatter_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHandPlatter)))(__ngFactoryType__ || LucideHandPlatter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHandPlatter,\n      selectors: [[\"svg\", \"lucideHandPlatter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c771,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHandPlatter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHandPlatter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHandPlatter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Hand\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggMTFWNmEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDIiIC8+CiAgPHBhdGggZD0iTTE0IDEwVjRhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAydjIiIC8+CiAgPHBhdGggZD0iTTEwIDEwLjVWNmEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2OCIgLz4KICA8cGF0aCBkPSJNMTggOGEyIDIgMCAxIDEgNCAwdjZhOCA4IDAgMCAxLTggOGgtMmMtMi44IDAtNC41LS44Ni01Ljk5LTIuMzRsLTMuNi0zLjZhMiAyIDAgMCAxIDIuODMtMi44Mkw3IDE1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/hand\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHand = /*#__PURE__*/(() => {\n  class LucideHand extends LucideIconBase {\n    static icon = {\n      name: 'hand',\n      size: 24,\n      node: [['path', {\n        d: 'M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2',\n        key: '1fvzgz'\n      }], ['path', {\n        d: 'M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2',\n        key: '1kc0my'\n      }], ['path', {\n        d: 'M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8',\n        key: '10h0bg'\n      }], ['path', {\n        d: 'M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15',\n        key: '1s1gnw'\n      }]]\n    };\n    icon = signal(LucideHand.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHand_BaseFactory;\n      return function LucideHand_Factory(__ngFactoryType__) {\n        return (ɵLucideHand_BaseFactory || (ɵLucideHand_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHand)))(__ngFactoryType__ || LucideHand);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHand,\n      selectors: [[\"svg\", \"lucideHand\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c772,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHand_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHand_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHand;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Handshake\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTEgMTcgMiAyYTEgMSAwIDEgMCAzLTMiIC8+CiAgPHBhdGggZD0ibTE0IDE0IDIuNSAyLjVhMSAxIDAgMSAwIDMtM2wtMy44OC0zLjg4YTMgMyAwIDAgMC00LjI0IDBsLS44OC44OGExIDEgMCAxIDEtMy0zbDIuODEtMi44MWE1Ljc5IDUuNzkgMCAwIDEgNy4wNi0uODdsLjQ3LjI4YTIgMiAwIDAgMCAxLjQyLjI1TDIxIDQiIC8+CiAgPHBhdGggZD0ibTIxIDMgMSAxMWgtMiIgLz4KICA8cGF0aCBkPSJNMyAzIDIgMTRsNi41IDYuNWExIDEgMCAxIDAgMy0zIiAvPgogIDxwYXRoIGQ9Ik0zIDRoOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/handshake\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHandshake = /*#__PURE__*/(() => {\n  class LucideHandshake extends LucideIconBase {\n    static icon = {\n      name: 'handshake',\n      size: 24,\n      node: [['path', {\n        d: 'm11 17 2 2a1 1 0 1 0 3-3',\n        key: 'efffak'\n      }], ['path', {\n        d: 'm14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4',\n        key: '9pr0kb'\n      }], ['path', {\n        d: 'm21 3 1 11h-2',\n        key: '1tisrp'\n      }], ['path', {\n        d: 'M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3',\n        key: '1uvwmv'\n      }], ['path', {\n        d: 'M3 4h8',\n        key: '1ep09j'\n      }]]\n    };\n    icon = signal(LucideHandshake.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHandshake_BaseFactory;\n      return function LucideHandshake_Factory(__ngFactoryType__) {\n        return (ɵLucideHandshake_BaseFactory || (ɵLucideHandshake_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHandshake)))(__ngFactoryType__ || LucideHandshake);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHandshake,\n      selectors: [[\"svg\", \"lucideHandshake\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c773,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHandshake_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHandshake_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHandshake;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HardDriveDownload\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnY4IiAvPgogIDxwYXRoIGQ9Im0xNiA2LTQgNC00LTQiIC8+CiAgPHJlY3Qgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHg9IjIiIHk9IjE0IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNNiAxOGguMDEiIC8+CiAgPHBhdGggZD0iTTEwIDE4aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/hard-drive-download\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHardDriveDownload = /*#__PURE__*/(() => {\n  class LucideHardDriveDownload extends LucideIconBase {\n    static icon = {\n      name: 'hard-drive-download',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v8',\n        key: '1q4o3n'\n      }], ['path', {\n        d: 'm16 6-4 4-4-4',\n        key: '6wukr'\n      }], ['rect', {\n        width: '20',\n        height: '8',\n        x: '2',\n        y: '14',\n        rx: '2',\n        key: 'w68u3i'\n      }], ['path', {\n        d: 'M6 18h.01',\n        key: 'uhywen'\n      }], ['path', {\n        d: 'M10 18h.01',\n        key: 'h775k'\n      }]]\n    };\n    icon = signal(LucideHardDriveDownload.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHardDriveDownload_BaseFactory;\n      return function LucideHardDriveDownload_Factory(__ngFactoryType__) {\n        return (ɵLucideHardDriveDownload_BaseFactory || (ɵLucideHardDriveDownload_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHardDriveDownload)))(__ngFactoryType__ || LucideHardDriveDownload);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHardDriveDownload,\n      selectors: [[\"svg\", \"lucideHardDriveDownload\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c774,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHardDriveDownload_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHardDriveDownload_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHardDriveDownload;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HardDriveUpload\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgNi00LTQtNCA0IiAvPgogIDxwYXRoIGQ9Ik0xMiAydjgiIC8+CiAgPHJlY3Qgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHg9IjIiIHk9IjE0IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNNiAxOGguMDEiIC8+CiAgPHBhdGggZD0iTTEwIDE4aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/hard-drive-upload\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHardDriveUpload = /*#__PURE__*/(() => {\n  class LucideHardDriveUpload extends LucideIconBase {\n    static icon = {\n      name: 'hard-drive-upload',\n      size: 24,\n      node: [['path', {\n        d: 'm16 6-4-4-4 4',\n        key: '13yo43'\n      }], ['path', {\n        d: 'M12 2v8',\n        key: '1q4o3n'\n      }], ['rect', {\n        width: '20',\n        height: '8',\n        x: '2',\n        y: '14',\n        rx: '2',\n        key: 'w68u3i'\n      }], ['path', {\n        d: 'M6 18h.01',\n        key: 'uhywen'\n      }], ['path', {\n        d: 'M10 18h.01',\n        key: 'h775k'\n      }]]\n    };\n    icon = signal(LucideHardDriveUpload.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHardDriveUpload_BaseFactory;\n      return function LucideHardDriveUpload_Factory(__ngFactoryType__) {\n        return (ɵLucideHardDriveUpload_BaseFactory || (ɵLucideHardDriveUpload_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHardDriveUpload)))(__ngFactoryType__ || LucideHardDriveUpload);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHardDriveUpload,\n      selectors: [[\"svg\", \"lucideHardDriveUpload\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c775,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHardDriveUpload_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHardDriveUpload_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHardDriveUpload;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HardHat\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTBWNWExIDEgMCAwIDEgMS0xaDJhMSAxIDAgMCAxIDEgMXY1IiAvPgogIDxwYXRoIGQ9Ik0xNCA2YTYgNiAwIDAgMSA2IDZ2MyIgLz4KICA8cGF0aCBkPSJNNCAxNXYtM2E2IDYgMCAwIDEgNi02IiAvPgogIDxyZWN0IHg9IjIiIHk9IjE1IiB3aWR0aD0iMjAiIGhlaWdodD0iNCIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/hard-hat\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHardHat = /*#__PURE__*/(() => {\n  class LucideHardHat extends LucideIconBase {\n    static icon = {\n      name: 'hard-hat',\n      size: 24,\n      node: [['path', {\n        d: 'M10 10V5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5',\n        key: '1p9q5i'\n      }], ['path', {\n        d: 'M14 6a6 6 0 0 1 6 6v3',\n        key: '1hnv84'\n      }], ['path', {\n        d: 'M4 15v-3a6 6 0 0 1 6-6',\n        key: '9ciidu'\n      }], ['rect', {\n        x: '2',\n        y: '15',\n        width: '20',\n        height: '4',\n        rx: '1',\n        key: 'g3x8cw'\n      }]]\n    };\n    icon = signal(LucideHardHat.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHardHat_BaseFactory;\n      return function LucideHardHat_Factory(__ngFactoryType__) {\n        return (ɵLucideHardHat_BaseFactory || (ɵLucideHardHat_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHardHat)))(__ngFactoryType__ || LucideHardHat);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHardHat,\n      selectors: [[\"svg\", \"lucideHardHat\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c776,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHardHat_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHardHat_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHardHat;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HardDrive\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTZoLjAxIiAvPgogIDxwYXRoIGQ9Ik0yLjIxMiAxMS41NzdhMiAyIDAgMCAwLS4yMTIuODk2VjE4YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNS41MjdhMiAyIDAgMCAwLS4yMTItLjg5NkwxOC41NSA1LjExQTIgMiAwIDAgMCAxNi43NiA0SDcuMjRhMiAyIDAgMCAwLTEuNzkgMS4xMXoiIC8+CiAgPHBhdGggZD0iTTIxLjk0NiAxMi4wMTNIMi4wNTQiIC8+CiAgPHBhdGggZD0iTTYgMTZoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/hard-drive\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHardDrive = /*#__PURE__*/(() => {\n  class LucideHardDrive extends LucideIconBase {\n    static icon = {\n      name: 'hard-drive',\n      size: 24,\n      node: [['path', {\n        d: 'M10 16h.01',\n        key: '1bzywj'\n      }], ['path', {\n        d: 'M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z',\n        key: '18tbho'\n      }], ['path', {\n        d: 'M21.946 12.013H2.054',\n        key: 'zqlbp7'\n      }], ['path', {\n        d: 'M6 16h.01',\n        key: '1pmjb7'\n      }]]\n    };\n    icon = signal(LucideHardDrive.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHardDrive_BaseFactory;\n      return function LucideHardDrive_Factory(__ngFactoryType__) {\n        return (ɵLucideHardDrive_BaseFactory || (ɵLucideHardDrive_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHardDrive)))(__ngFactoryType__ || LucideHardDrive);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHardDrive,\n      selectors: [[\"svg\", \"lucideHardDrive\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c777,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHardDrive_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHardDrive_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHardDrive;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Hash\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iNCIgeDI9IjIwIiB5MT0iOSIgeTI9IjkiIC8+CiAgPGxpbmUgeDE9IjQiIHgyPSIyMCIgeTE9IjE1IiB5Mj0iMTUiIC8+CiAgPGxpbmUgeDE9IjEwIiB4Mj0iOCIgeTE9IjMiIHkyPSIyMSIgLz4KICA8bGluZSB4MT0iMTYiIHgyPSIxNCIgeTE9IjMiIHkyPSIyMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/hash\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHash = /*#__PURE__*/(() => {\n  class LucideHash extends LucideIconBase {\n    static icon = {\n      name: 'hash',\n      size: 24,\n      node: [['line', {\n        x1: '4',\n        x2: '20',\n        y1: '9',\n        y2: '9',\n        key: '4lhtct'\n      }], ['line', {\n        x1: '4',\n        x2: '20',\n        y1: '15',\n        y2: '15',\n        key: 'vyu0kd'\n      }], ['line', {\n        x1: '10',\n        x2: '8',\n        y1: '3',\n        y2: '21',\n        key: '1ggp8o'\n      }], ['line', {\n        x1: '16',\n        x2: '14',\n        y1: '3',\n        y2: '21',\n        key: 'weycgp'\n      }]]\n    };\n    icon = signal(LucideHash.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHash_BaseFactory;\n      return function LucideHash_Factory(__ngFactoryType__) {\n        return (ɵLucideHash_BaseFactory || (ɵLucideHash_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHash)))(__ngFactoryType__ || LucideHash);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHash,\n      selectors: [[\"svg\", \"lucideHash\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c778,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHash_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHash_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHash;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HatGlasses\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMThhMiAyIDAgMCAwLTQgMCIgLz4KICA8cGF0aCBkPSJtMTkgMTEtMi4xMS02LjY1N2EyIDIgMCAwIDAtMi43NTItMS4xNDhsLTEuMjc2LjYxQTIgMiAwIDAgMSAxMiA0SDguNWEyIDIgMCAwIDAtMS45MjUgMS40NTZMNSAxMSIgLz4KICA8cGF0aCBkPSJNMiAxMWgyMCIgLz4KICA8Y2lyY2xlIGN4PSIxNyIgY3k9IjE4IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjciIGN5PSIxOCIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/hat-glasses\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHatGlasses = /*#__PURE__*/(() => {\n  class LucideHatGlasses extends LucideIconBase {\n    static icon = {\n      name: 'hat-glasses',\n      size: 24,\n      node: [['path', {\n        d: 'M14 18a2 2 0 0 0-4 0',\n        key: '1v8fkw'\n      }], ['path', {\n        d: 'm19 11-2.11-6.657a2 2 0 0 0-2.752-1.148l-1.276.61A2 2 0 0 1 12 4H8.5a2 2 0 0 0-1.925 1.456L5 11',\n        key: '1fkr7p'\n      }], ['path', {\n        d: 'M2 11h20',\n        key: '3eubbj'\n      }], ['circle', {\n        cx: '17',\n        cy: '18',\n        r: '3',\n        key: '82mm0e'\n      }], ['circle', {\n        cx: '7',\n        cy: '18',\n        r: '3',\n        key: 'lvkj7j'\n      }]]\n    };\n    icon = signal(LucideHatGlasses.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHatGlasses_BaseFactory;\n      return function LucideHatGlasses_Factory(__ngFactoryType__) {\n        return (ɵLucideHatGlasses_BaseFactory || (ɵLucideHatGlasses_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHatGlasses)))(__ngFactoryType__ || LucideHatGlasses);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHatGlasses,\n      selectors: [[\"svg\", \"lucideHatGlasses\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c779,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHatGlasses_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHatGlasses_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHatGlasses;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Hd\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTJINiIgLz4KICA8cGF0aCBkPSJNMTAgMTVWOSIgLz4KICA8cGF0aCBkPSJNMTQgMTQuNWEuNS41IDAgMCAwIC41LjVoMWEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTFBMi41IDIuNSAwIDAgMCAxNS41IDloLTFhLjUuNSAwIDAgMC0uNS41eiIgLz4KICA8cGF0aCBkPSJNNiAxNVY5IiAvPgogIDxyZWN0IHg9IjIiIHk9IjUiIHdpZHRoPSIyMCIgaGVpZ2h0PSIxNCIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/hd\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHd = /*#__PURE__*/(() => {\n  class LucideHd extends LucideIconBase {\n    static icon = {\n      name: 'hd',\n      size: 24,\n      node: [['path', {\n        d: 'M10 12H6',\n        key: '15f2ro'\n      }], ['path', {\n        d: 'M10 15V9',\n        key: '1lckn7'\n      }], ['path', {\n        d: 'M14 14.5a.5.5 0 0 0 .5.5h1a2.5 2.5 0 0 0 2.5-2.5v-1A2.5 2.5 0 0 0 15.5 9h-1a.5.5 0 0 0-.5.5z',\n        key: 'b3f847'\n      }], ['path', {\n        d: 'M6 15V9',\n        key: '12stmj'\n      }], ['rect', {\n        x: '2',\n        y: '5',\n        width: '20',\n        height: '14',\n        rx: '2',\n        key: 'qneu4z'\n      }]]\n    };\n    icon = signal(LucideHd.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHd_BaseFactory;\n      return function LucideHd_Factory(__ngFactoryType__) {\n        return (ɵLucideHd_BaseFactory || (ɵLucideHd_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHd)))(__ngFactoryType__ || LucideHd);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHd,\n      selectors: [[\"svg\", \"lucideHd\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c780,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHd_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHd_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHd;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Haze\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNS4yIDYuMiAxLjQgMS40IiAvPgogIDxwYXRoIGQ9Ik0yIDEzaDIiIC8+CiAgPHBhdGggZD0iTTIwIDEzaDIiIC8+CiAgPHBhdGggZD0ibTE3LjQgNy42IDEuNC0xLjQiIC8+CiAgPHBhdGggZD0iTTIyIDE3SDIiIC8+CiAgPHBhdGggZD0iTTIyIDIxSDIiIC8+CiAgPHBhdGggZD0iTTE2IDEzYTQgNCAwIDAgMC04IDAiIC8+CiAgPHBhdGggZD0iTTEyIDVWMi41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/haze\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHaze = /*#__PURE__*/(() => {\n  class LucideHaze extends LucideIconBase {\n    static icon = {\n      name: 'haze',\n      size: 24,\n      node: [['path', {\n        d: 'm5.2 6.2 1.4 1.4',\n        key: '17imol'\n      }], ['path', {\n        d: 'M2 13h2',\n        key: '13gyu8'\n      }], ['path', {\n        d: 'M20 13h2',\n        key: '16rner'\n      }], ['path', {\n        d: 'm17.4 7.6 1.4-1.4',\n        key: 't4xlah'\n      }], ['path', {\n        d: 'M22 17H2',\n        key: '1gtaj3'\n      }], ['path', {\n        d: 'M22 21H2',\n        key: '1gy6en'\n      }], ['path', {\n        d: 'M16 13a4 4 0 0 0-8 0',\n        key: '1dyczq'\n      }], ['path', {\n        d: 'M12 5V2.5',\n        key: '1vytko'\n      }]]\n    };\n    icon = signal(LucideHaze.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHaze_BaseFactory;\n      return function LucideHaze_Factory(__ngFactoryType__) {\n        return (ɵLucideHaze_BaseFactory || (ɵLucideHaze_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHaze)))(__ngFactoryType__ || LucideHaze);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHaze,\n      selectors: [[\"svg\", \"lucideHaze\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c781,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHaze_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHaze_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHaze;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HdmiPort\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgOWExIDEgMCAwIDAtMS0xSDNhMSAxIDAgMCAwLTEgMXY0YTEgMSAwIDAgMCAxIDFoMWwyIDJoMTJsMi0yaDFhMSAxIDAgMCAwIDEtMVoiIC8+CiAgPHBhdGggZD0iTTcuNSAxMmg5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/hdmi-port\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHdmiPort = /*#__PURE__*/(() => {\n  class LucideHdmiPort extends LucideIconBase {\n    static icon = {\n      name: 'hdmi-port',\n      size: 24,\n      node: [['path', {\n        d: 'M22 9a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1l2 2h12l2-2h1a1 1 0 0 0 1-1Z',\n        key: '2128wb'\n      }], ['path', {\n        d: 'M7.5 12h9',\n        key: '1t0ckc'\n      }]]\n    };\n    icon = signal(LucideHdmiPort.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHdmiPort_BaseFactory;\n      return function LucideHdmiPort_Factory(__ngFactoryType__) {\n        return (ɵLucideHdmiPort_BaseFactory || (ɵLucideHdmiPort_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHdmiPort)))(__ngFactoryType__ || LucideHdmiPort);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHdmiPort,\n      selectors: [[\"svg\", \"lucideHdmiPort\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c782,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHdmiPort_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHdmiPort_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHdmiPort;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Heading1\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMmg4IiAvPgogIDxwYXRoIGQ9Ik00IDE4VjYiIC8+CiAgPHBhdGggZD0iTTEyIDE4VjYiIC8+CiAgPHBhdGggZD0ibTE3IDEyIDMtMnY4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/heading-1\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeading1 = /*#__PURE__*/(() => {\n  class LucideHeading1 extends LucideIconBase {\n    static icon = {\n      name: 'heading-1',\n      size: 24,\n      node: [['path', {\n        d: 'M4 12h8',\n        key: '17cfdx'\n      }], ['path', {\n        d: 'M4 18V6',\n        key: '1rz3zl'\n      }], ['path', {\n        d: 'M12 18V6',\n        key: 'zqpxq5'\n      }], ['path', {\n        d: 'm17 12 3-2v8',\n        key: '1hhhft'\n      }]]\n    };\n    icon = signal(LucideHeading1.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeading1_BaseFactory;\n      return function LucideHeading1_Factory(__ngFactoryType__) {\n        return (ɵLucideHeading1_BaseFactory || (ɵLucideHeading1_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeading1)))(__ngFactoryType__ || LucideHeading1);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeading1,\n      selectors: [[\"svg\", \"lucideHeading1\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c783,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeading1_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeading1_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeading1;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Heading2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMmg4IiAvPgogIDxwYXRoIGQ9Ik00IDE4VjYiIC8+CiAgPHBhdGggZD0iTTEyIDE4VjYiIC8+CiAgPHBhdGggZD0iTTIxIDE4aC00YzAtNCA0LTMgNC02IDAtMS41LTItMi41LTQtMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/heading-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeading2 = /*#__PURE__*/(() => {\n  class LucideHeading2 extends LucideIconBase {\n    static icon = {\n      name: 'heading-2',\n      size: 24,\n      node: [['path', {\n        d: 'M4 12h8',\n        key: '17cfdx'\n      }], ['path', {\n        d: 'M4 18V6',\n        key: '1rz3zl'\n      }], ['path', {\n        d: 'M12 18V6',\n        key: 'zqpxq5'\n      }], ['path', {\n        d: 'M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1',\n        key: '9jr5yi'\n      }]]\n    };\n    icon = signal(LucideHeading2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeading2_BaseFactory;\n      return function LucideHeading2_Factory(__ngFactoryType__) {\n        return (ɵLucideHeading2_BaseFactory || (ɵLucideHeading2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeading2)))(__ngFactoryType__ || LucideHeading2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeading2,\n      selectors: [[\"svg\", \"lucideHeading2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c784,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeading2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeading2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeading2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Heading3\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMmg4IiAvPgogIDxwYXRoIGQ9Ik00IDE4VjYiIC8+CiAgPHBhdGggZD0iTTEyIDE4VjYiIC8+CiAgPHBhdGggZD0iTTE3LjUgMTAuNWMxLjctMSAzLjUgMCAzLjUgMS41YTIgMiAwIDAgMS0yIDIiIC8+CiAgPHBhdGggZD0iTTE3IDE3LjVjMiAxLjUgNCAuMyA0LTEuNWEyIDIgMCAwIDAtMi0yIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/heading-3\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeading3 = /*#__PURE__*/(() => {\n  class LucideHeading3 extends LucideIconBase {\n    static icon = {\n      name: 'heading-3',\n      size: 24,\n      node: [['path', {\n        d: 'M4 12h8',\n        key: '17cfdx'\n      }], ['path', {\n        d: 'M4 18V6',\n        key: '1rz3zl'\n      }], ['path', {\n        d: 'M12 18V6',\n        key: 'zqpxq5'\n      }], ['path', {\n        d: 'M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2',\n        key: '68ncm8'\n      }], ['path', {\n        d: 'M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2',\n        key: '1ejuhz'\n      }]]\n    };\n    icon = signal(LucideHeading3.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeading3_BaseFactory;\n      return function LucideHeading3_Factory(__ngFactoryType__) {\n        return (ɵLucideHeading3_BaseFactory || (ɵLucideHeading3_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeading3)))(__ngFactoryType__ || LucideHeading3);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeading3,\n      selectors: [[\"svg\", \"lucideHeading3\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c785,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeading3_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeading3_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeading3;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Heading4\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMThWNiIgLz4KICA8cGF0aCBkPSJNMTcgMTB2M2ExIDEgMCAwIDAgMSAxaDMiIC8+CiAgPHBhdGggZD0iTTIxIDEwdjgiIC8+CiAgPHBhdGggZD0iTTQgMTJoOCIgLz4KICA8cGF0aCBkPSJNNCAxOFY2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/heading-4\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeading4 = /*#__PURE__*/(() => {\n  class LucideHeading4 extends LucideIconBase {\n    static icon = {\n      name: 'heading-4',\n      size: 24,\n      node: [['path', {\n        d: 'M12 18V6',\n        key: 'zqpxq5'\n      }], ['path', {\n        d: 'M17 10v3a1 1 0 0 0 1 1h3',\n        key: 'tj5zdr'\n      }], ['path', {\n        d: 'M21 10v8',\n        key: '1kdml4'\n      }], ['path', {\n        d: 'M4 12h8',\n        key: '17cfdx'\n      }], ['path', {\n        d: 'M4 18V6',\n        key: '1rz3zl'\n      }]]\n    };\n    icon = signal(LucideHeading4.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeading4_BaseFactory;\n      return function LucideHeading4_Factory(__ngFactoryType__) {\n        return (ɵLucideHeading4_BaseFactory || (ɵLucideHeading4_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeading4)))(__ngFactoryType__ || LucideHeading4);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeading4,\n      selectors: [[\"svg\", \"lucideHeading4\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c786,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeading4_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeading4_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeading4;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Heading5\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMmg4IiAvPgogIDxwYXRoIGQ9Ik00IDE4VjYiIC8+CiAgPHBhdGggZD0iTTEyIDE4VjYiIC8+CiAgPHBhdGggZD0iTTE3IDEzdi0zaDQiIC8+CiAgPHBhdGggZD0iTTE3IDE3LjdjLjQuMi44LjMgMS4zLjMgMS41IDAgMi43LTEuMSAyLjctMi41UzE5LjggMTMgMTguMyAxM0gxNyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/heading-5\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeading5 = /*#__PURE__*/(() => {\n  class LucideHeading5 extends LucideIconBase {\n    static icon = {\n      name: 'heading-5',\n      size: 24,\n      node: [['path', {\n        d: 'M4 12h8',\n        key: '17cfdx'\n      }], ['path', {\n        d: 'M4 18V6',\n        key: '1rz3zl'\n      }], ['path', {\n        d: 'M12 18V6',\n        key: 'zqpxq5'\n      }], ['path', {\n        d: 'M17 13v-3h4',\n        key: '1nvgqp'\n      }], ['path', {\n        d: 'M17 17.7c.4.2.8.3 1.3.3 1.5 0 2.7-1.1 2.7-2.5S19.8 13 18.3 13H17',\n        key: '2nebdn'\n      }]]\n    };\n    icon = signal(LucideHeading5.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeading5_BaseFactory;\n      return function LucideHeading5_Factory(__ngFactoryType__) {\n        return (ɵLucideHeading5_BaseFactory || (ɵLucideHeading5_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeading5)))(__ngFactoryType__ || LucideHeading5);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeading5,\n      selectors: [[\"svg\", \"lucideHeading5\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c787,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeading5_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeading5_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeading5;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Heading6\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMmg4IiAvPgogIDxwYXRoIGQ9Ik00IDE4VjYiIC8+CiAgPHBhdGggZD0iTTEyIDE4VjYiIC8+CiAgPGNpcmNsZSBjeD0iMTkiIGN5PSIxNiIgcj0iMiIgLz4KICA8cGF0aCBkPSJNMjAgMTBjLTIgMi0zIDMuNS0zIDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/heading-6\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeading6 = /*#__PURE__*/(() => {\n  class LucideHeading6 extends LucideIconBase {\n    static icon = {\n      name: 'heading-6',\n      size: 24,\n      node: [['path', {\n        d: 'M4 12h8',\n        key: '17cfdx'\n      }], ['path', {\n        d: 'M4 18V6',\n        key: '1rz3zl'\n      }], ['path', {\n        d: 'M12 18V6',\n        key: 'zqpxq5'\n      }], ['circle', {\n        cx: '19',\n        cy: '16',\n        r: '2',\n        key: '15mx69'\n      }], ['path', {\n        d: 'M20 10c-2 2-3 3.5-3 6',\n        key: 'f35dl0'\n      }]]\n    };\n    icon = signal(LucideHeading6.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeading6_BaseFactory;\n      return function LucideHeading6_Factory(__ngFactoryType__) {\n        return (ɵLucideHeading6_BaseFactory || (ɵLucideHeading6_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeading6)))(__ngFactoryType__ || LucideHeading6);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeading6,\n      selectors: [[\"svg\", \"lucideHeading6\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c788,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeading6_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeading6_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeading6;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Heading\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAxMmgxMiIgLz4KICA8cGF0aCBkPSJNNiAyMFY0IiAvPgogIDxwYXRoIGQ9Ik0xOCAyMFY0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/heading\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeading = /*#__PURE__*/(() => {\n  class LucideHeading extends LucideIconBase {\n    static icon = {\n      name: 'heading',\n      size: 24,\n      node: [['path', {\n        d: 'M6 12h12',\n        key: '8npq4p'\n      }], ['path', {\n        d: 'M6 20V4',\n        key: '1w1bmo'\n      }], ['path', {\n        d: 'M18 20V4',\n        key: 'o2hl4u'\n      }]]\n    };\n    icon = signal(LucideHeading.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeading_BaseFactory;\n      return function LucideHeading_Factory(__ngFactoryType__) {\n        return (ɵLucideHeading_BaseFactory || (ɵLucideHeading_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeading)))(__ngFactoryType__ || LucideHeading);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeading,\n      selectors: [[\"svg\", \"lucideHeading\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c789,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeading_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeading_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeading;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HeadphoneOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTRoLTEuMzQzIiAvPgogIDxwYXRoIGQ9Ik05LjEyOCAzLjQ3QTkgOSAwIDAgMSAyMSAxMnYzLjM0MyIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik0yMC40MTQgMjAuNDE0QTIgMiAwIDAgMSAxOSAyMWgtMWEyIDIgMCAwIDEtMi0ydi0zIiAvPgogIDxwYXRoIGQ9Ik0zIDE0aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi03YTkgOSAwIDAgMSAyLjYzNi02LjM2NCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/headphone-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeadphoneOff = /*#__PURE__*/(() => {\n  class LucideHeadphoneOff extends LucideIconBase {\n    static icon = {\n      name: 'headphone-off',\n      size: 24,\n      node: [['path', {\n        d: 'M21 14h-1.343',\n        key: '1jdnxi'\n      }], ['path', {\n        d: 'M9.128 3.47A9 9 0 0 1 21 12v3.343',\n        key: '6kipu2'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M20.414 20.414A2 2 0 0 1 19 21h-1a2 2 0 0 1-2-2v-3',\n        key: '9x50f4'\n      }], ['path', {\n        d: 'M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 2.636-6.364',\n        key: '1bkxnm'\n      }]]\n    };\n    icon = signal(LucideHeadphoneOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeadphoneOff_BaseFactory;\n      return function LucideHeadphoneOff_Factory(__ngFactoryType__) {\n        return (ɵLucideHeadphoneOff_BaseFactory || (ɵLucideHeadphoneOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeadphoneOff)))(__ngFactoryType__ || LucideHeadphoneOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeadphoneOff,\n      selectors: [[\"svg\", \"lucideHeadphoneOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c790,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeadphoneOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeadphoneOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeadphoneOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Headphones\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAxNGgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtN2E5IDkgMCAwIDEgMTggMHY3YTIgMiAwIDAgMS0yIDJoLTFhMiAyIDAgMCAxLTItMnYtM2EyIDIgMCAwIDEgMi0yaDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/headphones\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeadphones = /*#__PURE__*/(() => {\n  class LucideHeadphones extends LucideIconBase {\n    static icon = {\n      name: 'headphones',\n      size: 24,\n      node: [['path', {\n        d: 'M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3',\n        key: '1xhozi'\n      }]]\n    };\n    icon = signal(LucideHeadphones.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeadphones_BaseFactory;\n      return function LucideHeadphones_Factory(__ngFactoryType__) {\n        return (ɵLucideHeadphones_BaseFactory || (ɵLucideHeadphones_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeadphones)))(__ngFactoryType__ || LucideHeadphones);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeadphones,\n      selectors: [[\"svg\", \"lucideHeadphones\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c791,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeadphones_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeadphones_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeadphones;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Headset\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAxMWgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNVptMCAwYTkgOSAwIDEgMSAxOCAwbTAgMHY1YTIgMiAwIDAgMS0yIDJoLTFhMiAyIDAgMCAxLTItMnYtM2EyIDIgMCAwIDEgMi0yaDNaIiAvPgogIDxwYXRoIGQ9Ik0yMSAxNnYyYTQgNCAwIDAgMS00IDRoLTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/headset\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeadset = /*#__PURE__*/(() => {\n  class LucideHeadset extends LucideIconBase {\n    static icon = {\n      name: 'headset',\n      size: 24,\n      node: [['path', {\n        d: 'M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z',\n        key: '12oyoe'\n      }], ['path', {\n        d: 'M21 16v2a4 4 0 0 1-4 4h-5',\n        key: '1x7m43'\n      }]]\n    };\n    icon = signal(LucideHeadset.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeadset_BaseFactory;\n      return function LucideHeadset_Factory(__ngFactoryType__) {\n        return (ɵLucideHeadset_BaseFactory || (ɵLucideHeadset_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeadset)))(__ngFactoryType__ || LucideHeadset);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeadset,\n      selectors: [[\"svg\", \"lucideHeadset\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c792,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeadset_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeadset_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeadset;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HeartCrack\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuNDA5IDUuODI0Yy0uNzAyLjc5Mi0xLjE1IDEuNDk2LTEuNDE1IDIuMTY2bDIuMTUzIDIuMTU2YS41LjUgMCAwIDEgMCAuNzA3bC0yLjI5MyAyLjI5M2EuNS41IDAgMCAwIDAgLjcwN0wxMiAxNSIgLz4KICA8cGF0aCBkPSJNMTMuNTA4IDIwLjMxM2EyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjVhNS41IDUuNSAwIDAgMSA5LjU5MS0zLjY3Ny42LjYgMCAwIDAgLjgxOC4wMDFBNS41IDUuNSAwIDAgMSAyMiA5LjVjMCAyLjI5LTEuNSA0LTMgNS41eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/heart-crack\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeartCrack = /*#__PURE__*/(() => {\n  class LucideHeartCrack extends LucideIconBase {\n    static icon = {\n      name: 'heart-crack',\n      size: 24,\n      node: [['path', {\n        d: 'M12.409 5.824c-.702.792-1.15 1.496-1.415 2.166l2.153 2.156a.5.5 0 0 1 0 .707l-2.293 2.293a.5.5 0 0 0 0 .707L12 15',\n        key: 'idzbju'\n      }], ['path', {\n        d: 'M13.508 20.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.677.6.6 0 0 0 .818.001A5.5 5.5 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5z',\n        key: '1su70f'\n      }]]\n    };\n    icon = signal(LucideHeartCrack.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeartCrack_BaseFactory;\n      return function LucideHeartCrack_Factory(__ngFactoryType__) {\n        return (ɵLucideHeartCrack_BaseFactory || (ɵLucideHeartCrack_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeartCrack)))(__ngFactoryType__ || LucideHeartCrack);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeartCrack,\n      selectors: [[\"svg\", \"lucideHeartCrack\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c793,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeartCrack_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeartCrack_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeartCrack;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HeartHandshake\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkuNDE0IDE0LjQxNEMyMSAxMi44MjggMjIgMTEuNSAyMiA5LjVhNS41IDUuNSAwIDAgMC05LjU5MS0zLjY3Ni42LjYgMCAwIDEtLjgxOC4wMDFBNS41IDUuNSAwIDAgMCAyIDkuNWMwIDIuMyAxLjUgNCAzIDUuNWw1LjUzNSA1LjM2MmEyIDIgMCAwIDAgMi44NzkuMDUyIDIuMTIgMi4xMiAwIDAgMC0uMDA0LTMgMi4xMjQgMi4xMjQgMCAxIDAgMy0zIDIuMTI0IDIuMTI0IDAgMCAwIDMuMDA0IDAgMiAyIDAgMCAwIDAtMi44MjhsLTEuODgxLTEuODgyYTIuNDEgMi40MSAwIDAgMC0zLjQwOSAwbC0xLjcxIDEuNzFhMiAyIDAgMCAxLTIuODI4IDAgMiAyIDAgMCAxIDAtMi44MjhsMi44MjMtMi43NjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/heart-handshake\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeartHandshake = /*#__PURE__*/(() => {\n  class LucideHeartHandshake extends LucideIconBase {\n    static icon = {\n      name: 'heart-handshake',\n      size: 24,\n      node: [['path', {\n        d: 'M19.414 14.414C21 12.828 22 11.5 22 9.5a5.5 5.5 0 0 0-9.591-3.676.6.6 0 0 1-.818.001A5.5 5.5 0 0 0 2 9.5c0 2.3 1.5 4 3 5.5l5.535 5.362a2 2 0 0 0 2.879.052 2.12 2.12 0 0 0-.004-3 2.124 2.124 0 1 0 3-3 2.124 2.124 0 0 0 3.004 0 2 2 0 0 0 0-2.828l-1.881-1.882a2.41 2.41 0 0 0-3.409 0l-1.71 1.71a2 2 0 0 1-2.828 0 2 2 0 0 1 0-2.828l2.823-2.762',\n        key: '17lmqv'\n      }]]\n    };\n    icon = signal(LucideHeartHandshake.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeartHandshake_BaseFactory;\n      return function LucideHeartHandshake_Factory(__ngFactoryType__) {\n        return (ɵLucideHeartHandshake_BaseFactory || (ɵLucideHeartHandshake_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeartHandshake)))(__ngFactoryType__ || LucideHeartHandshake);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeartHandshake,\n      selectors: [[\"svg\", \"lucideHeartHandshake\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c794,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeartHandshake_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeartHandshake_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeartHandshake;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HeartMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQuODc2IDE4Ljk5LTEuMzY4IDEuMzIzYTIgMiAwIDAgMS0zIC4wMTlMNSAxNWMtMS41LTEuNS0zLTMuMi0zLTUuNWE1LjUgNS41IDAgMCAxIDkuNTkxLTMuNjc2LjU2LjU2IDAgMCAwIC44MTggMEE1LjQ5IDUuNDkgMCAwIDEgMjIgOS41YTUuMiA1LjIgMCAwIDEtLjI0NCAxLjU3MiIgLz4KICA8cGF0aCBkPSJNMTUgMTVoNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/heart-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeartMinus = /*#__PURE__*/(() => {\n  class LucideHeartMinus extends LucideIconBase {\n    static icon = {\n      name: 'heart-minus',\n      size: 24,\n      node: [['path', {\n        d: 'm14.876 18.99-1.368 1.323a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5a5.2 5.2 0 0 1-.244 1.572',\n        key: '15yztm'\n      }], ['path', {\n        d: 'M15 15h6',\n        key: '1u4692'\n      }]]\n    };\n    icon = signal(LucideHeartMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeartMinus_BaseFactory;\n      return function LucideHeartMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideHeartMinus_BaseFactory || (ɵLucideHeartMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeartMinus)))(__ngFactoryType__ || LucideHeartMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeartMinus,\n      selectors: [[\"svg\", \"lucideHeartMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c795,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeartMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeartMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeartMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HeartOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNSA0Ljg5M2E1LjUgNS41IDAgMCAxIDEuMDkxLjkzMS41Ni41NiAwIDAgMCAuODE4IDBBNS40OSA1LjQ5IDAgMCAxIDIyIDkuNWMwIDEuODcyLTEuMDAyIDMuMzU2LTIuMTg3IDQuNjU1IiAvPgogIDxwYXRoIGQ9Im0xNi45NjcgMTYuOTY3LTMuNDU5IDMuMzQ2YTIgMiAwIDAgMS0zIC4wMTlMNSAxNWMtMS41LTEuNS0zLTMuMi0zLTUuNWE1LjUgNS41IDAgMCAxIDIuNzQ3LTQuNzYxIiAvPgogIDxwYXRoIGQ9Im0yIDIgMjAgMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/heart-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeartOff = /*#__PURE__*/(() => {\n  class LucideHeartOff extends LucideIconBase {\n    static icon = {\n      name: 'heart-off',\n      size: 24,\n      node: [['path', {\n        d: 'M10.5 4.893a5.5 5.5 0 0 1 1.091.931.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 1.872-1.002 3.356-2.187 4.655',\n        key: '1inpfl'\n      }], ['path', {\n        d: 'm16.967 16.967-3.459 3.346a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 2.747-4.761',\n        key: 'vbc6x7'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucideHeartOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeartOff_BaseFactory;\n      return function LucideHeartOff_Factory(__ngFactoryType__) {\n        return (ɵLucideHeartOff_BaseFactory || (ɵLucideHeartOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeartOff)))(__ngFactoryType__ || LucideHeartOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeartOff,\n      selectors: [[\"svg\", \"lucideHeartOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c796,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeartOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeartOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeartOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HeartPulse\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA5LjVhNS41IDUuNSAwIDAgMSA5LjU5MS0zLjY3Ni41Ni41NiAwIDAgMCAuODE4IDBBNS40OSA1LjQ5IDAgMCAxIDIyIDkuNWMwIDIuMjktMS41IDQtMyA1LjVsLTUuNDkyIDUuMzEzYTIgMiAwIDAgMS0zIC4wMTlMNSAxNWMtMS41LTEuNS0zLTMuMi0zLTUuNSIgLz4KICA8cGF0aCBkPSJNMy4yMiAxM0g5LjVsLjUtMSAyIDQuNSAyLTcgMS41IDMuNWg1LjI3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/heart-pulse\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeartPulse = /*#__PURE__*/(() => {\n  class LucideHeartPulse extends LucideIconBase {\n    static icon = {\n      name: 'heart-pulse',\n      size: 24,\n      node: [['path', {\n        d: 'M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5',\n        key: 'mvr1a0'\n      }], ['path', {\n        d: 'M3.22 13H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27',\n        key: 'auskq0'\n      }]]\n    };\n    icon = signal(LucideHeartPulse.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeartPulse_BaseFactory;\n      return function LucideHeartPulse_Factory(__ngFactoryType__) {\n        return (ɵLucideHeartPulse_BaseFactory || (ɵLucideHeartPulse_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeartPulse)))(__ngFactoryType__ || LucideHeartPulse);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeartPulse,\n      selectors: [[\"svg\", \"lucideHeartPulse\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c797,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeartPulse_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeartPulse_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeartPulse;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HeartPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQuNDc5IDE5LjM3NC0uOTcxLjkzOWEyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjVhNS41IDUuNSAwIDAgMSA5LjU5MS0zLjY3Ni41Ni41NiAwIDAgMCAuODE4IDBBNS40OSA1LjQ5IDAgMCAxIDIyIDkuNWE1LjIgNS4yIDAgMCAxLS4yMTkgMS40OSIgLz4KICA8cGF0aCBkPSJNMTUgMTVoNiIgLz4KICA8cGF0aCBkPSJNMTggMTJ2NiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/heart-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeartPlus = /*#__PURE__*/(() => {\n  class LucideHeartPlus extends LucideIconBase {\n    static icon = {\n      name: 'heart-plus',\n      size: 24,\n      node: [['path', {\n        d: 'm14.479 19.374-.971.939a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5a5.2 5.2 0 0 1-.219 1.49',\n        key: 'wg5jx'\n      }], ['path', {\n        d: 'M15 15h6',\n        key: '1u4692'\n      }], ['path', {\n        d: 'M18 12v6',\n        key: '1houu1'\n      }]]\n    };\n    icon = signal(LucideHeartPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeartPlus_BaseFactory;\n      return function LucideHeartPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideHeartPlus_BaseFactory || (ɵLucideHeartPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeartPlus)))(__ngFactoryType__ || LucideHeartPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeartPlus,\n      selectors: [[\"svg\", \"lucideHeartPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c798,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeartPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeartPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeartPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Heart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA5LjVhNS41IDUuNSAwIDAgMSA5LjU5MS0zLjY3Ni41Ni41NiAwIDAgMCAuODE4IDBBNS40OSA1LjQ5IDAgMCAxIDIyIDkuNWMwIDIuMjktMS41IDQtMyA1LjVsLTUuNDkyIDUuMzEzYTIgMiAwIDAgMS0zIC4wMTlMNSAxNWMtMS41LTEuNS0zLTMuMi0zLTUuNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/heart\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeart = /*#__PURE__*/(() => {\n  class LucideHeart extends LucideIconBase {\n    static icon = {\n      name: 'heart',\n      size: 24,\n      node: [['path', {\n        d: 'M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5',\n        key: 'mvr1a0'\n      }]]\n    };\n    icon = signal(LucideHeart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeart_BaseFactory;\n      return function LucideHeart_Factory(__ngFactoryType__) {\n        return (ɵLucideHeart_BaseFactory || (ɵLucideHeart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeart)))(__ngFactoryType__ || LucideHeart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeart,\n      selectors: [[\"svg\", \"lucideHeart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c799,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Hexagon\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/hexagon\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHexagon = /*#__PURE__*/(() => {\n  class LucideHexagon extends LucideIconBase {\n    static icon = {\n      name: 'hexagon',\n      size: 24,\n      node: [['path', {\n        d: 'M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z',\n        key: 'yt0hxn'\n      }]]\n    };\n    icon = signal(LucideHexagon.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHexagon_BaseFactory;\n      return function LucideHexagon_Factory(__ngFactoryType__) {\n        return (ɵLucideHexagon_BaseFactory || (ɵLucideHexagon_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHexagon)))(__ngFactoryType__ || LucideHexagon);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHexagon,\n      selectors: [[\"svg\", \"lucideHexagon\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c800,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHexagon_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHexagon_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHexagon;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Heater\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgOGMyLTMtMi0zIDAtNiIgLz4KICA8cGF0aCBkPSJNMTUuNSA4YzItMy0yLTMgMC02IiAvPgogIDxwYXRoIGQ9Ik02IDEwaC4wMSIgLz4KICA8cGF0aCBkPSJNNiAxNGguMDEiIC8+CiAgPHBhdGggZD0iTTEwIDE2di00IiAvPgogIDxwYXRoIGQ9Ik0xNCAxNnYtNCIgLz4KICA8cGF0aCBkPSJNMTggMTZ2LTQiIC8+CiAgPHBhdGggZD0iTTIwIDZhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoMyIgLz4KICA8cGF0aCBkPSJNNSAyMHYyIiAvPgogIDxwYXRoIGQ9Ik0xOSAyMHYyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/heater\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHeater = /*#__PURE__*/(() => {\n  class LucideHeater extends LucideIconBase {\n    static icon = {\n      name: 'heater',\n      size: 24,\n      node: [['path', {\n        d: 'M11 8c2-3-2-3 0-6',\n        key: '1ldv5m'\n      }], ['path', {\n        d: 'M15.5 8c2-3-2-3 0-6',\n        key: '1otqoz'\n      }], ['path', {\n        d: 'M6 10h.01',\n        key: '1lbq93'\n      }], ['path', {\n        d: 'M6 14h.01',\n        key: 'zudwn7'\n      }], ['path', {\n        d: 'M10 16v-4',\n        key: '1c25yv'\n      }], ['path', {\n        d: 'M14 16v-4',\n        key: '1dkbt8'\n      }], ['path', {\n        d: 'M18 16v-4',\n        key: '1yg9me'\n      }], ['path', {\n        d: 'M20 6a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3',\n        key: '1ubg90'\n      }], ['path', {\n        d: 'M5 20v2',\n        key: '1abpe8'\n      }], ['path', {\n        d: 'M19 20v2',\n        key: 'kqn6ft'\n      }]]\n    };\n    icon = signal(LucideHeater.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHeater_BaseFactory;\n      return function LucideHeater_Factory(__ngFactoryType__) {\n        return (ɵLucideHeater_BaseFactory || (ɵLucideHeater_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHeater)))(__ngFactoryType__ || LucideHeater);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHeater,\n      selectors: [[\"svg\", \"lucideHeater\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c801,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHeater_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHeater_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHeater;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Helicopter\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTd2NCIgLz4KICA8cGF0aCBkPSJNMTQgM3Y4YTIgMiAwIDAgMCAyIDJoNS44NjUiIC8+CiAgPHBhdGggZD0iTTE3IDE3djQiIC8+CiAgPHBhdGggZD0iTTE4IDE3YTQgNCAwIDAgMCA0LTQgOCA2IDAgMCAwLTgtNiA2IDUgMCAwIDAtNiA1djNhMiAyIDAgMCAwIDIgMnoiIC8+CiAgPHBhdGggZD0iTTIgMTB2NSIgLz4KICA8cGF0aCBkPSJNNiAzaDE2IiAvPgogIDxwYXRoIGQ9Ik03IDIxaDE0IiAvPgogIDxwYXRoIGQ9Ik04IDEzSDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/helicopter\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHelicopter = /*#__PURE__*/(() => {\n  class LucideHelicopter extends LucideIconBase {\n    static icon = {\n      name: 'helicopter',\n      size: 24,\n      node: [['path', {\n        d: 'M11 17v4',\n        key: '14wq8k'\n      }], ['path', {\n        d: 'M14 3v8a2 2 0 0 0 2 2h5.865',\n        key: '12oo5h'\n      }], ['path', {\n        d: 'M17 17v4',\n        key: 'hdt4hh'\n      }], ['path', {\n        d: 'M18 17a4 4 0 0 0 4-4 8 6 0 0 0-8-6 6 5 0 0 0-6 5v3a2 2 0 0 0 2 2z',\n        key: 'yynif'\n      }], ['path', {\n        d: 'M2 10v5',\n        key: 'sa5akn'\n      }], ['path', {\n        d: 'M6 3h16',\n        key: '27qw71'\n      }], ['path', {\n        d: 'M7 21h14',\n        key: '1ugz0u'\n      }], ['path', {\n        d: 'M8 13H2',\n        key: '1thz1o'\n      }]]\n    };\n    icon = signal(LucideHelicopter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHelicopter_BaseFactory;\n      return function LucideHelicopter_Factory(__ngFactoryType__) {\n        return (ɵLucideHelicopter_BaseFactory || (ɵLucideHelicopter_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHelicopter)))(__ngFactoryType__ || LucideHelicopter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHelicopter,\n      selectors: [[\"svg\", \"lucideHelicopter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c802,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHelicopter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHelicopter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHelicopter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Highlighter\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOSAxMS02IDZ2M2g5bDMtMyIgLz4KICA8cGF0aCBkPSJtMjIgMTItNC42IDQuNmEyIDIgMCAwIDEtMi44IDBsLTUuMi01LjJhMiAyIDAgMCAxIDAtMi44TDE0IDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/highlighter\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHighlighter = /*#__PURE__*/(() => {\n  class LucideHighlighter extends LucideIconBase {\n    static icon = {\n      name: 'highlighter',\n      size: 24,\n      node: [['path', {\n        d: 'm9 11-6 6v3h9l3-3',\n        key: '1a3l36'\n      }], ['path', {\n        d: 'm22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4',\n        key: '14a9rk'\n      }]]\n    };\n    icon = signal(LucideHighlighter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHighlighter_BaseFactory;\n      return function LucideHighlighter_Factory(__ngFactoryType__) {\n        return (ɵLucideHighlighter_BaseFactory || (ɵLucideHighlighter_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHighlighter)))(__ngFactoryType__ || LucideHighlighter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHighlighter,\n      selectors: [[\"svg\", \"lucideHighlighter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c803,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHighlighter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHighlighter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHighlighter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name History\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAxMmE5IDkgMCAxIDAgOS05IDkuNzUgOS43NSAwIDAgMC02Ljc0IDIuNzRMMyA4IiAvPgogIDxwYXRoIGQ9Ik0zIDN2NWg1IiAvPgogIDxwYXRoIGQ9Ik0xMiA3djVsNCAyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/history\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHistory = /*#__PURE__*/(() => {\n  class LucideHistory extends LucideIconBase {\n    static icon = {\n      name: 'history',\n      size: 24,\n      node: [['path', {\n        d: 'M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8',\n        key: '1357e3'\n      }], ['path', {\n        d: 'M3 3v5h5',\n        key: '1xhq8a'\n      }], ['path', {\n        d: 'M12 7v5l4 2',\n        key: '1fdv2h'\n      }]]\n    };\n    icon = signal(LucideHistory.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHistory_BaseFactory;\n      return function LucideHistory_Factory(__ngFactoryType__) {\n        return (ɵLucideHistory_BaseFactory || (ɵLucideHistory_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHistory)))(__ngFactoryType__ || LucideHistory);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHistory,\n      selectors: [[\"svg\", \"lucideHistory\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c804,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHistory_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHistory_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHistory;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Hop\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuODIgMTYuMTJjMS42OS42IDMuOTEuNzkgNS4xOC44NS41NS4wMyAxLS40Mi45Ny0uOTctLjA2LTEuMjctLjI2LTMuNS0uODUtNS4xOCIgLz4KICA8cGF0aCBkPSJNMTEuNSA2LjVjMS42NCAwIDUtLjM4IDYuNzEtMS4wNy41Mi0uMi41NS0uODIuMTItMS4xN0ExMCAxMCAwIDAgMCA0LjI2IDE4LjMzYy4zNS40My45Ni40IDEuMTctLjEyLjY5LTEuNzEgMS4wNy01LjA3IDEuMDctNi43MSAxLjM0LjQ1IDMuMS45IDQuODguNjJhLjg4Ljg4IDAgMCAwIC43My0uNzRjLjMtMi4xNC0uMTUtMy41LS42MS00Ljg4IiAvPgogIDxwYXRoIGQ9Ik0xNS42MiAxNi45NWMuMi44NS42MiAyLjc2LjUgNC4yOGEuNzcuNzcgMCAwIDEtLjkuNyAxNi42NCAxNi42NCAwIDAgMS00LjA4LTEuMzYiIC8+CiAgPHBhdGggZD0iTTE2LjEzIDIxLjA1YzEuNjUuNjMgMy42OC44NCA0Ljg3LjkxYS45LjkgMCAwIDAgLjk2LS45NiAxNy42OCAxNy42OCAwIDAgMC0uOS00Ljg3IiAvPgogIDxwYXRoIGQ9Ik0xNi45NCAxNS42MmMuODYuMiAyLjc3LjYyIDQuMjkuNWEuNzcuNzcgMCAwIDAgLjctLjkgMTYuNjQgMTYuNjQgMCAwIDAtMS4zNi00LjA4IiAvPgogIDxwYXRoIGQ9Ik0xNy45OSA1LjUyYTIwLjgyIDIwLjgyIDAgMCAxIDMuMTUgNC41LjguOCAwIDAgMS0uNjggMS4xM2MtMi4zMy4yLTUuMy0uMzItOC4yNy0xLjU3IiAvPgogIDxwYXRoIGQ9Ik00LjkzIDQuOTMgMyAzYS43LjcgMCAwIDEgMC0xIiAvPgogIDxwYXRoIGQ9Ik05LjU4IDEyLjE4YzEuMjQgMi45OCAxLjc3IDUuOTUgMS41NyA4LjI4YS44LjggMCAwIDEtMS4xMy42OCAyMC44MiAyMC44MiAwIDAgMS00LjUtMy4xNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/hop\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHop = /*#__PURE__*/(() => {\n  class LucideHop extends LucideIconBase {\n    static icon = {\n      name: 'hop',\n      size: 24,\n      node: [['path', {\n        d: 'M10.82 16.12c1.69.6 3.91.79 5.18.85.55.03 1-.42.97-.97-.06-1.27-.26-3.5-.85-5.18',\n        key: '18lxf1'\n      }], ['path', {\n        d: 'M11.5 6.5c1.64 0 5-.38 6.71-1.07.52-.2.55-.82.12-1.17A10 10 0 0 0 4.26 18.33c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.88.88 0 0 0 .73-.74c.3-2.14-.15-3.5-.61-4.88',\n        key: 'vtfxrw'\n      }], ['path', {\n        d: 'M15.62 16.95c.2.85.62 2.76.5 4.28a.77.77 0 0 1-.9.7 16.64 16.64 0 0 1-4.08-1.36',\n        key: '13hl71'\n      }], ['path', {\n        d: 'M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .96-.96 17.68 17.68 0 0 0-.9-4.87',\n        key: '1sl8oj'\n      }], ['path', {\n        d: 'M16.94 15.62c.86.2 2.77.62 4.29.5a.77.77 0 0 0 .7-.9 16.64 16.64 0 0 0-1.36-4.08',\n        key: '19c6kt'\n      }], ['path', {\n        d: 'M17.99 5.52a20.82 20.82 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-2.33.2-5.3-.32-8.27-1.57',\n        key: '85ghs3'\n      }], ['path', {\n        d: 'M4.93 4.93 3 3a.7.7 0 0 1 0-1',\n        key: 'x087yj'\n      }], ['path', {\n        d: 'M9.58 12.18c1.24 2.98 1.77 5.95 1.57 8.28a.8.8 0 0 1-1.13.68 20.82 20.82 0 0 1-4.5-3.15',\n        key: '11xdqo'\n      }]]\n    };\n    icon = signal(LucideHop.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHop_BaseFactory;\n      return function LucideHop_Factory(__ngFactoryType__) {\n        return (ɵLucideHop_BaseFactory || (ɵLucideHop_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHop)))(__ngFactoryType__ || LucideHop);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHop,\n      selectors: [[\"svg\", \"lucideHop\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c805,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHop_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHop_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHop;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Hospital\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgN3Y0IiAvPgogIDxwYXRoIGQ9Ik0xNCAyMXYtM2EyIDIgMCAwIDAtNCAwdjMiIC8+CiAgPHBhdGggZD0iTTE0IDloLTQiIC8+CiAgPHBhdGggZD0iTTE4IDExaDJhMiAyIDAgMCAxIDIgMnY2YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi05YTIgMiAwIDAgMSAyLTJoMiIgLz4KICA8cGF0aCBkPSJNMTggMjFWNWEyIDIgMCAwIDAtMi0ySDhhMiAyIDAgMCAwLTIgMnYxNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/hospital\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHospital = /*#__PURE__*/(() => {\n  class LucideHospital extends LucideIconBase {\n    static icon = {\n      name: 'hospital',\n      size: 24,\n      node: [['path', {\n        d: 'M12 7v4',\n        key: 'xawao1'\n      }], ['path', {\n        d: 'M14 21v-3a2 2 0 0 0-4 0v3',\n        key: '1rgiei'\n      }], ['path', {\n        d: 'M14 9h-4',\n        key: '1w2s2s'\n      }], ['path', {\n        d: 'M18 11h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h2',\n        key: '1tthqt'\n      }], ['path', {\n        d: 'M18 21V5a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16',\n        key: 'dw4p4i'\n      }]]\n    };\n    icon = signal(LucideHospital.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHospital_BaseFactory;\n      return function LucideHospital_Factory(__ngFactoryType__) {\n        return (ɵLucideHospital_BaseFactory || (ɵLucideHospital_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHospital)))(__ngFactoryType__ || LucideHospital);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHospital,\n      selectors: [[\"svg\", \"lucideHospital\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c806,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHospital_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHospital_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHospital;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HopOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuODIgMTYuMTJjMS42OS42IDMuOTEuNzkgNS4xOC44NS4yOC4wMS41My0uMDkuNy0uMjciIC8+CiAgPHBhdGggZD0iTTExLjE0IDIwLjU3Yy41Mi4yNCAyLjQ0IDEuMTIgNC4wOCAxLjM3LjQ2LjA2Ljg2LS4yNS45LS43MS4xMi0xLjUyLS4zLTMuNDMtLjUtNC4yOCIgLz4KICA8cGF0aCBkPSJNMTYuMTMgMjEuMDVjMS42NS42MyAzLjY4Ljg0IDQuODcuOTFhLjkuOSAwIDAgMCAuNy0uMjYiIC8+CiAgPHBhdGggZD0iTTE3Ljk5IDUuNTJhMjAuODMgMjAuODMgMCAwIDEgMy4xNSA0LjUuOC44IDAgMCAxLS42OCAxLjEzYy0xLjE3LjEtMi41LjAyLTMuOS0uMjUiIC8+CiAgPHBhdGggZD0iTTIwLjU3IDExLjE0Yy4yNC41MiAxLjEyIDIuNDQgMS4zNyA0LjA4LjA0LjMtLjA4LjU5LS4zMS43NSIgLz4KICA8cGF0aCBkPSJNNC45MyA0LjkzYTEwIDEwIDAgMCAwLS42NyAxMy40Yy4zNS40My45Ni40IDEuMTctLjEyLjY5LTEuNzEgMS4wNy01LjA3IDEuMDctNi43MSAxLjM0LjQ1IDMuMS45IDQuODguNjJhLjg1Ljg1IDAgMCAwIC40OC0uMjQiIC8+CiAgPHBhdGggZD0iTTUuNTIgMTcuOTljMS4wNS45NSAyLjkxIDIuNDIgNC41IDMuMTVhLjguOCAwIDAgMCAxLjEzLS42OGMuMi0yLjM0LS4zMy01LjMtMS41Ny04LjI4IiAvPgogIDxwYXRoIGQ9Ik04LjM1IDIuNjhhMTAgMTAgMCAwIDEgOS45OCAxLjU4Yy40My4zNS40Ljk2LS4xMiAxLjE3LTEuNS42LTQuMy45OC02LjA3IDEuMDUiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/hop-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHopOff = /*#__PURE__*/(() => {\n  class LucideHopOff extends LucideIconBase {\n    static icon = {\n      name: 'hop-off',\n      size: 24,\n      node: [['path', {\n        d: 'M10.82 16.12c1.69.6 3.91.79 5.18.85.28.01.53-.09.7-.27',\n        key: 'qyzcap'\n      }], ['path', {\n        d: 'M11.14 20.57c.52.24 2.44 1.12 4.08 1.37.46.06.86-.25.9-.71.12-1.52-.3-3.43-.5-4.28',\n        key: 'y078lb'\n      }], ['path', {\n        d: 'M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .7-.26',\n        key: '1utre3'\n      }], ['path', {\n        d: 'M17.99 5.52a20.83 20.83 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-1.17.1-2.5.02-3.9-.25',\n        key: '17o9hm'\n      }], ['path', {\n        d: 'M20.57 11.14c.24.52 1.12 2.44 1.37 4.08.04.3-.08.59-.31.75',\n        key: '1d1n4p'\n      }], ['path', {\n        d: 'M4.93 4.93a10 10 0 0 0-.67 13.4c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.85.85 0 0 0 .48-.24',\n        key: '9uv3tt'\n      }], ['path', {\n        d: 'M5.52 17.99c1.05.95 2.91 2.42 4.5 3.15a.8.8 0 0 0 1.13-.68c.2-2.34-.33-5.3-1.57-8.28',\n        key: '1292wz'\n      }], ['path', {\n        d: 'M8.35 2.68a10 10 0 0 1 9.98 1.58c.43.35.4.96-.12 1.17-1.5.6-4.3.98-6.07 1.05',\n        key: '7ozu9p'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucideHopOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHopOff_BaseFactory;\n      return function LucideHopOff_Factory(__ngFactoryType__) {\n        return (ɵLucideHopOff_BaseFactory || (ɵLucideHopOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHopOff)))(__ngFactoryType__ || LucideHopOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHopOff,\n      selectors: [[\"svg\", \"lucideHopOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c807,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHopOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHopOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHopOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Hotel\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMjJ2LTYuNTciIC8+CiAgPHBhdGggZD0iTTEyIDExaC4wMSIgLz4KICA8cGF0aCBkPSJNMTIgN2guMDEiIC8+CiAgPHBhdGggZD0iTTE0IDE1LjQzVjIyIiAvPgogIDxwYXRoIGQ9Ik0xNSAxNmE1IDUgMCAwIDAtNiAwIiAvPgogIDxwYXRoIGQ9Ik0xNiAxMWguMDEiIC8+CiAgPHBhdGggZD0iTTE2IDdoLjAxIiAvPgogIDxwYXRoIGQ9Ik04IDExaC4wMSIgLz4KICA8cGF0aCBkPSJNOCA3aC4wMSIgLz4KICA8cmVjdCB4PSI0IiB5PSIyIiB3aWR0aD0iMTYiIGhlaWdodD0iMjAiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/hotel\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHotel = /*#__PURE__*/(() => {\n  class LucideHotel extends LucideIconBase {\n    static icon = {\n      name: 'hotel',\n      size: 24,\n      node: [['path', {\n        d: 'M10 22v-6.57',\n        key: '1wmca3'\n      }], ['path', {\n        d: 'M12 11h.01',\n        key: 'z322tv'\n      }], ['path', {\n        d: 'M12 7h.01',\n        key: '1ivr5q'\n      }], ['path', {\n        d: 'M14 15.43V22',\n        key: '1q2vjd'\n      }], ['path', {\n        d: 'M15 16a5 5 0 0 0-6 0',\n        key: 'o9wqvi'\n      }], ['path', {\n        d: 'M16 11h.01',\n        key: 'xkw8gn'\n      }], ['path', {\n        d: 'M16 7h.01',\n        key: '1kdx03'\n      }], ['path', {\n        d: 'M8 11h.01',\n        key: '1dfujw'\n      }], ['path', {\n        d: 'M8 7h.01',\n        key: '1vti4s'\n      }], ['rect', {\n        x: '4',\n        y: '2',\n        width: '16',\n        height: '20',\n        rx: '2',\n        key: '1uxh74'\n      }]]\n    };\n    icon = signal(LucideHotel.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHotel_BaseFactory;\n      return function LucideHotel_Factory(__ngFactoryType__) {\n        return (ɵLucideHotel_BaseFactory || (ɵLucideHotel_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHotel)))(__ngFactoryType__ || LucideHotel);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHotel,\n      selectors: [[\"svg\", \"lucideHotel\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c808,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHotel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHotel_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHotel;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Hourglass\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAyMmgxNCIgLz4KICA8cGF0aCBkPSJNNSAyaDE0IiAvPgogIDxwYXRoIGQ9Ik0xNyAyMnYtNC4xNzJhMiAyIDAgMCAwLS41ODYtMS40MTRMMTIgMTJsLTQuNDE0IDQuNDE0QTIgMiAwIDAgMCA3IDE3LjgyOFYyMiIgLz4KICA8cGF0aCBkPSJNNyAydjQuMTcyYTIgMiAwIDAgMCAuNTg2IDEuNDE0TDEyIDEybDQuNDE0LTQuNDE0QTIgMiAwIDAgMCAxNyA2LjE3MlYyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/hourglass\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHourglass = /*#__PURE__*/(() => {\n  class LucideHourglass extends LucideIconBase {\n    static icon = {\n      name: 'hourglass',\n      size: 24,\n      node: [['path', {\n        d: 'M5 22h14',\n        key: 'ehvnwv'\n      }], ['path', {\n        d: 'M5 2h14',\n        key: 'pdyrp9'\n      }], ['path', {\n        d: 'M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22',\n        key: '1d314k'\n      }], ['path', {\n        d: 'M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2',\n        key: '1vvvr6'\n      }]]\n    };\n    icon = signal(LucideHourglass.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHourglass_BaseFactory;\n      return function LucideHourglass_Factory(__ngFactoryType__) {\n        return (ɵLucideHourglass_BaseFactory || (ɵLucideHourglass_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHourglass)))(__ngFactoryType__ || LucideHourglass);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHourglass,\n      selectors: [[\"svg\", \"lucideHourglass\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c809,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHourglass_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHourglass_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHourglass;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HouseHeart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOC42MiAxMy44QTIuMjUgMi4yNSAwIDEgMSAxMiAxMC44MzZhMi4yNSAyLjI1IDAgMSAxIDMuMzggMi45NjZsLTIuNjI2IDIuODU2YS45OTguOTk4IDAgMCAxLTEuNTA3IDB6IiAvPgogIDxwYXRoIGQ9Ik0zIDEwYTIgMiAwIDAgMSAuNzA5LTEuNTI4bDctNmEyIDIgMCAwIDEgMi41ODIgMGw3IDZBMiAyIDAgMCAxIDIxIDEwdjlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/house-heart\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHouseHeart = /*#__PURE__*/(() => {\n  class LucideHouseHeart extends LucideIconBase {\n    static icon = {\n      name: 'house-heart',\n      size: 24,\n      node: [['path', {\n        d: 'M8.62 13.8A2.25 2.25 0 1 1 12 10.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a.998.998 0 0 1-1.507 0z',\n        key: 'n9s7kx'\n      }], ['path', {\n        d: 'M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z',\n        key: 'r6nss1'\n      }]]\n    };\n    icon = signal(LucideHouseHeart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHouseHeart_BaseFactory;\n      return function LucideHouseHeart_Factory(__ngFactoryType__) {\n        return (ɵLucideHouseHeart_BaseFactory || (ɵLucideHouseHeart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHouseHeart)))(__ngFactoryType__ || LucideHouseHeart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHouseHeart,\n      selectors: [[\"svg\", \"lucideHouseHeart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c810,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHouseHeart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHouseHeart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHouseHeart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HousePlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuMzUgMjFINWEyIDIgMCAwIDEtMi0ydi05YTIgMiAwIDAgMSAuNzEtMS41M2w3LTZhMiAyIDAgMCAxIDIuNTggMGw3IDZBMiAyIDAgMCAxIDIxIDEwdjIuMzUiIC8+CiAgPHBhdGggZD0iTTE0LjggMTIuNEExIDEgMCAwIDAgMTQgMTJoLTRhMSAxIDAgMCAwLTEgMXY4IiAvPgogIDxwYXRoIGQ9Ik0xNSAxOGg2IiAvPgogIDxwYXRoIGQ9Ik0xOCAxNXY2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/house-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHousePlus = /*#__PURE__*/(() => {\n  class LucideHousePlus extends LucideIconBase {\n    static icon = {\n      name: 'house-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M12.35 21H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 .71-1.53l7-6a2 2 0 0 1 2.58 0l7 6A2 2 0 0 1 21 10v2.35',\n        key: '8ek5ge'\n      }], ['path', {\n        d: 'M14.8 12.4A1 1 0 0 0 14 12h-4a1 1 0 0 0-1 1v8',\n        key: '1rbg29'\n      }], ['path', {\n        d: 'M15 18h6',\n        key: '3b3c90'\n      }], ['path', {\n        d: 'M18 15v6',\n        key: '9wciyi'\n      }]]\n    };\n    icon = signal(LucideHousePlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHousePlus_BaseFactory;\n      return function LucideHousePlus_Factory(__ngFactoryType__) {\n        return (ɵLucideHousePlus_BaseFactory || (ɵLucideHousePlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHousePlus)))(__ngFactoryType__ || LucideHousePlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHousePlus,\n      selectors: [[\"svg\", \"lucideHousePlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c811,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHousePlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHousePlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHousePlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HouseWifi\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOS41IDEzLjg2NmE0IDQgMCAwIDEgNSAuMDEiIC8+CiAgPHBhdGggZD0iTTEyIDE3aC4wMSIgLz4KICA8cGF0aCBkPSJNMyAxMGEyIDIgMCAwIDEgLjcwOS0xLjUyOGw3LTZhMiAyIDAgMCAxIDIuNTgyIDBsNyA2QTIgMiAwIDAgMSAyMSAxMHY5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiIgLz4KICA8cGF0aCBkPSJNNyAxMC43NTRhOCA4IDAgMCAxIDEwIDAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/house-wifi\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHouseWifi = /*#__PURE__*/(() => {\n  class LucideHouseWifi extends LucideIconBase {\n    static icon = {\n      name: 'house-wifi',\n      size: 24,\n      node: [['path', {\n        d: 'M9.5 13.866a4 4 0 0 1 5 .01',\n        key: '1wy54i'\n      }], ['path', {\n        d: 'M12 17h.01',\n        key: 'p32p05'\n      }], ['path', {\n        d: 'M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z',\n        key: 'r6nss1'\n      }], ['path', {\n        d: 'M7 10.754a8 8 0 0 1 10 0',\n        key: 'exoy2g'\n      }]]\n    };\n    icon = signal(LucideHouseWifi.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHouseWifi_BaseFactory;\n      return function LucideHouseWifi_Factory(__ngFactoryType__) {\n        return (ɵLucideHouseWifi_BaseFactory || (ɵLucideHouseWifi_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHouseWifi)))(__ngFactoryType__ || LucideHouseWifi);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHouseWifi,\n      selectors: [[\"svg\", \"lucideHouseWifi\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c812,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHouseWifi_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHouseWifi_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHouseWifi;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name HousePlug\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTJWOC45NjQiIC8+CiAgPHBhdGggZD0iTTE0IDEyVjguOTY0IiAvPgogIDxwYXRoIGQ9Ik0xNSAxMmExIDEgMCAwIDEgMSAxdjJhMiAyIDAgMCAxLTIgMmgtNGEyIDIgMCAwIDEtMi0ydi0yYTEgMSAwIDAgMSAxLTF6IiAvPgogIDxwYXRoIGQ9Ik04LjUgMjFINWEyIDIgMCAwIDEtMi0ydi05YTIgMiAwIDAgMSAuNzA5LTEuNTI4bDctNmEyIDIgMCAwIDEgMi41ODIgMGw3IDZBMiAyIDAgMCAxIDIxIDEwdjlhMiAyIDAgMCAxLTIgMmgtNWEyIDIgMCAwIDEtMi0ydi0yIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/house-plug\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHousePlug = /*#__PURE__*/(() => {\n  class LucideHousePlug extends LucideIconBase {\n    static icon = {\n      name: 'house-plug',\n      size: 24,\n      node: [['path', {\n        d: 'M10 12V8.964',\n        key: '1vll13'\n      }], ['path', {\n        d: 'M14 12V8.964',\n        key: '1x3qvg'\n      }], ['path', {\n        d: 'M15 12a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-2a1 1 0 0 1 1-1z',\n        key: 'ppykja'\n      }], ['path', {\n        d: 'M8.5 21H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2v-2',\n        key: '365xoy'\n      }]]\n    };\n    icon = signal(LucideHousePlug.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHousePlug_BaseFactory;\n      return function LucideHousePlug_Factory(__ngFactoryType__) {\n        return (ɵLucideHousePlug_BaseFactory || (ɵLucideHousePlug_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHousePlug)))(__ngFactoryType__ || LucideHousePlug);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHousePlug,\n      selectors: [[\"svg\", \"lucideHousePlug\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c813,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHousePlug_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHousePlug_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHousePlug;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name House\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMjF2LThhMSAxIDAgMCAwLTEtMWgtNGExIDEgMCAwIDAtMSAxdjgiIC8+CiAgPHBhdGggZD0iTTMgMTBhMiAyIDAgMCAxIC43MDktMS41MjhsNy02YTIgMiAwIDAgMSAyLjU4MiAwbDcgNkEyIDIgMCAwIDEgMjEgMTB2OWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/house\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideHouse = /*#__PURE__*/(() => {\n  class LucideHouse extends LucideIconBase {\n    static icon = {\n      name: 'house',\n      size: 24,\n      node: [['path', {\n        d: 'M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8',\n        key: '5wwlr5'\n      }], ['path', {\n        d: 'M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z',\n        key: 'r6nss1'\n      }]],\n      aliases: ['home']\n    };\n    icon = signal(LucideHouse.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideHouse_BaseFactory;\n      return function LucideHouse_Factory(__ngFactoryType__) {\n        return (ɵLucideHouse_BaseFactory || (ɵLucideHouse_BaseFactory = i0.ɵɵgetInheritedFactory(LucideHouse)))(__ngFactoryType__ || LucideHouse);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideHouse,\n      selectors: [[\"svg\", \"lucideHouse\", \"\"], [\"svg\", \"lucideHome\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c814,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideHouse_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideHouse_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideHouse;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideHouse\n */\nconst LucideHome = LucideHouse;\n\n/**\n * @component @name IceCreamBowl\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTdjNSAwIDgtMi42OSA4LTZINGMwIDMuMzEgMyA2IDggNm0tNCA0aDhtLTQtM3YzTTUuMTQgMTFhMy41IDMuNSAwIDEgMSA2LjcxIDAiIC8+CiAgPHBhdGggZD0iTTEyLjE0IDExYTMuNSAzLjUgMCAxIDEgNi43MSAwIiAvPgogIDxwYXRoIGQ9Ik0xNS41IDYuNWEzLjUgMy41IDAgMSAwLTcgMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/ice-cream-bowl\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideIceCreamBowl = /*#__PURE__*/(() => {\n  class LucideIceCreamBowl extends LucideIconBase {\n    static icon = {\n      name: 'ice-cream-bowl',\n      size: 24,\n      node: [['path', {\n        d: 'M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6m-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0',\n        key: '1uxfcu'\n      }], ['path', {\n        d: 'M12.14 11a3.5 3.5 0 1 1 6.71 0',\n        key: '4k3m1s'\n      }], ['path', {\n        d: 'M15.5 6.5a3.5 3.5 0 1 0-7 0',\n        key: 'zmuahr'\n      }]],\n      aliases: ['ice-cream-2']\n    };\n    icon = signal(LucideIceCreamBowl.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideIceCreamBowl_BaseFactory;\n      return function LucideIceCreamBowl_Factory(__ngFactoryType__) {\n        return (ɵLucideIceCreamBowl_BaseFactory || (ɵLucideIceCreamBowl_BaseFactory = i0.ɵɵgetInheritedFactory(LucideIceCreamBowl)))(__ngFactoryType__ || LucideIceCreamBowl);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideIceCreamBowl,\n      selectors: [[\"svg\", \"lucideIceCreamBowl\", \"\"], [\"svg\", \"lucideIceCream2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c815,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideIceCreamBowl_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideIceCreamBowl_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideIceCreamBowl;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideIceCreamBowl\n */\nconst LucideIceCream2 = LucideIceCreamBowl;\n\n/**\n * @component @name IceCreamCone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNyAxMSA0LjA4IDEwLjM1YTEgMSAwIDAgMCAxLjg0IDBMMTcgMTEiIC8+CiAgPHBhdGggZD0iTTE3IDdBNSA1IDAgMCAwIDcgNyIgLz4KICA8cGF0aCBkPSJNMTcgN2EyIDIgMCAwIDEgMCA0SDdhMiAyIDAgMCAxIDAtNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/ice-cream-cone\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideIceCreamCone = /*#__PURE__*/(() => {\n  class LucideIceCreamCone extends LucideIconBase {\n    static icon = {\n      name: 'ice-cream-cone',\n      size: 24,\n      node: [['path', {\n        d: 'm7 11 4.08 10.35a1 1 0 0 0 1.84 0L17 11',\n        key: '1v6356'\n      }], ['path', {\n        d: 'M17 7A5 5 0 0 0 7 7',\n        key: '151p3v'\n      }], ['path', {\n        d: 'M17 7a2 2 0 0 1 0 4H7a2 2 0 0 1 0-4',\n        key: '1sdaij'\n      }]],\n      aliases: ['ice-cream']\n    };\n    icon = signal(LucideIceCreamCone.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideIceCreamCone_BaseFactory;\n      return function LucideIceCreamCone_Factory(__ngFactoryType__) {\n        return (ɵLucideIceCreamCone_BaseFactory || (ɵLucideIceCreamCone_BaseFactory = i0.ɵɵgetInheritedFactory(LucideIceCreamCone)))(__ngFactoryType__ || LucideIceCreamCone);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideIceCreamCone,\n      selectors: [[\"svg\", \"lucideIceCreamCone\", \"\"], [\"svg\", \"lucideIceCream\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c816,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideIceCreamCone_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideIceCreamCone_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideIceCreamCone;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideIceCreamCone\n */\nconst LucideIceCream = LucideIceCreamCone;\n\n/**\n * @component @name IdCardLanyard\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuNSA4aC0zIiAvPgogIDxwYXRoIGQ9Im0xNSAyLTEgMmgzYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg3YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDMiIC8+CiAgPHBhdGggZD0iTTE2Ljg5OSAyMkE1IDUgMCAwIDAgNy4xIDIyIiAvPgogIDxwYXRoIGQ9Im05IDIgMyA2IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTUiIHI9IjMiIC8+Cjwvc3ZnPg==) - https://lucide.dev/icons/id-card-lanyard\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideIdCardLanyard = /*#__PURE__*/(() => {\n  class LucideIdCardLanyard extends LucideIconBase {\n    static icon = {\n      name: 'id-card-lanyard',\n      size: 24,\n      node: [['path', {\n        d: 'M13.5 8h-3',\n        key: 'xvov4w'\n      }], ['path', {\n        d: 'm15 2-1 2h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h3',\n        key: '16uttc'\n      }], ['path', {\n        d: 'M16.899 22A5 5 0 0 0 7.1 22',\n        key: '1d0ppr'\n      }], ['path', {\n        d: 'm9 2 3 6',\n        key: '1o7bd9'\n      }], ['circle', {\n        cx: '12',\n        cy: '15',\n        r: '3',\n        key: 'g36mzq'\n      }]]\n    };\n    icon = signal(LucideIdCardLanyard.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideIdCardLanyard_BaseFactory;\n      return function LucideIdCardLanyard_Factory(__ngFactoryType__) {\n        return (ɵLucideIdCardLanyard_BaseFactory || (ɵLucideIdCardLanyard_BaseFactory = i0.ɵɵgetInheritedFactory(LucideIdCardLanyard)))(__ngFactoryType__ || LucideIdCardLanyard);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideIdCardLanyard,\n      selectors: [[\"svg\", \"lucideIdCardLanyard\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c817,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideIdCardLanyard_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideIdCardLanyard_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideIdCardLanyard;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name IdCard\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTBoMiIgLz4KICA8cGF0aCBkPSJNMTYgMTRoMiIgLz4KICA8cGF0aCBkPSJNNi4xNyAxNWEzIDMgMCAwIDEgNS42NiAwIiAvPgogIDxjaXJjbGUgY3g9IjkiIGN5PSIxMSIgcj0iMiIgLz4KICA8cmVjdCB4PSIyIiB5PSI1IiB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/id-card\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideIdCard = /*#__PURE__*/(() => {\n  class LucideIdCard extends LucideIconBase {\n    static icon = {\n      name: 'id-card',\n      size: 24,\n      node: [['path', {\n        d: 'M16 10h2',\n        key: '8sgtl7'\n      }], ['path', {\n        d: 'M16 14h2',\n        key: 'epxaof'\n      }], ['path', {\n        d: 'M6.17 15a3 3 0 0 1 5.66 0',\n        key: 'n6f512'\n      }], ['circle', {\n        cx: '9',\n        cy: '11',\n        r: '2',\n        key: 'yxgjnd'\n      }], ['rect', {\n        x: '2',\n        y: '5',\n        width: '20',\n        height: '14',\n        rx: '2',\n        key: 'qneu4z'\n      }]]\n    };\n    icon = signal(LucideIdCard.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideIdCard_BaseFactory;\n      return function LucideIdCard_Factory(__ngFactoryType__) {\n        return (ɵLucideIdCard_BaseFactory || (ɵLucideIdCard_BaseFactory = i0.ɵɵgetInheritedFactory(LucideIdCard)))(__ngFactoryType__ || LucideIdCard);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideIdCard,\n      selectors: [[\"svg\", \"lucideIdCard\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c818,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideIdCard_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideIdCard_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideIdCard;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ImageDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMyAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2MTBsLTMuMS0zLjFhMiAyIDAgMCAwLTIuODE0LjAxNEw2IDIxIiAvPgogIDxwYXRoIGQ9Im0xNCAxOSAzIDN2LTUuNSIgLz4KICA8cGF0aCBkPSJtMTcgMjIgMy0zIiAvPgogIDxjaXJjbGUgY3g9IjkiIGN5PSI5IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/image-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideImageDown = /*#__PURE__*/(() => {\n  class LucideImageDown extends LucideIconBase {\n    static icon = {\n      name: 'image-down',\n      size: 24,\n      node: [['path', {\n        d: 'M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21',\n        key: '9csbqa'\n      }], ['path', {\n        d: 'm14 19 3 3v-5.5',\n        key: '9ldu5r'\n      }], ['path', {\n        d: 'm17 22 3-3',\n        key: '1nkfve'\n      }], ['circle', {\n        cx: '9',\n        cy: '9',\n        r: '2',\n        key: 'af1f0g'\n      }]]\n    };\n    icon = signal(LucideImageDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideImageDown_BaseFactory;\n      return function LucideImageDown_Factory(__ngFactoryType__) {\n        return (ɵLucideImageDown_BaseFactory || (ɵLucideImageDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideImageDown)))(__ngFactoryType__ || LucideImageDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideImageDown,\n      selectors: [[\"svg\", \"lucideImageDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c819,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideImageDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideImageDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideImageDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ImageOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMiIgeDI9IjIyIiB5MT0iMiIgeTI9IjIyIiAvPgogIDxwYXRoIGQ9Ik0xMC40MSAxMC40MWEyIDIgMCAxIDEtMi44My0yLjgzIiAvPgogIDxsaW5lIHgxPSIxMy41IiB4Mj0iNiIgeTE9IjEzLjUiIHkyPSIyMSIgLz4KICA8bGluZSB4MT0iMTgiIHgyPSIyMSIgeTE9IjEyIiB5Mj0iMTUiIC8+CiAgPHBhdGggZD0iTTMuNTkgMy41OUExLjk5IDEuOTkgMCAwIDAgMyA1djE0YTIgMiAwIDAgMCAyIDJoMTRjLjU1IDAgMS4wNTItLjIyIDEuNDEtLjU5IiAvPgogIDxwYXRoIGQ9Ik0yMSAxNVY1YTIgMiAwIDAgMC0yLTJIOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/image-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideImageOff = /*#__PURE__*/(() => {\n  class LucideImageOff extends LucideIconBase {\n    static icon = {\n      name: 'image-off',\n      size: 24,\n      node: [['line', {\n        x1: '2',\n        x2: '22',\n        y1: '2',\n        y2: '22',\n        key: 'a6p6uj'\n      }], ['path', {\n        d: 'M10.41 10.41a2 2 0 1 1-2.83-2.83',\n        key: '1bzlo9'\n      }], ['line', {\n        x1: '13.5',\n        x2: '6',\n        y1: '13.5',\n        y2: '21',\n        key: '1q0aeu'\n      }], ['line', {\n        x1: '18',\n        x2: '21',\n        y1: '12',\n        y2: '15',\n        key: '5mozeu'\n      }], ['path', {\n        d: 'M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59',\n        key: 'mmje98'\n      }], ['path', {\n        d: 'M21 15V5a2 2 0 0 0-2-2H9',\n        key: '43el77'\n      }]]\n    };\n    icon = signal(LucideImageOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideImageOff_BaseFactory;\n      return function LucideImageOff_Factory(__ngFactoryType__) {\n        return (ɵLucideImageOff_BaseFactory || (ɵLucideImageOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideImageOff)))(__ngFactoryType__ || LucideImageOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideImageOff,\n      selectors: [[\"svg\", \"lucideImageOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c820,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideImageOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideImageOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideImageOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ImagePlay\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMTUuMDAzYTEgMSAwIDAgMSAxLjUxNy0uODU5bDQuOTk3IDIuOTk3YTEgMSAwIDAgMSAwIDEuNzE4bC00Ljk5NyAyLjk5N2ExIDEgMCAwIDEtMS41MTctLjg2eiIgLz4KICA8cGF0aCBkPSJNMjEgMTIuMTdWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDYiIC8+CiAgPHBhdGggZD0ibTYgMjEgNS01IiAvPgogIDxjaXJjbGUgY3g9IjkiIGN5PSI5IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/image-play\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideImagePlay = /*#__PURE__*/(() => {\n  class LucideImagePlay extends LucideIconBase {\n    static icon = {\n      name: 'image-play',\n      size: 24,\n      node: [['path', {\n        d: 'M15 15.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z',\n        key: 'nrt1m3'\n      }], ['path', {\n        d: 'M21 12.17V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6',\n        key: '99hgts'\n      }], ['path', {\n        d: 'm6 21 5-5',\n        key: '1wyjai'\n      }], ['circle', {\n        cx: '9',\n        cy: '9',\n        r: '2',\n        key: 'af1f0g'\n      }]]\n    };\n    icon = signal(LucideImagePlay.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideImagePlay_BaseFactory;\n      return function LucideImagePlay_Factory(__ngFactoryType__) {\n        return (ɵLucideImagePlay_BaseFactory || (ɵLucideImagePlay_BaseFactory = i0.ɵɵgetInheritedFactory(LucideImagePlay)))(__ngFactoryType__ || LucideImagePlay);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideImagePlay,\n      selectors: [[\"svg\", \"lucideImagePlay\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c821,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideImagePlay_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideImagePlay_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideImagePlay;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ImageMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgOXYxMGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNyIgLz4KICA8bGluZSB4MT0iMTYiIHgyPSIyMiIgeTE9IjUiIHkyPSI1IiAvPgogIDxjaXJjbGUgY3g9IjkiIGN5PSI5IiByPSIyIiAvPgogIDxwYXRoIGQ9Im0yMSAxNS0zLjA4Ni0zLjA4NmEyIDIgMCAwIDAtMi44MjggMEw2IDIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/image-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideImageMinus = /*#__PURE__*/(() => {\n  class LucideImageMinus extends LucideIconBase {\n    static icon = {\n      name: 'image-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M21 9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7',\n        key: 'm87ecr'\n      }], ['line', {\n        x1: '16',\n        x2: '22',\n        y1: '5',\n        y2: '5',\n        key: 'ez7e4s'\n      }], ['circle', {\n        cx: '9',\n        cy: '9',\n        r: '2',\n        key: 'af1f0g'\n      }], ['path', {\n        d: 'm21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21',\n        key: '1xmnt7'\n      }]]\n    };\n    icon = signal(LucideImageMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideImageMinus_BaseFactory;\n      return function LucideImageMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideImageMinus_BaseFactory || (ɵLucideImageMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideImageMinus)))(__ngFactoryType__ || LucideImageMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideImageMinus,\n      selectors: [[\"svg\", \"lucideImageMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c822,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideImageMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideImageMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideImageMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ImageUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMyAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2MTBsLTMuMS0zLjFhMiAyIDAgMCAwLTIuODE0LjAxNEw2IDIxIiAvPgogIDxwYXRoIGQ9Im0xNCAxOS41IDMtMyAzIDMiIC8+CiAgPHBhdGggZD0iTTE3IDIydi01LjUiIC8+CiAgPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/image-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideImageUp = /*#__PURE__*/(() => {\n  class LucideImageUp extends LucideIconBase {\n    static icon = {\n      name: 'image-up',\n      size: 24,\n      node: [['path', {\n        d: 'M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21',\n        key: '9csbqa'\n      }], ['path', {\n        d: 'm14 19.5 3-3 3 3',\n        key: '9vmjn0'\n      }], ['path', {\n        d: 'M17 22v-5.5',\n        key: '1aa6fl'\n      }], ['circle', {\n        cx: '9',\n        cy: '9',\n        r: '2',\n        key: 'af1f0g'\n      }]]\n    };\n    icon = signal(LucideImageUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideImageUp_BaseFactory;\n      return function LucideImageUp_Factory(__ngFactoryType__) {\n        return (ɵLucideImageUp_BaseFactory || (ɵLucideImageUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideImageUp)))(__ngFactoryType__ || LucideImageUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideImageUp,\n      selectors: [[\"svg\", \"lucideImageUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c823,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideImageUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideImageUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideImageUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ImagePlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgNWg2IiAvPgogIDxwYXRoIGQ9Ik0xOSAydjYiIC8+CiAgPHBhdGggZD0iTTIxIDExLjVWMTlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDcuNSIgLz4KICA8cGF0aCBkPSJtMjEgMTUtMy4wODYtMy4wODZhMiAyIDAgMCAwLTIuODI4IDBMNiAyMSIgLz4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/image-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideImagePlus = /*#__PURE__*/(() => {\n  class LucideImagePlus extends LucideIconBase {\n    static icon = {\n      name: 'image-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M16 5h6',\n        key: '1vod17'\n      }], ['path', {\n        d: 'M19 2v6',\n        key: '4bpg5p'\n      }], ['path', {\n        d: 'M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5',\n        key: '1ue2ih'\n      }], ['path', {\n        d: 'm21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21',\n        key: '1xmnt7'\n      }], ['circle', {\n        cx: '9',\n        cy: '9',\n        r: '2',\n        key: 'af1f0g'\n      }]]\n    };\n    icon = signal(LucideImagePlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideImagePlus_BaseFactory;\n      return function LucideImagePlus_Factory(__ngFactoryType__) {\n        return (ɵLucideImagePlus_BaseFactory || (ɵLucideImagePlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideImagePlus)))(__ngFactoryType__ || LucideImagePlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideImagePlus,\n      selectors: [[\"svg\", \"lucideImagePlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c824,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideImagePlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideImagePlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideImagePlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Image\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiByeT0iMiIgLz4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iMiIgLz4KICA8cGF0aCBkPSJtMjEgMTUtMy4wODYtMy4wODZhMiAyIDAgMCAwLTIuODI4IDBMNiAyMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/image\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideImage = /*#__PURE__*/(() => {\n  class LucideImage extends LucideIconBase {\n    static icon = {\n      name: 'image',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        ry: '2',\n        key: '1m3agn'\n      }], ['circle', {\n        cx: '9',\n        cy: '9',\n        r: '2',\n        key: 'af1f0g'\n      }], ['path', {\n        d: 'm21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21',\n        key: '1xmnt7'\n      }]]\n    };\n    icon = signal(LucideImage.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideImage_BaseFactory;\n      return function LucideImage_Factory(__ngFactoryType__) {\n        return (ɵLucideImage_BaseFactory || (ɵLucideImage_BaseFactory = i0.ɵɵgetInheritedFactory(LucideImage)))(__ngFactoryType__ || LucideImage);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideImage,\n      selectors: [[\"svg\", \"lucideImage\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c825,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideImage_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideImage_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideImage;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Images\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjIgMTEtMS4yOTYtMS4yOTZhMi40IDIuNCAwIDAgMC0zLjQwOCAwTDExIDE2IiAvPgogIDxwYXRoIGQ9Ik00IDhhMiAyIDAgMCAwLTIgMnYxMGEyIDIgMCAwIDAgMiAyaDEwYTIgMiAwIDAgMCAyLTIiIC8+CiAgPGNpcmNsZSBjeD0iMTMiIGN5PSI3IiByPSIxIiBmaWxsPSJjdXJyZW50Q29sb3IiIC8+CiAgPHJlY3QgeD0iOCIgeT0iMiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/images\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideImages = /*#__PURE__*/(() => {\n  class LucideImages extends LucideIconBase {\n    static icon = {\n      name: 'images',\n      size: 24,\n      node: [['path', {\n        d: 'm22 11-1.296-1.296a2.4 2.4 0 0 0-3.408 0L11 16',\n        key: '9kzy35'\n      }], ['path', {\n        d: 'M4 8a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2',\n        key: '1t0f0t'\n      }], ['circle', {\n        cx: '13',\n        cy: '7',\n        r: '1',\n        fill: 'currentColor',\n        key: '1obus6'\n      }], ['rect', {\n        x: '8',\n        y: '2',\n        width: '14',\n        height: '14',\n        rx: '2',\n        key: '1gvhby'\n      }]]\n    };\n    icon = signal(LucideImages.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideImages_BaseFactory;\n      return function LucideImages_Factory(__ngFactoryType__) {\n        return (ɵLucideImages_BaseFactory || (ɵLucideImages_BaseFactory = i0.ɵɵgetInheritedFactory(LucideImages)))(__ngFactoryType__ || LucideImages);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideImages,\n      selectors: [[\"svg\", \"lucideImages\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c826,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideImages_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideImages_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideImages;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Import\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxMiIgLz4KICA8cGF0aCBkPSJtOCAxMSA0IDQgNC00IiAvPgogIDxwYXRoIGQ9Ik04IDVINGEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMlY3YTIgMiAwIDAgMC0yLTJoLTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/import\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideImport = /*#__PURE__*/(() => {\n  class LucideImport extends LucideIconBase {\n    static icon = {\n      name: 'import',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3v12',\n        key: '1x0j5s'\n      }], ['path', {\n        d: 'm8 11 4 4 4-4',\n        key: '1dohi6'\n      }], ['path', {\n        d: 'M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4',\n        key: '1ywtjm'\n      }]]\n    };\n    icon = signal(LucideImport.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideImport_BaseFactory;\n      return function LucideImport_Factory(__ngFactoryType__) {\n        return (ɵLucideImport_BaseFactory || (ɵLucideImport_BaseFactory = i0.ɵɵgetInheritedFactory(LucideImport)))(__ngFactoryType__ || LucideImport);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideImport,\n      selectors: [[\"svg\", \"lucideImport\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c827,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideImport_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideImport_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideImport;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ImageUpscale\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgM2g1djUiIC8+CiAgPHBhdGggZD0iTTE3IDIxaDJhMiAyIDAgMCAwIDItMiIgLz4KICA8cGF0aCBkPSJNMjEgMTJ2MyIgLz4KICA8cGF0aCBkPSJtMjEgMy01IDUiIC8+CiAgPHBhdGggZD0iTTMgN1Y1YTIgMiAwIDAgMSAyLTIiIC8+CiAgPHBhdGggZD0ibTUgMjEgNC4xNDQtNC4xNDRhMS4yMSAxLjIxIDAgMCAxIDEuNzEyIDBMMTMgMTkiIC8+CiAgPHBhdGggZD0iTTkgM2gzIiAvPgogIDxyZWN0IHg9IjMiIHk9IjExIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/image-upscale\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideImageUpscale = /*#__PURE__*/(() => {\n  class LucideImageUpscale extends LucideIconBase {\n    static icon = {\n      name: 'image-upscale',\n      size: 24,\n      node: [['path', {\n        d: 'M16 3h5v5',\n        key: '1806ms'\n      }], ['path', {\n        d: 'M17 21h2a2 2 0 0 0 2-2',\n        key: '130fy9'\n      }], ['path', {\n        d: 'M21 12v3',\n        key: '1wzk3p'\n      }], ['path', {\n        d: 'm21 3-5 5',\n        key: '1g5oa7'\n      }], ['path', {\n        d: 'M3 7V5a2 2 0 0 1 2-2',\n        key: 'kk3yz1'\n      }], ['path', {\n        d: 'm5 21 4.144-4.144a1.21 1.21 0 0 1 1.712 0L13 19',\n        key: 'fyekpt'\n      }], ['path', {\n        d: 'M9 3h3',\n        key: 'd52fa'\n      }], ['rect', {\n        x: '3',\n        y: '11',\n        width: '10',\n        height: '10',\n        rx: '1',\n        key: '1wpmix'\n      }]]\n    };\n    icon = signal(LucideImageUpscale.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideImageUpscale_BaseFactory;\n      return function LucideImageUpscale_Factory(__ngFactoryType__) {\n        return (ɵLucideImageUpscale_BaseFactory || (ɵLucideImageUpscale_BaseFactory = i0.ɵɵgetInheritedFactory(LucideImageUpscale)))(__ngFactoryType__ || LucideImageUpscale);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideImageUpscale,\n      selectors: [[\"svg\", \"lucideImageUpscale\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c828,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideImageUpscale_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideImageUpscale_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideImageUpscale;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Inbox\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cG9seWxpbmUgcG9pbnRzPSIyMiAxMiAxNiAxMiAxNCAxNSAxMCAxNSA4IDEyIDIgMTIiIC8+CiAgPHBhdGggZD0iTTUuNDUgNS4xMSAyIDEydjZhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi02bC0zLjQ1LTYuODlBMiAyIDAgMCAwIDE2Ljc2IDRINy4yNGEyIDIgMCAwIDAtMS43OSAxLjExeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/inbox\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideInbox = /*#__PURE__*/(() => {\n  class LucideInbox extends LucideIconBase {\n    static icon = {\n      name: 'inbox',\n      size: 24,\n      node: [['polyline', {\n        points: '22 12 16 12 14 15 10 15 8 12 2 12',\n        key: 'o97t9d'\n      }], ['path', {\n        d: 'M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z',\n        key: 'oot6mr'\n      }]]\n    };\n    icon = signal(LucideInbox.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideInbox_BaseFactory;\n      return function LucideInbox_Factory(__ngFactoryType__) {\n        return (ɵLucideInbox_BaseFactory || (ɵLucideInbox_BaseFactory = i0.ɵɵgetInheritedFactory(LucideInbox)))(__ngFactoryType__ || LucideInbox);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideInbox,\n      selectors: [[\"svg\", \"lucideInbox\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c829,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideInbox_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideInbox_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideInbox;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Infinity\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAxNmM1IDAgNy04IDEyLThhNCA0IDAgMCAxIDAgOGMtNSAwLTctOC0xMi04YTQgNCAwIDEgMCAwIDgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/infinity\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideInfinity = /*#__PURE__*/(() => {\n  class LucideInfinity extends LucideIconBase {\n    static icon = {\n      name: 'infinity',\n      size: 24,\n      node: [['path', {\n        d: 'M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8',\n        key: '18ogeb'\n      }]]\n    };\n    icon = signal(LucideInfinity.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideInfinity_BaseFactory;\n      return function LucideInfinity_Factory(__ngFactoryType__) {\n        return (ɵLucideInfinity_BaseFactory || (ɵLucideInfinity_BaseFactory = i0.ɵɵgetInheritedFactory(LucideInfinity)))(__ngFactoryType__ || LucideInfinity);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideInfinity,\n      selectors: [[\"svg\", \"lucideInfinity\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c830,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideInfinity_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideInfinity_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideInfinity;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name IndianRupee\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAzaDEyIiAvPgogIDxwYXRoIGQ9Ik02IDhoMTIiIC8+CiAgPHBhdGggZD0ibTYgMTMgOC41IDgiIC8+CiAgPHBhdGggZD0iTTYgMTNoMyIgLz4KICA8cGF0aCBkPSJNOSAxM2M2LjY2NyAwIDYuNjY3LTEwIDAtMTAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/indian-rupee\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideIndianRupee = /*#__PURE__*/(() => {\n  class LucideIndianRupee extends LucideIconBase {\n    static icon = {\n      name: 'indian-rupee',\n      size: 24,\n      node: [['path', {\n        d: 'M6 3h12',\n        key: 'ggurg9'\n      }], ['path', {\n        d: 'M6 8h12',\n        key: '6g4wlu'\n      }], ['path', {\n        d: 'm6 13 8.5 8',\n        key: 'u1kupk'\n      }], ['path', {\n        d: 'M6 13h3',\n        key: 'wdp6ag'\n      }], ['path', {\n        d: 'M9 13c6.667 0 6.667-10 0-10',\n        key: '1nkvk2'\n      }]]\n    };\n    icon = signal(LucideIndianRupee.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideIndianRupee_BaseFactory;\n      return function LucideIndianRupee_Factory(__ngFactoryType__) {\n        return (ɵLucideIndianRupee_BaseFactory || (ɵLucideIndianRupee_BaseFactory = i0.ɵɵgetInheritedFactory(LucideIndianRupee)))(__ngFactoryType__ || LucideIndianRupee);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideIndianRupee,\n      selectors: [[\"svg\", \"lucideIndianRupee\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c831,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideIndianRupee_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideIndianRupee_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideIndianRupee;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Info\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgMTZ2LTQiIC8+CiAgPHBhdGggZD0iTTEyIDhoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/info\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideInfo = /*#__PURE__*/(() => {\n  class LucideInfo extends LucideIconBase {\n    static icon = {\n      name: 'info',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M12 16v-4',\n        key: '1dtifu'\n      }], ['path', {\n        d: 'M12 8h.01',\n        key: 'e9boi3'\n      }]]\n    };\n    icon = signal(LucideInfo.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideInfo_BaseFactory;\n      return function LucideInfo_Factory(__ngFactoryType__) {\n        return (ɵLucideInfo_BaseFactory || (ɵLucideInfo_BaseFactory = i0.ɵɵgetInheritedFactory(LucideInfo)))(__ngFactoryType__ || LucideInfo);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideInfo,\n      selectors: [[\"svg\", \"lucideInfo\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c832,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideInfo_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideInfo_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideInfo;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name InspectionPanel\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik03IDdoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNyA3aC4wMSIgLz4KICA8cGF0aCBkPSJNNyAxN2guMDEiIC8+CiAgPHBhdGggZD0iTTE3IDE3aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/inspection-panel\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideInspectionPanel = /*#__PURE__*/(() => {\n  class LucideInspectionPanel extends LucideIconBase {\n    static icon = {\n      name: 'inspection-panel',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M7 7h.01',\n        key: '7u93v4'\n      }], ['path', {\n        d: 'M17 7h.01',\n        key: '14a9sn'\n      }], ['path', {\n        d: 'M7 17h.01',\n        key: '19xn7k'\n      }], ['path', {\n        d: 'M17 17h.01',\n        key: '1sd3ek'\n      }]]\n    };\n    icon = signal(LucideInspectionPanel.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideInspectionPanel_BaseFactory;\n      return function LucideInspectionPanel_Factory(__ngFactoryType__) {\n        return (ɵLucideInspectionPanel_BaseFactory || (ɵLucideInspectionPanel_BaseFactory = i0.ɵɵgetInheritedFactory(LucideInspectionPanel)))(__ngFactoryType__ || LucideInspectionPanel);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideInspectionPanel,\n      selectors: [[\"svg\", \"lucideInspectionPanel\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c833,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideInspectionPanel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideInspectionPanel_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideInspectionPanel;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name IterationCcw\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMTQgNCA0LTQgNCIgLz4KICA8cGF0aCBkPSJNMjAgMTBhOCA4IDAgMSAwLTggOGg4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/iteration-ccw\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideIterationCcw = /*#__PURE__*/(() => {\n  class LucideIterationCcw extends LucideIconBase {\n    static icon = {\n      name: 'iteration-ccw',\n      size: 24,\n      node: [['path', {\n        d: 'm16 14 4 4-4 4',\n        key: 'hkso8o'\n      }], ['path', {\n        d: 'M20 10a8 8 0 1 0-8 8h8',\n        key: '1bik7b'\n      }]]\n    };\n    icon = signal(LucideIterationCcw.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideIterationCcw_BaseFactory;\n      return function LucideIterationCcw_Factory(__ngFactoryType__) {\n        return (ɵLucideIterationCcw_BaseFactory || (ɵLucideIterationCcw_BaseFactory = i0.ɵɵgetInheritedFactory(LucideIterationCcw)))(__ngFactoryType__ || LucideIterationCcw);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideIterationCcw,\n      selectors: [[\"svg\", \"lucideIterationCcw\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c834,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideIterationCcw_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideIterationCcw_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideIterationCcw;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name IterationCw\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMGE4IDggMCAxIDEgOCA4SDQiIC8+CiAgPHBhdGggZD0ibTggMjItNC00IDQtNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/iteration-cw\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideIterationCw = /*#__PURE__*/(() => {\n  class LucideIterationCw extends LucideIconBase {\n    static icon = {\n      name: 'iteration-cw',\n      size: 24,\n      node: [['path', {\n        d: 'M4 10a8 8 0 1 1 8 8H4',\n        key: 'svv66n'\n      }], ['path', {\n        d: 'm8 22-4-4 4-4',\n        key: '6g7gki'\n      }]]\n    };\n    icon = signal(LucideIterationCw.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideIterationCw_BaseFactory;\n      return function LucideIterationCw_Factory(__ngFactoryType__) {\n        return (ɵLucideIterationCw_BaseFactory || (ɵLucideIterationCw_BaseFactory = i0.ɵɵgetInheritedFactory(LucideIterationCw)))(__ngFactoryType__ || LucideIterationCw);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideIterationCw,\n      selectors: [[\"svg\", \"lucideIterationCw\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c835,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideIterationCw_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideIterationCw_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideIterationCw;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Italic\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMTkiIHgyPSIxMCIgeTE9IjQiIHkyPSI0IiAvPgogIDxsaW5lIHgxPSIxNCIgeDI9IjUiIHkxPSIyMCIgeTI9IjIwIiAvPgogIDxsaW5lIHgxPSIxNSIgeDI9IjkiIHkxPSI0IiB5Mj0iMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/italic\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideItalic = /*#__PURE__*/(() => {\n  class LucideItalic extends LucideIconBase {\n    static icon = {\n      name: 'italic',\n      size: 24,\n      node: [['line', {\n        x1: '19',\n        x2: '10',\n        y1: '4',\n        y2: '4',\n        key: '15jd3p'\n      }], ['line', {\n        x1: '14',\n        x2: '5',\n        y1: '20',\n        y2: '20',\n        key: 'bu0au3'\n      }], ['line', {\n        x1: '15',\n        x2: '9',\n        y1: '4',\n        y2: '20',\n        key: 'uljnxc'\n      }]]\n    };\n    icon = signal(LucideItalic.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideItalic_BaseFactory;\n      return function LucideItalic_Factory(__ngFactoryType__) {\n        return (ɵLucideItalic_BaseFactory || (ɵLucideItalic_BaseFactory = i0.ɵɵgetInheritedFactory(LucideItalic)))(__ngFactoryType__ || LucideItalic);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideItalic,\n      selectors: [[\"svg\", \"lucideItalic\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c836,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideItalic_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideItalic_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideItalic;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Joystick\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTdhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MmEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTJaIiAvPgogIDxwYXRoIGQ9Ik02IDE1di0yIiAvPgogIDxwYXRoIGQ9Ik0xMiAxNVY5IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iNiIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/joystick\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideJoystick = /*#__PURE__*/(() => {\n  class LucideJoystick extends LucideIconBase {\n    static icon = {\n      name: 'joystick',\n      size: 24,\n      node: [['path', {\n        d: 'M21 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-2Z',\n        key: 'jg2n2t'\n      }], ['path', {\n        d: 'M6 15v-2',\n        key: 'gd6mvg'\n      }], ['path', {\n        d: 'M12 15V9',\n        key: '8c7uyn'\n      }], ['circle', {\n        cx: '12',\n        cy: '6',\n        r: '3',\n        key: '1gm2ql'\n      }]]\n    };\n    icon = signal(LucideJoystick.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideJoystick_BaseFactory;\n      return function LucideJoystick_Factory(__ngFactoryType__) {\n        return (ɵLucideJoystick_BaseFactory || (ɵLucideJoystick_BaseFactory = i0.ɵɵgetInheritedFactory(LucideJoystick)))(__ngFactoryType__ || LucideJoystick);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideJoystick,\n      selectors: [[\"svg\", \"lucideJoystick\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c837,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideJoystick_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideJoystick_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideJoystick;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name JapaneseYen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgOS41VjIxbTAtMTEuNUw2IDNtNiA2LjVMMTggMyIgLz4KICA8cGF0aCBkPSJNNiAxNWgxMiIgLz4KICA8cGF0aCBkPSJNNiAxMWgxMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/japanese-yen\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideJapaneseYen = /*#__PURE__*/(() => {\n  class LucideJapaneseYen extends LucideIconBase {\n    static icon = {\n      name: 'japanese-yen',\n      size: 24,\n      node: [['path', {\n        d: 'M12 9.5V21m0-11.5L6 3m6 6.5L18 3',\n        key: '2ej80x'\n      }], ['path', {\n        d: 'M6 15h12',\n        key: '1hwgt5'\n      }], ['path', {\n        d: 'M6 11h12',\n        key: 'wf4gp6'\n      }]]\n    };\n    icon = signal(LucideJapaneseYen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideJapaneseYen_BaseFactory;\n      return function LucideJapaneseYen_Factory(__ngFactoryType__) {\n        return (ɵLucideJapaneseYen_BaseFactory || (ɵLucideJapaneseYen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideJapaneseYen)))(__ngFactoryType__ || LucideJapaneseYen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideJapaneseYen,\n      selectors: [[\"svg\", \"lucideJapaneseYen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c838,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideJapaneseYen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideJapaneseYen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideJapaneseYen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Kanban\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAzdjE0IiAvPgogIDxwYXRoIGQ9Ik0xMiAzdjgiIC8+CiAgPHBhdGggZD0iTTE5IDN2MTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/kanban\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideKanban = /*#__PURE__*/(() => {\n  class LucideKanban extends LucideIconBase {\n    static icon = {\n      name: 'kanban',\n      size: 24,\n      node: [['path', {\n        d: 'M5 3v14',\n        key: '9nsxs2'\n      }], ['path', {\n        d: 'M12 3v8',\n        key: '1h2ygw'\n      }], ['path', {\n        d: 'M19 3v18',\n        key: '1sk56x'\n      }]]\n    };\n    icon = signal(LucideKanban.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideKanban_BaseFactory;\n      return function LucideKanban_Factory(__ngFactoryType__) {\n        return (ɵLucideKanban_BaseFactory || (ɵLucideKanban_BaseFactory = i0.ɵɵgetInheritedFactory(LucideKanban)))(__ngFactoryType__ || LucideKanban);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideKanban,\n      selectors: [[\"svg\", \"lucideKanban\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c839,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideKanban_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideKanban_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideKanban;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Kayak\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggMTdhMSAxIDAgMCAwLTEgMXYxYTIgMiAwIDEgMCAyLTJ6IiAvPgogIDxwYXRoIGQ9Ik0yMC45NyAzLjYxYS40NS40NSAwIDAgMC0uNTgtLjU4QzEwLjIgNi42IDYuNiAxMC4yIDMuMDMgMjAuMzlhLjQ1LjQ1IDAgMCAwIC41OC41OEMxMy44IDE3LjQgMTcuNCAxMy44IDIwLjk3IDMuNjEiIC8+CiAgPHBhdGggZD0ibTYuNzA3IDYuNzA3IDEwLjU4NiAxMC41ODYiIC8+CiAgPHBhdGggZD0iTTcgNWEyIDIgMCAxIDAtMiAyaDFhMSAxIDAgMCAwIDEtMXoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/kayak\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideKayak = /*#__PURE__*/(() => {\n  class LucideKayak extends LucideIconBase {\n    static icon = {\n      name: 'kayak',\n      size: 24,\n      node: [['path', {\n        d: 'M18 17a1 1 0 0 0-1 1v1a2 2 0 1 0 2-2z',\n        key: 'skzb1g'\n      }], ['path', {\n        d: 'M20.97 3.61a.45.45 0 0 0-.58-.58C10.2 6.6 6.6 10.2 3.03 20.39a.45.45 0 0 0 .58.58C13.8 17.4 17.4 13.8 20.97 3.61',\n        key: 'cv9jm7'\n      }], ['path', {\n        d: 'm6.707 6.707 10.586 10.586',\n        key: 'd2l993'\n      }], ['path', {\n        d: 'M7 5a2 2 0 1 0-2 2h1a1 1 0 0 0 1-1z',\n        key: 'i0et4n'\n      }]]\n    };\n    icon = signal(LucideKayak.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideKayak_BaseFactory;\n      return function LucideKayak_Factory(__ngFactoryType__) {\n        return (ɵLucideKayak_BaseFactory || (ɵLucideKayak_BaseFactory = i0.ɵɵgetInheritedFactory(LucideKayak)))(__ngFactoryType__ || LucideKayak);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideKayak,\n      selectors: [[\"svg\", \"lucideKayak\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c840,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideKayak_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideKayak_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideKayak;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name KeyRound\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi41ODYgMTcuNDE0QTIgMiAwIDAgMCAyIDE4LjgyOFYyMWExIDEgMCAwIDAgMSAxaDNhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xaDFhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xaC4xNzJhMiAyIDAgMCAwIDEuNDE0LS41ODZsLjgxNC0uODE0YTYuNSA2LjUgMCAxIDAtNC00eiIgLz4KICA8Y2lyY2xlIGN4PSIxNi41IiBjeT0iNy41IiByPSIuNSIgZmlsbD0iY3VycmVudENvbG9yIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/key-round\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideKeyRound = /*#__PURE__*/(() => {\n  class LucideKeyRound extends LucideIconBase {\n    static icon = {\n      name: 'key-round',\n      size: 24,\n      node: [['path', {\n        d: 'M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z',\n        key: '1s6t7t'\n      }], ['circle', {\n        cx: '16.5',\n        cy: '7.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: 'w0ekpg'\n      }]]\n    };\n    icon = signal(LucideKeyRound.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideKeyRound_BaseFactory;\n      return function LucideKeyRound_Factory(__ngFactoryType__) {\n        return (ɵLucideKeyRound_BaseFactory || (ɵLucideKeyRound_BaseFactory = i0.ɵɵgetInheritedFactory(LucideKeyRound)))(__ngFactoryType__ || LucideKeyRound);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideKeyRound,\n      selectors: [[\"svg\", \"lucideKeyRound\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c841,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideKeyRound_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideKeyRound_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideKeyRound;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name KeySquare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuNCAyLjdhMi41IDIuNSAwIDAgMSAzLjQgMGw1LjUgNS41YTIuNSAyLjUgMCAwIDEgMCAzLjRsLTMuNyAzLjdhMi41IDIuNSAwIDAgMS0zLjQgMEw4LjcgOS44YTIuNSAyLjUgMCAwIDEgMC0zLjR6IiAvPgogIDxwYXRoIGQ9Im0xNCA3IDMgMyIgLz4KICA8cGF0aCBkPSJtOS40IDEwLjYtNi44MTQgNi44MTRBMiAyIDAgMCAwIDIgMTguODI4VjIxYTEgMSAwIDAgMCAxIDFoM2ExIDEgMCAwIDAgMS0xdi0xYTEgMSAwIDAgMSAxLTFoMWExIDEgMCAwIDAgMS0xdi0xYTEgMSAwIDAgMSAxLTFoLjE3MmEyIDIgMCAwIDAgMS40MTQtLjU4NmwuODE0LS44MTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/key-square\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideKeySquare = /*#__PURE__*/(() => {\n  class LucideKeySquare extends LucideIconBase {\n    static icon = {\n      name: 'key-square',\n      size: 24,\n      node: [['path', {\n        d: 'M12.4 2.7a2.5 2.5 0 0 1 3.4 0l5.5 5.5a2.5 2.5 0 0 1 0 3.4l-3.7 3.7a2.5 2.5 0 0 1-3.4 0L8.7 9.8a2.5 2.5 0 0 1 0-3.4z',\n        key: '165ttr'\n      }], ['path', {\n        d: 'm14 7 3 3',\n        key: '1r5n42'\n      }], ['path', {\n        d: 'm9.4 10.6-6.814 6.814A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814',\n        key: '1ubxi2'\n      }]]\n    };\n    icon = signal(LucideKeySquare.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideKeySquare_BaseFactory;\n      return function LucideKeySquare_Factory(__ngFactoryType__) {\n        return (ɵLucideKeySquare_BaseFactory || (ɵLucideKeySquare_BaseFactory = i0.ɵɵgetInheritedFactory(LucideKeySquare)))(__ngFactoryType__ || LucideKeySquare);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideKeySquare,\n      selectors: [[\"svg\", \"lucideKeySquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c842,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideKeySquare_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideKeySquare_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideKeySquare;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Key\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUuNSA3LjUgMi4zIDIuM2ExIDEgMCAwIDAgMS40IDBsMi4xLTIuMWExIDEgMCAwIDAgMC0xLjRMMTkgNCIgLz4KICA8cGF0aCBkPSJtMjEgMi05LjYgOS42IiAvPgogIDxjaXJjbGUgY3g9IjcuNSIgY3k9IjE1LjUiIHI9IjUuNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/key\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideKey = /*#__PURE__*/(() => {\n  class LucideKey extends LucideIconBase {\n    static icon = {\n      name: 'key',\n      size: 24,\n      node: [['path', {\n        d: 'm15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4',\n        key: 'g0fldk'\n      }], ['path', {\n        d: 'm21 2-9.6 9.6',\n        key: '1j0ho8'\n      }], ['circle', {\n        cx: '7.5',\n        cy: '15.5',\n        r: '5.5',\n        key: 'yqb3hr'\n      }]]\n    };\n    icon = signal(LucideKey.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideKey_BaseFactory;\n      return function LucideKey_Factory(__ngFactoryType__) {\n        return (ɵLucideKey_BaseFactory || (ɵLucideKey_BaseFactory = i0.ɵɵgetInheritedFactory(LucideKey)))(__ngFactoryType__ || LucideKey);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideKey,\n      selectors: [[\"svg\", \"lucideKey\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c843,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideKey_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideKey_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideKey;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name KeyboardOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNIDIwIDQgQTIgMiAwIDAgMSAyMiA2IiAvPgogIDxwYXRoIGQ9Ik0gMjIgNiBMIDIyIDE2LjQxIiAvPgogIDxwYXRoIGQ9Ik0gNyAxNiBMIDE2IDE2IiAvPgogIDxwYXRoIGQ9Ik0gOS42OSA0IEwgMjAgNCIgLz4KICA8cGF0aCBkPSJNMTQgOGguMDEiIC8+CiAgPHBhdGggZD0iTTE4IDhoLjAxIiAvPgogIDxwYXRoIGQ9Im0yIDIgMjAgMjAiIC8+CiAgPHBhdGggZD0iTTIwIDIwSDRhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTIiIC8+CiAgPHBhdGggZD0iTTYgOGguMDEiIC8+CiAgPHBhdGggZD0iTTggMTJoLjAxIiAvPgo8L3N2Zz4=) - https://lucide.dev/icons/keyboard-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideKeyboardOff = /*#__PURE__*/(() => {\n  class LucideKeyboardOff extends LucideIconBase {\n    static icon = {\n      name: 'keyboard-off',\n      size: 24,\n      node: [['path', {\n        d: 'M 20 4 A2 2 0 0 1 22 6',\n        key: '1g1fkt'\n      }], ['path', {\n        d: 'M 22 6 L 22 16.41',\n        key: '1qjg3w'\n      }], ['path', {\n        d: 'M 7 16 L 16 16',\n        key: 'n0yqwb'\n      }], ['path', {\n        d: 'M 9.69 4 L 20 4',\n        key: 'kbpcgx'\n      }], ['path', {\n        d: 'M14 8h.01',\n        key: '1primd'\n      }], ['path', {\n        d: 'M18 8h.01',\n        key: 'emo2bl'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M20 20H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2',\n        key: 's23sx2'\n      }], ['path', {\n        d: 'M6 8h.01',\n        key: 'x9i8wu'\n      }], ['path', {\n        d: 'M8 12h.01',\n        key: 'czm47f'\n      }]]\n    };\n    icon = signal(LucideKeyboardOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideKeyboardOff_BaseFactory;\n      return function LucideKeyboardOff_Factory(__ngFactoryType__) {\n        return (ɵLucideKeyboardOff_BaseFactory || (ɵLucideKeyboardOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideKeyboardOff)))(__ngFactoryType__ || LucideKeyboardOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideKeyboardOff,\n      selectors: [[\"svg\", \"lucideKeyboardOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c844,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideKeyboardOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideKeyboardOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideKeyboardOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Keyboard\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgOGguMDEiIC8+CiAgPHBhdGggZD0iTTEyIDEyaC4wMSIgLz4KICA8cGF0aCBkPSJNMTQgOGguMDEiIC8+CiAgPHBhdGggZD0iTTE2IDEyaC4wMSIgLz4KICA8cGF0aCBkPSJNMTggOGguMDEiIC8+CiAgPHBhdGggZD0iTTYgOGguMDEiIC8+CiAgPHBhdGggZD0iTTcgMTZoMTAiIC8+CiAgPHBhdGggZD0iTTggMTJoLjAxIiAvPgogIDxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIxNiIgeD0iMiIgeT0iNCIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/keyboard\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideKeyboard = /*#__PURE__*/(() => {\n  class LucideKeyboard extends LucideIconBase {\n    static icon = {\n      name: 'keyboard',\n      size: 24,\n      node: [['path', {\n        d: 'M10 8h.01',\n        key: '1r9ogq'\n      }], ['path', {\n        d: 'M12 12h.01',\n        key: '1mp3jc'\n      }], ['path', {\n        d: 'M14 8h.01',\n        key: '1primd'\n      }], ['path', {\n        d: 'M16 12h.01',\n        key: '1l6xoz'\n      }], ['path', {\n        d: 'M18 8h.01',\n        key: 'emo2bl'\n      }], ['path', {\n        d: 'M6 8h.01',\n        key: 'x9i8wu'\n      }], ['path', {\n        d: 'M7 16h10',\n        key: 'wp8him'\n      }], ['path', {\n        d: 'M8 12h.01',\n        key: 'czm47f'\n      }], ['rect', {\n        width: '20',\n        height: '16',\n        x: '2',\n        y: '4',\n        rx: '2',\n        key: '18n3k1'\n      }]]\n    };\n    icon = signal(LucideKeyboard.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideKeyboard_BaseFactory;\n      return function LucideKeyboard_Factory(__ngFactoryType__) {\n        return (ɵLucideKeyboard_BaseFactory || (ɵLucideKeyboard_BaseFactory = i0.ɵɵgetInheritedFactory(LucideKeyboard)))(__ngFactoryType__ || LucideKeyboard);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideKeyboard,\n      selectors: [[\"svg\", \"lucideKeyboard\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c845,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideKeyboard_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideKeyboard_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideKeyboard;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name KeyboardMusic\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHg9IjIiIHk9IjQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik02IDhoNCIgLz4KICA8cGF0aCBkPSJNMTQgOGguMDEiIC8+CiAgPHBhdGggZD0iTTE4IDhoLjAxIiAvPgogIDxwYXRoIGQ9Ik0yIDEyaDIwIiAvPgogIDxwYXRoIGQ9Ik02IDEydjQiIC8+CiAgPHBhdGggZD0iTTEwIDEydjQiIC8+CiAgPHBhdGggZD0iTTE0IDEydjQiIC8+CiAgPHBhdGggZD0iTTE4IDEydjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/keyboard-music\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideKeyboardMusic = /*#__PURE__*/(() => {\n  class LucideKeyboardMusic extends LucideIconBase {\n    static icon = {\n      name: 'keyboard-music',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '16',\n        x: '2',\n        y: '4',\n        rx: '2',\n        key: '18n3k1'\n      }], ['path', {\n        d: 'M6 8h4',\n        key: 'utf9t1'\n      }], ['path', {\n        d: 'M14 8h.01',\n        key: '1primd'\n      }], ['path', {\n        d: 'M18 8h.01',\n        key: 'emo2bl'\n      }], ['path', {\n        d: 'M2 12h20',\n        key: '9i4pu4'\n      }], ['path', {\n        d: 'M6 12v4',\n        key: 'dy92yo'\n      }], ['path', {\n        d: 'M10 12v4',\n        key: '1fxnav'\n      }], ['path', {\n        d: 'M14 12v4',\n        key: '1hft58'\n      }], ['path', {\n        d: 'M18 12v4',\n        key: 'tjjnbz'\n      }]]\n    };\n    icon = signal(LucideKeyboardMusic.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideKeyboardMusic_BaseFactory;\n      return function LucideKeyboardMusic_Factory(__ngFactoryType__) {\n        return (ɵLucideKeyboardMusic_BaseFactory || (ɵLucideKeyboardMusic_BaseFactory = i0.ɵɵgetInheritedFactory(LucideKeyboardMusic)))(__ngFactoryType__ || LucideKeyboardMusic);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideKeyboardMusic,\n      selectors: [[\"svg\", \"lucideKeyboardMusic\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c846,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideKeyboardMusic_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideKeyboardMusic_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideKeyboardMusic;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LampCeiling\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnY1IiAvPgogIDxwYXRoIGQ9Ik0xNC44MjkgMTUuOTk4YTMgMyAwIDEgMS01LjY1OCAwIiAvPgogIDxwYXRoIGQ9Ik0yMC45MiAxNC42MDZBMSAxIDAgMCAxIDIwIDE2SDRhMSAxIDAgMCAxLS45Mi0xLjM5NGwzLTdBMSAxIDAgMCAxIDcgN2gxMGExIDEgMCAwIDEgLjkyLjYwNnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/lamp-ceiling\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLampCeiling = /*#__PURE__*/(() => {\n  class LucideLampCeiling extends LucideIconBase {\n    static icon = {\n      name: 'lamp-ceiling',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v5',\n        key: 'nd4vlx'\n      }], ['path', {\n        d: 'M14.829 15.998a3 3 0 1 1-5.658 0',\n        key: '1pybiy'\n      }], ['path', {\n        d: 'M20.92 14.606A1 1 0 0 1 20 16H4a1 1 0 0 1-.92-1.394l3-7A1 1 0 0 1 7 7h10a1 1 0 0 1 .92.606z',\n        key: 'ma1wor'\n      }]]\n    };\n    icon = signal(LucideLampCeiling.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLampCeiling_BaseFactory;\n      return function LucideLampCeiling_Factory(__ngFactoryType__) {\n        return (ɵLucideLampCeiling_BaseFactory || (ɵLucideLampCeiling_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLampCeiling)))(__ngFactoryType__ || LucideLampCeiling);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLampCeiling,\n      selectors: [[\"svg\", \"lucideLampCeiling\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c847,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLampCeiling_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLampCeiling_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLampCeiling;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LampDesk\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMjkzIDIuMjkzYTEgMSAwIDAgMSAxLjQxNCAwbDIuNSAyLjUgNS45OTQgMS4yMjdhMSAxIDAgMCAxIC41MDYgMS42ODdsLTcgN2ExIDEgMCAwIDEtMS42ODctLjUwNmwtMS4yMjctNS45OTQtMi41LTIuNWExIDEgMCAwIDEgMC0xLjQxNHoiIC8+CiAgPHBhdGggZD0ibTE0LjIwNyA0Ljc5My0zLjQxNCAzLjQxNCIgLz4KICA8cGF0aCBkPSJNMyAyMGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFINGExIDEgMCAwIDEtMS0xeiIgLz4KICA8cGF0aCBkPSJtOS4wODYgNi41LTQuNzkzIDQuNzkzYTEgMSAwIDAgMC0uMTggMS4xN0w3IDE4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/lamp-desk\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLampDesk = /*#__PURE__*/(() => {\n  class LucideLampDesk extends LucideIconBase {\n    static icon = {\n      name: 'lamp-desk',\n      size: 24,\n      node: [['path', {\n        d: 'M10.293 2.293a1 1 0 0 1 1.414 0l2.5 2.5 5.994 1.227a1 1 0 0 1 .506 1.687l-7 7a1 1 0 0 1-1.687-.506l-1.227-5.994-2.5-2.5a1 1 0 0 1 0-1.414z',\n        key: 'sb8slu'\n      }], ['path', {\n        d: 'm14.207 4.793-3.414 3.414',\n        key: 'm2x3oj'\n      }], ['path', {\n        d: 'M3 20a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z',\n        key: '8b3myj'\n      }], ['path', {\n        d: 'm9.086 6.5-4.793 4.793a1 1 0 0 0-.18 1.17L7 18',\n        key: '43s6cu'\n      }]]\n    };\n    icon = signal(LucideLampDesk.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLampDesk_BaseFactory;\n      return function LucideLampDesk_Factory(__ngFactoryType__) {\n        return (ɵLucideLampDesk_BaseFactory || (ɵLucideLampDesk_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLampDesk)))(__ngFactoryType__ || LucideLampDesk);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLampDesk,\n      selectors: [[\"svg\", \"lucideLampDesk\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c848,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLampDesk_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLampDesk_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLampDesk;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LampFloor\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTB2MTIiIC8+CiAgPHBhdGggZD0iTTE3LjkyOSA3LjYyOUExIDEgMCAwIDEgMTcgOUg3YTEgMSAwIDAgMS0uOTI4LTEuMzcxbDItNUExIDEgMCAwIDEgOSAyaDZhMSAxIDAgMCAxIC45MjguNjI5eiIgLz4KICA8cGF0aCBkPSJNOSAyMmg2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/lamp-floor\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLampFloor = /*#__PURE__*/(() => {\n  class LucideLampFloor extends LucideIconBase {\n    static icon = {\n      name: 'lamp-floor',\n      size: 24,\n      node: [['path', {\n        d: 'M12 10v12',\n        key: '6ubwww'\n      }], ['path', {\n        d: 'M17.929 7.629A1 1 0 0 1 17 9H7a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 9 2h6a1 1 0 0 1 .928.629z',\n        key: '1o95gh'\n      }], ['path', {\n        d: 'M9 22h6',\n        key: '1rlq3v'\n      }]]\n    };\n    icon = signal(LucideLampFloor.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLampFloor_BaseFactory;\n      return function LucideLampFloor_Factory(__ngFactoryType__) {\n        return (ɵLucideLampFloor_BaseFactory || (ɵLucideLampFloor_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLampFloor)))(__ngFactoryType__ || LucideLampFloor);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLampFloor,\n      selectors: [[\"svg\", \"lucideLampFloor\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c849,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLampFloor_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLampFloor_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLampFloor;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LampWallDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkuOTI5IDE4LjYyOUExIDEgMCAwIDEgMTkgMjBIOWExIDEgMCAwIDEtLjkyOC0xLjM3MWwyLTVBMSAxIDAgMCAxIDExIDEzaDZhMSAxIDAgMCAxIC45MjguNjI5eiIgLz4KICA8cGF0aCBkPSJNNiAzYTIgMiAwIDAgMSAyIDJ2MmEyIDIgMCAwIDEtMiAySDVhMSAxIDAgMCAxLTEtMVY0YTEgMSAwIDAgMSAxLTF6IiAvPgogIDxwYXRoIGQ9Ik04IDZoNGEyIDIgMCAwIDEgMiAydjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/lamp-wall-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLampWallDown = /*#__PURE__*/(() => {\n  class LucideLampWallDown extends LucideIconBase {\n    static icon = {\n      name: 'lamp-wall-down',\n      size: 24,\n      node: [['path', {\n        d: 'M19.929 18.629A1 1 0 0 1 19 20H9a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 11 13h6a1 1 0 0 1 .928.629z',\n        key: 'u4w2d7'\n      }], ['path', {\n        d: 'M6 3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z',\n        key: '15356w'\n      }], ['path', {\n        d: 'M8 6h4a2 2 0 0 1 2 2v5',\n        key: '1m6m7x'\n      }]]\n    };\n    icon = signal(LucideLampWallDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLampWallDown_BaseFactory;\n      return function LucideLampWallDown_Factory(__ngFactoryType__) {\n        return (ɵLucideLampWallDown_BaseFactory || (ɵLucideLampWallDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLampWallDown)))(__ngFactoryType__ || LucideLampWallDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLampWallDown,\n      selectors: [[\"svg\", \"lucideLampWallDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c850,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLampWallDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLampWallDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLampWallDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LampWallUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkuOTI5IDkuNjI5QTEgMSAwIDAgMSAxOSAxMUg5YTEgMSAwIDAgMS0uOTI4LTEuMzcxbDItNUExIDEgMCAwIDEgMTEgNGg2YTEgMSAwIDAgMSAuOTI4LjYyOXoiIC8+CiAgPHBhdGggZD0iTTYgMTVhMiAyIDAgMCAxIDIgMnYyYTIgMiAwIDAgMS0yIDJINWExIDEgMCAwIDEtMS0xdi00YTEgMSAwIDAgMSAxLTF6IiAvPgogIDxwYXRoIGQ9Ik04IDE4aDRhMiAyIDAgMCAwIDItMnYtNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/lamp-wall-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLampWallUp = /*#__PURE__*/(() => {\n  class LucideLampWallUp extends LucideIconBase {\n    static icon = {\n      name: 'lamp-wall-up',\n      size: 24,\n      node: [['path', {\n        d: 'M19.929 9.629A1 1 0 0 1 19 11H9a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 11 4h6a1 1 0 0 1 .928.629z',\n        key: '1uvrbf'\n      }], ['path', {\n        d: 'M6 15a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1z',\n        key: '154r2a'\n      }], ['path', {\n        d: 'M8 18h4a2 2 0 0 0 2-2v-5',\n        key: 'z9mbu0'\n      }]]\n    };\n    icon = signal(LucideLampWallUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLampWallUp_BaseFactory;\n      return function LucideLampWallUp_Factory(__ngFactoryType__) {\n        return (ɵLucideLampWallUp_BaseFactory || (ɵLucideLampWallUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLampWallUp)))(__ngFactoryType__ || LucideLampWallUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLampWallUp,\n      selectors: [[\"svg\", \"lucideLampWallUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c851,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLampWallUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLampWallUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLampWallUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Lamp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTJ2NiIgLz4KICA8cGF0aCBkPSJNNC4wNzcgMTAuNjE1QTEgMSAwIDAgMCA1IDEyaDE0YTEgMSAwIDAgMCAuOTIzLTEuMzg1bC0zLjA3Ny03LjM4NEEyIDIgMCAwIDAgMTUgMkg5YTIgMiAwIDAgMC0xLjg0NiAxLjIzWiIgLz4KICA8cGF0aCBkPSJNOCAyMGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFIOWExIDEgMCAwIDEtMS0xeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/lamp\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLamp = /*#__PURE__*/(() => {\n  class LucideLamp extends LucideIconBase {\n    static icon = {\n      name: 'lamp',\n      size: 24,\n      node: [['path', {\n        d: 'M12 12v6',\n        key: '3ahymv'\n      }], ['path', {\n        d: 'M4.077 10.615A1 1 0 0 0 5 12h14a1 1 0 0 0 .923-1.385l-3.077-7.384A2 2 0 0 0 15 2H9a2 2 0 0 0-1.846 1.23Z',\n        key: '1l7kg2'\n      }], ['path', {\n        d: 'M8 20a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1z',\n        key: '1mmzpi'\n      }]]\n    };\n    icon = signal(LucideLamp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLamp_BaseFactory;\n      return function LucideLamp_Factory(__ngFactoryType__) {\n        return (ɵLucideLamp_BaseFactory || (ɵLucideLamp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLamp)))(__ngFactoryType__ || LucideLamp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLamp,\n      selectors: [[\"svg\", \"lucideLamp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c852,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLamp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLamp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLamp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Landmark\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTh2LTciIC8+CiAgPHBhdGggZD0iTTExLjEyIDIuMTk4YTIgMiAwIDAgMSAxLjc2LjAwNmw3Ljg2NiAzLjg0N2MuNDc2LjIzMy4zMS45NDktLjIyLjk0OUgzLjQ3NGMtLjUzIDAtLjY5NS0uNzE2LS4yMi0uOTQ5eiIgLz4KICA8cGF0aCBkPSJNMTQgMTh2LTciIC8+CiAgPHBhdGggZD0iTTE4IDE4di03IiAvPgogIDxwYXRoIGQ9Ik0zIDIyaDE4IiAvPgogIDxwYXRoIGQ9Ik02IDE4di03IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/landmark\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLandmark = /*#__PURE__*/(() => {\n  class LucideLandmark extends LucideIconBase {\n    static icon = {\n      name: 'landmark',\n      size: 24,\n      node: [['path', {\n        d: 'M10 18v-7',\n        key: 'wt116b'\n      }], ['path', {\n        d: 'M11.12 2.198a2 2 0 0 1 1.76.006l7.866 3.847c.476.233.31.949-.22.949H3.474c-.53 0-.695-.716-.22-.949z',\n        key: '1m329m'\n      }], ['path', {\n        d: 'M14 18v-7',\n        key: 'vav6t3'\n      }], ['path', {\n        d: 'M18 18v-7',\n        key: 'aexdmj'\n      }], ['path', {\n        d: 'M3 22h18',\n        key: '8prr45'\n      }], ['path', {\n        d: 'M6 18v-7',\n        key: '1ivflk'\n      }]]\n    };\n    icon = signal(LucideLandmark.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLandmark_BaseFactory;\n      return function LucideLandmark_Factory(__ngFactoryType__) {\n        return (ɵLucideLandmark_BaseFactory || (ɵLucideLandmark_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLandmark)))(__ngFactoryType__ || LucideLandmark);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLandmark,\n      selectors: [[\"svg\", \"lucideLandmark\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c853,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLandmark_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLandmark_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLandmark;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LandPlot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIgOCA2LTMtNi0zdjEwIiAvPgogIDxwYXRoIGQ9Im04IDExLjk5LTUuNSAzLjE0YTEgMSAwIDAgMCAwIDEuNzRsOC41IDQuODZhMiAyIDAgMCAwIDIgMGw4LjUtNC44NmExIDEgMCAwIDAgMC0xLjc0TDE2IDEyIiAvPgogIDxwYXRoIGQ9Im02LjQ5IDEyLjg1IDExLjAyIDYuMyIgLz4KICA8cGF0aCBkPSJNMTcuNTEgMTIuODUgNi41IDE5LjE1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/land-plot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLandPlot = /*#__PURE__*/(() => {\n  class LucideLandPlot extends LucideIconBase {\n    static icon = {\n      name: 'land-plot',\n      size: 24,\n      node: [['path', {\n        d: 'm12 8 6-3-6-3v10',\n        key: 'mvpnpy'\n      }], ['path', {\n        d: 'm8 11.99-5.5 3.14a1 1 0 0 0 0 1.74l8.5 4.86a2 2 0 0 0 2 0l8.5-4.86a1 1 0 0 0 0-1.74L16 12',\n        key: 'ek95tt'\n      }], ['path', {\n        d: 'm6.49 12.85 11.02 6.3',\n        key: '1kt42w'\n      }], ['path', {\n        d: 'M17.51 12.85 6.5 19.15',\n        key: 'v55bdg'\n      }]]\n    };\n    icon = signal(LucideLandPlot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLandPlot_BaseFactory;\n      return function LucideLandPlot_Factory(__ngFactoryType__) {\n        return (ɵLucideLandPlot_BaseFactory || (ɵLucideLandPlot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLandPlot)))(__ngFactoryType__ || LucideLandPlot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLandPlot,\n      selectors: [[\"svg\", \"lucideLandPlot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c854,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLandPlot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLandPlot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLandPlot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Languages\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNSA4IDYgNiIgLz4KICA8cGF0aCBkPSJtNCAxNCA2LTYgMi0zIiAvPgogIDxwYXRoIGQ9Ik0yIDVoMTIiIC8+CiAgPHBhdGggZD0iTTcgMmgxIiAvPgogIDxwYXRoIGQ9Im0yMiAyMi01LTEwLTUgMTAiIC8+CiAgPHBhdGggZD0iTTE0IDE4aDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/languages\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLanguages = /*#__PURE__*/(() => {\n  class LucideLanguages extends LucideIconBase {\n    static icon = {\n      name: 'languages',\n      size: 24,\n      node: [['path', {\n        d: 'm5 8 6 6',\n        key: '1wu5hv'\n      }], ['path', {\n        d: 'm4 14 6-6 2-3',\n        key: '1k1g8d'\n      }], ['path', {\n        d: 'M2 5h12',\n        key: 'or177f'\n      }], ['path', {\n        d: 'M7 2h1',\n        key: '1t2jsx'\n      }], ['path', {\n        d: 'm22 22-5-10-5 10',\n        key: 'don7ne'\n      }], ['path', {\n        d: 'M14 18h6',\n        key: '1m8k6r'\n      }]]\n    };\n    icon = signal(LucideLanguages.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLanguages_BaseFactory;\n      return function LucideLanguages_Factory(__ngFactoryType__) {\n        return (ɵLucideLanguages_BaseFactory || (ɵLucideLanguages_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLanguages)))(__ngFactoryType__ || LucideLanguages);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLanguages,\n      selectors: [[\"svg\", \"lucideLanguages\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c855,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLanguages_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLanguages_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLanguages;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LaptopMinimalCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMGgyMCIgLz4KICA8cGF0aCBkPSJtOSAxMCAyIDIgNC00IiAvPgogIDxyZWN0IHg9IjMiIHk9IjQiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMiIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/laptop-minimal-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLaptopMinimalCheck = /*#__PURE__*/(() => {\n  class LucideLaptopMinimalCheck extends LucideIconBase {\n    static icon = {\n      name: 'laptop-minimal-check',\n      size: 24,\n      node: [['path', {\n        d: 'M2 20h20',\n        key: 'owomy5'\n      }], ['path', {\n        d: 'm9 10 2 2 4-4',\n        key: '1gnqz4'\n      }], ['rect', {\n        x: '3',\n        y: '4',\n        width: '18',\n        height: '12',\n        rx: '2',\n        key: '8ur36m'\n      }]]\n    };\n    icon = signal(LucideLaptopMinimalCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLaptopMinimalCheck_BaseFactory;\n      return function LucideLaptopMinimalCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideLaptopMinimalCheck_BaseFactory || (ɵLucideLaptopMinimalCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLaptopMinimalCheck)))(__ngFactoryType__ || LucideLaptopMinimalCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLaptopMinimalCheck,\n      selectors: [[\"svg\", \"lucideLaptopMinimalCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c856,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLaptopMinimalCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLaptopMinimalCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLaptopMinimalCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Laptop\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggNWEyIDIgMCAwIDEgMiAydjguNTI2YTIgMiAwIDAgMCAuMjEyLjg5N2wxLjA2OCAyLjEyN2ExIDEgMCAwIDEtLjkgMS40NUgzLjYyYTEgMSAwIDAgMS0uOS0xLjQ1bDEuMDY4LTIuMTI3QTIgMiAwIDAgMCA0IDE1LjUyNlY3YTIgMiAwIDAgMSAyLTJ6IiAvPgogIDxwYXRoIGQ9Ik0yMC4wNTQgMTUuOTg3SDMuOTQ2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/laptop\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLaptop = /*#__PURE__*/(() => {\n  class LucideLaptop extends LucideIconBase {\n    static icon = {\n      name: 'laptop',\n      size: 24,\n      node: [['path', {\n        d: 'M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z',\n        key: '1pdavp'\n      }], ['path', {\n        d: 'M20.054 15.987H3.946',\n        key: '14rxg9'\n      }]]\n    };\n    icon = signal(LucideLaptop.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLaptop_BaseFactory;\n      return function LucideLaptop_Factory(__ngFactoryType__) {\n        return (ɵLucideLaptop_BaseFactory || (ɵLucideLaptop_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLaptop)))(__ngFactoryType__ || LucideLaptop);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLaptop,\n      selectors: [[\"svg\", \"lucideLaptop\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c857,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLaptop_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLaptop_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLaptop;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LaptopMinimal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTIiIHg9IjMiIHk9IjQiIHJ4PSIyIiByeT0iMiIgLz4KICA8bGluZSB4MT0iMiIgeDI9IjIyIiB5MT0iMjAiIHkyPSIyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/laptop-minimal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLaptopMinimal = /*#__PURE__*/(() => {\n  class LucideLaptopMinimal extends LucideIconBase {\n    static icon = {\n      name: 'laptop-minimal',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '12',\n        x: '3',\n        y: '4',\n        rx: '2',\n        ry: '2',\n        key: '1qhy41'\n      }], ['line', {\n        x1: '2',\n        x2: '22',\n        y1: '20',\n        y2: '20',\n        key: 'ni3hll'\n      }]],\n      aliases: ['laptop-2']\n    };\n    icon = signal(LucideLaptopMinimal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLaptopMinimal_BaseFactory;\n      return function LucideLaptopMinimal_Factory(__ngFactoryType__) {\n        return (ɵLucideLaptopMinimal_BaseFactory || (ɵLucideLaptopMinimal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLaptopMinimal)))(__ngFactoryType__ || LucideLaptopMinimal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLaptopMinimal,\n      selectors: [[\"svg\", \"lucideLaptopMinimal\", \"\"], [\"svg\", \"lucideLaptop2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c858,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLaptopMinimal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLaptopMinimal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLaptopMinimal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideLaptopMinimal\n */\nconst LucideLaptop2 = LucideLaptopMinimal;\n\n/**\n * @component @name LassoSelect\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAyMmE1IDUgMCAwIDEtMi00IiAvPgogIDxwYXRoIGQ9Ik03IDE2LjkzYy45Ni40MyAxLjk2Ljc0IDIuOTkuOTEiIC8+CiAgPHBhdGggZD0iTTMuMzQgMTRBNi44IDYuOCAwIDAgMSAyIDEwYzAtNC40MiA0LjQ4LTggMTAtOHMxMCAzLjU4IDEwIDhhNy4xOSA3LjE5IDAgMCAxLS4zMyAyIiAvPgogIDxwYXRoIGQ9Ik01IDE4YTIgMiAwIDEgMCAwLTQgMiAyIDAgMCAwIDAgNHoiIC8+CiAgPHBhdGggZD0iTTE0LjMzIDIyaC0uMDlhLjM1LjM1IDAgMCAxLS4yNC0uMzJ2LTEwYS4zNC4zNCAwIDAgMSAuMzMtLjM0Yy4wOCAwIC4xNS4wMy4yMS4wOGw3LjM0IDZhLjMzLjMzIDAgMCAxLS4yMS41OWgtNC40OWwtMi41NyAzLjg1YS4zNS4zNSAwIDAgMS0uMjguMTR6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/lasso-select\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLassoSelect = /*#__PURE__*/(() => {\n  class LucideLassoSelect extends LucideIconBase {\n    static icon = {\n      name: 'lasso-select',\n      size: 24,\n      node: [['path', {\n        d: 'M7 22a5 5 0 0 1-2-4',\n        key: 'umushi'\n      }], ['path', {\n        d: 'M7 16.93c.96.43 1.96.74 2.99.91',\n        key: 'ybbtv3'\n      }], ['path', {\n        d: 'M3.34 14A6.8 6.8 0 0 1 2 10c0-4.42 4.48-8 10-8s10 3.58 10 8a7.19 7.19 0 0 1-.33 2',\n        key: 'gt5e1w'\n      }], ['path', {\n        d: 'M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z',\n        key: 'bq3ynw'\n      }], ['path', {\n        d: 'M14.33 22h-.09a.35.35 0 0 1-.24-.32v-10a.34.34 0 0 1 .33-.34c.08 0 .15.03.21.08l7.34 6a.33.33 0 0 1-.21.59h-4.49l-2.57 3.85a.35.35 0 0 1-.28.14z',\n        key: '72q637'\n      }]]\n    };\n    icon = signal(LucideLassoSelect.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLassoSelect_BaseFactory;\n      return function LucideLassoSelect_Factory(__ngFactoryType__) {\n        return (ɵLucideLassoSelect_BaseFactory || (ɵLucideLassoSelect_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLassoSelect)))(__ngFactoryType__ || LucideLassoSelect);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLassoSelect,\n      selectors: [[\"svg\", \"lucideLassoSelect\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c859,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLassoSelect_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLassoSelect_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLassoSelect;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Lasso\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy43MDQgMTQuNDY3YTEwIDggMCAxIDEgMy4xMTUgMi4zNzUiIC8+CiAgPHBhdGggZD0iTTcgMjJhNSA1IDAgMCAxLTItMy45OTQiIC8+CiAgPGNpcmNsZSBjeD0iNSIgY3k9IjE2IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/lasso\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLasso = /*#__PURE__*/(() => {\n  class LucideLasso extends LucideIconBase {\n    static icon = {\n      name: 'lasso',\n      size: 24,\n      node: [['path', {\n        d: 'M3.704 14.467a10 8 0 1 1 3.115 2.375',\n        key: 'wxgc5m'\n      }], ['path', {\n        d: 'M7 22a5 5 0 0 1-2-3.994',\n        key: '1xp6a4'\n      }], ['circle', {\n        cx: '5',\n        cy: '16',\n        r: '2',\n        key: '18csp3'\n      }]]\n    };\n    icon = signal(LucideLasso.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLasso_BaseFactory;\n      return function LucideLasso_Factory(__ngFactoryType__) {\n        return (ɵLucideLasso_BaseFactory || (ɵLucideLasso_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLasso)))(__ngFactoryType__ || LucideLasso);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLasso,\n      selectors: [[\"svg\", \"lucideLasso\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c860,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLasso_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLasso_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLasso;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Layers2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMTMuNzRhMiAyIDAgMCAxLTIgMEwyLjUgOC44N2ExIDEgMCAwIDEgMC0xLjc0TDExIDIuMjZhMiAyIDAgMCAxIDIgMGw4LjUgNC44N2ExIDEgMCAwIDEgMCAxLjc0eiIgLz4KICA8cGF0aCBkPSJtMjAgMTQuMjg1IDEuNS44NDVhMSAxIDAgMCAxIDAgMS43NEwxMyAyMS43NGEyIDIgMCAwIDEtMiAwbC04LjUtNC44N2ExIDEgMCAwIDEgMC0xLjc0bDEuNS0uODQ1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/layers-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLayers2 = /*#__PURE__*/(() => {\n  class LucideLayers2 extends LucideIconBase {\n    static icon = {\n      name: 'layers-2',\n      size: 24,\n      node: [['path', {\n        d: 'M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74z',\n        key: '15q6uc'\n      }], ['path', {\n        d: 'm20 14.285 1.5.845a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74l1.5-.845',\n        key: 'byia6g'\n      }]]\n    };\n    icon = signal(LucideLayers2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLayers2_BaseFactory;\n      return function LucideLayers2_Factory(__ngFactoryType__) {\n        return (ɵLucideLayers2_BaseFactory || (ɵLucideLayers2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLayers2)))(__ngFactoryType__ || LucideLayers2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLayers2,\n      selectors: [[\"svg\", \"lucideLayers2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c861,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLayers2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLayers2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLayers2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Laugh\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTggMTNhNiA2IDAgMCAxLTYgNSA2IDYgMCAwIDEtNi01aDEyWiIgLz4KICA8bGluZSB4MT0iOSIgeDI9IjkuMDEiIHkxPSI5IiB5Mj0iOSIgLz4KICA8bGluZSB4MT0iMTUiIHgyPSIxNS4wMSIgeTE9IjkiIHkyPSI5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/laugh\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLaugh = /*#__PURE__*/(() => {\n  class LucideLaugh extends LucideIconBase {\n    static icon = {\n      name: 'laugh',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12Z',\n        key: 'b2q4dd'\n      }], ['line', {\n        x1: '9',\n        x2: '9.01',\n        y1: '9',\n        y2: '9',\n        key: 'yxxnd0'\n      }], ['line', {\n        x1: '15',\n        x2: '15.01',\n        y1: '9',\n        y2: '9',\n        key: '1p4y9e'\n      }]]\n    };\n    icon = signal(LucideLaugh.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLaugh_BaseFactory;\n      return function LucideLaugh_Factory(__ngFactoryType__) {\n        return (ɵLucideLaugh_BaseFactory || (ɵLucideLaugh_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLaugh)))(__ngFactoryType__ || LucideLaugh);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLaugh,\n      selectors: [[\"svg\", \"lucideLaugh\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c862,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLaugh_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLaugh_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLaugh;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LayersPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuODMgMi4xOGEyIDIgMCAwIDAtMS42NiAwTDIuNiA2LjA4YTEgMSAwIDAgMCAwIDEuODNsOC41OCAzLjkxYTIgMiAwIDAgMCAuODMuMTggMiAyIDAgMCAwIC44My0uMThsOC41OC0zLjlhMSAxIDAgMCAwIDAtMS44MzF6IiAvPgogIDxwYXRoIGQ9Ik0xNiAxN2g2IiAvPgogIDxwYXRoIGQ9Ik0xOSAxNHY2IiAvPgogIDxwYXRoIGQ9Ik0yIDEyYTEgMSAwIDAgMCAuNTguOTFsOC42IDMuOTFhMiAyIDAgMCAwIC44MjUuMTc4IiAvPgogIDxwYXRoIGQ9Ik0yIDE3YTEgMSAwIDAgMCAuNTguOTFsOC42IDMuOTFhMiAyIDAgMCAwIDEuNjUgMGwyLjExNi0uOTYyIiAvPgo8L3N2Zz4=) - https://lucide.dev/icons/layers-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLayersPlus = /*#__PURE__*/(() => {\n  class LucideLayersPlus extends LucideIconBase {\n    static icon = {\n      name: 'layers-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l8.58-3.9a1 1 0 0 0 0-1.831z',\n        key: 'zzgyd3'\n      }], ['path', {\n        d: 'M16 17h6',\n        key: '1ook5g'\n      }], ['path', {\n        d: 'M19 14v6',\n        key: '1ckrd5'\n      }], ['path', {\n        d: 'M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 .825.178',\n        key: '1ia9y3'\n      }], ['path', {\n        d: 'M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l2.116-.962',\n        key: 'jksky3'\n      }]]\n    };\n    icon = signal(LucideLayersPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLayersPlus_BaseFactory;\n      return function LucideLayersPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideLayersPlus_BaseFactory || (ɵLucideLayersPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLayersPlus)))(__ngFactoryType__ || LucideLayersPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLayersPlus,\n      selectors: [[\"svg\", \"lucideLayersPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c863,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLayersPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLayersPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLayersPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LayoutGrid\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSI3IiB4PSIzIiB5PSIzIiByeD0iMSIgLz4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSI3IiB4PSIxNCIgeT0iMyIgcng9IjEiIC8+CiAgPHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iNyIgeD0iMTQiIHk9IjE0IiByeD0iMSIgLz4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSI3IiB4PSIzIiB5PSIxNCIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/layout-grid\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLayoutGrid = /*#__PURE__*/(() => {\n  class LucideLayoutGrid extends LucideIconBase {\n    static icon = {\n      name: 'layout-grid',\n      size: 24,\n      node: [['rect', {\n        width: '7',\n        height: '7',\n        x: '3',\n        y: '3',\n        rx: '1',\n        key: '1g98yp'\n      }], ['rect', {\n        width: '7',\n        height: '7',\n        x: '14',\n        y: '3',\n        rx: '1',\n        key: '6d4xhi'\n      }], ['rect', {\n        width: '7',\n        height: '7',\n        x: '14',\n        y: '14',\n        rx: '1',\n        key: 'nxv5o0'\n      }], ['rect', {\n        width: '7',\n        height: '7',\n        x: '3',\n        y: '14',\n        rx: '1',\n        key: '1bb6yr'\n      }]]\n    };\n    icon = signal(LucideLayoutGrid.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLayoutGrid_BaseFactory;\n      return function LucideLayoutGrid_Factory(__ngFactoryType__) {\n        return (ɵLucideLayoutGrid_BaseFactory || (ɵLucideLayoutGrid_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLayoutGrid)))(__ngFactoryType__ || LucideLayoutGrid);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLayoutGrid,\n      selectors: [[\"svg\", \"lucideLayoutGrid\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c864,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLayoutGrid_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLayoutGrid_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLayoutGrid;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Layers\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuODMgMi4xOGEyIDIgMCAwIDAtMS42NiAwTDIuNiA2LjA4YTEgMSAwIDAgMCAwIDEuODNsOC41OCAzLjkxYTIgMiAwIDAgMCAxLjY2IDBsOC41OC0zLjlhMSAxIDAgMCAwIDAtMS44M3oiIC8+CiAgPHBhdGggZD0iTTIgMTJhMSAxIDAgMCAwIC41OC45MWw4LjYgMy45MWEyIDIgMCAwIDAgMS42NSAwbDguNTgtMy45QTEgMSAwIDAgMCAyMiAxMiIgLz4KICA8cGF0aCBkPSJNMiAxN2ExIDEgMCAwIDAgLjU4LjkxbDguNiAzLjkxYTIgMiAwIDAgMCAxLjY1IDBsOC41OC0zLjlBMSAxIDAgMCAwIDIyIDE3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/layers\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLayers = /*#__PURE__*/(() => {\n  class LucideLayers extends LucideIconBase {\n    static icon = {\n      name: 'layers',\n      size: 24,\n      node: [['path', {\n        d: 'M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z',\n        key: 'zw3jo'\n      }], ['path', {\n        d: 'M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12',\n        key: '1wduqc'\n      }], ['path', {\n        d: 'M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17',\n        key: 'kqbvx6'\n      }]],\n      aliases: ['layers-3']\n    };\n    icon = signal(LucideLayers.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLayers_BaseFactory;\n      return function LucideLayers_Factory(__ngFactoryType__) {\n        return (ɵLucideLayers_BaseFactory || (ɵLucideLayers_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLayers)))(__ngFactoryType__ || LucideLayers);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLayers,\n      selectors: [[\"svg\", \"lucideLayers\", \"\"], [\"svg\", \"lucideLayers3\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c865,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLayers_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLayers_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLayers;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideLayers\n */\nconst LucideLayers3 = LucideLayers;\n\n/**\n * @component @name LayoutDashboard\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSI5IiB4PSIzIiB5PSIzIiByeD0iMSIgLz4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSI1IiB4PSIxNCIgeT0iMyIgcng9IjEiIC8+CiAgPHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iOSIgeD0iMTQiIHk9IjEyIiByeD0iMSIgLz4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSI1IiB4PSIzIiB5PSIxNiIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/layout-dashboard\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLayoutDashboard = /*#__PURE__*/(() => {\n  class LucideLayoutDashboard extends LucideIconBase {\n    static icon = {\n      name: 'layout-dashboard',\n      size: 24,\n      node: [['rect', {\n        width: '7',\n        height: '9',\n        x: '3',\n        y: '3',\n        rx: '1',\n        key: '10lvy0'\n      }], ['rect', {\n        width: '7',\n        height: '5',\n        x: '14',\n        y: '3',\n        rx: '1',\n        key: '16une8'\n      }], ['rect', {\n        width: '7',\n        height: '9',\n        x: '14',\n        y: '12',\n        rx: '1',\n        key: '1hutg5'\n      }], ['rect', {\n        width: '7',\n        height: '5',\n        x: '3',\n        y: '16',\n        rx: '1',\n        key: 'ldoo1y'\n      }]]\n    };\n    icon = signal(LucideLayoutDashboard.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLayoutDashboard_BaseFactory;\n      return function LucideLayoutDashboard_Factory(__ngFactoryType__) {\n        return (ɵLucideLayoutDashboard_BaseFactory || (ɵLucideLayoutDashboard_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLayoutDashboard)))(__ngFactoryType__ || LucideLayoutDashboard);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLayoutDashboard,\n      selectors: [[\"svg\", \"lucideLayoutDashboard\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c866,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLayoutDashboard_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLayoutDashboard_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLayoutDashboard;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LayoutList\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSI3IiB4PSIzIiB5PSIzIiByeD0iMSIgLz4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSI3IiB4PSIzIiB5PSIxNCIgcng9IjEiIC8+CiAgPHBhdGggZD0iTTE0IDRoNyIgLz4KICA8cGF0aCBkPSJNMTQgOWg3IiAvPgogIDxwYXRoIGQ9Ik0xNCAxNWg3IiAvPgogIDxwYXRoIGQ9Ik0xNCAyMGg3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/layout-list\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLayoutList = /*#__PURE__*/(() => {\n  class LucideLayoutList extends LucideIconBase {\n    static icon = {\n      name: 'layout-list',\n      size: 24,\n      node: [['rect', {\n        width: '7',\n        height: '7',\n        x: '3',\n        y: '3',\n        rx: '1',\n        key: '1g98yp'\n      }], ['rect', {\n        width: '7',\n        height: '7',\n        x: '3',\n        y: '14',\n        rx: '1',\n        key: '1bb6yr'\n      }], ['path', {\n        d: 'M14 4h7',\n        key: '3xa0d5'\n      }], ['path', {\n        d: 'M14 9h7',\n        key: '1icrd9'\n      }], ['path', {\n        d: 'M14 15h7',\n        key: '1mj8o2'\n      }], ['path', {\n        d: 'M14 20h7',\n        key: '11slyb'\n      }]]\n    };\n    icon = signal(LucideLayoutList.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLayoutList_BaseFactory;\n      return function LucideLayoutList_Factory(__ngFactoryType__) {\n        return (ɵLucideLayoutList_BaseFactory || (ɵLucideLayoutList_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLayoutList)))(__ngFactoryType__ || LucideLayoutList);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLayoutList,\n      selectors: [[\"svg\", \"lucideLayoutList\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c867,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLayoutList_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLayoutList_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLayoutList;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LayoutPanelLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIxOCIgeD0iMyIgeT0iMyIgcng9IjEiIC8+CiAgPHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iNyIgeD0iMTQiIHk9IjMiIHJ4PSIxIiAvPgogIDxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjciIHg9IjE0IiB5PSIxNCIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/layout-panel-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLayoutPanelLeft = /*#__PURE__*/(() => {\n  class LucideLayoutPanelLeft extends LucideIconBase {\n    static icon = {\n      name: 'layout-panel-left',\n      size: 24,\n      node: [['rect', {\n        width: '7',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '1',\n        key: '2obqm'\n      }], ['rect', {\n        width: '7',\n        height: '7',\n        x: '14',\n        y: '3',\n        rx: '1',\n        key: '6d4xhi'\n      }], ['rect', {\n        width: '7',\n        height: '7',\n        x: '14',\n        y: '14',\n        rx: '1',\n        key: 'nxv5o0'\n      }]]\n    };\n    icon = signal(LucideLayoutPanelLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLayoutPanelLeft_BaseFactory;\n      return function LucideLayoutPanelLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideLayoutPanelLeft_BaseFactory || (ɵLucideLayoutPanelLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLayoutPanelLeft)))(__ngFactoryType__ || LucideLayoutPanelLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLayoutPanelLeft,\n      selectors: [[\"svg\", \"lucideLayoutPanelLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c868,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLayoutPanelLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLayoutPanelLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLayoutPanelLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LayoutTemplate\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iNyIgeD0iMyIgeT0iMyIgcng9IjEiIC8+CiAgPHJlY3Qgd2lkdGg9IjkiIGhlaWdodD0iNyIgeD0iMyIgeT0iMTQiIHJ4PSIxIiAvPgogIDxyZWN0IHdpZHRoPSI1IiBoZWlnaHQ9IjciIHg9IjE2IiB5PSIxNCIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/layout-template\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLayoutTemplate = /*#__PURE__*/(() => {\n  class LucideLayoutTemplate extends LucideIconBase {\n    static icon = {\n      name: 'layout-template',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '7',\n        x: '3',\n        y: '3',\n        rx: '1',\n        key: 'f1a2em'\n      }], ['rect', {\n        width: '9',\n        height: '7',\n        x: '3',\n        y: '14',\n        rx: '1',\n        key: 'jqznyg'\n      }], ['rect', {\n        width: '5',\n        height: '7',\n        x: '16',\n        y: '14',\n        rx: '1',\n        key: 'q5h2i8'\n      }]]\n    };\n    icon = signal(LucideLayoutTemplate.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLayoutTemplate_BaseFactory;\n      return function LucideLayoutTemplate_Factory(__ngFactoryType__) {\n        return (ɵLucideLayoutTemplate_BaseFactory || (ɵLucideLayoutTemplate_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLayoutTemplate)))(__ngFactoryType__ || LucideLayoutTemplate);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLayoutTemplate,\n      selectors: [[\"svg\", \"lucideLayoutTemplate\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c869,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLayoutTemplate_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLayoutTemplate_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLayoutTemplate;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LayoutPanelTop\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iNyIgeD0iMyIgeT0iMyIgcng9IjEiIC8+CiAgPHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iNyIgeD0iMyIgeT0iMTQiIHJ4PSIxIiAvPgogIDxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjciIHg9IjE0IiB5PSIxNCIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/layout-panel-top\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLayoutPanelTop = /*#__PURE__*/(() => {\n  class LucideLayoutPanelTop extends LucideIconBase {\n    static icon = {\n      name: 'layout-panel-top',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '7',\n        x: '3',\n        y: '3',\n        rx: '1',\n        key: 'f1a2em'\n      }], ['rect', {\n        width: '7',\n        height: '7',\n        x: '3',\n        y: '14',\n        rx: '1',\n        key: '1bb6yr'\n      }], ['rect', {\n        width: '7',\n        height: '7',\n        x: '14',\n        y: '14',\n        rx: '1',\n        key: 'nxv5o0'\n      }]]\n    };\n    icon = signal(LucideLayoutPanelTop.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLayoutPanelTop_BaseFactory;\n      return function LucideLayoutPanelTop_Factory(__ngFactoryType__) {\n        return (ɵLucideLayoutPanelTop_BaseFactory || (ɵLucideLayoutPanelTop_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLayoutPanelTop)))(__ngFactoryType__ || LucideLayoutPanelTop);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLayoutPanelTop,\n      selectors: [[\"svg\", \"lucideLayoutPanelTop\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c870,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLayoutPanelTop_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLayoutPanelTop_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLayoutPanelTop;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Leaf\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMjBBNyA3IDAgMCAxIDkuOCA2LjFDMTUuNSA1IDE3IDQuNDggMTkgMmMxIDIgMiA0LjE4IDIgOCAwIDUuNS00Ljc4IDEwLTEwIDEwWiIgLz4KICA8cGF0aCBkPSJNMiAyMWMwLTMgMS44NS01LjM2IDUuMDgtNkM5LjUgMTQuNTIgMTIgMTMgMTMgMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/leaf\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLeaf = /*#__PURE__*/(() => {\n  class LucideLeaf extends LucideIconBase {\n    static icon = {\n      name: 'leaf',\n      size: 24,\n      node: [['path', {\n        d: 'M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z',\n        key: 'nnexq3'\n      }], ['path', {\n        d: 'M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12',\n        key: 'mt58a7'\n      }]]\n    };\n    icon = signal(LucideLeaf.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLeaf_BaseFactory;\n      return function LucideLeaf_Factory(__ngFactoryType__) {\n        return (ɵLucideLeaf_BaseFactory || (ɵLucideLeaf_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLeaf)))(__ngFactoryType__ || LucideLeaf);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLeaf,\n      selectors: [[\"svg\", \"lucideLeaf\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c871,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLeaf_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLeaf_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLeaf;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LeafyGreen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMmMxLjI1LS45ODcgMi4yNy0xLjk3NSAzLjktMi4yYTUuNTYgNS41NiAwIDAgMSAzLjggMS41IDQgNCAwIDAgMCA2LjE4Ny0yLjM1MyAzLjUgMy41IDAgMCAwIDMuNjktNS4xMTZBMy41IDMuNSAwIDAgMCAyMC45NSA4IDMuNSAzLjUgMCAxIDAgMTYgMy4wNWEzLjUgMy41IDAgMCAwLTUuODMxIDEuMzczIDMuNSAzLjUgMCAwIDAtNS4xMTYgMy42OSA0IDQgMCAwIDAtMi4zNDggNi4xNTVDMy40OTkgMTUuNDIgNC40MDkgMTYuNzEyIDQuMiAxOC4xIDMuOTI2IDE5Ljc0MyAzLjAxNCAyMC43MzIgMiAyMiIgLz4KICA8cGF0aCBkPSJNMiAyMiAxNyA3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/leafy-green\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLeafyGreen = /*#__PURE__*/(() => {\n  class LucideLeafyGreen extends LucideIconBase {\n    static icon = {\n      name: 'leafy-green',\n      size: 24,\n      node: [['path', {\n        d: 'M2 22c1.25-.987 2.27-1.975 3.9-2.2a5.56 5.56 0 0 1 3.8 1.5 4 4 0 0 0 6.187-2.353 3.5 3.5 0 0 0 3.69-5.116A3.5 3.5 0 0 0 20.95 8 3.5 3.5 0 1 0 16 3.05a3.5 3.5 0 0 0-5.831 1.373 3.5 3.5 0 0 0-5.116 3.69 4 4 0 0 0-2.348 6.155C3.499 15.42 4.409 16.712 4.2 18.1 3.926 19.743 3.014 20.732 2 22',\n        key: '1134nt'\n      }], ['path', {\n        d: 'M2 22 17 7',\n        key: '1q7jp2'\n      }]]\n    };\n    icon = signal(LucideLeafyGreen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLeafyGreen_BaseFactory;\n      return function LucideLeafyGreen_Factory(__ngFactoryType__) {\n        return (ɵLucideLeafyGreen_BaseFactory || (ɵLucideLeafyGreen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLeafyGreen)))(__ngFactoryType__ || LucideLeafyGreen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLeafyGreen,\n      selectors: [[\"svg\", \"lucideLeafyGreen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c872,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLeafyGreen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLeafyGreen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLeafyGreen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Lectern\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTJoM2EyIDIgMCAwIDAgMS45MDItMS4zOGwxLjA1Ni0zLjMzM0ExIDEgMCAwIDAgMjEgNkgzYTEgMSAwIDAgMC0uOTU4IDEuMjg3bDEuMDU2IDMuMzM0QTIgMiAwIDAgMCA1IDEyaDMiIC8+CiAgPHBhdGggZD0iTTE4IDZWM2ExIDEgMCAwIDAtMS0xaC0zIiAvPgogIDxyZWN0IHdpZHRoPSI4IiBoZWlnaHQ9IjEyIiB4PSI4IiB5PSIxMCIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/lectern\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLectern = /*#__PURE__*/(() => {\n  class LucideLectern extends LucideIconBase {\n    static icon = {\n      name: 'lectern',\n      size: 24,\n      node: [['path', {\n        d: 'M16 12h3a2 2 0 0 0 1.902-1.38l1.056-3.333A1 1 0 0 0 21 6H3a1 1 0 0 0-.958 1.287l1.056 3.334A2 2 0 0 0 5 12h3',\n        key: '13jjxg'\n      }], ['path', {\n        d: 'M18 6V3a1 1 0 0 0-1-1h-3',\n        key: '1550fe'\n      }], ['rect', {\n        width: '8',\n        height: '12',\n        x: '8',\n        y: '10',\n        rx: '1',\n        key: 'qmu8b6'\n      }]]\n    };\n    icon = signal(LucideLectern.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLectern_BaseFactory;\n      return function LucideLectern_Factory(__ngFactoryType__) {\n        return (ɵLucideLectern_BaseFactory || (ɵLucideLectern_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLectern)))(__ngFactoryType__ || LucideLectern);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLectern,\n      selectors: [[\"svg\", \"lucideLectern\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c873,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLectern_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLectern_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLectern;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LensConcave\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAyYTEgMSAwIDAgMC0uOCAxLjYgMTQgMTQgMCAwIDEgMCAxNi44QTEgMSAwIDAgMCA3IDIyaDEwYTEgMSAwIDAgMCAuOC0xLjYgMTQgMTQgMCAwIDEgMC0xNi44QTEgMSAwIDAgMCAxNyAyeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/lens-concave\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLensConcave = /*#__PURE__*/(() => {\n  class LucideLensConcave extends LucideIconBase {\n    static icon = {\n      name: 'lens-concave',\n      size: 24,\n      node: [['path', {\n        d: 'M7 2a1 1 0 0 0-.8 1.6 14 14 0 0 1 0 16.8A1 1 0 0 0 7 22h10a1 1 0 0 0 .8-1.6 14 14 0 0 1 0-16.8A1 1 0 0 0 17 2z',\n        key: '109j23'\n      }]]\n    };\n    icon = signal(LucideLensConcave.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLensConcave_BaseFactory;\n      return function LucideLensConcave_Factory(__ngFactoryType__) {\n        return (ɵLucideLensConcave_BaseFactory || (ɵLucideLensConcave_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLensConcave)))(__ngFactoryType__ || LucideLensConcave);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLensConcave,\n      selectors: [[\"svg\", \"lucideLensConcave\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c874,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLensConcave_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLensConcave_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLensConcave;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LensConvex\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aAogICAgZD0iTTEzLjQzMyAyYTEgMSAwIDAgMSAuODI0LjQ0OCAxOCAxOCAwIDAgMSAwIDE5LjEwNCAxIDEgMCAwIDEtLjgyNC40NDhoLTIuODY2YTEgMSAwIDAgMS0uODI0LS40NDggMTggMTggMCAwIDEgMC0xOS4xMDRBMSAxIDAgMCAxIDEwLjU2NyAyeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/lens-convex\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLensConvex = /*#__PURE__*/(() => {\n  class LucideLensConvex extends LucideIconBase {\n    static icon = {\n      name: 'lens-convex',\n      size: 24,\n      node: [['path', {\n        d: 'M13.433 2a1 1 0 0 1 .824.448 18 18 0 0 1 0 19.104 1 1 0 0 1-.824.448h-2.866a1 1 0 0 1-.824-.448 18 18 0 0 1 0-19.104A1 1 0 0 1 10.567 2z',\n        key: 'cq67go'\n      }]]\n    };\n    icon = signal(LucideLensConvex.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLensConvex_BaseFactory;\n      return function LucideLensConvex_Factory(__ngFactoryType__) {\n        return (ɵLucideLensConvex_BaseFactory || (ɵLucideLensConvex_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLensConvex)))(__ngFactoryType__ || LucideLensConvex);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLensConvex,\n      selectors: [[\"svg\", \"lucideLensConvex\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c875,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLensConvex_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLensConvex_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLensConvex;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LifeBuoy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtNC45MyA0LjkzIDQuMjQgNC4yNCIgLz4KICA8cGF0aCBkPSJtMTQuODMgOS4xNyA0LjI0LTQuMjQiIC8+CiAgPHBhdGggZD0ibTE0LjgzIDE0LjgzIDQuMjQgNC4yNCIgLz4KICA8cGF0aCBkPSJtOS4xNyAxNC44My00LjI0IDQuMjQiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/life-buoy\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLifeBuoy = /*#__PURE__*/(() => {\n  class LucideLifeBuoy extends LucideIconBase {\n    static icon = {\n      name: 'life-buoy',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'm4.93 4.93 4.24 4.24',\n        key: '1ymg45'\n      }], ['path', {\n        d: 'm14.83 9.17 4.24-4.24',\n        key: '1cb5xl'\n      }], ['path', {\n        d: 'm14.83 14.83 4.24 4.24',\n        key: 'q42g0n'\n      }], ['path', {\n        d: 'm9.17 14.83-4.24 4.24',\n        key: 'bqpfvv'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '4',\n        key: '4exip2'\n      }]]\n    };\n    icon = signal(LucideLifeBuoy.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLifeBuoy_BaseFactory;\n      return function LucideLifeBuoy_Factory(__ngFactoryType__) {\n        return (ɵLucideLifeBuoy_BaseFactory || (ɵLucideLifeBuoy_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLifeBuoy)))(__ngFactoryType__ || LucideLifeBuoy);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLifeBuoy,\n      selectors: [[\"svg\", \"lucideLifeBuoy\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c876,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLifeBuoy_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLifeBuoy_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLifeBuoy;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Library\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgNiA0IDE0IiAvPgogIDxwYXRoIGQ9Ik0xMiA2djE0IiAvPgogIDxwYXRoIGQ9Ik04IDh2MTIiIC8+CiAgPHBhdGggZD0iTTQgNHYxNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/library\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLibrary = /*#__PURE__*/(() => {\n  class LucideLibrary extends LucideIconBase {\n    static icon = {\n      name: 'library',\n      size: 24,\n      node: [['path', {\n        d: 'm16 6 4 14',\n        key: 'ji33uf'\n      }], ['path', {\n        d: 'M12 6v14',\n        key: '1n7gus'\n      }], ['path', {\n        d: 'M8 8v12',\n        key: '1gg7y9'\n      }], ['path', {\n        d: 'M4 4v16',\n        key: '6qkkli'\n      }]]\n    };\n    icon = signal(LucideLibrary.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLibrary_BaseFactory;\n      return function LucideLibrary_Factory(__ngFactoryType__) {\n        return (ɵLucideLibrary_BaseFactory || (ɵLucideLibrary_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLibrary)))(__ngFactoryType__ || LucideLibrary);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLibrary,\n      selectors: [[\"svg\", \"lucideLibrary\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c877,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLibrary_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLibrary_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLibrary;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LibraryBig\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSIxOCIgeD0iMyIgeT0iMyIgcng9IjEiIC8+CiAgPHBhdGggZD0iTTcgM3YxOCIgLz4KICA8cGF0aCBkPSJNMjAuNCAxOC45Yy4yLjUtLjEgMS4xLS42IDEuM2wtMS45LjdjLS41LjItMS4xLS4xLTEuMy0uNkwxMS4xIDUuMWMtLjItLjUuMS0xLjEuNi0xLjNsMS45LS43Yy41LS4yIDEuMS4xIDEuMy42WiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/library-big\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLibraryBig = /*#__PURE__*/(() => {\n  class LucideLibraryBig extends LucideIconBase {\n    static icon = {\n      name: 'library-big',\n      size: 24,\n      node: [['rect', {\n        width: '8',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '1',\n        key: 'oynpb5'\n      }], ['path', {\n        d: 'M7 3v18',\n        key: 'bbkbws'\n      }], ['path', {\n        d: 'M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z',\n        key: '1qboyk'\n      }]]\n    };\n    icon = signal(LucideLibraryBig.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLibraryBig_BaseFactory;\n      return function LucideLibraryBig_Factory(__ngFactoryType__) {\n        return (ɵLucideLibraryBig_BaseFactory || (ɵLucideLibraryBig_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLibraryBig)))(__ngFactoryType__ || LucideLibraryBig);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLibraryBig,\n      selectors: [[\"svg\", \"lucideLibraryBig\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c878,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLibraryBig_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLibraryBig_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLibraryBig;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ligature\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMTJoMnY4IiAvPgogIDxwYXRoIGQ9Ik0xNCAyMGg0IiAvPgogIDxwYXRoIGQ9Ik02IDEyaDQiIC8+CiAgPHBhdGggZD0iTTYgMjBoNCIgLz4KICA8cGF0aCBkPSJNOCAyMFY4YTQgNCAwIDAgMSA3LjQ2NC0yIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ligature\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLigature = /*#__PURE__*/(() => {\n  class LucideLigature extends LucideIconBase {\n    static icon = {\n      name: 'ligature',\n      size: 24,\n      node: [['path', {\n        d: 'M14 12h2v8',\n        key: 'c1fccl'\n      }], ['path', {\n        d: 'M14 20h4',\n        key: 'lzx1xo'\n      }], ['path', {\n        d: 'M6 12h4',\n        key: 'a4o3ry'\n      }], ['path', {\n        d: 'M6 20h4',\n        key: '1i6q5t'\n      }], ['path', {\n        d: 'M8 20V8a4 4 0 0 1 7.464-2',\n        key: 'wk9t6r'\n      }]]\n    };\n    icon = signal(LucideLigature.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLigature_BaseFactory;\n      return function LucideLigature_Factory(__ngFactoryType__) {\n        return (ɵLucideLigature_BaseFactory || (ɵLucideLigature_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLigature)))(__ngFactoryType__ || LucideLigature);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLigature,\n      selectors: [[\"svg\", \"lucideLigature\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c879,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLigature_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLigature_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLigature;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LineDotRightHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNIDMgMTIgTCAxNSAxMiIgLz4KICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjEyIiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/line-dot-right-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLineDotRightHorizontal = /*#__PURE__*/(() => {\n  class LucideLineDotRightHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'line-dot-right-horizontal',\n      size: 24,\n      node: [['path', {\n        d: 'M 3 12 L 15 12',\n        key: 'ymhu98'\n      }], ['circle', {\n        cx: '18',\n        cy: '12',\n        r: '3',\n        key: '1kchzo'\n      }]]\n    };\n    icon = signal(LucideLineDotRightHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLineDotRightHorizontal_BaseFactory;\n      return function LucideLineDotRightHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideLineDotRightHorizontal_BaseFactory || (ɵLucideLineDotRightHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLineDotRightHorizontal)))(__ngFactoryType__ || LucideLineDotRightHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLineDotRightHorizontal,\n      selectors: [[\"svg\", \"lucideLineDotRightHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c880,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLineDotRightHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLineDotRightHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLineDotRightHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Lightbulb\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMTRjLjItMSAuNy0xLjcgMS41LTIuNSAxLS45IDEuNS0yLjIgMS41LTMuNUE2IDYgMCAwIDAgNiA4YzAgMSAuMiAyLjIgMS41IDMuNS43LjcgMS4zIDEuNSAxLjUgMi41IiAvPgogIDxwYXRoIGQ9Ik05IDE4aDYiIC8+CiAgPHBhdGggZD0iTTEwIDIyaDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/lightbulb\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLightbulb = /*#__PURE__*/(() => {\n  class LucideLightbulb extends LucideIconBase {\n    static icon = {\n      name: 'lightbulb',\n      size: 24,\n      node: [['path', {\n        d: 'M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5',\n        key: '1gvzjb'\n      }], ['path', {\n        d: 'M9 18h6',\n        key: 'x1upvd'\n      }], ['path', {\n        d: 'M10 22h4',\n        key: 'ceow96'\n      }]]\n    };\n    icon = signal(LucideLightbulb.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLightbulb_BaseFactory;\n      return function LucideLightbulb_Factory(__ngFactoryType__) {\n        return (ɵLucideLightbulb_BaseFactory || (ɵLucideLightbulb_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLightbulb)))(__ngFactoryType__ || LucideLightbulb);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLightbulb,\n      selectors: [[\"svg\", \"lucideLightbulb\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c881,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLightbulb_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLightbulb_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLightbulb;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LightbulbOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYuOCAxMS4yYy44LS45IDEuMi0yIDEuMi0zLjJhNiA2IDAgMCAwLTkuMy01IiAvPgogIDxwYXRoIGQ9Im0yIDIgMjAgMjAiIC8+CiAgPHBhdGggZD0iTTYuMyA2LjNhNC42NyA0LjY3IDAgMCAwIDEuMiA1LjJjLjcuNyAxLjMgMS41IDEuNSAyLjUiIC8+CiAgPHBhdGggZD0iTTkgMThoNiIgLz4KICA8cGF0aCBkPSJNMTAgMjJoNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/lightbulb-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLightbulbOff = /*#__PURE__*/(() => {\n  class LucideLightbulbOff extends LucideIconBase {\n    static icon = {\n      name: 'lightbulb-off',\n      size: 24,\n      node: [['path', {\n        d: 'M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5',\n        key: '1fkcox'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5',\n        key: '10m8kw'\n      }], ['path', {\n        d: 'M9 18h6',\n        key: 'x1upvd'\n      }], ['path', {\n        d: 'M10 22h4',\n        key: 'ceow96'\n      }]]\n    };\n    icon = signal(LucideLightbulbOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLightbulbOff_BaseFactory;\n      return function LucideLightbulbOff_Factory(__ngFactoryType__) {\n        return (ɵLucideLightbulbOff_BaseFactory || (ɵLucideLightbulbOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLightbulbOff)))(__ngFactoryType__ || LucideLightbulbOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLightbulbOff,\n      selectors: [[\"svg\", \"lucideLightbulbOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c882,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLightbulbOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLightbulbOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLightbulbOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LineSquiggle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAzLjVjNS0yIDcgMi41IDMgNEMxLjUgMTAgMiAxNSA1IDE2YzUgMiA5LTEwIDE0LTdzLjUgMTMuNS00IDEyYy01LTIuNS41LTExIDYtMiIgLz4KPC9zdmc+) - https://lucide.dev/icons/line-squiggle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLineSquiggle = /*#__PURE__*/(() => {\n  class LucideLineSquiggle extends LucideIconBase {\n    static icon = {\n      name: 'line-squiggle',\n      size: 24,\n      node: [['path', {\n        d: 'M7 3.5c5-2 7 2.5 3 4C1.5 10 2 15 5 16c5 2 9-10 14-7s.5 13.5-4 12c-5-2.5.5-11 6-2',\n        key: '1lrphd'\n      }]]\n    };\n    icon = signal(LucideLineSquiggle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLineSquiggle_BaseFactory;\n      return function LucideLineSquiggle_Factory(__ngFactoryType__) {\n        return (ɵLucideLineSquiggle_BaseFactory || (ɵLucideLineSquiggle_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLineSquiggle)))(__ngFactoryType__ || LucideLineSquiggle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLineSquiggle,\n      selectors: [[\"svg\", \"lucideLineSquiggle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c883,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLineSquiggle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLineSquiggle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLineSquiggle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LineStyle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgNWgyIiAvPgogIDxwYXRoIGQ9Ik0xNSAxMmg2IiAvPgogIDxwYXRoIGQ9Ik0xOSA1aDIiIC8+CiAgPHBhdGggZD0iTTMgMTJoNiIgLz4KICA8cGF0aCBkPSJNMyAxOWgxOCIgLz4KICA8cGF0aCBkPSJNMyA1aDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/line-style\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLineStyle = /*#__PURE__*/(() => {\n  class LucideLineStyle extends LucideIconBase {\n    static icon = {\n      name: 'line-style',\n      size: 24,\n      node: [['path', {\n        d: 'M11 5h2',\n        key: '1s6z07'\n      }], ['path', {\n        d: 'M15 12h6',\n        key: 'upa0zy'\n      }], ['path', {\n        d: 'M19 5h2',\n        key: 'fjylsg'\n      }], ['path', {\n        d: 'M3 12h6',\n        key: 'ra68u1'\n      }], ['path', {\n        d: 'M3 19h18',\n        key: 'awlh7x'\n      }], ['path', {\n        d: 'M3 5h2',\n        key: '1qgu90'\n      }]]\n    };\n    icon = signal(LucideLineStyle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLineStyle_BaseFactory;\n      return function LucideLineStyle_Factory(__ngFactoryType__) {\n        return (ɵLucideLineStyle_BaseFactory || (ɵLucideLineStyle_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLineStyle)))(__ngFactoryType__ || LucideLineStyle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLineStyle,\n      selectors: [[\"svg\", \"lucideLineStyle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c884,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLineStyle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLineStyle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLineStyle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Link2Off\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSAxN0g3QTUgNSAwIDAgMSA3IDciIC8+CiAgPHBhdGggZD0iTTE1IDdoMmE1IDUgMCAwIDEgNCA4IiAvPgogIDxsaW5lIHgxPSI4IiB4Mj0iMTIiIHkxPSIxMiIgeTI9IjEyIiAvPgogIDxsaW5lIHgxPSIyIiB4Mj0iMjIiIHkxPSIyIiB5Mj0iMjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/link-2-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLink2Off = /*#__PURE__*/(() => {\n  class LucideLink2Off extends LucideIconBase {\n    static icon = {\n      name: 'link-2-off',\n      size: 24,\n      node: [['path', {\n        d: 'M9 17H7A5 5 0 0 1 7 7',\n        key: '10o201'\n      }], ['path', {\n        d: 'M15 7h2a5 5 0 0 1 4 8',\n        key: '1d3206'\n      }], ['line', {\n        x1: '8',\n        x2: '12',\n        y1: '12',\n        y2: '12',\n        key: 'rvw6j4'\n      }], ['line', {\n        x1: '2',\n        x2: '22',\n        y1: '2',\n        y2: '22',\n        key: 'a6p6uj'\n      }]]\n    };\n    icon = signal(LucideLink2Off.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLink2Off_BaseFactory;\n      return function LucideLink2Off_Factory(__ngFactoryType__) {\n        return (ɵLucideLink2Off_BaseFactory || (ɵLucideLink2Off_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLink2Off)))(__ngFactoryType__ || LucideLink2Off);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLink2Off,\n      selectors: [[\"svg\", \"lucideLink2Off\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c885,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLink2Off_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLink2Off_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLink2Off;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Link2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSAxN0g3QTUgNSAwIDAgMSA3IDdoMiIgLz4KICA8cGF0aCBkPSJNMTUgN2gyYTUgNSAwIDEgMSAwIDEwaC0yIiAvPgogIDxsaW5lIHgxPSI4IiB4Mj0iMTYiIHkxPSIxMiIgeTI9IjEyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/link-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLink2 = /*#__PURE__*/(() => {\n  class LucideLink2 extends LucideIconBase {\n    static icon = {\n      name: 'link-2',\n      size: 24,\n      node: [['path', {\n        d: 'M9 17H7A5 5 0 0 1 7 7h2',\n        key: '8i5ue5'\n      }], ['path', {\n        d: 'M15 7h2a5 5 0 1 1 0 10h-2',\n        key: '1b9ql8'\n      }], ['line', {\n        x1: '8',\n        x2: '16',\n        y1: '12',\n        y2: '12',\n        key: '1jonct'\n      }]]\n    };\n    icon = signal(LucideLink2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLink2_BaseFactory;\n      return function LucideLink2_Factory(__ngFactoryType__) {\n        return (ɵLucideLink2_BaseFactory || (ɵLucideLink2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLink2)))(__ngFactoryType__ || LucideLink2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLink2,\n      selectors: [[\"svg\", \"lucideLink2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c886,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLink2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLink2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLink2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Link\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTNhNSA1IDAgMCAwIDcuNTQuNTRsMy0zYTUgNSAwIDAgMC03LjA3LTcuMDdsLTEuNzIgMS43MSIgLz4KICA8cGF0aCBkPSJNMTQgMTFhNSA1IDAgMCAwLTcuNTQtLjU0bC0zIDNhNSA1IDAgMCAwIDcuMDcgNy4wN2wxLjcxLTEuNzEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/link\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLink = /*#__PURE__*/(() => {\n  class LucideLink extends LucideIconBase {\n    static icon = {\n      name: 'link',\n      size: 24,\n      node: [['path', {\n        d: 'M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71',\n        key: '1cjeqo'\n      }], ['path', {\n        d: 'M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71',\n        key: '19qd67'\n      }]]\n    };\n    icon = signal(LucideLink.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLink_BaseFactory;\n      return function LucideLink_Factory(__ngFactoryType__) {\n        return (ɵLucideLink_BaseFactory || (ɵLucideLink_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLink)))(__ngFactoryType__ || LucideLink);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLink,\n      selectors: [[\"svg\", \"lucideLink\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c887,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLink_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLink_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLink;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListChecks\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgNWg4IiAvPgogIDxwYXRoIGQ9Ik0xMyAxMmg4IiAvPgogIDxwYXRoIGQ9Ik0xMyAxOWg4IiAvPgogIDxwYXRoIGQ9Im0zIDE3IDIgMiA0LTQiIC8+CiAgPHBhdGggZD0ibTMgNyAyIDIgNC00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/list-checks\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListChecks = /*#__PURE__*/(() => {\n  class LucideListChecks extends LucideIconBase {\n    static icon = {\n      name: 'list-checks',\n      size: 24,\n      node: [['path', {\n        d: 'M13 5h8',\n        key: 'a7qcls'\n      }], ['path', {\n        d: 'M13 12h8',\n        key: 'h98zly'\n      }], ['path', {\n        d: 'M13 19h8',\n        key: 'c3s6r1'\n      }], ['path', {\n        d: 'm3 17 2 2 4-4',\n        key: '1jhpwq'\n      }], ['path', {\n        d: 'm3 7 2 2 4-4',\n        key: '1obspn'\n      }]]\n    };\n    icon = signal(LucideListChecks.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListChecks_BaseFactory;\n      return function LucideListChecks_Factory(__ngFactoryType__) {\n        return (ɵLucideListChecks_BaseFactory || (ɵLucideListChecks_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListChecks)))(__ngFactoryType__ || LucideListChecks);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListChecks,\n      selectors: [[\"svg\", \"lucideListChecks\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c888,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListChecks_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListChecks_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListChecks;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListChevronsDownUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA1aDgiIC8+CiAgPHBhdGggZD0iTTMgMTJoOCIgLz4KICA8cGF0aCBkPSJNMyAxOWg4IiAvPgogIDxwYXRoIGQ9Im0xNSA1IDMgMyAzLTMiIC8+CiAgPHBhdGggZD0ibTE1IDE5IDMtMyAzIDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/list-chevrons-down-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListChevronsDownUp = /*#__PURE__*/(() => {\n  class LucideListChevronsDownUp extends LucideIconBase {\n    static icon = {\n      name: 'list-chevrons-down-up',\n      size: 24,\n      node: [['path', {\n        d: 'M3 5h8',\n        key: '18g2rq'\n      }], ['path', {\n        d: 'M3 12h8',\n        key: '1xfjp6'\n      }], ['path', {\n        d: 'M3 19h8',\n        key: 'fpbke4'\n      }], ['path', {\n        d: 'm15 5 3 3 3-3',\n        key: '1t4thf'\n      }], ['path', {\n        d: 'm15 19 3-3 3 3',\n        key: 'y4ckd2'\n      }]]\n    };\n    icon = signal(LucideListChevronsDownUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListChevronsDownUp_BaseFactory;\n      return function LucideListChevronsDownUp_Factory(__ngFactoryType__) {\n        return (ɵLucideListChevronsDownUp_BaseFactory || (ɵLucideListChevronsDownUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListChevronsDownUp)))(__ngFactoryType__ || LucideListChevronsDownUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListChevronsDownUp,\n      selectors: [[\"svg\", \"lucideListChevronsDownUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c889,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListChevronsDownUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListChevronsDownUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListChevronsDownUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgNUgzIiAvPgogIDxwYXRoIGQ9Ik0xNiAxMkgzIiAvPgogIDxwYXRoIGQ9Ik0xMSAxOUgzIiAvPgogIDxwYXRoIGQ9Im0xNSAxOCAyIDIgNC00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/list-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListCheck = /*#__PURE__*/(() => {\n  class LucideListCheck extends LucideIconBase {\n    static icon = {\n      name: 'list-check',\n      size: 24,\n      node: [['path', {\n        d: 'M16 5H3',\n        key: 'm91uny'\n      }], ['path', {\n        d: 'M16 12H3',\n        key: '1a2rj7'\n      }], ['path', {\n        d: 'M11 19H3',\n        key: 'zflm78'\n      }], ['path', {\n        d: 'm15 18 2 2 4-4',\n        key: '1szwhi'\n      }]]\n    };\n    icon = signal(LucideListCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListCheck_BaseFactory;\n      return function LucideListCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideListCheck_BaseFactory || (ɵLucideListCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListCheck)))(__ngFactoryType__ || LucideListCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListCheck,\n      selectors: [[\"svg\", \"lucideListCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c890,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListFilterPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNUgyIiAvPgogIDxwYXRoIGQ9Ik02IDEyaDEyIiAvPgogIDxwYXRoIGQ9Ik05IDE5aDYiIC8+CiAgPHBhdGggZD0iTTE2IDVoNiIgLz4KICA8cGF0aCBkPSJNMTkgOFYyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/list-filter-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListFilterPlus = /*#__PURE__*/(() => {\n  class LucideListFilterPlus extends LucideIconBase {\n    static icon = {\n      name: 'list-filter-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M12 5H2',\n        key: '1o22fu'\n      }], ['path', {\n        d: 'M6 12h12',\n        key: '8npq4p'\n      }], ['path', {\n        d: 'M9 19h6',\n        key: '456am0'\n      }], ['path', {\n        d: 'M16 5h6',\n        key: '1vod17'\n      }], ['path', {\n        d: 'M19 8V2',\n        key: '1wcffq'\n      }]]\n    };\n    icon = signal(LucideListFilterPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListFilterPlus_BaseFactory;\n      return function LucideListFilterPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideListFilterPlus_BaseFactory || (ɵLucideListFilterPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListFilterPlus)))(__ngFactoryType__ || LucideListFilterPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListFilterPlus,\n      selectors: [[\"svg\", \"lucideListFilterPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c891,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListFilterPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListFilterPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListFilterPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListEnd\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgNUgzIiAvPgogIDxwYXRoIGQ9Ik0xNiAxMkgzIiAvPgogIDxwYXRoIGQ9Ik05IDE5SDMiIC8+CiAgPHBhdGggZD0ibTE2IDE2LTMgMyAzIDMiIC8+CiAgPHBhdGggZD0iTTIxIDV2MTJhMiAyIDAgMCAxLTIgMmgtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/list-end\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListEnd = /*#__PURE__*/(() => {\n  class LucideListEnd extends LucideIconBase {\n    static icon = {\n      name: 'list-end',\n      size: 24,\n      node: [['path', {\n        d: 'M16 5H3',\n        key: 'm91uny'\n      }], ['path', {\n        d: 'M16 12H3',\n        key: '1a2rj7'\n      }], ['path', {\n        d: 'M9 19H3',\n        key: 's61nz1'\n      }], ['path', {\n        d: 'm16 16-3 3 3 3',\n        key: '117b85'\n      }], ['path', {\n        d: 'M21 5v12a2 2 0 0 1-2 2h-6',\n        key: 'hey24a'\n      }]]\n    };\n    icon = signal(LucideListEnd.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListEnd_BaseFactory;\n      return function LucideListEnd_Factory(__ngFactoryType__) {\n        return (ɵLucideListEnd_BaseFactory || (ɵLucideListEnd_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListEnd)))(__ngFactoryType__ || LucideListEnd);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListEnd,\n      selectors: [[\"svg\", \"lucideListEnd\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c892,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListEnd_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListEnd_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListEnd;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListCollapse\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgNWgxMSIgLz4KICA8cGF0aCBkPSJNMTAgMTJoMTEiIC8+CiAgPHBhdGggZD0iTTEwIDE5aDExIiAvPgogIDxwYXRoIGQ9Im0zIDEwIDMtMy0zLTMiIC8+CiAgPHBhdGggZD0ibTMgMjAgMy0zLTMtMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/list-collapse\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListCollapse = /*#__PURE__*/(() => {\n  class LucideListCollapse extends LucideIconBase {\n    static icon = {\n      name: 'list-collapse',\n      size: 24,\n      node: [['path', {\n        d: 'M10 5h11',\n        key: '1hkqpe'\n      }], ['path', {\n        d: 'M10 12h11',\n        key: '6m4ad9'\n      }], ['path', {\n        d: 'M10 19h11',\n        key: '14g2nv'\n      }], ['path', {\n        d: 'm3 10 3-3-3-3',\n        key: 'i7pm08'\n      }], ['path', {\n        d: 'm3 20 3-3-3-3',\n        key: '20gx1n'\n      }]]\n    };\n    icon = signal(LucideListCollapse.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListCollapse_BaseFactory;\n      return function LucideListCollapse_Factory(__ngFactoryType__) {\n        return (ɵLucideListCollapse_BaseFactory || (ɵLucideListCollapse_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListCollapse)))(__ngFactoryType__ || LucideListCollapse);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListCollapse,\n      selectors: [[\"svg\", \"lucideListCollapse\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c893,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListCollapse_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListCollapse_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListCollapse;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListChevronsUpDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA1aDgiIC8+CiAgPHBhdGggZD0iTTMgMTJoOCIgLz4KICA8cGF0aCBkPSJNMyAxOWg4IiAvPgogIDxwYXRoIGQ9Im0xNSA4IDMtMyAzIDMiIC8+CiAgPHBhdGggZD0ibTE1IDE2IDMgMyAzLTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/list-chevrons-up-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListChevronsUpDown = /*#__PURE__*/(() => {\n  class LucideListChevronsUpDown extends LucideIconBase {\n    static icon = {\n      name: 'list-chevrons-up-down',\n      size: 24,\n      node: [['path', {\n        d: 'M3 5h8',\n        key: '18g2rq'\n      }], ['path', {\n        d: 'M3 12h8',\n        key: '1xfjp6'\n      }], ['path', {\n        d: 'M3 19h8',\n        key: 'fpbke4'\n      }], ['path', {\n        d: 'm15 8 3-3 3 3',\n        key: 'bc4io6'\n      }], ['path', {\n        d: 'm15 16 3 3 3-3',\n        key: '9wmg1l'\n      }]]\n    };\n    icon = signal(LucideListChevronsUpDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListChevronsUpDown_BaseFactory;\n      return function LucideListChevronsUpDown_Factory(__ngFactoryType__) {\n        return (ɵLucideListChevronsUpDown_BaseFactory || (ɵLucideListChevronsUpDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListChevronsUpDown)))(__ngFactoryType__ || LucideListChevronsUpDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListChevronsUpDown,\n      selectors: [[\"svg\", \"lucideListChevronsUpDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c894,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListChevronsUpDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListChevronsUpDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListChevronsUpDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListIndentIncrease\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNUgxMSIgLz4KICA8cGF0aCBkPSJNMjEgMTJIMTEiIC8+CiAgPHBhdGggZD0iTTIxIDE5SDExIiAvPgogIDxwYXRoIGQ9Im0zIDggNCA0LTQgNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/list-indent-increase\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListIndentIncrease = /*#__PURE__*/(() => {\n  class LucideListIndentIncrease extends LucideIconBase {\n    static icon = {\n      name: 'list-indent-increase',\n      size: 24,\n      node: [['path', {\n        d: 'M21 5H11',\n        key: 'us1j55'\n      }], ['path', {\n        d: 'M21 12H11',\n        key: 'wd7e0v'\n      }], ['path', {\n        d: 'M21 19H11',\n        key: 'saa85w'\n      }], ['path', {\n        d: 'm3 8 4 4-4 4',\n        key: '1a3j6y'\n      }]],\n      aliases: ['indent', 'indent-increase']\n    };\n    icon = signal(LucideListIndentIncrease.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListIndentIncrease_BaseFactory;\n      return function LucideListIndentIncrease_Factory(__ngFactoryType__) {\n        return (ɵLucideListIndentIncrease_BaseFactory || (ɵLucideListIndentIncrease_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListIndentIncrease)))(__ngFactoryType__ || LucideListIndentIncrease);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListIndentIncrease,\n      selectors: [[\"svg\", \"lucideListIndentIncrease\", \"\"], [\"svg\", \"lucideIndent\", \"\"], [\"svg\", \"lucideIndentIncrease\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c895,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListIndentIncrease_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListIndentIncrease_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListIndentIncrease;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideListIndentIncrease\n */\nconst LucideIndent = LucideListIndentIncrease;\n/**\n * @deprecated\n * @see LucideListIndentIncrease\n */\nconst LucideIndentIncrease = LucideListIndentIncrease;\n\n/**\n * @component @name ListIndentDecrease\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNUgxMSIgLz4KICA8cGF0aCBkPSJNMjEgMTJIMTEiIC8+CiAgPHBhdGggZD0iTTIxIDE5SDExIiAvPgogIDxwYXRoIGQ9Im03IDgtNCA0IDQgNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/list-indent-decrease\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListIndentDecrease = /*#__PURE__*/(() => {\n  class LucideListIndentDecrease extends LucideIconBase {\n    static icon = {\n      name: 'list-indent-decrease',\n      size: 24,\n      node: [['path', {\n        d: 'M21 5H11',\n        key: 'us1j55'\n      }], ['path', {\n        d: 'M21 12H11',\n        key: 'wd7e0v'\n      }], ['path', {\n        d: 'M21 19H11',\n        key: 'saa85w'\n      }], ['path', {\n        d: 'm7 8-4 4 4 4',\n        key: 'o5hrat'\n      }]],\n      aliases: ['outdent', 'indent-decrease']\n    };\n    icon = signal(LucideListIndentDecrease.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListIndentDecrease_BaseFactory;\n      return function LucideListIndentDecrease_Factory(__ngFactoryType__) {\n        return (ɵLucideListIndentDecrease_BaseFactory || (ɵLucideListIndentDecrease_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListIndentDecrease)))(__ngFactoryType__ || LucideListIndentDecrease);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListIndentDecrease,\n      selectors: [[\"svg\", \"lucideListIndentDecrease\", \"\"], [\"svg\", \"lucideOutdent\", \"\"], [\"svg\", \"lucideIndentDecrease\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c896,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListIndentDecrease_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListIndentDecrease_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListIndentDecrease;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideListIndentDecrease\n */\nconst LucideOutdent = LucideListIndentDecrease;\n/**\n * @deprecated\n * @see LucideListIndentDecrease\n */\nconst LucideIndentDecrease = LucideListIndentDecrease;\n\n/**\n * @component @name ListMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgNUgzIiAvPgogIDxwYXRoIGQ9Ik0xMSAxMkgzIiAvPgogIDxwYXRoIGQ9Ik0xNiAxOUgzIiAvPgogIDxwYXRoIGQ9Ik0yMSAxMmgtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/list-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListMinus = /*#__PURE__*/(() => {\n  class LucideListMinus extends LucideIconBase {\n    static icon = {\n      name: 'list-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M16 5H3',\n        key: 'm91uny'\n      }], ['path', {\n        d: 'M11 12H3',\n        key: '51ecnj'\n      }], ['path', {\n        d: 'M16 19H3',\n        key: 'zzsher'\n      }], ['path', {\n        d: 'M21 12h-6',\n        key: 'bt1uis'\n      }]]\n    };\n    icon = signal(LucideListMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListMinus_BaseFactory;\n      return function LucideListMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideListMinus_BaseFactory || (ɵLucideListMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListMinus)))(__ngFactoryType__ || LucideListMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListMinus,\n      selectors: [[\"svg\", \"lucideListMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c897,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListFilter\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA1aDIwIiAvPgogIDxwYXRoIGQ9Ik02IDEyaDEyIiAvPgogIDxwYXRoIGQ9Ik05IDE5aDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/list-filter\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListFilter = /*#__PURE__*/(() => {\n  class LucideListFilter extends LucideIconBase {\n    static icon = {\n      name: 'list-filter',\n      size: 24,\n      node: [['path', {\n        d: 'M2 5h20',\n        key: '1fs1ex'\n      }], ['path', {\n        d: 'M6 12h12',\n        key: '8npq4p'\n      }], ['path', {\n        d: 'M9 19h6',\n        key: '456am0'\n      }]]\n    };\n    icon = signal(LucideListFilter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListFilter_BaseFactory;\n      return function LucideListFilter_Factory(__ngFactoryType__) {\n        return (ɵLucideListFilter_BaseFactory || (ɵLucideListFilter_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListFilter)))(__ngFactoryType__ || LucideListFilter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListFilter,\n      selectors: [[\"svg\", \"lucideListFilter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c898,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListFilter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListFilter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListFilter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListOrdered\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgNWgxMCIgLz4KICA8cGF0aCBkPSJNMTEgMTJoMTAiIC8+CiAgPHBhdGggZD0iTTExIDE5aDEwIiAvPgogIDxwYXRoIGQ9Ik00IDRoMXY1IiAvPgogIDxwYXRoIGQ9Ik00IDloMiIgLz4KICA8cGF0aCBkPSJNNi41IDIwSDMuNGMwLTEgMi42LTEuOTI1IDIuNi0zLjVhMS41IDEuNSAwIDAgMC0yLjYtMS4wMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/list-ordered\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListOrdered = /*#__PURE__*/(() => {\n  class LucideListOrdered extends LucideIconBase {\n    static icon = {\n      name: 'list-ordered',\n      size: 24,\n      node: [['path', {\n        d: 'M11 5h10',\n        key: '1cz7ny'\n      }], ['path', {\n        d: 'M11 12h10',\n        key: '1438ji'\n      }], ['path', {\n        d: 'M11 19h10',\n        key: '11t30w'\n      }], ['path', {\n        d: 'M4 4h1v5',\n        key: '10yrso'\n      }], ['path', {\n        d: 'M4 9h2',\n        key: 'r1h2o0'\n      }], ['path', {\n        d: 'M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02',\n        key: 'xtkcd5'\n      }]]\n    };\n    icon = signal(LucideListOrdered.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListOrdered_BaseFactory;\n      return function LucideListOrdered_Factory(__ngFactoryType__) {\n        return (ɵLucideListOrdered_BaseFactory || (ɵLucideListOrdered_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListOrdered)))(__ngFactoryType__ || LucideListOrdered);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListOrdered,\n      selectors: [[\"svg\", \"lucideListOrdered\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c899,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListOrdered_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListOrdered_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListOrdered;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgNUgzIiAvPgogIDxwYXRoIGQ9Ik0xMSAxMkgzIiAvPgogIDxwYXRoIGQ9Ik0xNiAxOUgzIiAvPgogIDxwYXRoIGQ9Ik0xOCA5djYiIC8+CiAgPHBhdGggZD0iTTIxIDEyaC02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/list-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListPlus = /*#__PURE__*/(() => {\n  class LucideListPlus extends LucideIconBase {\n    static icon = {\n      name: 'list-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M16 5H3',\n        key: 'm91uny'\n      }], ['path', {\n        d: 'M11 12H3',\n        key: '51ecnj'\n      }], ['path', {\n        d: 'M16 19H3',\n        key: 'zzsher'\n      }], ['path', {\n        d: 'M18 9v6',\n        key: '1twb98'\n      }], ['path', {\n        d: 'M21 12h-6',\n        key: 'bt1uis'\n      }]]\n    };\n    icon = signal(LucideListPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListPlus_BaseFactory;\n      return function LucideListPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideListPlus_BaseFactory || (ɵLucideListPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListPlus)))(__ngFactoryType__ || LucideListPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListPlus,\n      selectors: [[\"svg\", \"lucideListPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c900,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListMusic\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgNUgzIiAvPgogIDxwYXRoIGQ9Ik0xMSAxMkgzIiAvPgogIDxwYXRoIGQ9Ik0xMSAxOUgzIiAvPgogIDxwYXRoIGQ9Ik0yMSAxNlY1IiAvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTYiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/list-music\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListMusic = /*#__PURE__*/(() => {\n  class LucideListMusic extends LucideIconBase {\n    static icon = {\n      name: 'list-music',\n      size: 24,\n      node: [['path', {\n        d: 'M16 5H3',\n        key: 'm91uny'\n      }], ['path', {\n        d: 'M11 12H3',\n        key: '51ecnj'\n      }], ['path', {\n        d: 'M11 19H3',\n        key: 'zflm78'\n      }], ['path', {\n        d: 'M21 16V5',\n        key: 'yxg4q8'\n      }], ['circle', {\n        cx: '18',\n        cy: '16',\n        r: '3',\n        key: '1hluhg'\n      }]]\n    };\n    icon = signal(LucideListMusic.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListMusic_BaseFactory;\n      return function LucideListMusic_Factory(__ngFactoryType__) {\n        return (ɵLucideListMusic_BaseFactory || (ɵLucideListMusic_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListMusic)))(__ngFactoryType__ || LucideListMusic);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListMusic,\n      selectors: [[\"svg\", \"lucideListMusic\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c901,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListMusic_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListMusic_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListMusic;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListRestart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNUgzIiAvPgogIDxwYXRoIGQ9Ik03IDEySDMiIC8+CiAgPHBhdGggZD0iTTcgMTlIMyIgLz4KICA8cGF0aCBkPSJNMTIgMThhNSA1IDAgMCAwIDktMyA0LjUgNC41IDAgMCAwLTQuNS00LjVjLTEuMzMgMC0yLjU0LjU0LTMuNDEgMS40MUwxMSAxNCIgLz4KICA8cGF0aCBkPSJNMTEgMTB2NGg0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/list-restart\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListRestart = /*#__PURE__*/(() => {\n  class LucideListRestart extends LucideIconBase {\n    static icon = {\n      name: 'list-restart',\n      size: 24,\n      node: [['path', {\n        d: 'M21 5H3',\n        key: '1fi0y6'\n      }], ['path', {\n        d: 'M7 12H3',\n        key: '13ou7f'\n      }], ['path', {\n        d: 'M7 19H3',\n        key: 'wbqt3n'\n      }], ['path', {\n        d: 'M12 18a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L11 14',\n        key: 'qth677'\n      }], ['path', {\n        d: 'M11 10v4h4',\n        key: '172dkj'\n      }]]\n    };\n    icon = signal(LucideListRestart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListRestart_BaseFactory;\n      return function LucideListRestart_Factory(__ngFactoryType__) {\n        return (ɵLucideListRestart_BaseFactory || (ɵLucideListRestart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListRestart)))(__ngFactoryType__ || LucideListRestart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListRestart,\n      selectors: [[\"svg\", \"lucideListRestart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c902,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListRestart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListRestart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListRestart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListStart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA1aDYiIC8+CiAgPHBhdGggZD0iTTMgMTJoMTMiIC8+CiAgPHBhdGggZD0iTTMgMTloMTMiIC8+CiAgPHBhdGggZD0ibTE2IDgtMy0zIDMtMyIgLz4KICA8cGF0aCBkPSJNMjEgMTlWN2EyIDIgMCAwIDAtMi0yaC02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/list-start\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListStart = /*#__PURE__*/(() => {\n  class LucideListStart extends LucideIconBase {\n    static icon = {\n      name: 'list-start',\n      size: 24,\n      node: [['path', {\n        d: 'M3 5h6',\n        key: '1ltk0q'\n      }], ['path', {\n        d: 'M3 12h13',\n        key: 'ppymz1'\n      }], ['path', {\n        d: 'M3 19h13',\n        key: 'bpdczq'\n      }], ['path', {\n        d: 'm16 8-3-3 3-3',\n        key: '1pjpp6'\n      }], ['path', {\n        d: 'M21 19V7a2 2 0 0 0-2-2h-6',\n        key: '4zzq67'\n      }]]\n    };\n    icon = signal(LucideListStart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListStart_BaseFactory;\n      return function LucideListStart_Factory(__ngFactoryType__) {\n        return (ɵLucideListStart_BaseFactory || (ɵLucideListStart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListStart)))(__ngFactoryType__ || LucideListStart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListStart,\n      selectors: [[\"svg\", \"lucideListStart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c903,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListStart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListStart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListStart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListTree\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCA1aDEzIiAvPgogIDxwYXRoIGQ9Ik0xMyAxMmg4IiAvPgogIDxwYXRoIGQ9Ik0xMyAxOWg4IiAvPgogIDxwYXRoIGQ9Ik0zIDEwYTIgMiAwIDAgMCAyIDJoMyIgLz4KICA8cGF0aCBkPSJNMyA1djEyYTIgMiAwIDAgMCAyIDJoMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/list-tree\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListTree = /*#__PURE__*/(() => {\n  class LucideListTree extends LucideIconBase {\n    static icon = {\n      name: 'list-tree',\n      size: 24,\n      node: [['path', {\n        d: 'M8 5h13',\n        key: '1pao27'\n      }], ['path', {\n        d: 'M13 12h8',\n        key: 'h98zly'\n      }], ['path', {\n        d: 'M13 19h8',\n        key: 'c3s6r1'\n      }], ['path', {\n        d: 'M3 10a2 2 0 0 0 2 2h3',\n        key: '1npucw'\n      }], ['path', {\n        d: 'M3 5v12a2 2 0 0 0 2 2h3',\n        key: 'x1gjn2'\n      }]]\n    };\n    icon = signal(LucideListTree.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListTree_BaseFactory;\n      return function LucideListTree_Factory(__ngFactoryType__) {\n        return (ɵLucideListTree_BaseFactory || (ɵLucideListTree_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListTree)))(__ngFactoryType__ || LucideListTree);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListTree,\n      selectors: [[\"svg\", \"lucideListTree\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c904,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListTree_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListTree_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListTree;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListTodo\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgNWg4IiAvPgogIDxwYXRoIGQ9Ik0xMyAxMmg4IiAvPgogIDxwYXRoIGQ9Ik0xMyAxOWg4IiAvPgogIDxwYXRoIGQ9Im0zIDE3IDIgMiA0LTQiIC8+CiAgPHJlY3QgeD0iMyIgeT0iNCIgd2lkdGg9IjYiIGhlaWdodD0iNiIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/list-todo\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListTodo = /*#__PURE__*/(() => {\n  class LucideListTodo extends LucideIconBase {\n    static icon = {\n      name: 'list-todo',\n      size: 24,\n      node: [['path', {\n        d: 'M13 5h8',\n        key: 'a7qcls'\n      }], ['path', {\n        d: 'M13 12h8',\n        key: 'h98zly'\n      }], ['path', {\n        d: 'M13 19h8',\n        key: 'c3s6r1'\n      }], ['path', {\n        d: 'm3 17 2 2 4-4',\n        key: '1jhpwq'\n      }], ['rect', {\n        x: '3',\n        y: '4',\n        width: '6',\n        height: '6',\n        rx: '1',\n        key: 'cif1o7'\n      }]]\n    };\n    icon = signal(LucideListTodo.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListTodo_BaseFactory;\n      return function LucideListTodo_Factory(__ngFactoryType__) {\n        return (ɵLucideListTodo_BaseFactory || (ɵLucideListTodo_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListTodo)))(__ngFactoryType__ || LucideListTodo);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListTodo,\n      selectors: [[\"svg\", \"lucideListTodo\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c905,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListTodo_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListTodo_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListTodo;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListVideo\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNUgzIiAvPgogIDxwYXRoIGQ9Ik0xMCAxMkgzIiAvPgogIDxwYXRoIGQ9Ik0xMCAxOUgzIiAvPgogIDxwYXRoIGQ9Ik0xNSAxMi4wMDNhMSAxIDAgMCAxIDEuNTE3LS44NTlsNC45OTcgMi45OTdhMSAxIDAgMCAxIDAgMS43MThsLTQuOTk3IDIuOTk3YTEgMSAwIDAgMS0xLjUxNy0uODZ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/list-video\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListVideo = /*#__PURE__*/(() => {\n  class LucideListVideo extends LucideIconBase {\n    static icon = {\n      name: 'list-video',\n      size: 24,\n      node: [['path', {\n        d: 'M21 5H3',\n        key: '1fi0y6'\n      }], ['path', {\n        d: 'M10 12H3',\n        key: '1ulcyk'\n      }], ['path', {\n        d: 'M10 19H3',\n        key: '108z41'\n      }], ['path', {\n        d: 'M15 12.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z',\n        key: 'ms4nik'\n      }]]\n    };\n    icon = signal(LucideListVideo.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListVideo_BaseFactory;\n      return function LucideListVideo_Factory(__ngFactoryType__) {\n        return (ɵLucideListVideo_BaseFactory || (ɵLucideListVideo_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListVideo)))(__ngFactoryType__ || LucideListVideo);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListVideo,\n      selectors: [[\"svg\", \"lucideListVideo\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c906,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListVideo_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListVideo_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListVideo;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ListX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgNUgzIiAvPgogIDxwYXRoIGQ9Ik0xMSAxMkgzIiAvPgogIDxwYXRoIGQ9Ik0xNiAxOUgzIiAvPgogIDxwYXRoIGQ9Im0xNS41IDkuNSA1IDUiIC8+CiAgPHBhdGggZD0ibTIwLjUgOS41LTUgNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/list-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideListX = /*#__PURE__*/(() => {\n  class LucideListX extends LucideIconBase {\n    static icon = {\n      name: 'list-x',\n      size: 24,\n      node: [['path', {\n        d: 'M16 5H3',\n        key: 'm91uny'\n      }], ['path', {\n        d: 'M11 12H3',\n        key: '51ecnj'\n      }], ['path', {\n        d: 'M16 19H3',\n        key: 'zzsher'\n      }], ['path', {\n        d: 'm15.5 9.5 5 5',\n        key: 'ytk86i'\n      }], ['path', {\n        d: 'm20.5 9.5-5 5',\n        key: '17o44f'\n      }]]\n    };\n    icon = signal(LucideListX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideListX_BaseFactory;\n      return function LucideListX_Factory(__ngFactoryType__) {\n        return (ɵLucideListX_BaseFactory || (ɵLucideListX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideListX)))(__ngFactoryType__ || LucideListX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideListX,\n      selectors: [[\"svg\", \"lucideListX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c907,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideListX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideListX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideListX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name List\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA1aC4wMSIgLz4KICA8cGF0aCBkPSJNMyAxMmguMDEiIC8+CiAgPHBhdGggZD0iTTMgMTloLjAxIiAvPgogIDxwYXRoIGQ9Ik04IDVoMTMiIC8+CiAgPHBhdGggZD0iTTggMTJoMTMiIC8+CiAgPHBhdGggZD0iTTggMTloMTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/list\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideList = /*#__PURE__*/(() => {\n  class LucideList extends LucideIconBase {\n    static icon = {\n      name: 'list',\n      size: 24,\n      node: [['path', {\n        d: 'M3 5h.01',\n        key: '18ugdj'\n      }], ['path', {\n        d: 'M3 12h.01',\n        key: 'nlz23k'\n      }], ['path', {\n        d: 'M3 19h.01',\n        key: 'noohij'\n      }], ['path', {\n        d: 'M8 5h13',\n        key: '1pao27'\n      }], ['path', {\n        d: 'M8 12h13',\n        key: '1za7za'\n      }], ['path', {\n        d: 'M8 19h13',\n        key: 'm83p4d'\n      }]]\n    };\n    icon = signal(LucideList.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideList_BaseFactory;\n      return function LucideList_Factory(__ngFactoryType__) {\n        return (ɵLucideList_BaseFactory || (ɵLucideList_BaseFactory = i0.ɵɵgetInheritedFactory(LucideList)))(__ngFactoryType__ || LucideList);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideList,\n      selectors: [[\"svg\", \"lucideList\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c908,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideList_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideList_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideList;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LoaderPinwheel\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTJhMSAxIDAgMCAxLTEwIDAgMSAxIDAgMCAwLTEwIDAiIC8+CiAgPHBhdGggZD0iTTcgMjAuN2ExIDEgMCAxIDEgNS04LjcgMSAxIDAgMSAwIDUtOC42IiAvPgogIDxwYXRoIGQ9Ik03IDMuM2ExIDEgMCAxIDEgNSA4LjYgMSAxIDAgMSAwIDUgOC42IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/loader-pinwheel\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLoaderPinwheel = /*#__PURE__*/(() => {\n  class LucideLoaderPinwheel extends LucideIconBase {\n    static icon = {\n      name: 'loader-pinwheel',\n      size: 24,\n      node: [['path', {\n        d: 'M22 12a1 1 0 0 1-10 0 1 1 0 0 0-10 0',\n        key: '1lzz15'\n      }], ['path', {\n        d: 'M7 20.7a1 1 0 1 1 5-8.7 1 1 0 1 0 5-8.6',\n        key: '1gnrpi'\n      }], ['path', {\n        d: 'M7 3.3a1 1 0 1 1 5 8.6 1 1 0 1 0 5 8.6',\n        key: 'u9yy5q'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }]]\n    };\n    icon = signal(LucideLoaderPinwheel.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLoaderPinwheel_BaseFactory;\n      return function LucideLoaderPinwheel_Factory(__ngFactoryType__) {\n        return (ɵLucideLoaderPinwheel_BaseFactory || (ɵLucideLoaderPinwheel_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLoaderPinwheel)))(__ngFactoryType__ || LucideLoaderPinwheel);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLoaderPinwheel,\n      selectors: [[\"svg\", \"lucideLoaderPinwheel\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c909,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLoaderPinwheel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLoaderPinwheel_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLoaderPinwheel;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LoaderCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTYuMjE5LTguNTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/loader-circle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLoaderCircle = /*#__PURE__*/(() => {\n  class LucideLoaderCircle extends LucideIconBase {\n    static icon = {\n      name: 'loader-circle',\n      size: 24,\n      node: [['path', {\n        d: 'M21 12a9 9 0 1 1-6.219-8.56',\n        key: '13zald'\n      }]],\n      aliases: ['loader-2']\n    };\n    icon = signal(LucideLoaderCircle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLoaderCircle_BaseFactory;\n      return function LucideLoaderCircle_Factory(__ngFactoryType__) {\n        return (ɵLucideLoaderCircle_BaseFactory || (ɵLucideLoaderCircle_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLoaderCircle)))(__ngFactoryType__ || LucideLoaderCircle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLoaderCircle,\n      selectors: [[\"svg\", \"lucideLoaderCircle\", \"\"], [\"svg\", \"lucideLoader2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c910,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLoaderCircle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLoaderCircle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLoaderCircle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideLoaderCircle\n */\nconst LucideLoader2 = LucideLoaderCircle;\n\n/**\n * @component @name Loader\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnY0IiAvPgogIDxwYXRoIGQ9Im0xNi4yIDcuOCAyLjktMi45IiAvPgogIDxwYXRoIGQ9Ik0xOCAxMmg0IiAvPgogIDxwYXRoIGQ9Im0xNi4yIDE2LjIgMi45IDIuOSIgLz4KICA8cGF0aCBkPSJNMTIgMTh2NCIgLz4KICA8cGF0aCBkPSJtNC45IDE5LjEgMi45LTIuOSIgLz4KICA8cGF0aCBkPSJNMiAxMmg0IiAvPgogIDxwYXRoIGQ9Im00LjkgNC45IDIuOSAyLjkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/loader\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLoader = /*#__PURE__*/(() => {\n  class LucideLoader extends LucideIconBase {\n    static icon = {\n      name: 'loader',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v4',\n        key: '3427ic'\n      }], ['path', {\n        d: 'm16.2 7.8 2.9-2.9',\n        key: 'r700ao'\n      }], ['path', {\n        d: 'M18 12h4',\n        key: 'wj9ykh'\n      }], ['path', {\n        d: 'm16.2 16.2 2.9 2.9',\n        key: '1bxg5t'\n      }], ['path', {\n        d: 'M12 18v4',\n        key: 'jadmvz'\n      }], ['path', {\n        d: 'm4.9 19.1 2.9-2.9',\n        key: 'bwix9q'\n      }], ['path', {\n        d: 'M2 12h4',\n        key: 'j09sii'\n      }], ['path', {\n        d: 'm4.9 4.9 2.9 2.9',\n        key: 'giyufr'\n      }]]\n    };\n    icon = signal(LucideLoader.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLoader_BaseFactory;\n      return function LucideLoader_Factory(__ngFactoryType__) {\n        return (ɵLucideLoader_BaseFactory || (ɵLucideLoader_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLoader)))(__ngFactoryType__ || LucideLoader);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLoader,\n      selectors: [[\"svg\", \"lucideLoader\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c911,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLoader_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLoader_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLoader;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LocateFixed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMiIgeDI9IjUiIHkxPSIxMiIgeTI9IjEyIiAvPgogIDxsaW5lIHgxPSIxOSIgeDI9IjIyIiB5MT0iMTIiIHkyPSIxMiIgLz4KICA8bGluZSB4MT0iMTIiIHgyPSIxMiIgeTE9IjIiIHkyPSI1IiAvPgogIDxsaW5lIHgxPSIxMiIgeDI9IjEyIiB5MT0iMTkiIHkyPSIyMiIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI3IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/locate-fixed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLocateFixed = /*#__PURE__*/(() => {\n  class LucideLocateFixed extends LucideIconBase {\n    static icon = {\n      name: 'locate-fixed',\n      size: 24,\n      node: [['line', {\n        x1: '2',\n        x2: '5',\n        y1: '12',\n        y2: '12',\n        key: 'bvdh0s'\n      }], ['line', {\n        x1: '19',\n        x2: '22',\n        y1: '12',\n        y2: '12',\n        key: '1tbv5k'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '2',\n        y2: '5',\n        key: '11lu5j'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '19',\n        y2: '22',\n        key: 'x3vr5v'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '7',\n        key: 'fim9np'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '3',\n        key: '1v7zrd'\n      }]]\n    };\n    icon = signal(LucideLocateFixed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLocateFixed_BaseFactory;\n      return function LucideLocateFixed_Factory(__ngFactoryType__) {\n        return (ɵLucideLocateFixed_BaseFactory || (ɵLucideLocateFixed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLocateFixed)))(__ngFactoryType__ || LucideLocateFixed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLocateFixed,\n      selectors: [[\"svg\", \"lucideLocateFixed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c912,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLocateFixed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLocateFixed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLocateFixed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LocateOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTl2MyIgLz4KICA8cGF0aCBkPSJNMTIgMnYzIiAvPgogIDxwYXRoIGQ9Ik0xOC44OSAxMy4yNGE3IDcgMCAwIDAtOC4xMy04LjEzIiAvPgogIDxwYXRoIGQ9Ik0xOSAxMmgzIiAvPgogIDxwYXRoIGQ9Ik0yIDEyaDMiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJNNy4wNSA3LjA1YTcgNyAwIDAgMCA5LjkgOS45IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/locate-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLocateOff = /*#__PURE__*/(() => {\n  class LucideLocateOff extends LucideIconBase {\n    static icon = {\n      name: 'locate-off',\n      size: 24,\n      node: [['path', {\n        d: 'M12 19v3',\n        key: 'npa21l'\n      }], ['path', {\n        d: 'M12 2v3',\n        key: 'qbqxhf'\n      }], ['path', {\n        d: 'M18.89 13.24a7 7 0 0 0-8.13-8.13',\n        key: '1v9jrh'\n      }], ['path', {\n        d: 'M19 12h3',\n        key: 'osuazr'\n      }], ['path', {\n        d: 'M2 12h3',\n        key: '1wrr53'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M7.05 7.05a7 7 0 0 0 9.9 9.9',\n        key: 'rc5l2e'\n      }]]\n    };\n    icon = signal(LucideLocateOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLocateOff_BaseFactory;\n      return function LucideLocateOff_Factory(__ngFactoryType__) {\n        return (ɵLucideLocateOff_BaseFactory || (ɵLucideLocateOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLocateOff)))(__ngFactoryType__ || LucideLocateOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLocateOff,\n      selectors: [[\"svg\", \"lucideLocateOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c913,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLocateOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLocateOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLocateOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Locate\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMiIgeDI9IjUiIHkxPSIxMiIgeTI9IjEyIiAvPgogIDxsaW5lIHgxPSIxOSIgeDI9IjIyIiB5MT0iMTIiIHkyPSIxMiIgLz4KICA8bGluZSB4MT0iMTIiIHgyPSIxMiIgeTE9IjIiIHkyPSI1IiAvPgogIDxsaW5lIHgxPSIxMiIgeDI9IjEyIiB5MT0iMTkiIHkyPSIyMiIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/locate\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLocate = /*#__PURE__*/(() => {\n  class LucideLocate extends LucideIconBase {\n    static icon = {\n      name: 'locate',\n      size: 24,\n      node: [['line', {\n        x1: '2',\n        x2: '5',\n        y1: '12',\n        y2: '12',\n        key: 'bvdh0s'\n      }], ['line', {\n        x1: '19',\n        x2: '22',\n        y1: '12',\n        y2: '12',\n        key: '1tbv5k'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '2',\n        y2: '5',\n        key: '11lu5j'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '19',\n        y2: '22',\n        key: 'x3vr5v'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '7',\n        key: 'fim9np'\n      }]]\n    };\n    icon = signal(LucideLocate.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLocate_BaseFactory;\n      return function LucideLocate_Factory(__ngFactoryType__) {\n        return (ɵLucideLocate_BaseFactory || (ɵLucideLocate_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLocate)))(__ngFactoryType__ || LucideLocate);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLocate,\n      selectors: [[\"svg\", \"lucideLocate\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c914,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLocate_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLocate_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLocate;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LockKeyhole\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE2IiByPSIxIiAvPgogIDxyZWN0IHg9IjMiIHk9IjEwIiB3aWR0aD0iMTgiIGhlaWdodD0iMTIiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik03IDEwVjdhNSA1IDAgMCAxIDEwIDB2MyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/lock-keyhole\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLockKeyhole = /*#__PURE__*/(() => {\n  class LucideLockKeyhole extends LucideIconBase {\n    static icon = {\n      name: 'lock-keyhole',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '16',\n        r: '1',\n        key: '1au0dj'\n      }], ['rect', {\n        x: '3',\n        y: '10',\n        width: '18',\n        height: '12',\n        rx: '2',\n        key: '6s8ecr'\n      }], ['path', {\n        d: 'M7 10V7a5 5 0 0 1 10 0v3',\n        key: '1pqi11'\n      }]]\n    };\n    icon = signal(LucideLockKeyhole.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLockKeyhole_BaseFactory;\n      return function LucideLockKeyhole_Factory(__ngFactoryType__) {\n        return (ɵLucideLockKeyhole_BaseFactory || (ɵLucideLockKeyhole_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLockKeyhole)))(__ngFactoryType__ || LucideLockKeyhole);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLockKeyhole,\n      selectors: [[\"svg\", \"lucideLockKeyhole\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c915,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLockKeyhole_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLockKeyhole_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLockKeyhole;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LockKeyholeOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE2IiByPSIxIiAvPgogIDxyZWN0IHdpZHRoPSIxOCIgaGVpZ2h0PSIxMiIgeD0iMyIgeT0iMTAiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik03IDEwVjdhNSA1IDAgMCAxIDkuMzMtMi41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/lock-keyhole-open\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLockKeyholeOpen = /*#__PURE__*/(() => {\n  class LucideLockKeyholeOpen extends LucideIconBase {\n    static icon = {\n      name: 'lock-keyhole-open',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '16',\n        r: '1',\n        key: '1au0dj'\n      }], ['rect', {\n        width: '18',\n        height: '12',\n        x: '3',\n        y: '10',\n        rx: '2',\n        key: 'l0tzu3'\n      }], ['path', {\n        d: 'M7 10V7a5 5 0 0 1 9.33-2.5',\n        key: 'car5b7'\n      }]],\n      aliases: ['unlock-keyhole']\n    };\n    icon = signal(LucideLockKeyholeOpen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLockKeyholeOpen_BaseFactory;\n      return function LucideLockKeyholeOpen_Factory(__ngFactoryType__) {\n        return (ɵLucideLockKeyholeOpen_BaseFactory || (ɵLucideLockKeyholeOpen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLockKeyholeOpen)))(__ngFactoryType__ || LucideLockKeyholeOpen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLockKeyholeOpen,\n      selectors: [[\"svg\", \"lucideLockKeyholeOpen\", \"\"], [\"svg\", \"lucideUnlockKeyhole\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c916,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLockKeyholeOpen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLockKeyholeOpen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLockKeyholeOpen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideLockKeyholeOpen\n */\nconst LucideUnlockKeyhole = LucideLockKeyholeOpen;\n\n/**\n * @component @name Lock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHg9IjMiIHk9IjExIiByeD0iMiIgcnk9IjIiIC8+CiAgPHBhdGggZD0iTTcgMTFWN2E1IDUgMCAwIDEgMTAgMHY0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/lock\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLock = /*#__PURE__*/(() => {\n  class LucideLock extends LucideIconBase {\n    static icon = {\n      name: 'lock',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '11',\n        x: '3',\n        y: '11',\n        rx: '2',\n        ry: '2',\n        key: '1w4ew1'\n      }], ['path', {\n        d: 'M7 11V7a5 5 0 0 1 10 0v4',\n        key: 'fwvmzm'\n      }]]\n    };\n    icon = signal(LucideLock.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLock_BaseFactory;\n      return function LucideLock_Factory(__ngFactoryType__) {\n        return (ɵLucideLock_BaseFactory || (ɵLucideLock_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLock)))(__ngFactoryType__ || LucideLock);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLock,\n      selectors: [[\"svg\", \"lucideLock\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c917,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLock_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLock_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLock;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LockOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHg9IjMiIHk9IjExIiByeD0iMiIgcnk9IjIiIC8+CiAgPHBhdGggZD0iTTcgMTFWN2E1IDUgMCAwIDEgOS45LTEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/lock-open\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLockOpen = /*#__PURE__*/(() => {\n  class LucideLockOpen extends LucideIconBase {\n    static icon = {\n      name: 'lock-open',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '11',\n        x: '3',\n        y: '11',\n        rx: '2',\n        ry: '2',\n        key: '1w4ew1'\n      }], ['path', {\n        d: 'M7 11V7a5 5 0 0 1 9.9-1',\n        key: '1mm8w8'\n      }]],\n      aliases: ['unlock']\n    };\n    icon = signal(LucideLockOpen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLockOpen_BaseFactory;\n      return function LucideLockOpen_Factory(__ngFactoryType__) {\n        return (ɵLucideLockOpen_BaseFactory || (ɵLucideLockOpen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLockOpen)))(__ngFactoryType__ || LucideLockOpen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLockOpen,\n      selectors: [[\"svg\", \"lucideLockOpen\", \"\"], [\"svg\", \"lucideUnlock\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c918,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLockOpen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLockOpen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLockOpen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideLockOpen\n */\nconst LucideUnlock = LucideLockOpen;\n\n/**\n * @component @name Lollipop\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4IiAvPgogIDxwYXRoIGQ9Im0yMSAyMS00LjMtNC4zIiAvPgogIDxwYXRoIGQ9Ik0xMSAxMWEyIDIgMCAwIDAgNCAwIDQgNCAwIDAgMC04IDAgNiA2IDAgMCAwIDEyIDAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/lollipop\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLollipop = /*#__PURE__*/(() => {\n  class LucideLollipop extends LucideIconBase {\n    static icon = {\n      name: 'lollipop',\n      size: 24,\n      node: [['circle', {\n        cx: '11',\n        cy: '11',\n        r: '8',\n        key: '4ej97u'\n      }], ['path', {\n        d: 'm21 21-4.3-4.3',\n        key: '1qie3q'\n      }], ['path', {\n        d: 'M11 11a2 2 0 0 0 4 0 4 4 0 0 0-8 0 6 6 0 0 0 12 0',\n        key: '107gwy'\n      }]]\n    };\n    icon = signal(LucideLollipop.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLollipop_BaseFactory;\n      return function LucideLollipop_Factory(__ngFactoryType__) {\n        return (ɵLucideLollipop_BaseFactory || (ɵLucideLollipop_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLollipop)))(__ngFactoryType__ || LucideLollipop);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLollipop,\n      selectors: [[\"svg\", \"lucideLollipop\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c919,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLollipop_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLollipop_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLollipop;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LogIn\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAgMTcgNS01LTUtNSIgLz4KICA8cGF0aCBkPSJNMTUgMTJIMyIgLz4KICA8cGF0aCBkPSJNMTUgM2g0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMmgtNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/log-in\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLogIn = /*#__PURE__*/(() => {\n  class LucideLogIn extends LucideIconBase {\n    static icon = {\n      name: 'log-in',\n      size: 24,\n      node: [['path', {\n        d: 'm10 17 5-5-5-5',\n        key: '1bsop3'\n      }], ['path', {\n        d: 'M15 12H3',\n        key: '6jk70r'\n      }], ['path', {\n        d: 'M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4',\n        key: 'u53s6r'\n      }]]\n    };\n    icon = signal(LucideLogIn.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLogIn_BaseFactory;\n      return function LucideLogIn_Factory(__ngFactoryType__) {\n        return (ɵLucideLogIn_BaseFactory || (ɵLucideLogIn_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLogIn)))(__ngFactoryType__ || LucideLogIn);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLogIn,\n      selectors: [[\"svg\", \"lucideLogIn\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c920,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLogIn_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLogIn_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLogIn;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name LogOut\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMTcgNS01LTUtNSIgLz4KICA8cGF0aCBkPSJNMjEgMTJIOSIgLz4KICA8cGF0aCBkPSJNOSAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/log-out\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLogOut = /*#__PURE__*/(() => {\n  class LucideLogOut extends LucideIconBase {\n    static icon = {\n      name: 'log-out',\n      size: 24,\n      node: [['path', {\n        d: 'm16 17 5-5-5-5',\n        key: '1bji2h'\n      }], ['path', {\n        d: 'M21 12H9',\n        key: 'dn1m92'\n      }], ['path', {\n        d: 'M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4',\n        key: '1uf3rs'\n      }]]\n    };\n    icon = signal(LucideLogOut.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLogOut_BaseFactory;\n      return function LucideLogOut_Factory(__ngFactoryType__) {\n        return (ɵLucideLogOut_BaseFactory || (ɵLucideLogOut_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLogOut)))(__ngFactoryType__ || LucideLogOut);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLogOut,\n      selectors: [[\"svg\", \"lucideLogOut\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c921,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLogOut_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLogOut_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLogOut;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Logs\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA1aDEiIC8+CiAgPHBhdGggZD0iTTMgMTJoMSIgLz4KICA8cGF0aCBkPSJNMyAxOWgxIiAvPgogIDxwYXRoIGQ9Ik04IDVoMSIgLz4KICA8cGF0aCBkPSJNOCAxMmgxIiAvPgogIDxwYXRoIGQ9Ik04IDE5aDEiIC8+CiAgPHBhdGggZD0iTTEzIDVoOCIgLz4KICA8cGF0aCBkPSJNMTMgMTJoOCIgLz4KICA8cGF0aCBkPSJNMTMgMTloOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/logs\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLogs = /*#__PURE__*/(() => {\n  class LucideLogs extends LucideIconBase {\n    static icon = {\n      name: 'logs',\n      size: 24,\n      node: [['path', {\n        d: 'M3 5h1',\n        key: '1mv5vm'\n      }], ['path', {\n        d: 'M3 12h1',\n        key: 'lp3yf2'\n      }], ['path', {\n        d: 'M3 19h1',\n        key: 'w6f3n9'\n      }], ['path', {\n        d: 'M8 5h1',\n        key: '1nxr5w'\n      }], ['path', {\n        d: 'M8 12h1',\n        key: '1con00'\n      }], ['path', {\n        d: 'M8 19h1',\n        key: 'k7p10e'\n      }], ['path', {\n        d: 'M13 5h8',\n        key: 'a7qcls'\n      }], ['path', {\n        d: 'M13 12h8',\n        key: 'h98zly'\n      }], ['path', {\n        d: 'M13 19h8',\n        key: 'c3s6r1'\n      }]]\n    };\n    icon = signal(LucideLogs.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLogs_BaseFactory;\n      return function LucideLogs_Factory(__ngFactoryType__) {\n        return (ɵLucideLogs_BaseFactory || (ɵLucideLogs_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLogs)))(__ngFactoryType__ || LucideLogs);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLogs,\n      selectors: [[\"svg\", \"lucideLogs\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c922,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLogs_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLogs_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLogs;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Luggage\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgxMmEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDIiIC8+CiAgPHBhdGggZD0iTTggMThWNGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYxNCIgLz4KICA8cGF0aCBkPSJNMTAgMjBoNCIgLz4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjIwIiByPSIyIiAvPgogIDxjaXJjbGUgY3g9IjgiIGN5PSIyMCIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/luggage\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideLuggage = /*#__PURE__*/(() => {\n  class LucideLuggage extends LucideIconBase {\n    static icon = {\n      name: 'luggage',\n      size: 24,\n      node: [['path', {\n        d: 'M6 20a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2',\n        key: '1m57jg'\n      }], ['path', {\n        d: 'M8 18V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v14',\n        key: '1l99gc'\n      }], ['path', {\n        d: 'M10 20h4',\n        key: 'ni2waw'\n      }], ['circle', {\n        cx: '16',\n        cy: '20',\n        r: '2',\n        key: '1vifvg'\n      }], ['circle', {\n        cx: '8',\n        cy: '20',\n        r: '2',\n        key: 'ckkr5m'\n      }]]\n    };\n    icon = signal(LucideLuggage.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideLuggage_BaseFactory;\n      return function LucideLuggage_Factory(__ngFactoryType__) {\n        return (ɵLucideLuggage_BaseFactory || (ɵLucideLuggage_BaseFactory = i0.ɵɵgetInheritedFactory(LucideLuggage)))(__ngFactoryType__ || LucideLuggage);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideLuggage,\n      selectors: [[\"svg\", \"lucideLuggage\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c923,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideLuggage_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideLuggage_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideLuggage;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MailCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTNWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMmMwIDEuMS45IDIgMiAyaDgiIC8+CiAgPHBhdGggZD0ibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDciIC8+CiAgPHBhdGggZD0ibTE2IDE5IDIgMiA0LTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/mail-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMailCheck = /*#__PURE__*/(() => {\n  class LucideMailCheck extends LucideIconBase {\n    static icon = {\n      name: 'mail-check',\n      size: 24,\n      node: [['path', {\n        d: 'M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8',\n        key: '12jkf8'\n      }], ['path', {\n        d: 'm22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7',\n        key: '1ocrg3'\n      }], ['path', {\n        d: 'm16 19 2 2 4-4',\n        key: '1b14m6'\n      }]]\n    };\n    icon = signal(LucideMailCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMailCheck_BaseFactory;\n      return function LucideMailCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideMailCheck_BaseFactory || (ɵLucideMailCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMailCheck)))(__ngFactoryType__ || LucideMailCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMailCheck,\n      selectors: [[\"svg\", \"lucideMailCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c924,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMailCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMailCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMailCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MailMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTVWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMmMwIDEuMS45IDIgMiAyaDgiIC8+CiAgPHBhdGggZD0ibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDciIC8+CiAgPHBhdGggZD0iTTE2IDE5aDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/mail-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMailMinus = /*#__PURE__*/(() => {\n  class LucideMailMinus extends LucideIconBase {\n    static icon = {\n      name: 'mail-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M22 15V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8',\n        key: 'fuxbkv'\n      }], ['path', {\n        d: 'm22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7',\n        key: '1ocrg3'\n      }], ['path', {\n        d: 'M16 19h6',\n        key: 'xwg31i'\n      }]]\n    };\n    icon = signal(LucideMailMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMailMinus_BaseFactory;\n      return function LucideMailMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideMailMinus_BaseFactory || (ɵLucideMailMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMailMinus)))(__ngFactoryType__ || LucideMailMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMailMinus,\n      selectors: [[\"svg\", \"lucideMailMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c925,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMailMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMailMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMailMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Magnet\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIgMTUgNCA0IiAvPgogIDxwYXRoIGQ9Ik0yLjM1MiAxMC42NDhhMS4yMDUgMS4yMDUgMCAwIDAgMCAxLjcwNGwyLjI5NiAyLjI5NmExLjIwNSAxLjIwNSAwIDAgMCAxLjcwNCAwbDYuMDI5LTYuMDI5YTEgMSAwIDEgMSAzIDNsLTYuMDI5IDYuMDI5YTEuMjA1IDEuMjA1IDAgMCAwIDAgMS43MDRsMi4yOTYgMi4yOTZhMS4yMDUgMS4yMDUgMCAwIDAgMS43MDQgMGw2LjM2NS02LjM2N0ExIDEgMCAwIDAgOC43MTYgNC4yODJ6IiAvPgogIDxwYXRoIGQ9Im01IDggNCA0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/magnet\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMagnet = /*#__PURE__*/(() => {\n  class LucideMagnet extends LucideIconBase {\n    static icon = {\n      name: 'magnet',\n      size: 24,\n      node: [['path', {\n        d: 'm12 15 4 4',\n        key: 'lnac28'\n      }], ['path', {\n        d: 'M2.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l6.029-6.029a1 1 0 1 1 3 3l-6.029 6.029a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l6.365-6.367A1 1 0 0 0 8.716 4.282z',\n        key: 'nlhkjb'\n      }], ['path', {\n        d: 'm5 8 4 4',\n        key: 'j6kj7e'\n      }]]\n    };\n    icon = signal(LucideMagnet.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMagnet_BaseFactory;\n      return function LucideMagnet_Factory(__ngFactoryType__) {\n        return (ɵLucideMagnet_BaseFactory || (ɵLucideMagnet_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMagnet)))(__ngFactoryType__ || LucideMagnet);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMagnet,\n      selectors: [[\"svg\", \"lucideMagnet\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c926,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMagnet_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMagnet_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMagnet;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MailOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEuMiA4LjRjLjUuMzguOC45Ny44IDEuNnYxMGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlYxMGEyIDIgMCAwIDEgLjgtMS42bDgtNmEyIDIgMCAwIDEgMi40IDBsOCA2WiIgLz4KICA8cGF0aCBkPSJtMjIgMTAtOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDEwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/mail-open\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMailOpen = /*#__PURE__*/(() => {\n  class LucideMailOpen extends LucideIconBase {\n    static icon = {\n      name: 'mail-open',\n      size: 24,\n      node: [['path', {\n        d: 'M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z',\n        key: '1jhwl8'\n      }], ['path', {\n        d: 'm22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10',\n        key: '1qfld7'\n      }]]\n    };\n    icon = signal(LucideMailOpen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMailOpen_BaseFactory;\n      return function LucideMailOpen_Factory(__ngFactoryType__) {\n        return (ɵLucideMailOpen_BaseFactory || (ɵLucideMailOpen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMailOpen)))(__ngFactoryType__ || LucideMailOpen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMailOpen,\n      selectors: [[\"svg\", \"lucideMailOpen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c927,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMailOpen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMailOpen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMailOpen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MailPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTNWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMmMwIDEuMS45IDIgMiAyaDgiIC8+CiAgPHBhdGggZD0ibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDciIC8+CiAgPHBhdGggZD0iTTE5IDE2djYiIC8+CiAgPHBhdGggZD0iTTE2IDE5aDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/mail-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMailPlus = /*#__PURE__*/(() => {\n  class LucideMailPlus extends LucideIconBase {\n    static icon = {\n      name: 'mail-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8',\n        key: '12jkf8'\n      }], ['path', {\n        d: 'm22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7',\n        key: '1ocrg3'\n      }], ['path', {\n        d: 'M19 16v6',\n        key: 'tddt3s'\n      }], ['path', {\n        d: 'M16 19h6',\n        key: 'xwg31i'\n      }]]\n    };\n    icon = signal(LucideMailPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMailPlus_BaseFactory;\n      return function LucideMailPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideMailPlus_BaseFactory || (ɵLucideMailPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMailPlus)))(__ngFactoryType__ || LucideMailPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMailPlus,\n      selectors: [[\"svg\", \"lucideMailPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c928,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMailPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMailPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMailPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MailSearch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTIuNVY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEyYzAgMS4xLjkgMiAyIDJoNy41IiAvPgogIDxwYXRoIGQ9Im0yMiA3LTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiA3IiAvPgogIDxwYXRoIGQ9Ik0xOCAyMWEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZaIiAvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjMiIC8+CiAgPHBhdGggZD0ibTIyIDIyLTEuNS0xLjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/mail-search\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMailSearch = /*#__PURE__*/(() => {\n  class LucideMailSearch extends LucideIconBase {\n    static icon = {\n      name: 'mail-search',\n      size: 24,\n      node: [['path', {\n        d: 'M22 12.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h7.5',\n        key: 'w80f2v'\n      }], ['path', {\n        d: 'm22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7',\n        key: '1ocrg3'\n      }], ['path', {\n        d: 'M18 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z',\n        key: '8lzu5m'\n      }], ['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }], ['path', {\n        d: 'm22 22-1.5-1.5',\n        key: '1x83k4'\n      }]]\n    };\n    icon = signal(LucideMailSearch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMailSearch_BaseFactory;\n      return function LucideMailSearch_Factory(__ngFactoryType__) {\n        return (ɵLucideMailSearch_BaseFactory || (ɵLucideMailSearch_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMailSearch)))(__ngFactoryType__ || LucideMailSearch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMailSearch,\n      selectors: [[\"svg\", \"lucideMailSearch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c929,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMailSearch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMailSearch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMailSearch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MailQuestionMark\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTAuNVY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEyYzAgMS4xLjkgMiAyIDJoMTIuNSIgLz4KICA8cGF0aCBkPSJtMjIgNy04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgNyIgLz4KICA8cGF0aCBkPSJNMTggMTUuMjhjLjItLjQuNS0uOC45LTFhMi4xIDIuMSAwIDAgMSAyLjYuNGMuMy40LjUuOC41IDEuMyAwIDEuMy0yIDItMiAyIiAvPgogIDxwYXRoIGQ9Ik0yMCAyMnYuMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/mail-question-mark\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMailQuestionMark = /*#__PURE__*/(() => {\n  class LucideMailQuestionMark extends LucideIconBase {\n    static icon = {\n      name: 'mail-question-mark',\n      size: 24,\n      node: [['path', {\n        d: 'M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5',\n        key: 'e61zoh'\n      }], ['path', {\n        d: 'm22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7',\n        key: '1ocrg3'\n      }], ['path', {\n        d: 'M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2',\n        key: '7z9rxb'\n      }], ['path', {\n        d: 'M20 22v.01',\n        key: '12bgn6'\n      }]],\n      aliases: ['mail-question']\n    };\n    icon = signal(LucideMailQuestionMark.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMailQuestionMark_BaseFactory;\n      return function LucideMailQuestionMark_Factory(__ngFactoryType__) {\n        return (ɵLucideMailQuestionMark_BaseFactory || (ɵLucideMailQuestionMark_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMailQuestionMark)))(__ngFactoryType__ || LucideMailQuestionMark);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMailQuestionMark,\n      selectors: [[\"svg\", \"lucideMailQuestionMark\", \"\"], [\"svg\", \"lucideMailQuestion\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c930,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMailQuestionMark_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMailQuestionMark_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMailQuestionMark;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideMailQuestionMark\n */\nconst LucideMailQuestion = LucideMailQuestionMark;\n\n/**\n * @component @name MailWarning\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTAuNVY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEyYzAgMS4xLjkgMiAyIDJoMTIuNSIgLz4KICA8cGF0aCBkPSJtMjIgNy04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgNyIgLz4KICA8cGF0aCBkPSJNMjAgMTR2NCIgLz4KICA8cGF0aCBkPSJNMjAgMjJ2LjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/mail-warning\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMailWarning = /*#__PURE__*/(() => {\n  class LucideMailWarning extends LucideIconBase {\n    static icon = {\n      name: 'mail-warning',\n      size: 24,\n      node: [['path', {\n        d: 'M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5',\n        key: 'e61zoh'\n      }], ['path', {\n        d: 'm22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7',\n        key: '1ocrg3'\n      }], ['path', {\n        d: 'M20 14v4',\n        key: '1hm744'\n      }], ['path', {\n        d: 'M20 22v.01',\n        key: '12bgn6'\n      }]]\n    };\n    icon = signal(LucideMailWarning.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMailWarning_BaseFactory;\n      return function LucideMailWarning_Factory(__ngFactoryType__) {\n        return (ɵLucideMailWarning_BaseFactory || (ɵLucideMailWarning_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMailWarning)))(__ngFactoryType__ || LucideMailWarning);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMailWarning,\n      selectors: [[\"svg\", \"lucideMailWarning\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c931,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMailWarning_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMailWarning_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMailWarning;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Mail\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjIgNy04Ljk5MSA1LjcyN2EyIDIgMCAwIDEtMi4wMDkgMEwyIDciIC8+CiAgPHJlY3QgeD0iMiIgeT0iNCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjE2IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/mail\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMail = /*#__PURE__*/(() => {\n  class LucideMail extends LucideIconBase {\n    static icon = {\n      name: 'mail',\n      size: 24,\n      node: [['path', {\n        d: 'm22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7',\n        key: '132q7q'\n      }], ['rect', {\n        x: '2',\n        y: '4',\n        width: '20',\n        height: '16',\n        rx: '2',\n        key: 'izxlao'\n      }]]\n    };\n    icon = signal(LucideMail.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMail_BaseFactory;\n      return function LucideMail_Factory(__ngFactoryType__) {\n        return (ɵLucideMail_BaseFactory || (ɵLucideMail_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMail)))(__ngFactoryType__ || LucideMail);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMail,\n      selectors: [[\"svg\", \"lucideMail\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c932,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMail_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMail_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMail;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Mailbox\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOS41QzIgNyA0IDUgNi41IDVIMThjMi4yIDAgNCAxLjggNCA0djhaIiAvPgogIDxwb2x5bGluZSBwb2ludHM9IjE1LDkgMTgsOSAxOCwxMSIgLz4KICA8cGF0aCBkPSJNNi41IDVDOSA1IDExIDcgMTEgOS41VjE3YTIgMiAwIDAgMS0yIDIiIC8+CiAgPGxpbmUgeDE9IjYiIHgyPSI3IiB5MT0iMTAiIHkyPSIxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/mailbox\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMailbox = /*#__PURE__*/(() => {\n  class LucideMailbox extends LucideIconBase {\n    static icon = {\n      name: 'mailbox',\n      size: 24,\n      node: [['path', {\n        d: 'M22 17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.5C2 7 4 5 6.5 5H18c2.2 0 4 1.8 4 4v8Z',\n        key: '1lbycx'\n      }], ['polyline', {\n        points: '15,9 18,9 18,11',\n        key: '1pm9c0'\n      }], ['path', {\n        d: 'M6.5 5C9 5 11 7 11 9.5V17a2 2 0 0 1-2 2',\n        key: '15i455'\n      }], ['line', {\n        x1: '6',\n        x2: '7',\n        y1: '10',\n        y2: '10',\n        key: '1e2scm'\n      }]]\n    };\n    icon = signal(LucideMailbox.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMailbox_BaseFactory;\n      return function LucideMailbox_Factory(__ngFactoryType__) {\n        return (ɵLucideMailbox_BaseFactory || (ɵLucideMailbox_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMailbox)))(__ngFactoryType__ || LucideMailbox);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMailbox,\n      selectors: [[\"svg\", \"lucideMailbox\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c933,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMailbox_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMailbox_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMailbox;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MailX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTNWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMmMwIDEuMS45IDIgMiAyaDkiIC8+CiAgPHBhdGggZD0ibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDciIC8+CiAgPHBhdGggZD0ibTE3IDE3IDQgNCIgLz4KICA8cGF0aCBkPSJtMjEgMTctNCA0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/mail-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMailX = /*#__PURE__*/(() => {\n  class LucideMailX extends LucideIconBase {\n    static icon = {\n      name: 'mail-x',\n      size: 24,\n      node: [['path', {\n        d: 'M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9',\n        key: '1j9vog'\n      }], ['path', {\n        d: 'm22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7',\n        key: '1ocrg3'\n      }], ['path', {\n        d: 'm17 17 4 4',\n        key: '1b3523'\n      }], ['path', {\n        d: 'm21 17-4 4',\n        key: 'uinynz'\n      }]]\n    };\n    icon = signal(LucideMailX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMailX_BaseFactory;\n      return function LucideMailX_Factory(__ngFactoryType__) {\n        return (ɵLucideMailX_BaseFactory || (ɵLucideMailX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMailX)))(__ngFactoryType__ || LucideMailX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMailX,\n      selectors: [[\"svg\", \"lucideMailX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c934,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMailX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMailX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMailX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Mails\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LThhMiAyIDAgMCAxIDEtMS43MzIiIC8+CiAgPHBhdGggZD0ibTIyIDUuNS02LjQxOSA0LjE3OWEyIDIgMCAwIDEtMi4xNjIgMEw3IDUuNSIgLz4KICA8cmVjdCB4PSI3IiB5PSIzIiB3aWR0aD0iMTUiIGhlaWdodD0iMTIiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/mails\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMails = /*#__PURE__*/(() => {\n  class LucideMails extends LucideIconBase {\n    static icon = {\n      name: 'mails',\n      size: 24,\n      node: [['path', {\n        d: 'M17 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 1-1.732',\n        key: '1vyzll'\n      }], ['path', {\n        d: 'm22 5.5-6.419 4.179a2 2 0 0 1-2.162 0L7 5.5',\n        key: 'k7ramc'\n      }], ['rect', {\n        x: '7',\n        y: '3',\n        width: '15',\n        height: '12',\n        rx: '2',\n        key: '17196g'\n      }]]\n    };\n    icon = signal(LucideMails.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMails_BaseFactory;\n      return function LucideMails_Factory(__ngFactoryType__) {\n        return (ɵLucideMails_BaseFactory || (ɵLucideMails_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMails)))(__ngFactoryType__ || LucideMails);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMails,\n      selectors: [[\"svg\", \"lucideMails\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c935,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMails_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMails_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMails;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MapPinCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkuNDMgMTIuOTM1Yy4zNTctLjk2Ny41Ny0xLjk1NS41Ny0yLjkzNWE4IDggMCAwIDAtMTYgMGMwIDQuOTkzIDUuNTM5IDEwLjE5MyA3LjM5OSAxMS43OTlhMSAxIDAgMCAwIDEuMjAyIDAgMzIuMTk3IDMyLjE5NyAwIDAgMCAuODEzLS43MjgiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMCIgcj0iMyIgLz4KICA8cGF0aCBkPSJtMTYgMTggMiAyIDQtNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/map-pin-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapPinCheck = /*#__PURE__*/(() => {\n  class LucideMapPinCheck extends LucideIconBase {\n    static icon = {\n      name: 'map-pin-check',\n      size: 24,\n      node: [['path', {\n        d: 'M19.43 12.935c.357-.967.57-1.955.57-2.935a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32.197 32.197 0 0 0 .813-.728',\n        key: '1dq61d'\n      }], ['circle', {\n        cx: '12',\n        cy: '10',\n        r: '3',\n        key: 'ilqhr7'\n      }], ['path', {\n        d: 'm16 18 2 2 4-4',\n        key: '1mkfmb'\n      }]]\n    };\n    icon = signal(LucideMapPinCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapPinCheck_BaseFactory;\n      return function LucideMapPinCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideMapPinCheck_BaseFactory || (ɵLucideMapPinCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapPinCheck)))(__ngFactoryType__ || LucideMapPinCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapPinCheck,\n      selectors: [[\"svg\", \"lucideMapPinCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c936,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapPinCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapPinCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapPinCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MapMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTEgMTktMS4xMDYtLjU1MmEyIDIgMCAwIDAtMS43ODggMGwtMy42NTkgMS44M0ExIDEgMCAwIDEgMyAxOS4zODFWNi42MThhMSAxIDAgMCAxIC41NTMtLjg5NGw0LjU1My0yLjI3N2EyIDIgMCAwIDEgMS43ODggMGw0LjIxMiAyLjEwNmEyIDIgMCAwIDAgMS43ODggMGwzLjY1OS0xLjgzQTEgMSAwIDAgMSAyMSA0LjYxOVYxNCIgLz4KICA8cGF0aCBkPSJNMTUgNS43NjRWMTQiIC8+CiAgPHBhdGggZD0iTTIxIDE4aC02IiAvPgogIDxwYXRoIGQ9Ik05IDMuMjM2djE1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/map-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapMinus = /*#__PURE__*/(() => {\n  class LucideMapMinus extends LucideIconBase {\n    static icon = {\n      name: 'map-minus',\n      size: 24,\n      node: [['path', {\n        d: 'm11 19-1.106-.552a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0l4.212 2.106a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619V14',\n        key: '40pylx'\n      }], ['path', {\n        d: 'M15 5.764V14',\n        key: '1bab71'\n      }], ['path', {\n        d: 'M21 18h-6',\n        key: '139f0c'\n      }], ['path', {\n        d: 'M9 3.236v15',\n        key: '1uimfh'\n      }]]\n    };\n    icon = signal(LucideMapMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapMinus_BaseFactory;\n      return function LucideMapMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideMapMinus_BaseFactory || (ɵLucideMapMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapMinus)))(__ngFactoryType__ || LucideMapMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapMinus,\n      selectors: [[\"svg\", \"lucideMapMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c937,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MapPinHouse\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMjJhMSAxIDAgMCAxLTEtMXYtNGExIDEgMCAwIDEgLjQ0NS0uODMybDMtMmExIDEgMCAwIDEgMS4xMSAwbDMgMkExIDEgMCAwIDEgMjIgMTd2NGExIDEgMCAwIDEtMSAxeiIgLz4KICA8cGF0aCBkPSJNMTggMTBhOCA4IDAgMCAwLTE2IDBjMCA0Ljk5MyA1LjUzOSAxMC4xOTMgNy4zOTkgMTEuNzk5YTEgMSAwIDAgMCAuNjAxLjIiIC8+CiAgPHBhdGggZD0iTTE4IDIydi0zIiAvPgogIDxjaXJjbGUgY3g9IjEwIiBjeT0iMTAiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/map-pin-house\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapPinHouse = /*#__PURE__*/(() => {\n  class LucideMapPinHouse extends LucideIconBase {\n    static icon = {\n      name: 'map-pin-house',\n      size: 24,\n      node: [['path', {\n        d: 'M15 22a1 1 0 0 1-1-1v-4a1 1 0 0 1 .445-.832l3-2a1 1 0 0 1 1.11 0l3 2A1 1 0 0 1 22 17v4a1 1 0 0 1-1 1z',\n        key: '1p1rcz'\n      }], ['path', {\n        d: 'M18 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 .601.2',\n        key: 'mcbcs9'\n      }], ['path', {\n        d: 'M18 22v-3',\n        key: '1t1ugv'\n      }], ['circle', {\n        cx: '10',\n        cy: '10',\n        r: '3',\n        key: '1ns7v1'\n      }]]\n    };\n    icon = signal(LucideMapPinHouse.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapPinHouse_BaseFactory;\n      return function LucideMapPinHouse_Factory(__ngFactoryType__) {\n        return (ɵLucideMapPinHouse_BaseFactory || (ɵLucideMapPinHouse_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapPinHouse)))(__ngFactoryType__ || LucideMapPinHouse);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapPinHouse,\n      selectors: [[\"svg\", \"lucideMapPinHouse\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c938,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapPinHouse_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapPinHouse_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapPinHouse;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MapPinCheckInside\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIiAvPgogIDxwYXRoIGQ9Im05IDEwIDIgMiA0LTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/map-pin-check-inside\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapPinCheckInside = /*#__PURE__*/(() => {\n  class LucideMapPinCheckInside extends LucideIconBase {\n    static icon = {\n      name: 'map-pin-check-inside',\n      size: 24,\n      node: [['path', {\n        d: 'M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0',\n        key: '1r0f0z'\n      }], ['path', {\n        d: 'm9 10 2 2 4-4',\n        key: '1gnqz4'\n      }]]\n    };\n    icon = signal(LucideMapPinCheckInside.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapPinCheckInside_BaseFactory;\n      return function LucideMapPinCheckInside_Factory(__ngFactoryType__) {\n        return (ɵLucideMapPinCheckInside_BaseFactory || (ɵLucideMapPinCheckInside_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapPinCheckInside)))(__ngFactoryType__ || LucideMapPinCheckInside);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapPinCheckInside,\n      selectors: [[\"svg\", \"lucideMapPinCheckInside\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c939,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapPinCheckInside_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapPinCheckInside_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapPinCheckInside;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MapPinMinusInside\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIiAvPgogIDxwYXRoIGQ9Ik05IDEwaDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/map-pin-minus-inside\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapPinMinusInside = /*#__PURE__*/(() => {\n  class LucideMapPinMinusInside extends LucideIconBase {\n    static icon = {\n      name: 'map-pin-minus-inside',\n      size: 24,\n      node: [['path', {\n        d: 'M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0',\n        key: '1r0f0z'\n      }], ['path', {\n        d: 'M9 10h6',\n        key: '9gxzsh'\n      }]]\n    };\n    icon = signal(LucideMapPinMinusInside.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapPinMinusInside_BaseFactory;\n      return function LucideMapPinMinusInside_Factory(__ngFactoryType__) {\n        return (ɵLucideMapPinMinusInside_BaseFactory || (ɵLucideMapPinMinusInside_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapPinMinusInside)))(__ngFactoryType__ || LucideMapPinMinusInside);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapPinMinusInside,\n      selectors: [[\"svg\", \"lucideMapPinMinusInside\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c940,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapPinMinusInside_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapPinMinusInside_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapPinMinusInside;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MapPinMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTguOTc3IDE0QzE5LjYgMTIuNzAxIDIwIDExLjM0MyAyMCAxMGE4IDggMCAwIDAtMTYgMGMwIDQuOTkzIDUuNTM5IDEwLjE5MyA3LjM5OSAxMS43OTlhMSAxIDAgMCAwIDEuMjAyIDAgMzIgMzIgMCAwIDAgLjgyNC0uNzM4IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTAiIHI9IjMiIC8+CiAgPHBhdGggZD0iTTE2IDE4aDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/map-pin-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapPinMinus = /*#__PURE__*/(() => {\n  class LucideMapPinMinus extends LucideIconBase {\n    static icon = {\n      name: 'map-pin-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M18.977 14C19.6 12.701 20 11.343 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738',\n        key: '11uxia'\n      }], ['circle', {\n        cx: '12',\n        cy: '10',\n        r: '3',\n        key: 'ilqhr7'\n      }], ['path', {\n        d: 'M16 18h6',\n        key: '987eiv'\n      }]]\n    };\n    icon = signal(LucideMapPinMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapPinMinus_BaseFactory;\n      return function LucideMapPinMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideMapPinMinus_BaseFactory || (ɵLucideMapPinMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapPinMinus)))(__ngFactoryType__ || LucideMapPinMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapPinMinus,\n      selectors: [[\"svg\", \"lucideMapPinMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c941,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapPinMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapPinMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapPinMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MapPinOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuNzUgNy4wOWEzIDMgMCAwIDEgMi4xNiAyLjE2IiAvPgogIDxwYXRoIGQ9Ik0xNy4wNzIgMTcuMDcyYy0xLjYzNCAyLjE3LTMuNTI3IDMuOTEyLTQuNDcxIDQuNzI3YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxLjQzMi00LjU2OCIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik04LjQ3NSAyLjgxOEE4IDggMCAwIDEgMjAgMTBjMCAxLjE4My0uMzEgMi4zNzctLjgxIDMuNTMzIiAvPgogIDxwYXRoIGQ9Ik05LjEzIDkuMTNhMyAzIDAgMCAwIDMuNzQgMy43NCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/map-pin-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapPinOff = /*#__PURE__*/(() => {\n  class LucideMapPinOff extends LucideIconBase {\n    static icon = {\n      name: 'map-pin-off',\n      size: 24,\n      node: [['path', {\n        d: 'M12.75 7.09a3 3 0 0 1 2.16 2.16',\n        key: '1d4wjd'\n      }], ['path', {\n        d: 'M17.072 17.072c-1.634 2.17-3.527 3.912-4.471 4.727a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 1.432-4.568',\n        key: '12yil7'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M8.475 2.818A8 8 0 0 1 20 10c0 1.183-.31 2.377-.81 3.533',\n        key: 'lhrkcz'\n      }], ['path', {\n        d: 'M9.13 9.13a3 3 0 0 0 3.74 3.74',\n        key: '13wojd'\n      }]]\n    };\n    icon = signal(LucideMapPinOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapPinOff_BaseFactory;\n      return function LucideMapPinOff_Factory(__ngFactoryType__) {\n        return (ɵLucideMapPinOff_BaseFactory || (ɵLucideMapPinOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapPinOff)))(__ngFactoryType__ || LucideMapPinOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapPinOff,\n      selectors: [[\"svg\", \"lucideMapPinOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c942,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapPinOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapPinOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapPinOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MapPinPen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcuOTcgOS4zMDRBOCA4IDAgMCAwIDIgMTBjMCA0LjY5IDQuODg3IDkuNTYyIDcuMDIyIDExLjQ2OCIgLz4KICA8cGF0aCBkPSJNMjEuMzc4IDE2LjYyNmExIDEgMCAwIDAtMy4wMDQtMy4wMDRsLTQuMDEgNC4wMTJhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZ6IiAvPgogIDxjaXJjbGUgY3g9IjEwIiBjeT0iMTAiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/map-pin-pen\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapPinPen = /*#__PURE__*/(() => {\n  class LucideMapPinPen extends LucideIconBase {\n    static icon = {\n      name: 'map-pin-pen',\n      size: 24,\n      node: [['path', {\n        d: 'M17.97 9.304A8 8 0 0 0 2 10c0 4.69 4.887 9.562 7.022 11.468',\n        key: '1fahp3'\n      }], ['path', {\n        d: 'M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z',\n        key: '1817ys'\n      }], ['circle', {\n        cx: '10',\n        cy: '10',\n        r: '3',\n        key: '1ns7v1'\n      }]],\n      aliases: ['location-edit']\n    };\n    icon = signal(LucideMapPinPen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapPinPen_BaseFactory;\n      return function LucideMapPinPen_Factory(__ngFactoryType__) {\n        return (ɵLucideMapPinPen_BaseFactory || (ɵLucideMapPinPen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapPinPen)))(__ngFactoryType__ || LucideMapPinPen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapPinPen,\n      selectors: [[\"svg\", \"lucideMapPinPen\", \"\"], [\"svg\", \"lucideLocationEdit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c943,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapPinPen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapPinPen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapPinPen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideMapPinPen\n */\nconst LucideLocationEdit = LucideMapPinPen;\n\n/**\n * @component @name MapPinPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkuOTE0IDExLjEwNUE3LjI5OCA3LjI5OCAwIDAgMCAyMCAxMGE4IDggMCAwIDAtMTYgMGMwIDQuOTkzIDUuNTM5IDEwLjE5MyA3LjM5OSAxMS43OTlhMSAxIDAgMCAwIDEuMjAyIDAgMzIgMzIgMCAwIDAgLjgyNC0uNzM4IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTAiIHI9IjMiIC8+CiAgPHBhdGggZD0iTTE2IDE4aDYiIC8+CiAgPHBhdGggZD0iTTE5IDE1djYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/map-pin-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapPinPlus = /*#__PURE__*/(() => {\n  class LucideMapPinPlus extends LucideIconBase {\n    static icon = {\n      name: 'map-pin-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M19.914 11.105A7.298 7.298 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738',\n        key: 'fcdtly'\n      }], ['circle', {\n        cx: '12',\n        cy: '10',\n        r: '3',\n        key: 'ilqhr7'\n      }], ['path', {\n        d: 'M16 18h6',\n        key: '987eiv'\n      }], ['path', {\n        d: 'M19 15v6',\n        key: '10aioa'\n      }]]\n    };\n    icon = signal(LucideMapPinPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapPinPlus_BaseFactory;\n      return function LucideMapPinPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideMapPinPlus_BaseFactory || (ɵLucideMapPinPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapPinPlus)))(__ngFactoryType__ || LucideMapPinPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapPinPlus,\n      selectors: [[\"svg\", \"lucideMapPinPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c944,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapPinPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapPinPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapPinPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MapPinPlusInside\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIiAvPgogIDxwYXRoIGQ9Ik0xMiA3djYiIC8+CiAgPHBhdGggZD0iTTkgMTBoNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/map-pin-plus-inside\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapPinPlusInside = /*#__PURE__*/(() => {\n  class LucideMapPinPlusInside extends LucideIconBase {\n    static icon = {\n      name: 'map-pin-plus-inside',\n      size: 24,\n      node: [['path', {\n        d: 'M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0',\n        key: '1r0f0z'\n      }], ['path', {\n        d: 'M12 7v6',\n        key: 'lw1j43'\n      }], ['path', {\n        d: 'M9 10h6',\n        key: '9gxzsh'\n      }]]\n    };\n    icon = signal(LucideMapPinPlusInside.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapPinPlusInside_BaseFactory;\n      return function LucideMapPinPlusInside_Factory(__ngFactoryType__) {\n        return (ɵLucideMapPinPlusInside_BaseFactory || (ɵLucideMapPinPlusInside_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapPinPlusInside)))(__ngFactoryType__ || LucideMapPinPlusInside);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapPinPlusInside,\n      selectors: [[\"svg\", \"lucideMapPinPlusInside\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c945,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapPinPlusInside_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapPinPlusInside_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapPinPlusInside;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MapPinX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkuNzUyIDExLjkwMUE3Ljc4IDcuNzggMCAwIDAgMjAgMTBhOCA4IDAgMCAwLTE2IDBjMCA0Ljk5MyA1LjUzOSAxMC4xOTMgNy4zOTkgMTEuNzk5YTEgMSAwIDAgMCAxLjIwMiAwIDE5IDE5IDAgMCAwIC4wOS0uMDc3IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTAiIHI9IjMiIC8+CiAgPHBhdGggZD0ibTIxLjUgMTUuNS01IDUiIC8+CiAgPHBhdGggZD0ibTIxLjUgMjAuNS01LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/map-pin-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapPinX = /*#__PURE__*/(() => {\n  class LucideMapPinX extends LucideIconBase {\n    static icon = {\n      name: 'map-pin-x',\n      size: 24,\n      node: [['path', {\n        d: 'M19.752 11.901A7.78 7.78 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 19 19 0 0 0 .09-.077',\n        key: 'y0ewhp'\n      }], ['circle', {\n        cx: '12',\n        cy: '10',\n        r: '3',\n        key: 'ilqhr7'\n      }], ['path', {\n        d: 'm21.5 15.5-5 5',\n        key: '11iqnx'\n      }], ['path', {\n        d: 'm21.5 20.5-5-5',\n        key: '1bylgx'\n      }]]\n    };\n    icon = signal(LucideMapPinX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapPinX_BaseFactory;\n      return function LucideMapPinX_Factory(__ngFactoryType__) {\n        return (ɵLucideMapPinX_BaseFactory || (ɵLucideMapPinX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapPinX)))(__ngFactoryType__ || LucideMapPinX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapPinX,\n      selectors: [[\"svg\", \"lucideMapPinX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c946,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapPinX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapPinX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapPinX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MapPinSearch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNIDEyLjI0OCAyMS45NjkgYSAxIDEgMCAwIDEgLTAuODQ5IC0wLjE3IEMgOS41MzkgMjAuMTkzIDQgMTQuOTkzIDQgMTAgYSA4IDggMCAwIDEgMTYgMCBDIDIwIDEwLjQyIDE5Ljk2MSAxMC44NDEgMTkuODg4IDExLjI2MiIgLz4KICA8cGF0aCBkPSJtMjIgMjItMS44OC0xLjg4IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTAiIHI9IjMiIC8+CiAgPGNpcmNsZSBjeD0iMTgiIGN5PSIxOCIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/map-pin-search\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapPinSearch = /*#__PURE__*/(() => {\n  class LucideMapPinSearch extends LucideIconBase {\n    static icon = {\n      name: 'map-pin-search',\n      size: 24,\n      node: [['path', {\n        d: 'M 12.248 21.969 a 1 1 0 0 1 -0.849 -0.17 C 9.539 20.193 4 14.993 4 10 a 8 8 0 0 1 16 0 C 20 10.42 19.961 10.841 19.888 11.262',\n        key: '1jho5b'\n      }], ['path', {\n        d: 'm22 22-1.88-1.88',\n        key: '1bgjp0'\n      }], ['circle', {\n        cx: '12',\n        cy: '10',\n        r: '3',\n        key: 'ilqhr7'\n      }], ['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }]]\n    };\n    icon = signal(LucideMapPinSearch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapPinSearch_BaseFactory;\n      return function LucideMapPinSearch_Factory(__ngFactoryType__) {\n        return (ɵLucideMapPinSearch_BaseFactory || (ɵLucideMapPinSearch_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapPinSearch)))(__ngFactoryType__ || LucideMapPinSearch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapPinSearch,\n      selectors: [[\"svg\", \"lucideMapPinSearch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c947,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapPinSearch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapPinSearch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapPinSearch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MapPin\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTAiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/map-pin\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapPin = /*#__PURE__*/(() => {\n  class LucideMapPin extends LucideIconBase {\n    static icon = {\n      name: 'map-pin',\n      size: 24,\n      node: [['path', {\n        d: 'M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0',\n        key: '1r0f0z'\n      }], ['circle', {\n        cx: '12',\n        cy: '10',\n        r: '3',\n        key: 'ilqhr7'\n      }]]\n    };\n    icon = signal(LucideMapPin.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapPin_BaseFactory;\n      return function LucideMapPin_Factory(__ngFactoryType__) {\n        return (ɵLucideMapPin_BaseFactory || (ɵLucideMapPin_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapPin)))(__ngFactoryType__ || LucideMapPin);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapPin,\n      selectors: [[\"svg\", \"lucideMapPin\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c948,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapPin_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapPin_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapPin;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MapPinned\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggOGMwIDMuNjEzLTMuODY5IDcuNDI5LTUuMzkzIDguNzk1YTEgMSAwIDAgMS0xLjIxNCAwQzkuODcgMTUuNDI5IDYgMTEuNjEzIDYgOGE2IDYgMCAwIDEgMTIgMCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjgiIHI9IjIiIC8+CiAgPHBhdGggZD0iTTguNzE0IDE0aC0zLjcxYTEgMSAwIDAgMC0uOTQ4LjY4M2wtMi4wMDQgNkExIDEgMCAwIDAgMyAyMmgxOGExIDEgMCAwIDAgLjk0OC0xLjMxNmwtMi02YTEgMSAwIDAgMC0uOTQ5LS42ODRoLTMuNzEyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/map-pinned\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapPinned = /*#__PURE__*/(() => {\n  class LucideMapPinned extends LucideIconBase {\n    static icon = {\n      name: 'map-pinned',\n      size: 24,\n      node: [['path', {\n        d: 'M18 8c0 3.613-3.869 7.429-5.393 8.795a1 1 0 0 1-1.214 0C9.87 15.429 6 11.613 6 8a6 6 0 0 1 12 0',\n        key: '11u0oz'\n      }], ['circle', {\n        cx: '12',\n        cy: '8',\n        r: '2',\n        key: '1822b1'\n      }], ['path', {\n        d: 'M8.714 14h-3.71a1 1 0 0 0-.948.683l-2.004 6A1 1 0 0 0 3 22h18a1 1 0 0 0 .948-1.316l-2-6a1 1 0 0 0-.949-.684h-3.712',\n        key: 'q8zwxj'\n      }]]\n    };\n    icon = signal(LucideMapPinned.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapPinned_BaseFactory;\n      return function LucideMapPinned_Factory(__ngFactoryType__) {\n        return (ɵLucideMapPinned_BaseFactory || (ɵLucideMapPinned_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapPinned)))(__ngFactoryType__ || LucideMapPinned);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapPinned,\n      selectors: [[\"svg\", \"lucideMapPinned\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c949,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapPinned_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapPinned_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapPinned;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MapPinXInside\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIiAvPgogIDxwYXRoIGQ9Im0xNC41IDcuNS01IDUiIC8+CiAgPHBhdGggZD0ibTkuNSA3LjUgNSA1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/map-pin-x-inside\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapPinXInside = /*#__PURE__*/(() => {\n  class LucideMapPinXInside extends LucideIconBase {\n    static icon = {\n      name: 'map-pin-x-inside',\n      size: 24,\n      node: [['path', {\n        d: 'M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0',\n        key: '1r0f0z'\n      }], ['path', {\n        d: 'm14.5 7.5-5 5',\n        key: '3lb6iw'\n      }], ['path', {\n        d: 'm9.5 7.5 5 5',\n        key: 'ko136h'\n      }]]\n    };\n    icon = signal(LucideMapPinXInside.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapPinXInside_BaseFactory;\n      return function LucideMapPinXInside_Factory(__ngFactoryType__) {\n        return (ɵLucideMapPinXInside_BaseFactory || (ɵLucideMapPinXInside_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapPinXInside)))(__ngFactoryType__ || LucideMapPinXInside);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapPinXInside,\n      selectors: [[\"svg\", \"lucideMapPinXInside\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c950,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapPinXInside_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapPinXInside_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapPinXInside;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MapPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTEgMTktMS4xMDYtLjU1MmEyIDIgMCAwIDAtMS43ODggMGwtMy42NTkgMS44M0ExIDEgMCAwIDEgMyAxOS4zODFWNi42MThhMSAxIDAgMCAxIC41NTMtLjg5NGw0LjU1My0yLjI3N2EyIDIgMCAwIDEgMS43ODggMGw0LjIxMiAyLjEwNmEyIDIgMCAwIDAgMS43ODggMGwzLjY1OS0xLjgzQTEgMSAwIDAgMSAyMSA0LjYxOVYxMiIgLz4KICA8cGF0aCBkPSJNMTUgNS43NjRWMTIiIC8+CiAgPHBhdGggZD0iTTE4IDE1djYiIC8+CiAgPHBhdGggZD0iTTIxIDE4aC02IiAvPgogIDxwYXRoIGQ9Ik05IDMuMjM2djE1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/map-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMapPlus = /*#__PURE__*/(() => {\n  class LucideMapPlus extends LucideIconBase {\n    static icon = {\n      name: 'map-plus',\n      size: 24,\n      node: [['path', {\n        d: 'm11 19-1.106-.552a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0l4.212 2.106a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619V12',\n        key: 'svfegj'\n      }], ['path', {\n        d: 'M15 5.764V12',\n        key: '1ocw4k'\n      }], ['path', {\n        d: 'M18 15v6',\n        key: '9wciyi'\n      }], ['path', {\n        d: 'M21 18h-6',\n        key: '139f0c'\n      }], ['path', {\n        d: 'M9 3.236v15',\n        key: '1uimfh'\n      }]]\n    };\n    icon = signal(LucideMapPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMapPlus_BaseFactory;\n      return function LucideMapPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideMapPlus_BaseFactory || (ɵLucideMapPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMapPlus)))(__ngFactoryType__ || LucideMapPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMapPlus,\n      selectors: [[\"svg\", \"lucideMapPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c951,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMapPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMapPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMapPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Map\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQuMTA2IDUuNTUzYTIgMiAwIDAgMCAxLjc4OCAwbDMuNjU5LTEuODNBMSAxIDAgMCAxIDIxIDQuNjE5djEyLjc2NGExIDEgMCAwIDEtLjU1My44OTRsLTQuNTUzIDIuMjc3YTIgMiAwIDAgMS0xLjc4OCAwbC00LjIxMi0yLjEwNmEyIDIgMCAwIDAtMS43ODggMGwtMy42NTkgMS44M0ExIDEgMCAwIDEgMyAxOS4zODFWNi42MThhMSAxIDAgMCAxIC41NTMtLjg5NGw0LjU1My0yLjI3N2EyIDIgMCAwIDEgMS43ODggMHoiIC8+CiAgPHBhdGggZD0iTTE1IDUuNzY0djE1IiAvPgogIDxwYXRoIGQ9Ik05IDMuMjM2djE1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/map\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMap = /*#__PURE__*/(() => {\n  class LucideMap extends LucideIconBase {\n    static icon = {\n      name: 'map',\n      size: 24,\n      node: [['path', {\n        d: 'M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z',\n        key: '169xi5'\n      }], ['path', {\n        d: 'M15 5.764v15',\n        key: '1pn4in'\n      }], ['path', {\n        d: 'M9 3.236v15',\n        key: '1uimfh'\n      }]]\n    };\n    icon = signal(LucideMap.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMap_BaseFactory;\n      return function LucideMap_Factory(__ngFactoryType__) {\n        return (ɵLucideMap_BaseFactory || (ɵLucideMap_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMap)))(__ngFactoryType__ || LucideMap);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMap,\n      selectors: [[\"svg\", \"lucideMap\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c952,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMap_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMap_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMap;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MarsStroke\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQgNiA0IDQiIC8+CiAgPHBhdGggZD0iTTE3IDNoNHY0IiAvPgogIDxwYXRoIGQ9Im0yMSAzLTcuNzUgNy43NSIgLz4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iMTUiIHI9IjYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/mars-stroke\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMarsStroke = /*#__PURE__*/(() => {\n  class LucideMarsStroke extends LucideIconBase {\n    static icon = {\n      name: 'mars-stroke',\n      size: 24,\n      node: [['path', {\n        d: 'm14 6 4 4',\n        key: '1q72g9'\n      }], ['path', {\n        d: 'M17 3h4v4',\n        key: '19p9u1'\n      }], ['path', {\n        d: 'm21 3-7.75 7.75',\n        key: '1cjbfd'\n      }], ['circle', {\n        cx: '9',\n        cy: '15',\n        r: '6',\n        key: 'bx5svt'\n      }]]\n    };\n    icon = signal(LucideMarsStroke.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMarsStroke_BaseFactory;\n      return function LucideMarsStroke_Factory(__ngFactoryType__) {\n        return (ɵLucideMarsStroke_BaseFactory || (ɵLucideMarsStroke_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMarsStroke)))(__ngFactoryType__ || LucideMarsStroke);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMarsStroke,\n      selectors: [[\"svg\", \"lucideMarsStroke\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c953,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMarsStroke_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMarsStroke_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMarsStroke;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Mars\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgM2g1djUiIC8+CiAgPHBhdGggZD0ibTIxIDMtNi43NSA2Ljc1IiAvPgogIDxjaXJjbGUgY3g9IjEwIiBjeT0iMTQiIHI9IjYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/mars\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMars = /*#__PURE__*/(() => {\n  class LucideMars extends LucideIconBase {\n    static icon = {\n      name: 'mars',\n      size: 24,\n      node: [['path', {\n        d: 'M16 3h5v5',\n        key: '1806ms'\n      }], ['path', {\n        d: 'm21 3-6.75 6.75',\n        key: 'pv0uzu'\n      }], ['circle', {\n        cx: '10',\n        cy: '14',\n        r: '6',\n        key: '1qwbdc'\n      }]]\n    };\n    icon = signal(LucideMars.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMars_BaseFactory;\n      return function LucideMars_Factory(__ngFactoryType__) {\n        return (ɵLucideMars_BaseFactory || (ɵLucideMars_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMars)))(__ngFactoryType__ || LucideMars);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMars,\n      selectors: [[\"svg\", \"lucideMars\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c954,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMars_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMars_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMars;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Martini\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAyMmg4IiAvPgogIDxwYXRoIGQ9Ik0xMiAxMXYxMSIgLz4KICA8cGF0aCBkPSJtMTkgMy03IDgtNy04WiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/martini\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMartini = /*#__PURE__*/(() => {\n  class LucideMartini extends LucideIconBase {\n    static icon = {\n      name: 'martini',\n      size: 24,\n      node: [['path', {\n        d: 'M8 22h8',\n        key: 'rmew8v'\n      }], ['path', {\n        d: 'M12 11v11',\n        key: 'ur9y6a'\n      }], ['path', {\n        d: 'm19 3-7 8-7-8Z',\n        key: '1sgpiw'\n      }]]\n    };\n    icon = signal(LucideMartini.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMartini_BaseFactory;\n      return function LucideMartini_Factory(__ngFactoryType__) {\n        return (ɵLucideMartini_BaseFactory || (ɵLucideMartini_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMartini)))(__ngFactoryType__ || LucideMartini);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMartini,\n      selectors: [[\"svg\", \"lucideMartini\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c955,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMartini_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMartini_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMartini;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Maximize2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgM2g2djYiIC8+CiAgPHBhdGggZD0ibTIxIDMtNyA3IiAvPgogIDxwYXRoIGQ9Im0zIDIxIDctNyIgLz4KICA8cGF0aCBkPSJNOSAyMUgzdi02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/maximize-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMaximize2 = /*#__PURE__*/(() => {\n  class LucideMaximize2 extends LucideIconBase {\n    static icon = {\n      name: 'maximize-2',\n      size: 24,\n      node: [['path', {\n        d: 'M15 3h6v6',\n        key: '1q9fwt'\n      }], ['path', {\n        d: 'm21 3-7 7',\n        key: '1l2asr'\n      }], ['path', {\n        d: 'm3 21 7-7',\n        key: 'tjx5ai'\n      }], ['path', {\n        d: 'M9 21H3v-6',\n        key: 'wtvkvv'\n      }]]\n    };\n    icon = signal(LucideMaximize2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMaximize2_BaseFactory;\n      return function LucideMaximize2_Factory(__ngFactoryType__) {\n        return (ɵLucideMaximize2_BaseFactory || (ɵLucideMaximize2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMaximize2)))(__ngFactoryType__ || LucideMaximize2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMaximize2,\n      selectors: [[\"svg\", \"lucideMaximize2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c956,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMaximize2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMaximize2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMaximize2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Maximize\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAzSDVhMiAyIDAgMCAwLTIgMnYzIiAvPgogIDxwYXRoIGQ9Ik0yMSA4VjVhMiAyIDAgMCAwLTItMmgtMyIgLz4KICA8cGF0aCBkPSJNMyAxNnYzYTIgMiAwIDAgMCAyIDJoMyIgLz4KICA8cGF0aCBkPSJNMTYgMjFoM2EyIDIgMCAwIDAgMi0ydi0zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/maximize\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMaximize = /*#__PURE__*/(() => {\n  class LucideMaximize extends LucideIconBase {\n    static icon = {\n      name: 'maximize',\n      size: 24,\n      node: [['path', {\n        d: 'M8 3H5a2 2 0 0 0-2 2v3',\n        key: '1dcmit'\n      }], ['path', {\n        d: 'M21 8V5a2 2 0 0 0-2-2h-3',\n        key: '1e4gt3'\n      }], ['path', {\n        d: 'M3 16v3a2 2 0 0 0 2 2h3',\n        key: 'wsl5sc'\n      }], ['path', {\n        d: 'M16 21h3a2 2 0 0 0 2-2v-3',\n        key: '18trek'\n      }]]\n    };\n    icon = signal(LucideMaximize.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMaximize_BaseFactory;\n      return function LucideMaximize_Factory(__ngFactoryType__) {\n        return (ɵLucideMaximize_BaseFactory || (ɵLucideMaximize_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMaximize)))(__ngFactoryType__ || LucideMaximize);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMaximize,\n      selectors: [[\"svg\", \"lucideMaximize\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c957,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMaximize_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMaximize_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMaximize;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Megaphone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgNmExMyAxMyAwIDAgMCA4LjQtMi44QTEgMSAwIDAgMSAyMSA0djEyYTEgMSAwIDAgMS0xLjYuOEExMyAxMyAwIDAgMCAxMSAxNEg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yeiIgLz4KICA8cGF0aCBkPSJNNiAxNGExMiAxMiAwIDAgMCAyLjQgNy4yIDIgMiAwIDAgMCAzLjItMi40QTggOCAwIDAgMSAxMCAxNCIgLz4KICA8cGF0aCBkPSJNOCA2djgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/megaphone\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMegaphone = /*#__PURE__*/(() => {\n  class LucideMegaphone extends LucideIconBase {\n    static icon = {\n      name: 'megaphone',\n      size: 24,\n      node: [['path', {\n        d: 'M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z',\n        key: 'q8bfy3'\n      }], ['path', {\n        d: 'M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14',\n        key: '1853fq'\n      }], ['path', {\n        d: 'M8 6v8',\n        key: '15ugcq'\n      }]]\n    };\n    icon = signal(LucideMegaphone.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMegaphone_BaseFactory;\n      return function LucideMegaphone_Factory(__ngFactoryType__) {\n        return (ɵLucideMegaphone_BaseFactory || (ɵLucideMegaphone_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMegaphone)))(__ngFactoryType__ || LucideMegaphone);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMegaphone,\n      selectors: [[\"svg\", \"lucideMegaphone\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c958,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMegaphone_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMegaphone_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMegaphone;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MegaphoneOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuNjM2IDZBMTMgMTMgMCAwIDAgMTkuNCAzLjIgMSAxIDAgMCAxIDIxIDR2MTEuMzQ0IiAvPgogIDxwYXRoIGQ9Ik0xNC4zNzggMTQuMzU3QTEzIDEzIDAgMCAwIDExIDE0SDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoMSIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik02IDE0YTEyIDEyIDAgMCAwIDIuNCA3LjIgMiAyIDAgMCAwIDMuMi0yLjRBOCA4IDAgMCAxIDEwIDE0IiAvPgogIDxwYXRoIGQ9Ik04IDh2NiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/megaphone-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMegaphoneOff = /*#__PURE__*/(() => {\n  class LucideMegaphoneOff extends LucideIconBase {\n    static icon = {\n      name: 'megaphone-off',\n      size: 24,\n      node: [['path', {\n        d: 'M11.636 6A13 13 0 0 0 19.4 3.2 1 1 0 0 1 21 4v11.344',\n        key: 'bycexp'\n      }], ['path', {\n        d: 'M14.378 14.357A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h1',\n        key: '1t17s6'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14',\n        key: '1853fq'\n      }], ['path', {\n        d: 'M8 8v6',\n        key: 'aieo6v'\n      }]]\n    };\n    icon = signal(LucideMegaphoneOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMegaphoneOff_BaseFactory;\n      return function LucideMegaphoneOff_Factory(__ngFactoryType__) {\n        return (ɵLucideMegaphoneOff_BaseFactory || (ɵLucideMegaphoneOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMegaphoneOff)))(__ngFactoryType__ || LucideMegaphoneOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMegaphoneOff,\n      selectors: [[\"svg\", \"lucideMegaphoneOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c959,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMegaphoneOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMegaphoneOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMegaphoneOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Meh\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8bGluZSB4MT0iOCIgeDI9IjE2IiB5MT0iMTUiIHkyPSIxNSIgLz4KICA8bGluZSB4MT0iOSIgeDI9IjkuMDEiIHkxPSI5IiB5Mj0iOSIgLz4KICA8bGluZSB4MT0iMTUiIHgyPSIxNS4wMSIgeTE9IjkiIHkyPSI5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/meh\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMeh = /*#__PURE__*/(() => {\n  class LucideMeh extends LucideIconBase {\n    static icon = {\n      name: 'meh',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['line', {\n        x1: '8',\n        x2: '16',\n        y1: '15',\n        y2: '15',\n        key: '1xb1d9'\n      }], ['line', {\n        x1: '9',\n        x2: '9.01',\n        y1: '9',\n        y2: '9',\n        key: 'yxxnd0'\n      }], ['line', {\n        x1: '15',\n        x2: '15.01',\n        y1: '9',\n        y2: '9',\n        key: '1p4y9e'\n      }]]\n    };\n    icon = signal(LucideMeh.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMeh_BaseFactory;\n      return function LucideMeh_Factory(__ngFactoryType__) {\n        return (ɵLucideMeh_BaseFactory || (ɵLucideMeh_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMeh)))(__ngFactoryType__ || LucideMeh);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMeh,\n      selectors: [[\"svg\", \"lucideMeh\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c960,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMeh_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMeh_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMeh;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Medal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNy4yMSAxNSAyLjY2IDcuMTRhMiAyIDAgMCAxIC4xMy0yLjJMNC40IDIuOEEyIDIgMCAwIDEgNiAyaDEyYTIgMiAwIDAgMSAxLjYuOGwxLjYgMi4xNGEyIDIgMCAwIDEgLjE0IDIuMkwxNi43OSAxNSIgLz4KICA8cGF0aCBkPSJNMTEgMTIgNS4xMiAyLjIiIC8+CiAgPHBhdGggZD0ibTEzIDEyIDUuODgtOS44IiAvPgogIDxwYXRoIGQ9Ik04IDdoOCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE3IiByPSI1IiAvPgogIDxwYXRoIGQ9Ik0xMiAxOHYtMmgtLjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/medal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMedal = /*#__PURE__*/(() => {\n  class LucideMedal extends LucideIconBase {\n    static icon = {\n      name: 'medal',\n      size: 24,\n      node: [['path', {\n        d: 'M7.21 15 2.66 7.14a2 2 0 0 1 .13-2.2L4.4 2.8A2 2 0 0 1 6 2h12a2 2 0 0 1 1.6.8l1.6 2.14a2 2 0 0 1 .14 2.2L16.79 15',\n        key: '143lza'\n      }], ['path', {\n        d: 'M11 12 5.12 2.2',\n        key: 'qhuxz6'\n      }], ['path', {\n        d: 'm13 12 5.88-9.8',\n        key: 'hbye0f'\n      }], ['path', {\n        d: 'M8 7h8',\n        key: 'i86dvs'\n      }], ['circle', {\n        cx: '12',\n        cy: '17',\n        r: '5',\n        key: 'qbz8iq'\n      }], ['path', {\n        d: 'M12 18v-2h-.5',\n        key: 'fawc4q'\n      }]]\n    };\n    icon = signal(LucideMedal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMedal_BaseFactory;\n      return function LucideMedal_Factory(__ngFactoryType__) {\n        return (ɵLucideMedal_BaseFactory || (ɵLucideMedal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMedal)))(__ngFactoryType__ || LucideMedal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMedal,\n      selectors: [[\"svg\", \"lucideMedal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c961,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMedal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMedal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMedal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MemoryStick\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTJ2LTIiIC8+CiAgPHBhdGggZD0iTTEyIDE4di0yIiAvPgogIDxwYXRoIGQ9Ik0xNiAxMnYtMiIgLz4KICA8cGF0aCBkPSJNMTYgMTh2LTIiIC8+CiAgPHBhdGggZD0iTTIgMTFoMS41IiAvPgogIDxwYXRoIGQ9Ik0yMCAxOHYtMiIgLz4KICA8cGF0aCBkPSJNMjAuNSAxMUgyMiIgLz4KICA8cGF0aCBkPSJNNCAxOHYtMiIgLz4KICA8cGF0aCBkPSJNOCAxMnYtMiIgLz4KICA8cGF0aCBkPSJNOCAxOHYtMiIgLz4KICA8cmVjdCB4PSIyIiB5PSI2IiB3aWR0aD0iMjAiIGhlaWdodD0iMTAiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/memory-stick\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMemoryStick = /*#__PURE__*/(() => {\n  class LucideMemoryStick extends LucideIconBase {\n    static icon = {\n      name: 'memory-stick',\n      size: 24,\n      node: [['path', {\n        d: 'M12 12v-2',\n        key: 'fwoke6'\n      }], ['path', {\n        d: 'M12 18v-2',\n        key: 'qj6yno'\n      }], ['path', {\n        d: 'M16 12v-2',\n        key: 'heuere'\n      }], ['path', {\n        d: 'M16 18v-2',\n        key: 's1ct0w'\n      }], ['path', {\n        d: 'M2 11h1.5',\n        key: '15p63e'\n      }], ['path', {\n        d: 'M20 18v-2',\n        key: '12ehxp'\n      }], ['path', {\n        d: 'M20.5 11H22',\n        key: 'khsy7a'\n      }], ['path', {\n        d: 'M4 18v-2',\n        key: '1c3oqr'\n      }], ['path', {\n        d: 'M8 12v-2',\n        key: '1mwtfd'\n      }], ['path', {\n        d: 'M8 18v-2',\n        key: 'qcmpov'\n      }], ['rect', {\n        x: '2',\n        y: '6',\n        width: '20',\n        height: '10',\n        rx: '2',\n        key: '1qcswk'\n      }]]\n    };\n    icon = signal(LucideMemoryStick.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMemoryStick_BaseFactory;\n      return function LucideMemoryStick_Factory(__ngFactoryType__) {\n        return (ɵLucideMemoryStick_BaseFactory || (ɵLucideMemoryStick_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMemoryStick)))(__ngFactoryType__ || LucideMemoryStick);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMemoryStick,\n      selectors: [[\"svg\", \"lucideMemoryStick\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c962,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMemoryStick_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMemoryStick_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMemoryStick;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Menu\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCA1aDE2IiAvPgogIDxwYXRoIGQ9Ik00IDEyaDE2IiAvPgogIDxwYXRoIGQ9Ik00IDE5aDE2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/menu\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMenu = /*#__PURE__*/(() => {\n  class LucideMenu extends LucideIconBase {\n    static icon = {\n      name: 'menu',\n      size: 24,\n      node: [['path', {\n        d: 'M4 5h16',\n        key: '1tepv9'\n      }], ['path', {\n        d: 'M4 12h16',\n        key: '1lakjw'\n      }], ['path', {\n        d: 'M4 19h16',\n        key: '1djgab'\n      }]]\n    };\n    icon = signal(LucideMenu.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMenu_BaseFactory;\n      return function LucideMenu_Factory(__ngFactoryType__) {\n        return (ɵLucideMenu_BaseFactory || (ɵLucideMenu_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMenu)))(__ngFactoryType__ || LucideMenu);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMenu,\n      selectors: [[\"svg\", \"lucideMenu\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c963,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMenu_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMenu_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMenu;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Merge\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOCA2IDQtNCA0IDQiIC8+CiAgPHBhdGggZD0iTTEyIDJ2MTAuM2E0IDQgMCAwIDEtMS4xNzIgMi44NzJMNCAyMiIgLz4KICA8cGF0aCBkPSJtMjAgMjItNS01IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/merge\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMerge = /*#__PURE__*/(() => {\n  class LucideMerge extends LucideIconBase {\n    static icon = {\n      name: 'merge',\n      size: 24,\n      node: [['path', {\n        d: 'm8 6 4-4 4 4',\n        key: 'ybng9g'\n      }], ['path', {\n        d: 'M12 2v10.3a4 4 0 0 1-1.172 2.872L4 22',\n        key: '1hyw0i'\n      }], ['path', {\n        d: 'm20 22-5-5',\n        key: '1m27yz'\n      }]]\n    };\n    icon = signal(LucideMerge.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMerge_BaseFactory;\n      return function LucideMerge_Factory(__ngFactoryType__) {\n        return (ɵLucideMerge_BaseFactory || (ɵLucideMerge_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMerge)))(__ngFactoryType__ || LucideMerge);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMerge,\n      selectors: [[\"svg\", \"lucideMerge\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c964,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMerge_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMerge_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMerge;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageCircleCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkiIC8+CiAgPHBhdGggZD0ibTkgMTIgMiAyIDQtNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/message-circle-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageCircleCheck = /*#__PURE__*/(() => {\n  class LucideMessageCircleCheck extends LucideIconBase {\n    static icon = {\n      name: 'message-circle-check',\n      size: 24,\n      node: [['path', {\n        d: 'M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719',\n        key: '1sd12s'\n      }], ['path', {\n        d: 'm9 12 2 2 4-4',\n        key: 'dzmm74'\n      }]]\n    };\n    icon = signal(LucideMessageCircleCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageCircleCheck_BaseFactory;\n      return function LucideMessageCircleCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageCircleCheck_BaseFactory || (ɵLucideMessageCircleCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageCircleCheck)))(__ngFactoryType__ || LucideMessageCircleCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageCircleCheck,\n      selectors: [[\"svg\", \"lucideMessageCircleCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c965,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageCircleCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageCircleCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageCircleCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageCircleCode\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAgOS0zIDMgMyAzIiAvPgogIDxwYXRoIGQ9Im0xNCAxNSAzLTMtMy0zIiAvPgogIDxwYXRoIGQ9Ik0yLjk5MiAxNi4zNDJhMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDEgMC00Ljc3Ny00LjcxOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/message-circle-code\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageCircleCode = /*#__PURE__*/(() => {\n  class LucideMessageCircleCode extends LucideIconBase {\n    static icon = {\n      name: 'message-circle-code',\n      size: 24,\n      node: [['path', {\n        d: 'm10 9-3 3 3 3',\n        key: '1oro0q'\n      }], ['path', {\n        d: 'm14 15 3-3-3-3',\n        key: 'bz13h7'\n      }], ['path', {\n        d: 'M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719',\n        key: '1sd12s'\n      }]]\n    };\n    icon = signal(LucideMessageCircleCode.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageCircleCode_BaseFactory;\n      return function LucideMessageCircleCode_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageCircleCode_BaseFactory || (ɵLucideMessageCircleCode_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageCircleCode)))(__ngFactoryType__ || LucideMessageCircleCode);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageCircleCode,\n      selectors: [[\"svg\", \"lucideMessageCircleCode\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c966,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageCircleCode_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageCircleCode_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageCircleCode;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageCircleDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMSAyLjE4MmExMCAxMCAwIDAgMSAzLjggMCIgLz4KICA8cGF0aCBkPSJNMTMuOSAyMS44MThhMTAgMTAgMCAwIDEtMy44IDAiIC8+CiAgPHBhdGggZD0iTTE3LjYwOSAzLjcyYTEwIDEwIDAgMCAxIDIuNjkgMi43IiAvPgogIDxwYXRoIGQ9Ik0yLjE4MiAxMy45YTEwIDEwIDAgMCAxIDAtMy44IiAvPgogIDxwYXRoIGQ9Ik0yMC4yOCAxNy42MWExMCAxMCAwIDAgMS0yLjcgMi42OSIgLz4KICA8cGF0aCBkPSJNMjEuODE4IDEwLjFhMTAgMTAgMCAwIDEgMCAzLjgiIC8+CiAgPHBhdGggZD0iTTMuNzIxIDYuMzkxYTEwIDEwIDAgMCAxIDIuNy0yLjY5IiAvPgogIDxwYXRoIGQ9Im02LjE2MyAyMS4xMTctMi45MDYuODVhMSAxIDAgMCAxLTEuMjM2LTEuMTY5bC45NjUtMi45OCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/message-circle-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageCircleDashed = /*#__PURE__*/(() => {\n  class LucideMessageCircleDashed extends LucideIconBase {\n    static icon = {\n      name: 'message-circle-dashed',\n      size: 24,\n      node: [['path', {\n        d: 'M10.1 2.182a10 10 0 0 1 3.8 0',\n        key: '5ilxe3'\n      }], ['path', {\n        d: 'M13.9 21.818a10 10 0 0 1-3.8 0',\n        key: '11zvb9'\n      }], ['path', {\n        d: 'M17.609 3.72a10 10 0 0 1 2.69 2.7',\n        key: 'jiglxs'\n      }], ['path', {\n        d: 'M2.182 13.9a10 10 0 0 1 0-3.8',\n        key: 'c0bmvh'\n      }], ['path', {\n        d: 'M20.28 17.61a10 10 0 0 1-2.7 2.69',\n        key: 'elg7ff'\n      }], ['path', {\n        d: 'M21.818 10.1a10 10 0 0 1 0 3.8',\n        key: 'qkgqxc'\n      }], ['path', {\n        d: 'M3.721 6.391a10 10 0 0 1 2.7-2.69',\n        key: '1mcia2'\n      }], ['path', {\n        d: 'm6.163 21.117-2.906.85a1 1 0 0 1-1.236-1.169l.965-2.98',\n        key: '1qsu07'\n      }]]\n    };\n    icon = signal(LucideMessageCircleDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageCircleDashed_BaseFactory;\n      return function LucideMessageCircleDashed_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageCircleDashed_BaseFactory || (ɵLucideMessageCircleDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageCircleDashed)))(__ngFactoryType__ || LucideMessageCircleDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageCircleDashed,\n      selectors: [[\"svg\", \"lucideMessageCircleDashed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c967,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageCircleDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageCircleDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageCircleDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageCircleHeart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkiIC8+CiAgPHBhdGggZD0iTTcuODI4IDEzLjA3QTMgMyAwIDAgMSAxMiA4Ljc2NGEzIDMgMCAwIDEgNS4wMDQgMi4yMjQgMyAzIDAgMCAxLS44MzIgMi4wODNsLTMuNDQ3IDMuNjJhMSAxIDAgMCAxLTEuNDUtLjAwMXoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/message-circle-heart\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageCircleHeart = /*#__PURE__*/(() => {\n  class LucideMessageCircleHeart extends LucideIconBase {\n    static icon = {\n      name: 'message-circle-heart',\n      size: 24,\n      node: [['path', {\n        d: 'M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719',\n        key: '1sd12s'\n      }], ['path', {\n        d: 'M7.828 13.07A3 3 0 0 1 12 8.764a3 3 0 0 1 5.004 2.224 3 3 0 0 1-.832 2.083l-3.447 3.62a1 1 0 0 1-1.45-.001z',\n        key: 'hoo97p'\n      }]]\n    };\n    icon = signal(LucideMessageCircleHeart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageCircleHeart_BaseFactory;\n      return function LucideMessageCircleHeart_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageCircleHeart_BaseFactory || (ɵLucideMessageCircleHeart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageCircleHeart)))(__ngFactoryType__ || LucideMessageCircleHeart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageCircleHeart,\n      selectors: [[\"svg\", \"lucideMessageCircleHeart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c968,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageCircleHeart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageCircleHeart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageCircleHeart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageCircleMore\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkiIC8+CiAgPHBhdGggZD0iTTggMTJoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMiAxMmguMDEiIC8+CiAgPHBhdGggZD0iTTE2IDEyaC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/message-circle-more\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageCircleMore = /*#__PURE__*/(() => {\n  class LucideMessageCircleMore extends LucideIconBase {\n    static icon = {\n      name: 'message-circle-more',\n      size: 24,\n      node: [['path', {\n        d: 'M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719',\n        key: '1sd12s'\n      }], ['path', {\n        d: 'M8 12h.01',\n        key: 'czm47f'\n      }], ['path', {\n        d: 'M12 12h.01',\n        key: '1mp3jc'\n      }], ['path', {\n        d: 'M16 12h.01',\n        key: '1l6xoz'\n      }]]\n    };\n    icon = signal(LucideMessageCircleMore.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageCircleMore_BaseFactory;\n      return function LucideMessageCircleMore_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageCircleMore_BaseFactory || (ɵLucideMessageCircleMore_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageCircleMore)))(__ngFactoryType__ || LucideMessageCircleMore);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageCircleMore,\n      selectors: [[\"svg\", \"lucideMessageCircleMore\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c969,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageCircleMore_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageCircleMore_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageCircleMore;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageCircleOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik00LjkzIDQuOTI5YTEwIDEwIDAgMCAwLTEuOTM4IDExLjQxMiAyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMCAwIDExLjMwMi0xLjk4OSIgLz4KICA8cGF0aCBkPSJNOC4zNSAyLjY5QTEwIDEwIDAgMCAxIDIxLjMgMTUuNjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/message-circle-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageCircleOff = /*#__PURE__*/(() => {\n  class LucideMessageCircleOff extends LucideIconBase {\n    static icon = {\n      name: 'message-circle-off',\n      size: 24,\n      node: [['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M4.93 4.929a10 10 0 0 0-1.938 11.412 2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 0 0 11.302-1.989',\n        key: '7il5tn'\n      }], ['path', {\n        d: 'M8.35 2.69A10 10 0 0 1 21.3 15.65',\n        key: '1pfsoa'\n      }]]\n    };\n    icon = signal(LucideMessageCircleOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageCircleOff_BaseFactory;\n      return function LucideMessageCircleOff_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageCircleOff_BaseFactory || (ɵLucideMessageCircleOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageCircleOff)))(__ngFactoryType__ || LucideMessageCircleOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageCircleOff,\n      selectors: [[\"svg\", \"lucideMessageCircleOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c970,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageCircleOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageCircleOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageCircleOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageCirclePlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkiIC8+CiAgPHBhdGggZD0iTTggMTJoOCIgLz4KICA8cGF0aCBkPSJNMTIgOHY4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/message-circle-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageCirclePlus = /*#__PURE__*/(() => {\n  class LucideMessageCirclePlus extends LucideIconBase {\n    static icon = {\n      name: 'message-circle-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719',\n        key: '1sd12s'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }], ['path', {\n        d: 'M12 8v8',\n        key: 'napkw2'\n      }]]\n    };\n    icon = signal(LucideMessageCirclePlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageCirclePlus_BaseFactory;\n      return function LucideMessageCirclePlus_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageCirclePlus_BaseFactory || (ɵLucideMessageCirclePlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageCirclePlus)))(__ngFactoryType__ || LucideMessageCirclePlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageCirclePlus,\n      selectors: [[\"svg\", \"lucideMessageCirclePlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c971,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageCirclePlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageCirclePlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageCirclePlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageCircleQuestionMark\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkiIC8+CiAgPHBhdGggZD0iTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzIiAvPgogIDxwYXRoIGQ9Ik0xMiAxN2guMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/message-circle-question-mark\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageCircleQuestionMark = /*#__PURE__*/(() => {\n  class LucideMessageCircleQuestionMark extends LucideIconBase {\n    static icon = {\n      name: 'message-circle-question-mark',\n      size: 24,\n      node: [['path', {\n        d: 'M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719',\n        key: '1sd12s'\n      }], ['path', {\n        d: 'M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3',\n        key: '1u773s'\n      }], ['path', {\n        d: 'M12 17h.01',\n        key: 'p32p05'\n      }]],\n      aliases: ['message-circle-question']\n    };\n    icon = signal(LucideMessageCircleQuestionMark.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageCircleQuestionMark_BaseFactory;\n      return function LucideMessageCircleQuestionMark_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageCircleQuestionMark_BaseFactory || (ɵLucideMessageCircleQuestionMark_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageCircleQuestionMark)))(__ngFactoryType__ || LucideMessageCircleQuestionMark);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageCircleQuestionMark,\n      selectors: [[\"svg\", \"lucideMessageCircleQuestionMark\", \"\"], [\"svg\", \"lucideMessageCircleQuestion\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c972,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageCircleQuestionMark_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageCircleQuestionMark_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageCircleQuestionMark;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideMessageCircleQuestionMark\n */\nconst LucideMessageCircleQuestion = LucideMessageCircleQuestionMark;\n\n/**\n * @component @name MessageCircleX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkiIC8+CiAgPHBhdGggZD0ibTE1IDktNiA2IiAvPgogIDxwYXRoIGQ9Im05IDkgNiA2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/message-circle-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageCircleX = /*#__PURE__*/(() => {\n  class LucideMessageCircleX extends LucideIconBase {\n    static icon = {\n      name: 'message-circle-x',\n      size: 24,\n      node: [['path', {\n        d: 'M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719',\n        key: '1sd12s'\n      }], ['path', {\n        d: 'm15 9-6 6',\n        key: '1uzhvr'\n      }], ['path', {\n        d: 'm9 9 6 6',\n        key: 'z0biqf'\n      }]]\n    };\n    icon = signal(LucideMessageCircleX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageCircleX_BaseFactory;\n      return function LucideMessageCircleX_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageCircleX_BaseFactory || (ɵLucideMessageCircleX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageCircleX)))(__ngFactoryType__ || LucideMessageCircleX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageCircleX,\n      selectors: [[\"svg\", \"lucideMessageCircleX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c973,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageCircleX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageCircleX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageCircleX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageCircleReply\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkiIC8+CiAgPHBhdGggZD0ibTEwIDE1LTMtMyAzLTMiIC8+CiAgPHBhdGggZD0iTTcgMTJoOGEyIDIgMCAwIDEgMiAydjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/message-circle-reply\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageCircleReply = /*#__PURE__*/(() => {\n  class LucideMessageCircleReply extends LucideIconBase {\n    static icon = {\n      name: 'message-circle-reply',\n      size: 24,\n      node: [['path', {\n        d: 'M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719',\n        key: '1sd12s'\n      }], ['path', {\n        d: 'm10 15-3-3 3-3',\n        key: '1pgupc'\n      }], ['path', {\n        d: 'M7 12h8a2 2 0 0 1 2 2v1',\n        key: '89sh1g'\n      }]]\n    };\n    icon = signal(LucideMessageCircleReply.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageCircleReply_BaseFactory;\n      return function LucideMessageCircleReply_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageCircleReply_BaseFactory || (ɵLucideMessageCircleReply_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageCircleReply)))(__ngFactoryType__ || LucideMessageCircleReply);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageCircleReply,\n      selectors: [[\"svg\", \"lucideMessageCircleReply\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c974,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageCircleReply_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageCircleReply_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageCircleReply;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageCircleWarning\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkiIC8+CiAgPHBhdGggZD0iTTEyIDh2NCIgLz4KICA8cGF0aCBkPSJNMTIgMTZoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/message-circle-warning\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageCircleWarning = /*#__PURE__*/(() => {\n  class LucideMessageCircleWarning extends LucideIconBase {\n    static icon = {\n      name: 'message-circle-warning',\n      size: 24,\n      node: [['path', {\n        d: 'M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719',\n        key: '1sd12s'\n      }], ['path', {\n        d: 'M12 8v4',\n        key: '1got3b'\n      }], ['path', {\n        d: 'M12 16h.01',\n        key: '1drbdi'\n      }]]\n    };\n    icon = signal(LucideMessageCircleWarning.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageCircleWarning_BaseFactory;\n      return function LucideMessageCircleWarning_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageCircleWarning_BaseFactory || (ɵLucideMessageCircleWarning_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageCircleWarning)))(__ngFactoryType__ || LucideMessageCircleWarning);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageCircleWarning,\n      selectors: [[\"svg\", \"lucideMessageCircleWarning\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c975,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageCircleWarning_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageCircleWarning_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageCircleWarning;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/message-circle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageCircle = /*#__PURE__*/(() => {\n  class LucideMessageCircle extends LucideIconBase {\n    static icon = {\n      name: 'message-circle',\n      size: 24,\n      node: [['path', {\n        d: 'M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719',\n        key: '1sd12s'\n      }]]\n    };\n    icon = signal(LucideMessageCircle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageCircle_BaseFactory;\n      return function LucideMessageCircle_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageCircle_BaseFactory || (ɵLucideMessageCircle_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageCircle)))(__ngFactoryType__ || LucideMessageCircle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageCircle,\n      selectors: [[\"svg\", \"lucideMessageCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c976,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageCircle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageCircle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageCircle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquareDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgM2gyIiAvPgogIDxwYXRoIGQ9Ik0xNiAxOWgtMiIgLz4KICA8cGF0aCBkPSJNMiAxMnYtMiIgLz4KICA8cGF0aCBkPSJNMiAxNnY1LjI4NmEuNzEuNzEgMCAwIDAgMS4yMTIuNTAybDEuMTQ5LTEuMTQ5IiAvPgogIDxwYXRoIGQ9Ik0yMCAxOWEyIDIgMCAwIDAgMi0ydi0xIiAvPgogIDxwYXRoIGQ9Ik0yMiAxMHYyIiAvPgogIDxwYXRoIGQ9Ik0yMiA2VjVhMiAyIDAgMCAwLTItMiIgLz4KICA8cGF0aCBkPSJNNCAzYTIgMiAwIDAgMC0yIDJ2MSIgLz4KICA8cGF0aCBkPSJNOCAxOWgyIiAvPgogIDxwYXRoIGQ9Ik04IDNoMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/message-square-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquareDashed = /*#__PURE__*/(() => {\n  class LucideMessageSquareDashed extends LucideIconBase {\n    static icon = {\n      name: 'message-square-dashed',\n      size: 24,\n      node: [['path', {\n        d: 'M14 3h2',\n        key: '1d12a5'\n      }], ['path', {\n        d: 'M16 19h-2',\n        key: '1agirb'\n      }], ['path', {\n        d: 'M2 12v-2',\n        key: '1ey295'\n      }], ['path', {\n        d: 'M2 16v5.286a.71.71 0 0 0 1.212.502l1.149-1.149',\n        key: '120k8q'\n      }], ['path', {\n        d: 'M20 19a2 2 0 0 0 2-2v-1',\n        key: 'ior8tn'\n      }], ['path', {\n        d: 'M22 10v2',\n        key: 'rmlecy'\n      }], ['path', {\n        d: 'M22 6V5a2 2 0 0 0-2-2',\n        key: 'sp3k6r'\n      }], ['path', {\n        d: 'M4 3a2 2 0 0 0-2 2v1',\n        key: '11zt7s'\n      }], ['path', {\n        d: 'M8 19h2',\n        key: 'jnunrx'\n      }], ['path', {\n        d: 'M8 3h2',\n        key: 'ysbsee'\n      }]]\n    };\n    icon = signal(LucideMessageSquareDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquareDashed_BaseFactory;\n      return function LucideMessageSquareDashed_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquareDashed_BaseFactory || (ɵLucideMessageSquareDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquareDashed)))(__ngFactoryType__ || LucideMessageSquareDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquareDashed,\n      selectors: [[\"svg\", \"lucideMessageSquareDashed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c977,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquareDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquareDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquareDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquareCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNy43IDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiIgLz4KICA8cGF0aCBkPSJtOSAxMSAyIDIgNC00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/message-square-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquareCheck = /*#__PURE__*/(() => {\n  class LucideMessageSquareCheck extends LucideIconBase {\n    static icon = {\n      name: 'message-square-check',\n      size: 24,\n      node: [['path', {\n        d: 'M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.7.7 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z',\n        key: 'm0kn7k'\n      }], ['path', {\n        d: 'm9 11 2 2 4-4',\n        key: 'kz4plv'\n      }]]\n    };\n    icon = signal(LucideMessageSquareCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquareCheck_BaseFactory;\n      return function LucideMessageSquareCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquareCheck_BaseFactory || (ɵLucideMessageSquareCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquareCheck)))(__ngFactoryType__ || LucideMessageSquareCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquareCheck,\n      selectors: [[\"svg\", \"lucideMessageSquareCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c978,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquareCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquareCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquareCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquareCode\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6IiAvPgogIDxwYXRoIGQ9Im0xMCA4LTMgMyAzIDMiIC8+CiAgPHBhdGggZD0ibTE0IDE0IDMtMy0zLTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/message-square-code\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquareCode = /*#__PURE__*/(() => {\n  class LucideMessageSquareCode extends LucideIconBase {\n    static icon = {\n      name: 'message-square-code',\n      size: 24,\n      node: [['path', {\n        d: 'M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z',\n        key: '18887p'\n      }], ['path', {\n        d: 'm10 8-3 3 3 3',\n        key: 'fp6dz7'\n      }], ['path', {\n        d: 'm14 14 3-3-3-3',\n        key: '1yrceu'\n      }]]\n    };\n    icon = signal(LucideMessageSquareCode.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquareCode_BaseFactory;\n      return function LucideMessageSquareCode_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquareCode_BaseFactory || (ɵLucideMessageSquareCode_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquareCode)))(__ngFactoryType__ || LucideMessageSquareCode);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquareCode,\n      selectors: [[\"svg\", \"lucideMessageSquareCode\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c979,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquareCode_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquareCode_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquareCode;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquareDiff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6IiAvPgogIDxwYXRoIGQ9Ik0xMCAxNWg0IiAvPgogIDxwYXRoIGQ9Ik0xMCA5aDQiIC8+CiAgPHBhdGggZD0iTTEyIDd2NCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/message-square-diff\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquareDiff = /*#__PURE__*/(() => {\n  class LucideMessageSquareDiff extends LucideIconBase {\n    static icon = {\n      name: 'message-square-diff',\n      size: 24,\n      node: [['path', {\n        d: 'M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z',\n        key: '18887p'\n      }], ['path', {\n        d: 'M10 15h4',\n        key: '192ueg'\n      }], ['path', {\n        d: 'M10 9h4',\n        key: 'u4k05v'\n      }], ['path', {\n        d: 'M12 7v4',\n        key: 'xawao1'\n      }]]\n    };\n    icon = signal(LucideMessageSquareDiff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquareDiff_BaseFactory;\n      return function LucideMessageSquareDiff_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquareDiff_BaseFactory || (ɵLucideMessageSquareDiff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquareDiff)))(__ngFactoryType__ || LucideMessageSquareDiff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquareDiff,\n      selectors: [[\"svg\", \"lucideMessageSquareDiff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c980,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquareDiff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquareDiff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquareDiff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquareDot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuNyAzSDRhMiAyIDAgMCAwLTIgMnYxNi4yODZhLjcxLjcxIDAgMCAwIDEuMjEyLjUwMmwyLjIwMi0yLjIwMkEyIDIgMCAwIDEgNi44MjggMTlIMjBhMiAyIDAgMCAwIDItMnYtNC43IiAvPgogIDxjaXJjbGUgY3g9IjE5IiBjeT0iNiIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/message-square-dot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquareDot = /*#__PURE__*/(() => {\n  class LucideMessageSquareDot extends LucideIconBase {\n    static icon = {\n      name: 'message-square-dot',\n      size: 24,\n      node: [['path', {\n        d: 'M12.7 3H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H20a2 2 0 0 0 2-2v-4.7',\n        key: 'wjb7ig'\n      }], ['circle', {\n        cx: '19',\n        cy: '6',\n        r: '3',\n        key: '108a5v'\n      }]]\n    };\n    icon = signal(LucideMessageSquareDot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquareDot_BaseFactory;\n      return function LucideMessageSquareDot_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquareDot_BaseFactory || (ɵLucideMessageSquareDot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquareDot)))(__ngFactoryType__ || LucideMessageSquareDot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquareDot,\n      selectors: [[\"svg\", \"lucideMessageSquareDot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c981,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquareDot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquareDot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquareDot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquareHeart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6IiAvPgogIDxwYXRoIGQ9Ik03LjUgOS41YzAgLjY4Ny4yNjUgMS4zODMuNjk3IDEuODQ0bDMuMDA5IDMuMjY0YTEuMTQgMS4xNCAwIDAgMCAuNDA3LjMxNCAxIDEgMCAwIDAgLjc4My0uMDA0IDEuMTQgMS4xNCAwIDAgMCAuMzk4LS4zMWwzLjAwOC0zLjI2NEEyLjc3IDIuNzcgMCAwIDAgMTYuNSA5LjUgMi41IDIuNSAwIDAgMCAxMiA4YTIuNSAyLjUgMCAwIDAtNC41IDEuNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/message-square-heart\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquareHeart = /*#__PURE__*/(() => {\n  class LucideMessageSquareHeart extends LucideIconBase {\n    static icon = {\n      name: 'message-square-heart',\n      size: 24,\n      node: [['path', {\n        d: 'M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z',\n        key: '18887p'\n      }], ['path', {\n        d: 'M7.5 9.5c0 .687.265 1.383.697 1.844l3.009 3.264a1.14 1.14 0 0 0 .407.314 1 1 0 0 0 .783-.004 1.14 1.14 0 0 0 .398-.31l3.008-3.264A2.77 2.77 0 0 0 16.5 9.5 2.5 2.5 0 0 0 12 8a2.5 2.5 0 0 0-4.5 1.5',\n        key: '1faxuh'\n      }]]\n    };\n    icon = signal(LucideMessageSquareHeart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquareHeart_BaseFactory;\n      return function LucideMessageSquareHeart_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquareHeart_BaseFactory || (ɵLucideMessageSquareHeart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquareHeart)))(__ngFactoryType__ || LucideMessageSquareHeart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquareHeart,\n      selectors: [[\"svg\", \"lucideMessageSquareHeart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c982,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquareHeart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquareHeart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquareHeart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquareLock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgOC41VjVhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTYuMjg2YS43MS43MSAwIDAgMCAxLjIxMi41MDJsMi4yMDItMi4yMDJBMiAyIDAgMCAxIDYuODI4IDE5SDEwIiAvPgogIDxwYXRoIGQ9Ik0yMCAxNXYtMmEyIDIgMCAwIDAtNCAwdjIiIC8+CiAgPHJlY3QgeD0iMTQiIHk9IjE1IiB3aWR0aD0iOCIgaGVpZ2h0PSI1IiByeD0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/message-square-lock\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquareLock = /*#__PURE__*/(() => {\n  class LucideMessageSquareLock extends LucideIconBase {\n    static icon = {\n      name: 'message-square-lock',\n      size: 24,\n      node: [['path', {\n        d: 'M22 8.5V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H10',\n        key: 'fu6chl'\n      }], ['path', {\n        d: 'M20 15v-2a2 2 0 0 0-4 0v2',\n        key: 'vl8a78'\n      }], ['rect', {\n        x: '14',\n        y: '15',\n        width: '8',\n        height: '5',\n        rx: '1',\n        key: '37aafw'\n      }]]\n    };\n    icon = signal(LucideMessageSquareLock.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquareLock_BaseFactory;\n      return function LucideMessageSquareLock_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquareLock_BaseFactory || (ɵLucideMessageSquareLock_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquareLock)))(__ngFactoryType__ || LucideMessageSquareLock);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquareLock,\n      selectors: [[\"svg\", \"lucideMessageSquareLock\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c983,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquareLock_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquareLock_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquareLock;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquareMore\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6IiAvPgogIDxwYXRoIGQ9Ik0xMiAxMWguMDEiIC8+CiAgPHBhdGggZD0iTTE2IDExaC4wMSIgLz4KICA8cGF0aCBkPSJNOCAxMWguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/message-square-more\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquareMore = /*#__PURE__*/(() => {\n  class LucideMessageSquareMore extends LucideIconBase {\n    static icon = {\n      name: 'message-square-more',\n      size: 24,\n      node: [['path', {\n        d: 'M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z',\n        key: '18887p'\n      }], ['path', {\n        d: 'M12 11h.01',\n        key: 'z322tv'\n      }], ['path', {\n        d: 'M16 11h.01',\n        key: 'xkw8gn'\n      }], ['path', {\n        d: 'M8 11h.01',\n        key: '1dfujw'\n      }]]\n    };\n    icon = signal(LucideMessageSquareMore.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquareMore_BaseFactory;\n      return function LucideMessageSquareMore_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquareMore_BaseFactory || (ɵLucideMessageSquareMore_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquareMore)))(__ngFactoryType__ || LucideMessageSquareMore);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquareMore,\n      selectors: [[\"svg\", \"lucideMessageSquareMore\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c984,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquareMore_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquareMore_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquareMore;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquarePlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6IiAvPgogIDxwYXRoIGQ9Ik0xMiA4djYiIC8+CiAgPHBhdGggZD0iTTkgMTFoNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/message-square-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquarePlus = /*#__PURE__*/(() => {\n  class LucideMessageSquarePlus extends LucideIconBase {\n    static icon = {\n      name: 'message-square-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z',\n        key: '18887p'\n      }], ['path', {\n        d: 'M12 8v6',\n        key: '1ib9pf'\n      }], ['path', {\n        d: 'M9 11h6',\n        key: '1fldmi'\n      }]]\n    };\n    icon = signal(LucideMessageSquarePlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquarePlus_BaseFactory;\n      return function LucideMessageSquarePlus_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquarePlus_BaseFactory || (ɵLucideMessageSquarePlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquarePlus)))(__ngFactoryType__ || LucideMessageSquarePlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquarePlus,\n      selectors: [[\"svg\", \"lucideMessageSquarePlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c985,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquarePlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquarePlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquarePlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquareQuote\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMTRhMiAyIDAgMCAwIDItMlY4aC0yIiAvPgogIDxwYXRoIGQ9Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoiIC8+CiAgPHBhdGggZD0iTTggMTRhMiAyIDAgMCAwIDItMlY4SDgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/message-square-quote\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquareQuote = /*#__PURE__*/(() => {\n  class LucideMessageSquareQuote extends LucideIconBase {\n    static icon = {\n      name: 'message-square-quote',\n      size: 24,\n      node: [['path', {\n        d: 'M14 14a2 2 0 0 0 2-2V8h-2',\n        key: '1r06pg'\n      }], ['path', {\n        d: 'M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z',\n        key: '18887p'\n      }], ['path', {\n        d: 'M8 14a2 2 0 0 0 2-2V8H8',\n        key: '1jzu5j'\n      }]]\n    };\n    icon = signal(LucideMessageSquareQuote.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquareQuote_BaseFactory;\n      return function LucideMessageSquareQuote_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquareQuote_BaseFactory || (ɵLucideMessageSquareQuote_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquareQuote)))(__ngFactoryType__ || LucideMessageSquareQuote);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquareQuote,\n      selectors: [[\"svg\", \"lucideMessageSquareQuote\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c986,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquareQuote_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquareQuote_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquareQuote;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquareOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgMTlINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcuNyAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAxLjE4NC0xLjgyNiIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik04LjY1NiAzSDIwYTIgMiAwIDAgMSAyIDJ2MTEuMzQ0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/message-square-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquareOff = /*#__PURE__*/(() => {\n  class LucideMessageSquareOff extends LucideIconBase {\n    static icon = {\n      name: 'message-square-off',\n      size: 24,\n      node: [['path', {\n        d: 'M19 19H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.7.7 0 0 1 2 21.286V5a2 2 0 0 1 1.184-1.826',\n        key: '1wyg69'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M8.656 3H20a2 2 0 0 1 2 2v11.344',\n        key: 'mhl4k6'\n      }]]\n    };\n    icon = signal(LucideMessageSquareOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquareOff_BaseFactory;\n      return function LucideMessageSquareOff_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquareOff_BaseFactory || (ɵLucideMessageSquareOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquareOff)))(__ngFactoryType__ || LucideMessageSquareOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquareOff,\n      selectors: [[\"svg\", \"lucideMessageSquareOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c987,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquareOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquareOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquareOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquareReply\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6IiAvPgogIDxwYXRoIGQ9Im0xMCA4LTMgMyAzIDMiIC8+CiAgPHBhdGggZD0iTTE3IDE0di0xYTIgMiAwIDAgMC0yLTJINyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/message-square-reply\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquareReply = /*#__PURE__*/(() => {\n  class LucideMessageSquareReply extends LucideIconBase {\n    static icon = {\n      name: 'message-square-reply',\n      size: 24,\n      node: [['path', {\n        d: 'M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z',\n        key: '18887p'\n      }], ['path', {\n        d: 'm10 8-3 3 3 3',\n        key: 'fp6dz7'\n      }], ['path', {\n        d: 'M17 14v-1a2 2 0 0 0-2-2H7',\n        key: '1tkjnz'\n      }]]\n    };\n    icon = signal(LucideMessageSquareReply.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquareReply_BaseFactory;\n      return function LucideMessageSquareReply_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquareReply_BaseFactory || (ɵLucideMessageSquareReply_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquareReply)))(__ngFactoryType__ || LucideMessageSquareReply);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquareReply,\n      selectors: [[\"svg\", \"lucideMessageSquareReply\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c988,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquareReply_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquareReply_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquareReply;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquareShare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM0g0YTIgMiAwIDAgMC0yIDJ2MTYuMjg2YS43MS43MSAwIDAgMCAxLjIxMi41MDJsMi4yMDItMi4yMDJBMiAyIDAgMCAxIDYuODI4IDE5SDIwYTIgMiAwIDAgMCAyLTJ2LTQiIC8+CiAgPHBhdGggZD0iTTE2IDNoNnY2IiAvPgogIDxwYXRoIGQ9Im0xNiA5IDYtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/message-square-share\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquareShare = /*#__PURE__*/(() => {\n  class LucideMessageSquareShare extends LucideIconBase {\n    static icon = {\n      name: 'message-square-share',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H20a2 2 0 0 0 2-2v-4',\n        key: '11da1y'\n      }], ['path', {\n        d: 'M16 3h6v6',\n        key: '1bx56c'\n      }], ['path', {\n        d: 'm16 9 6-6',\n        key: 'm4dnic'\n      }]]\n    };\n    icon = signal(LucideMessageSquareShare.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquareShare_BaseFactory;\n      return function LucideMessageSquareShare_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquareShare_BaseFactory || (ɵLucideMessageSquareShare_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquareShare)))(__ngFactoryType__ || LucideMessageSquareShare);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquareShare,\n      selectors: [[\"svg\", \"lucideMessageSquareShare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c989,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquareShare_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquareShare_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquareShare;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquareWarning\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6IiAvPgogIDxwYXRoIGQ9Ik0xMiAxNWguMDEiIC8+CiAgPHBhdGggZD0iTTEyIDd2NCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/message-square-warning\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquareWarning = /*#__PURE__*/(() => {\n  class LucideMessageSquareWarning extends LucideIconBase {\n    static icon = {\n      name: 'message-square-warning',\n      size: 24,\n      node: [['path', {\n        d: 'M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z',\n        key: '18887p'\n      }], ['path', {\n        d: 'M12 15h.01',\n        key: 'q59x07'\n      }], ['path', {\n        d: 'M12 7v4',\n        key: 'xawao1'\n      }]]\n    };\n    icon = signal(LucideMessageSquareWarning.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquareWarning_BaseFactory;\n      return function LucideMessageSquareWarning_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquareWarning_BaseFactory || (ɵLucideMessageSquareWarning_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquareWarning)))(__ngFactoryType__ || LucideMessageSquareWarning);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquareWarning,\n      selectors: [[\"svg\", \"lucideMessageSquareWarning\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c990,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquareWarning_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquareWarning_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquareWarning;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquareText\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6IiAvPgogIDxwYXRoIGQ9Ik03IDExaDEwIiAvPgogIDxwYXRoIGQ9Ik03IDE1aDYiIC8+CiAgPHBhdGggZD0iTTcgN2g4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/message-square-text\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquareText = /*#__PURE__*/(() => {\n  class LucideMessageSquareText extends LucideIconBase {\n    static icon = {\n      name: 'message-square-text',\n      size: 24,\n      node: [['path', {\n        d: 'M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z',\n        key: '18887p'\n      }], ['path', {\n        d: 'M7 11h10',\n        key: '1twpyw'\n      }], ['path', {\n        d: 'M7 15h6',\n        key: 'd9of3u'\n      }], ['path', {\n        d: 'M7 7h8',\n        key: 'af5zfr'\n      }]]\n    };\n    icon = signal(LucideMessageSquareText.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquareText_BaseFactory;\n      return function LucideMessageSquareText_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquareText_BaseFactory || (ɵLucideMessageSquareText_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquareText)))(__ngFactoryType__ || LucideMessageSquareText);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquareText,\n      selectors: [[\"svg\", \"lucideMessageSquareText\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c991,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquareText_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquareText_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquareText;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquareX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6IiAvPgogIDxwYXRoIGQ9Im0xNC41IDguNS01IDUiIC8+CiAgPHBhdGggZD0ibTkuNSA4LjUgNSA1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/message-square-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquareX = /*#__PURE__*/(() => {\n  class LucideMessageSquareX extends LucideIconBase {\n    static icon = {\n      name: 'message-square-x',\n      size: 24,\n      node: [['path', {\n        d: 'M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z',\n        key: '18887p'\n      }], ['path', {\n        d: 'm14.5 8.5-5 5',\n        key: '19tnj2'\n      }], ['path', {\n        d: 'm9.5 8.5 5 5',\n        key: '1oa8ql'\n      }]]\n    };\n    icon = signal(LucideMessageSquareX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquareX_BaseFactory;\n      return function LucideMessageSquareX_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquareX_BaseFactory || (ɵLucideMessageSquareX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquareX)))(__ngFactoryType__ || LucideMessageSquareX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquareX,\n      selectors: [[\"svg\", \"lucideMessageSquareX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c992,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquareX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquareX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquareX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessagesSquare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTBhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAxNC4yODZWNGEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDAgMSAyIDJ6IiAvPgogIDxwYXRoIGQ9Ik0yMCA5YTIgMiAwIDAgMSAyIDJ2MTAuMjg2YS43MS43MSAwIDAgMS0xLjIxMi41MDJsLTIuMjAyLTIuMjAyQTIgMiAwIDAgMCAxNy4xNzIgMTlIMTBhMiAyIDAgMCAxLTItMnYtMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/messages-square\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessagesSquare = /*#__PURE__*/(() => {\n  class LucideMessagesSquare extends LucideIconBase {\n    static icon = {\n      name: 'messages-square',\n      size: 24,\n      node: [['path', {\n        d: 'M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z',\n        key: '1n2ejm'\n      }], ['path', {\n        d: 'M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1',\n        key: '1qfcsi'\n      }]]\n    };\n    icon = signal(LucideMessagesSquare.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessagesSquare_BaseFactory;\n      return function LucideMessagesSquare_Factory(__ngFactoryType__) {\n        return (ɵLucideMessagesSquare_BaseFactory || (ɵLucideMessagesSquare_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessagesSquare)))(__ngFactoryType__ || LucideMessagesSquare);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessagesSquare,\n      selectors: [[\"svg\", \"lucideMessagesSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c993,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessagesSquare_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessagesSquare_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessagesSquare;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MessageSquare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/message-square\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMessageSquare = /*#__PURE__*/(() => {\n  class LucideMessageSquare extends LucideIconBase {\n    static icon = {\n      name: 'message-square',\n      size: 24,\n      node: [['path', {\n        d: 'M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z',\n        key: '18887p'\n      }]]\n    };\n    icon = signal(LucideMessageSquare.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMessageSquare_BaseFactory;\n      return function LucideMessageSquare_Factory(__ngFactoryType__) {\n        return (ɵLucideMessageSquare_BaseFactory || (ɵLucideMessageSquare_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMessageSquare)))(__ngFactoryType__ || LucideMessageSquare);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMessageSquare,\n      selectors: [[\"svg\", \"lucideMessageSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c994,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMessageSquare_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMessageSquare_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMessageSquare;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Metronome\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTEuNFY5LjEiIC8+CiAgPHBhdGggZD0ibTEyIDE3IDYuNTktNi41OSIgLz4KICA8cGF0aCBkPSJtMTUuMDUgNS43LS4yMTgtLjY5MWEzIDMgMCAwIDAtNS42NjMgMEw0LjQxOCAxOS42OTVBMSAxIDAgMCAwIDUuMzcgMjFoMTMuMjUzYTEgMSAwIDAgMCAuOTUxLTEuMzFMMTguNDUgMTYuMiIgLz4KICA8Y2lyY2xlIGN4PSIyMCIgY3k9IjkiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/metronome\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMetronome = /*#__PURE__*/(() => {\n  class LucideMetronome extends LucideIconBase {\n    static icon = {\n      name: 'metronome',\n      size: 24,\n      node: [['path', {\n        d: 'M12 11.4V9.1',\n        key: 'audfby'\n      }], ['path', {\n        d: 'm12 17 6.59-6.59',\n        key: 'c0sb7j'\n      }], ['path', {\n        d: 'm15.05 5.7-.218-.691a3 3 0 0 0-5.663 0L4.418 19.695A1 1 0 0 0 5.37 21h13.253a1 1 0 0 0 .951-1.31L18.45 16.2',\n        key: '1pkfrk'\n      }], ['circle', {\n        cx: '20',\n        cy: '9',\n        r: '2',\n        key: '1udoqf'\n      }]]\n    };\n    icon = signal(LucideMetronome.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMetronome_BaseFactory;\n      return function LucideMetronome_Factory(__ngFactoryType__) {\n        return (ɵLucideMetronome_BaseFactory || (ɵLucideMetronome_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMetronome)))(__ngFactoryType__ || LucideMetronome);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMetronome,\n      selectors: [[\"svg\", \"lucideMetronome\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c995,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMetronome_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMetronome_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMetronome;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MicOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTl2MyIgLz4KICA8cGF0aCBkPSJNMTUgOS4zNFY1YTMgMyAwIDAgMC01LjY4LTEuMzMiIC8+CiAgPHBhdGggZD0iTTE2Ljk1IDE2Ljk1QTcgNyAwIDAgMSA1IDEydi0yIiAvPgogIDxwYXRoIGQ9Ik0xOC44OSAxMy4yM0E3IDcgMCAwIDAgMTkgMTJ2LTIiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJNOSA5djNhMyAzIDAgMCAwIDUuMTIgMi4xMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/mic-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMicOff = /*#__PURE__*/(() => {\n  class LucideMicOff extends LucideIconBase {\n    static icon = {\n      name: 'mic-off',\n      size: 24,\n      node: [['path', {\n        d: 'M12 19v3',\n        key: 'npa21l'\n      }], ['path', {\n        d: 'M15 9.34V5a3 3 0 0 0-5.68-1.33',\n        key: '1gzdoj'\n      }], ['path', {\n        d: 'M16.95 16.95A7 7 0 0 1 5 12v-2',\n        key: 'cqa7eg'\n      }], ['path', {\n        d: 'M18.89 13.23A7 7 0 0 0 19 12v-2',\n        key: '16hl24'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M9 9v3a3 3 0 0 0 5.12 2.12',\n        key: 'r2i35w'\n      }]]\n    };\n    icon = signal(LucideMicOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMicOff_BaseFactory;\n      return function LucideMicOff_Factory(__ngFactoryType__) {\n        return (ɵLucideMicOff_BaseFactory || (ɵLucideMicOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMicOff)))(__ngFactoryType__ || LucideMicOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMicOff,\n      selectors: [[\"svg\", \"lucideMicOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c996,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMicOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMicOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMicOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Mic\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTl2MyIgLz4KICA8cGF0aCBkPSJNMTkgMTB2MmE3IDcgMCAwIDEtMTQgMHYtMiIgLz4KICA8cmVjdCB4PSI5IiB5PSIyIiB3aWR0aD0iNiIgaGVpZ2h0PSIxMyIgcng9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/mic\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMic = /*#__PURE__*/(() => {\n  class LucideMic extends LucideIconBase {\n    static icon = {\n      name: 'mic',\n      size: 24,\n      node: [['path', {\n        d: 'M12 19v3',\n        key: 'npa21l'\n      }], ['path', {\n        d: 'M19 10v2a7 7 0 0 1-14 0v-2',\n        key: '1vc78b'\n      }], ['rect', {\n        x: '9',\n        y: '2',\n        width: '6',\n        height: '13',\n        rx: '3',\n        key: 's6n7sd'\n      }]]\n    };\n    icon = signal(LucideMic.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMic_BaseFactory;\n      return function LucideMic_Factory(__ngFactoryType__) {\n        return (ɵLucideMic_BaseFactory || (ɵLucideMic_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMic)))(__ngFactoryType__ || LucideMic);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMic,\n      selectors: [[\"svg\", \"lucideMic\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c997,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMic_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMic_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMic;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Microchip\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTJoNCIgLz4KICA8cGF0aCBkPSJNMTAgMTdoNCIgLz4KICA8cGF0aCBkPSJNMTAgN2g0IiAvPgogIDxwYXRoIGQ9Ik0xOCAxMmgyIiAvPgogIDxwYXRoIGQ9Ik0xOCAxOGgyIiAvPgogIDxwYXRoIGQ9Ik0xOCA2aDIiIC8+CiAgPHBhdGggZD0iTTQgMTJoMiIgLz4KICA8cGF0aCBkPSJNNCAxOGgyIiAvPgogIDxwYXRoIGQ9Ik00IDZoMiIgLz4KICA8cmVjdCB4PSI2IiB5PSIyIiB3aWR0aD0iMTIiIGhlaWdodD0iMjAiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/microchip\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMicrochip = /*#__PURE__*/(() => {\n  class LucideMicrochip extends LucideIconBase {\n    static icon = {\n      name: 'microchip',\n      size: 24,\n      node: [['path', {\n        d: 'M10 12h4',\n        key: 'a56b0p'\n      }], ['path', {\n        d: 'M10 17h4',\n        key: 'pvmtpo'\n      }], ['path', {\n        d: 'M10 7h4',\n        key: '1vgcok'\n      }], ['path', {\n        d: 'M18 12h2',\n        key: 'quuxs7'\n      }], ['path', {\n        d: 'M18 18h2',\n        key: '4scel'\n      }], ['path', {\n        d: 'M18 6h2',\n        key: '1ptzki'\n      }], ['path', {\n        d: 'M4 12h2',\n        key: '1ltxp0'\n      }], ['path', {\n        d: 'M4 18h2',\n        key: '1xrofg'\n      }], ['path', {\n        d: 'M4 6h2',\n        key: '1cx33n'\n      }], ['rect', {\n        x: '6',\n        y: '2',\n        width: '12',\n        height: '20',\n        rx: '2',\n        key: '749fme'\n      }]]\n    };\n    icon = signal(LucideMicrochip.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMicrochip_BaseFactory;\n      return function LucideMicrochip_Factory(__ngFactoryType__) {\n        return (ɵLucideMicrochip_BaseFactory || (ɵLucideMicrochip_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMicrochip)))(__ngFactoryType__ || LucideMicrochip);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMicrochip,\n      selectors: [[\"svg\", \"lucideMicrochip\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c998,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMicrochip_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMicrochip_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMicrochip;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MicVocal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTEgNy42MDEtNS45OTQgOC4xOWExIDEgMCAwIDAgLjEgMS4yOThsLjgxNy44MThhMSAxIDAgMCAwIDEuMzE0LjA4N0wxNS4wOSAxMiIgLz4KICA8cGF0aCBkPSJNMTYuNSAyMS4xNzRDMTUuNSAyMC41IDE0LjM3MiAyMCAxMyAyMGMtMi4wNTggMC0zLjkyOCAyLjM1Ni02IDItMi4wNzItLjM1Ni0yLjc3NS0zLjM2OS0xLjUtNC41IiAvPgogIDxjaXJjbGUgY3g9IjE2IiBjeT0iNyIgcj0iNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/mic-vocal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMicVocal = /*#__PURE__*/(() => {\n  class LucideMicVocal extends LucideIconBase {\n    static icon = {\n      name: 'mic-vocal',\n      size: 24,\n      node: [['path', {\n        d: 'm11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12',\n        key: '80a601'\n      }], ['path', {\n        d: 'M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5',\n        key: 'j0ngtp'\n      }], ['circle', {\n        cx: '16',\n        cy: '7',\n        r: '5',\n        key: 'd08jfb'\n      }]],\n      aliases: ['mic-2']\n    };\n    icon = signal(LucideMicVocal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMicVocal_BaseFactory;\n      return function LucideMicVocal_Factory(__ngFactoryType__) {\n        return (ɵLucideMicVocal_BaseFactory || (ɵLucideMicVocal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMicVocal)))(__ngFactoryType__ || LucideMicVocal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMicVocal,\n      selectors: [[\"svg\", \"lucideMicVocal\", \"\"], [\"svg\", \"lucideMic2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c999,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMicVocal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMicVocal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMicVocal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideMicVocal\n */\nconst LucideMic2 = LucideMicVocal;\n\n/**\n * @component @name Microscope\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAxOGg4IiAvPgogIDxwYXRoIGQ9Ik0zIDIyaDE4IiAvPgogIDxwYXRoIGQ9Ik0xNCAyMmE3IDcgMCAxIDAgMC0xNGgtMSIgLz4KICA8cGF0aCBkPSJNOSAxNGgyIiAvPgogIDxwYXRoIGQ9Ik05IDEyYTIgMiAwIDAgMS0yLTJWNmg2djRhMiAyIDAgMCAxLTIgMloiIC8+CiAgPHBhdGggZD0iTTEyIDZWM2ExIDEgMCAwIDAtMS0xSDlhMSAxIDAgMCAwLTEgMXYzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/microscope\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMicroscope = /*#__PURE__*/(() => {\n  class LucideMicroscope extends LucideIconBase {\n    static icon = {\n      name: 'microscope',\n      size: 24,\n      node: [['path', {\n        d: 'M6 18h8',\n        key: '1borvv'\n      }], ['path', {\n        d: 'M3 22h18',\n        key: '8prr45'\n      }], ['path', {\n        d: 'M14 22a7 7 0 1 0 0-14h-1',\n        key: '1jwaiy'\n      }], ['path', {\n        d: 'M9 14h2',\n        key: '197e7h'\n      }], ['path', {\n        d: 'M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z',\n        key: '1bmzmy'\n      }], ['path', {\n        d: 'M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3',\n        key: '1drr47'\n      }]]\n    };\n    icon = signal(LucideMicroscope.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMicroscope_BaseFactory;\n      return function LucideMicroscope_Factory(__ngFactoryType__) {\n        return (ɵLucideMicroscope_BaseFactory || (ɵLucideMicroscope_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMicroscope)))(__ngFactoryType__ || LucideMicroscope);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMicroscope,\n      selectors: [[\"svg\", \"lucideMicroscope\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1000,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMicroscope_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMicroscope_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMicroscope;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MilkOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAyaDgiIC8+CiAgPHBhdGggZD0iTTkgMnYxLjM0M00xNSAydjIuNzg5YTQgNCAwIDAgMCAuNjcyIDIuMjE5bC42NTYuOTg0YTQgNCAwIDAgMSAuNjcyIDIuMjJ2MS4xMzFNNy44IDcuOGwtLjEyOC4xOTJBNCA0IDAgMCAwIDcgMTAuMjEyVjIwYTIgMiAwIDAgMCAyIDJoNmEyIDIgMCAwIDAgMi0ydi0zIiAvPgogIDxwYXRoIGQ9Ik03IDE1YTYuNDcgNi40NyAwIDAgMSA1IDAgNi40NzIgNi40NzIgMCAwIDAgMy40MzUuNDM1IiAvPgogIDxsaW5lIHgxPSIyIiB4Mj0iMjIiIHkxPSIyIiB5Mj0iMjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/milk-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMilkOff = /*#__PURE__*/(() => {\n  class LucideMilkOff extends LucideIconBase {\n    static icon = {\n      name: 'milk-off',\n      size: 24,\n      node: [['path', {\n        d: 'M8 2h8',\n        key: '1ssgc1'\n      }], ['path', {\n        d: 'M9 2v1.343M15 2v2.789a4 4 0 0 0 .672 2.219l.656.984a4 4 0 0 1 .672 2.22v1.131M7.8 7.8l-.128.192A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-3',\n        key: 'y0ejgx'\n      }], ['path', {\n        d: 'M7 15a6.47 6.47 0 0 1 5 0 6.472 6.472 0 0 0 3.435.435',\n        key: 'iaxqsy'\n      }], ['line', {\n        x1: '2',\n        x2: '22',\n        y1: '2',\n        y2: '22',\n        key: 'a6p6uj'\n      }]]\n    };\n    icon = signal(LucideMilkOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMilkOff_BaseFactory;\n      return function LucideMilkOff_Factory(__ngFactoryType__) {\n        return (ɵLucideMilkOff_BaseFactory || (ɵLucideMilkOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMilkOff)))(__ngFactoryType__ || LucideMilkOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMilkOff,\n      selectors: [[\"svg\", \"lucideMilkOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1001,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMilkOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMilkOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMilkOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Milestone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTN2OCIgLz4KICA8cGF0aCBkPSJNMTIgM3YzIiAvPgogIDxwYXRoIGQ9Ik0xOC4xNzIgNmEyIDIgMCAwIDEgMS40MTQuNTg2bDIuMDYgMi4wNmExLjIwNyAxLjIwNyAwIDAgMSAwIDEuNzA4bC0yLjA2IDIuMDZhMiAyIDAgMCAxLTEuNDE0LjU4Nkg0YTEgMSAwIDAgMS0xLTFWN2ExIDEgMCAwIDEgMS0xeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/milestone\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMilestone = /*#__PURE__*/(() => {\n  class LucideMilestone extends LucideIconBase {\n    static icon = {\n      name: 'milestone',\n      size: 24,\n      node: [['path', {\n        d: 'M12 13v8',\n        key: '1l5pq0'\n      }], ['path', {\n        d: 'M12 3v3',\n        key: '1n5kay'\n      }], ['path', {\n        d: 'M18.172 6a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1z',\n        key: '8gz4t4'\n      }]]\n    };\n    icon = signal(LucideMilestone.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMilestone_BaseFactory;\n      return function LucideMilestone_Factory(__ngFactoryType__) {\n        return (ɵLucideMilestone_BaseFactory || (ɵLucideMilestone_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMilestone)))(__ngFactoryType__ || LucideMilestone);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMilestone,\n      selectors: [[\"svg\", \"lucideMilestone\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1002,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMilestone_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMilestone_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMilestone;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Microwave\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTUiIHg9IjIiIHk9IjQiIHJ4PSIyIiAvPgogIDxyZWN0IHdpZHRoPSI4IiBoZWlnaHQ9IjciIHg9IjYiIHk9IjgiIHJ4PSIxIiAvPgogIDxwYXRoIGQ9Ik0xOCA4djciIC8+CiAgPHBhdGggZD0iTTYgMTl2MiIgLz4KICA8cGF0aCBkPSJNMTggMTl2MiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/microwave\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMicrowave = /*#__PURE__*/(() => {\n  class LucideMicrowave extends LucideIconBase {\n    static icon = {\n      name: 'microwave',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '15',\n        x: '2',\n        y: '4',\n        rx: '2',\n        key: '2no95f'\n      }], ['rect', {\n        width: '8',\n        height: '7',\n        x: '6',\n        y: '8',\n        rx: '1',\n        key: 'zh9wx'\n      }], ['path', {\n        d: 'M18 8v7',\n        key: 'o5zi4n'\n      }], ['path', {\n        d: 'M6 19v2',\n        key: '1loha6'\n      }], ['path', {\n        d: 'M18 19v2',\n        key: '1dawf0'\n      }]]\n    };\n    icon = signal(LucideMicrowave.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMicrowave_BaseFactory;\n      return function LucideMicrowave_Factory(__ngFactoryType__) {\n        return (ɵLucideMicrowave_BaseFactory || (ɵLucideMicrowave_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMicrowave)))(__ngFactoryType__ || LucideMicrowave);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMicrowave,\n      selectors: [[\"svg\", \"lucideMicrowave\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1003,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMicrowave_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMicrowave_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMicrowave;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Milk\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAyaDgiIC8+CiAgPHBhdGggZD0iTTkgMnYyLjc4OWE0IDQgMCAwIDEtLjY3MiAyLjIxOWwtLjY1Ni45ODRBNCA0IDAgMCAwIDcgMTAuMjEyVjIwYTIgMiAwIDAgMCAyIDJoNmEyIDIgMCAwIDAgMi0ydi05Ljc4OWE0IDQgMCAwIDAtLjY3Mi0yLjIxOWwtLjY1Ni0uOTg0QTQgNCAwIDAgMSAxNSA0Ljc4OFYyIiAvPgogIDxwYXRoIGQ9Ik03IDE1YTYuNDcyIDYuNDcyIDAgMCAxIDUgMCA2LjQ3IDYuNDcgMCAwIDAgNSAwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/milk\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMilk = /*#__PURE__*/(() => {\n  class LucideMilk extends LucideIconBase {\n    static icon = {\n      name: 'milk',\n      size: 24,\n      node: [['path', {\n        d: 'M8 2h8',\n        key: '1ssgc1'\n      }], ['path', {\n        d: 'M9 2v2.789a4 4 0 0 1-.672 2.219l-.656.984A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-9.789a4 4 0 0 0-.672-2.219l-.656-.984A4 4 0 0 1 15 4.788V2',\n        key: 'qtp12x'\n      }], ['path', {\n        d: 'M7 15a6.472 6.472 0 0 1 5 0 6.47 6.47 0 0 0 5 0',\n        key: 'ygeh44'\n      }]]\n    };\n    icon = signal(LucideMilk.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMilk_BaseFactory;\n      return function LucideMilk_Factory(__ngFactoryType__) {\n        return (ɵLucideMilk_BaseFactory || (ɵLucideMilk_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMilk)))(__ngFactoryType__ || LucideMilk);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMilk,\n      selectors: [[\"svg\", \"lucideMilk\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1004,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMilk_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMilk_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMilk;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Minimize\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAzdjNhMiAyIDAgMCAxLTIgMkgzIiAvPgogIDxwYXRoIGQ9Ik0yMSA4aC0zYTIgMiAwIDAgMS0yLTJWMyIgLz4KICA8cGF0aCBkPSJNMyAxNmgzYTIgMiAwIDAgMSAyIDJ2MyIgLz4KICA8cGF0aCBkPSJNMTYgMjF2LTNhMiAyIDAgMCAxIDItMmgzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/minimize\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMinimize = /*#__PURE__*/(() => {\n  class LucideMinimize extends LucideIconBase {\n    static icon = {\n      name: 'minimize',\n      size: 24,\n      node: [['path', {\n        d: 'M8 3v3a2 2 0 0 1-2 2H3',\n        key: 'hohbtr'\n      }], ['path', {\n        d: 'M21 8h-3a2 2 0 0 1-2-2V3',\n        key: '5jw1f3'\n      }], ['path', {\n        d: 'M3 16h3a2 2 0 0 1 2 2v3',\n        key: '198tvr'\n      }], ['path', {\n        d: 'M16 21v-3a2 2 0 0 1 2-2h3',\n        key: 'ph8mxp'\n      }]]\n    };\n    icon = signal(LucideMinimize.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMinimize_BaseFactory;\n      return function LucideMinimize_Factory(__ngFactoryType__) {\n        return (ɵLucideMinimize_BaseFactory || (ɵLucideMinimize_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMinimize)))(__ngFactoryType__ || LucideMinimize);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMinimize,\n      selectors: [[\"svg\", \"lucideMinimize\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1005,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMinimize_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMinimize_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMinimize;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Minimize2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQgMTAgNy03IiAvPgogIDxwYXRoIGQ9Ik0yMCAxMGgtNlY0IiAvPgogIDxwYXRoIGQ9Im0zIDIxIDctNyIgLz4KICA8cGF0aCBkPSJNNCAxNGg2djYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/minimize-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMinimize2 = /*#__PURE__*/(() => {\n  class LucideMinimize2 extends LucideIconBase {\n    static icon = {\n      name: 'minimize-2',\n      size: 24,\n      node: [['path', {\n        d: 'm14 10 7-7',\n        key: 'oa77jy'\n      }], ['path', {\n        d: 'M20 10h-6V4',\n        key: 'mjg0md'\n      }], ['path', {\n        d: 'm3 21 7-7',\n        key: 'tjx5ai'\n      }], ['path', {\n        d: 'M4 14h6v6',\n        key: 'rmj7iw'\n      }]]\n    };\n    icon = signal(LucideMinimize2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMinimize2_BaseFactory;\n      return function LucideMinimize2_Factory(__ngFactoryType__) {\n        return (ɵLucideMinimize2_BaseFactory || (ɵLucideMinimize2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMinimize2)))(__ngFactoryType__ || LucideMinimize2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMinimize2,\n      selectors: [[\"svg\", \"lucideMinimize2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1006,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMinimize2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMinimize2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMinimize2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MirrorRectangular\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgNiA4IDkiIC8+CiAgPHBhdGggZD0ibTE2IDctOCA4IiAvPgogIDxyZWN0IHg9IjQiIHk9IjIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIyMCIgcng9IjIiIC8+Cjwvc3ZnPg==) - https://lucide.dev/icons/mirror-rectangular\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMirrorRectangular = /*#__PURE__*/(() => {\n  class LucideMirrorRectangular extends LucideIconBase {\n    static icon = {\n      name: 'mirror-rectangular',\n      size: 24,\n      node: [['path', {\n        d: 'M11 6 8 9',\n        key: '7zt14w'\n      }], ['path', {\n        d: 'm16 7-8 8',\n        key: 'tkgtvu'\n      }], ['rect', {\n        x: '4',\n        y: '2',\n        width: '16',\n        height: '20',\n        rx: '2',\n        key: '1uxh74'\n      }]]\n    };\n    icon = signal(LucideMirrorRectangular.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMirrorRectangular_BaseFactory;\n      return function LucideMirrorRectangular_Factory(__ngFactoryType__) {\n        return (ɵLucideMirrorRectangular_BaseFactory || (ɵLucideMirrorRectangular_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMirrorRectangular)))(__ngFactoryType__ || LucideMirrorRectangular);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMirrorRectangular,\n      selectors: [[\"svg\", \"lucideMirrorRectangular\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1007,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMirrorRectangular_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMirrorRectangular_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMirrorRectangular;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Minus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxMmgxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMinus = /*#__PURE__*/(() => {\n  class LucideMinus extends LucideIconBase {\n    static icon = {\n      name: 'minus',\n      size: 24,\n      node: [['path', {\n        d: 'M5 12h14',\n        key: '1ays0h'\n      }]]\n    };\n    icon = signal(LucideMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMinus_BaseFactory;\n      return function LucideMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideMinus_BaseFactory || (ɵLucideMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMinus)))(__ngFactoryType__ || LucideMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMinus,\n      selectors: [[\"svg\", \"lucideMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1008,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MirrorRound\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgNi42IDguNiA4IiAvPgogIDxwYXRoIGQ9Ik0xMiAxOHY0IiAvPgogIDxwYXRoIGQ9Ik0xNSA3LjUgOS41IDEzIiAvPgogIDxwYXRoIGQ9Ik03IDIyaDEwIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTAiIHI9IjgiIC8+Cjwvc3ZnPg==) - https://lucide.dev/icons/mirror-round\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMirrorRound = /*#__PURE__*/(() => {\n  class LucideMirrorRound extends LucideIconBase {\n    static icon = {\n      name: 'mirror-round',\n      size: 24,\n      node: [['path', {\n        d: 'M10 6.6 8.6 8',\n        key: 'itrr7k'\n      }], ['path', {\n        d: 'M12 18v4',\n        key: 'jadmvz'\n      }], ['path', {\n        d: 'M15 7.5 9.5 13',\n        key: '1vyrsv'\n      }], ['path', {\n        d: 'M7 22h10',\n        key: '10w4w3'\n      }], ['circle', {\n        cx: '12',\n        cy: '10',\n        r: '8',\n        key: '1gshiw'\n      }]]\n    };\n    icon = signal(LucideMirrorRound.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMirrorRound_BaseFactory;\n      return function LucideMirrorRound_Factory(__ngFactoryType__) {\n        return (ɵLucideMirrorRound_BaseFactory || (ɵLucideMirrorRound_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMirrorRound)))(__ngFactoryType__ || LucideMirrorRound);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMirrorRound,\n      selectors: [[\"svg\", \"lucideMirrorRound\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1009,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMirrorRound_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMirrorRound_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMirrorRound;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MonitorCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOSAxMCAyIDIgNC00IiAvPgogIDxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIxNCIgeD0iMiIgeT0iMyIgcng9IjIiIC8+CiAgPHBhdGggZD0iTTEyIDE3djQiIC8+CiAgPHBhdGggZD0iTTggMjFoOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/monitor-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMonitorCheck = /*#__PURE__*/(() => {\n  class LucideMonitorCheck extends LucideIconBase {\n    static icon = {\n      name: 'monitor-check',\n      size: 24,\n      node: [['path', {\n        d: 'm9 10 2 2 4-4',\n        key: '1gnqz4'\n      }], ['rect', {\n        width: '20',\n        height: '14',\n        x: '2',\n        y: '3',\n        rx: '2',\n        key: '48i651'\n      }], ['path', {\n        d: 'M12 17v4',\n        key: '1riwvh'\n      }], ['path', {\n        d: 'M8 21h8',\n        key: '1ev6f3'\n      }]]\n    };\n    icon = signal(LucideMonitorCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMonitorCheck_BaseFactory;\n      return function LucideMonitorCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideMonitorCheck_BaseFactory || (ɵLucideMonitorCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMonitorCheck)))(__ngFactoryType__ || LucideMonitorCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMonitorCheck,\n      selectors: [[\"svg\", \"lucideMonitorCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1010,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMonitorCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMonitorCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMonitorCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MonitorCog\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTd2NCIgLz4KICA8cGF0aCBkPSJtMTQuMzA1IDcuNTMuOTIzLS4zODIiIC8+CiAgPHBhdGggZD0ibTE1LjIyOCA0Ljg1Mi0uOTIzLS4zODMiIC8+CiAgPHBhdGggZD0ibTE2Ljg1MiAzLjIyOC0uMzgzLS45MjQiIC8+CiAgPHBhdGggZD0ibTE2Ljg1MiA4Ljc3Mi0uMzgzLjkyMyIgLz4KICA8cGF0aCBkPSJtMTkuMTQ4IDMuMjI4LjM4My0uOTI0IiAvPgogIDxwYXRoIGQ9Im0xOS41MyA5LjY5Ni0uMzgyLS45MjQiIC8+CiAgPHBhdGggZD0ibTIwLjc3MiA0Ljg1Mi45MjQtLjM4MyIgLz4KICA8cGF0aCBkPSJtMjAuNzcyIDcuMTQ4LjkyNC4zODMiIC8+CiAgPHBhdGggZD0iTTIyIDEzdjJhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDciIC8+CiAgPHBhdGggZD0iTTggMjFoOCIgLz4KICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjYiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/monitor-cog\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMonitorCog = /*#__PURE__*/(() => {\n  class LucideMonitorCog extends LucideIconBase {\n    static icon = {\n      name: 'monitor-cog',\n      size: 24,\n      node: [['path', {\n        d: 'M12 17v4',\n        key: '1riwvh'\n      }], ['path', {\n        d: 'm14.305 7.53.923-.382',\n        key: '1mlnsw'\n      }], ['path', {\n        d: 'm15.228 4.852-.923-.383',\n        key: '82mpwg'\n      }], ['path', {\n        d: 'm16.852 3.228-.383-.924',\n        key: 'ln4sir'\n      }], ['path', {\n        d: 'm16.852 8.772-.383.923',\n        key: '1dejw0'\n      }], ['path', {\n        d: 'm19.148 3.228.383-.924',\n        key: '192kgf'\n      }], ['path', {\n        d: 'm19.53 9.696-.382-.924',\n        key: 'fiavlr'\n      }], ['path', {\n        d: 'm20.772 4.852.924-.383',\n        key: '1j8mgp'\n      }], ['path', {\n        d: 'm20.772 7.148.924.383',\n        key: 'zix9be'\n      }], ['path', {\n        d: 'M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7',\n        key: '1tnzv8'\n      }], ['path', {\n        d: 'M8 21h8',\n        key: '1ev6f3'\n      }], ['circle', {\n        cx: '18',\n        cy: '6',\n        r: '3',\n        key: '1h7g24'\n      }]]\n    };\n    icon = signal(LucideMonitorCog.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMonitorCog_BaseFactory;\n      return function LucideMonitorCog_Factory(__ngFactoryType__) {\n        return (ɵLucideMonitorCog_BaseFactory || (ɵLucideMonitorCog_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMonitorCog)))(__ngFactoryType__ || LucideMonitorCog);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMonitorCog,\n      selectors: [[\"svg\", \"lucideMonitorCog\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1011,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMonitorCog_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMonitorCog_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMonitorCog;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MonitorCloud\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTNhMyAzIDAgMSAxIDIuODMtNEgxNGEyIDIgMCAwIDEgMCA0eiIgLz4KICA8cGF0aCBkPSJNMTIgMTd2NCIgLz4KICA8cGF0aCBkPSJNOCAyMWg4IiAvPgogIDxyZWN0IHg9IjIiIHk9IjMiIHdpZHRoPSIyMCIgaGVpZ2h0PSIxNCIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/monitor-cloud\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMonitorCloud = /*#__PURE__*/(() => {\n  class LucideMonitorCloud extends LucideIconBase {\n    static icon = {\n      name: 'monitor-cloud',\n      size: 24,\n      node: [['path', {\n        d: 'M11 13a3 3 0 1 1 2.83-4H14a2 2 0 0 1 0 4z',\n        key: '1da4q6'\n      }], ['path', {\n        d: 'M12 17v4',\n        key: '1riwvh'\n      }], ['path', {\n        d: 'M8 21h8',\n        key: '1ev6f3'\n      }], ['rect', {\n        x: '2',\n        y: '3',\n        width: '20',\n        height: '14',\n        rx: '2',\n        key: 'x3v2xh'\n      }]]\n    };\n    icon = signal(LucideMonitorCloud.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMonitorCloud_BaseFactory;\n      return function LucideMonitorCloud_Factory(__ngFactoryType__) {\n        return (ɵLucideMonitorCloud_BaseFactory || (ɵLucideMonitorCloud_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMonitorCloud)))(__ngFactoryType__ || LucideMonitorCloud);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMonitorCloud,\n      selectors: [[\"svg\", \"lucideMonitorCloud\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1012,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMonitorCloud_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMonitorCloud_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMonitorCloud;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MonitorDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTNWNyIgLz4KICA8cGF0aCBkPSJtMTUgMTAtMyAzLTMtMyIgLz4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHg9IjIiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xMiAxN3Y0IiAvPgogIDxwYXRoIGQ9Ik04IDIxaDgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/monitor-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMonitorDown = /*#__PURE__*/(() => {\n  class LucideMonitorDown extends LucideIconBase {\n    static icon = {\n      name: 'monitor-down',\n      size: 24,\n      node: [['path', {\n        d: 'M12 13V7',\n        key: 'h0r20n'\n      }], ['path', {\n        d: 'm15 10-3 3-3-3',\n        key: 'lzhmyn'\n      }], ['rect', {\n        width: '20',\n        height: '14',\n        x: '2',\n        y: '3',\n        rx: '2',\n        key: '48i651'\n      }], ['path', {\n        d: 'M12 17v4',\n        key: '1riwvh'\n      }], ['path', {\n        d: 'M8 21h8',\n        key: '1ev6f3'\n      }]]\n    };\n    icon = signal(LucideMonitorDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMonitorDown_BaseFactory;\n      return function LucideMonitorDown_Factory(__ngFactoryType__) {\n        return (ɵLucideMonitorDown_BaseFactory || (ɵLucideMonitorDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMonitorDown)))(__ngFactoryType__ || LucideMonitorDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMonitorDown,\n      selectors: [[\"svg\", \"lucideMonitorDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1013,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMonitorDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMonitorDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMonitorDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MonitorDot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTd2NCIgLz4KICA8cGF0aCBkPSJNMjIgMTIuMzA3VjE1YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg4LjY5MyIgLz4KICA8cGF0aCBkPSJNOCAyMWg4IiAvPgogIDxjaXJjbGUgY3g9IjE5IiBjeT0iNiIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/monitor-dot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMonitorDot = /*#__PURE__*/(() => {\n  class LucideMonitorDot extends LucideIconBase {\n    static icon = {\n      name: 'monitor-dot',\n      size: 24,\n      node: [['path', {\n        d: 'M12 17v4',\n        key: '1riwvh'\n      }], ['path', {\n        d: 'M22 12.307V15a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8.693',\n        key: '1dx6ho'\n      }], ['path', {\n        d: 'M8 21h8',\n        key: '1ev6f3'\n      }], ['circle', {\n        cx: '19',\n        cy: '6',\n        r: '3',\n        key: '108a5v'\n      }]]\n    };\n    icon = signal(LucideMonitorDot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMonitorDot_BaseFactory;\n      return function LucideMonitorDot_Factory(__ngFactoryType__) {\n        return (ɵLucideMonitorDot_BaseFactory || (ɵLucideMonitorDot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMonitorDot)))(__ngFactoryType__ || LucideMonitorDot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMonitorDot,\n      selectors: [[\"svg\", \"lucideMonitorDot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1014,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMonitorDot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMonitorDot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMonitorDot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MonitorOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTd2NCIgLz4KICA8cGF0aCBkPSJNMTcgMTdINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDEuMTg0LTEuODI2IiAvPgogIDxwYXRoIGQ9Im0yIDIgMjAgMjAiIC8+CiAgPHBhdGggZD0iTTggMjFoOCIgLz4KICA8cGF0aCBkPSJNOC42NTYgM0gyMGEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0uMjkzIDEuMDQyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/monitor-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMonitorOff = /*#__PURE__*/(() => {\n  class LucideMonitorOff extends LucideIconBase {\n    static icon = {\n      name: 'monitor-off',\n      size: 24,\n      node: [['path', {\n        d: 'M12 17v4',\n        key: '1riwvh'\n      }], ['path', {\n        d: 'M17 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 1.184-1.826',\n        key: 'cv7jms'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M8 21h8',\n        key: '1ev6f3'\n      }], ['path', {\n        d: 'M8.656 3H20a2 2 0 0 1 2 2v10a2 2 0 0 1-.293 1.042',\n        key: 'z8ni2w'\n      }]]\n    };\n    icon = signal(LucideMonitorOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMonitorOff_BaseFactory;\n      return function LucideMonitorOff_Factory(__ngFactoryType__) {\n        return (ɵLucideMonitorOff_BaseFactory || (ɵLucideMonitorOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMonitorOff)))(__ngFactoryType__ || LucideMonitorOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMonitorOff,\n      selectors: [[\"svg\", \"lucideMonitorOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1015,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMonitorOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMonitorOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMonitorOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MonitorPause\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTNWNyIgLz4KICA8cGF0aCBkPSJNMTQgMTNWNyIgLz4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHg9IjIiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xMiAxN3Y0IiAvPgogIDxwYXRoIGQ9Ik04IDIxaDgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/monitor-pause\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMonitorPause = /*#__PURE__*/(() => {\n  class LucideMonitorPause extends LucideIconBase {\n    static icon = {\n      name: 'monitor-pause',\n      size: 24,\n      node: [['path', {\n        d: 'M10 13V7',\n        key: '1u13u9'\n      }], ['path', {\n        d: 'M14 13V7',\n        key: '1vj9om'\n      }], ['rect', {\n        width: '20',\n        height: '14',\n        x: '2',\n        y: '3',\n        rx: '2',\n        key: '48i651'\n      }], ['path', {\n        d: 'M12 17v4',\n        key: '1riwvh'\n      }], ['path', {\n        d: 'M8 21h8',\n        key: '1ev6f3'\n      }]]\n    };\n    icon = signal(LucideMonitorPause.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMonitorPause_BaseFactory;\n      return function LucideMonitorPause_Factory(__ngFactoryType__) {\n        return (ɵLucideMonitorPause_BaseFactory || (ɵLucideMonitorPause_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMonitorPause)))(__ngFactoryType__ || LucideMonitorPause);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMonitorPause,\n      selectors: [[\"svg\", \"lucideMonitorPause\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1016,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMonitorPause_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMonitorPause_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMonitorPause;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MonitorSmartphone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggOFY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjdhMiAyIDAgMCAwIDIgMmg4IiAvPgogIDxwYXRoIGQ9Ik0xMCAxOXYtMy45NiAzLjE1IiAvPgogIDxwYXRoIGQ9Ik03IDE5aDUiIC8+CiAgPHJlY3Qgd2lkdGg9IjYiIGhlaWdodD0iMTAiIHg9IjE2IiB5PSIxMiIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/monitor-smartphone\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMonitorSmartphone = /*#__PURE__*/(() => {\n  class LucideMonitorSmartphone extends LucideIconBase {\n    static icon = {\n      name: 'monitor-smartphone',\n      size: 24,\n      node: [['path', {\n        d: 'M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8',\n        key: '10dyio'\n      }], ['path', {\n        d: 'M10 19v-3.96 3.15',\n        key: '1irgej'\n      }], ['path', {\n        d: 'M7 19h5',\n        key: 'qswx4l'\n      }], ['rect', {\n        width: '6',\n        height: '10',\n        x: '16',\n        y: '12',\n        rx: '2',\n        key: '1egngj'\n      }]]\n    };\n    icon = signal(LucideMonitorSmartphone.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMonitorSmartphone_BaseFactory;\n      return function LucideMonitorSmartphone_Factory(__ngFactoryType__) {\n        return (ɵLucideMonitorSmartphone_BaseFactory || (ɵLucideMonitorSmartphone_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMonitorSmartphone)))(__ngFactoryType__ || LucideMonitorSmartphone);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMonitorSmartphone,\n      selectors: [[\"svg\", \"lucideMonitorSmartphone\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1017,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMonitorSmartphone_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMonitorSmartphone_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMonitorSmartphone;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MonitorPlay\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuMDMzIDkuNDRhLjY0Ny42NDcgMCAwIDEgMCAxLjEybC00LjA2NSAyLjM1MmEuNjQ1LjY0NSAwIDAgMS0uOTY4LS41NlY3LjY0OGEuNjQ1LjY0NSAwIDAgMSAuOTY3LS41NnoiIC8+CiAgPHBhdGggZD0iTTEyIDE3djQiIC8+CiAgPHBhdGggZD0iTTggMjFoOCIgLz4KICA8cmVjdCB4PSIyIiB5PSIzIiB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/monitor-play\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMonitorPlay = /*#__PURE__*/(() => {\n  class LucideMonitorPlay extends LucideIconBase {\n    static icon = {\n      name: 'monitor-play',\n      size: 24,\n      node: [['path', {\n        d: 'M15.033 9.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56V7.648a.645.645 0 0 1 .967-.56z',\n        key: 'vbtd3f'\n      }], ['path', {\n        d: 'M12 17v4',\n        key: '1riwvh'\n      }], ['path', {\n        d: 'M8 21h8',\n        key: '1ev6f3'\n      }], ['rect', {\n        x: '2',\n        y: '3',\n        width: '20',\n        height: '14',\n        rx: '2',\n        key: 'x3v2xh'\n      }]]\n    };\n    icon = signal(LucideMonitorPlay.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMonitorPlay_BaseFactory;\n      return function LucideMonitorPlay_Factory(__ngFactoryType__) {\n        return (ɵLucideMonitorPlay_BaseFactory || (ɵLucideMonitorPlay_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMonitorPlay)))(__ngFactoryType__ || LucideMonitorPlay);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMonitorPlay,\n      selectors: [[\"svg\", \"lucideMonitorPlay\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1018,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMonitorPlay_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMonitorPlay_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMonitorPlay;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MonitorSpeaker\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNS41IDIwSDgiIC8+CiAgPHBhdGggZD0iTTE3IDloLjAxIiAvPgogIDxyZWN0IHdpZHRoPSIxMCIgaGVpZ2h0PSIxNiIgeD0iMTIiIHk9IjQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik04IDZINGEyIDIgMCAwIDAtMiAydjZhMiAyIDAgMCAwIDIgMmg0IiAvPgogIDxjaXJjbGUgY3g9IjE3IiBjeT0iMTUiIHI9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/monitor-speaker\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMonitorSpeaker = /*#__PURE__*/(() => {\n  class LucideMonitorSpeaker extends LucideIconBase {\n    static icon = {\n      name: 'monitor-speaker',\n      size: 24,\n      node: [['path', {\n        d: 'M5.5 20H8',\n        key: '1k40s5'\n      }], ['path', {\n        d: 'M17 9h.01',\n        key: '1j24nn'\n      }], ['rect', {\n        width: '10',\n        height: '16',\n        x: '12',\n        y: '4',\n        rx: '2',\n        key: 'ixliua'\n      }], ['path', {\n        d: 'M8 6H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h4',\n        key: '1mp6e1'\n      }], ['circle', {\n        cx: '17',\n        cy: '15',\n        r: '1',\n        key: 'tqvash'\n      }]]\n    };\n    icon = signal(LucideMonitorSpeaker.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMonitorSpeaker_BaseFactory;\n      return function LucideMonitorSpeaker_Factory(__ngFactoryType__) {\n        return (ɵLucideMonitorSpeaker_BaseFactory || (ɵLucideMonitorSpeaker_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMonitorSpeaker)))(__ngFactoryType__ || LucideMonitorSpeaker);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMonitorSpeaker,\n      selectors: [[\"svg\", \"lucideMonitorSpeaker\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1019,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMonitorSpeaker_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMonitorSpeaker_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMonitorSpeaker;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MonitorUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOSAxMCAzLTMgMyAzIiAvPgogIDxwYXRoIGQ9Ik0xMiAxM1Y3IiAvPgogIDxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIxNCIgeD0iMiIgeT0iMyIgcng9IjIiIC8+CiAgPHBhdGggZD0iTTEyIDE3djQiIC8+CiAgPHBhdGggZD0iTTggMjFoOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/monitor-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMonitorUp = /*#__PURE__*/(() => {\n  class LucideMonitorUp extends LucideIconBase {\n    static icon = {\n      name: 'monitor-up',\n      size: 24,\n      node: [['path', {\n        d: 'm9 10 3-3 3 3',\n        key: '11gsxs'\n      }], ['path', {\n        d: 'M12 13V7',\n        key: 'h0r20n'\n      }], ['rect', {\n        width: '20',\n        height: '14',\n        x: '2',\n        y: '3',\n        rx: '2',\n        key: '48i651'\n      }], ['path', {\n        d: 'M12 17v4',\n        key: '1riwvh'\n      }], ['path', {\n        d: 'M8 21h8',\n        key: '1ev6f3'\n      }]]\n    };\n    icon = signal(LucideMonitorUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMonitorUp_BaseFactory;\n      return function LucideMonitorUp_Factory(__ngFactoryType__) {\n        return (ɵLucideMonitorUp_BaseFactory || (ɵLucideMonitorUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMonitorUp)))(__ngFactoryType__ || LucideMonitorUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMonitorUp,\n      selectors: [[\"svg\", \"lucideMonitorUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1020,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMonitorUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMonitorUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMonitorUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MonitorStop\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTd2NCIgLz4KICA8cGF0aCBkPSJNOCAyMWg4IiAvPgogIDxyZWN0IHg9IjIiIHk9IjMiIHdpZHRoPSIyMCIgaGVpZ2h0PSIxNCIgcng9IjIiIC8+CiAgPHJlY3QgeD0iOSIgeT0iNyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/monitor-stop\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMonitorStop = /*#__PURE__*/(() => {\n  class LucideMonitorStop extends LucideIconBase {\n    static icon = {\n      name: 'monitor-stop',\n      size: 24,\n      node: [['path', {\n        d: 'M12 17v4',\n        key: '1riwvh'\n      }], ['path', {\n        d: 'M8 21h8',\n        key: '1ev6f3'\n      }], ['rect', {\n        x: '2',\n        y: '3',\n        width: '20',\n        height: '14',\n        rx: '2',\n        key: 'x3v2xh'\n      }], ['rect', {\n        x: '9',\n        y: '7',\n        width: '6',\n        height: '6',\n        rx: '1',\n        key: '5m2oou'\n      }]]\n    };\n    icon = signal(LucideMonitorStop.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMonitorStop_BaseFactory;\n      return function LucideMonitorStop_Factory(__ngFactoryType__) {\n        return (ɵLucideMonitorStop_BaseFactory || (ɵLucideMonitorStop_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMonitorStop)))(__ngFactoryType__ || LucideMonitorStop);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMonitorStop,\n      selectors: [[\"svg\", \"lucideMonitorStop\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1021,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMonitorStop_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMonitorStop_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMonitorStop;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MonitorX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQuNSAxMi41LTUtNSIgLz4KICA8cGF0aCBkPSJtOS41IDEyLjUgNS01IiAvPgogIDxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIxNCIgeD0iMiIgeT0iMyIgcng9IjIiIC8+CiAgPHBhdGggZD0iTTEyIDE3djQiIC8+CiAgPHBhdGggZD0iTTggMjFoOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/monitor-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMonitorX = /*#__PURE__*/(() => {\n  class LucideMonitorX extends LucideIconBase {\n    static icon = {\n      name: 'monitor-x',\n      size: 24,\n      node: [['path', {\n        d: 'm14.5 12.5-5-5',\n        key: '1jahn5'\n      }], ['path', {\n        d: 'm9.5 12.5 5-5',\n        key: '1k2t7b'\n      }], ['rect', {\n        width: '20',\n        height: '14',\n        x: '2',\n        y: '3',\n        rx: '2',\n        key: '48i651'\n      }], ['path', {\n        d: 'M12 17v4',\n        key: '1riwvh'\n      }], ['path', {\n        d: 'M8 21h8',\n        key: '1ev6f3'\n      }]]\n    };\n    icon = signal(LucideMonitorX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMonitorX_BaseFactory;\n      return function LucideMonitorX_Factory(__ngFactoryType__) {\n        return (ɵLucideMonitorX_BaseFactory || (ɵLucideMonitorX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMonitorX)))(__ngFactoryType__ || LucideMonitorX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMonitorX,\n      selectors: [[\"svg\", \"lucideMonitorX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1022,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMonitorX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMonitorX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMonitorX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Monitor\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHg9IjIiIHk9IjMiIHJ4PSIyIiAvPgogIDxsaW5lIHgxPSI4IiB4Mj0iMTYiIHkxPSIyMSIgeTI9IjIxIiAvPgogIDxsaW5lIHgxPSIxMiIgeDI9IjEyIiB5MT0iMTciIHkyPSIyMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/monitor\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMonitor = /*#__PURE__*/(() => {\n  class LucideMonitor extends LucideIconBase {\n    static icon = {\n      name: 'monitor',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '14',\n        x: '2',\n        y: '3',\n        rx: '2',\n        key: '48i651'\n      }], ['line', {\n        x1: '8',\n        x2: '16',\n        y1: '21',\n        y2: '21',\n        key: '1svkeh'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '17',\n        y2: '21',\n        key: 'vw1qmm'\n      }]]\n    };\n    icon = signal(LucideMonitor.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMonitor_BaseFactory;\n      return function LucideMonitor_Factory(__ngFactoryType__) {\n        return (ɵLucideMonitor_BaseFactory || (ɵLucideMonitor_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMonitor)))(__ngFactoryType__ || LucideMonitor);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMonitor,\n      selectors: [[\"svg\", \"lucideMonitor\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1023,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMonitor_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMonitor_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMonitor;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MoonStar\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggNWg0IiAvPgogIDxwYXRoIGQ9Ik0yMCAzdjQiIC8+CiAgPHBhdGggZD0iTTIwLjk4NSAxMi40ODZhOSA5IDAgMSAxLTkuNDczLTkuNDcyYy40MDUtLjAyMi42MTcuNDYuNDAyLjgwM2E2IDYgMCAwIDAgOC4yNjggOC4yNjhjLjM0NC0uMjE1LjgyNS0uMDA0LjgwMy40MDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/moon-star\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMoonStar = /*#__PURE__*/(() => {\n  class LucideMoonStar extends LucideIconBase {\n    static icon = {\n      name: 'moon-star',\n      size: 24,\n      node: [['path', {\n        d: 'M18 5h4',\n        key: '1lhgn2'\n      }], ['path', {\n        d: 'M20 3v4',\n        key: '1olli1'\n      }], ['path', {\n        d: 'M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401',\n        key: 'kfwtm'\n      }]]\n    };\n    icon = signal(LucideMoonStar.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMoonStar_BaseFactory;\n      return function LucideMoonStar_Factory(__ngFactoryType__) {\n        return (ɵLucideMoonStar_BaseFactory || (ɵLucideMoonStar_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMoonStar)))(__ngFactoryType__ || LucideMoonStar);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMoonStar,\n      selectors: [[\"svg\", \"lucideMoonStar\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1024,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMoonStar_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMoonStar_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMoonStar;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Moon\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAuOTg1IDEyLjQ4NmE5IDkgMCAxIDEtOS40NzMtOS40NzJjLjQwNS0uMDIyLjYxNy40Ni40MDIuODAzYTYgNiAwIDAgMCA4LjI2OCA4LjI2OGMuMzQ0LS4yMTUuODI1LS4wMDQuODAzLjQwMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/moon\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMoon = /*#__PURE__*/(() => {\n  class LucideMoon extends LucideIconBase {\n    static icon = {\n      name: 'moon',\n      size: 24,\n      node: [['path', {\n        d: 'M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401',\n        key: 'kfwtm'\n      }]]\n    };\n    icon = signal(LucideMoon.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMoon_BaseFactory;\n      return function LucideMoon_Factory(__ngFactoryType__) {\n        return (ɵLucideMoon_BaseFactory || (ɵLucideMoon_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMoon)))(__ngFactoryType__ || LucideMoon);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMoon,\n      selectors: [[\"svg\", \"lucideMoon\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1025,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMoon_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMoon_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMoon;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Motorbike\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTggMTQtMS0zIiAvPgogIDxwYXRoIGQ9Im0zIDkgNiAyYTIgMiAwIDAgMSAyLTJoMmEyIDIgMCAwIDEgMS45OSAxLjgxIiAvPgogIDxwYXRoIGQ9Ik04IDE3aDNhMSAxIDAgMCAwIDEtMSA2IDYgMCAwIDEgNi02IDEgMSAwIDAgMCAxLTF2LS43NUE1IDUgMCAwIDAgMTcgNSIgLz4KICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjE3IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjUiIGN5PSIxNyIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/motorbike\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMotorbike = /*#__PURE__*/(() => {\n  class LucideMotorbike extends LucideIconBase {\n    static icon = {\n      name: 'motorbike',\n      size: 24,\n      node: [['path', {\n        d: 'm18 14-1-3',\n        key: 'bdajw9'\n      }], ['path', {\n        d: 'm3 9 6 2a2 2 0 0 1 2-2h2a2 2 0 0 1 1.99 1.81',\n        key: 'f5fotj'\n      }], ['path', {\n        d: 'M8 17h3a1 1 0 0 0 1-1 6 6 0 0 1 6-6 1 1 0 0 0 1-1v-.75A5 5 0 0 0 17 5',\n        key: '3i90e2'\n      }], ['circle', {\n        cx: '19',\n        cy: '17',\n        r: '3',\n        key: '1otbdv'\n      }], ['circle', {\n        cx: '5',\n        cy: '17',\n        r: '3',\n        key: '1d8p0c'\n      }]]\n    };\n    icon = signal(LucideMotorbike.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMotorbike_BaseFactory;\n      return function LucideMotorbike_Factory(__ngFactoryType__) {\n        return (ɵLucideMotorbike_BaseFactory || (ɵLucideMotorbike_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMotorbike)))(__ngFactoryType__ || LucideMotorbike);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMotorbike,\n      selectors: [[\"svg\", \"lucideMotorbike\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1026,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMotorbike_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMotorbike_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMotorbike;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MountainSnow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOCAzIDQgOCA1LTUgNSAxNUgyTDggM3oiIC8+CiAgPHBhdGggZD0iTTQuMTQgMTUuMDhjMi42Mi0xLjU3IDUuMjQtMS40MyA3Ljg2LjQyIDIuNzQgMS45NCA1LjQ5IDIgOC4yMy4xOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/mountain-snow\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMountainSnow = /*#__PURE__*/(() => {\n  class LucideMountainSnow extends LucideIconBase {\n    static icon = {\n      name: 'mountain-snow',\n      size: 24,\n      node: [['path', {\n        d: 'm8 3 4 8 5-5 5 15H2L8 3z',\n        key: 'otkl63'\n      }], ['path', {\n        d: 'M4.14 15.08c2.62-1.57 5.24-1.43 7.86.42 2.74 1.94 5.49 2 8.23.19',\n        key: '1pvmmp'\n      }]]\n    };\n    icon = signal(LucideMountainSnow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMountainSnow_BaseFactory;\n      return function LucideMountainSnow_Factory(__ngFactoryType__) {\n        return (ɵLucideMountainSnow_BaseFactory || (ɵLucideMountainSnow_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMountainSnow)))(__ngFactoryType__ || LucideMountainSnow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMountainSnow,\n      selectors: [[\"svg\", \"lucideMountainSnow\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1027,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMountainSnow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMountainSnow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMountainSnow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MouseLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNy4zMThWMTAiIC8+CiAgPHBhdGggZD0iTTUgMTB2NWE3IDcgMCAwIDAgMTQgMFY5YzAtMy41MjctMi42MDgtNi41MTUtNi03IiAvPgogIDxjaXJjbGUgY3g9IjciIGN5PSI0IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/mouse-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMouseLeft = /*#__PURE__*/(() => {\n  class LucideMouseLeft extends LucideIconBase {\n    static icon = {\n      name: 'mouse-left',\n      size: 24,\n      node: [['path', {\n        d: 'M12 7.318V10',\n        key: '17s7lh'\n      }], ['path', {\n        d: 'M5 10v5a7 7 0 0 0 14 0V9c0-3.527-2.608-6.515-6-7',\n        key: 'imk5ea'\n      }], ['circle', {\n        cx: '7',\n        cy: '4',\n        r: '2',\n        key: 'ra7k3'\n      }]]\n    };\n    icon = signal(LucideMouseLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMouseLeft_BaseFactory;\n      return function LucideMouseLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideMouseLeft_BaseFactory || (ɵLucideMouseLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMouseLeft)))(__ngFactoryType__ || LucideMouseLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMouseLeft,\n      selectors: [[\"svg\", \"lucideMouseLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1028,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMouseLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMouseLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMouseLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Mountain\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOCAzIDQgOCA1LTUgNSAxNUgyTDggM3oiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/mountain\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMountain = /*#__PURE__*/(() => {\n  class LucideMountain extends LucideIconBase {\n    static icon = {\n      name: 'mountain',\n      size: 24,\n      node: [['path', {\n        d: 'm8 3 4 8 5-5 5 15H2L8 3z',\n        key: 'otkl63'\n      }]]\n    };\n    icon = signal(LucideMountain.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMountain_BaseFactory;\n      return function LucideMountain_Factory(__ngFactoryType__) {\n        return (ɵLucideMountain_BaseFactory || (ɵLucideMountain_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMountain)))(__ngFactoryType__ || LucideMountain);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMountain,\n      selectors: [[\"svg\", \"lucideMountain\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1029,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMountain_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMountain_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMountain;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MouseOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNnYuMzQzIiAvPgogIDxwYXRoIGQ9Ik0xOC4yMTggMTguMjE4QTcgNyAwIDAgMSA1IDE1VjlhNyA3IDAgMCAxIC43ODItMy4yMTgiIC8+CiAgPHBhdGggZD0iTTE5IDEzLjM0M1Y5QTcgNyAwIDAgMCA4LjU2IDIuOTAyIiAvPgogIDxwYXRoIGQ9Ik0yMiAyMiAyIDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/mouse-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMouseOff = /*#__PURE__*/(() => {\n  class LucideMouseOff extends LucideIconBase {\n    static icon = {\n      name: 'mouse-off',\n      size: 24,\n      node: [['path', {\n        d: 'M12 6v.343',\n        key: '1gyhex'\n      }], ['path', {\n        d: 'M18.218 18.218A7 7 0 0 1 5 15V9a7 7 0 0 1 .782-3.218',\n        key: 'ukzz01'\n      }], ['path', {\n        d: 'M19 13.343V9A7 7 0 0 0 8.56 2.902',\n        key: '104jy9'\n      }], ['path', {\n        d: 'M22 22 2 2',\n        key: '1r8tn9'\n      }]]\n    };\n    icon = signal(LucideMouseOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMouseOff_BaseFactory;\n      return function LucideMouseOff_Factory(__ngFactoryType__) {\n        return (ɵLucideMouseOff_BaseFactory || (ɵLucideMouseOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMouseOff)))(__ngFactoryType__ || LucideMouseOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMouseOff,\n      selectors: [[\"svg\", \"lucideMouseOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1030,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMouseOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMouseOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMouseOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MousePointer2Off\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUuNTUgOC40NSA1LjEzOCAyLjA4N2EuNS41IDAgMCAxLS4wNjMuOTQ3bC02LjEyNCAxLjU4YTIgMiAwIDAgMC0xLjQzOCAxLjQzNWwtMS41NzkgNi4xMjZhLjUuNSAwIDAgMS0uOTQ3LjA2M0w4LjQ1IDE1LjU1MSIgLz4KICA8cGF0aCBkPSJNMjIgMiAyIDIyIiAvPgogIDxwYXRoIGQ9Im02LjgxNiAxMS41MjgtMi43NzktNi44NGEuNDk1LjQ5NSAwIDAgMSAuNjUxLS42NTFsNi44NCAyLjc3OSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/mouse-pointer-2-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMousePointer2Off = /*#__PURE__*/(() => {\n  class LucideMousePointer2Off extends LucideIconBase {\n    static icon = {\n      name: 'mouse-pointer-2-off',\n      size: 24,\n      node: [['path', {\n        d: 'm15.55 8.45 5.138 2.087a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063L8.45 15.551',\n        key: '1qoshx'\n      }], ['path', {\n        d: 'M22 2 2 22',\n        key: 'y4kqgn'\n      }], ['path', {\n        d: 'm6.816 11.528-2.779-6.84a.495.495 0 0 1 .651-.651l6.84 2.779',\n        key: 'mymuvk'\n      }]]\n    };\n    icon = signal(LucideMousePointer2Off.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMousePointer2Off_BaseFactory;\n      return function LucideMousePointer2Off_Factory(__ngFactoryType__) {\n        return (ɵLucideMousePointer2Off_BaseFactory || (ɵLucideMousePointer2Off_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMousePointer2Off)))(__ngFactoryType__ || LucideMousePointer2Off);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMousePointer2Off,\n      selectors: [[\"svg\", \"lucideMousePointer2Off\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1031,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMousePointer2Off_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMousePointer2Off_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMousePointer2Off;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MousePointer2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNC4wMzcgNC42ODhhLjQ5NS40OTUgMCAwIDEgLjY1MS0uNjUxbDE2IDYuNWEuNS41IDAgMCAxLS4wNjMuOTQ3bC02LjEyNCAxLjU4YTIgMiAwIDAgMC0xLjQzOCAxLjQzNWwtMS41NzkgNi4xMjZhLjUuNSAwIDAgMS0uOTQ3LjA2M3oiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/mouse-pointer-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMousePointer2 = /*#__PURE__*/(() => {\n  class LucideMousePointer2 extends LucideIconBase {\n    static icon = {\n      name: 'mouse-pointer-2',\n      size: 24,\n      node: [['path', {\n        d: 'M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z',\n        key: 'edeuup'\n      }]]\n    };\n    icon = signal(LucideMousePointer2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMousePointer2_BaseFactory;\n      return function LucideMousePointer2_Factory(__ngFactoryType__) {\n        return (ɵLucideMousePointer2_BaseFactory || (ɵLucideMousePointer2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMousePointer2)))(__ngFactoryType__ || LucideMousePointer2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMousePointer2,\n      selectors: [[\"svg\", \"lucideMousePointer2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1032,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMousePointer2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMousePointer2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMousePointer2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MousePointerClick\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgNC4xIDEyIDYiIC8+CiAgPHBhdGggZD0ibTUuMSA4LTIuOS0uOCIgLz4KICA8cGF0aCBkPSJtNiAxMi0xLjkgMiIgLz4KICA8cGF0aCBkPSJNNy4yIDIuMiA4IDUuMSIgLz4KICA8cGF0aCBkPSJNOS4wMzcgOS42OWEuNDk4LjQ5OCAwIDAgMSAuNjUzLS42NTNsMTEgNC41YS41LjUgMCAwIDEtLjA3NC45NDlsLTQuMzQ5IDEuMDQxYTEgMSAwIDAgMC0uNzQuNzM5bC0xLjA0IDQuMzVhLjUuNSAwIDAgMS0uOTUuMDc0eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/mouse-pointer-click\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMousePointerClick = /*#__PURE__*/(() => {\n  class LucideMousePointerClick extends LucideIconBase {\n    static icon = {\n      name: 'mouse-pointer-click',\n      size: 24,\n      node: [['path', {\n        d: 'M14 4.1 12 6',\n        key: 'ita8i4'\n      }], ['path', {\n        d: 'm5.1 8-2.9-.8',\n        key: '1go3kf'\n      }], ['path', {\n        d: 'm6 12-1.9 2',\n        key: 'mnht97'\n      }], ['path', {\n        d: 'M7.2 2.2 8 5.1',\n        key: '1cfko1'\n      }], ['path', {\n        d: 'M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z',\n        key: 's0h3yz'\n      }]]\n    };\n    icon = signal(LucideMousePointerClick.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMousePointerClick_BaseFactory;\n      return function LucideMousePointerClick_Factory(__ngFactoryType__) {\n        return (ɵLucideMousePointerClick_BaseFactory || (ɵLucideMousePointerClick_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMousePointerClick)))(__ngFactoryType__ || LucideMousePointerClick);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMousePointerClick,\n      selectors: [[\"svg\", \"lucideMousePointerClick\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1033,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMousePointerClick_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMousePointerClick_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMousePointerClick;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MousePointerBan\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi4wMzQgMi42ODFhLjQ5OC40OTggMCAwIDEgLjY0Ny0uNjQ3bDkgMy41YS41LjUgMCAwIDEtLjAzMy45NDRMOC4yMDQgNy41NDVhMSAxIDAgMCAwLS42Ni42NmwtMS4wNjYgMy40NDNhLjUuNSAwIDAgMS0uOTQ0LjAzM3oiIC8+CiAgPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iNiIgLz4KICA8cGF0aCBkPSJtMTEuOCAxMS44IDguNCA4LjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/mouse-pointer-ban\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMousePointerBan = /*#__PURE__*/(() => {\n  class LucideMousePointerBan extends LucideIconBase {\n    static icon = {\n      name: 'mouse-pointer-ban',\n      size: 24,\n      node: [['path', {\n        d: 'M2.034 2.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.944L8.204 7.545a1 1 0 0 0-.66.66l-1.066 3.443a.5.5 0 0 1-.944.033z',\n        key: '11pp1i'\n      }], ['circle', {\n        cx: '16',\n        cy: '16',\n        r: '6',\n        key: 'qoo3c4'\n      }], ['path', {\n        d: 'm11.8 11.8 8.4 8.4',\n        key: 'oogvdj'\n      }]]\n    };\n    icon = signal(LucideMousePointerBan.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMousePointerBan_BaseFactory;\n      return function LucideMousePointerBan_Factory(__ngFactoryType__) {\n        return (ɵLucideMousePointerBan_BaseFactory || (ɵLucideMousePointerBan_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMousePointerBan)))(__ngFactoryType__ || LucideMousePointerBan);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMousePointerBan,\n      selectors: [[\"svg\", \"lucideMousePointerBan\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1034,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMousePointerBan_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMousePointerBan_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMousePointerBan;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MousePointer\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuNTg2IDEyLjU4NiAxOSAxOSIgLz4KICA8cGF0aCBkPSJNMy42ODggMy4wMzdhLjQ5Ny40OTcgMCAwIDAtLjY1MS42NTFsNi41IDE1Ljk5OWEuNTAxLjUwMSAwIDAgMCAuOTQ3LS4wNjJsMS41NjktNi4wODNhMiAyIDAgMCAxIDEuNDQ4LTEuNDc5bDYuMTI0LTEuNTc5YS41LjUgMCAwIDAgLjA2My0uOTQ3eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/mouse-pointer\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMousePointer = /*#__PURE__*/(() => {\n  class LucideMousePointer extends LucideIconBase {\n    static icon = {\n      name: 'mouse-pointer',\n      size: 24,\n      node: [['path', {\n        d: 'M12.586 12.586 19 19',\n        key: 'ea5xo7'\n      }], ['path', {\n        d: 'M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z',\n        key: '277e5u'\n      }]]\n    };\n    icon = signal(LucideMousePointer.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMousePointer_BaseFactory;\n      return function LucideMousePointer_Factory(__ngFactoryType__) {\n        return (ɵLucideMousePointer_BaseFactory || (ɵLucideMousePointer_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMousePointer)))(__ngFactoryType__ || LucideMousePointer);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMousePointer,\n      selectors: [[\"svg\", \"lucideMousePointer\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1035,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMousePointer_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMousePointer_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMousePointer;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Mouse\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB4PSI1IiB5PSIyIiB3aWR0aD0iMTQiIGhlaWdodD0iMjAiIHJ4PSI3IiAvPgogIDxwYXRoIGQ9Ik0xMiA2djQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/mouse\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMouse = /*#__PURE__*/(() => {\n  class LucideMouse extends LucideIconBase {\n    static icon = {\n      name: 'mouse',\n      size: 24,\n      node: [['rect', {\n        x: '5',\n        y: '2',\n        width: '14',\n        height: '20',\n        rx: '7',\n        key: '11ol66'\n      }], ['path', {\n        d: 'M12 6v4',\n        key: '16clxf'\n      }]]\n    };\n    icon = signal(LucideMouse.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMouse_BaseFactory;\n      return function LucideMouse_Factory(__ngFactoryType__) {\n        return (ɵLucideMouse_BaseFactory || (ɵLucideMouse_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMouse)))(__ngFactoryType__ || LucideMouse);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMouse,\n      selectors: [[\"svg\", \"lucideMouse\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1036,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMouse_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMouse_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMouse;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MouseRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNy4zMThWMTAiIC8+CiAgPHBhdGggZD0iTTE5IDEwdjVhNyA3IDAgMCAxLTE0IDBWOWMwLTMuNTI3IDIuNjA4LTYuNTE1IDYtNyIgLz4KICA8Y2lyY2xlIGN4PSIxNyIgY3k9IjQiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/mouse-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMouseRight = /*#__PURE__*/(() => {\n  class LucideMouseRight extends LucideIconBase {\n    static icon = {\n      name: 'mouse-right',\n      size: 24,\n      node: [['path', {\n        d: 'M12 7.318V10',\n        key: '17s7lh'\n      }], ['path', {\n        d: 'M19 10v5a7 7 0 0 1-14 0V9c0-3.527 2.608-6.515 6-7',\n        key: '2es5nn'\n      }], ['circle', {\n        cx: '17',\n        cy: '4',\n        r: '2',\n        key: 'y5j2s2'\n      }]]\n    };\n    icon = signal(LucideMouseRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMouseRight_BaseFactory;\n      return function LucideMouseRight_Factory(__ngFactoryType__) {\n        return (ɵLucideMouseRight_BaseFactory || (ɵLucideMouseRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMouseRight)))(__ngFactoryType__ || LucideMouseRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMouseRight,\n      selectors: [[\"svg\", \"lucideMouseRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1037,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMouseRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMouseRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMouseRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Move3d\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAzdjE2aDE2IiAvPgogIDxwYXRoIGQ9Im01IDE5IDYtNiIgLz4KICA8cGF0aCBkPSJtMiA2IDMtMyAzIDMiIC8+CiAgPHBhdGggZD0ibTE4IDE2IDMgMy0zIDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/move-3d\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMove3d = /*#__PURE__*/(() => {\n  class LucideMove3d extends LucideIconBase {\n    static icon = {\n      name: 'move-3d',\n      size: 24,\n      node: [['path', {\n        d: 'M5 3v16h16',\n        key: '1mqmf9'\n      }], ['path', {\n        d: 'm5 19 6-6',\n        key: 'jh6hbb'\n      }], ['path', {\n        d: 'm2 6 3-3 3 3',\n        key: 'tkyvxa'\n      }], ['path', {\n        d: 'm18 16 3 3-3 3',\n        key: '1d4glt'\n      }]],\n      aliases: ['move-3-d']\n    };\n    icon = signal(LucideMove3d.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMove3d_BaseFactory;\n      return function LucideMove3d_Factory(__ngFactoryType__) {\n        return (ɵLucideMove3d_BaseFactory || (ɵLucideMove3d_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMove3d)))(__ngFactoryType__ || LucideMove3d);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMove3d,\n      selectors: [[\"svg\", \"lucideMove3d\", \"\"], [\"svg\", \"lucideMove3D\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1038,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMove3d_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMove3d_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMove3d;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideMove3d\n */\nconst LucideMove3D = LucideMove3d;\n\n/**\n * @component @name MoveDiagonal2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgMTN2NmgtNiIgLz4KICA8cGF0aCBkPSJNNSAxMVY1aDYiIC8+CiAgPHBhdGggZD0ibTUgNSAxNCAxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/move-diagonal-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMoveDiagonal2 = /*#__PURE__*/(() => {\n  class LucideMoveDiagonal2 extends LucideIconBase {\n    static icon = {\n      name: 'move-diagonal-2',\n      size: 24,\n      node: [['path', {\n        d: 'M19 13v6h-6',\n        key: '1hxl6d'\n      }], ['path', {\n        d: 'M5 11V5h6',\n        key: '12e2xe'\n      }], ['path', {\n        d: 'm5 5 14 14',\n        key: '11anup'\n      }]]\n    };\n    icon = signal(LucideMoveDiagonal2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMoveDiagonal2_BaseFactory;\n      return function LucideMoveDiagonal2_Factory(__ngFactoryType__) {\n        return (ɵLucideMoveDiagonal2_BaseFactory || (ɵLucideMoveDiagonal2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMoveDiagonal2)))(__ngFactoryType__ || LucideMoveDiagonal2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMoveDiagonal2,\n      selectors: [[\"svg\", \"lucideMoveDiagonal2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1039,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMoveDiagonal2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMoveDiagonal2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMoveDiagonal2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MoveDownRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgMTNWMTlIMTMiIC8+CiAgPHBhdGggZD0iTTUgNUwxOSAxOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/move-down-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMoveDownRight = /*#__PURE__*/(() => {\n  class LucideMoveDownRight extends LucideIconBase {\n    static icon = {\n      name: 'move-down-right',\n      size: 24,\n      node: [['path', {\n        d: 'M19 13V19H13',\n        key: '10vkzq'\n      }], ['path', {\n        d: 'M5 5L19 19',\n        key: '5zm2fv'\n      }]]\n    };\n    icon = signal(LucideMoveDownRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMoveDownRight_BaseFactory;\n      return function LucideMoveDownRight_Factory(__ngFactoryType__) {\n        return (ɵLucideMoveDownRight_BaseFactory || (ɵLucideMoveDownRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMoveDownRight)))(__ngFactoryType__ || LucideMoveDownRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMoveDownRight,\n      selectors: [[\"svg\", \"lucideMoveDownRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1040,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMoveDownRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMoveDownRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMoveDownRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MoveDownLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTlINVYxMyIgLz4KICA8cGF0aCBkPSJNMTkgNUw1IDE5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/move-down-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMoveDownLeft = /*#__PURE__*/(() => {\n  class LucideMoveDownLeft extends LucideIconBase {\n    static icon = {\n      name: 'move-down-left',\n      size: 24,\n      node: [['path', {\n        d: 'M11 19H5V13',\n        key: '1akmht'\n      }], ['path', {\n        d: 'M19 5L5 19',\n        key: '72u4yj'\n      }]]\n    };\n    icon = signal(LucideMoveDownLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMoveDownLeft_BaseFactory;\n      return function LucideMoveDownLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideMoveDownLeft_BaseFactory || (ɵLucideMoveDownLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMoveDownLeft)))(__ngFactoryType__ || LucideMoveDownLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMoveDownLeft,\n      selectors: [[\"svg\", \"lucideMoveDownLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1041,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMoveDownLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMoveDownLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMoveDownLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MoveDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAxOEwxMiAyMkwxNiAxOCIgLz4KICA8cGF0aCBkPSJNMTIgMlYyMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/move-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMoveDown = /*#__PURE__*/(() => {\n  class LucideMoveDown extends LucideIconBase {\n    static icon = {\n      name: 'move-down',\n      size: 24,\n      node: [['path', {\n        d: 'M8 18L12 22L16 18',\n        key: 'cskvfv'\n      }], ['path', {\n        d: 'M12 2V22',\n        key: 'r89rzk'\n      }]]\n    };\n    icon = signal(LucideMoveDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMoveDown_BaseFactory;\n      return function LucideMoveDown_Factory(__ngFactoryType__) {\n        return (ɵLucideMoveDown_BaseFactory || (ɵLucideMoveDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMoveDown)))(__ngFactoryType__ || LucideMoveDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMoveDown,\n      selectors: [[\"svg\", \"lucideMoveDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1042,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMoveDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMoveDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMoveDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MoveDiagonal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTlINXYtNiIgLz4KICA8cGF0aCBkPSJNMTMgNWg2djYiIC8+CiAgPHBhdGggZD0iTTE5IDUgNSAxOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/move-diagonal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMoveDiagonal = /*#__PURE__*/(() => {\n  class LucideMoveDiagonal extends LucideIconBase {\n    static icon = {\n      name: 'move-diagonal',\n      size: 24,\n      node: [['path', {\n        d: 'M11 19H5v-6',\n        key: '8awifj'\n      }], ['path', {\n        d: 'M13 5h6v6',\n        key: '7voy1q'\n      }], ['path', {\n        d: 'M19 5 5 19',\n        key: 'wwaj1z'\n      }]]\n    };\n    icon = signal(LucideMoveDiagonal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMoveDiagonal_BaseFactory;\n      return function LucideMoveDiagonal_Factory(__ngFactoryType__) {\n        return (ɵLucideMoveDiagonal_BaseFactory || (ɵLucideMoveDiagonal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMoveDiagonal)))(__ngFactoryType__ || LucideMoveDiagonal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMoveDiagonal,\n      selectors: [[\"svg\", \"lucideMoveDiagonal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1043,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMoveDiagonal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMoveDiagonal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMoveDiagonal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MoveHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTggOCA0IDQtNCA0IiAvPgogIDxwYXRoIGQ9Ik0yIDEyaDIwIiAvPgogIDxwYXRoIGQ9Im02IDgtNCA0IDQgNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/move-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMoveHorizontal = /*#__PURE__*/(() => {\n  class LucideMoveHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'move-horizontal',\n      size: 24,\n      node: [['path', {\n        d: 'm18 8 4 4-4 4',\n        key: '1ak13k'\n      }], ['path', {\n        d: 'M2 12h20',\n        key: '9i4pu4'\n      }], ['path', {\n        d: 'm6 8-4 4 4 4',\n        key: '15zrgr'\n      }]]\n    };\n    icon = signal(LucideMoveHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMoveHorizontal_BaseFactory;\n      return function LucideMoveHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideMoveHorizontal_BaseFactory || (ɵLucideMoveHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMoveHorizontal)))(__ngFactoryType__ || LucideMoveHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMoveHorizontal,\n      selectors: [[\"svg\", \"lucideMoveHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1044,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMoveHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMoveHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMoveHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MoveLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiA4TDIgMTJMNiAxNiIgLz4KICA8cGF0aCBkPSJNMiAxMkgyMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/move-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMoveLeft = /*#__PURE__*/(() => {\n  class LucideMoveLeft extends LucideIconBase {\n    static icon = {\n      name: 'move-left',\n      size: 24,\n      node: [['path', {\n        d: 'M6 8L2 12L6 16',\n        key: 'kyvwex'\n      }], ['path', {\n        d: 'M2 12H22',\n        key: '1m8cig'\n      }]]\n    };\n    icon = signal(LucideMoveLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMoveLeft_BaseFactory;\n      return function LucideMoveLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideMoveLeft_BaseFactory || (ɵLucideMoveLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMoveLeft)))(__ngFactoryType__ || LucideMoveLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMoveLeft,\n      selectors: [[\"svg\", \"lucideMoveLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1045,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMoveLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMoveLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMoveLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MoveRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggOEwyMiAxMkwxOCAxNiIgLz4KICA8cGF0aCBkPSJNMiAxMkgyMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/move-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMoveRight = /*#__PURE__*/(() => {\n  class LucideMoveRight extends LucideIconBase {\n    static icon = {\n      name: 'move-right',\n      size: 24,\n      node: [['path', {\n        d: 'M18 8L22 12L18 16',\n        key: '1r0oui'\n      }], ['path', {\n        d: 'M2 12H22',\n        key: '1m8cig'\n      }]]\n    };\n    icon = signal(LucideMoveRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMoveRight_BaseFactory;\n      return function LucideMoveRight_Factory(__ngFactoryType__) {\n        return (ɵLucideMoveRight_BaseFactory || (ɵLucideMoveRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMoveRight)))(__ngFactoryType__ || LucideMoveRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMoveRight,\n      selectors: [[\"svg\", \"lucideMoveRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1046,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMoveRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMoveRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMoveRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MoveUpLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxMVY1SDExIiAvPgogIDxwYXRoIGQ9Ik01IDVMMTkgMTkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/move-up-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMoveUpLeft = /*#__PURE__*/(() => {\n  class LucideMoveUpLeft extends LucideIconBase {\n    static icon = {\n      name: 'move-up-left',\n      size: 24,\n      node: [['path', {\n        d: 'M5 11V5H11',\n        key: '3q78g9'\n      }], ['path', {\n        d: 'M5 5L19 19',\n        key: '5zm2fv'\n      }]]\n    };\n    icon = signal(LucideMoveUpLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMoveUpLeft_BaseFactory;\n      return function LucideMoveUpLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideMoveUpLeft_BaseFactory || (ɵLucideMoveUpLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMoveUpLeft)))(__ngFactoryType__ || LucideMoveUpLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMoveUpLeft,\n      selectors: [[\"svg\", \"lucideMoveUpLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1047,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMoveUpLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMoveUpLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMoveUpLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MoveUpRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgNUgxOVYxMSIgLz4KICA8cGF0aCBkPSJNMTkgNUw1IDE5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/move-up-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMoveUpRight = /*#__PURE__*/(() => {\n  class LucideMoveUpRight extends LucideIconBase {\n    static icon = {\n      name: 'move-up-right',\n      size: 24,\n      node: [['path', {\n        d: 'M13 5H19V11',\n        key: '1n1gyv'\n      }], ['path', {\n        d: 'M19 5L5 19',\n        key: '72u4yj'\n      }]]\n    };\n    icon = signal(LucideMoveUpRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMoveUpRight_BaseFactory;\n      return function LucideMoveUpRight_Factory(__ngFactoryType__) {\n        return (ɵLucideMoveUpRight_BaseFactory || (ɵLucideMoveUpRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMoveUpRight)))(__ngFactoryType__ || LucideMoveUpRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMoveUpRight,\n      selectors: [[\"svg\", \"lucideMoveUpRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1048,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMoveUpRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMoveUpRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMoveUpRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MoveUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCA2TDEyIDJMMTYgNiIgLz4KICA8cGF0aCBkPSJNMTIgMlYyMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/move-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMoveUp = /*#__PURE__*/(() => {\n  class LucideMoveUp extends LucideIconBase {\n    static icon = {\n      name: 'move-up',\n      size: 24,\n      node: [['path', {\n        d: 'M8 6L12 2L16 6',\n        key: '1yvkyx'\n      }], ['path', {\n        d: 'M12 2V22',\n        key: 'r89rzk'\n      }]]\n    };\n    icon = signal(LucideMoveUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMoveUp_BaseFactory;\n      return function LucideMoveUp_Factory(__ngFactoryType__) {\n        return (ɵLucideMoveUp_BaseFactory || (ɵLucideMoveUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMoveUp)))(__ngFactoryType__ || LucideMoveUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMoveUp,\n      selectors: [[\"svg\", \"lucideMoveUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1049,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMoveUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMoveUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMoveUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Move\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYyMCIgLz4KICA8cGF0aCBkPSJtMTUgMTktMyAzLTMtMyIgLz4KICA8cGF0aCBkPSJtMTkgOSAzIDMtMyAzIiAvPgogIDxwYXRoIGQ9Ik0yIDEyaDIwIiAvPgogIDxwYXRoIGQ9Im01IDktMyAzIDMgMyIgLz4KICA8cGF0aCBkPSJtOSA1IDMtMyAzIDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/move\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMove = /*#__PURE__*/(() => {\n  class LucideMove extends LucideIconBase {\n    static icon = {\n      name: 'move',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v20',\n        key: 't6zp3m'\n      }], ['path', {\n        d: 'm15 19-3 3-3-3',\n        key: '11eu04'\n      }], ['path', {\n        d: 'm19 9 3 3-3 3',\n        key: '1mg7y2'\n      }], ['path', {\n        d: 'M2 12h20',\n        key: '9i4pu4'\n      }], ['path', {\n        d: 'm5 9-3 3 3 3',\n        key: 'j64kie'\n      }], ['path', {\n        d: 'm9 5 3-3 3 3',\n        key: 'l8vdw6'\n      }]]\n    };\n    icon = signal(LucideMove.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMove_BaseFactory;\n      return function LucideMove_Factory(__ngFactoryType__) {\n        return (ɵLucideMove_BaseFactory || (ɵLucideMove_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMove)))(__ngFactoryType__ || LucideMove);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMove,\n      selectors: [[\"svg\", \"lucideMove\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1050,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMove_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMove_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMove;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name MoveVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYyMCIgLz4KICA8cGF0aCBkPSJtOCAxOCA0IDQgNC00IiAvPgogIDxwYXRoIGQ9Im04IDYgNC00IDQgNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/move-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMoveVertical = /*#__PURE__*/(() => {\n  class LucideMoveVertical extends LucideIconBase {\n    static icon = {\n      name: 'move-vertical',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v20',\n        key: 't6zp3m'\n      }], ['path', {\n        d: 'm8 18 4 4 4-4',\n        key: 'bh5tu3'\n      }], ['path', {\n        d: 'm8 6 4-4 4 4',\n        key: 'ybng9g'\n      }]]\n    };\n    icon = signal(LucideMoveVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMoveVertical_BaseFactory;\n      return function LucideMoveVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideMoveVertical_BaseFactory || (ɵLucideMoveVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMoveVertical)))(__ngFactoryType__ || LucideMoveVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMoveVertical,\n      selectors: [[\"svg\", \"lucideMoveVertical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1051,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMoveVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMoveVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMoveVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Music2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI4IiBjeT0iMTgiIHI9IjQiIC8+CiAgPHBhdGggZD0iTTEyIDE4VjJsNyA0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/music-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMusic2 = /*#__PURE__*/(() => {\n  class LucideMusic2 extends LucideIconBase {\n    static icon = {\n      name: 'music-2',\n      size: 24,\n      node: [['circle', {\n        cx: '8',\n        cy: '18',\n        r: '4',\n        key: '1fc0mg'\n      }], ['path', {\n        d: 'M12 18V2l7 4',\n        key: 'g04rme'\n      }]]\n    };\n    icon = signal(LucideMusic2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMusic2_BaseFactory;\n      return function LucideMusic2_Factory(__ngFactoryType__) {\n        return (ɵLucideMusic2_BaseFactory || (ɵLucideMusic2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMusic2)))(__ngFactoryType__ || LucideMusic2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMusic2,\n      selectors: [[\"svg\", \"lucideMusic2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1052,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMusic2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMusic2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMusic2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Music3\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE4IiByPSI0IiAvPgogIDxwYXRoIGQ9Ik0xNiAxOFYyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/music-3\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMusic3 = /*#__PURE__*/(() => {\n  class LucideMusic3 extends LucideIconBase {\n    static icon = {\n      name: 'music-3',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '18',\n        r: '4',\n        key: 'm3r9ws'\n      }], ['path', {\n        d: 'M16 18V2',\n        key: '40x2m5'\n      }]]\n    };\n    icon = signal(LucideMusic3.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMusic3_BaseFactory;\n      return function LucideMusic3_Factory(__ngFactoryType__) {\n        return (ɵLucideMusic3_BaseFactory || (ɵLucideMusic3_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMusic3)))(__ngFactoryType__ || LucideMusic3);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMusic3,\n      selectors: [[\"svg\", \"lucideMusic3\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1053,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMusic3_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMusic3_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMusic3;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Music4\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSAxOFY1bDEyLTJ2MTMiIC8+CiAgPHBhdGggZD0ibTkgOSAxMi0yIiAvPgogIDxjaXJjbGUgY3g9IjYiIGN5PSIxOCIgcj0iMyIgLz4KICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjE2IiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/music-4\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMusic4 = /*#__PURE__*/(() => {\n  class LucideMusic4 extends LucideIconBase {\n    static icon = {\n      name: 'music-4',\n      size: 24,\n      node: [['path', {\n        d: 'M9 18V5l12-2v13',\n        key: '1jmyc2'\n      }], ['path', {\n        d: 'm9 9 12-2',\n        key: '1e64n2'\n      }], ['circle', {\n        cx: '6',\n        cy: '18',\n        r: '3',\n        key: 'fqmcym'\n      }], ['circle', {\n        cx: '18',\n        cy: '16',\n        r: '3',\n        key: '1hluhg'\n      }]]\n    };\n    icon = signal(LucideMusic4.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMusic4_BaseFactory;\n      return function LucideMusic4_Factory(__ngFactoryType__) {\n        return (ɵLucideMusic4_BaseFactory || (ɵLucideMusic4_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMusic4)))(__ngFactoryType__ || LucideMusic4);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMusic4,\n      selectors: [[\"svg\", \"lucideMusic4\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1054,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMusic4_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMusic4_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMusic4;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Navigation2Off\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOS4zMSA5LjMxIDUgMjFsNy00IDcgNC0xLjE3LTMuMTciIC8+CiAgPHBhdGggZD0iTTE0LjUzIDguODggMTIgMmwtMS4xNyAzLjE3IiAvPgogIDxsaW5lIHgxPSIyIiB4Mj0iMjIiIHkxPSIyIiB5Mj0iMjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/navigation-2-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNavigation2Off = /*#__PURE__*/(() => {\n  class LucideNavigation2Off extends LucideIconBase {\n    static icon = {\n      name: 'navigation-2-off',\n      size: 24,\n      node: [['path', {\n        d: 'M9.31 9.31 5 21l7-4 7 4-1.17-3.17',\n        key: 'qoq2o2'\n      }], ['path', {\n        d: 'M14.53 8.88 12 2l-1.17 3.17',\n        key: 'k3sjzy'\n      }], ['line', {\n        x1: '2',\n        x2: '22',\n        y1: '2',\n        y2: '22',\n        key: 'a6p6uj'\n      }]]\n    };\n    icon = signal(LucideNavigation2Off.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNavigation2Off_BaseFactory;\n      return function LucideNavigation2Off_Factory(__ngFactoryType__) {\n        return (ɵLucideNavigation2Off_BaseFactory || (ɵLucideNavigation2Off_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNavigation2Off)))(__ngFactoryType__ || LucideNavigation2Off);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNavigation2Off,\n      selectors: [[\"svg\", \"lucideNavigation2Off\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1055,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNavigation2Off_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNavigation2Off_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNavigation2Off;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Music\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSAxOFY1bDEyLTJ2MTMiIC8+CiAgPGNpcmNsZSBjeD0iNiIgY3k9IjE4IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTYiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/music\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideMusic = /*#__PURE__*/(() => {\n  class LucideMusic extends LucideIconBase {\n    static icon = {\n      name: 'music',\n      size: 24,\n      node: [['path', {\n        d: 'M9 18V5l12-2v13',\n        key: '1jmyc2'\n      }], ['circle', {\n        cx: '6',\n        cy: '18',\n        r: '3',\n        key: 'fqmcym'\n      }], ['circle', {\n        cx: '18',\n        cy: '16',\n        r: '3',\n        key: '1hluhg'\n      }]]\n    };\n    icon = signal(LucideMusic.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideMusic_BaseFactory;\n      return function LucideMusic_Factory(__ngFactoryType__) {\n        return (ɵLucideMusic_BaseFactory || (ɵLucideMusic_BaseFactory = i0.ɵɵgetInheritedFactory(LucideMusic)))(__ngFactoryType__ || LucideMusic);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideMusic,\n      selectors: [[\"svg\", \"lucideMusic\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1056,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideMusic_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideMusic_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideMusic;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Navigation2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cG9seWdvbiBwb2ludHM9IjEyIDIgMTkgMjEgMTIgMTcgNSAyMSAxMiAyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/navigation-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNavigation2 = /*#__PURE__*/(() => {\n  class LucideNavigation2 extends LucideIconBase {\n    static icon = {\n      name: 'navigation-2',\n      size: 24,\n      node: [['polygon', {\n        points: '12 2 19 21 12 17 5 21 12 2',\n        key: 'x8c0qg'\n      }]]\n    };\n    icon = signal(LucideNavigation2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNavigation2_BaseFactory;\n      return function LucideNavigation2_Factory(__ngFactoryType__) {\n        return (ɵLucideNavigation2_BaseFactory || (ɵLucideNavigation2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNavigation2)))(__ngFactoryType__ || LucideNavigation2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNavigation2,\n      selectors: [[\"svg\", \"lucideNavigation2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1057,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNavigation2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNavigation2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNavigation2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name NavigationOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOC40MyA4LjQzIDMgMTFsOCAyIDIgOCAyLjU3LTUuNDMiIC8+CiAgPHBhdGggZD0iTTE3LjM5IDExLjczIDIyIDJsLTkuNzMgNC42MSIgLz4KICA8bGluZSB4MT0iMiIgeDI9IjIyIiB5MT0iMiIgeTI9IjIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/navigation-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNavigationOff = /*#__PURE__*/(() => {\n  class LucideNavigationOff extends LucideIconBase {\n    static icon = {\n      name: 'navigation-off',\n      size: 24,\n      node: [['path', {\n        d: 'M8.43 8.43 3 11l8 2 2 8 2.57-5.43',\n        key: '1vdtb7'\n      }], ['path', {\n        d: 'M17.39 11.73 22 2l-9.73 4.61',\n        key: 'tya3r6'\n      }], ['line', {\n        x1: '2',\n        x2: '22',\n        y1: '2',\n        y2: '22',\n        key: 'a6p6uj'\n      }]]\n    };\n    icon = signal(LucideNavigationOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNavigationOff_BaseFactory;\n      return function LucideNavigationOff_Factory(__ngFactoryType__) {\n        return (ɵLucideNavigationOff_BaseFactory || (ɵLucideNavigationOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNavigationOff)))(__ngFactoryType__ || LucideNavigationOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNavigationOff,\n      selectors: [[\"svg\", \"lucideNavigationOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1058,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNavigationOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNavigationOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNavigationOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Navigation\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cG9seWdvbiBwb2ludHM9IjMgMTEgMjIgMiAxMyAyMSAxMSAxMyAzIDExIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/navigation\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNavigation = /*#__PURE__*/(() => {\n  class LucideNavigation extends LucideIconBase {\n    static icon = {\n      name: 'navigation',\n      size: 24,\n      node: [['polygon', {\n        points: '3 11 22 2 13 21 11 13 3 11',\n        key: '1ltx0t'\n      }]]\n    };\n    icon = signal(LucideNavigation.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNavigation_BaseFactory;\n      return function LucideNavigation_Factory(__ngFactoryType__) {\n        return (ɵLucideNavigation_BaseFactory || (ɵLucideNavigation_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNavigation)))(__ngFactoryType__ || LucideNavigation);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNavigation,\n      selectors: [[\"svg\", \"lucideNavigation\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1059,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNavigation_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNavigation_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNavigation;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Network\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB4PSIxNiIgeT0iMTYiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHJ4PSIxIiAvPgogIDxyZWN0IHg9IjIiIHk9IjE2IiB3aWR0aD0iNiIgaGVpZ2h0PSI2IiByeD0iMSIgLz4KICA8cmVjdCB4PSI5IiB5PSIyIiB3aWR0aD0iNiIgaGVpZ2h0PSI2IiByeD0iMSIgLz4KICA8cGF0aCBkPSJNNSAxNnYtM2ExIDEgMCAwIDEgMS0xaDEyYTEgMSAwIDAgMSAxIDF2MyIgLz4KICA8cGF0aCBkPSJNMTIgMTJWOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/network\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNetwork = /*#__PURE__*/(() => {\n  class LucideNetwork extends LucideIconBase {\n    static icon = {\n      name: 'network',\n      size: 24,\n      node: [['rect', {\n        x: '16',\n        y: '16',\n        width: '6',\n        height: '6',\n        rx: '1',\n        key: '4q2zg0'\n      }], ['rect', {\n        x: '2',\n        y: '16',\n        width: '6',\n        height: '6',\n        rx: '1',\n        key: '8cvhb9'\n      }], ['rect', {\n        x: '9',\n        y: '2',\n        width: '6',\n        height: '6',\n        rx: '1',\n        key: '1egb70'\n      }], ['path', {\n        d: 'M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3',\n        key: '1jsf9p'\n      }], ['path', {\n        d: 'M12 12V8',\n        key: '2874zd'\n      }]]\n    };\n    icon = signal(LucideNetwork.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNetwork_BaseFactory;\n      return function LucideNetwork_Factory(__ngFactoryType__) {\n        return (ɵLucideNetwork_BaseFactory || (ɵLucideNetwork_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNetwork)))(__ngFactoryType__ || LucideNetwork);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNetwork,\n      selectors: [[\"svg\", \"lucideNetwork\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1060,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNetwork_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNetwork_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNetwork;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Newspaper\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMThoLTUiIC8+CiAgPHBhdGggZD0iTTE4IDE0aC04IiAvPgogIDxwYXRoIGQ9Ik00IDIyaDE2YTIgMiAwIDAgMCAyLTJWNGEyIDIgMCAwIDAtMi0ySDhhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDEtNCAwdi05YTIgMiAwIDAgMSAyLTJoMiIgLz4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI0IiB4PSIxMCIgeT0iNiIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/newspaper\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNewspaper = /*#__PURE__*/(() => {\n  class LucideNewspaper extends LucideIconBase {\n    static icon = {\n      name: 'newspaper',\n      size: 24,\n      node: [['path', {\n        d: 'M15 18h-5',\n        key: '95g1m2'\n      }], ['path', {\n        d: 'M18 14h-8',\n        key: 'sponae'\n      }], ['path', {\n        d: 'M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2',\n        key: '39pd36'\n      }], ['rect', {\n        width: '8',\n        height: '4',\n        x: '10',\n        y: '6',\n        rx: '1',\n        key: 'aywv1n'\n      }]]\n    };\n    icon = signal(LucideNewspaper.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNewspaper_BaseFactory;\n      return function LucideNewspaper_Factory(__ngFactoryType__) {\n        return (ɵLucideNewspaper_BaseFactory || (ɵLucideNewspaper_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNewspaper)))(__ngFactoryType__ || LucideNewspaper);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNewspaper,\n      selectors: [[\"svg\", \"lucideNewspaper\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1061,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNewspaper_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNewspaper_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNewspaper;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name NonBinary\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYxMCIgLz4KICA8cGF0aCBkPSJtOC41IDQgNyA0IiAvPgogIDxwYXRoIGQ9Im04LjUgOCA3LTQiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxNyIgcj0iNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/non-binary\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNonBinary = /*#__PURE__*/(() => {\n  class LucideNonBinary extends LucideIconBase {\n    static icon = {\n      name: 'non-binary',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v10',\n        key: 'mnfbl'\n      }], ['path', {\n        d: 'm8.5 4 7 4',\n        key: 'm1xjk3'\n      }], ['path', {\n        d: 'm8.5 8 7-4',\n        key: 't0m5j6'\n      }], ['circle', {\n        cx: '12',\n        cy: '17',\n        r: '5',\n        key: 'qbz8iq'\n      }]]\n    };\n    icon = signal(LucideNonBinary.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNonBinary_BaseFactory;\n      return function LucideNonBinary_Factory(__ngFactoryType__) {\n        return (ɵLucideNonBinary_BaseFactory || (ɵLucideNonBinary_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNonBinary)))(__ngFactoryType__ || LucideNonBinary);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNonBinary,\n      selectors: [[\"svg\", \"lucideNonBinary\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1062,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNonBinary_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNonBinary_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNonBinary;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Nfc\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiA4LjMyYTcuNDMgNy40MyAwIDAgMSAwIDcuMzYiIC8+CiAgPHBhdGggZD0iTTkuNDYgNi4yMWExMS43NiAxMS43NiAwIDAgMSAwIDExLjU4IiAvPgogIDxwYXRoIGQ9Ik0xMi45MSA0LjFhMTUuOTEgMTUuOTEgMCAwIDEgLjAxIDE1LjgiIC8+CiAgPHBhdGggZD0iTTE2LjM3IDJhMjAuMTYgMjAuMTYgMCAwIDEgMCAyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/nfc\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNfc = /*#__PURE__*/(() => {\n  class LucideNfc extends LucideIconBase {\n    static icon = {\n      name: 'nfc',\n      size: 24,\n      node: [['path', {\n        d: 'M6 8.32a7.43 7.43 0 0 1 0 7.36',\n        key: '9iaqei'\n      }], ['path', {\n        d: 'M9.46 6.21a11.76 11.76 0 0 1 0 11.58',\n        key: '1yha7l'\n      }], ['path', {\n        d: 'M12.91 4.1a15.91 15.91 0 0 1 .01 15.8',\n        key: '4iu2gk'\n      }], ['path', {\n        d: 'M16.37 2a20.16 20.16 0 0 1 0 20',\n        key: 'sap9u2'\n      }]]\n    };\n    icon = signal(LucideNfc.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNfc_BaseFactory;\n      return function LucideNfc_Factory(__ngFactoryType__) {\n        return (ɵLucideNfc_BaseFactory || (ɵLucideNfc_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNfc)))(__ngFactoryType__ || LucideNfc);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNfc,\n      selectors: [[\"svg\", \"lucideNfc\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1063,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNfc_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNfc_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNfc;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name NotebookPen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTcuNCIgLz4KICA8cGF0aCBkPSJNMiA2aDQiIC8+CiAgPHBhdGggZD0iTTIgMTBoNCIgLz4KICA8cGF0aCBkPSJNMiAxNGg0IiAvPgogIDxwYXRoIGQ9Ik0yIDE4aDQiIC8+CiAgPHBhdGggZD0iTTIxLjM3OCA1LjYyNmExIDEgMCAxIDAtMy4wMDQtMy4wMDRsLTUuMDEgNS4wMTJhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/notebook-pen\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNotebookPen = /*#__PURE__*/(() => {\n  class LucideNotebookPen extends LucideIconBase {\n    static icon = {\n      name: 'notebook-pen',\n      size: 24,\n      node: [['path', {\n        d: 'M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4',\n        key: 're6nr2'\n      }], ['path', {\n        d: 'M2 6h4',\n        key: 'aawbzj'\n      }], ['path', {\n        d: 'M2 10h4',\n        key: 'l0bgd4'\n      }], ['path', {\n        d: 'M2 14h4',\n        key: '1gsvsf'\n      }], ['path', {\n        d: 'M2 18h4',\n        key: '1bu2t1'\n      }], ['path', {\n        d: 'M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z',\n        key: 'pqwjuv'\n      }]]\n    };\n    icon = signal(LucideNotebookPen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNotebookPen_BaseFactory;\n      return function LucideNotebookPen_Factory(__ngFactoryType__) {\n        return (ɵLucideNotebookPen_BaseFactory || (ɵLucideNotebookPen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNotebookPen)))(__ngFactoryType__ || LucideNotebookPen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNotebookPen,\n      selectors: [[\"svg\", \"lucideNotebookPen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1064,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNotebookPen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNotebookPen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNotebookPen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name NotebookTabs\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA2aDQiIC8+CiAgPHBhdGggZD0iTTIgMTBoNCIgLz4KICA8cGF0aCBkPSJNMiAxNGg0IiAvPgogIDxwYXRoIGQ9Ik0yIDE4aDQiIC8+CiAgPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjIwIiB4PSI0IiB5PSIyIiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMTUgMnYyMCIgLz4KICA8cGF0aCBkPSJNMTUgN2g1IiAvPgogIDxwYXRoIGQ9Ik0xNSAxMmg1IiAvPgogIDxwYXRoIGQ9Ik0xNSAxN2g1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/notebook-tabs\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNotebookTabs = /*#__PURE__*/(() => {\n  class LucideNotebookTabs extends LucideIconBase {\n    static icon = {\n      name: 'notebook-tabs',\n      size: 24,\n      node: [['path', {\n        d: 'M2 6h4',\n        key: 'aawbzj'\n      }], ['path', {\n        d: 'M2 10h4',\n        key: 'l0bgd4'\n      }], ['path', {\n        d: 'M2 14h4',\n        key: '1gsvsf'\n      }], ['path', {\n        d: 'M2 18h4',\n        key: '1bu2t1'\n      }], ['rect', {\n        width: '16',\n        height: '20',\n        x: '4',\n        y: '2',\n        rx: '2',\n        key: '1nb95v'\n      }], ['path', {\n        d: 'M15 2v20',\n        key: 'dcj49h'\n      }], ['path', {\n        d: 'M15 7h5',\n        key: '1xj5lc'\n      }], ['path', {\n        d: 'M15 12h5',\n        key: 'w5shd9'\n      }], ['path', {\n        d: 'M15 17h5',\n        key: '1qaofu'\n      }]]\n    };\n    icon = signal(LucideNotebookTabs.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNotebookTabs_BaseFactory;\n      return function LucideNotebookTabs_Factory(__ngFactoryType__) {\n        return (ɵLucideNotebookTabs_BaseFactory || (ɵLucideNotebookTabs_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNotebookTabs)))(__ngFactoryType__ || LucideNotebookTabs);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNotebookTabs,\n      selectors: [[\"svg\", \"lucideNotebookTabs\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1065,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNotebookTabs_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNotebookTabs_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNotebookTabs;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Notebook\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA2aDQiIC8+CiAgPHBhdGggZD0iTTIgMTBoNCIgLz4KICA8cGF0aCBkPSJNMiAxNGg0IiAvPgogIDxwYXRoIGQ9Ik0yIDE4aDQiIC8+CiAgPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjIwIiB4PSI0IiB5PSIyIiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMTYgMnYyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/notebook\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNotebook = /*#__PURE__*/(() => {\n  class LucideNotebook extends LucideIconBase {\n    static icon = {\n      name: 'notebook',\n      size: 24,\n      node: [['path', {\n        d: 'M2 6h4',\n        key: 'aawbzj'\n      }], ['path', {\n        d: 'M2 10h4',\n        key: 'l0bgd4'\n      }], ['path', {\n        d: 'M2 14h4',\n        key: '1gsvsf'\n      }], ['path', {\n        d: 'M2 18h4',\n        key: '1bu2t1'\n      }], ['rect', {\n        width: '16',\n        height: '20',\n        x: '4',\n        y: '2',\n        rx: '2',\n        key: '1nb95v'\n      }], ['path', {\n        d: 'M16 2v20',\n        key: 'rotuqe'\n      }]]\n    };\n    icon = signal(LucideNotebook.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNotebook_BaseFactory;\n      return function LucideNotebook_Factory(__ngFactoryType__) {\n        return (ɵLucideNotebook_BaseFactory || (ɵLucideNotebook_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNotebook)))(__ngFactoryType__ || LucideNotebook);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNotebook,\n      selectors: [[\"svg\", \"lucideNotebook\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1066,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNotebook_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNotebook_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNotebook;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name NotebookText\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA2aDQiIC8+CiAgPHBhdGggZD0iTTIgMTBoNCIgLz4KICA8cGF0aCBkPSJNMiAxNGg0IiAvPgogIDxwYXRoIGQ9Ik0yIDE4aDQiIC8+CiAgPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjIwIiB4PSI0IiB5PSIyIiByeD0iMiIgLz4KICA8cGF0aCBkPSJNOS41IDhoNSIgLz4KICA8cGF0aCBkPSJNOS41IDEySDE2IiAvPgogIDxwYXRoIGQ9Ik05LjUgMTZIMTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/notebook-text\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNotebookText = /*#__PURE__*/(() => {\n  class LucideNotebookText extends LucideIconBase {\n    static icon = {\n      name: 'notebook-text',\n      size: 24,\n      node: [['path', {\n        d: 'M2 6h4',\n        key: 'aawbzj'\n      }], ['path', {\n        d: 'M2 10h4',\n        key: 'l0bgd4'\n      }], ['path', {\n        d: 'M2 14h4',\n        key: '1gsvsf'\n      }], ['path', {\n        d: 'M2 18h4',\n        key: '1bu2t1'\n      }], ['rect', {\n        width: '16',\n        height: '20',\n        x: '4',\n        y: '2',\n        rx: '2',\n        key: '1nb95v'\n      }], ['path', {\n        d: 'M9.5 8h5',\n        key: '11mslq'\n      }], ['path', {\n        d: 'M9.5 12H16',\n        key: 'ktog6x'\n      }], ['path', {\n        d: 'M9.5 16H14',\n        key: 'p1seyn'\n      }]]\n    };\n    icon = signal(LucideNotebookText.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNotebookText_BaseFactory;\n      return function LucideNotebookText_Factory(__ngFactoryType__) {\n        return (ɵLucideNotebookText_BaseFactory || (ɵLucideNotebookText_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNotebookText)))(__ngFactoryType__ || LucideNotebookText);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNotebookText,\n      selectors: [[\"svg\", \"lucideNotebookText\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1067,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNotebookText_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNotebookText_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNotebookText;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name NotepadTextDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAydjQiIC8+CiAgPHBhdGggZD0iTTEyIDJ2NCIgLz4KICA8cGF0aCBkPSJNMTYgMnY0IiAvPgogIDxwYXRoIGQ9Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0yMCAxMnYyIiAvPgogIDxwYXRoIGQ9Ik0yMCAxOHYyYTIgMiAwIDAgMS0yIDJoLTEiIC8+CiAgPHBhdGggZD0iTTEzIDIyaC0yIiAvPgogIDxwYXRoIGQ9Ik03IDIySDZhMiAyIDAgMCAxLTItMnYtMiIgLz4KICA8cGF0aCBkPSJNNCAxNHYtMiIgLz4KICA8cGF0aCBkPSJNNCA4VjZhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik04IDEwaDYiIC8+CiAgPHBhdGggZD0iTTggMTRoOCIgLz4KICA8cGF0aCBkPSJNOCAxOGg1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/notepad-text-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNotepadTextDashed = /*#__PURE__*/(() => {\n  class LucideNotepadTextDashed extends LucideIconBase {\n    static icon = {\n      name: 'notepad-text-dashed',\n      size: 24,\n      node: [['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['path', {\n        d: 'M12 2v4',\n        key: '3427ic'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['path', {\n        d: 'M16 4h2a2 2 0 0 1 2 2v2',\n        key: 'j91f56'\n      }], ['path', {\n        d: 'M20 12v2',\n        key: 'w8o0tu'\n      }], ['path', {\n        d: 'M20 18v2a2 2 0 0 1-2 2h-1',\n        key: '1c9ggx'\n      }], ['path', {\n        d: 'M13 22h-2',\n        key: '191ugt'\n      }], ['path', {\n        d: 'M7 22H6a2 2 0 0 1-2-2v-2',\n        key: '1rt9px'\n      }], ['path', {\n        d: 'M4 14v-2',\n        key: '1v0sqh'\n      }], ['path', {\n        d: 'M4 8V6a2 2 0 0 1 2-2h2',\n        key: '1mwabg'\n      }], ['path', {\n        d: 'M8 10h6',\n        key: '3oa6kw'\n      }], ['path', {\n        d: 'M8 14h8',\n        key: '1fgep2'\n      }], ['path', {\n        d: 'M8 18h5',\n        key: '17enja'\n      }]]\n    };\n    icon = signal(LucideNotepadTextDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNotepadTextDashed_BaseFactory;\n      return function LucideNotepadTextDashed_Factory(__ngFactoryType__) {\n        return (ɵLucideNotepadTextDashed_BaseFactory || (ɵLucideNotepadTextDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNotepadTextDashed)))(__ngFactoryType__ || LucideNotepadTextDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNotepadTextDashed,\n      selectors: [[\"svg\", \"lucideNotepadTextDashed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1068,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNotepadTextDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNotepadTextDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNotepadTextDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name NotepadText\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAydjQiIC8+CiAgPHBhdGggZD0iTTEyIDJ2NCIgLz4KICA8cGF0aCBkPSJNMTYgMnY0IiAvPgogIDxyZWN0IHdpZHRoPSIxNiIgaGVpZ2h0PSIxOCIgeD0iNCIgeT0iNCIgcng9IjIiIC8+CiAgPHBhdGggZD0iTTggMTBoNiIgLz4KICA8cGF0aCBkPSJNOCAxNGg4IiAvPgogIDxwYXRoIGQ9Ik04IDE4aDUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/notepad-text\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNotepadText = /*#__PURE__*/(() => {\n  class LucideNotepadText extends LucideIconBase {\n    static icon = {\n      name: 'notepad-text',\n      size: 24,\n      node: [['path', {\n        d: 'M8 2v4',\n        key: '1cmpym'\n      }], ['path', {\n        d: 'M12 2v4',\n        key: '3427ic'\n      }], ['path', {\n        d: 'M16 2v4',\n        key: '4m81vk'\n      }], ['rect', {\n        width: '16',\n        height: '18',\n        x: '4',\n        y: '4',\n        rx: '2',\n        key: '1u9h20'\n      }], ['path', {\n        d: 'M8 10h6',\n        key: '3oa6kw'\n      }], ['path', {\n        d: 'M8 14h8',\n        key: '1fgep2'\n      }], ['path', {\n        d: 'M8 18h5',\n        key: '17enja'\n      }]]\n    };\n    icon = signal(LucideNotepadText.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNotepadText_BaseFactory;\n      return function LucideNotepadText_Factory(__ngFactoryType__) {\n        return (ɵLucideNotepadText_BaseFactory || (ɵLucideNotepadText_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNotepadText)))(__ngFactoryType__ || LucideNotepadText);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNotepadText,\n      selectors: [[\"svg\", \"lucideNotepadText\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1069,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNotepadText_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNotepadText_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNotepadText;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name NutOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNFYyIiAvPgogIDxwYXRoIGQ9Ik01IDEwdjRhNy4wMDQgNy4wMDQgMCAwIDAgNS4yNzcgNi43ODdjLjQxMi4xMDQuODAyLjI5MiAxLjEwMi41OTJMMTIgMjJsLjYyMS0uNjIxYy4zLS4zLjY5LS40ODggMS4xMDItLjU5MmE3LjAxIDcuMDEgMCAwIDAgNC4xMjUtMi45MzkiIC8+CiAgPHBhdGggZD0iTTE5IDEwdjMuMzQzIiAvPgogIDxwYXRoIGQ9Ik0xMiAxMmMtMS4zNDktLjU3My0xLjkwNS0xLjAwNS0yLjUtMi0uNTQ2LjkwMi0xLjA0OCAxLjM1My0yLjUgMi0xLjAxOC0uNjQ0LTEuNDYtMS4wOC0yLTItMS4wMjguNzEtMS42OS45MTgtMyAxIDEuMDgxLTEuMDQ4IDEuNzU3LTIuMDMgMi0zIC4xOTQtLjc3Ni44NC0xLjU1MSAxLjc5LTIuMjFtMTEuNjU0IDUuOTk3Yy44ODctLjQ1NyAxLjI4LS44OTEgMS41NTYtMS43ODcgMS4wMzIuOTE2IDEuNjgzIDEuMTU3IDMgMS0xLjI5Ny0xLjAzNi0xLjc1OC0yLjAzLTItMy0uNS0yLTQtNC04LTQtLjc0IDAtMS40NjEuMDY4LTIuMTUuMTkyIiAvPgogIDxsaW5lIHgxPSIyIiB4Mj0iMjIiIHkxPSIyIiB5Mj0iMjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/nut-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNutOff = /*#__PURE__*/(() => {\n  class LucideNutOff extends LucideIconBase {\n    static icon = {\n      name: 'nut-off',\n      size: 24,\n      node: [['path', {\n        d: 'M12 4V2',\n        key: '1k5q1u'\n      }], ['path', {\n        d: 'M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592a7.01 7.01 0 0 0 4.125-2.939',\n        key: '1xcvy9'\n      }], ['path', {\n        d: 'M19 10v3.343',\n        key: '163tfc'\n      }], ['path', {\n        d: 'M12 12c-1.349-.573-1.905-1.005-2.5-2-.546.902-1.048 1.353-2.5 2-1.018-.644-1.46-1.08-2-2-1.028.71-1.69.918-3 1 1.081-1.048 1.757-2.03 2-3 .194-.776.84-1.551 1.79-2.21m11.654 5.997c.887-.457 1.28-.891 1.556-1.787 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4-.74 0-1.461.068-2.15.192',\n        key: '17914v'\n      }], ['line', {\n        x1: '2',\n        x2: '22',\n        y1: '2',\n        y2: '22',\n        key: 'a6p6uj'\n      }]]\n    };\n    icon = signal(LucideNutOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNutOff_BaseFactory;\n      return function LucideNutOff_Factory(__ngFactoryType__) {\n        return (ɵLucideNutOff_BaseFactory || (ɵLucideNutOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNutOff)))(__ngFactoryType__ || LucideNutOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNutOff,\n      selectors: [[\"svg\", \"lucideNutOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1070,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNutOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNutOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNutOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Nut\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNFYyIiAvPgogIDxwYXRoIGQ9Ik01IDEwdjRhNy4wMDQgNy4wMDQgMCAwIDAgNS4yNzcgNi43ODdjLjQxMi4xMDQuODAyLjI5MiAxLjEwMi41OTJMMTIgMjJsLjYyMS0uNjIxYy4zLS4zLjY5LS40ODggMS4xMDItLjU5MkE3LjAwMyA3LjAwMyAwIDAgMCAxOSAxNHYtNCIgLz4KICA8cGF0aCBkPSJNMTIgNEM4IDQgNC41IDYgNCA4Yy0uMjQzLjk3LS45MTkgMS45NTItMiAzIDEuMzEtLjA4MiAxLjk3Mi0uMjkgMy0xIC41NC45Mi45ODIgMS4zNTYgMiAyIDEuNDUyLS42NDcgMS45NTQtMS4wOTggMi41LTIgLjU5NS45OTUgMS4xNTEgMS40MjcgMi41IDIgMS4zMS0uNjIxIDEuODYyLTEuMDU4IDIuNS0yIC42MjkuOTc3IDEuMTYyIDEuNDIzIDIuNSAyIDEuMjA5LS41NDggMS42OC0uOTY3IDItMiAxLjAzMi45MTYgMS42ODMgMS4xNTcgMyAxLTEuMjk3LTEuMDM2LTEuNzU4LTIuMDMtMi0zLS41LTItNC00LTgtNFoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/nut\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideNut = /*#__PURE__*/(() => {\n  class LucideNut extends LucideIconBase {\n    static icon = {\n      name: 'nut',\n      size: 24,\n      node: [['path', {\n        d: 'M12 4V2',\n        key: '1k5q1u'\n      }], ['path', {\n        d: 'M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592A7.003 7.003 0 0 0 19 14v-4',\n        key: '1tgyif'\n      }], ['path', {\n        d: 'M12 4C8 4 4.5 6 4 8c-.243.97-.919 1.952-2 3 1.31-.082 1.972-.29 3-1 .54.92.982 1.356 2 2 1.452-.647 1.954-1.098 2.5-2 .595.995 1.151 1.427 2.5 2 1.31-.621 1.862-1.058 2.5-2 .629.977 1.162 1.423 2.5 2 1.209-.548 1.68-.967 2-2 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4Z',\n        key: 'tnsqj'\n      }]]\n    };\n    icon = signal(LucideNut.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideNut_BaseFactory;\n      return function LucideNut_Factory(__ngFactoryType__) {\n        return (ɵLucideNut_BaseFactory || (ɵLucideNut_BaseFactory = i0.ɵɵgetInheritedFactory(LucideNut)))(__ngFactoryType__ || LucideNut);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideNut,\n      selectors: [[\"svg\", \"lucideNut\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1071,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideNut_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideNut_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideNut;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name OctagonAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTZoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMiA4djQiIC8+CiAgPHBhdGggZD0iTTE1LjMxMiAyYTIgMiAwIDAgMSAxLjQxNC41ODZsNC42ODggNC42ODhBMiAyIDAgMCAxIDIyIDguNjg4djYuNjI0YTIgMiAwIDAgMS0uNTg2IDEuNDE0bC00LjY4OCA0LjY4OGEyIDIgMCAwIDEtMS40MTQuNTg2SDguNjg4YTIgMiAwIDAgMS0xLjQxNC0uNTg2bC00LjY4OC00LjY4OEEyIDIgMCAwIDEgMiAxNS4zMTJWOC42ODhhMiAyIDAgMCAxIC41ODYtMS40MTRsNC42ODgtNC42ODhBMiAyIDAgMCAxIDguNjg4IDJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/octagon-alert\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideOctagonAlert = /*#__PURE__*/(() => {\n  class LucideOctagonAlert extends LucideIconBase {\n    static icon = {\n      name: 'octagon-alert',\n      size: 24,\n      node: [['path', {\n        d: 'M12 16h.01',\n        key: '1drbdi'\n      }], ['path', {\n        d: 'M12 8v4',\n        key: '1got3b'\n      }], ['path', {\n        d: 'M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z',\n        key: '1fd625'\n      }]],\n      aliases: ['alert-octagon']\n    };\n    icon = signal(LucideOctagonAlert.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideOctagonAlert_BaseFactory;\n      return function LucideOctagonAlert_Factory(__ngFactoryType__) {\n        return (ɵLucideOctagonAlert_BaseFactory || (ɵLucideOctagonAlert_BaseFactory = i0.ɵɵgetInheritedFactory(LucideOctagonAlert)))(__ngFactoryType__ || LucideOctagonAlert);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideOctagonAlert,\n      selectors: [[\"svg\", \"lucideOctagonAlert\", \"\"], [\"svg\", \"lucideAlertOctagon\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1072,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideOctagonAlert_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideOctagonAlert_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideOctagonAlert;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideOctagonAlert\n */\nconst LucideAlertOctagon = LucideOctagonAlert;\n\n/**\n * @component @name OctagonX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgOS02IDYiIC8+CiAgPHBhdGggZD0iTTIuNTg2IDE2LjcyNkEyIDIgMCAwIDEgMiAxNS4zMTJWOC42ODhhMiAyIDAgMCAxIC41ODYtMS40MTRsNC42ODgtNC42ODhBMiAyIDAgMCAxIDguNjg4IDJoNi42MjRhMiAyIDAgMCAxIDEuNDE0LjU4Nmw0LjY4OCA0LjY4OEEyIDIgMCAwIDEgMjIgOC42ODh2Ni42MjRhMiAyIDAgMCAxLS41ODYgMS40MTRsLTQuNjg4IDQuNjg4YTIgMiAwIDAgMS0xLjQxNC41ODZIOC42ODhhMiAyIDAgMCAxLTEuNDE0LS41ODZ6IiAvPgogIDxwYXRoIGQ9Im05IDkgNiA2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/octagon-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideOctagonX = /*#__PURE__*/(() => {\n  class LucideOctagonX extends LucideIconBase {\n    static icon = {\n      name: 'octagon-x',\n      size: 24,\n      node: [['path', {\n        d: 'm15 9-6 6',\n        key: '1uzhvr'\n      }], ['path', {\n        d: 'M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z',\n        key: '2d38gg'\n      }], ['path', {\n        d: 'm9 9 6 6',\n        key: 'z0biqf'\n      }]],\n      aliases: ['x-octagon']\n    };\n    icon = signal(LucideOctagonX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideOctagonX_BaseFactory;\n      return function LucideOctagonX_Factory(__ngFactoryType__) {\n        return (ɵLucideOctagonX_BaseFactory || (ɵLucideOctagonX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideOctagonX)))(__ngFactoryType__ || LucideOctagonX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideOctagonX,\n      selectors: [[\"svg\", \"lucideOctagonX\", \"\"], [\"svg\", \"lucideXOctagon\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1073,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideOctagonX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideOctagonX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideOctagonX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideOctagonX\n */\nconst LucideXOctagon = LucideOctagonX;\n\n/**\n * @component @name OctagonPause\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTVWOSIgLz4KICA8cGF0aCBkPSJNMTQgMTVWOSIgLz4KICA8cGF0aCBkPSJNMi41ODYgMTYuNzI2QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMmg2LjYyNGEyIDIgMCAwIDEgMS40MTQuNTg2bDQuNjg4IDQuNjg4QTIgMiAwIDAgMSAyMiA4LjY4OHY2LjYyNGEyIDIgMCAwIDEtLjU4NiAxLjQxNGwtNC42ODggNC42ODhhMiAyIDAgMCAxLTEuNDE0LjU4Nkg4LjY4OGEyIDIgMCAwIDEtMS40MTQtLjU4NnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/octagon-pause\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideOctagonPause = /*#__PURE__*/(() => {\n  class LucideOctagonPause extends LucideIconBase {\n    static icon = {\n      name: 'octagon-pause',\n      size: 24,\n      node: [['path', {\n        d: 'M10 15V9',\n        key: '1lckn7'\n      }], ['path', {\n        d: 'M14 15V9',\n        key: '1muqhk'\n      }], ['path', {\n        d: 'M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z',\n        key: '2d38gg'\n      }]],\n      aliases: ['pause-octagon']\n    };\n    icon = signal(LucideOctagonPause.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideOctagonPause_BaseFactory;\n      return function LucideOctagonPause_Factory(__ngFactoryType__) {\n        return (ɵLucideOctagonPause_BaseFactory || (ɵLucideOctagonPause_BaseFactory = i0.ɵɵgetInheritedFactory(LucideOctagonPause)))(__ngFactoryType__ || LucideOctagonPause);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideOctagonPause,\n      selectors: [[\"svg\", \"lucideOctagonPause\", \"\"], [\"svg\", \"lucidePauseOctagon\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1074,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideOctagonPause_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideOctagonPause_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideOctagonPause;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideOctagonPause\n */\nconst LucidePauseOctagon = LucideOctagonPause;\n\n/**\n * @component @name OctagonMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi41ODYgMTYuNzI2QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMmg2LjYyNGEyIDIgMCAwIDEgMS40MTQuNTg2bDQuNjg4IDQuNjg4QTIgMiAwIDAgMSAyMiA4LjY4OHY2LjYyNGEyIDIgMCAwIDEtLjU4NiAxLjQxNGwtNC42ODggNC42ODhhMiAyIDAgMCAxLTEuNDE0LjU4Nkg4LjY4OGEyIDIgMCAwIDEtMS40MTQtLjU4NnoiIC8+CiAgPHBhdGggZD0iTTggMTJoOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/octagon-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideOctagonMinus = /*#__PURE__*/(() => {\n  class LucideOctagonMinus extends LucideIconBase {\n    static icon = {\n      name: 'octagon-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z',\n        key: '2d38gg'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }]]\n    };\n    icon = signal(LucideOctagonMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideOctagonMinus_BaseFactory;\n      return function LucideOctagonMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideOctagonMinus_BaseFactory || (ɵLucideOctagonMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideOctagonMinus)))(__ngFactoryType__ || LucideOctagonMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideOctagonMinus,\n      selectors: [[\"svg\", \"lucideOctagonMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1075,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideOctagonMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideOctagonMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideOctagonMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Octagon\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi41ODYgMTYuNzI2QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMmg2LjYyNGEyIDIgMCAwIDEgMS40MTQuNTg2bDQuNjg4IDQuNjg4QTIgMiAwIDAgMSAyMiA4LjY4OHY2LjYyNGEyIDIgMCAwIDEtLjU4NiAxLjQxNGwtNC42ODggNC42ODhhMiAyIDAgMCAxLTEuNDE0LjU4Nkg4LjY4OGEyIDIgMCAwIDEtMS40MTQtLjU4NnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/octagon\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideOctagon = /*#__PURE__*/(() => {\n  class LucideOctagon extends LucideIconBase {\n    static icon = {\n      name: 'octagon',\n      size: 24,\n      node: [['path', {\n        d: 'M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z',\n        key: '2d38gg'\n      }]]\n    };\n    icon = signal(LucideOctagon.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideOctagon_BaseFactory;\n      return function LucideOctagon_Factory(__ngFactoryType__) {\n        return (ɵLucideOctagon_BaseFactory || (ɵLucideOctagon_BaseFactory = i0.ɵɵgetInheritedFactory(LucideOctagon)))(__ngFactoryType__ || LucideOctagon);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideOctagon,\n      selectors: [[\"svg\", \"lucideOctagon\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1076,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideOctagon_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideOctagon_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideOctagon;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Omega\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAyMGg0LjVhLjUuNSAwIDAgMCAuNS0uNXYtLjI4MmEuNTIuNTIgMCAwIDAtLjI0Ny0uNDM3IDggOCAwIDEgMSA4LjQ5NC0uMDAxLjUyLjUyIDAgMCAwLS4yNDcuNDM4di4yODJhLjUuNSAwIDAgMCAuNS41SDIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/omega\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideOmega = /*#__PURE__*/(() => {\n  class LucideOmega extends LucideIconBase {\n    static icon = {\n      name: 'omega',\n      size: 24,\n      node: [['path', {\n        d: 'M3 20h4.5a.5.5 0 0 0 .5-.5v-.282a.52.52 0 0 0-.247-.437 8 8 0 1 1 8.494-.001.52.52 0 0 0-.247.438v.282a.5.5 0 0 0 .5.5H21',\n        key: '1x94xo'\n      }]]\n    };\n    icon = signal(LucideOmega.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideOmega_BaseFactory;\n      return function LucideOmega_Factory(__ngFactoryType__) {\n        return (ɵLucideOmega_BaseFactory || (ɵLucideOmega_BaseFactory = i0.ɵɵgetInheritedFactory(LucideOmega)))(__ngFactoryType__ || LucideOmega);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideOmega,\n      selectors: [[\"svg\", \"lucideOmega\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1077,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideOmega_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideOmega_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideOmega;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Option\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAzaDZsNiAxOGg2IiAvPgogIDxwYXRoIGQ9Ik0xNCAzaDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/option\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideOption = /*#__PURE__*/(() => {\n  class LucideOption extends LucideIconBase {\n    static icon = {\n      name: 'option',\n      size: 24,\n      node: [['path', {\n        d: 'M3 3h6l6 18h6',\n        key: 'ph9rgk'\n      }], ['path', {\n        d: 'M14 3h7',\n        key: '16f0ms'\n      }]]\n    };\n    icon = signal(LucideOption.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideOption_BaseFactory;\n      return function LucideOption_Factory(__ngFactoryType__) {\n        return (ɵLucideOption_BaseFactory || (ɵLucideOption_BaseFactory = i0.ɵɵgetInheritedFactory(LucideOption)))(__ngFactoryType__ || LucideOption);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideOption,\n      selectors: [[\"svg\", \"lucideOption\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1078,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideOption_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideOption_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideOption;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Orbit\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAuMzQxIDYuNDg0QTEwIDEwIDAgMCAxIDEwLjI2NiAyMS44NSIgLz4KICA8cGF0aCBkPSJNMy42NTkgMTcuNTE2QTEwIDEwIDAgMCAxIDEzLjc0IDIuMTUyIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiIC8+CiAgPGNpcmNsZSBjeD0iMTkiIGN5PSI1IiByPSIyIiAvPgogIDxjaXJjbGUgY3g9IjUiIGN5PSIxOSIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/orbit\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideOrbit = /*#__PURE__*/(() => {\n  class LucideOrbit extends LucideIconBase {\n    static icon = {\n      name: 'orbit',\n      size: 24,\n      node: [['path', {\n        d: 'M20.341 6.484A10 10 0 0 1 10.266 21.85',\n        key: '1enhxb'\n      }], ['path', {\n        d: 'M3.659 17.516A10 10 0 0 1 13.74 2.152',\n        key: '1crzgf'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '3',\n        key: '1v7zrd'\n      }], ['circle', {\n        cx: '19',\n        cy: '5',\n        r: '2',\n        key: 'mhkx31'\n      }], ['circle', {\n        cx: '5',\n        cy: '19',\n        r: '2',\n        key: 'v8kfzx'\n      }]]\n    };\n    icon = signal(LucideOrbit.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideOrbit_BaseFactory;\n      return function LucideOrbit_Factory(__ngFactoryType__) {\n        return (ɵLucideOrbit_BaseFactory || (ɵLucideOrbit_BaseFactory = i0.ɵɵgetInheritedFactory(LucideOrbit)))(__ngFactoryType__ || LucideOrbit);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideOrbit,\n      selectors: [[\"svg\", \"lucideOrbit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1079,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideOrbit_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideOrbit_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideOrbit;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Origami\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTJWNGExIDEgMCAwIDEgMS0xaDYuMjk3YTEgMSAwIDAgMSAuNjUxIDEuNzU5bC00LjY5NiA0LjAyNSIgLz4KICA8cGF0aCBkPSJtMTIgMjEtNy40MTQtNy40MTRBMiAyIDAgMCAxIDQgMTIuMTcyVjYuNDE1YTEuMDAyIDEuMDAyIDAgMCAxIDEuNzA3LS43MDdMMjAgMjAuMDA5IiAvPgogIDxwYXRoIGQ9Im0xMi4yMTQgMy4zODEgOC40MTQgMTQuOTY2YTEgMSAwIDAgMS0uMTY3IDEuMTk5bC0xLjE2OCAxLjE2M2ExIDEgMCAwIDEtLjcwNi4yOTFINi4zNTFhMSAxIDAgMCAxLS42MjUtLjIxOUwzLjI1IDE4LjhhMSAxIDAgMCAxIC42MzEtMS43ODFsNC4xNjUuMDI3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/origami\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideOrigami = /*#__PURE__*/(() => {\n  class LucideOrigami extends LucideIconBase {\n    static icon = {\n      name: 'origami',\n      size: 24,\n      node: [['path', {\n        d: 'M12 12V4a1 1 0 0 1 1-1h6.297a1 1 0 0 1 .651 1.759l-4.696 4.025',\n        key: '1bx4vc'\n      }], ['path', {\n        d: 'm12 21-7.414-7.414A2 2 0 0 1 4 12.172V6.415a1.002 1.002 0 0 1 1.707-.707L20 20.009',\n        key: '1h3km6'\n      }], ['path', {\n        d: 'm12.214 3.381 8.414 14.966a1 1 0 0 1-.167 1.199l-1.168 1.163a1 1 0 0 1-.706.291H6.351a1 1 0 0 1-.625-.219L3.25 18.8a1 1 0 0 1 .631-1.781l4.165.027',\n        key: '1hj4wg'\n      }]]\n    };\n    icon = signal(LucideOrigami.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideOrigami_BaseFactory;\n      return function LucideOrigami_Factory(__ngFactoryType__) {\n        return (ɵLucideOrigami_BaseFactory || (ɵLucideOrigami_BaseFactory = i0.ɵɵgetInheritedFactory(LucideOrigami)))(__ngFactoryType__ || LucideOrigami);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideOrigami,\n      selectors: [[\"svg\", \"lucideOrigami\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1080,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideOrigami_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideOrigami_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideOrigami;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PackageMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJWMTIiIC8+CiAgPHBhdGggZD0iTTE2IDE3aDYiIC8+CiAgPHBhdGggZD0iTTIxIDEzVjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43MjlsNyA0YTIgMiAwIDAgMCAyIC4wMDFsMS42NzUtLjk1NSIgLz4KICA8cGF0aCBkPSJNMy4yOSA3IDEyIDEybDguNzEtNSIgLz4KICA8cGF0aCBkPSJtNy41IDQuMjcgOC45OTcgNS4xNDgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/package-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePackageMinus = /*#__PURE__*/(() => {\n  class LucidePackageMinus extends LucideIconBase {\n    static icon = {\n      name: 'package-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22V12',\n        key: 'd0xqtd'\n      }], ['path', {\n        d: 'M16 17h6',\n        key: '1ook5g'\n      }], ['path', {\n        d: 'M21 13V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.675-.955',\n        key: 'zu9avd'\n      }], ['path', {\n        d: 'M3.29 7 12 12l8.71-5',\n        key: '19ckod'\n      }], ['path', {\n        d: 'm7.5 4.27 8.997 5.148',\n        key: '9yrvtv'\n      }]]\n    };\n    icon = signal(LucidePackageMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePackageMinus_BaseFactory;\n      return function LucidePackageMinus_Factory(__ngFactoryType__) {\n        return (ɵLucidePackageMinus_BaseFactory || (ɵLucidePackageMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePackageMinus)))(__ngFactoryType__ || LucidePackageMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePackageMinus,\n      selectors: [[\"svg\", \"lucidePackageMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1081,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePackageMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePackageMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePackageMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PackageCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJWMTIiIC8+CiAgPHBhdGggZD0ibTE2IDE3IDIgMiA0LTQiIC8+CiAgPHBhdGggZD0iTTIxIDExLjEyN1Y4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzI5bDcgNGEyIDIgMCAwIDAgMiAuMDAxbDEuMzItLjc1MyIgLz4KICA8cGF0aCBkPSJNMy4yOSA3IDEyIDEybDguNzEtNSIgLz4KICA8cGF0aCBkPSJtNy41IDQuMjcgOC45OTcgNS4xNDgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/package-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePackageCheck = /*#__PURE__*/(() => {\n  class LucidePackageCheck extends LucideIconBase {\n    static icon = {\n      name: 'package-check',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22V12',\n        key: 'd0xqtd'\n      }], ['path', {\n        d: 'm16 17 2 2 4-4',\n        key: 'uh5qu3'\n      }], ['path', {\n        d: 'M21 11.127V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.32-.753',\n        key: 'kpkbpo'\n      }], ['path', {\n        d: 'M3.29 7 12 12l8.71-5',\n        key: '19ckod'\n      }], ['path', {\n        d: 'm7.5 4.27 8.997 5.148',\n        key: '9yrvtv'\n      }]]\n    };\n    icon = signal(LucidePackageCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePackageCheck_BaseFactory;\n      return function LucidePackageCheck_Factory(__ngFactoryType__) {\n        return (ɵLucidePackageCheck_BaseFactory || (ɵLucidePackageCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePackageCheck)))(__ngFactoryType__ || LucidePackageCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePackageCheck,\n      selectors: [[\"svg\", \"lucidePackageCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1082,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePackageCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePackageCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePackageCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Package2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3Y2IiAvPgogIDxwYXRoIGQ9Ik0xNi43NiAzYTIgMiAwIDAgMSAxLjggMS4xbDIuMjMgNC40NzlhMiAyIDAgMCAxIC4yMS44OTFWMTlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWOS40NzJhMiAyIDAgMCAxIC4yMTEtLjg5NEw1LjQ1IDQuMUEyIDIgMCAwIDEgNy4yNCAzeiIgLz4KICA8cGF0aCBkPSJNMy4wNTQgOS4wMTNoMTcuODkzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/package-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePackage2 = /*#__PURE__*/(() => {\n  class LucidePackage2 extends LucideIconBase {\n    static icon = {\n      name: 'package-2',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3v6',\n        key: '1holv5'\n      }], ['path', {\n        d: 'M16.76 3a2 2 0 0 1 1.8 1.1l2.23 4.479a2 2 0 0 1 .21.891V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9.472a2 2 0 0 1 .211-.894L5.45 4.1A2 2 0 0 1 7.24 3z',\n        key: '187q7i'\n      }], ['path', {\n        d: 'M3.054 9.013h17.893',\n        key: 'grwhos'\n      }]]\n    };\n    icon = signal(LucidePackage2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePackage2_BaseFactory;\n      return function LucidePackage2_Factory(__ngFactoryType__) {\n        return (ɵLucidePackage2_BaseFactory || (ɵLucidePackage2_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePackage2)))(__ngFactoryType__ || LucidePackage2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePackage2,\n      selectors: [[\"svg\", \"lucidePackage2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1083,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePackage2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePackage2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePackage2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PackageOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJ2LTkiIC8+CiAgPHBhdGggZD0iTTE1LjE3IDIuMjFhMS42NyAxLjY3IDAgMCAxIDEuNjMgMEwyMSA0LjU3YTEuOTMgMS45MyAwIDAgMSAwIDMuMzZMOC44MiAxNC43OWExLjY1NSAxLjY1NSAwIDAgMS0xLjY0IDBMMyAxMi40M2ExLjkzIDEuOTMgMCAwIDEgMC0zLjM2eiIgLz4KICA8cGF0aCBkPSJNMjAgMTN2My44N2EyLjA2IDIuMDYgMCAwIDEtMS4xMSAxLjgzbC02IDMuMDhhMS45MyAxLjkzIDAgMCAxLTEuNzggMGwtNi0zLjA4QTIuMDYgMi4wNiAwIDAgMSA0IDE2Ljg3VjEzIiAvPgogIDxwYXRoIGQ9Ik0yMSAxMi40M2ExLjkzIDEuOTMgMCAwIDAgMC0zLjM2TDguODMgMi4yYTEuNjQgMS42NCAwIDAgMC0xLjYzIDBMMyA0LjU3YTEuOTMgMS45MyAwIDAgMCAwIDMuMzZsMTIuMTggNi44NmExLjYzNiAxLjYzNiAwIDAgMCAxLjYzIDB6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/package-open\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePackageOpen = /*#__PURE__*/(() => {\n  class LucidePackageOpen extends LucideIconBase {\n    static icon = {\n      name: 'package-open',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22v-9',\n        key: 'x3hkom'\n      }], ['path', {\n        d: 'M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.655 1.655 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z',\n        key: '2ntwy6'\n      }], ['path', {\n        d: 'M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13',\n        key: '1pmm1c'\n      }], ['path', {\n        d: 'M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.636 1.636 0 0 0 1.63 0z',\n        key: '12ttoo'\n      }]]\n    };\n    icon = signal(LucidePackageOpen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePackageOpen_BaseFactory;\n      return function LucidePackageOpen_Factory(__ngFactoryType__) {\n        return (ɵLucidePackageOpen_BaseFactory || (ɵLucidePackageOpen_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePackageOpen)))(__ngFactoryType__ || LucidePackageOpen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePackageOpen,\n      selectors: [[\"svg\", \"lucidePackageOpen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1084,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePackageOpen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePackageOpen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePackageOpen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PackageX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJWMTIiIC8+CiAgPHBhdGggZD0ibTE2LjUgMTQuNSA1IDUiIC8+CiAgPHBhdGggZD0ibTE2LjUgMTkuNSA1LTUiIC8+CiAgPHBhdGggZD0iTTIxIDEwLjVWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjcyOWw3IDRhMiAyIDAgMCAwIDIgLjAwMWwuMTMtLjA3NCIgLz4KICA8cGF0aCBkPSJNMy4yOSA3IDEyIDEybDguNzEtNSIgLz4KICA8cGF0aCBkPSJtNy41IDQuMjcgOC45OTcgNS4xNDgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/package-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePackageX = /*#__PURE__*/(() => {\n  class LucidePackageX extends LucideIconBase {\n    static icon = {\n      name: 'package-x',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22V12',\n        key: 'd0xqtd'\n      }], ['path', {\n        d: 'm16.5 14.5 5 5',\n        key: 'ozpm51'\n      }], ['path', {\n        d: 'm16.5 19.5 5-5',\n        key: 'syf6b9'\n      }], ['path', {\n        d: 'M21 10.5V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l.13-.074',\n        key: 'isw6gs'\n      }], ['path', {\n        d: 'M3.29 7 12 12l8.71-5',\n        key: '19ckod'\n      }], ['path', {\n        d: 'm7.5 4.27 8.997 5.148',\n        key: '9yrvtv'\n      }]]\n    };\n    icon = signal(LucidePackageX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePackageX_BaseFactory;\n      return function LucidePackageX_Factory(__ngFactoryType__) {\n        return (ɵLucidePackageX_BaseFactory || (ɵLucidePackageX_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePackageX)))(__ngFactoryType__ || LucidePackageX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePackageX,\n      selectors: [[\"svg\", \"lucidePackageX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1085,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePackageX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePackageX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePackageX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PackageSearch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJWMTIiIC8+CiAgPHBhdGggZD0iTTIwLjI3IDE4LjI3IDIyIDIwIiAvPgogIDxwYXRoIGQ9Ik0yMSAxMC40OThWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjcyOWw3IDRhMiAyIDAgMCAwIDIgLjAwMWwuOTgtLjU1OSIgLz4KICA8cGF0aCBkPSJNMy4yOSA3IDEyIDEybDguNzEtNSIgLz4KICA8cGF0aCBkPSJtNy41IDQuMjcgOC45OTcgNS4xNDgiIC8+CiAgPGNpcmNsZSBjeD0iMTguNSIgY3k9IjE2LjUiIHI9IjIuNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/package-search\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePackageSearch = /*#__PURE__*/(() => {\n  class LucidePackageSearch extends LucideIconBase {\n    static icon = {\n      name: 'package-search',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22V12',\n        key: 'd0xqtd'\n      }], ['path', {\n        d: 'M20.27 18.27 22 20',\n        key: 'er2am'\n      }], ['path', {\n        d: 'M21 10.498V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l.98-.559',\n        key: 'tok1h1'\n      }], ['path', {\n        d: 'M3.29 7 12 12l8.71-5',\n        key: '19ckod'\n      }], ['path', {\n        d: 'm7.5 4.27 8.997 5.148',\n        key: '9yrvtv'\n      }], ['circle', {\n        cx: '18.5',\n        cy: '16.5',\n        r: '2.5',\n        key: 'ke13xx'\n      }]]\n    };\n    icon = signal(LucidePackageSearch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePackageSearch_BaseFactory;\n      return function LucidePackageSearch_Factory(__ngFactoryType__) {\n        return (ɵLucidePackageSearch_BaseFactory || (ɵLucidePackageSearch_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePackageSearch)))(__ngFactoryType__ || LucidePackageSearch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePackageSearch,\n      selectors: [[\"svg\", \"lucidePackageSearch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1086,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePackageSearch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePackageSearch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePackageSearch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PackagePlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJWMTIiIC8+CiAgPHBhdGggZD0iTTE2IDE3aDYiIC8+CiAgPHBhdGggZD0iTTE5IDE0djYiIC8+CiAgPHBhdGggZD0iTTIxIDEwLjUzNVY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzI5bDcgNGEyIDIgMCAwIDAgMiAuMDAxbDEuNjc1LS45NTUiIC8+CiAgPHBhdGggZD0iTTMuMjkgNyAxMiAxMmw4LjcxLTUiIC8+CiAgPHBhdGggZD0ibTcuNSA0LjI3IDguOTk3IDUuMTQ4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/package-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePackagePlus = /*#__PURE__*/(() => {\n  class LucidePackagePlus extends LucideIconBase {\n    static icon = {\n      name: 'package-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22V12',\n        key: 'd0xqtd'\n      }], ['path', {\n        d: 'M16 17h6',\n        key: '1ook5g'\n      }], ['path', {\n        d: 'M19 14v6',\n        key: '1ckrd5'\n      }], ['path', {\n        d: 'M21 10.535V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.675-.955',\n        key: '28k6lz'\n      }], ['path', {\n        d: 'M3.29 7 12 12l8.71-5',\n        key: '19ckod'\n      }], ['path', {\n        d: 'm7.5 4.27 8.997 5.148',\n        key: '9yrvtv'\n      }]]\n    };\n    icon = signal(LucidePackagePlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePackagePlus_BaseFactory;\n      return function LucidePackagePlus_Factory(__ngFactoryType__) {\n        return (ɵLucidePackagePlus_BaseFactory || (ɵLucidePackagePlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePackagePlus)))(__ngFactoryType__ || LucidePackagePlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePackagePlus,\n      selectors: [[\"svg\", \"lucidePackagePlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1087,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePackagePlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePackagePlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePackagePlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Package\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMjEuNzNhMiAyIDAgMCAwIDIgMGw3LTRBMiAyIDAgMCAwIDIxIDE2VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43M3oiIC8+CiAgPHBhdGggZD0iTTEyIDIyVjEyIiAvPgogIDxwb2x5bGluZSBwb2ludHM9IjMuMjkgNyAxMiAxMiAyMC43MSA3IiAvPgogIDxwYXRoIGQ9Im03LjUgNC4yNyA5IDUuMTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/package\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePackage = /*#__PURE__*/(() => {\n  class LucidePackage extends LucideIconBase {\n    static icon = {\n      name: 'package',\n      size: 24,\n      node: [['path', {\n        d: 'M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z',\n        key: '1a0edw'\n      }], ['path', {\n        d: 'M12 22V12',\n        key: 'd0xqtd'\n      }], ['polyline', {\n        points: '3.29 7 12 12 20.71 7',\n        key: 'ousv84'\n      }], ['path', {\n        d: 'm7.5 4.27 9 5.15',\n        key: '1c824w'\n      }]]\n    };\n    icon = signal(LucidePackage.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePackage_BaseFactory;\n      return function LucidePackage_Factory(__ngFactoryType__) {\n        return (ɵLucidePackage_BaseFactory || (ɵLucidePackage_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePackage)))(__ngFactoryType__ || LucidePackage);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePackage,\n      selectors: [[\"svg\", \"lucidePackage\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1088,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePackage_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePackage_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePackage;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PaintBucket\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgNyA2IDIiIC8+CiAgPHBhdGggZD0iTTE4Ljk5MiAxMkgyLjA0MSIgLz4KICA8cGF0aCBkPSJNMjEuMTQ1IDE4LjM4QTMuMzQgMy4zNCAwIDAgMSAyMCAxNi41YTMuMyAzLjMgMCAwIDEtMS4xNDUgMS44OGMtLjU3NS40Ni0uODU1IDEuMDItLjg1NSAxLjU5NUEyIDIgMCAwIDAgMjAgMjJhMiAyIDAgMCAwIDItMi4wMjVjMC0uNTgtLjI4NS0xLjEzLS44NTUtMS41OTUiIC8+CiAgPHBhdGggZD0ibTguNSA0LjUgMi4xNDgtMi4xNDhhMS4yMDUgMS4yMDUgMCAwIDEgMS43MDQgMGw3LjI5NiA3LjI5NmExLjIwNSAxLjIwNSAwIDAgMSAwIDEuNzA0bC03LjU5MiA3LjU5MmEzLjYxNSAzLjYxNSAwIDAgMS01LjExMiAwbC0zLjg4OC0zLjg4OGEzLjYxNSAzLjYxNSAwIDAgMSAwLTUuMTEyTDUuNjcgNy4zMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/paint-bucket\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePaintBucket = /*#__PURE__*/(() => {\n  class LucidePaintBucket extends LucideIconBase {\n    static icon = {\n      name: 'paint-bucket',\n      size: 24,\n      node: [['path', {\n        d: 'M11 7 6 2',\n        key: '1jwth8'\n      }], ['path', {\n        d: 'M18.992 12H2.041',\n        key: 'xw1gg'\n      }], ['path', {\n        d: 'M21.145 18.38A3.34 3.34 0 0 1 20 16.5a3.3 3.3 0 0 1-1.145 1.88c-.575.46-.855 1.02-.855 1.595A2 2 0 0 0 20 22a2 2 0 0 0 2-2.025c0-.58-.285-1.13-.855-1.595',\n        key: '1nkol4'\n      }], ['path', {\n        d: 'm8.5 4.5 2.148-2.148a1.205 1.205 0 0 1 1.704 0l7.296 7.296a1.205 1.205 0 0 1 0 1.704l-7.592 7.592a3.615 3.615 0 0 1-5.112 0l-3.888-3.888a3.615 3.615 0 0 1 0-5.112L5.67 7.33',\n        key: '1nk1rd'\n      }]]\n    };\n    icon = signal(LucidePaintBucket.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePaintBucket_BaseFactory;\n      return function LucidePaintBucket_Factory(__ngFactoryType__) {\n        return (ɵLucidePaintBucket_BaseFactory || (ɵLucidePaintBucket_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePaintBucket)))(__ngFactoryType__ || LucidePaintBucket);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePaintBucket,\n      selectors: [[\"svg\", \"lucidePaintBucket\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1089,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePaintBucket_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePaintBucket_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePaintBucket;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PaintRoller\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTYiIGhlaWdodD0iNiIgeD0iMiIgeT0iMiIgcng9IjIiIC8+CiAgPHBhdGggZD0iTTEwIDE2di0yYTIgMiAwIDAgMSAyLTJoOGEyIDIgMCAwIDAgMi0yVjdhMiAyIDAgMCAwLTItMmgtMiIgLz4KICA8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI2IiB4PSI4IiB5PSIxNiIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/paint-roller\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePaintRoller = /*#__PURE__*/(() => {\n  class LucidePaintRoller extends LucideIconBase {\n    static icon = {\n      name: 'paint-roller',\n      size: 24,\n      node: [['rect', {\n        width: '16',\n        height: '6',\n        x: '2',\n        y: '2',\n        rx: '2',\n        key: 'jcyz7m'\n      }], ['path', {\n        d: 'M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2',\n        key: '1b9h7c'\n      }], ['rect', {\n        width: '4',\n        height: '6',\n        x: '8',\n        y: '16',\n        rx: '1',\n        key: 'd6e7yl'\n      }]]\n    };\n    icon = signal(LucidePaintRoller.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePaintRoller_BaseFactory;\n      return function LucidePaintRoller_Factory(__ngFactoryType__) {\n        return (ɵLucidePaintRoller_BaseFactory || (ɵLucidePaintRoller_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePaintRoller)))(__ngFactoryType__ || LucidePaintRoller);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePaintRoller,\n      selectors: [[\"svg\", \"lucidePaintRoller\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1090,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePaintRoller_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePaintRoller_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePaintRoller;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PaintbrushVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMnYyIiAvPgogIDxwYXRoIGQ9Ik0xNCAydjQiIC8+CiAgPHBhdGggZD0iTTE3IDJhMSAxIDAgMCAxIDEgMXY5SDZWM2ExIDEgMCAwIDEgMS0xeiIgLz4KICA8cGF0aCBkPSJNNiAxMmExIDEgMCAwIDAtMSAxdjFhMiAyIDAgMCAwIDIgMmgyYTEgMSAwIDAgMSAxIDF2Mi45YTIgMiAwIDEgMCA0IDBWMTdhMSAxIDAgMCAxIDEtMWgyYTIgMiAwIDAgMCAyLTJ2LTFhMSAxIDAgMCAwLTEtMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/paintbrush-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePaintbrushVertical = /*#__PURE__*/(() => {\n  class LucidePaintbrushVertical extends LucideIconBase {\n    static icon = {\n      name: 'paintbrush-vertical',\n      size: 24,\n      node: [['path', {\n        d: 'M10 2v2',\n        key: '7u0qdc'\n      }], ['path', {\n        d: 'M14 2v4',\n        key: 'qmzblu'\n      }], ['path', {\n        d: 'M17 2a1 1 0 0 1 1 1v9H6V3a1 1 0 0 1 1-1z',\n        key: 'ycvu00'\n      }], ['path', {\n        d: 'M6 12a1 1 0 0 0-1 1v1a2 2 0 0 0 2 2h2a1 1 0 0 1 1 1v2.9a2 2 0 1 0 4 0V17a1 1 0 0 1 1-1h2a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1',\n        key: 'iw4wnp'\n      }]],\n      aliases: ['paintbrush-2']\n    };\n    icon = signal(LucidePaintbrushVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePaintbrushVertical_BaseFactory;\n      return function LucidePaintbrushVertical_Factory(__ngFactoryType__) {\n        return (ɵLucidePaintbrushVertical_BaseFactory || (ɵLucidePaintbrushVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePaintbrushVertical)))(__ngFactoryType__ || LucidePaintbrushVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePaintbrushVertical,\n      selectors: [[\"svg\", \"lucidePaintbrushVertical\", \"\"], [\"svg\", \"lucidePaintbrush2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1091,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePaintbrushVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePaintbrushVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePaintbrushVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucidePaintbrushVertical\n */\nconst LucidePaintbrush2 = LucidePaintbrushVertical;\n\n/**\n * @component @name Paintbrush\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQuNjIyIDE3Ljg5Ny0xMC42OC0yLjkxMyIgLz4KICA8cGF0aCBkPSJNMTguMzc2IDIuNjIyYTEgMSAwIDEgMSAzLjAwMiAzLjAwMkwxNy4zNiA5LjY0M2EuNS41IDAgMCAwIDAgLjcwN2wuOTQ0Ljk0NGEyLjQxIDIuNDEgMCAwIDEgMCAzLjQwOGwtLjk0NC45NDRhLjUuNSAwIDAgMS0uNzA3IDBMOC4zNTQgNy4zNDhhLjUuNSAwIDAgMSAwLS43MDdsLjk0NC0uOTQ0YTIuNDEgMi40MSAwIDAgMSAzLjQwOCAwbC45NDQuOTQ0YS41LjUgMCAwIDAgLjcwNyAweiIgLz4KICA8cGF0aCBkPSJNOSA4Yy0xLjgwNCAyLjcxLTMuOTcgMy40Ni02LjU4MyAzLjk0OGEuNTA3LjUwNyAwIDAgMC0uMzAyLjgxOWw3LjMyIDguODgzYTEgMSAwIDAgMCAxLjE4NS4yMDRDMTIuNzM1IDIwLjQwNSAxNiAxNi43OTIgMTYgMTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/paintbrush\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePaintbrush = /*#__PURE__*/(() => {\n  class LucidePaintbrush extends LucideIconBase {\n    static icon = {\n      name: 'paintbrush',\n      size: 24,\n      node: [['path', {\n        d: 'm14.622 17.897-10.68-2.913',\n        key: 'vj2p1u'\n      }], ['path', {\n        d: 'M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z',\n        key: '18tc5c'\n      }], ['path', {\n        d: 'M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15',\n        key: 'ytzfxy'\n      }]]\n    };\n    icon = signal(LucidePaintbrush.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePaintbrush_BaseFactory;\n      return function LucidePaintbrush_Factory(__ngFactoryType__) {\n        return (ɵLucidePaintbrush_BaseFactory || (ɵLucidePaintbrush_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePaintbrush)))(__ngFactoryType__ || LucidePaintbrush);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePaintbrush,\n      selectors: [[\"svg\", \"lucidePaintbrush\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1092,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePaintbrush_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePaintbrush_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePaintbrush;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Palette\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJhMSAxIDAgMCAxIDAtMjAgMTAgOSAwIDAgMSAxMCA5IDUgNSAwIDAgMS01IDVoLTIuMjVhMS43NSAxLjc1IDAgMCAwLTEuNCAyLjhsLjMuNGExLjc1IDEuNzUgMCAwIDEtMS40IDIuOHoiIC8+CiAgPGNpcmNsZSBjeD0iMTMuNSIgY3k9IjYuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KICA8Y2lyY2xlIGN4PSIxNy41IiBjeT0iMTAuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KICA8Y2lyY2xlIGN4PSI2LjUiIGN5PSIxMi41IiByPSIuNSIgZmlsbD0iY3VycmVudENvbG9yIiAvPgogIDxjaXJjbGUgY3g9IjguNSIgY3k9IjcuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/palette\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePalette = /*#__PURE__*/(() => {\n  class LucidePalette extends LucideIconBase {\n    static icon = {\n      name: 'palette',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z',\n        key: 'e79jfc'\n      }], ['circle', {\n        cx: '13.5',\n        cy: '6.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: '1okk4w'\n      }], ['circle', {\n        cx: '17.5',\n        cy: '10.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: 'f64h9f'\n      }], ['circle', {\n        cx: '6.5',\n        cy: '12.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: 'qy21gx'\n      }], ['circle', {\n        cx: '8.5',\n        cy: '7.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: 'fotxhn'\n      }]]\n    };\n    icon = signal(LucidePalette.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePalette_BaseFactory;\n      return function LucidePalette_Factory(__ngFactoryType__) {\n        return (ɵLucidePalette_BaseFactory || (ɵLucidePalette_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePalette)))(__ngFactoryType__ || LucidePalette);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePalette,\n      selectors: [[\"svg\", \"lucidePalette\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1093,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePalette_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePalette_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePalette;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PanelBottomClose\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDE1aDE4IiAvPgogIDxwYXRoIGQ9Im0xNSA4LTMgMy0zLTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/panel-bottom-close\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelBottomClose = /*#__PURE__*/(() => {\n  class LucidePanelBottomClose extends LucideIconBase {\n    static icon = {\n      name: 'panel-bottom-close',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M3 15h18',\n        key: '5xshup'\n      }], ['path', {\n        d: 'm15 8-3 3-3-3',\n        key: '1oxy1z'\n      }]]\n    };\n    icon = signal(LucidePanelBottomClose.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelBottomClose_BaseFactory;\n      return function LucidePanelBottomClose_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelBottomClose_BaseFactory || (ɵLucidePanelBottomClose_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelBottomClose)))(__ngFactoryType__ || LucidePanelBottomClose);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelBottomClose,\n      selectors: [[\"svg\", \"lucidePanelBottomClose\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1094,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelBottomClose_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelBottomClose_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelBottomClose;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Panda\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuMjUgMTcuMjVoMS41TDEyIDE4eiIgLz4KICA8cGF0aCBkPSJtMTUgMTIgMiAyIiAvPgogIDxwYXRoIGQ9Ik0xOCA2LjVhLjUuNSAwIDAgMC0uNS0uNSIgLz4KICA8cGF0aCBkPSJNMjAuNjkgOS42N2E0LjUgNC41IDAgMSAwLTcuMDQtNS41IDguMzUgOC4zNSAwIDAgMC0zLjMgMCA0LjUgNC41IDAgMSAwLTcuMDQgNS41QzIuNDkgMTEuMiAyIDEyLjg4IDIgMTQuNSAyIDE5LjQ3IDYuNDggMjIgMTIgMjJzMTAtMi41MyAxMC03LjVjMC0xLjYyLS40OC0zLjMtMS4zLTQuODMiIC8+CiAgPHBhdGggZD0iTTYgNi41YS40OTUuNDk1IDAgMCAxIC41LS41IiAvPgogIDxwYXRoIGQ9Im05IDEyLTIgMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/panda\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanda = /*#__PURE__*/(() => {\n  class LucidePanda extends LucideIconBase {\n    static icon = {\n      name: 'panda',\n      size: 24,\n      node: [['path', {\n        d: 'M11.25 17.25h1.5L12 18z',\n        key: '1wmwwj'\n      }], ['path', {\n        d: 'm15 12 2 2',\n        key: 'k60wz4'\n      }], ['path', {\n        d: 'M18 6.5a.5.5 0 0 0-.5-.5',\n        key: '1ch4h4'\n      }], ['path', {\n        d: 'M20.69 9.67a4.5 4.5 0 1 0-7.04-5.5 8.35 8.35 0 0 0-3.3 0 4.5 4.5 0 1 0-7.04 5.5C2.49 11.2 2 12.88 2 14.5 2 19.47 6.48 22 12 22s10-2.53 10-7.5c0-1.62-.48-3.3-1.3-4.83',\n        key: '1c660l'\n      }], ['path', {\n        d: 'M6 6.5a.495.495 0 0 1 .5-.5',\n        key: 'eviuep'\n      }], ['path', {\n        d: 'm9 12-2 2',\n        key: '326nkw'\n      }]]\n    };\n    icon = signal(LucidePanda.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanda_BaseFactory;\n      return function LucidePanda_Factory(__ngFactoryType__) {\n        return (ɵLucidePanda_BaseFactory || (ɵLucidePanda_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanda)))(__ngFactoryType__ || LucidePanda);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanda,\n      selectors: [[\"svg\", \"lucidePanda\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1095,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanda_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanda_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanda;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PanelBottomDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xNCAxNWgxIiAvPgogIDxwYXRoIGQ9Ik0xOSAxNWgyIiAvPgogIDxwYXRoIGQ9Ik0zIDE1aDIiIC8+CiAgPHBhdGggZD0iTTkgMTVoMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/panel-bottom-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelBottomDashed = /*#__PURE__*/(() => {\n  class LucidePanelBottomDashed extends LucideIconBase {\n    static icon = {\n      name: 'panel-bottom-dashed',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M14 15h1',\n        key: '171nev'\n      }], ['path', {\n        d: 'M19 15h2',\n        key: '1vnucp'\n      }], ['path', {\n        d: 'M3 15h2',\n        key: '8bym0q'\n      }], ['path', {\n        d: 'M9 15h1',\n        key: '1tg3ks'\n      }]],\n      aliases: ['panel-bottom-inactive']\n    };\n    icon = signal(LucidePanelBottomDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelBottomDashed_BaseFactory;\n      return function LucidePanelBottomDashed_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelBottomDashed_BaseFactory || (ɵLucidePanelBottomDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelBottomDashed)))(__ngFactoryType__ || LucidePanelBottomDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelBottomDashed,\n      selectors: [[\"svg\", \"lucidePanelBottomDashed\", \"\"], [\"svg\", \"lucidePanelBottomInactive\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1096,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelBottomDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelBottomDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelBottomDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucidePanelBottomDashed\n */\nconst LucidePanelBottomInactive = LucidePanelBottomDashed;\n\n/**\n * @component @name PanelBottomOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDE1aDE4IiAvPgogIDxwYXRoIGQ9Im05IDEwIDMtMyAzIDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/panel-bottom-open\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelBottomOpen = /*#__PURE__*/(() => {\n  class LucidePanelBottomOpen extends LucideIconBase {\n    static icon = {\n      name: 'panel-bottom-open',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M3 15h18',\n        key: '5xshup'\n      }], ['path', {\n        d: 'm9 10 3-3 3 3',\n        key: '11gsxs'\n      }]]\n    };\n    icon = signal(LucidePanelBottomOpen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelBottomOpen_BaseFactory;\n      return function LucidePanelBottomOpen_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelBottomOpen_BaseFactory || (ɵLucidePanelBottomOpen_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelBottomOpen)))(__ngFactoryType__ || LucidePanelBottomOpen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelBottomOpen,\n      selectors: [[\"svg\", \"lucidePanelBottomOpen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1097,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelBottomOpen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelBottomOpen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelBottomOpen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PanelLeftClose\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik05IDN2MTgiIC8+CiAgPHBhdGggZD0ibTE2IDE1LTMtMyAzLTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/panel-left-close\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelLeftClose = /*#__PURE__*/(() => {\n  class LucidePanelLeftClose extends LucideIconBase {\n    static icon = {\n      name: 'panel-left-close',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M9 3v18',\n        key: 'fh3hqa'\n      }], ['path', {\n        d: 'm16 15-3-3 3-3',\n        key: '14y99z'\n      }]],\n      aliases: ['sidebar-close']\n    };\n    icon = signal(LucidePanelLeftClose.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelLeftClose_BaseFactory;\n      return function LucidePanelLeftClose_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelLeftClose_BaseFactory || (ɵLucidePanelLeftClose_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelLeftClose)))(__ngFactoryType__ || LucidePanelLeftClose);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelLeftClose,\n      selectors: [[\"svg\", \"lucidePanelLeftClose\", \"\"], [\"svg\", \"lucideSidebarClose\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1098,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelLeftClose_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelLeftClose_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelLeftClose;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucidePanelLeftClose\n */\nconst LucideSidebarClose = LucidePanelLeftClose;\n\n/**\n * @component @name PanelBottom\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDE1aDE4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/panel-bottom\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelBottom = /*#__PURE__*/(() => {\n  class LucidePanelBottom extends LucideIconBase {\n    static icon = {\n      name: 'panel-bottom',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M3 15h18',\n        key: '5xshup'\n      }]]\n    };\n    icon = signal(LucidePanelBottom.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelBottom_BaseFactory;\n      return function LucidePanelBottom_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelBottom_BaseFactory || (ɵLucidePanelBottom_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelBottom)))(__ngFactoryType__ || LucidePanelBottom);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelBottom,\n      selectors: [[\"svg\", \"lucidePanelBottom\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1099,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelBottom_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelBottom_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelBottom;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PanelLeftDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik05IDE0djEiIC8+CiAgPHBhdGggZD0iTTkgMTl2MiIgLz4KICA8cGF0aCBkPSJNOSAzdjIiIC8+CiAgPHBhdGggZD0iTTkgOXYxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/panel-left-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelLeftDashed = /*#__PURE__*/(() => {\n  class LucidePanelLeftDashed extends LucideIconBase {\n    static icon = {\n      name: 'panel-left-dashed',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M9 14v1',\n        key: 'askpd8'\n      }], ['path', {\n        d: 'M9 19v2',\n        key: '16tejx'\n      }], ['path', {\n        d: 'M9 3v2',\n        key: '1noubl'\n      }], ['path', {\n        d: 'M9 9v1',\n        key: '19ebxg'\n      }]],\n      aliases: ['panel-left-inactive']\n    };\n    icon = signal(LucidePanelLeftDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelLeftDashed_BaseFactory;\n      return function LucidePanelLeftDashed_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelLeftDashed_BaseFactory || (ɵLucidePanelLeftDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelLeftDashed)))(__ngFactoryType__ || LucidePanelLeftDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelLeftDashed,\n      selectors: [[\"svg\", \"lucidePanelLeftDashed\", \"\"], [\"svg\", \"lucidePanelLeftInactive\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1100,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelLeftDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelLeftDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelLeftDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucidePanelLeftDashed\n */\nconst LucidePanelLeftInactive = LucidePanelLeftDashed;\n\n/**\n * @component @name PanelLeftOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik05IDN2MTgiIC8+CiAgPHBhdGggZD0ibTE0IDkgMyAzLTMgMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/panel-left-open\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelLeftOpen = /*#__PURE__*/(() => {\n  class LucidePanelLeftOpen extends LucideIconBase {\n    static icon = {\n      name: 'panel-left-open',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M9 3v18',\n        key: 'fh3hqa'\n      }], ['path', {\n        d: 'm14 9 3 3-3 3',\n        key: '8010ee'\n      }]],\n      aliases: ['sidebar-open']\n    };\n    icon = signal(LucidePanelLeftOpen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelLeftOpen_BaseFactory;\n      return function LucidePanelLeftOpen_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelLeftOpen_BaseFactory || (ɵLucidePanelLeftOpen_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelLeftOpen)))(__ngFactoryType__ || LucidePanelLeftOpen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelLeftOpen,\n      selectors: [[\"svg\", \"lucidePanelLeftOpen\", \"\"], [\"svg\", \"lucideSidebarOpen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1101,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelLeftOpen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelLeftOpen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelLeftOpen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucidePanelLeftOpen\n */\nconst LucideSidebarOpen = LucidePanelLeftOpen;\n\n/**\n * @component @name PanelLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik05IDN2MTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/panel-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelLeft = /*#__PURE__*/(() => {\n  class LucidePanelLeft extends LucideIconBase {\n    static icon = {\n      name: 'panel-left',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M9 3v18',\n        key: 'fh3hqa'\n      }]],\n      aliases: ['sidebar']\n    };\n    icon = signal(LucidePanelLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelLeft_BaseFactory;\n      return function LucidePanelLeft_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelLeft_BaseFactory || (ɵLucidePanelLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelLeft)))(__ngFactoryType__ || LucidePanelLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelLeft,\n      selectors: [[\"svg\", \"lucidePanelLeft\", \"\"], [\"svg\", \"lucideSidebar\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1102,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucidePanelLeft\n */\nconst LucideSidebar = LucidePanelLeft;\n\n/**\n * @component @name PanelLeftRightDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMTBWOSIgLz4KICA8cGF0aCBkPSJNMTUgMTV2LTEiIC8+CiAgPHBhdGggZD0iTTE1IDIxdi0yIiAvPgogIDxwYXRoIGQ9Ik0xNSA1VjMiIC8+CiAgPHBhdGggZD0iTTkgMTBWOSIgLz4KICA8cGF0aCBkPSJNOSAxNXYtMSIgLz4KICA8cGF0aCBkPSJNOSAyMXYtMiIgLz4KICA8cGF0aCBkPSJNOSA1VjMiIC8+CiAgPHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/panel-left-right-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelLeftRightDashed = /*#__PURE__*/(() => {\n  class LucidePanelLeftRightDashed extends LucideIconBase {\n    static icon = {\n      name: 'panel-left-right-dashed',\n      size: 24,\n      node: [['path', {\n        d: 'M15 10V9',\n        key: '4dkmfx'\n      }], ['path', {\n        d: 'M15 15v-1',\n        key: '6a4afx'\n      }], ['path', {\n        d: 'M15 21v-2',\n        key: '1qshmc'\n      }], ['path', {\n        d: 'M15 5V3',\n        key: '1fk0mb'\n      }], ['path', {\n        d: 'M9 10V9',\n        key: '1lazqi'\n      }], ['path', {\n        d: 'M9 15v-1',\n        key: '9lx740'\n      }], ['path', {\n        d: 'M9 21v-2',\n        key: '1fwk0n'\n      }], ['path', {\n        d: 'M9 5V3',\n        key: '2q8zi6'\n      }], ['rect', {\n        x: '3',\n        y: '3',\n        width: '18',\n        height: '18',\n        rx: '2',\n        key: 'h1oib'\n      }]]\n    };\n    icon = signal(LucidePanelLeftRightDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelLeftRightDashed_BaseFactory;\n      return function LucidePanelLeftRightDashed_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelLeftRightDashed_BaseFactory || (ɵLucidePanelLeftRightDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelLeftRightDashed)))(__ngFactoryType__ || LucidePanelLeftRightDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelLeftRightDashed,\n      selectors: [[\"svg\", \"lucidePanelLeftRightDashed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1103,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelLeftRightDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelLeftRightDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelLeftRightDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PanelRightClose\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xNSAzdjE4IiAvPgogIDxwYXRoIGQ9Im04IDkgMyAzLTMgMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/panel-right-close\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelRightClose = /*#__PURE__*/(() => {\n  class LucidePanelRightClose extends LucideIconBase {\n    static icon = {\n      name: 'panel-right-close',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M15 3v18',\n        key: '14nvp0'\n      }], ['path', {\n        d: 'm8 9 3 3-3 3',\n        key: '12hl5m'\n      }]]\n    };\n    icon = signal(LucidePanelRightClose.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelRightClose_BaseFactory;\n      return function LucidePanelRightClose_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelRightClose_BaseFactory || (ɵLucidePanelRightClose_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelRightClose)))(__ngFactoryType__ || LucidePanelRightClose);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelRightClose,\n      selectors: [[\"svg\", \"lucidePanelRightClose\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1104,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelRightClose_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelRightClose_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelRightClose;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PanelRightOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xNSAzdjE4IiAvPgogIDxwYXRoIGQ9Im0xMCAxNS0zLTMgMy0zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/panel-right-open\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelRightOpen = /*#__PURE__*/(() => {\n  class LucidePanelRightOpen extends LucideIconBase {\n    static icon = {\n      name: 'panel-right-open',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M15 3v18',\n        key: '14nvp0'\n      }], ['path', {\n        d: 'm10 15-3-3 3-3',\n        key: '1pgupc'\n      }]]\n    };\n    icon = signal(LucidePanelRightOpen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelRightOpen_BaseFactory;\n      return function LucidePanelRightOpen_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelRightOpen_BaseFactory || (ɵLucidePanelRightOpen_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelRightOpen)))(__ngFactoryType__ || LucidePanelRightOpen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelRightOpen,\n      selectors: [[\"svg\", \"lucidePanelRightOpen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1105,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelRightOpen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelRightOpen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelRightOpen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PanelRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xNSAzdjE4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/panel-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelRight = /*#__PURE__*/(() => {\n  class LucidePanelRight extends LucideIconBase {\n    static icon = {\n      name: 'panel-right',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M15 3v18',\n        key: '14nvp0'\n      }]]\n    };\n    icon = signal(LucidePanelRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelRight_BaseFactory;\n      return function LucidePanelRight_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelRight_BaseFactory || (ɵLucidePanelRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelRight)))(__ngFactoryType__ || LucidePanelRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelRight,\n      selectors: [[\"svg\", \"lucidePanelRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1106,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PanelRightDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xNSAxNHYxIiAvPgogIDxwYXRoIGQ9Ik0xNSAxOXYyIiAvPgogIDxwYXRoIGQ9Ik0xNSAzdjIiIC8+CiAgPHBhdGggZD0iTTE1IDl2MSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/panel-right-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelRightDashed = /*#__PURE__*/(() => {\n  class LucidePanelRightDashed extends LucideIconBase {\n    static icon = {\n      name: 'panel-right-dashed',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M15 14v1',\n        key: 'ilsfch'\n      }], ['path', {\n        d: 'M15 19v2',\n        key: '1fst2f'\n      }], ['path', {\n        d: 'M15 3v2',\n        key: 'z204g4'\n      }], ['path', {\n        d: 'M15 9v1',\n        key: 'z2a8b1'\n      }]],\n      aliases: ['panel-right-inactive']\n    };\n    icon = signal(LucidePanelRightDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelRightDashed_BaseFactory;\n      return function LucidePanelRightDashed_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelRightDashed_BaseFactory || (ɵLucidePanelRightDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelRightDashed)))(__ngFactoryType__ || LucidePanelRightDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelRightDashed,\n      selectors: [[\"svg\", \"lucidePanelRightDashed\", \"\"], [\"svg\", \"lucidePanelRightInactive\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1107,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelRightDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelRightDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelRightDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucidePanelRightDashed\n */\nconst LucidePanelRightInactive = LucidePanelRightDashed;\n\n/**\n * @component @name PanelTopBottomDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMTVoMSIgLz4KICA8cGF0aCBkPSJNMTQgOWgxIiAvPgogIDxwYXRoIGQ9Ik0xOSAxNWgyIiAvPgogIDxwYXRoIGQ9Ik0xOSA5aDIiIC8+CiAgPHBhdGggZD0iTTMgMTVoMiIgLz4KICA8cGF0aCBkPSJNMyA5aDIiIC8+CiAgPHBhdGggZD0iTTkgMTVoMSIgLz4KICA8cGF0aCBkPSJNOSA5aDEiIC8+CiAgPHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/panel-top-bottom-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelTopBottomDashed = /*#__PURE__*/(() => {\n  class LucidePanelTopBottomDashed extends LucideIconBase {\n    static icon = {\n      name: 'panel-top-bottom-dashed',\n      size: 24,\n      node: [['path', {\n        d: 'M14 15h1',\n        key: '171nev'\n      }], ['path', {\n        d: 'M14 9h1',\n        key: 'l0svgy'\n      }], ['path', {\n        d: 'M19 15h2',\n        key: '1vnucp'\n      }], ['path', {\n        d: 'M19 9h2',\n        key: 'te2zfg'\n      }], ['path', {\n        d: 'M3 15h2',\n        key: '8bym0q'\n      }], ['path', {\n        d: 'M3 9h2',\n        key: '1h4ldw'\n      }], ['path', {\n        d: 'M9 15h1',\n        key: '1tg3ks'\n      }], ['path', {\n        d: 'M9 9h1',\n        key: '15jzuz'\n      }], ['rect', {\n        x: '3',\n        y: '3',\n        width: '18',\n        height: '18',\n        rx: '2',\n        key: 'h1oib'\n      }]]\n    };\n    icon = signal(LucidePanelTopBottomDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelTopBottomDashed_BaseFactory;\n      return function LucidePanelTopBottomDashed_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelTopBottomDashed_BaseFactory || (ɵLucidePanelTopBottomDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelTopBottomDashed)))(__ngFactoryType__ || LucidePanelTopBottomDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelTopBottomDashed,\n      selectors: [[\"svg\", \"lucidePanelTopBottomDashed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1108,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelTopBottomDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelTopBottomDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelTopBottomDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PanelTopClose\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDloMTgiIC8+CiAgPHBhdGggZD0ibTkgMTYgMy0zIDMgMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/panel-top-close\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelTopClose = /*#__PURE__*/(() => {\n  class LucidePanelTopClose extends LucideIconBase {\n    static icon = {\n      name: 'panel-top-close',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M3 9h18',\n        key: '1pudct'\n      }], ['path', {\n        d: 'm9 16 3-3 3 3',\n        key: '1idcnm'\n      }]]\n    };\n    icon = signal(LucidePanelTopClose.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelTopClose_BaseFactory;\n      return function LucidePanelTopClose_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelTopClose_BaseFactory || (ɵLucidePanelTopClose_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelTopClose)))(__ngFactoryType__ || LucidePanelTopClose);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelTopClose,\n      selectors: [[\"svg\", \"lucidePanelTopClose\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1109,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelTopClose_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelTopClose_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelTopClose;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PanelTopOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDloMTgiIC8+CiAgPHBhdGggZD0ibTE1IDE0LTMgMy0zLTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/panel-top-open\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelTopOpen = /*#__PURE__*/(() => {\n  class LucidePanelTopOpen extends LucideIconBase {\n    static icon = {\n      name: 'panel-top-open',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M3 9h18',\n        key: '1pudct'\n      }], ['path', {\n        d: 'm15 14-3 3-3-3',\n        key: 'g215vf'\n      }]]\n    };\n    icon = signal(LucidePanelTopOpen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelTopOpen_BaseFactory;\n      return function LucidePanelTopOpen_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelTopOpen_BaseFactory || (ɵLucidePanelTopOpen_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelTopOpen)))(__ngFactoryType__ || LucidePanelTopOpen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelTopOpen,\n      selectors: [[\"svg\", \"lucidePanelTopOpen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1110,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelTopOpen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelTopOpen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelTopOpen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PanelTopDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xNCA5aDEiIC8+CiAgPHBhdGggZD0iTTE5IDloMiIgLz4KICA8cGF0aCBkPSJNMyA5aDIiIC8+CiAgPHBhdGggZD0iTTkgOWgxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/panel-top-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelTopDashed = /*#__PURE__*/(() => {\n  class LucidePanelTopDashed extends LucideIconBase {\n    static icon = {\n      name: 'panel-top-dashed',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M14 9h1',\n        key: 'l0svgy'\n      }], ['path', {\n        d: 'M19 9h2',\n        key: 'te2zfg'\n      }], ['path', {\n        d: 'M3 9h2',\n        key: '1h4ldw'\n      }], ['path', {\n        d: 'M9 9h1',\n        key: '15jzuz'\n      }]],\n      aliases: ['panel-top-inactive']\n    };\n    icon = signal(LucidePanelTopDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelTopDashed_BaseFactory;\n      return function LucidePanelTopDashed_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelTopDashed_BaseFactory || (ɵLucidePanelTopDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelTopDashed)))(__ngFactoryType__ || LucidePanelTopDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelTopDashed,\n      selectors: [[\"svg\", \"lucidePanelTopDashed\", \"\"], [\"svg\", \"lucidePanelTopInactive\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1111,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelTopDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelTopDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelTopDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucidePanelTopDashed\n */\nconst LucidePanelTopInactive = LucidePanelTopDashed;\n\n/**\n * @component @name PanelTop\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDloMTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/panel-top\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelTop = /*#__PURE__*/(() => {\n  class LucidePanelTop extends LucideIconBase {\n    static icon = {\n      name: 'panel-top',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M3 9h18',\n        key: '1pudct'\n      }]]\n    };\n    icon = signal(LucidePanelTop.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelTop_BaseFactory;\n      return function LucidePanelTop_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelTop_BaseFactory || (ɵLucidePanelTop_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelTop)))(__ngFactoryType__ || LucidePanelTop);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelTop,\n      selectors: [[\"svg\", \"lucidePanelTop\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1112,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelTop_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelTop_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelTop;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PanelsRightBottom\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDE1aDEyIiAvPgogIDxwYXRoIGQ9Ik0xNSAzdjE4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/panels-right-bottom\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelsRightBottom = /*#__PURE__*/(() => {\n  class LucidePanelsRightBottom extends LucideIconBase {\n    static icon = {\n      name: 'panels-right-bottom',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M3 15h12',\n        key: '1wkqb3'\n      }], ['path', {\n        d: 'M15 3v18',\n        key: '14nvp0'\n      }]]\n    };\n    icon = signal(LucidePanelsRightBottom.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelsRightBottom_BaseFactory;\n      return function LucidePanelsRightBottom_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelsRightBottom_BaseFactory || (ɵLucidePanelsRightBottom_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelsRightBottom)))(__ngFactoryType__ || LucidePanelsRightBottom);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelsRightBottom,\n      selectors: [[\"svg\", \"lucidePanelsRightBottom\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1113,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelsRightBottom_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelsRightBottom_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelsRightBottom;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PanelsLeftBottom\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik05IDN2MTgiIC8+CiAgPHBhdGggZD0iTTkgMTVoMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/panels-left-bottom\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelsLeftBottom = /*#__PURE__*/(() => {\n  class LucidePanelsLeftBottom extends LucideIconBase {\n    static icon = {\n      name: 'panels-left-bottom',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M9 3v18',\n        key: 'fh3hqa'\n      }], ['path', {\n        d: 'M9 15h12',\n        key: '5ijen5'\n      }]]\n    };\n    icon = signal(LucidePanelsLeftBottom.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelsLeftBottom_BaseFactory;\n      return function LucidePanelsLeftBottom_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelsLeftBottom_BaseFactory || (ɵLucidePanelsLeftBottom_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelsLeftBottom)))(__ngFactoryType__ || LucidePanelsLeftBottom);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelsLeftBottom,\n      selectors: [[\"svg\", \"lucidePanelsLeftBottom\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1114,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelsLeftBottom_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelsLeftBottom_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelsLeftBottom;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PanelsTopLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDloMTgiIC8+CiAgPHBhdGggZD0iTTkgMjFWOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/panels-top-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePanelsTopLeft = /*#__PURE__*/(() => {\n  class LucidePanelsTopLeft extends LucideIconBase {\n    static icon = {\n      name: 'panels-top-left',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M3 9h18',\n        key: '1pudct'\n      }], ['path', {\n        d: 'M9 21V9',\n        key: '1oto5p'\n      }]],\n      aliases: ['layout']\n    };\n    icon = signal(LucidePanelsTopLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePanelsTopLeft_BaseFactory;\n      return function LucidePanelsTopLeft_Factory(__ngFactoryType__) {\n        return (ɵLucidePanelsTopLeft_BaseFactory || (ɵLucidePanelsTopLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePanelsTopLeft)))(__ngFactoryType__ || LucidePanelsTopLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePanelsTopLeft,\n      selectors: [[\"svg\", \"lucidePanelsTopLeft\", \"\"], [\"svg\", \"lucideLayout\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1115,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePanelsTopLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePanelsTopLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePanelsTopLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucidePanelsTopLeft\n */\nconst LucideLayout = LucidePanelsTopLeft;\n\n/**\n * @component @name Paperclip\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgNi04LjQxNCA4LjU4NmEyIDIgMCAwIDAgMi44MjkgMi44MjlsOC40MTQtOC41ODZhNCA0IDAgMSAwLTUuNjU3LTUuNjU3bC04LjM3OSA4LjU1MWE2IDYgMCAxIDAgOC40ODUgOC40ODVsOC4zNzktOC41NTEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/paperclip\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePaperclip = /*#__PURE__*/(() => {\n  class LucidePaperclip extends LucideIconBase {\n    static icon = {\n      name: 'paperclip',\n      size: 24,\n      node: [['path', {\n        d: 'm16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551',\n        key: '1miecu'\n      }]]\n    };\n    icon = signal(LucidePaperclip.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePaperclip_BaseFactory;\n      return function LucidePaperclip_Factory(__ngFactoryType__) {\n        return (ɵLucidePaperclip_BaseFactory || (ɵLucidePaperclip_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePaperclip)))(__ngFactoryType__ || LucidePaperclip);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePaperclip,\n      selectors: [[\"svg\", \"lucidePaperclip\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1116,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePaperclip_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePaperclip_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePaperclip;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Parentheses\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAyMXMtNC0zLTQtOSA0LTkgNC05IiAvPgogIDxwYXRoIGQ9Ik0xNiAzczQgMyA0IDktNCA5LTQgOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/parentheses\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideParentheses = /*#__PURE__*/(() => {\n  class LucideParentheses extends LucideIconBase {\n    static icon = {\n      name: 'parentheses',\n      size: 24,\n      node: [['path', {\n        d: 'M8 21s-4-3-4-9 4-9 4-9',\n        key: 'uto9ud'\n      }], ['path', {\n        d: 'M16 3s4 3 4 9-4 9-4 9',\n        key: '4w2vsq'\n      }]]\n    };\n    icon = signal(LucideParentheses.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideParentheses_BaseFactory;\n      return function LucideParentheses_Factory(__ngFactoryType__) {\n        return (ɵLucideParentheses_BaseFactory || (ɵLucideParentheses_BaseFactory = i0.ɵɵgetInheritedFactory(LucideParentheses)))(__ngFactoryType__ || LucideParentheses);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideParentheses,\n      selectors: [[\"svg\", \"lucideParentheses\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1117,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideParentheses_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideParentheses_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideParentheses;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ParkingMeter\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTVoMiIgLz4KICA8cGF0aCBkPSJNMTIgMTJ2MyIgLz4KICA8cGF0aCBkPSJNMTIgMTl2MyIgLz4KICA8cGF0aCBkPSJNMTUuMjgyIDE5YTEgMSAwIDAgMCAuOTQ4LS42OGwyLjM3LTYuOTg4YTcgNyAwIDEgMC0xMy4yIDBsMi4zNyA2Ljk4OGExIDEgMCAwIDAgLjk0OC42OHoiIC8+CiAgPHBhdGggZD0iTTkgOWEzIDMgMCAxIDEgNiAwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/parking-meter\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideParkingMeter = /*#__PURE__*/(() => {\n  class LucideParkingMeter extends LucideIconBase {\n    static icon = {\n      name: 'parking-meter',\n      size: 24,\n      node: [['path', {\n        d: 'M11 15h2',\n        key: '199qp6'\n      }], ['path', {\n        d: 'M12 12v3',\n        key: '158kv8'\n      }], ['path', {\n        d: 'M12 19v3',\n        key: 'npa21l'\n      }], ['path', {\n        d: 'M15.282 19a1 1 0 0 0 .948-.68l2.37-6.988a7 7 0 1 0-13.2 0l2.37 6.988a1 1 0 0 0 .948.68z',\n        key: '1jofit'\n      }], ['path', {\n        d: 'M9 9a3 3 0 1 1 6 0',\n        key: 'jdoeu8'\n      }]]\n    };\n    icon = signal(LucideParkingMeter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideParkingMeter_BaseFactory;\n      return function LucideParkingMeter_Factory(__ngFactoryType__) {\n        return (ɵLucideParkingMeter_BaseFactory || (ɵLucideParkingMeter_BaseFactory = i0.ɵɵgetInheritedFactory(LucideParkingMeter)))(__ngFactoryType__ || LucideParkingMeter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideParkingMeter,\n      selectors: [[\"svg\", \"lucideParkingMeter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1118,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideParkingMeter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideParkingMeter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideParkingMeter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PartyPopper\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNS44IDExLjMgMiAyMmwxMC43LTMuNzkiIC8+CiAgPHBhdGggZD0iTTQgM2guMDEiIC8+CiAgPHBhdGggZD0iTTIyIDhoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNSAyaC4wMSIgLz4KICA8cGF0aCBkPSJNMjIgMjBoLjAxIiAvPgogIDxwYXRoIGQ9Im0yMiAyLTIuMjQuNzVhMi45IDIuOSAwIDAgMC0xLjk2IDMuMTJjLjEuODYtLjU3IDEuNjMtMS40NSAxLjYzaC0uMzhjLS44NiAwLTEuNi42LTEuNzYgMS40NEwxNCAxMCIgLz4KICA8cGF0aCBkPSJtMjIgMTMtLjgyLS4zM2MtLjg2LS4zNC0xLjgyLjItMS45OCAxLjExYy0uMTEuNy0uNzIgMS4yMi0xLjQzIDEuMjJIMTciIC8+CiAgPHBhdGggZD0ibTExIDIgLjMzLjgyYy4zNC44Ni0uMiAxLjgyLTEuMTEgMS45OEM5LjUyIDQuOSA5IDUuNTIgOSA2LjIzVjciIC8+CiAgPHBhdGggZD0iTTExIDEzYzEuOTMgMS45MyAyLjgzIDQuMTcgMiA1LS44My44My0zLjA3LS4wNy01LTItMS45My0xLjkzLTIuODMtNC4xNy0yLTUgLjgzLS44MyAzLjA3LjA3IDUgMloiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/party-popper\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePartyPopper = /*#__PURE__*/(() => {\n  class LucidePartyPopper extends LucideIconBase {\n    static icon = {\n      name: 'party-popper',\n      size: 24,\n      node: [['path', {\n        d: 'M5.8 11.3 2 22l10.7-3.79',\n        key: 'gwxi1d'\n      }], ['path', {\n        d: 'M4 3h.01',\n        key: '1vcuye'\n      }], ['path', {\n        d: 'M22 8h.01',\n        key: '1mrtc2'\n      }], ['path', {\n        d: 'M15 2h.01',\n        key: '1cjtqr'\n      }], ['path', {\n        d: 'M22 20h.01',\n        key: '1mrys2'\n      }], ['path', {\n        d: 'm22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10',\n        key: 'hbicv8'\n      }], ['path', {\n        d: 'm22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17',\n        key: '1i94pl'\n      }], ['path', {\n        d: 'm11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7',\n        key: '1cofks'\n      }], ['path', {\n        d: 'M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z',\n        key: '4kbmks'\n      }]]\n    };\n    icon = signal(LucidePartyPopper.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePartyPopper_BaseFactory;\n      return function LucidePartyPopper_Factory(__ngFactoryType__) {\n        return (ɵLucidePartyPopper_BaseFactory || (ɵLucidePartyPopper_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePartyPopper)))(__ngFactoryType__ || LucidePartyPopper);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePartyPopper,\n      selectors: [[\"svg\", \"lucidePartyPopper\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1119,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePartyPopper_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePartyPopper_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePartyPopper;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Pause\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB4PSIxNCIgeT0iMyIgd2lkdGg9IjUiIGhlaWdodD0iMTgiIHJ4PSIxIiAvPgogIDxyZWN0IHg9IjUiIHk9IjMiIHdpZHRoPSI1IiBoZWlnaHQ9IjE4IiByeD0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/pause\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePause = /*#__PURE__*/(() => {\n  class LucidePause extends LucideIconBase {\n    static icon = {\n      name: 'pause',\n      size: 24,\n      node: [['rect', {\n        x: '14',\n        y: '3',\n        width: '5',\n        height: '18',\n        rx: '1',\n        key: 'kaeet6'\n      }], ['rect', {\n        x: '5',\n        y: '3',\n        width: '5',\n        height: '18',\n        rx: '1',\n        key: '1wsw3u'\n      }]]\n    };\n    icon = signal(LucidePause.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePause_BaseFactory;\n      return function LucidePause_Factory(__ngFactoryType__) {\n        return (ɵLucidePause_BaseFactory || (ɵLucidePause_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePause)))(__ngFactoryType__ || LucidePause);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePause,\n      selectors: [[\"svg\", \"lucidePause\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1120,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePause_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePause_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePause;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PcCase\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iMjAiIHg9IjUiIHk9IjIiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xNSAxNGguMDEiIC8+CiAgPHBhdGggZD0iTTkgNmg2IiAvPgogIDxwYXRoIGQ9Ik05IDEwaDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pc-case\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePcCase = /*#__PURE__*/(() => {\n  class LucidePcCase extends LucideIconBase {\n    static icon = {\n      name: 'pc-case',\n      size: 24,\n      node: [['rect', {\n        width: '14',\n        height: '20',\n        x: '5',\n        y: '2',\n        rx: '2',\n        key: '1uq1d7'\n      }], ['path', {\n        d: 'M15 14h.01',\n        key: '1kp3bh'\n      }], ['path', {\n        d: 'M9 6h6',\n        key: 'dgm16u'\n      }], ['path', {\n        d: 'M9 10h6',\n        key: '9gxzsh'\n      }]]\n    };\n    icon = signal(LucidePcCase.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePcCase_BaseFactory;\n      return function LucidePcCase_Factory(__ngFactoryType__) {\n        return (ɵLucidePcCase_BaseFactory || (ɵLucidePcCase_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePcCase)))(__ngFactoryType__ || LucidePcCase);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePcCase,\n      selectors: [[\"svg\", \"lucidePcCase\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1121,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePcCase_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePcCase_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePcCase;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PawPrint\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjQiIHI9IjIiIC8+CiAgPGNpcmNsZSBjeD0iMTgiIGN5PSI4IiByPSIyIiAvPgogIDxjaXJjbGUgY3g9IjIwIiBjeT0iMTYiIHI9IjIiIC8+CiAgPHBhdGggZD0iTTkgMTBhNSA1IDAgMCAxIDUgNXYzLjVhMy41IDMuNSAwIDAgMS02Ljg0IDEuMDQ1UTYuNTIgMTcuNDggNC40NiAxNi44NEEzLjUgMy41IDAgMCAxIDUuNSAxMFoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/paw-print\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePawPrint = /*#__PURE__*/(() => {\n  class LucidePawPrint extends LucideIconBase {\n    static icon = {\n      name: 'paw-print',\n      size: 24,\n      node: [['circle', {\n        cx: '11',\n        cy: '4',\n        r: '2',\n        key: 'vol9p0'\n      }], ['circle', {\n        cx: '18',\n        cy: '8',\n        r: '2',\n        key: '17gozi'\n      }], ['circle', {\n        cx: '20',\n        cy: '16',\n        r: '2',\n        key: '1v9bxh'\n      }], ['path', {\n        d: 'M9 10a5 5 0 0 1 5 5v3.5a3.5 3.5 0 0 1-6.84 1.045Q6.52 17.48 4.46 16.84A3.5 3.5 0 0 1 5.5 10Z',\n        key: '1ydw1z'\n      }]]\n    };\n    icon = signal(LucidePawPrint.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePawPrint_BaseFactory;\n      return function LucidePawPrint_Factory(__ngFactoryType__) {\n        return (ɵLucidePawPrint_BaseFactory || (ɵLucidePawPrint_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePawPrint)))(__ngFactoryType__ || LucidePawPrint);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePawPrint,\n      selectors: [[\"svg\", \"lucidePawPrint\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1122,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePawPrint_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePawPrint_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePawPrint;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PenLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMjFoOCIgLz4KICA8cGF0aCBkPSJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/pen-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePenLine = /*#__PURE__*/(() => {\n  class LucidePenLine extends LucideIconBase {\n    static icon = {\n      name: 'pen-line',\n      size: 24,\n      node: [['path', {\n        d: 'M13 21h8',\n        key: '1jsn5i'\n      }], ['path', {\n        d: 'M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z',\n        key: '1a8usu'\n      }]],\n      aliases: ['edit-3']\n    };\n    icon = signal(LucidePenLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePenLine_BaseFactory;\n      return function LucidePenLine_Factory(__ngFactoryType__) {\n        return (ɵLucidePenLine_BaseFactory || (ɵLucidePenLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePenLine)))(__ngFactoryType__ || LucidePenLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePenLine,\n      selectors: [[\"svg\", \"lucidePenLine\", \"\"], [\"svg\", \"lucideEdit3\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1123,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePenLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePenLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePenLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucidePenLine\n */\nconst LucideEdit3 = LucidePenLine;\n\n/**\n * @component @name PenOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAgMTAtNi4xNTcgNi4xNjJhMiAyIDAgMCAwLS41LjgzM2wtMS4zMjIgNC4zNmEuNS41IDAgMCAwIC42MjIuNjI0bDQuMzU4LTEuMzIzYTIgMiAwIDAgMCAuODMtLjVMMTQgMTMuOTgyIiAvPgogIDxwYXRoIGQ9Im0xMi44MjkgNy4xNzIgNC4zNTktNC4zNDZhMSAxIDAgMSAxIDMuOTg2IDMuOTg2bC00LjM1MyA0LjM1MyIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/pen-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePenOff = /*#__PURE__*/(() => {\n  class LucidePenOff extends LucideIconBase {\n    static icon = {\n      name: 'pen-off',\n      size: 24,\n      node: [['path', {\n        d: 'm10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982',\n        key: 'bjo8r8'\n      }], ['path', {\n        d: 'm12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353',\n        key: '16h5ne'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucidePenOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePenOff_BaseFactory;\n      return function LucidePenOff_Factory(__ngFactoryType__) {\n        return (ɵLucidePenOff_BaseFactory || (ɵLucidePenOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePenOff)))(__ngFactoryType__ || LucidePenOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePenOff,\n      selectors: [[\"svg\", \"lucidePenOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1124,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePenOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePenOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePenOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Pen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/pen\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePen = /*#__PURE__*/(() => {\n  class LucidePen extends LucideIconBase {\n    static icon = {\n      name: 'pen',\n      size: 24,\n      node: [['path', {\n        d: 'M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z',\n        key: '1a8usu'\n      }]],\n      aliases: ['edit-2']\n    };\n    icon = signal(LucidePen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePen_BaseFactory;\n      return function LucidePen_Factory(__ngFactoryType__) {\n        return (ɵLucidePen_BaseFactory || (ɵLucidePen_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePen)))(__ngFactoryType__ || LucidePen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePen,\n      selectors: [[\"svg\", \"lucidePen\", \"\"], [\"svg\", \"lucideEdit2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1125,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucidePen\n */\nconst LucideEdit2 = LucidePen;\n\n/**\n * @component @name PencilOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAgMTAtNi4xNTcgNi4xNjJhMiAyIDAgMCAwLS41LjgzM2wtMS4zMjIgNC4zNmEuNS41IDAgMCAwIC42MjIuNjI0bDQuMzU4LTEuMzIzYTIgMiAwIDAgMCAuODMtLjVMMTQgMTMuOTgyIiAvPgogIDxwYXRoIGQ9Im0xMi44MjkgNy4xNzIgNC4zNTktNC4zNDZhMSAxIDAgMSAxIDMuOTg2IDMuOTg2bC00LjM1MyA0LjM1MyIgLz4KICA8cGF0aCBkPSJtMTUgNSA0IDQiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/pencil-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePencilOff = /*#__PURE__*/(() => {\n  class LucidePencilOff extends LucideIconBase {\n    static icon = {\n      name: 'pencil-off',\n      size: 24,\n      node: [['path', {\n        d: 'm10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982',\n        key: 'bjo8r8'\n      }], ['path', {\n        d: 'm12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353',\n        key: '16h5ne'\n      }], ['path', {\n        d: 'm15 5 4 4',\n        key: '1mk7zo'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucidePencilOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePencilOff_BaseFactory;\n      return function LucidePencilOff_Factory(__ngFactoryType__) {\n        return (ɵLucidePencilOff_BaseFactory || (ɵLucidePencilOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePencilOff)))(__ngFactoryType__ || LucidePencilOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePencilOff,\n      selectors: [[\"svg\", \"lucidePencilOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1126,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePencilOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePencilOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePencilOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PenTool\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuNzA3IDIxLjI5M2ExIDEgMCAwIDEtMS40MTQgMGwtMS41ODYtMS41ODZhMSAxIDAgMCAxIDAtMS40MTRsNS41ODYtNS41ODZhMSAxIDAgMCAxIDEuNDE0IDBsMS41ODYgMS41ODZhMSAxIDAgMCAxIDAgMS40MTR6IiAvPgogIDxwYXRoIGQ9Im0xOCAxMy0xLjM3NS02Ljg3NGExIDEgMCAwIDAtLjc0Ni0uNzc2TDMuMjM1IDIuMDI4YTEgMSAwIDAgMC0xLjIwNyAxLjIwN0w1LjM1IDE1Ljg3OWExIDEgMCAwIDAgLjc3Ni43NDZMMTMgMTgiIC8+CiAgPHBhdGggZD0ibTIuMyAyLjMgNy4yODYgNy4yODYiIC8+CiAgPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/pen-tool\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePenTool = /*#__PURE__*/(() => {\n  class LucidePenTool extends LucideIconBase {\n    static icon = {\n      name: 'pen-tool',\n      size: 24,\n      node: [['path', {\n        d: 'M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z',\n        key: 'nt11vn'\n      }], ['path', {\n        d: 'm18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18',\n        key: '15qc1e'\n      }], ['path', {\n        d: 'm2.3 2.3 7.286 7.286',\n        key: '1wuzzi'\n      }], ['circle', {\n        cx: '11',\n        cy: '11',\n        r: '2',\n        key: 'xmgehs'\n      }]]\n    };\n    icon = signal(LucidePenTool.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePenTool_BaseFactory;\n      return function LucidePenTool_Factory(__ngFactoryType__) {\n        return (ɵLucidePenTool_BaseFactory || (ɵLucidePenTool_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePenTool)))(__ngFactoryType__ || LucidePenTool);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePenTool,\n      selectors: [[\"svg\", \"lucidePenTool\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1127,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePenTool_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePenTool_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePenTool;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PencilLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMjFoOCIgLz4KICA8cGF0aCBkPSJtMTUgNSA0IDQiIC8+CiAgPHBhdGggZD0iTTIxLjE3NCA2LjgxMmExIDEgMCAwIDAtMy45ODYtMy45ODdMMy44NDIgMTYuMTc0YTIgMiAwIDAgMC0uNS44M2wtMS4zMjEgNC4zNTJhLjUuNSAwIDAgMCAuNjIzLjYyMmw0LjM1My0xLjMyYTIgMiAwIDAgMCAuODMtLjQ5N3oiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pencil-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePencilLine = /*#__PURE__*/(() => {\n  class LucidePencilLine extends LucideIconBase {\n    static icon = {\n      name: 'pencil-line',\n      size: 24,\n      node: [['path', {\n        d: 'M13 21h8',\n        key: '1jsn5i'\n      }], ['path', {\n        d: 'm15 5 4 4',\n        key: '1mk7zo'\n      }], ['path', {\n        d: 'M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z',\n        key: '1a8usu'\n      }]]\n    };\n    icon = signal(LucidePencilLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePencilLine_BaseFactory;\n      return function LucidePencilLine_Factory(__ngFactoryType__) {\n        return (ɵLucidePencilLine_BaseFactory || (ɵLucidePencilLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePencilLine)))(__ngFactoryType__ || LucidePencilLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePencilLine,\n      selectors: [[\"svg\", \"lucidePencilLine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1128,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePencilLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePencilLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePencilLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PencilRuler\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgNyA4LjcgMi43YTIuNDEgMi40MSAwIDAgMC0zLjQgMEwyLjcgNS4zYTIuNDEgMi40MSAwIDAgMCAwIDMuNEw3IDEzIiAvPgogIDxwYXRoIGQ9Im04IDYgMi0yIiAvPgogIDxwYXRoIGQ9Im0xOCAxNiAyLTIiIC8+CiAgPHBhdGggZD0ibTE3IDExIDQuMyA0LjNjLjk0Ljk0Ljk0IDIuNDYgMCAzLjRsLTIuNiAyLjZjLS45NC45NC0yLjQ2Ljk0LTMuNCAwTDExIDE3IiAvPgogIDxwYXRoIGQ9Ik0yMS4xNzQgNi44MTJhMSAxIDAgMCAwLTMuOTg2LTMuOTg3TDMuODQyIDE2LjE3NGEyIDIgMCAwIDAtLjUuODNsLTEuMzIxIDQuMzUyYS41LjUgMCAwIDAgLjYyMy42MjJsNC4zNTMtMS4zMmEyIDIgMCAwIDAgLjgzLS40OTd6IiAvPgogIDxwYXRoIGQ9Im0xNSA1IDQgNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/pencil-ruler\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePencilRuler = /*#__PURE__*/(() => {\n  class LucidePencilRuler extends LucideIconBase {\n    static icon = {\n      name: 'pencil-ruler',\n      size: 24,\n      node: [['path', {\n        d: 'M13 7 8.7 2.7a2.41 2.41 0 0 0-3.4 0L2.7 5.3a2.41 2.41 0 0 0 0 3.4L7 13',\n        key: 'orapub'\n      }], ['path', {\n        d: 'm8 6 2-2',\n        key: '115y1s'\n      }], ['path', {\n        d: 'm18 16 2-2',\n        key: 'ee94s4'\n      }], ['path', {\n        d: 'm17 11 4.3 4.3c.94.94.94 2.46 0 3.4l-2.6 2.6c-.94.94-2.46.94-3.4 0L11 17',\n        key: 'cfq27r'\n      }], ['path', {\n        d: 'M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z',\n        key: '1a8usu'\n      }], ['path', {\n        d: 'm15 5 4 4',\n        key: '1mk7zo'\n      }]]\n    };\n    icon = signal(LucidePencilRuler.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePencilRuler_BaseFactory;\n      return function LucidePencilRuler_Factory(__ngFactoryType__) {\n        return (ɵLucidePencilRuler_BaseFactory || (ɵLucidePencilRuler_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePencilRuler)))(__ngFactoryType__ || LucidePencilRuler);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePencilRuler,\n      selectors: [[\"svg\", \"lucidePencilRuler\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1129,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePencilRuler_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePencilRuler_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePencilRuler;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Percent\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMTkiIHgyPSI1IiB5MT0iNSIgeTI9IjE5IiAvPgogIDxjaXJjbGUgY3g9IjYuNSIgY3k9IjYuNSIgcj0iMi41IiAvPgogIDxjaXJjbGUgY3g9IjE3LjUiIGN5PSIxNy41IiByPSIyLjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/percent\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePercent = /*#__PURE__*/(() => {\n  class LucidePercent extends LucideIconBase {\n    static icon = {\n      name: 'percent',\n      size: 24,\n      node: [['line', {\n        x1: '19',\n        x2: '5',\n        y1: '5',\n        y2: '19',\n        key: '1x9vlm'\n      }], ['circle', {\n        cx: '6.5',\n        cy: '6.5',\n        r: '2.5',\n        key: '4mh3h7'\n      }], ['circle', {\n        cx: '17.5',\n        cy: '17.5',\n        r: '2.5',\n        key: '1mdrzq'\n      }]]\n    };\n    icon = signal(LucidePercent.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePercent_BaseFactory;\n      return function LucidePercent_Factory(__ngFactoryType__) {\n        return (ɵLucidePercent_BaseFactory || (ɵLucidePercent_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePercent)))(__ngFactoryType__ || LucidePercent);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePercent,\n      selectors: [[\"svg\", \"lucidePercent\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1130,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePercent_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePercent_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePercent;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Pentagon\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuODMgMi4zOGEyIDIgMCAwIDEgMi4zNCAwbDggNS43NGEyIDIgMCAwIDEgLjczIDIuMjVsLTMuMDQgOS4yNmEyIDIgMCAwIDEtMS45IDEuMzdINy4wNGEyIDIgMCAwIDEtMS45LTEuMzdMMi4xIDEwLjM3YTIgMiAwIDAgMSAuNzMtMi4yNXoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pentagon\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePentagon = /*#__PURE__*/(() => {\n  class LucidePentagon extends LucideIconBase {\n    static icon = {\n      name: 'pentagon',\n      size: 24,\n      node: [['path', {\n        d: 'M10.83 2.38a2 2 0 0 1 2.34 0l8 5.74a2 2 0 0 1 .73 2.25l-3.04 9.26a2 2 0 0 1-1.9 1.37H7.04a2 2 0 0 1-1.9-1.37L2.1 10.37a2 2 0 0 1 .73-2.25z',\n        key: '2hea0t'\n      }]]\n    };\n    icon = signal(LucidePentagon.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePentagon_BaseFactory;\n      return function LucidePentagon_Factory(__ngFactoryType__) {\n        return (ɵLucidePentagon_BaseFactory || (ɵLucidePentagon_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePentagon)))(__ngFactoryType__ || LucidePentagon);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePentagon,\n      selectors: [[\"svg\", \"lucidePentagon\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1131,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePentagon_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePentagon_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePentagon;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PhilippinePeso\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTFINCIgLz4KICA8cGF0aCBkPSJNMjAgN0g0IiAvPgogIDxwYXRoIGQ9Ik03IDIxVjRhMSAxIDAgMCAxIDEtMWg0YTEgMSAwIDAgMSAwIDEySDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/philippine-peso\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePhilippinePeso = /*#__PURE__*/(() => {\n  class LucidePhilippinePeso extends LucideIconBase {\n    static icon = {\n      name: 'philippine-peso',\n      size: 24,\n      node: [['path', {\n        d: 'M20 11H4',\n        key: '6ut86h'\n      }], ['path', {\n        d: 'M20 7H4',\n        key: 'zbl0bi'\n      }], ['path', {\n        d: 'M7 21V4a1 1 0 0 1 1-1h4a1 1 0 0 1 0 12H7',\n        key: '1ana5r'\n      }]]\n    };\n    icon = signal(LucidePhilippinePeso.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePhilippinePeso_BaseFactory;\n      return function LucidePhilippinePeso_Factory(__ngFactoryType__) {\n        return (ɵLucidePhilippinePeso_BaseFactory || (ɵLucidePhilippinePeso_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePhilippinePeso)))(__ngFactoryType__ || LucidePhilippinePeso);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePhilippinePeso,\n      selectors: [[\"svg\", \"lucidePhilippinePeso\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1132,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePhilippinePeso_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePhilippinePeso_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePhilippinePeso;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Pencil\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiIgLz4KICA8cGF0aCBkPSJtMTUgNSA0IDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pencil\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePencil = /*#__PURE__*/(() => {\n  class LucidePencil extends LucideIconBase {\n    static icon = {\n      name: 'pencil',\n      size: 24,\n      node: [['path', {\n        d: 'M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z',\n        key: '1a8usu'\n      }], ['path', {\n        d: 'm15 5 4 4',\n        key: '1mk7zo'\n      }]]\n    };\n    icon = signal(LucidePencil.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePencil_BaseFactory;\n      return function LucidePencil_Factory(__ngFactoryType__) {\n        return (ɵLucidePencil_BaseFactory || (ɵLucidePencil_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePencil)))(__ngFactoryType__ || LucidePencil);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePencil,\n      selectors: [[\"svg\", \"lucidePencil\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1133,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePencil_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePencil_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePencil;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PersonStanding\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjUiIHI9IjEiIC8+CiAgPHBhdGggZD0ibTkgMjAgMy02IDMgNiIgLz4KICA8cGF0aCBkPSJtNiA4IDYgMiA2LTIiIC8+CiAgPHBhdGggZD0iTTEyIDEwdjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/person-standing\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePersonStanding = /*#__PURE__*/(() => {\n  class LucidePersonStanding extends LucideIconBase {\n    static icon = {\n      name: 'person-standing',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '5',\n        r: '1',\n        key: 'gxeob9'\n      }], ['path', {\n        d: 'm9 20 3-6 3 6',\n        key: 'se2kox'\n      }], ['path', {\n        d: 'm6 8 6 2 6-2',\n        key: '4o3us4'\n      }], ['path', {\n        d: 'M12 10v4',\n        key: '1kjpxc'\n      }]]\n    };\n    icon = signal(LucidePersonStanding.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePersonStanding_BaseFactory;\n      return function LucidePersonStanding_Factory(__ngFactoryType__) {\n        return (ɵLucidePersonStanding_BaseFactory || (ɵLucidePersonStanding_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePersonStanding)))(__ngFactoryType__ || LucidePersonStanding);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePersonStanding,\n      selectors: [[\"svg\", \"lucidePersonStanding\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1134,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePersonStanding_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePersonStanding_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePersonStanding;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PhoneCall\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMmE5IDkgMCAwIDEgOSA5IiAvPgogIDxwYXRoIGQ9Ik0xMyA2YTUgNSAwIDAgMSA1IDUiIC8+CiAgPHBhdGggZD0iTTEzLjgzMiAxNi41NjhhMSAxIDAgMCAwIDEuMjEzLS4zMDNsLjM1NS0uNDY1QTIgMiAwIDAgMSAxNyAxNWgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAyQTE4IDE4IDAgMCAxIDIgNGEyIDIgMCAwIDEgMi0yaDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0uOCAxLjZsLS40NjguMzUxYTEgMSAwIDAgMC0uMjkyIDEuMjMzIDE0IDE0IDAgMCAwIDYuMzkyIDYuMzg0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/phone-call\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePhoneCall = /*#__PURE__*/(() => {\n  class LucidePhoneCall extends LucideIconBase {\n    static icon = {\n      name: 'phone-call',\n      size: 24,\n      node: [['path', {\n        d: 'M13 2a9 9 0 0 1 9 9',\n        key: '1itnx2'\n      }], ['path', {\n        d: 'M13 6a5 5 0 0 1 5 5',\n        key: '11nki7'\n      }], ['path', {\n        d: 'M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384',\n        key: '9njp5v'\n      }]]\n    };\n    icon = signal(LucidePhoneCall.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePhoneCall_BaseFactory;\n      return function LucidePhoneCall_Factory(__ngFactoryType__) {\n        return (ɵLucidePhoneCall_BaseFactory || (ɵLucidePhoneCall_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePhoneCall)))(__ngFactoryType__ || LucidePhoneCall);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePhoneCall,\n      selectors: [[\"svg\", \"lucidePhoneCall\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1135,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePhoneCall_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePhoneCall_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePhoneCall;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PhoneIncoming\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMnY2aDYiIC8+CiAgPHBhdGggZD0ibTIyIDItNiA2IiAvPgogIDxwYXRoIGQ9Ik0xMy44MzIgMTYuNTY4YTEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkExOCAxOCAwIDAgMSAyIDRhMiAyIDAgMCAxIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtLjggMS42bC0uNDY4LjM1MWExIDEgMCAwIDAtLjI5MiAxLjIzMyAxNCAxNCAwIDAgMCA2LjM5MiA2LjM4NCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/phone-incoming\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePhoneIncoming = /*#__PURE__*/(() => {\n  class LucidePhoneIncoming extends LucideIconBase {\n    static icon = {\n      name: 'phone-incoming',\n      size: 24,\n      node: [['path', {\n        d: 'M16 2v6h6',\n        key: '1mfrl5'\n      }], ['path', {\n        d: 'm22 2-6 6',\n        key: '6f0sa0'\n      }], ['path', {\n        d: 'M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384',\n        key: '9njp5v'\n      }]]\n    };\n    icon = signal(LucidePhoneIncoming.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePhoneIncoming_BaseFactory;\n      return function LucidePhoneIncoming_Factory(__ngFactoryType__) {\n        return (ɵLucidePhoneIncoming_BaseFactory || (ɵLucidePhoneIncoming_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePhoneIncoming)))(__ngFactoryType__ || LucidePhoneIncoming);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePhoneIncoming,\n      selectors: [[\"svg\", \"lucidePhoneIncoming\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1136,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePhoneIncoming_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePhoneIncoming_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePhoneIncoming;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PhoneForwarded\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgNmg4IiAvPgogIDxwYXRoIGQ9Im0xOCAyIDQgNC00IDQiIC8+CiAgPHBhdGggZD0iTTEzLjgzMiAxNi41NjhhMSAxIDAgMCAwIDEuMjEzLS4zMDNsLjM1NS0uNDY1QTIgMiAwIDAgMSAxNyAxNWgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAyQTE4IDE4IDAgMCAxIDIgNGEyIDIgMCAwIDEgMi0yaDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0uOCAxLjZsLS40NjguMzUxYTEgMSAwIDAgMC0uMjkyIDEuMjMzIDE0IDE0IDAgMCAwIDYuMzkyIDYuMzg0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/phone-forwarded\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePhoneForwarded = /*#__PURE__*/(() => {\n  class LucidePhoneForwarded extends LucideIconBase {\n    static icon = {\n      name: 'phone-forwarded',\n      size: 24,\n      node: [['path', {\n        d: 'M14 6h8',\n        key: 'yd68k4'\n      }], ['path', {\n        d: 'm18 2 4 4-4 4',\n        key: 'pucp1d'\n      }], ['path', {\n        d: 'M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384',\n        key: '9njp5v'\n      }]]\n    };\n    icon = signal(LucidePhoneForwarded.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePhoneForwarded_BaseFactory;\n      return function LucidePhoneForwarded_Factory(__ngFactoryType__) {\n        return (ɵLucidePhoneForwarded_BaseFactory || (ɵLucidePhoneForwarded_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePhoneForwarded)))(__ngFactoryType__ || LucidePhoneForwarded);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePhoneForwarded,\n      selectors: [[\"svg\", \"lucidePhoneForwarded\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1137,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePhoneForwarded_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePhoneForwarded_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePhoneForwarded;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PhoneMissed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMiA2IDYiIC8+CiAgPHBhdGggZD0ibTIyIDItNiA2IiAvPgogIDxwYXRoIGQ9Ik0xMy44MzIgMTYuNTY4YTEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkExOCAxOCAwIDAgMSAyIDRhMiAyIDAgMCAxIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtLjggMS42bC0uNDY4LjM1MWExIDEgMCAwIDAtLjI5MiAxLjIzMyAxNCAxNCAwIDAgMCA2LjM5MiA2LjM4NCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/phone-missed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePhoneMissed = /*#__PURE__*/(() => {\n  class LucidePhoneMissed extends LucideIconBase {\n    static icon = {\n      name: 'phone-missed',\n      size: 24,\n      node: [['path', {\n        d: 'm16 2 6 6',\n        key: '1gw87d'\n      }], ['path', {\n        d: 'm22 2-6 6',\n        key: '6f0sa0'\n      }], ['path', {\n        d: 'M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384',\n        key: '9njp5v'\n      }]]\n    };\n    icon = signal(LucidePhoneMissed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePhoneMissed_BaseFactory;\n      return function LucidePhoneMissed_Factory(__ngFactoryType__) {\n        return (ɵLucidePhoneMissed_BaseFactory || (ɵLucidePhoneMissed_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePhoneMissed)))(__ngFactoryType__ || LucidePhoneMissed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePhoneMissed,\n      selectors: [[\"svg\", \"lucidePhoneMissed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1138,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePhoneMissed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePhoneMissed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePhoneMissed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PhoneOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMSAxMy45YTE0IDE0IDAgMCAwIDMuNzMyIDIuNjY4IDEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMiAxOCAxOCAwIDAgMS0xMi43MjgtNS4yNzIiIC8+CiAgPHBhdGggZD0iTTIyIDIgMiAyMiIgLz4KICA8cGF0aCBkPSJNNC43NiAxMy41ODJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgLjI0NC40NzMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/phone-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePhoneOff = /*#__PURE__*/(() => {\n  class LucidePhoneOff extends LucideIconBase {\n    static icon = {\n      name: 'phone-off',\n      size: 24,\n      node: [['path', {\n        d: 'M10.1 13.9a14 14 0 0 0 3.732 2.668 1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2 18 18 0 0 1-12.728-5.272',\n        key: '1wngk7'\n      }], ['path', {\n        d: 'M22 2 2 22',\n        key: 'y4kqgn'\n      }], ['path', {\n        d: 'M4.76 13.582A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 .244.473',\n        key: '10hv5p'\n      }]]\n    };\n    icon = signal(LucidePhoneOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePhoneOff_BaseFactory;\n      return function LucidePhoneOff_Factory(__ngFactoryType__) {\n        return (ɵLucidePhoneOff_BaseFactory || (ɵLucidePhoneOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePhoneOff)))(__ngFactoryType__ || LucidePhoneOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePhoneOff,\n      selectors: [[\"svg\", \"lucidePhoneOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1139,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePhoneOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePhoneOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePhoneOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PhoneOutgoing\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgOCA2LTYiIC8+CiAgPHBhdGggZD0iTTIyIDhWMmgtNiIgLz4KICA8cGF0aCBkPSJNMTMuODMyIDE2LjU2OGExIDEgMCAwIDAgMS4yMTMtLjMwM2wuMzU1LS40NjVBMiAyIDAgMCAxIDE3IDE1aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgNi4zOTIgNi4zODQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/phone-outgoing\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePhoneOutgoing = /*#__PURE__*/(() => {\n  class LucidePhoneOutgoing extends LucideIconBase {\n    static icon = {\n      name: 'phone-outgoing',\n      size: 24,\n      node: [['path', {\n        d: 'm16 8 6-6',\n        key: 'oawc05'\n      }], ['path', {\n        d: 'M22 8V2h-6',\n        key: 'oqy2zc'\n      }], ['path', {\n        d: 'M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384',\n        key: '9njp5v'\n      }]]\n    };\n    icon = signal(LucidePhoneOutgoing.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePhoneOutgoing_BaseFactory;\n      return function LucidePhoneOutgoing_Factory(__ngFactoryType__) {\n        return (ɵLucidePhoneOutgoing_BaseFactory || (ɵLucidePhoneOutgoing_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePhoneOutgoing)))(__ngFactoryType__ || LucidePhoneOutgoing);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePhoneOutgoing,\n      selectors: [[\"svg\", \"lucidePhoneOutgoing\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1140,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePhoneOutgoing_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePhoneOutgoing_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePhoneOutgoing;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Phone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuODMyIDE2LjU2OGExIDEgMCAwIDAgMS4yMTMtLjMwM2wuMzU1LS40NjVBMiAyIDAgMCAxIDE3IDE1aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgNi4zOTIgNi4zODQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/phone\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePhone = /*#__PURE__*/(() => {\n  class LucidePhone extends LucideIconBase {\n    static icon = {\n      name: 'phone',\n      size: 24,\n      node: [['path', {\n        d: 'M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384',\n        key: '9njp5v'\n      }]]\n    };\n    icon = signal(LucidePhone.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePhone_BaseFactory;\n      return function LucidePhone_Factory(__ngFactoryType__) {\n        return (ɵLucidePhone_BaseFactory || (ɵLucidePhone_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePhone)))(__ngFactoryType__ || LucidePhone);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePhone,\n      selectors: [[\"svg\", \"lucidePhone\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1141,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePhone_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePhone_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePhone;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Pi\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iOSIgeDI9IjkiIHkxPSI0IiB5Mj0iMjAiIC8+CiAgPHBhdGggZD0iTTQgN2MwLTEuNyAxLjMtMyAzLTNoMTMiIC8+CiAgPHBhdGggZD0iTTE4IDIwYy0xLjcgMC0zLTEuMy0zLTNWNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/pi\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePi = /*#__PURE__*/(() => {\n  class LucidePi extends LucideIconBase {\n    static icon = {\n      name: 'pi',\n      size: 24,\n      node: [['line', {\n        x1: '9',\n        x2: '9',\n        y1: '4',\n        y2: '20',\n        key: 'ovs5a5'\n      }], ['path', {\n        d: 'M4 7c0-1.7 1.3-3 3-3h13',\n        key: '10pag4'\n      }], ['path', {\n        d: 'M18 20c-1.7 0-3-1.3-3-3V4',\n        key: '1gaosr'\n      }]]\n    };\n    icon = signal(LucidePi.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePi_BaseFactory;\n      return function LucidePi_Factory(__ngFactoryType__) {\n        return (ɵLucidePi_BaseFactory || (ɵLucidePi_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePi)))(__ngFactoryType__ || LucidePi);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePi,\n      selectors: [[\"svg\", \"lucidePi\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1142,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePi_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePi_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePi;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Piano\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTguNSA4Yy0xLjQgMC0yLjYtLjgtMy4yLTJBNi44NyA2Ljg3IDAgMCAwIDIgOXYxMWEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTguNUMyMiA5LjYgMjAuNCA4IDE4LjUgOCIgLz4KICA8cGF0aCBkPSJNMiAxNGgyMCIgLz4KICA8cGF0aCBkPSJNNiAxNHY0IiAvPgogIDxwYXRoIGQ9Ik0xMCAxNHY0IiAvPgogIDxwYXRoIGQ9Ik0xNCAxNHY0IiAvPgogIDxwYXRoIGQ9Ik0xOCAxNHY0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/piano\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePiano = /*#__PURE__*/(() => {\n  class LucidePiano extends LucideIconBase {\n    static icon = {\n      name: 'piano',\n      size: 24,\n      node: [['path', {\n        d: 'M18.5 8c-1.4 0-2.6-.8-3.2-2A6.87 6.87 0 0 0 2 9v11a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-8.5C22 9.6 20.4 8 18.5 8',\n        key: 'lag0yf'\n      }], ['path', {\n        d: 'M2 14h20',\n        key: 'myj16y'\n      }], ['path', {\n        d: 'M6 14v4',\n        key: '9ng0ue'\n      }], ['path', {\n        d: 'M10 14v4',\n        key: '1v8uk5'\n      }], ['path', {\n        d: 'M14 14v4',\n        key: '1tqops'\n      }], ['path', {\n        d: 'M18 14v4',\n        key: '18uqwm'\n      }]]\n    };\n    icon = signal(LucidePiano.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePiano_BaseFactory;\n      return function LucidePiano_Factory(__ngFactoryType__) {\n        return (ɵLucidePiano_BaseFactory || (ɵLucidePiano_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePiano)))(__ngFactoryType__ || LucidePiano);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePiano,\n      selectors: [[\"svg\", \"lucidePiano\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1143,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePiano_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePiano_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePiano;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Pickaxe\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQgMTMtOC4zODEgOC4zOGExIDEgMCAwIDEtMy4wMDEtM0wxMSA5Ljk5OSIgLz4KICA8cGF0aCBkPSJNMTUuOTczIDQuMDI3QTEzIDEzIDAgMCAwIDUuOTAyIDIuMzczYy0xLjM5OC4zNDItMS4wOTIgMi4xNTguMjc3IDIuNjAxYTE5LjkgMTkuOSAwIDAgMSA1LjgyMiAzLjAyNCIgLz4KICA8cGF0aCBkPSJNMTYuMDAxIDExLjk5OWExOS45IDE5LjkgMCAwIDEgMy4wMjQgNS44MjRjLjQ0NCAxLjM2OSAyLjI2IDEuNjc2IDIuNjAzLjI3OEExMyAxMyAwIDAgMCAyMCA4LjA2OSIgLz4KICA8cGF0aCBkPSJNMTguMzUyIDMuMzUyYTEuMjA1IDEuMjA1IDAgMCAwLTEuNzA0IDBsLTUuMjk2IDUuMjk2YTEuMjA1IDEuMjA1IDAgMCAwIDAgMS43MDRsMi4yOTYgMi4yOTZhMS4yMDUgMS4yMDUgMCAwIDAgMS43MDQgMGw1LjI5Ni01LjI5NmExLjIwNSAxLjIwNSAwIDAgMCAwLTEuNzA0eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/pickaxe\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePickaxe = /*#__PURE__*/(() => {\n  class LucidePickaxe extends LucideIconBase {\n    static icon = {\n      name: 'pickaxe',\n      size: 24,\n      node: [['path', {\n        d: 'm14 13-8.381 8.38a1 1 0 0 1-3.001-3L11 9.999',\n        key: '1lw9ds'\n      }], ['path', {\n        d: 'M15.973 4.027A13 13 0 0 0 5.902 2.373c-1.398.342-1.092 2.158.277 2.601a19.9 19.9 0 0 1 5.822 3.024',\n        key: 'ffj4ej'\n      }], ['path', {\n        d: 'M16.001 11.999a19.9 19.9 0 0 1 3.024 5.824c.444 1.369 2.26 1.676 2.603.278A13 13 0 0 0 20 8.069',\n        key: '8tj4zw'\n      }], ['path', {\n        d: 'M18.352 3.352a1.205 1.205 0 0 0-1.704 0l-5.296 5.296a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l5.296-5.296a1.205 1.205 0 0 0 0-1.704z',\n        key: 'hh6h97'\n      }]]\n    };\n    icon = signal(LucidePickaxe.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePickaxe_BaseFactory;\n      return function LucidePickaxe_Factory(__ngFactoryType__) {\n        return (ɵLucidePickaxe_BaseFactory || (ɵLucidePickaxe_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePickaxe)))(__ngFactoryType__ || LucidePickaxe);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePickaxe,\n      selectors: [[\"svg\", \"lucidePickaxe\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1144,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePickaxe_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePickaxe_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePickaxe;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PictureInPicture\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxMGg2VjQiIC8+CiAgPHBhdGggZD0ibTIgNCA2IDYiIC8+CiAgPHBhdGggZD0iTTIxIDEwVjdhMiAyIDAgMCAwLTItMmgtNyIgLz4KICA8cGF0aCBkPSJNMyAxNHYyYTIgMiAwIDAgMCAyIDJoMyIgLz4KICA8cmVjdCB4PSIxMiIgeT0iMTQiIHdpZHRoPSIxMCIgaGVpZ2h0PSI3IiByeD0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/picture-in-picture\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePictureInPicture = /*#__PURE__*/(() => {\n  class LucidePictureInPicture extends LucideIconBase {\n    static icon = {\n      name: 'picture-in-picture',\n      size: 24,\n      node: [['path', {\n        d: 'M2 10h6V4',\n        key: 'zwrco'\n      }], ['path', {\n        d: 'm2 4 6 6',\n        key: 'ug085t'\n      }], ['path', {\n        d: 'M21 10V7a2 2 0 0 0-2-2h-7',\n        key: 'git5jr'\n      }], ['path', {\n        d: 'M3 14v2a2 2 0 0 0 2 2h3',\n        key: '1f7fh3'\n      }], ['rect', {\n        x: '12',\n        y: '14',\n        width: '10',\n        height: '7',\n        rx: '1',\n        key: '1wjs3o'\n      }]]\n    };\n    icon = signal(LucidePictureInPicture.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePictureInPicture_BaseFactory;\n      return function LucidePictureInPicture_Factory(__ngFactoryType__) {\n        return (ɵLucidePictureInPicture_BaseFactory || (ɵLucidePictureInPicture_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePictureInPicture)))(__ngFactoryType__ || LucidePictureInPicture);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePictureInPicture,\n      selectors: [[\"svg\", \"lucidePictureInPicture\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1145,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePictureInPicture_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePictureInPicture_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePictureInPicture;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PictureInPicture2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgOVY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEwYzAgMS4xLjkgMiAyIDJoNCIgLz4KICA8cmVjdCB3aWR0aD0iMTAiIGhlaWdodD0iNyIgeD0iMTIiIHk9IjEzIiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/picture-in-picture-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePictureInPicture2 = /*#__PURE__*/(() => {\n  class LucidePictureInPicture2 extends LucideIconBase {\n    static icon = {\n      name: 'picture-in-picture-2',\n      size: 24,\n      node: [['path', {\n        d: 'M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4',\n        key: 'daa4of'\n      }], ['rect', {\n        width: '10',\n        height: '7',\n        x: '12',\n        y: '13',\n        rx: '2',\n        key: '1nb8gs'\n      }]]\n    };\n    icon = signal(LucidePictureInPicture2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePictureInPicture2_BaseFactory;\n      return function LucidePictureInPicture2_Factory(__ngFactoryType__) {\n        return (ɵLucidePictureInPicture2_BaseFactory || (ɵLucidePictureInPicture2_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePictureInPicture2)))(__ngFactoryType__ || LucidePictureInPicture2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePictureInPicture2,\n      selectors: [[\"svg\", \"lucidePictureInPicture2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1146,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePictureInPicture2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePictureInPicture2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePictureInPicture2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PiggyBank\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTdoM3YyYTEgMSAwIDAgMCAxIDFoMmExIDEgMCAwIDAgMS0xdi0zYTMuMTYgMy4xNiAwIDAgMCAyLTJoMWExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMC0xLTFoLTFhNSA1IDAgMCAwLTItNFYzYTQgNCAwIDAgMC0zLjIgMS42bC0uMy40SDExYTYgNiAwIDAgMC02IDZ2MWE1IDUgMCAwIDAgMiA0djNhMSAxIDAgMCAwIDEgMWgyYTEgMSAwIDAgMCAxLTF6IiAvPgogIDxwYXRoIGQ9Ik0xNiAxMGguMDEiIC8+CiAgPHBhdGggZD0iTTIgOHYxYTIgMiAwIDAgMCAyIDJoMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/piggy-bank\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePiggyBank = /*#__PURE__*/(() => {\n  class LucidePiggyBank extends LucideIconBase {\n    static icon = {\n      name: 'piggy-bank',\n      size: 24,\n      node: [['path', {\n        d: 'M11 17h3v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a3.16 3.16 0 0 0 2-2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-1a5 5 0 0 0-2-4V3a4 4 0 0 0-3.2 1.6l-.3.4H11a6 6 0 0 0-6 6v1a5 5 0 0 0 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z',\n        key: '1piglc'\n      }], ['path', {\n        d: 'M16 10h.01',\n        key: '1m94wz'\n      }], ['path', {\n        d: 'M2 8v1a2 2 0 0 0 2 2h1',\n        key: '1env43'\n      }]]\n    };\n    icon = signal(LucidePiggyBank.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePiggyBank_BaseFactory;\n      return function LucidePiggyBank_Factory(__ngFactoryType__) {\n        return (ɵLucidePiggyBank_BaseFactory || (ɵLucidePiggyBank_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePiggyBank)))(__ngFactoryType__ || LucidePiggyBank);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePiggyBank,\n      selectors: [[\"svg\", \"lucidePiggyBank\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1147,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePiggyBank_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePiggyBank_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePiggyBank;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Pilcrow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgNHYxNiIgLz4KICA8cGF0aCBkPSJNMTcgNHYxNiIgLz4KICA8cGF0aCBkPSJNMTkgNEg5LjVhNC41IDQuNSAwIDAgMCAwIDlIMTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pilcrow\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePilcrow = /*#__PURE__*/(() => {\n  class LucidePilcrow extends LucideIconBase {\n    static icon = {\n      name: 'pilcrow',\n      size: 24,\n      node: [['path', {\n        d: 'M13 4v16',\n        key: '8vvj80'\n      }], ['path', {\n        d: 'M17 4v16',\n        key: '7dpous'\n      }], ['path', {\n        d: 'M19 4H9.5a4.5 4.5 0 0 0 0 9H13',\n        key: 'sh4n9v'\n      }]]\n    };\n    icon = signal(LucidePilcrow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePilcrow_BaseFactory;\n      return function LucidePilcrow_Factory(__ngFactoryType__) {\n        return (ɵLucidePilcrow_BaseFactory || (ɵLucidePilcrow_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePilcrow)))(__ngFactoryType__ || LucidePilcrow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePilcrow,\n      selectors: [[\"svg\", \"lucidePilcrow\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1148,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePilcrow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePilcrow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePilcrow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PilcrowLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgM3YxMSIgLz4KICA8cGF0aCBkPSJNMTQgOWgtM2EzIDMgMCAwIDEgMC02aDkiIC8+CiAgPHBhdGggZD0iTTE4IDN2MTEiIC8+CiAgPHBhdGggZD0iTTIyIDE4SDJsNC00IiAvPgogIDxwYXRoIGQ9Im02IDIyLTQtNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/pilcrow-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePilcrowLeft = /*#__PURE__*/(() => {\n  class LucidePilcrowLeft extends LucideIconBase {\n    static icon = {\n      name: 'pilcrow-left',\n      size: 24,\n      node: [['path', {\n        d: 'M14 3v11',\n        key: 'mlfb7b'\n      }], ['path', {\n        d: 'M14 9h-3a3 3 0 0 1 0-6h9',\n        key: '1ulc19'\n      }], ['path', {\n        d: 'M18 3v11',\n        key: '1phi0r'\n      }], ['path', {\n        d: 'M22 18H2l4-4',\n        key: 'yt65j9'\n      }], ['path', {\n        d: 'm6 22-4-4',\n        key: '6jgyf5'\n      }]]\n    };\n    icon = signal(LucidePilcrowLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePilcrowLeft_BaseFactory;\n      return function LucidePilcrowLeft_Factory(__ngFactoryType__) {\n        return (ɵLucidePilcrowLeft_BaseFactory || (ɵLucidePilcrowLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePilcrowLeft)))(__ngFactoryType__ || LucidePilcrowLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePilcrowLeft,\n      selectors: [[\"svg\", \"lucidePilcrowLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1149,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePilcrowLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePilcrowLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePilcrowLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PilcrowRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgM3YxMSIgLz4KICA8cGF0aCBkPSJNMTAgOUg3YTEgMSAwIDAgMSAwLTZoOCIgLz4KICA8cGF0aCBkPSJNMTQgM3YxMSIgLz4KICA8cGF0aCBkPSJtMTggMTQgNCA0SDIiIC8+CiAgPHBhdGggZD0ibTIyIDE4LTQgNCIgLz4KPC9zdmc+) - https://lucide.dev/icons/pilcrow-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePilcrowRight = /*#__PURE__*/(() => {\n  class LucidePilcrowRight extends LucideIconBase {\n    static icon = {\n      name: 'pilcrow-right',\n      size: 24,\n      node: [['path', {\n        d: 'M10 3v11',\n        key: 'o3l5kj'\n      }], ['path', {\n        d: 'M10 9H7a1 1 0 0 1 0-6h8',\n        key: '1wb1nc'\n      }], ['path', {\n        d: 'M14 3v11',\n        key: 'mlfb7b'\n      }], ['path', {\n        d: 'm18 14 4 4H2',\n        key: '4r8io1'\n      }], ['path', {\n        d: 'm22 18-4 4',\n        key: '1hjjrd'\n      }]]\n    };\n    icon = signal(LucidePilcrowRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePilcrowRight_BaseFactory;\n      return function LucidePilcrowRight_Factory(__ngFactoryType__) {\n        return (ɵLucidePilcrowRight_BaseFactory || (ɵLucidePilcrowRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePilcrowRight)))(__ngFactoryType__ || LucidePilcrowRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePilcrowRight,\n      selectors: [[\"svg\", \"lucidePilcrowRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1150,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePilcrowRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePilcrowRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePilcrowRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PillBottle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggMTFoLTRhMSAxIDAgMCAwLTEgMXY1YTEgMSAwIDAgMCAxIDFoNCIgLz4KICA8cGF0aCBkPSJNNiA3djEzYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0yVjciIC8+CiAgPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjUiIHg9IjQiIHk9IjIiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/pill-bottle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePillBottle = /*#__PURE__*/(() => {\n  class LucidePillBottle extends LucideIconBase {\n    static icon = {\n      name: 'pill-bottle',\n      size: 24,\n      node: [['path', {\n        d: 'M18 11h-4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h4',\n        key: '17ldeb'\n      }], ['path', {\n        d: 'M6 7v13a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7',\n        key: 'nc37y6'\n      }], ['rect', {\n        width: '16',\n        height: '5',\n        x: '4',\n        y: '2',\n        rx: '1',\n        key: '3jeezo'\n      }]]\n    };\n    icon = signal(LucidePillBottle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePillBottle_BaseFactory;\n      return function LucidePillBottle_Factory(__ngFactoryType__) {\n        return (ɵLucidePillBottle_BaseFactory || (ɵLucidePillBottle_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePillBottle)))(__ngFactoryType__ || LucidePillBottle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePillBottle,\n      selectors: [[\"svg\", \"lucidePillBottle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1151,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePillBottle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePillBottle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePillBottle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PinOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTd2NSIgLz4KICA8cGF0aCBkPSJNMTUgOS4zNFY3YTEgMSAwIDAgMSAxLTEgMiAyIDAgMCAwIDAtNEg3Ljg5IiAvPgogIDxwYXRoIGQ9Im0yIDIgMjAgMjAiIC8+CiAgPHBhdGggZD0iTTkgOXYxLjc2YTIgMiAwIDAgMS0xLjExIDEuNzlsLTEuNzguOUEyIDIgMCAwIDAgNSAxNS4yNFYxNmExIDEgMCAwIDAgMSAxaDExIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/pin-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePinOff = /*#__PURE__*/(() => {\n  class LucidePinOff extends LucideIconBase {\n    static icon = {\n      name: 'pin-off',\n      size: 24,\n      node: [['path', {\n        d: 'M12 17v5',\n        key: 'bb1du9'\n      }], ['path', {\n        d: 'M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89',\n        key: 'znwnzq'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11',\n        key: 'c9qhm2'\n      }]]\n    };\n    icon = signal(LucidePinOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePinOff_BaseFactory;\n      return function LucidePinOff_Factory(__ngFactoryType__) {\n        return (ɵLucidePinOff_BaseFactory || (ɵLucidePinOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePinOff)))(__ngFactoryType__ || LucidePinOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePinOff,\n      selectors: [[\"svg\", \"lucidePinOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1152,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePinOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePinOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePinOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Pin\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTd2NSIgLz4KICA8cGF0aCBkPSJNOSAxMC43NmEyIDIgMCAwIDEtMS4xMSAxLjc5bC0xLjc4LjlBMiAyIDAgMCAwIDUgMTUuMjRWMTZhMSAxIDAgMCAwIDEgMWgxMmExIDEgMCAwIDAgMS0xdi0uNzZhMiAyIDAgMCAwLTEuMTEtMS43OWwtMS43OC0uOUEyIDIgMCAwIDEgMTUgMTAuNzZWN2ExIDEgMCAwIDEgMS0xIDIgMiAwIDAgMCAwLTRIOGEyIDIgMCAwIDAgMCA0IDEgMSAwIDAgMSAxIDF6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/pin\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePin = /*#__PURE__*/(() => {\n  class LucidePin extends LucideIconBase {\n    static icon = {\n      name: 'pin',\n      size: 24,\n      node: [['path', {\n        d: 'M12 17v5',\n        key: 'bb1du9'\n      }], ['path', {\n        d: 'M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z',\n        key: '1nkz8b'\n      }]]\n    };\n    icon = signal(LucidePin.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePin_BaseFactory;\n      return function LucidePin_Factory(__ngFactoryType__) {\n        return (ɵLucidePin_BaseFactory || (ɵLucidePin_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePin)))(__ngFactoryType__ || LucidePin);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePin,\n      selectors: [[\"svg\", \"lucidePin\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1153,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePin_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePin_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePin;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Pill\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAuNSAyMC41IDEwLTEwYTQuOTUgNC45NSAwIDEgMC03LTdsLTEwIDEwYTQuOTUgNC45NSAwIDEgMCA3IDdaIiAvPgogIDxwYXRoIGQ9Im04LjUgOC41IDcgNyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/pill\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePill = /*#__PURE__*/(() => {\n  class LucidePill extends LucideIconBase {\n    static icon = {\n      name: 'pill',\n      size: 24,\n      node: [['path', {\n        d: 'm10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z',\n        key: 'wa1lgi'\n      }], ['path', {\n        d: 'm8.5 8.5 7 7',\n        key: 'rvfmvr'\n      }]]\n    };\n    icon = signal(LucidePill.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePill_BaseFactory;\n      return function LucidePill_Factory(__ngFactoryType__) {\n        return (ɵLucidePill_BaseFactory || (ɵLucidePill_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePill)))(__ngFactoryType__ || LucidePill);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePill,\n      selectors: [[\"svg\", \"lucidePill\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1154,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePill_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePill_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePill;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Pipette\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIgOS04LjQxNCA4LjQxNEEyIDIgMCAwIDAgMyAxOC44Mjh2MS4zNDRhMiAyIDAgMCAxLS41ODYgMS40MTRBMiAyIDAgMCAxIDMuODI4IDIxaDEuMzQ0YTIgMiAwIDAgMCAxLjQxNC0uNTg2TDE1IDEyIiAvPgogIDxwYXRoIGQ9Im0xOCA5IC40LjRhMSAxIDAgMSAxLTMgM2wtMy44LTMuOGExIDEgMCAxIDEgMy0zbC40LjQgMy40LTMuNGExIDEgMCAxIDEgMyAzeiIgLz4KICA8cGF0aCBkPSJtMiAyMiAuNDE0LS40MTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pipette\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePipette = /*#__PURE__*/(() => {\n  class LucidePipette extends LucideIconBase {\n    static icon = {\n      name: 'pipette',\n      size: 24,\n      node: [['path', {\n        d: 'm12 9-8.414 8.414A2 2 0 0 0 3 18.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 3.828 21h1.344a2 2 0 0 0 1.414-.586L15 12',\n        key: '1y3wsu'\n      }], ['path', {\n        d: 'm18 9 .4.4a1 1 0 1 1-3 3l-3.8-3.8a1 1 0 1 1 3-3l.4.4 3.4-3.4a1 1 0 1 1 3 3z',\n        key: '110lr1'\n      }], ['path', {\n        d: 'm2 22 .414-.414',\n        key: 'jhxm08'\n      }]]\n    };\n    icon = signal(LucidePipette.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePipette_BaseFactory;\n      return function LucidePipette_Factory(__ngFactoryType__) {\n        return (ɵLucidePipette_BaseFactory || (ɵLucidePipette_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePipette)))(__ngFactoryType__ || LucidePipette);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePipette,\n      selectors: [[\"svg\", \"lucidePipette\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1155,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePipette_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePipette_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePipette;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Pizza\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIgMTQtMSAxIiAvPgogIDxwYXRoIGQ9Im0xMy43NSAxOC4yNS0xLjI1IDEuNDIiIC8+CiAgPHBhdGggZD0iTTE3Ljc3NSA1LjY1NGExNS42OCAxNS42OCAwIDAgMC0xMi4xMjEgMTIuMTIiIC8+CiAgPHBhdGggZD0iTTE4LjggOS4zYTEgMSAwIDAgMCAyLjEgNy43IiAvPgogIDxwYXRoIGQ9Ik0yMS45NjQgMjAuNzMyYTEgMSAwIDAgMS0xLjIzMiAxLjIzMmwtMTgtNWExIDEgMCAwIDEtLjY5NS0xLjIzMkExOS42OCAxOS42OCAwIDAgMSAxNS43MzIgMi4wMzdhMSAxIDAgMCAxIDEuMjMyLjY5NXoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pizza\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePizza = /*#__PURE__*/(() => {\n  class LucidePizza extends LucideIconBase {\n    static icon = {\n      name: 'pizza',\n      size: 24,\n      node: [['path', {\n        d: 'm12 14-1 1',\n        key: '11onhr'\n      }], ['path', {\n        d: 'm13.75 18.25-1.25 1.42',\n        key: '1yisr3'\n      }], ['path', {\n        d: 'M17.775 5.654a15.68 15.68 0 0 0-12.121 12.12',\n        key: '1qtqk6'\n      }], ['path', {\n        d: 'M18.8 9.3a1 1 0 0 0 2.1 7.7',\n        key: 'fbbbr2'\n      }], ['path', {\n        d: 'M21.964 20.732a1 1 0 0 1-1.232 1.232l-18-5a1 1 0 0 1-.695-1.232A19.68 19.68 0 0 1 15.732 2.037a1 1 0 0 1 1.232.695z',\n        key: '1hyfdd'\n      }]]\n    };\n    icon = signal(LucidePizza.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePizza_BaseFactory;\n      return function LucidePizza_Factory(__ngFactoryType__) {\n        return (ɵLucidePizza_BaseFactory || (ɵLucidePizza_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePizza)))(__ngFactoryType__ || LucidePizza);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePizza,\n      selectors: [[\"svg\", \"lucidePizza\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1156,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePizza_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePizza_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePizza;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PlaneLanding\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMmgyMCIgLz4KICA8cGF0aCBkPSJNMy43NyAxMC43NyAyIDlsMi00LjUgMS4xLjU1Yy41NS4yOC45Ljg0LjkgMS40NXMuMzUgMS4xNy45IDEuNDVMOCA4LjVsMy02IDEuMDUuNTNhMiAyIDAgMCAxIDEuMDkgMS41MmwuNzIgNS40YTIgMiAwIDAgMCAxLjA5IDEuNTJsNC40IDIuMmMuNDIuMjIuNzguNTUgMS4wMS45NmwuNiAxLjAzYy40OS44OC0uMDYgMS45OC0xLjA2IDIuMWwtMS4xOC4xNWMtLjQ3LjA2LS45NS0uMDItMS4zNy0uMjRMNC4yOSAxMS4xNWEyIDIgMCAwIDEtLjUyLS4zOFoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/plane-landing\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePlaneLanding = /*#__PURE__*/(() => {\n  class LucidePlaneLanding extends LucideIconBase {\n    static icon = {\n      name: 'plane-landing',\n      size: 24,\n      node: [['path', {\n        d: 'M2 22h20',\n        key: '272qi7'\n      }], ['path', {\n        d: 'M3.77 10.77 2 9l2-4.5 1.1.55c.55.28.9.84.9 1.45s.35 1.17.9 1.45L8 8.5l3-6 1.05.53a2 2 0 0 1 1.09 1.52l.72 5.4a2 2 0 0 0 1.09 1.52l4.4 2.2c.42.22.78.55 1.01.96l.6 1.03c.49.88-.06 1.98-1.06 2.1l-1.18.15c-.47.06-.95-.02-1.37-.24L4.29 11.15a2 2 0 0 1-.52-.38Z',\n        key: '1ma21e'\n      }]]\n    };\n    icon = signal(LucidePlaneLanding.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePlaneLanding_BaseFactory;\n      return function LucidePlaneLanding_Factory(__ngFactoryType__) {\n        return (ɵLucidePlaneLanding_BaseFactory || (ɵLucidePlaneLanding_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePlaneLanding)))(__ngFactoryType__ || LucidePlaneLanding);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePlaneLanding,\n      selectors: [[\"svg\", \"lucidePlaneLanding\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1157,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePlaneLanding_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePlaneLanding_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePlaneLanding;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PlaneTakeoff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMmgyMCIgLz4KICA8cGF0aCBkPSJNNi4zNiAxNy40IDQgMTdsLTItNCAxLjEtLjU1YTIgMiAwIDAgMSAxLjggMGwuMTcuMWEyIDIgMCAwIDAgMS44IDBMOCAxMiA1IDZsLjktLjQ1YTIgMiAwIDAgMSAyLjA5LjJsNC4wMiAzYTIgMiAwIDAgMCAyLjEuMmw0LjE5LTIuMDZhMi40MSAyLjQxIDAgMCAxIDEuNzMtLjE3TDIxIDdhMS40IDEuNCAwIDAgMSAuODcgMS45OWwtLjM4Ljc2Yy0uMjMuNDYtLjYuODQtMS4wNyAxLjA4TDcuNTggMTcuMmEyIDIgMCAwIDEtMS4yMi4xOFoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/plane-takeoff\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePlaneTakeoff = /*#__PURE__*/(() => {\n  class LucidePlaneTakeoff extends LucideIconBase {\n    static icon = {\n      name: 'plane-takeoff',\n      size: 24,\n      node: [['path', {\n        d: 'M2 22h20',\n        key: '272qi7'\n      }], ['path', {\n        d: 'M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z',\n        key: 'fkigj9'\n      }]]\n    };\n    icon = signal(LucidePlaneTakeoff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePlaneTakeoff_BaseFactory;\n      return function LucidePlaneTakeoff_Factory(__ngFactoryType__) {\n        return (ɵLucidePlaneTakeoff_BaseFactory || (ɵLucidePlaneTakeoff_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePlaneTakeoff)))(__ngFactoryType__ || LucidePlaneTakeoff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePlaneTakeoff,\n      selectors: [[\"svg\", \"lucidePlaneTakeoff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1158,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePlaneTakeoff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePlaneTakeoff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePlaneTakeoff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Plane\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcuOCAxOS4yIDE2IDExbDMuNS0zLjVDMjEgNiAyMS41IDQgMjEgM2MtMS0uNS0zIDAtNC41IDEuNUwxMyA4IDQuOCA2LjJjLS41LS4xLS45LjEtMS4xLjVsLS4zLjVjLS4yLjUtLjEgMSAuMyAxLjNMOSAxMmwtMiAzSDRsLTEgMSAzIDIgMiAzIDEtMXYtM2wzLTIgMy41IDUuM2MuMy40LjguNSAxLjMuM2wuNS0uMmMuNC0uMy42LS43LjUtMS4yeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/plane\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePlane = /*#__PURE__*/(() => {\n  class LucidePlane extends LucideIconBase {\n    static icon = {\n      name: 'plane',\n      size: 24,\n      node: [['path', {\n        d: 'M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z',\n        key: '1v9wt8'\n      }]]\n    };\n    icon = signal(LucidePlane.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePlane_BaseFactory;\n      return function LucidePlane_Factory(__ngFactoryType__) {\n        return (ɵLucidePlane_BaseFactory || (ɵLucidePlane_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePlane)))(__ngFactoryType__ || LucidePlane);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePlane,\n      selectors: [[\"svg\", \"lucidePlane\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1159,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePlane_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePlane_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePlane;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Plug2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSAydjYiIC8+CiAgPHBhdGggZD0iTTE1IDJ2NiIgLz4KICA8cGF0aCBkPSJNMTIgMTd2NSIgLz4KICA8cGF0aCBkPSJNNSA4aDE0IiAvPgogIDxwYXRoIGQ9Ik02IDExVjhoMTJ2M2E2IDYgMCAxIDEtMTIgMFoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/plug-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePlug2 = /*#__PURE__*/(() => {\n  class LucidePlug2 extends LucideIconBase {\n    static icon = {\n      name: 'plug-2',\n      size: 24,\n      node: [['path', {\n        d: 'M9 2v6',\n        key: '17ngun'\n      }], ['path', {\n        d: 'M15 2v6',\n        key: 's7yy2p'\n      }], ['path', {\n        d: 'M12 17v5',\n        key: 'bb1du9'\n      }], ['path', {\n        d: 'M5 8h14',\n        key: 'pcz4l3'\n      }], ['path', {\n        d: 'M6 11V8h12v3a6 6 0 1 1-12 0Z',\n        key: 'wtfw2c'\n      }]]\n    };\n    icon = signal(LucidePlug2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePlug2_BaseFactory;\n      return function LucidePlug2_Factory(__ngFactoryType__) {\n        return (ɵLucidePlug2_BaseFactory || (ɵLucidePlug2_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePlug2)))(__ngFactoryType__ || LucidePlug2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePlug2,\n      selectors: [[\"svg\", \"lucidePlug2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1160,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePlug2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePlug2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePlug2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Play\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSA1YTIgMiAwIDAgMSAzLjAwOC0xLjcyOGwxMS45OTcgNi45OThhMiAyIDAgMCAxIC4wMDMgMy40NThsLTEyIDdBMiAyIDAgMCAxIDUgMTl6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/play\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePlay = /*#__PURE__*/(() => {\n  class LucidePlay extends LucideIconBase {\n    static icon = {\n      name: 'play',\n      size: 24,\n      node: [['path', {\n        d: 'M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z',\n        key: '10ikf1'\n      }]]\n    };\n    icon = signal(LucidePlay.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePlay_BaseFactory;\n      return function LucidePlay_Factory(__ngFactoryType__) {\n        return (ɵLucidePlay_BaseFactory || (ɵLucidePlay_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePlay)))(__ngFactoryType__ || LucidePlay);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePlay,\n      selectors: [[\"svg\", \"lucidePlay\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1161,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePlay_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePlay_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePlay;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PlugZap\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNi4zIDIwLjNhMi40IDIuNCAwIDAgMCAzLjQgMEwxMiAxOGwtNi02LTIuMyAyLjNhMi40IDIuNCAwIDAgMCAwIDMuNFoiIC8+CiAgPHBhdGggZD0ibTIgMjIgMy0zIiAvPgogIDxwYXRoIGQ9Ik03LjUgMTMuNSAxMCAxMSIgLz4KICA8cGF0aCBkPSJNMTAuNSAxNi41IDEzIDE0IiAvPgogIDxwYXRoIGQ9Im0xOCAzLTQgNGg2bC00IDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/plug-zap\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePlugZap = /*#__PURE__*/(() => {\n  class LucidePlugZap extends LucideIconBase {\n    static icon = {\n      name: 'plug-zap',\n      size: 24,\n      node: [['path', {\n        d: 'M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z',\n        key: 'goz73y'\n      }], ['path', {\n        d: 'm2 22 3-3',\n        key: '19mgm9'\n      }], ['path', {\n        d: 'M7.5 13.5 10 11',\n        key: '7xgeeb'\n      }], ['path', {\n        d: 'M10.5 16.5 13 14',\n        key: '10btkg'\n      }], ['path', {\n        d: 'm18 3-4 4h6l-4 4',\n        key: '16psg9'\n      }]],\n      aliases: ['plug-zap-2']\n    };\n    icon = signal(LucidePlugZap.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePlugZap_BaseFactory;\n      return function LucidePlugZap_Factory(__ngFactoryType__) {\n        return (ɵLucidePlugZap_BaseFactory || (ɵLucidePlugZap_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePlugZap)))(__ngFactoryType__ || LucidePlugZap);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePlugZap,\n      selectors: [[\"svg\", \"lucidePlugZap\", \"\"], [\"svg\", \"lucidePlugZap2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1162,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePlugZap_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePlugZap_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePlugZap;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucidePlugZap\n */\nconst LucidePlugZap2 = LucidePlugZap;\n\n/**\n * @component @name Plug\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJ2LTUiIC8+CiAgPHBhdGggZD0iTTE1IDhWMiIgLz4KICA8cGF0aCBkPSJNMTcgOGExIDEgMCAwIDEgMSAxdjRhNCA0IDAgMCAxLTQgNGgtNGE0IDQgMCAwIDEtNC00VjlhMSAxIDAgMCAxIDEtMXoiIC8+CiAgPHBhdGggZD0iTTkgOFYyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/plug\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePlug = /*#__PURE__*/(() => {\n  class LucidePlug extends LucideIconBase {\n    static icon = {\n      name: 'plug',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22v-5',\n        key: '1ega77'\n      }], ['path', {\n        d: 'M15 8V2',\n        key: '18g5xt'\n      }], ['path', {\n        d: 'M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z',\n        key: '1xoxul'\n      }], ['path', {\n        d: 'M9 8V2',\n        key: '14iosj'\n      }]]\n    };\n    icon = signal(LucidePlug.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePlug_BaseFactory;\n      return function LucidePlug_Factory(__ngFactoryType__) {\n        return (ɵLucidePlug_BaseFactory || (ɵLucidePlug_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePlug)))(__ngFactoryType__ || LucidePlug);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePlug,\n      selectors: [[\"svg\", \"lucidePlug\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1163,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePlug_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePlug_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePlug;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PocketKnife\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAydjFjMCAxIDIgMSAyIDJTMyA2IDMgN3MyIDEgMiAyLTIgMS0yIDIgMiAxIDIgMiIgLz4KICA8cGF0aCBkPSJNMTggNmguMDEiIC8+CiAgPHBhdGggZD0iTTYgMThoLjAxIiAvPgogIDxwYXRoIGQ9Ik0yMC44MyA4LjgzYTQgNCAwIDAgMC01LjY2LTUuNjZsLTEyIDEyYTQgNCAwIDEgMCA1LjY2IDUuNjZaIiAvPgogIDxwYXRoIGQ9Ik0xOCAxMS42NlYyMmE0IDQgMCAwIDAgNC00VjYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pocket-knife\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePocketKnife = /*#__PURE__*/(() => {\n  class LucidePocketKnife extends LucideIconBase {\n    static icon = {\n      name: 'pocket-knife',\n      size: 24,\n      node: [['path', {\n        d: 'M3 2v1c0 1 2 1 2 2S3 6 3 7s2 1 2 2-2 1-2 2 2 1 2 2',\n        key: '19w3oe'\n      }], ['path', {\n        d: 'M18 6h.01',\n        key: '1v4wsw'\n      }], ['path', {\n        d: 'M6 18h.01',\n        key: 'uhywen'\n      }], ['path', {\n        d: 'M20.83 8.83a4 4 0 0 0-5.66-5.66l-12 12a4 4 0 1 0 5.66 5.66Z',\n        key: '6fykxj'\n      }], ['path', {\n        d: 'M18 11.66V22a4 4 0 0 0 4-4V6',\n        key: '1utzek'\n      }]]\n    };\n    icon = signal(LucidePocketKnife.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePocketKnife_BaseFactory;\n      return function LucidePocketKnife_Factory(__ngFactoryType__) {\n        return (ɵLucidePocketKnife_BaseFactory || (ɵLucidePocketKnife_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePocketKnife)))(__ngFactoryType__ || LucidePocketKnife);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePocketKnife,\n      selectors: [[\"svg\", \"lucidePocketKnife\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1164,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePocketKnife_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePocketKnife_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePocketKnife;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Plus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxMmgxNCIgLz4KICA8cGF0aCBkPSJNMTIgNXYxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePlus = /*#__PURE__*/(() => {\n  class LucidePlus extends LucideIconBase {\n    static icon = {\n      name: 'plus',\n      size: 24,\n      node: [['path', {\n        d: 'M5 12h14',\n        key: '1ays0h'\n      }], ['path', {\n        d: 'M12 5v14',\n        key: 's699le'\n      }]]\n    };\n    icon = signal(LucidePlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePlus_BaseFactory;\n      return function LucidePlus_Factory(__ngFactoryType__) {\n        return (ɵLucidePlus_BaseFactory || (ɵLucidePlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePlus)))(__ngFactoryType__ || LucidePlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePlus,\n      selectors: [[\"svg\", \"lucidePlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1165,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Podcast\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMTdhMSAxIDAgMSAwLTIgMGwuNSA0LjVhMC41IDAuNSAwIDAgMCAxIDB6IiBmaWxsPSJjdXJyZW50Q29sb3IiIC8+CiAgPHBhdGggZD0iTTE2Ljg1IDE4LjU4YTkgOSAwIDEgMC05LjcgMCIgLz4KICA8cGF0aCBkPSJNOCAxNGE1IDUgMCAxIDEgOCAwIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTEiIHI9IjEiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/podcast\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePodcast = /*#__PURE__*/(() => {\n  class LucidePodcast extends LucideIconBase {\n    static icon = {\n      name: 'podcast',\n      size: 24,\n      node: [['path', {\n        d: 'M13 17a1 1 0 1 0-2 0l.5 4.5a0.5 0.5 0 0 0 1 0z',\n        fill: 'currentColor',\n        key: 'x1mxqr'\n      }], ['path', {\n        d: 'M16.85 18.58a9 9 0 1 0-9.7 0',\n        key: 'd71mpg'\n      }], ['path', {\n        d: 'M8 14a5 5 0 1 1 8 0',\n        key: 'fc81rn'\n      }], ['circle', {\n        cx: '12',\n        cy: '11',\n        r: '1',\n        fill: 'currentColor',\n        key: 'vqiwd'\n      }]]\n    };\n    icon = signal(LucidePodcast.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePodcast_BaseFactory;\n      return function LucidePodcast_Factory(__ngFactoryType__) {\n        return (ɵLucidePodcast_BaseFactory || (ɵLucidePodcast_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePodcast)))(__ngFactoryType__ || LucidePodcast);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePodcast,\n      selectors: [[\"svg\", \"lucidePodcast\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1166,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePodcast_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePodcast_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePodcast;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PointerOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgNC41VjRhMiAyIDAgMCAwLTIuNDEtMS45NTciIC8+CiAgPHBhdGggZD0iTTEzLjkgOC40YTIgMiAwIDAgMC0xLjI2LTEuMjk1IiAvPgogIDxwYXRoIGQ9Ik0yMS43IDE2LjJBOCA4IDAgMCAwIDIyIDE0di0zYTIgMiAwIDEgMC00IDB2LTFhMiAyIDAgMCAwLTMuNjMtMS4xNTgiIC8+CiAgPHBhdGggZD0ibTcgMTUtMS44LTEuOGEyIDIgMCAwIDAtMi43OSAyLjg2TDYgMTkuN2E3Ljc0IDcuNzQgMCAwIDAgNiAyLjNoMmE4IDggMCAwIDAgNS42NTctMi4zNDMiIC8+CiAgPHBhdGggZD0iTTYgNnY4IiAvPgogIDxwYXRoIGQ9Im0yIDIgMjAgMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pointer-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePointerOff = /*#__PURE__*/(() => {\n  class LucidePointerOff extends LucideIconBase {\n    static icon = {\n      name: 'pointer-off',\n      size: 24,\n      node: [['path', {\n        d: 'M10 4.5V4a2 2 0 0 0-2.41-1.957',\n        key: 'jsi14n'\n      }], ['path', {\n        d: 'M13.9 8.4a2 2 0 0 0-1.26-1.295',\n        key: 'hirc7f'\n      }], ['path', {\n        d: 'M21.7 16.2A8 8 0 0 0 22 14v-3a2 2 0 1 0-4 0v-1a2 2 0 0 0-3.63-1.158',\n        key: '1jxb2e'\n      }], ['path', {\n        d: 'm7 15-1.8-1.8a2 2 0 0 0-2.79 2.86L6 19.7a7.74 7.74 0 0 0 6 2.3h2a8 8 0 0 0 5.657-2.343',\n        key: '10r7hm'\n      }], ['path', {\n        d: 'M6 6v8',\n        key: 'tv5xkp'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucidePointerOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePointerOff_BaseFactory;\n      return function LucidePointerOff_Factory(__ngFactoryType__) {\n        return (ɵLucidePointerOff_BaseFactory || (ɵLucidePointerOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePointerOff)))(__ngFactoryType__ || LucidePointerOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePointerOff,\n      selectors: [[\"svg\", \"lucidePointerOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1167,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePointerOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePointerOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePointerOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Pointer\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTRhOCA4IDAgMCAxLTggOCIgLz4KICA8cGF0aCBkPSJNMTggMTF2LTFhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAyIiAvPgogIDxwYXRoIGQ9Ik0xNCAxMFY5YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnYxIiAvPgogIDxwYXRoIGQ9Ik0xMCA5LjVWNGEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2MTAiIC8+CiAgPHBhdGggZD0iTTE4IDExYTIgMiAwIDEgMSA0IDB2M2E4IDggMCAwIDEtOCA4aC0yYy0yLjggMC00LjUtLjg2LTUuOTktMi4zNGwtMy42LTMuNmEyIDIgMCAwIDEgMi44My0yLjgyTDcgMTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pointer\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePointer = /*#__PURE__*/(() => {\n  class LucidePointer extends LucideIconBase {\n    static icon = {\n      name: 'pointer',\n      size: 24,\n      node: [['path', {\n        d: 'M22 14a8 8 0 0 1-8 8',\n        key: '56vcr3'\n      }], ['path', {\n        d: 'M18 11v-1a2 2 0 0 0-2-2a2 2 0 0 0-2 2',\n        key: '1agjmk'\n      }], ['path', {\n        d: 'M14 10V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1',\n        key: 'wdbh2u'\n      }], ['path', {\n        d: 'M10 9.5V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v10',\n        key: '1ibuk9'\n      }], ['path', {\n        d: 'M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15',\n        key: 'g6ys72'\n      }]]\n    };\n    icon = signal(LucidePointer.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePointer_BaseFactory;\n      return function LucidePointer_Factory(__ngFactoryType__) {\n        return (ɵLucidePointer_BaseFactory || (ɵLucidePointer_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePointer)))(__ngFactoryType__ || LucidePointer);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePointer,\n      selectors: [[\"svg\", \"lucidePointer\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1168,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePointer_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePointer_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePointer;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Popsicle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTguNiAxNC40Yy44LS44LjgtMiAwLTIuOGwtOC4xLTguMWE0Ljk1IDQuOTUgMCAxIDAtNy4xIDcuMWw4LjEgOC4xYy45LjcgMi4xLjcgMi45LS4xWiIgLz4KICA8cGF0aCBkPSJtMjIgMjItNS41LTUuNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/popsicle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePopsicle = /*#__PURE__*/(() => {\n  class LucidePopsicle extends LucideIconBase {\n    static icon = {\n      name: 'popsicle',\n      size: 24,\n      node: [['path', {\n        d: 'M18.6 14.4c.8-.8.8-2 0-2.8l-8.1-8.1a4.95 4.95 0 1 0-7.1 7.1l8.1 8.1c.9.7 2.1.7 2.9-.1Z',\n        key: '1o68ps'\n      }], ['path', {\n        d: 'm22 22-5.5-5.5',\n        key: '17o70y'\n      }]]\n    };\n    icon = signal(LucidePopsicle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePopsicle_BaseFactory;\n      return function LucidePopsicle_Factory(__ngFactoryType__) {\n        return (ɵLucidePopsicle_BaseFactory || (ɵLucidePopsicle_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePopsicle)))(__ngFactoryType__ || LucidePopsicle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePopsicle,\n      selectors: [[\"svg\", \"lucidePopsicle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1169,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePopsicle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePopsicle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePopsicle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Popcorn\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggOGEyIDIgMCAwIDAgMC00IDIgMiAwIDAgMC00IDAgMiAyIDAgMCAwLTQgMCAyIDIgMCAwIDAtNCAwIDIgMiAwIDAgMCAwIDQiIC8+CiAgPHBhdGggZD0iTTEwIDIyIDkgOCIgLz4KICA8cGF0aCBkPSJtMTQgMjIgMS0xNCIgLz4KICA8cGF0aCBkPSJNMjAgOGMuNSAwIC45LjQuOCAxbC0yLjYgMTJjLS4xLjUtLjcgMS0xLjIgMUg3Yy0uNiAwLTEuMS0uNC0xLjItMUwzLjIgOWMtLjEtLjYuMy0xIC44LTFaIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/popcorn\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePopcorn = /*#__PURE__*/(() => {\n  class LucidePopcorn extends LucideIconBase {\n    static icon = {\n      name: 'popcorn',\n      size: 24,\n      node: [['path', {\n        d: 'M18 8a2 2 0 0 0 0-4 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0 0 4',\n        key: '10td1f'\n      }], ['path', {\n        d: 'M10 22 9 8',\n        key: 'yjptiv'\n      }], ['path', {\n        d: 'm14 22 1-14',\n        key: '8jwc8b'\n      }], ['path', {\n        d: 'M20 8c.5 0 .9.4.8 1l-2.6 12c-.1.5-.7 1-1.2 1H7c-.6 0-1.1-.4-1.2-1L3.2 9c-.1-.6.3-1 .8-1Z',\n        key: '1qo33t'\n      }]]\n    };\n    icon = signal(LucidePopcorn.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePopcorn_BaseFactory;\n      return function LucidePopcorn_Factory(__ngFactoryType__) {\n        return (ɵLucidePopcorn_BaseFactory || (ɵLucidePopcorn_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePopcorn)))(__ngFactoryType__ || LucidePopcorn);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePopcorn,\n      selectors: [[\"svg\", \"lucidePopcorn\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1170,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePopcorn_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePopcorn_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePopcorn;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PoundSterling\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggN2MwLTUuMzMzLTgtNS4zMzMtOCAwIiAvPgogIDxwYXRoIGQ9Ik0xMCA3djE0IiAvPgogIDxwYXRoIGQ9Ik02IDIxaDEyIiAvPgogIDxwYXRoIGQ9Ik02IDEzaDEwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/pound-sterling\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePoundSterling = /*#__PURE__*/(() => {\n  class LucidePoundSterling extends LucideIconBase {\n    static icon = {\n      name: 'pound-sterling',\n      size: 24,\n      node: [['path', {\n        d: 'M18 7c0-5.333-8-5.333-8 0',\n        key: '1prm2n'\n      }], ['path', {\n        d: 'M10 7v14',\n        key: '18tmcs'\n      }], ['path', {\n        d: 'M6 21h12',\n        key: '4dkmi1'\n      }], ['path', {\n        d: 'M6 13h10',\n        key: 'ybwr4a'\n      }]]\n    };\n    icon = signal(LucidePoundSterling.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePoundSterling_BaseFactory;\n      return function LucidePoundSterling_Factory(__ngFactoryType__) {\n        return (ɵLucidePoundSterling_BaseFactory || (ɵLucidePoundSterling_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePoundSterling)))(__ngFactoryType__ || LucidePoundSterling);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePoundSterling,\n      selectors: [[\"svg\", \"lucidePoundSterling\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1171,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePoundSterling_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePoundSterling_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePoundSterling;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PowerOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTguMzYgNi42NEE5IDkgMCAwIDEgMjAuNzcgMTUiIC8+CiAgPHBhdGggZD0iTTYuMTYgNi4xNmE5IDkgMCAxIDAgMTIuNjggMTIuNjgiIC8+CiAgPHBhdGggZD0iTTEyIDJ2NCIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/power-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePowerOff = /*#__PURE__*/(() => {\n  class LucidePowerOff extends LucideIconBase {\n    static icon = {\n      name: 'power-off',\n      size: 24,\n      node: [['path', {\n        d: 'M18.36 6.64A9 9 0 0 1 20.77 15',\n        key: 'dxknvb'\n      }], ['path', {\n        d: 'M6.16 6.16a9 9 0 1 0 12.68 12.68',\n        key: '1x7qb5'\n      }], ['path', {\n        d: 'M12 2v4',\n        key: '3427ic'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucidePowerOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePowerOff_BaseFactory;\n      return function LucidePowerOff_Factory(__ngFactoryType__) {\n        return (ɵLucidePowerOff_BaseFactory || (ɵLucidePowerOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePowerOff)))(__ngFactoryType__ || LucidePowerOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePowerOff,\n      selectors: [[\"svg\", \"lucidePowerOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1172,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePowerOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePowerOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePowerOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Power\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYxMCIgLz4KICA8cGF0aCBkPSJNMTguNCA2LjZhOSA5IDAgMSAxLTEyLjc3LjA0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/power\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePower = /*#__PURE__*/(() => {\n  class LucidePower extends LucideIconBase {\n    static icon = {\n      name: 'power',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v10',\n        key: 'mnfbl'\n      }], ['path', {\n        d: 'M18.4 6.6a9 9 0 1 1-12.77.04',\n        key: 'obofu9'\n      }]]\n    };\n    icon = signal(LucidePower.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePower_BaseFactory;\n      return function LucidePower_Factory(__ngFactoryType__) {\n        return (ɵLucidePower_BaseFactory || (ɵLucidePower_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePower)))(__ngFactoryType__ || LucidePower);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePower,\n      selectors: [[\"svg\", \"lucidePower\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1173,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePower_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePower_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePower;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Presentation\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAzaDIwIiAvPgogIDxwYXRoIGQ9Ik0yMSAzdjExYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjMiIC8+CiAgPHBhdGggZD0ibTcgMjEgNS01IDUgNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/presentation\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePresentation = /*#__PURE__*/(() => {\n  class LucidePresentation extends LucideIconBase {\n    static icon = {\n      name: 'presentation',\n      size: 24,\n      node: [['path', {\n        d: 'M2 3h20',\n        key: '91anmk'\n      }], ['path', {\n        d: 'M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3',\n        key: '2k9sn8'\n      }], ['path', {\n        d: 'm7 21 5-5 5 5',\n        key: 'bip4we'\n      }]]\n    };\n    icon = signal(LucidePresentation.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePresentation_BaseFactory;\n      return function LucidePresentation_Factory(__ngFactoryType__) {\n        return (ɵLucidePresentation_BaseFactory || (ɵLucidePresentation_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePresentation)))(__ngFactoryType__ || LucidePresentation);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePresentation,\n      selectors: [[\"svg\", \"lucidePresentation\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1174,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePresentation_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePresentation_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePresentation;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PrinterCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuNSAyMkg3YTEgMSAwIDAgMS0xLTF2LTZhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdi41IiAvPgogIDxwYXRoIGQ9Im0xNiAxOSAyIDIgNC00IiAvPgogIDxwYXRoIGQ9Ik02IDE4SDRhMiAyIDAgMCAxLTItMnYtNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2MiIgLz4KICA8cGF0aCBkPSJNNiA5VjNhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdjYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/printer-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePrinterCheck = /*#__PURE__*/(() => {\n  class LucidePrinterCheck extends LucideIconBase {\n    static icon = {\n      name: 'printer-check',\n      size: 24,\n      node: [['path', {\n        d: 'M13.5 22H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v.5',\n        key: 'qeb09x'\n      }], ['path', {\n        d: 'm16 19 2 2 4-4',\n        key: '1b14m6'\n      }], ['path', {\n        d: 'M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2',\n        key: '1md90i'\n      }], ['path', {\n        d: 'M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6',\n        key: '1itne7'\n      }]]\n    };\n    icon = signal(LucidePrinterCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePrinterCheck_BaseFactory;\n      return function LucidePrinterCheck_Factory(__ngFactoryType__) {\n        return (ɵLucidePrinterCheck_BaseFactory || (ɵLucidePrinterCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePrinterCheck)))(__ngFactoryType__ || LucidePrinterCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePrinterCheck,\n      selectors: [[\"svg\", \"lucidePrinterCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1175,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePrinterCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePrinterCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePrinterCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name PrinterX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuNTMxIDIySDdhMSAxIDAgMCAxLTEtMXYtNmExIDEgMCAwIDEgMS0xaDYuMzc3IiAvPgogIDxwYXRoIGQ9Im0xNi41IDE2LjUgNSA1IiAvPgogIDxwYXRoIGQ9Im0xNi41IDIxLjUgNS01IiAvPgogIDxwYXRoIGQ9Ik02IDE4SDRhMiAyIDAgMCAxLTItMnYtNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2MS41IiAvPgogIDxwYXRoIGQ9Ik02IDlWM2ExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2NiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/printer-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePrinterX = /*#__PURE__*/(() => {\n  class LucidePrinterX extends LucideIconBase {\n    static icon = {\n      name: 'printer-x',\n      size: 24,\n      node: [['path', {\n        d: 'M12.531 22H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h6.377',\n        key: '1w39xo'\n      }], ['path', {\n        d: 'm16.5 16.5 5 5',\n        key: 'zc9lw7'\n      }], ['path', {\n        d: 'm16.5 21.5 5-5',\n        key: '1fr29m'\n      }], ['path', {\n        d: 'M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1.5',\n        key: '18he39'\n      }], ['path', {\n        d: 'M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6',\n        key: '1itne7'\n      }]]\n    };\n    icon = signal(LucidePrinterX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePrinterX_BaseFactory;\n      return function LucidePrinterX_Factory(__ngFactoryType__) {\n        return (ɵLucidePrinterX_BaseFactory || (ɵLucidePrinterX_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePrinterX)))(__ngFactoryType__ || LucidePrinterX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePrinterX,\n      selectors: [[\"svg\", \"lucidePrinterX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1176,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePrinterX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePrinterX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePrinterX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Printer\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAxOEg0YTIgMiAwIDAgMS0yLTJ2LTVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjVhMiAyIDAgMCAxLTIgMmgtMiIgLz4KICA8cGF0aCBkPSJNNiA5VjNhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdjYiIC8+CiAgPHJlY3QgeD0iNiIgeT0iMTQiIHdpZHRoPSIxMiIgaGVpZ2h0PSI4IiByeD0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/printer\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePrinter = /*#__PURE__*/(() => {\n  class LucidePrinter extends LucideIconBase {\n    static icon = {\n      name: 'printer',\n      size: 24,\n      node: [['path', {\n        d: 'M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2',\n        key: '143wyd'\n      }], ['path', {\n        d: 'M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6',\n        key: '1itne7'\n      }], ['rect', {\n        x: '6',\n        y: '14',\n        width: '12',\n        height: '8',\n        rx: '1',\n        key: '1ue0tg'\n      }]]\n    };\n    icon = signal(LucidePrinter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePrinter_BaseFactory;\n      return function LucidePrinter_Factory(__ngFactoryType__) {\n        return (ɵLucidePrinter_BaseFactory || (ɵLucidePrinter_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePrinter)))(__ngFactoryType__ || LucidePrinter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePrinter,\n      selectors: [[\"svg\", \"lucidePrinter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1177,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePrinter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePrinter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePrinter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Projector\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSA3IDMgNSIgLz4KICA8cGF0aCBkPSJNOSA2VjMiIC8+CiAgPHBhdGggZD0ibTEzIDcgMi0yIiAvPgogIDxjaXJjbGUgY3g9IjkiIGN5PSIxMyIgcj0iMyIgLz4KICA8cGF0aCBkPSJNMTEuODMgMTJIMjBhMiAyIDAgMCAxIDIgMnY0YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi00YTIgMiAwIDAgMSAyLTJoMi4xNyIgLz4KICA8cGF0aCBkPSJNMTYgMTZoMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/projector\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideProjector = /*#__PURE__*/(() => {\n  class LucideProjector extends LucideIconBase {\n    static icon = {\n      name: 'projector',\n      size: 24,\n      node: [['path', {\n        d: 'M5 7 3 5',\n        key: '1yys58'\n      }], ['path', {\n        d: 'M9 6V3',\n        key: '1ptz9u'\n      }], ['path', {\n        d: 'm13 7 2-2',\n        key: '1w3vmq'\n      }], ['circle', {\n        cx: '9',\n        cy: '13',\n        r: '3',\n        key: '1mma13'\n      }], ['path', {\n        d: 'M11.83 12H20a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h2.17',\n        key: '2frwzc'\n      }], ['path', {\n        d: 'M16 16h2',\n        key: 'dnq2od'\n      }]]\n    };\n    icon = signal(LucideProjector.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideProjector_BaseFactory;\n      return function LucideProjector_Factory(__ngFactoryType__) {\n        return (ɵLucideProjector_BaseFactory || (ɵLucideProjector_BaseFactory = i0.ɵɵgetInheritedFactory(LucideProjector)))(__ngFactoryType__ || LucideProjector);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideProjector,\n      selectors: [[\"svg\", \"lucideProjector\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1178,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideProjector_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideProjector_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideProjector;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Proportions\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHg9IjIiIHk9IjQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xMiA5djExIiAvPgogIDxwYXRoIGQ9Ik0yIDloMTNhMiAyIDAgMCAxIDIgMnY5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/proportions\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideProportions = /*#__PURE__*/(() => {\n  class LucideProportions extends LucideIconBase {\n    static icon = {\n      name: 'proportions',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '16',\n        x: '2',\n        y: '4',\n        rx: '2',\n        key: '18n3k1'\n      }], ['path', {\n        d: 'M12 9v11',\n        key: '1fnkrn'\n      }], ['path', {\n        d: 'M2 9h13a2 2 0 0 1 2 2v9',\n        key: '11z3ex'\n      }]]\n    };\n    icon = signal(LucideProportions.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideProportions_BaseFactory;\n      return function LucideProportions_Factory(__ngFactoryType__) {\n        return (ɵLucideProportions_BaseFactory || (ɵLucideProportions_BaseFactory = i0.ɵɵgetInheritedFactory(LucideProportions)))(__ngFactoryType__ || LucideProportions);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideProportions,\n      selectors: [[\"svg\", \"lucideProportions\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1179,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideProportions_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideProportions_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideProportions;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name QrCode\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNSIgaGVpZ2h0PSI1IiB4PSIzIiB5PSIzIiByeD0iMSIgLz4KICA8cmVjdCB3aWR0aD0iNSIgaGVpZ2h0PSI1IiB4PSIxNiIgeT0iMyIgcng9IjEiIC8+CiAgPHJlY3Qgd2lkdGg9IjUiIGhlaWdodD0iNSIgeD0iMyIgeT0iMTYiIHJ4PSIxIiAvPgogIDxwYXRoIGQ9Ik0yMSAxNmgtM2EyIDIgMCAwIDAtMiAydjMiIC8+CiAgPHBhdGggZD0iTTIxIDIxdi4wMSIgLz4KICA8cGF0aCBkPSJNMTIgN3YzYTIgMiAwIDAgMS0yIDJINyIgLz4KICA8cGF0aCBkPSJNMyAxMmguMDEiIC8+CiAgPHBhdGggZD0iTTEyIDNoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMiAxNnYuMDEiIC8+CiAgPHBhdGggZD0iTTE2IDEyaDEiIC8+CiAgPHBhdGggZD0iTTIxIDEydi4wMSIgLz4KICA8cGF0aCBkPSJNMTIgMjF2LTEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/qr-code\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideQrCode = /*#__PURE__*/(() => {\n  class LucideQrCode extends LucideIconBase {\n    static icon = {\n      name: 'qr-code',\n      size: 24,\n      node: [['rect', {\n        width: '5',\n        height: '5',\n        x: '3',\n        y: '3',\n        rx: '1',\n        key: '1tu5fj'\n      }], ['rect', {\n        width: '5',\n        height: '5',\n        x: '16',\n        y: '3',\n        rx: '1',\n        key: '1v8r4q'\n      }], ['rect', {\n        width: '5',\n        height: '5',\n        x: '3',\n        y: '16',\n        rx: '1',\n        key: '1x03jg'\n      }], ['path', {\n        d: 'M21 16h-3a2 2 0 0 0-2 2v3',\n        key: '177gqh'\n      }], ['path', {\n        d: 'M21 21v.01',\n        key: 'ents32'\n      }], ['path', {\n        d: 'M12 7v3a2 2 0 0 1-2 2H7',\n        key: '8crl2c'\n      }], ['path', {\n        d: 'M3 12h.01',\n        key: 'nlz23k'\n      }], ['path', {\n        d: 'M12 3h.01',\n        key: 'n36tog'\n      }], ['path', {\n        d: 'M12 16v.01',\n        key: '133mhm'\n      }], ['path', {\n        d: 'M16 12h1',\n        key: '1slzba'\n      }], ['path', {\n        d: 'M21 12v.01',\n        key: '1lwtk9'\n      }], ['path', {\n        d: 'M12 21v-1',\n        key: '1880an'\n      }]]\n    };\n    icon = signal(LucideQrCode.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideQrCode_BaseFactory;\n      return function LucideQrCode_Factory(__ngFactoryType__) {\n        return (ɵLucideQrCode_BaseFactory || (ɵLucideQrCode_BaseFactory = i0.ɵɵgetInheritedFactory(LucideQrCode)))(__ngFactoryType__ || LucideQrCode);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideQrCode,\n      selectors: [[\"svg\", \"lucideQrCode\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1180,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideQrCode_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideQrCode_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideQrCode;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Puzzle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuMzkgNC4zOWExIDEgMCAwIDAgMS42OC0uNDc0IDIuNSAyLjUgMCAxIDEgMy4wMTQgMy4wMTUgMSAxIDAgMCAwLS40NzQgMS42OGwxLjY4MyAxLjY4MmEyLjQxNCAyLjQxNCAwIDAgMSAwIDMuNDE0TDE5LjYxIDE1LjM5YTEgMSAwIDAgMS0xLjY4LS40NzQgMi41IDIuNSAwIDEgMC0zLjAxNCAzLjAxNSAxIDEgMCAwIDEgLjQ3NCAxLjY4bC0xLjY4MyAxLjY4MmEyLjQxNCAyLjQxNCAwIDAgMS0zLjQxNCAwTDguNjEgMTkuNjFhMSAxIDAgMCAwLTEuNjguNDc0IDIuNSAyLjUgMCAxIDEtMy4wMTQtMy4wMTUgMSAxIDAgMCAwIC40NzQtMS42OGwtMS42ODMtMS42ODJhMi40MTQgMi40MTQgMCAwIDEgMC0zLjQxNEw0LjM5IDguNjFhMSAxIDAgMCAxIDEuNjguNDc0IDIuNSAyLjUgMCAxIDAgMy4wMTQtMy4wMTUgMSAxIDAgMCAxLS40NzQtMS42OGwxLjY4My0xLjY4MmEyLjQxNCAyLjQxNCAwIDAgMSAzLjQxNCAweiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/puzzle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePuzzle = /*#__PURE__*/(() => {\n  class LucidePuzzle extends LucideIconBase {\n    static icon = {\n      name: 'puzzle',\n      size: 24,\n      node: [['path', {\n        d: 'M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z',\n        key: 'w46dr5'\n      }]]\n    };\n    icon = signal(LucidePuzzle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePuzzle_BaseFactory;\n      return function LucidePuzzle_Factory(__ngFactoryType__) {\n        return (ɵLucidePuzzle_BaseFactory || (ɵLucidePuzzle_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePuzzle)))(__ngFactoryType__ || LucidePuzzle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePuzzle,\n      selectors: [[\"svg\", \"lucidePuzzle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1181,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePuzzle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePuzzle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePuzzle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Quote\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgM2EyIDIgMCAwIDAtMiAydjZhMiAyIDAgMCAwIDIgMiAxIDEgMCAwIDEgMSAxdjFhMiAyIDAgMCAxLTIgMiAxIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMSA2IDYgMCAwIDAgNi02VjVhMiAyIDAgMCAwLTItMnoiIC8+CiAgPHBhdGggZD0iTTUgM2EyIDIgMCAwIDAtMiAydjZhMiAyIDAgMCAwIDIgMiAxIDEgMCAwIDEgMSAxdjFhMiAyIDAgMCAxLTIgMiAxIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMSA2IDYgMCAwIDAgNi02VjVhMiAyIDAgMCAwLTItMnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/quote\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideQuote = /*#__PURE__*/(() => {\n  class LucideQuote extends LucideIconBase {\n    static icon = {\n      name: 'quote',\n      size: 24,\n      node: [['path', {\n        d: 'M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z',\n        key: 'rib7q0'\n      }], ['path', {\n        d: 'M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z',\n        key: '1ymkrd'\n      }]]\n    };\n    icon = signal(LucideQuote.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideQuote_BaseFactory;\n      return function LucideQuote_Factory(__ngFactoryType__) {\n        return (ɵLucideQuote_BaseFactory || (ɵLucideQuote_BaseFactory = i0.ɵɵgetInheritedFactory(LucideQuote)))(__ngFactoryType__ || LucideQuote);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideQuote,\n      selectors: [[\"svg\", \"lucideQuote\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1182,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideQuote_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideQuote_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideQuote;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Pyramid\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi41IDE2Ljg4YTEgMSAwIDAgMS0uMzItMS40M2w5LTEzLjAyYTEgMSAwIDAgMSAxLjY0IDBsOSAxMy4wMWExIDEgMCAwIDEtLjMyIDEuNDRsLTguNTEgNC44NmEyIDIgMCAwIDEtMS45OCAwWiIgLz4KICA8cGF0aCBkPSJNMTIgMnYyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/pyramid\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucidePyramid = /*#__PURE__*/(() => {\n  class LucidePyramid extends LucideIconBase {\n    static icon = {\n      name: 'pyramid',\n      size: 24,\n      node: [['path', {\n        d: 'M2.5 16.88a1 1 0 0 1-.32-1.43l9-13.02a1 1 0 0 1 1.64 0l9 13.01a1 1 0 0 1-.32 1.44l-8.51 4.86a2 2 0 0 1-1.98 0Z',\n        key: 'aenxs0'\n      }], ['path', {\n        d: 'M12 2v20',\n        key: 't6zp3m'\n      }]]\n    };\n    icon = signal(LucidePyramid.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucidePyramid_BaseFactory;\n      return function LucidePyramid_Factory(__ngFactoryType__) {\n        return (ɵLucidePyramid_BaseFactory || (ɵLucidePyramid_BaseFactory = i0.ɵɵgetInheritedFactory(LucidePyramid)))(__ngFactoryType__ || LucidePyramid);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucidePyramid,\n      selectors: [[\"svg\", \"lucidePyramid\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1183,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucidePyramid_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucidePyramid_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucidePyramid;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Radar\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkuMDcgNC45M0ExMCAxMCAwIDAgMCA2Ljk5IDMuMzQiIC8+CiAgPHBhdGggZD0iTTQgNmguMDEiIC8+CiAgPHBhdGggZD0iTTIuMjkgOS42MkExMCAxMCAwIDEgMCAyMS4zMSA4LjM1IiAvPgogIDxwYXRoIGQ9Ik0xNi4yNCA3Ljc2QTYgNiAwIDEgMCA4LjIzIDE2LjY3IiAvPgogIDxwYXRoIGQ9Ik0xMiAxOGguMDEiIC8+CiAgPHBhdGggZD0iTTE3Ljk5IDExLjY2QTYgNiAwIDAgMSAxNS43NyAxNi42NyIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIiAvPgogIDxwYXRoIGQ9Im0xMy40MSAxMC41OSA1LjY2LTUuNjYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/radar\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRadar = /*#__PURE__*/(() => {\n  class LucideRadar extends LucideIconBase {\n    static icon = {\n      name: 'radar',\n      size: 24,\n      node: [['path', {\n        d: 'M19.07 4.93A10 10 0 0 0 6.99 3.34',\n        key: 'z3du51'\n      }], ['path', {\n        d: 'M4 6h.01',\n        key: 'oypzma'\n      }], ['path', {\n        d: 'M2.29 9.62A10 10 0 1 0 21.31 8.35',\n        key: 'qzzz0'\n      }], ['path', {\n        d: 'M16.24 7.76A6 6 0 1 0 8.23 16.67',\n        key: '1yjesh'\n      }], ['path', {\n        d: 'M12 18h.01',\n        key: 'mhygvu'\n      }], ['path', {\n        d: 'M17.99 11.66A6 6 0 0 1 15.77 16.67',\n        key: '1u2y91'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '2',\n        key: '1c9p78'\n      }], ['path', {\n        d: 'm13.41 10.59 5.66-5.66',\n        key: 'mhq4k0'\n      }]]\n    };\n    icon = signal(LucideRadar.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRadar_BaseFactory;\n      return function LucideRadar_Factory(__ngFactoryType__) {\n        return (ɵLucideRadar_BaseFactory || (ɵLucideRadar_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRadar)))(__ngFactoryType__ || LucideRadar);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRadar,\n      selectors: [[\"svg\", \"lucideRadar\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1184,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRadar_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRadar_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRadar;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Radiation\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTJoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNCAxNS40NjQxYTQgNCAwIDAgMS00IDBMNy41Mjc4NiAxOS43NDU5NyBBIDEgMSAwIDAgMCA3Ljk5MzAzIDIxLjE2MjExIDEwIDEwIDAgMCAwIDE2LjAwNjk3IDIxLjE2MjExIDEgMSAwIDAgMCAxNi40NzIxNCAxOS43NDU5N3oiIC8+CiAgPHBhdGggZD0iTTE2IDEyYTQgNCAwIDAgMC0yLTMuNDY0bDIuNDcyLTQuMjgyYTEgMSAwIDAgMSAxLjQ2LS4zMDUgMTAgMTAgMCAwIDEgNC4wMDYgNi45NEExIDEgMCAwIDEgMjEgMTJ6IiAvPgogIDxwYXRoIGQ9Ik04IDEyYTQgNCAwIDAgMSAyLTMuNDY0TDcuNTI4IDQuMjU0YTEgMSAwIDAgMC0xLjQ2LS4zMDUgMTAgMTAgMCAwIDAtNC4wMDYgNi45NEExIDEgMCAwIDAgMyAxMnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/radiation\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRadiation = /*#__PURE__*/(() => {\n  class LucideRadiation extends LucideIconBase {\n    static icon = {\n      name: 'radiation',\n      size: 24,\n      node: [['path', {\n        d: 'M12 12h.01',\n        key: '1mp3jc'\n      }], ['path', {\n        d: 'M14 15.4641a4 4 0 0 1-4 0L7.52786 19.74597 A 1 1 0 0 0 7.99303 21.16211 10 10 0 0 0 16.00697 21.16211 1 1 0 0 0 16.47214 19.74597z',\n        key: '1y4lzb'\n      }], ['path', {\n        d: 'M16 12a4 4 0 0 0-2-3.464l2.472-4.282a1 1 0 0 1 1.46-.305 10 10 0 0 1 4.006 6.94A1 1 0 0 1 21 12z',\n        key: '163ggk'\n      }], ['path', {\n        d: 'M8 12a4 4 0 0 1 2-3.464L7.528 4.254a1 1 0 0 0-1.46-.305 10 10 0 0 0-4.006 6.94A1 1 0 0 0 3 12z',\n        key: '1l9i0b'\n      }]]\n    };\n    icon = signal(LucideRadiation.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRadiation_BaseFactory;\n      return function LucideRadiation_Factory(__ngFactoryType__) {\n        return (ɵLucideRadiation_BaseFactory || (ɵLucideRadiation_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRadiation)))(__ngFactoryType__ || LucideRadiation);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRadiation,\n      selectors: [[\"svg\", \"lucideRadiation\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1185,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRadiation_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRadiation_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRadiation;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Rabbit\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMTZhMyAzIDAgMCAxIDIuMjQgNSIgLz4KICA8cGF0aCBkPSJNMTggMTJoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xOCAyMWgtOGE0IDQgMCAwIDEtNC00IDcgNyAwIDAgMSA3LTdoLjJMOS42IDYuNGExIDEgMCAxIDEgMi44LTIuOEwxNS44IDdoLjJjMy4zIDAgNiAyLjcgNiA2djFhMiAyIDAgMCAxLTIgMmgtMWEzIDMgMCAwIDAtMyAzIiAvPgogIDxwYXRoIGQ9Ik0yMCA4LjU0VjRhMiAyIDAgMSAwLTQgMHYzIiAvPgogIDxwYXRoIGQ9Ik03LjYxMiAxMi41MjRhMyAzIDAgMSAwLTEuNiA0LjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/rabbit\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRabbit = /*#__PURE__*/(() => {\n  class LucideRabbit extends LucideIconBase {\n    static icon = {\n      name: 'rabbit',\n      size: 24,\n      node: [['path', {\n        d: 'M13 16a3 3 0 0 1 2.24 5',\n        key: '1epib5'\n      }], ['path', {\n        d: 'M18 12h.01',\n        key: 'yjnet6'\n      }], ['path', {\n        d: 'M18 21h-8a4 4 0 0 1-4-4 7 7 0 0 1 7-7h.2L9.6 6.4a1 1 0 1 1 2.8-2.8L15.8 7h.2c3.3 0 6 2.7 6 6v1a2 2 0 0 1-2 2h-1a3 3 0 0 0-3 3',\n        key: 'ue9ozu'\n      }], ['path', {\n        d: 'M20 8.54V4a2 2 0 1 0-4 0v3',\n        key: '49iql8'\n      }], ['path', {\n        d: 'M7.612 12.524a3 3 0 1 0-1.6 4.3',\n        key: '1e33i0'\n      }]]\n    };\n    icon = signal(LucideRabbit.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRabbit_BaseFactory;\n      return function LucideRabbit_Factory(__ngFactoryType__) {\n        return (ɵLucideRabbit_BaseFactory || (ɵLucideRabbit_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRabbit)))(__ngFactoryType__ || LucideRabbit);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRabbit,\n      selectors: [[\"svg\", \"lucideRabbit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1186,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRabbit_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRabbit_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRabbit;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Radical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAxMmgzLjI4YTEgMSAwIDAgMSAuOTQ4LjY4NGwyLjI5OCA3LjkzNGEuNS41IDAgMCAwIC45Ni0uMDQ0TDEzLjgyIDQuNzcxQTEgMSAwIDAgMSAxNC43OTIgNEgyMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/radical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRadical = /*#__PURE__*/(() => {\n  class LucideRadical extends LucideIconBase {\n    static icon = {\n      name: 'radical',\n      size: 24,\n      node: [['path', {\n        d: 'M3 12h3.28a1 1 0 0 1 .948.684l2.298 7.934a.5.5 0 0 0 .96-.044L13.82 4.771A1 1 0 0 1 14.792 4H21',\n        key: '1mqj8i'\n      }]]\n    };\n    icon = signal(LucideRadical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRadical_BaseFactory;\n      return function LucideRadical_Factory(__ngFactoryType__) {\n        return (ɵLucideRadical_BaseFactory || (ɵLucideRadical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRadical)))(__ngFactoryType__ || LucideRadical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRadical,\n      selectors: [[\"svg\", \"lucideRadical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1187,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRadical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRadical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRadical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RadioOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNDEwMyAxMC43ODUyQzEwLjE1MjkgMTEuMTIxOCAxMCAxMS41NDI1IDEwIDExLjk5OUMxMCAxMy4xMDM2IDEwLjg5NTQgMTMuOTk5IDEyIDEzLjk5OUMxMi41MDc3IDEzLjk5OSAxMi45NzEzIDEzLjgwOTggMTMuMzI0IDEzLjQ5OCIgLz4KICA8cGF0aCBkPSJNMTYuMTk5MiA3LjgwMDc4QzE3LjQ3MzkgOS4wNzU0OSAxOC4wNDIyIDEwLjgxMDkgMTcuOTAzOSAxMi41MTM0IiAvPgogIDxwYXRoIGQ9Ik0xOS4wOTk2IDQuODk4NDRDMjIuMDg5MiA3Ljg4ODA0IDIyLjc4NzEgMTIuMjg3OSAyMS4xOTMyIDE1LjkzNiIgLz4KICA8cGF0aCBkPSJNMiAyTDIyIDIyIiAvPgogIDxwYXRoIGQ9Ik00Ljg5OTYxIDE5LjA5ODRDMC45OTk2MDkgMTUuMTk4NCAwLjk5OTYwOSA4Ljc5ODQ0IDQuODk5NjEgNC44OTg0NCIgLz4KICA8cGF0aCBkPSJNNy43OTkyMiAxNi4xOTkyQzUuNjY4MjggMTQuMDY4MyA1LjUxMTY1IDEwLjY0OTggNy4zMjkzMSA4LjI1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/radio-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRadioOff = /*#__PURE__*/(() => {\n  class LucideRadioOff extends LucideIconBase {\n    static icon = {\n      name: 'radio-off',\n      size: 24,\n      node: [['path', {\n        d: 'M10.4103 10.7852C10.1529 11.1218 10 11.5425 10 11.999C10 13.1036 10.8954 13.999 12 13.999C12.5077 13.999 12.9713 13.8098 13.324 13.498',\n        key: 'a36qgt'\n      }], ['path', {\n        d: 'M16.1992 7.80078C17.4739 9.07549 18.0422 10.8109 17.9039 12.5134',\n        key: '1dac3h'\n      }], ['path', {\n        d: 'M19.0996 4.89844C22.0892 7.88804 22.7871 12.2879 21.1932 15.936',\n        key: 'uqg46b'\n      }], ['path', {\n        d: 'M2 2L22 22',\n        key: '1tltpl'\n      }], ['path', {\n        d: 'M4.89961 19.0984C0.999609 15.1984 0.999609 8.79844 4.89961 4.89844',\n        key: '1aden0'\n      }], ['path', {\n        d: 'M7.79922 16.1992C5.66828 14.0683 5.51165 10.6498 7.32931 8.25',\n        key: '18j9a2'\n      }]]\n    };\n    icon = signal(LucideRadioOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRadioOff_BaseFactory;\n      return function LucideRadioOff_Factory(__ngFactoryType__) {\n        return (ɵLucideRadioOff_BaseFactory || (ɵLucideRadioOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRadioOff)))(__ngFactoryType__ || LucideRadioOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRadioOff,\n      selectors: [[\"svg\", \"lucideRadioOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1188,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRadioOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRadioOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRadioOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RadioReceiver\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxNnYyIiAvPgogIDxwYXRoIGQ9Ik0xOSAxNnYyIiAvPgogIDxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiB4PSIyIiB5PSI4IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMTggMTJoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/radio-receiver\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRadioReceiver = /*#__PURE__*/(() => {\n  class LucideRadioReceiver extends LucideIconBase {\n    static icon = {\n      name: 'radio-receiver',\n      size: 24,\n      node: [['path', {\n        d: 'M5 16v2',\n        key: 'g5qcv5'\n      }], ['path', {\n        d: 'M19 16v2',\n        key: '1gbaio'\n      }], ['rect', {\n        width: '20',\n        height: '8',\n        x: '2',\n        y: '8',\n        rx: '2',\n        key: 'vjsjur'\n      }], ['path', {\n        d: 'M18 12h.01',\n        key: 'yjnet6'\n      }]]\n    };\n    icon = signal(LucideRadioReceiver.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRadioReceiver_BaseFactory;\n      return function LucideRadioReceiver_Factory(__ngFactoryType__) {\n        return (ɵLucideRadioReceiver_BaseFactory || (ɵLucideRadioReceiver_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRadioReceiver)))(__ngFactoryType__ || LucideRadioReceiver);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRadioReceiver,\n      selectors: [[\"svg\", \"lucideRadioReceiver\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1189,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRadioReceiver_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRadioReceiver_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRadioReceiver;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Radio\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYuMjQ3IDcuNzYxYTYgNiAwIDAgMSAwIDguNDc4IiAvPgogIDxwYXRoIGQ9Ik0xOS4wNzUgNC45MzNhMTAgMTAgMCAwIDEgMCAxNC4xMzQiIC8+CiAgPHBhdGggZD0iTTQuOTI1IDE5LjA2N2ExMCAxMCAwIDAgMSAwLTE0LjEzNCIgLz4KICA8cGF0aCBkPSJNNy43NTMgMTYuMjM5YTYgNiAwIDAgMSAwLTguNDc4IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/radio\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRadio = /*#__PURE__*/(() => {\n  class LucideRadio extends LucideIconBase {\n    static icon = {\n      name: 'radio',\n      size: 24,\n      node: [['path', {\n        d: 'M16.247 7.761a6 6 0 0 1 0 8.478',\n        key: '1fwjs5'\n      }], ['path', {\n        d: 'M19.075 4.933a10 10 0 0 1 0 14.134',\n        key: 'ehdyv1'\n      }], ['path', {\n        d: 'M4.925 19.067a10 10 0 0 1 0-14.134',\n        key: '1q22gi'\n      }], ['path', {\n        d: 'M7.753 16.239a6 6 0 0 1 0-8.478',\n        key: 'r2q7qm'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '2',\n        key: '1c9p78'\n      }]]\n    };\n    icon = signal(LucideRadio.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRadio_BaseFactory;\n      return function LucideRadio_Factory(__ngFactoryType__) {\n        return (ɵLucideRadio_BaseFactory || (ɵLucideRadio_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRadio)))(__ngFactoryType__ || LucideRadio);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRadio,\n      selectors: [[\"svg\", \"lucideRadio\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1190,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRadio_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRadio_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRadio;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RadioTower\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNC45IDE2LjFDMSAxMi4yIDEgNS44IDQuOSAxLjkiIC8+CiAgPHBhdGggZD0iTTcuOCA0LjdhNi4xNCA2LjE0IDAgMCAwLS44IDcuNSIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjkiIHI9IjIiIC8+CiAgPHBhdGggZD0iTTE2LjIgNC44YzIgMiAyLjI2IDUuMTEuOCA3LjQ3IiAvPgogIDxwYXRoIGQ9Ik0xOS4xIDEuOWE5Ljk2IDkuOTYgMCAwIDEgMCAxNC4xIiAvPgogIDxwYXRoIGQ9Ik05LjUgMThoNSIgLz4KICA8cGF0aCBkPSJtOCAyMiA0LTExIDQgMTEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/radio-tower\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRadioTower = /*#__PURE__*/(() => {\n  class LucideRadioTower extends LucideIconBase {\n    static icon = {\n      name: 'radio-tower',\n      size: 24,\n      node: [['path', {\n        d: 'M4.9 16.1C1 12.2 1 5.8 4.9 1.9',\n        key: 's0qx1y'\n      }], ['path', {\n        d: 'M7.8 4.7a6.14 6.14 0 0 0-.8 7.5',\n        key: '1idnkw'\n      }], ['circle', {\n        cx: '12',\n        cy: '9',\n        r: '2',\n        key: '1092wv'\n      }], ['path', {\n        d: 'M16.2 4.8c2 2 2.26 5.11.8 7.47',\n        key: 'ojru2q'\n      }], ['path', {\n        d: 'M19.1 1.9a9.96 9.96 0 0 1 0 14.1',\n        key: 'rhi7fg'\n      }], ['path', {\n        d: 'M9.5 18h5',\n        key: 'mfy3pd'\n      }], ['path', {\n        d: 'm8 22 4-11 4 11',\n        key: '25yftu'\n      }]]\n    };\n    icon = signal(LucideRadioTower.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRadioTower_BaseFactory;\n      return function LucideRadioTower_Factory(__ngFactoryType__) {\n        return (ɵLucideRadioTower_BaseFactory || (ɵLucideRadioTower_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRadioTower)))(__ngFactoryType__ || LucideRadioTower);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRadioTower,\n      selectors: [[\"svg\", \"lucideRadioTower\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1191,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRadioTower_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRadioTower_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRadioTower;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Radius\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAuMzQgMTcuNTJhMTAgMTAgMCAxIDAtMi44MiAyLjgyIiAvPgogIDxjaXJjbGUgY3g9IjE5IiBjeT0iMTkiIHI9IjIiIC8+CiAgPHBhdGggZD0ibTEzLjQxIDEzLjQxIDQuMTggNC4xOCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/radius\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRadius = /*#__PURE__*/(() => {\n  class LucideRadius extends LucideIconBase {\n    static icon = {\n      name: 'radius',\n      size: 24,\n      node: [['path', {\n        d: 'M20.34 17.52a10 10 0 1 0-2.82 2.82',\n        key: 'fydyku'\n      }], ['circle', {\n        cx: '19',\n        cy: '19',\n        r: '2',\n        key: '17f5cg'\n      }], ['path', {\n        d: 'm13.41 13.41 4.18 4.18',\n        key: '1gqbwc'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '2',\n        key: '1c9p78'\n      }]]\n    };\n    icon = signal(LucideRadius.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRadius_BaseFactory;\n      return function LucideRadius_Factory(__ngFactoryType__) {\n        return (ɵLucideRadius_BaseFactory || (ɵLucideRadius_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRadius)))(__ngFactoryType__ || LucideRadius);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRadius,\n      selectors: [[\"svg\", \"lucideRadius\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1192,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRadius_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRadius_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRadius;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Rainbow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTdhMTAgMTAgMCAwIDAtMjAgMCIgLz4KICA8cGF0aCBkPSJNNiAxN2E2IDYgMCAwIDEgMTIgMCIgLz4KICA8cGF0aCBkPSJNMTAgMTdhMiAyIDAgMCAxIDQgMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/rainbow\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRainbow = /*#__PURE__*/(() => {\n  class LucideRainbow extends LucideIconBase {\n    static icon = {\n      name: 'rainbow',\n      size: 24,\n      node: [['path', {\n        d: 'M22 17a10 10 0 0 0-20 0',\n        key: 'ozegv'\n      }], ['path', {\n        d: 'M6 17a6 6 0 0 1 12 0',\n        key: '5giftw'\n      }], ['path', {\n        d: 'M10 17a2 2 0 0 1 4 0',\n        key: 'gnsikk'\n      }]]\n    };\n    icon = signal(LucideRainbow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRainbow_BaseFactory;\n      return function LucideRainbow_Factory(__ngFactoryType__) {\n        return (ɵLucideRainbow_BaseFactory || (ɵLucideRainbow_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRainbow)))(__ngFactoryType__ || LucideRainbow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRainbow,\n      selectors: [[\"svg\", \"lucideRainbow\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1193,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRainbow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRainbow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRainbow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ReceiptCent\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgN3YxMCIgLz4KICA8cGF0aCBkPSJNMTQuODI4IDE0LjgyOWE0IDQgMCAwIDEtNS42NTYgMCA0IDQgMCAwIDEgMC01LjY1NyA0IDQgMCAwIDEgNS42NTYgMCIgLz4KICA8cGF0aCBkPSJNNCAzYTEgMSAwIDAgMSAxLTEgMS4zIDEuMyAwIDAgMSAuNy4ybC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzQtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzNC42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNkExLjMgMS4zIDAgMCAxIDE5IDJhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxIDEuMyAxLjMgMCAwIDEtLjctLjJsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzNC42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzQtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtLjcuMiAxIDEgMCAwIDEtMS0xeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/receipt-cent\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideReceiptCent = /*#__PURE__*/(() => {\n  class LucideReceiptCent extends LucideIconBase {\n    static icon = {\n      name: 'receipt-cent',\n      size: 24,\n      node: [['path', {\n        d: 'M12 7v10',\n        key: 'jspqdw'\n      }], ['path', {\n        d: 'M14.828 14.829a4 4 0 0 1-5.656 0 4 4 0 0 1 0-5.657 4 4 0 0 1 5.656 0',\n        key: 'qvqont'\n      }], ['path', {\n        d: 'M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z',\n        key: 'ycz6yz'\n      }]]\n    };\n    icon = signal(LucideReceiptCent.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideReceiptCent_BaseFactory;\n      return function LucideReceiptCent_Factory(__ngFactoryType__) {\n        return (ɵLucideReceiptCent_BaseFactory || (ɵLucideReceiptCent_BaseFactory = i0.ɵɵgetInheritedFactory(LucideReceiptCent)))(__ngFactoryType__ || LucideReceiptCent);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideReceiptCent,\n      selectors: [[\"svg\", \"lucideReceiptCent\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1194,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideReceiptCent_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideReceiptCent_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideReceiptCent;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Rat\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMjJINGEyIDIgMCAwIDEgMC00aDEyIiAvPgogIDxwYXRoIGQ9Ik0xMy4yMzYgMThhMyAzIDAgMCAwLTIuMi01IiAvPgogIDxwYXRoIGQ9Ik0xNiA5aC4wMSIgLz4KICA8cGF0aCBkPSJNMTYuODIgMy45NGEzIDMgMCAxIDEgMy4yMzcgNC44NjhsMS44MTUgMi41ODdhMS41IDEuNSAwIDAgMS0xLjUgMi4xbC0yLjg3Mi0uNDUzYTMgMyAwIDAgMC0zLjUgMyIgLz4KICA8cGF0aCBkPSJNMTcgNC45ODhhMyAzIDAgMSAwLTUuMiAyLjA1MkE3IDcgMCAwIDAgNCAxNC4wMTUgNCA0IDAgMCAwIDggMTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/rat\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRat = /*#__PURE__*/(() => {\n  class LucideRat extends LucideIconBase {\n    static icon = {\n      name: 'rat',\n      size: 24,\n      node: [['path', {\n        d: 'M13 22H4a2 2 0 0 1 0-4h12',\n        key: 'bt3f23'\n      }], ['path', {\n        d: 'M13.236 18a3 3 0 0 0-2.2-5',\n        key: '1tbvmo'\n      }], ['path', {\n        d: 'M16 9h.01',\n        key: '1bdo4e'\n      }], ['path', {\n        d: 'M16.82 3.94a3 3 0 1 1 3.237 4.868l1.815 2.587a1.5 1.5 0 0 1-1.5 2.1l-2.872-.453a3 3 0 0 0-3.5 3',\n        key: '9ch7kn'\n      }], ['path', {\n        d: 'M17 4.988a3 3 0 1 0-5.2 2.052A7 7 0 0 0 4 14.015 4 4 0 0 0 8 18',\n        key: '3s7e9i'\n      }]]\n    };\n    icon = signal(LucideRat.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRat_BaseFactory;\n      return function LucideRat_Factory(__ngFactoryType__) {\n        return (ɵLucideRat_BaseFactory || (ɵLucideRat_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRat)))(__ngFactoryType__ || LucideRat);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRat,\n      selectors: [[\"svg\", \"lucideRat\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1195,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRat_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRat_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRat;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ratio\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTIiIGhlaWdodD0iMjAiIHg9IjYiIHk9IjIiIHJ4PSIyIiAvPgogIDxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIxMiIgeD0iMiIgeT0iNiIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/ratio\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRatio = /*#__PURE__*/(() => {\n  class LucideRatio extends LucideIconBase {\n    static icon = {\n      name: 'ratio',\n      size: 24,\n      node: [['rect', {\n        width: '12',\n        height: '20',\n        x: '6',\n        y: '2',\n        rx: '2',\n        key: '1oxtiu'\n      }], ['rect', {\n        width: '20',\n        height: '12',\n        x: '2',\n        y: '6',\n        rx: '2',\n        key: '9lu3g6'\n      }]]\n    };\n    icon = signal(LucideRatio.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRatio_BaseFactory;\n      return function LucideRatio_Factory(__ngFactoryType__) {\n        return (ɵLucideRatio_BaseFactory || (ɵLucideRatio_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRatio)))(__ngFactoryType__ || LucideRatio);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRatio,\n      selectors: [[\"svg\", \"lucideRatio\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1196,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRatio_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRatio_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRatio;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ReceiptEuro\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuODI4IDE0LjgyOWE0IDQgMCAwIDEtNS42NTYgMCA0IDQgMCAwIDEgMC01LjY1NyA0IDQgMCAwIDEgNS42NTYgMCIgLz4KICA8cGF0aCBkPSJNNCAzYTEgMSAwIDAgMSAxLTEgMS4zIDEuMyAwIDAgMSAuNy4ybC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzQtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzNC42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNkExLjMgMS4zIDAgMCAxIDE5IDJhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxIDEuMyAxLjMgMCAwIDEtLjctLjJsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzNC42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzQtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtLjcuMiAxIDEgMCAwIDEtMS0xeiIgLz4KICA8cGF0aCBkPSJNOCAxMmg1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/receipt-euro\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideReceiptEuro = /*#__PURE__*/(() => {\n  class LucideReceiptEuro extends LucideIconBase {\n    static icon = {\n      name: 'receipt-euro',\n      size: 24,\n      node: [['path', {\n        d: 'M15.828 14.829a4 4 0 0 1-5.656 0 4 4 0 0 1 0-5.657 4 4 0 0 1 5.656 0',\n        key: '16zdw4'\n      }], ['path', {\n        d: 'M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z',\n        key: 'ycz6yz'\n      }], ['path', {\n        d: 'M8 12h5',\n        key: '1g6qi8'\n      }]]\n    };\n    icon = signal(LucideReceiptEuro.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideReceiptEuro_BaseFactory;\n      return function LucideReceiptEuro_Factory(__ngFactoryType__) {\n        return (ɵLucideReceiptEuro_BaseFactory || (ɵLucideReceiptEuro_BaseFactory = i0.ɵɵgetInheritedFactory(LucideReceiptEuro)))(__ngFactoryType__ || LucideReceiptEuro);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideReceiptEuro,\n      selectors: [[\"svg\", \"lucideReceiptEuro\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1197,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideReceiptEuro_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideReceiptEuro_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideReceiptEuro;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ReceiptIndianRupee\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAzYTEgMSAwIDAgMSAxLTEgMS4zIDEuMyAwIDAgMSAuNy4ybC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzQtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzNC42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNkExLjMgMS4zIDAgMCAxIDE5IDJhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxIDEuMyAxLjMgMCAwIDEtLjctLjJsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzNC42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzQtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtLjcuMiAxIDEgMCAwIDEtMS0xeiIgLz4KICA8cGF0aCBkPSJNOCAxMWg4IiAvPgogIDxwYXRoIGQ9Ik04IDdoOCIgLz4KICA8cGF0aCBkPSJNOSA3YTQgNCAwIDAgMSAwIDhIOGwzIDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/receipt-indian-rupee\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideReceiptIndianRupee = /*#__PURE__*/(() => {\n  class LucideReceiptIndianRupee extends LucideIconBase {\n    static icon = {\n      name: 'receipt-indian-rupee',\n      size: 24,\n      node: [['path', {\n        d: 'M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z',\n        key: 'ycz6yz'\n      }], ['path', {\n        d: 'M8 11h8',\n        key: 'vwpz6n'\n      }], ['path', {\n        d: 'M8 7h8',\n        key: 'i86dvs'\n      }], ['path', {\n        d: 'M9 7a4 4 0 0 1 0 8H8l3 2',\n        key: '1xaco0'\n      }]]\n    };\n    icon = signal(LucideReceiptIndianRupee.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideReceiptIndianRupee_BaseFactory;\n      return function LucideReceiptIndianRupee_Factory(__ngFactoryType__) {\n        return (ɵLucideReceiptIndianRupee_BaseFactory || (ɵLucideReceiptIndianRupee_BaseFactory = i0.ɵɵgetInheritedFactory(LucideReceiptIndianRupee)))(__ngFactoryType__ || LucideReceiptIndianRupee);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideReceiptIndianRupee,\n      selectors: [[\"svg\", \"lucideReceiptIndianRupee\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1198,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideReceiptIndianRupee_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideReceiptIndianRupee_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideReceiptIndianRupee;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ReceiptJapaneseYen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIgMTAgMy0zIiAvPgogIDxwYXRoIGQ9Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6IiAvPgogIDxwYXRoIGQ9Ik05IDExaDYiIC8+CiAgPHBhdGggZD0iTTkgMTVoNiIgLz4KICA8cGF0aCBkPSJtOSA3IDMgM3Y3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/receipt-japanese-yen\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideReceiptJapaneseYen = /*#__PURE__*/(() => {\n  class LucideReceiptJapaneseYen extends LucideIconBase {\n    static icon = {\n      name: 'receipt-japanese-yen',\n      size: 24,\n      node: [['path', {\n        d: 'm12 10 3-3',\n        key: '1mc12w'\n      }], ['path', {\n        d: 'M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z',\n        key: 'ycz6yz'\n      }], ['path', {\n        d: 'M9 11h6',\n        key: '1fldmi'\n      }], ['path', {\n        d: 'M9 15h6',\n        key: 'cctwl0'\n      }], ['path', {\n        d: 'm9 7 3 3v7',\n        key: '1x0cue'\n      }]]\n    };\n    icon = signal(LucideReceiptJapaneseYen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideReceiptJapaneseYen_BaseFactory;\n      return function LucideReceiptJapaneseYen_Factory(__ngFactoryType__) {\n        return (ɵLucideReceiptJapaneseYen_BaseFactory || (ɵLucideReceiptJapaneseYen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideReceiptJapaneseYen)))(__ngFactoryType__ || LucideReceiptJapaneseYen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideReceiptJapaneseYen,\n      selectors: [[\"svg\", \"lucideReceiptJapaneseYen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1199,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideReceiptJapaneseYen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideReceiptJapaneseYen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideReceiptJapaneseYen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ReceiptPoundSterling\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTdWOS41YTEgMSAwIDAgMSA1IDAiIC8+CiAgPHBhdGggZD0iTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoiIC8+CiAgPHBhdGggZD0iTTggMTNoNSIgLz4KICA8cGF0aCBkPSJNOCAxN2g3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/receipt-pound-sterling\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideReceiptPoundSterling = /*#__PURE__*/(() => {\n  class LucideReceiptPoundSterling extends LucideIconBase {\n    static icon = {\n      name: 'receipt-pound-sterling',\n      size: 24,\n      node: [['path', {\n        d: 'M10 17V9.5a1 1 0 0 1 5 0',\n        key: 'td22vl'\n      }], ['path', {\n        d: 'M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z',\n        key: 'ycz6yz'\n      }], ['path', {\n        d: 'M8 13h5',\n        key: '1k9z8w'\n      }], ['path', {\n        d: 'M8 17h7',\n        key: '8mjdqu'\n      }]]\n    };\n    icon = signal(LucideReceiptPoundSterling.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideReceiptPoundSterling_BaseFactory;\n      return function LucideReceiptPoundSterling_Factory(__ngFactoryType__) {\n        return (ɵLucideReceiptPoundSterling_BaseFactory || (ɵLucideReceiptPoundSterling_BaseFactory = i0.ɵɵgetInheritedFactory(LucideReceiptPoundSterling)))(__ngFactoryType__ || LucideReceiptPoundSterling);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideReceiptPoundSterling,\n      selectors: [[\"svg\", \"lucideReceiptPoundSterling\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1200,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideReceiptPoundSterling_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideReceiptPoundSterling_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideReceiptPoundSterling;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ReceiptRussianRuble\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAzYTEgMSAwIDAgMSAxLTEgMS4zIDEuMyAwIDAgMSAuNy4ybC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzQtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzNC42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNkExLjMgMS4zIDAgMCAxIDE5IDJhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxIDEuMyAxLjMgMCAwIDEtLjctLjJsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzNC42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzQtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtLjcuMiAxIDEgMCAwIDEtMS0xeiIgLz4KICA8cGF0aCBkPSJNOCAxMWg1YTIgMiAwIDAgMCAwLTRoLTN2MTAiIC8+CiAgPHBhdGggZD0iTTggMTVoNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/receipt-russian-ruble\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideReceiptRussianRuble = /*#__PURE__*/(() => {\n  class LucideReceiptRussianRuble extends LucideIconBase {\n    static icon = {\n      name: 'receipt-russian-ruble',\n      size: 24,\n      node: [['path', {\n        d: 'M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z',\n        key: 'ycz6yz'\n      }], ['path', {\n        d: 'M8 11h5a2 2 0 0 0 0-4h-3v10',\n        key: 'agnv0r'\n      }], ['path', {\n        d: 'M8 15h5',\n        key: 'vxg57a'\n      }]]\n    };\n    icon = signal(LucideReceiptRussianRuble.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideReceiptRussianRuble_BaseFactory;\n      return function LucideReceiptRussianRuble_Factory(__ngFactoryType__) {\n        return (ɵLucideReceiptRussianRuble_BaseFactory || (ɵLucideReceiptRussianRuble_BaseFactory = i0.ɵɵgetInheritedFactory(LucideReceiptRussianRuble)))(__ngFactoryType__ || LucideReceiptRussianRuble);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideReceiptRussianRuble,\n      selectors: [[\"svg\", \"lucideReceiptRussianRuble\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1201,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideReceiptRussianRuble_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideReceiptRussianRuble_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideReceiptRussianRuble;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ReceiptTurkishLira\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgN3YxMGE1IDUgMCAwIDAgNS01IiAvPgogIDxwYXRoIGQ9Im0xNCA4LTYgMyIgLz4KICA8cGF0aCBkPSJNNCAzYTEgMSAwIDAgMSAxLTEgMS4zIDEuMyAwIDAgMSAuNy4ybC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzQtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzNC42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNkExLjMgMS4zIDAgMCAxIDE5IDJhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxIDEuMyAxLjMgMCAwIDEtLjctLjJsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzNC42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzQtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtLjcuMiAxIDEgMCAwIDEtMS0xeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/receipt-turkish-lira\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideReceiptTurkishLira = /*#__PURE__*/(() => {\n  class LucideReceiptTurkishLira extends LucideIconBase {\n    static icon = {\n      name: 'receipt-turkish-lira',\n      size: 24,\n      node: [['path', {\n        d: 'M10 7v10a5 5 0 0 0 5-5',\n        key: '1blmz7'\n      }], ['path', {\n        d: 'm14 8-6 3',\n        key: '2tb98i'\n      }], ['path', {\n        d: 'M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z',\n        key: 'ycz6yz'\n      }]]\n    };\n    icon = signal(LucideReceiptTurkishLira.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideReceiptTurkishLira_BaseFactory;\n      return function LucideReceiptTurkishLira_Factory(__ngFactoryType__) {\n        return (ɵLucideReceiptTurkishLira_BaseFactory || (ɵLucideReceiptTurkishLira_BaseFactory = i0.ɵɵgetInheritedFactory(LucideReceiptTurkishLira)))(__ngFactoryType__ || LucideReceiptTurkishLira);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideReceiptTurkishLira,\n      selectors: [[\"svg\", \"lucideReceiptTurkishLira\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1202,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideReceiptTurkishLira_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideReceiptTurkishLira_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideReceiptTurkishLira;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ReceiptText\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMTZIOCIgLz4KICA8cGF0aCBkPSJNMTQgOEg4IiAvPgogIDxwYXRoIGQ9Ik0xNiAxMkg4IiAvPgogIDxwYXRoIGQ9Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/receipt-text\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideReceiptText = /*#__PURE__*/(() => {\n  class LucideReceiptText extends LucideIconBase {\n    static icon = {\n      name: 'receipt-text',\n      size: 24,\n      node: [['path', {\n        d: 'M13 16H8',\n        key: 'wsln4y'\n      }], ['path', {\n        d: 'M14 8H8',\n        key: '1l3xfs'\n      }], ['path', {\n        d: 'M16 12H8',\n        key: '1fr5h0'\n      }], ['path', {\n        d: 'M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z',\n        key: 'ycz6yz'\n      }]]\n    };\n    icon = signal(LucideReceiptText.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideReceiptText_BaseFactory;\n      return function LucideReceiptText_Factory(__ngFactoryType__) {\n        return (ɵLucideReceiptText_BaseFactory || (ɵLucideReceiptText_BaseFactory = i0.ɵɵgetInheritedFactory(LucideReceiptText)))(__ngFactoryType__ || LucideReceiptText);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideReceiptText,\n      selectors: [[\"svg\", \"lucideReceiptText\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1203,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideReceiptText_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideReceiptText_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideReceiptText;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ReceiptSwissFranc\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTFoNCIgLz4KICA8cGF0aCBkPSJNMTAgMTdWN2g1IiAvPgogIDxwYXRoIGQ9Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6IiAvPgogIDxwYXRoIGQ9Ik04IDE1aDUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/receipt-swiss-franc\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideReceiptSwissFranc = /*#__PURE__*/(() => {\n  class LucideReceiptSwissFranc extends LucideIconBase {\n    static icon = {\n      name: 'receipt-swiss-franc',\n      size: 24,\n      node: [['path', {\n        d: 'M10 11h4',\n        key: '1i0mka'\n      }], ['path', {\n        d: 'M10 17V7h5',\n        key: 'k7jq18'\n      }], ['path', {\n        d: 'M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z',\n        key: 'ycz6yz'\n      }], ['path', {\n        d: 'M8 15h5',\n        key: 'vxg57a'\n      }]]\n    };\n    icon = signal(LucideReceiptSwissFranc.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideReceiptSwissFranc_BaseFactory;\n      return function LucideReceiptSwissFranc_Factory(__ngFactoryType__) {\n        return (ɵLucideReceiptSwissFranc_BaseFactory || (ɵLucideReceiptSwissFranc_BaseFactory = i0.ɵɵgetInheritedFactory(LucideReceiptSwissFranc)))(__ngFactoryType__ || LucideReceiptSwissFranc);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideReceiptSwissFranc,\n      selectors: [[\"svg\", \"lucideReceiptSwissFranc\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1204,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideReceiptSwissFranc_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideReceiptSwissFranc_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideReceiptSwissFranc;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Receipt\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTdWNyIgLz4KICA8cGF0aCBkPSJNMTYgOGgtNmEyIDIgMCAwIDAgMCA0aDRhMiAyIDAgMCAxIDAgNEg4IiAvPgogIDxwYXRoIGQ9Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/receipt\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideReceipt = /*#__PURE__*/(() => {\n  class LucideReceipt extends LucideIconBase {\n    static icon = {\n      name: 'receipt',\n      size: 24,\n      node: [['path', {\n        d: 'M12 17V7',\n        key: 'pyj7ub'\n      }], ['path', {\n        d: 'M16 8h-6a2 2 0 0 0 0 4h4a2 2 0 0 1 0 4H8',\n        key: '1elt7d'\n      }], ['path', {\n        d: 'M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z',\n        key: 'ycz6yz'\n      }]]\n    };\n    icon = signal(LucideReceipt.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideReceipt_BaseFactory;\n      return function LucideReceipt_Factory(__ngFactoryType__) {\n        return (ɵLucideReceipt_BaseFactory || (ɵLucideReceipt_BaseFactory = i0.ɵɵgetInheritedFactory(LucideReceipt)))(__ngFactoryType__ || LucideReceipt);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideReceipt,\n      selectors: [[\"svg\", \"lucideReceipt\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1205,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideReceipt_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideReceipt_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideReceipt;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RectangleGoggles\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNmEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMmgtNGEyIDIgMCAwIDEtMS42LS44bC0xLjYtMi4xM2ExIDEgMCAwIDAtMS42IDBMOS42IDE3LjJBMiAyIDAgMCAxIDggMThINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/rectangle-goggles\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRectangleGoggles = /*#__PURE__*/(() => {\n  class LucideRectangleGoggles extends LucideIconBase {\n    static icon = {\n      name: 'rectangle-goggles',\n      size: 24,\n      node: [['path', {\n        d: 'M20 6a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-4a2 2 0 0 1-1.6-.8l-1.6-2.13a1 1 0 0 0-1.6 0L9.6 17.2A2 2 0 0 1 8 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z',\n        key: 'd5y1f'\n      }]]\n    };\n    icon = signal(LucideRectangleGoggles.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRectangleGoggles_BaseFactory;\n      return function LucideRectangleGoggles_Factory(__ngFactoryType__) {\n        return (ɵLucideRectangleGoggles_BaseFactory || (ɵLucideRectangleGoggles_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRectangleGoggles)))(__ngFactoryType__ || LucideRectangleGoggles);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRectangleGoggles,\n      selectors: [[\"svg\", \"lucideRectangleGoggles\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1206,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRectangleGoggles_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRectangleGoggles_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRectangleGoggles;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RectangleCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgNHYxNkgzYTEgMSAwIDAgMS0xLTFWNWExIDEgMCAwIDEgMS0xeiIgLz4KICA8Y2lyY2xlIGN4PSIxNCIgY3k9IjEyIiByPSI4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/rectangle-circle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRectangleCircle = /*#__PURE__*/(() => {\n  class LucideRectangleCircle extends LucideIconBase {\n    static icon = {\n      name: 'rectangle-circle',\n      size: 24,\n      node: [['path', {\n        d: 'M14 4v16H3a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1z',\n        key: '1m5n7q'\n      }], ['circle', {\n        cx: '14',\n        cy: '12',\n        r: '8',\n        key: '1pag6k'\n      }]]\n    };\n    icon = signal(LucideRectangleCircle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRectangleCircle_BaseFactory;\n      return function LucideRectangleCircle_Factory(__ngFactoryType__) {\n        return (ɵLucideRectangleCircle_BaseFactory || (ɵLucideRectangleCircle_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRectangleCircle)))(__ngFactoryType__ || LucideRectangleCircle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRectangleCircle,\n      selectors: [[\"svg\", \"lucideRectangleCircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1207,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRectangleCircle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRectangleCircle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRectangleCircle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RectangleEllipsis\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTIiIHg9IjIiIHk9IjYiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xMiAxMmguMDEiIC8+CiAgPHBhdGggZD0iTTE3IDEyaC4wMSIgLz4KICA8cGF0aCBkPSJNNyAxMmguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/rectangle-ellipsis\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRectangleEllipsis = /*#__PURE__*/(() => {\n  class LucideRectangleEllipsis extends LucideIconBase {\n    static icon = {\n      name: 'rectangle-ellipsis',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '12',\n        x: '2',\n        y: '6',\n        rx: '2',\n        key: '9lu3g6'\n      }], ['path', {\n        d: 'M12 12h.01',\n        key: '1mp3jc'\n      }], ['path', {\n        d: 'M17 12h.01',\n        key: '1m0b6t'\n      }], ['path', {\n        d: 'M7 12h.01',\n        key: 'eqddd0'\n      }]],\n      aliases: ['form-input']\n    };\n    icon = signal(LucideRectangleEllipsis.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRectangleEllipsis_BaseFactory;\n      return function LucideRectangleEllipsis_Factory(__ngFactoryType__) {\n        return (ɵLucideRectangleEllipsis_BaseFactory || (ɵLucideRectangleEllipsis_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRectangleEllipsis)))(__ngFactoryType__ || LucideRectangleEllipsis);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRectangleEllipsis,\n      selectors: [[\"svg\", \"lucideRectangleEllipsis\", \"\"], [\"svg\", \"lucideFormInput\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1208,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRectangleEllipsis_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRectangleEllipsis_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRectangleEllipsis;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideRectangleEllipsis\n */\nconst LucideFormInput = LucideRectangleEllipsis;\n\n/**\n * @component @name RectangleHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTIiIHg9IjIiIHk9IjYiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/rectangle-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRectangleHorizontal = /*#__PURE__*/(() => {\n  class LucideRectangleHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'rectangle-horizontal',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '12',\n        x: '2',\n        y: '6',\n        rx: '2',\n        key: '9lu3g6'\n      }]]\n    };\n    icon = signal(LucideRectangleHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRectangleHorizontal_BaseFactory;\n      return function LucideRectangleHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideRectangleHorizontal_BaseFactory || (ɵLucideRectangleHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRectangleHorizontal)))(__ngFactoryType__ || LucideRectangleHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRectangleHorizontal,\n      selectors: [[\"svg\", \"lucideRectangleHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1209,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRectangleHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRectangleHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRectangleHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RectangleVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTIiIGhlaWdodD0iMjAiIHg9IjYiIHk9IjIiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/rectangle-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRectangleVertical = /*#__PURE__*/(() => {\n  class LucideRectangleVertical extends LucideIconBase {\n    static icon = {\n      name: 'rectangle-vertical',\n      size: 24,\n      node: [['rect', {\n        width: '12',\n        height: '20',\n        x: '6',\n        y: '2',\n        rx: '2',\n        key: '1oxtiu'\n      }]]\n    };\n    icon = signal(LucideRectangleVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRectangleVertical_BaseFactory;\n      return function LucideRectangleVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideRectangleVertical_BaseFactory || (ɵLucideRectangleVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRectangleVertical)))(__ngFactoryType__ || LucideRectangleVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRectangleVertical,\n      selectors: [[\"svg\", \"lucideRectangleVertical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1210,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRectangleVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRectangleVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRectangleVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Recycle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAxOUg0LjgxNWExLjgzIDEuODMgMCAwIDEtMS41Ny0uODgxIDEuNzg1IDEuNzg1IDAgMCAxLS4wMDQtMS43ODRMNy4xOTYgOS41IiAvPgogIDxwYXRoIGQ9Ik0xMSAxOWg4LjIwM2ExLjgzIDEuODMgMCAwIDAgMS41NTYtLjg5IDEuNzg0IDEuNzg0IDAgMCAwIDAtMS43NzVsLTEuMjI2LTIuMTIiIC8+CiAgPHBhdGggZD0ibTE0IDE2LTMgMyAzIDMiIC8+CiAgPHBhdGggZD0iTTguMjkzIDEzLjU5NiA3LjE5NiA5LjUgMy4xIDEwLjU5OCIgLz4KICA8cGF0aCBkPSJtOS4zNDQgNS44MTEgMS4wOTMtMS44OTJBMS44MyAxLjgzIDAgMCAxIDExLjk4NSAzYTEuNzg0IDEuNzg0IDAgMCAxIDEuNTQ2Ljg4OGwzLjk0MyA2Ljg0MyIgLz4KICA8cGF0aCBkPSJtMTMuMzc4IDkuNjMzIDQuMDk2IDEuMDk4IDEuMDk3LTQuMDk2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/recycle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRecycle = /*#__PURE__*/(() => {\n  class LucideRecycle extends LucideIconBase {\n    static icon = {\n      name: 'recycle',\n      size: 24,\n      node: [['path', {\n        d: 'M7 19H4.815a1.83 1.83 0 0 1-1.57-.881 1.785 1.785 0 0 1-.004-1.784L7.196 9.5',\n        key: 'x6z5xu'\n      }], ['path', {\n        d: 'M11 19h8.203a1.83 1.83 0 0 0 1.556-.89 1.784 1.784 0 0 0 0-1.775l-1.226-2.12',\n        key: '1x4zh5'\n      }], ['path', {\n        d: 'm14 16-3 3 3 3',\n        key: 'f6jyew'\n      }], ['path', {\n        d: 'M8.293 13.596 7.196 9.5 3.1 10.598',\n        key: 'wf1obh'\n      }], ['path', {\n        d: 'm9.344 5.811 1.093-1.892A1.83 1.83 0 0 1 11.985 3a1.784 1.784 0 0 1 1.546.888l3.943 6.843',\n        key: '9tzpgr'\n      }], ['path', {\n        d: 'm13.378 9.633 4.096 1.098 1.097-4.096',\n        key: '1oe83g'\n      }]]\n    };\n    icon = signal(LucideRecycle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRecycle_BaseFactory;\n      return function LucideRecycle_Factory(__ngFactoryType__) {\n        return (ɵLucideRecycle_BaseFactory || (ɵLucideRecycle_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRecycle)))(__ngFactoryType__ || LucideRecycle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRecycle,\n      selectors: [[\"svg\", \"lucideRecycle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1211,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRecycle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRecycle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRecycle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Redo2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMTQgNS01LTUtNSIgLz4KICA8cGF0aCBkPSJNMjAgOUg5LjVBNS41IDUuNSAwIDAgMCA0IDE0LjVBNS41IDUuNSAwIDAgMCA5LjUgMjBIMTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/redo-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRedo2 = /*#__PURE__*/(() => {\n  class LucideRedo2 extends LucideIconBase {\n    static icon = {\n      name: 'redo-2',\n      size: 24,\n      node: [['path', {\n        d: 'm15 14 5-5-5-5',\n        key: '12vg1m'\n      }], ['path', {\n        d: 'M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13',\n        key: '6uklza'\n      }]]\n    };\n    icon = signal(LucideRedo2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRedo2_BaseFactory;\n      return function LucideRedo2_Factory(__ngFactoryType__) {\n        return (ɵLucideRedo2_BaseFactory || (ɵLucideRedo2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRedo2)))(__ngFactoryType__ || LucideRedo2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRedo2,\n      selectors: [[\"svg\", \"lucideRedo2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1212,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRedo2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRedo2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRedo2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RedoDot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE3IiByPSIxIiAvPgogIDxwYXRoIGQ9Ik0yMSA3djZoLTYiIC8+CiAgPHBhdGggZD0iTTMgMTdhOSA5IDAgMCAxIDktOSA5IDkgMCAwIDEgNiAyLjNsMyAyLjciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/redo-dot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRedoDot = /*#__PURE__*/(() => {\n  class LucideRedoDot extends LucideIconBase {\n    static icon = {\n      name: 'redo-dot',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '17',\n        r: '1',\n        key: '1ixnty'\n      }], ['path', {\n        d: 'M21 7v6h-6',\n        key: '3ptur4'\n      }], ['path', {\n        d: 'M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7',\n        key: '1kgawr'\n      }]]\n    };\n    icon = signal(LucideRedoDot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRedoDot_BaseFactory;\n      return function LucideRedoDot_Factory(__ngFactoryType__) {\n        return (ɵLucideRedoDot_BaseFactory || (ɵLucideRedoDot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRedoDot)))(__ngFactoryType__ || LucideRedoDot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRedoDot,\n      selectors: [[\"svg\", \"lucideRedoDot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1213,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRedoDot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRedoDot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRedoDot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Redo\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgN3Y2aC02IiAvPgogIDxwYXRoIGQ9Ik0zIDE3YTkgOSAwIDAgMSA5LTkgOSA5IDAgMCAxIDYgMi4zbDMgMi43IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/redo\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRedo = /*#__PURE__*/(() => {\n  class LucideRedo extends LucideIconBase {\n    static icon = {\n      name: 'redo',\n      size: 24,\n      node: [['path', {\n        d: 'M21 7v6h-6',\n        key: '3ptur4'\n      }], ['path', {\n        d: 'M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7',\n        key: '1kgawr'\n      }]]\n    };\n    icon = signal(LucideRedo.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRedo_BaseFactory;\n      return function LucideRedo_Factory(__ngFactoryType__) {\n        return (ɵLucideRedo_BaseFactory || (ɵLucideRedo_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRedo)))(__ngFactoryType__ || LucideRedo);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRedo,\n      selectors: [[\"svg\", \"lucideRedo\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1214,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRedo_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRedo_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRedo;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RefreshCcw\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMCAwLTktOSA5Ljc1IDkuNzUgMCAwIDAtNi43NCAyLjc0TDMgOCIgLz4KICA8cGF0aCBkPSJNMyAzdjVoNSIgLz4KICA8cGF0aCBkPSJNMyAxMmE5IDkgMCAwIDAgOSA5IDkuNzUgOS43NSAwIDAgMCA2Ljc0LTIuNzRMMjEgMTYiIC8+CiAgPHBhdGggZD0iTTE2IDE2aDV2NSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/refresh-ccw\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRefreshCcw = /*#__PURE__*/(() => {\n  class LucideRefreshCcw extends LucideIconBase {\n    static icon = {\n      name: 'refresh-ccw',\n      size: 24,\n      node: [['path', {\n        d: 'M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8',\n        key: '14sxne'\n      }], ['path', {\n        d: 'M3 3v5h5',\n        key: '1xhq8a'\n      }], ['path', {\n        d: 'M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16',\n        key: '1hlbsb'\n      }], ['path', {\n        d: 'M16 16h5v5',\n        key: 'ccwih5'\n      }]]\n    };\n    icon = signal(LucideRefreshCcw.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRefreshCcw_BaseFactory;\n      return function LucideRefreshCcw_Factory(__ngFactoryType__) {\n        return (ɵLucideRefreshCcw_BaseFactory || (ɵLucideRefreshCcw_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRefreshCcw)))(__ngFactoryType__ || LucideRefreshCcw);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRefreshCcw,\n      selectors: [[\"svg\", \"lucideRefreshCcw\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1215,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRefreshCcw_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRefreshCcw_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRefreshCcw;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RefreshCcwDot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMCAwLTktOSA5Ljc1IDkuNzUgMCAwIDAtNi43NCAyLjc0TDMgOCIgLz4KICA8cGF0aCBkPSJNMyAzdjVoNSIgLz4KICA8cGF0aCBkPSJNMyAxMmE5IDkgMCAwIDAgOSA5IDkuNzUgOS43NSAwIDAgMCA2Ljc0LTIuNzRMMjEgMTYiIC8+CiAgPHBhdGggZD0iTTE2IDE2aDV2NSIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/refresh-ccw-dot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRefreshCcwDot = /*#__PURE__*/(() => {\n  class LucideRefreshCcwDot extends LucideIconBase {\n    static icon = {\n      name: 'refresh-ccw-dot',\n      size: 24,\n      node: [['path', {\n        d: 'M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8',\n        key: '14sxne'\n      }], ['path', {\n        d: 'M3 3v5h5',\n        key: '1xhq8a'\n      }], ['path', {\n        d: 'M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16',\n        key: '1hlbsb'\n      }], ['path', {\n        d: 'M16 16h5v5',\n        key: 'ccwih5'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '1',\n        key: '41hilf'\n      }]]\n    };\n    icon = signal(LucideRefreshCcwDot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRefreshCcwDot_BaseFactory;\n      return function LucideRefreshCcwDot_Factory(__ngFactoryType__) {\n        return (ɵLucideRefreshCcwDot_BaseFactory || (ɵLucideRefreshCcwDot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRefreshCcwDot)))(__ngFactoryType__ || LucideRefreshCcwDot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRefreshCcwDot,\n      selectors: [[\"svg\", \"lucideRefreshCcwDot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1216,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRefreshCcwDot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRefreshCcwDot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRefreshCcwDot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RefreshCwOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgOEwxOC43NCA1Ljc0QTkuNzUgOS43NSAwIDAgMCAxMiAzQzExIDMgMTAuMDMgMy4xNiA5LjEzIDMuNDciIC8+CiAgPHBhdGggZD0iTTggMTZIM3Y1IiAvPgogIDxwYXRoIGQ9Ik0zIDEyQzMgOS41MSA0IDcuMjYgNS42NCA1LjY0IiAvPgogIDxwYXRoIGQ9Im0zIDE2IDIuMjYgMi4yNkE5Ljc1IDkuNzUgMCAwIDAgMTIgMjFjMi40OSAwIDQuNzQtMSA2LjM2LTIuNjQiIC8+CiAgPHBhdGggZD0iTTIxIDEyYzAgMS0uMTYgMS45Ny0uNDcgMi44NyIgLz4KICA8cGF0aCBkPSJNMjEgM3Y1aC01IiAvPgogIDxwYXRoIGQ9Ik0yMiAyMiAyIDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/refresh-cw-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRefreshCwOff = /*#__PURE__*/(() => {\n  class LucideRefreshCwOff extends LucideIconBase {\n    static icon = {\n      name: 'refresh-cw-off',\n      size: 24,\n      node: [['path', {\n        d: 'M21 8L18.74 5.74A9.75 9.75 0 0 0 12 3C11 3 10.03 3.16 9.13 3.47',\n        key: '1krf6h'\n      }], ['path', {\n        d: 'M8 16H3v5',\n        key: '1cv678'\n      }], ['path', {\n        d: 'M3 12C3 9.51 4 7.26 5.64 5.64',\n        key: 'ruvoct'\n      }], ['path', {\n        d: 'm3 16 2.26 2.26A9.75 9.75 0 0 0 12 21c2.49 0 4.74-1 6.36-2.64',\n        key: '19q130'\n      }], ['path', {\n        d: 'M21 12c0 1-.16 1.97-.47 2.87',\n        key: '4w8emr'\n      }], ['path', {\n        d: 'M21 3v5h-5',\n        key: '1q7to0'\n      }], ['path', {\n        d: 'M22 22 2 2',\n        key: '1r8tn9'\n      }]]\n    };\n    icon = signal(LucideRefreshCwOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRefreshCwOff_BaseFactory;\n      return function LucideRefreshCwOff_Factory(__ngFactoryType__) {\n        return (ɵLucideRefreshCwOff_BaseFactory || (ɵLucideRefreshCwOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRefreshCwOff)))(__ngFactoryType__ || LucideRefreshCwOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRefreshCwOff,\n      selectors: [[\"svg\", \"lucideRefreshCwOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1217,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRefreshCwOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRefreshCwOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRefreshCwOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Refrigerator\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSA2YTQgNCAwIDAgMSA0LTRoNmE0IDQgMCAwIDEgNCA0djE0YTIgMiAwIDAgMS0yIDJIN2EyIDIgMCAwIDEtMi0yVjZaIiAvPgogIDxwYXRoIGQ9Ik01IDEwaDE0IiAvPgogIDxwYXRoIGQ9Ik0xNSA3djYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/refrigerator\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRefrigerator = /*#__PURE__*/(() => {\n  class LucideRefrigerator extends LucideIconBase {\n    static icon = {\n      name: 'refrigerator',\n      size: 24,\n      node: [['path', {\n        d: 'M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6Z',\n        key: 'fpq118'\n      }], ['path', {\n        d: 'M5 10h14',\n        key: 'elsbfy'\n      }], ['path', {\n        d: 'M15 7v6',\n        key: '1nx30x'\n      }]]\n    };\n    icon = signal(LucideRefrigerator.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRefrigerator_BaseFactory;\n      return function LucideRefrigerator_Factory(__ngFactoryType__) {\n        return (ɵLucideRefrigerator_BaseFactory || (ɵLucideRefrigerator_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRefrigerator)))(__ngFactoryType__ || LucideRefrigerator);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRefrigerator,\n      selectors: [[\"svg\", \"lucideRefrigerator\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1218,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRefrigerator_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRefrigerator_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRefrigerator;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Regex\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgM3YxMCIgLz4KICA8cGF0aCBkPSJtMTIuNjcgNS41IDguNjYgNSIgLz4KICA8cGF0aCBkPSJtMTIuNjcgMTAuNSA4LjY2LTUiIC8+CiAgPHBhdGggZD0iTTkgMTdhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MmEyIDIgMCAwIDAgMiAyaDJhMiAyIDAgMCAwIDItMnYtMnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/regex\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRegex = /*#__PURE__*/(() => {\n  class LucideRegex extends LucideIconBase {\n    static icon = {\n      name: 'regex',\n      size: 24,\n      node: [['path', {\n        d: 'M17 3v10',\n        key: '15fgeh'\n      }], ['path', {\n        d: 'm12.67 5.5 8.66 5',\n        key: '1gpheq'\n      }], ['path', {\n        d: 'm12.67 10.5 8.66-5',\n        key: '1dkfa6'\n      }], ['path', {\n        d: 'M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z',\n        key: 'swwfx4'\n      }]]\n    };\n    icon = signal(LucideRegex.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRegex_BaseFactory;\n      return function LucideRegex_Factory(__ngFactoryType__) {\n        return (ɵLucideRegex_BaseFactory || (ɵLucideRegex_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRegex)))(__ngFactoryType__ || LucideRegex);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRegex,\n      selectors: [[\"svg\", \"lucideRegex\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1219,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRegex_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRegex_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRegex;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RefreshCw\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAxMmE5IDkgMCAwIDEgOS05IDkuNzUgOS43NSAwIDAgMSA2Ljc0IDIuNzRMMjEgOCIgLz4KICA8cGF0aCBkPSJNMjEgM3Y1aC01IiAvPgogIDxwYXRoIGQ9Ik0yMSAxMmE5IDkgMCAwIDEtOSA5IDkuNzUgOS43NSAwIDAgMS02Ljc0LTIuNzRMMyAxNiIgLz4KICA8cGF0aCBkPSJNOCAxNkgzdjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/refresh-cw\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRefreshCw = /*#__PURE__*/(() => {\n  class LucideRefreshCw extends LucideIconBase {\n    static icon = {\n      name: 'refresh-cw',\n      size: 24,\n      node: [['path', {\n        d: 'M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8',\n        key: 'v9h5vc'\n      }], ['path', {\n        d: 'M21 3v5h-5',\n        key: '1q7to0'\n      }], ['path', {\n        d: 'M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16',\n        key: '3uifl3'\n      }], ['path', {\n        d: 'M8 16H3v5',\n        key: '1cv678'\n      }]]\n    };\n    icon = signal(LucideRefreshCw.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRefreshCw_BaseFactory;\n      return function LucideRefreshCw_Factory(__ngFactoryType__) {\n        return (ɵLucideRefreshCw_BaseFactory || (ɵLucideRefreshCw_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRefreshCw)))(__ngFactoryType__ || LucideRefreshCw);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRefreshCw,\n      selectors: [[\"svg\", \"lucideRefreshCw\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1220,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRefreshCw_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRefreshCw_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRefreshCw;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RemoveFormatting\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCA3VjRoMTZ2MyIgLz4KICA8cGF0aCBkPSJNNSAyMGg2IiAvPgogIDxwYXRoIGQ9Ik0xMyA0IDggMjAiIC8+CiAgPHBhdGggZD0ibTE1IDE1IDUgNSIgLz4KICA8cGF0aCBkPSJtMjAgMTUtNSA1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/remove-formatting\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRemoveFormatting = /*#__PURE__*/(() => {\n  class LucideRemoveFormatting extends LucideIconBase {\n    static icon = {\n      name: 'remove-formatting',\n      size: 24,\n      node: [['path', {\n        d: 'M4 7V4h16v3',\n        key: '9msm58'\n      }], ['path', {\n        d: 'M5 20h6',\n        key: '1h6pxn'\n      }], ['path', {\n        d: 'M13 4 8 20',\n        key: 'kqq6aj'\n      }], ['path', {\n        d: 'm15 15 5 5',\n        key: 'me55sn'\n      }], ['path', {\n        d: 'm20 15-5 5',\n        key: '11p7ol'\n      }]]\n    };\n    icon = signal(LucideRemoveFormatting.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRemoveFormatting_BaseFactory;\n      return function LucideRemoveFormatting_Factory(__ngFactoryType__) {\n        return (ɵLucideRemoveFormatting_BaseFactory || (ɵLucideRemoveFormatting_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRemoveFormatting)))(__ngFactoryType__ || LucideRemoveFormatting);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRemoveFormatting,\n      selectors: [[\"svg\", \"lucideRemoveFormatting\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1221,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRemoveFormatting_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRemoveFormatting_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRemoveFormatting;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Repeat1\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTcgMiA0IDQtNCA0IiAvPgogIDxwYXRoIGQ9Ik0zIDExdi0xYTQgNCAwIDAgMSA0LTRoMTQiIC8+CiAgPHBhdGggZD0ibTcgMjItNC00IDQtNCIgLz4KICA8cGF0aCBkPSJNMjEgMTN2MWE0IDQgMCAwIDEtNCA0SDMiIC8+CiAgPHBhdGggZD0iTTExIDEwaDF2NCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/repeat-1\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRepeat1 = /*#__PURE__*/(() => {\n  class LucideRepeat1 extends LucideIconBase {\n    static icon = {\n      name: 'repeat-1',\n      size: 24,\n      node: [['path', {\n        d: 'm17 2 4 4-4 4',\n        key: 'nntrym'\n      }], ['path', {\n        d: 'M3 11v-1a4 4 0 0 1 4-4h14',\n        key: '84bu3i'\n      }], ['path', {\n        d: 'm7 22-4-4 4-4',\n        key: '1wqhfi'\n      }], ['path', {\n        d: 'M21 13v1a4 4 0 0 1-4 4H3',\n        key: '1rx37r'\n      }], ['path', {\n        d: 'M11 10h1v4',\n        key: '70cz1p'\n      }]]\n    };\n    icon = signal(LucideRepeat1.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRepeat1_BaseFactory;\n      return function LucideRepeat1_Factory(__ngFactoryType__) {\n        return (ɵLucideRepeat1_BaseFactory || (ɵLucideRepeat1_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRepeat1)))(__ngFactoryType__ || LucideRepeat1);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRepeat1,\n      selectors: [[\"svg\", \"lucideRepeat1\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1222,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRepeat1_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRepeat1_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRepeat1;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Repeat2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMiA5IDMtMyAzIDMiIC8+CiAgPHBhdGggZD0iTTEzIDE4SDdhMiAyIDAgMCAxLTItMlY2IiAvPgogIDxwYXRoIGQ9Im0yMiAxNS0zIDMtMy0zIiAvPgogIDxwYXRoIGQ9Ik0xMSA2aDZhMiAyIDAgMCAxIDIgMnYxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/repeat-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRepeat2 = /*#__PURE__*/(() => {\n  class LucideRepeat2 extends LucideIconBase {\n    static icon = {\n      name: 'repeat-2',\n      size: 24,\n      node: [['path', {\n        d: 'm2 9 3-3 3 3',\n        key: '1ltn5i'\n      }], ['path', {\n        d: 'M13 18H7a2 2 0 0 1-2-2V6',\n        key: '1r6tfw'\n      }], ['path', {\n        d: 'm22 15-3 3-3-3',\n        key: '4rnwn2'\n      }], ['path', {\n        d: 'M11 6h6a2 2 0 0 1 2 2v10',\n        key: '2f72bc'\n      }]]\n    };\n    icon = signal(LucideRepeat2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRepeat2_BaseFactory;\n      return function LucideRepeat2_Factory(__ngFactoryType__) {\n        return (ɵLucideRepeat2_BaseFactory || (ɵLucideRepeat2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRepeat2)))(__ngFactoryType__ || LucideRepeat2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRepeat2,\n      selectors: [[\"svg\", \"lucideRepeat2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1223,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRepeat2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRepeat2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRepeat2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Repeat\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTcgMiA0IDQtNCA0IiAvPgogIDxwYXRoIGQ9Ik0zIDExdi0xYTQgNCAwIDAgMSA0LTRoMTQiIC8+CiAgPHBhdGggZD0ibTcgMjItNC00IDQtNCIgLz4KICA8cGF0aCBkPSJNMjEgMTN2MWE0IDQgMCAwIDEtNCA0SDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/repeat\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRepeat = /*#__PURE__*/(() => {\n  class LucideRepeat extends LucideIconBase {\n    static icon = {\n      name: 'repeat',\n      size: 24,\n      node: [['path', {\n        d: 'm17 2 4 4-4 4',\n        key: 'nntrym'\n      }], ['path', {\n        d: 'M3 11v-1a4 4 0 0 1 4-4h14',\n        key: '84bu3i'\n      }], ['path', {\n        d: 'm7 22-4-4 4-4',\n        key: '1wqhfi'\n      }], ['path', {\n        d: 'M21 13v1a4 4 0 0 1-4 4H3',\n        key: '1rx37r'\n      }]]\n    };\n    icon = signal(LucideRepeat.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRepeat_BaseFactory;\n      return function LucideRepeat_Factory(__ngFactoryType__) {\n        return (ɵLucideRepeat_BaseFactory || (ɵLucideRepeat_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRepeat)))(__ngFactoryType__ || LucideRepeat);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRepeat,\n      selectors: [[\"svg\", \"lucideRepeat\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1224,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRepeat_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRepeat_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRepeat;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ReplaceAll\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMTRhMSAxIDAgMCAxIDEgMXY1YTEgMSAwIDAgMS0xIDEiIC8+CiAgPHBhdGggZD0iTTE0IDRhMSAxIDAgMCAxIDEtMSIgLz4KICA8cGF0aCBkPSJNMTUgMTBhMSAxIDAgMCAxLTEtMSIgLz4KICA8cGF0aCBkPSJNMTkgMTRhMSAxIDAgMCAxIDEgMXY1YTEgMSAwIDAgMS0xIDEiIC8+CiAgPHBhdGggZD0iTTIxIDRhMSAxIDAgMCAwLTEtMSIgLz4KICA8cGF0aCBkPSJNMjEgOWExIDEgMCAwIDEtMSAxIiAvPgogIDxwYXRoIGQ9Im0zIDcgMyAzIDMtMyIgLz4KICA8cGF0aCBkPSJNNiAxMFY1YTIgMiAwIDAgMSAyLTJoMiIgLz4KICA8cmVjdCB4PSIzIiB5PSIxNCIgd2lkdGg9IjciIGhlaWdodD0iNyIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/replace-all\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideReplaceAll = /*#__PURE__*/(() => {\n  class LucideReplaceAll extends LucideIconBase {\n    static icon = {\n      name: 'replace-all',\n      size: 24,\n      node: [['path', {\n        d: 'M14 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1',\n        key: 'zg1ipl'\n      }], ['path', {\n        d: 'M14 4a1 1 0 0 1 1-1',\n        key: 'dhj8ez'\n      }], ['path', {\n        d: 'M15 10a1 1 0 0 1-1-1',\n        key: '1mnyi5'\n      }], ['path', {\n        d: 'M19 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1',\n        key: 'txt6k4'\n      }], ['path', {\n        d: 'M21 4a1 1 0 0 0-1-1',\n        key: 'sfs9ap'\n      }], ['path', {\n        d: 'M21 9a1 1 0 0 1-1 1',\n        key: 'mp6qeo'\n      }], ['path', {\n        d: 'm3 7 3 3 3-3',\n        key: 'x25e72'\n      }], ['path', {\n        d: 'M6 10V5a2 2 0 0 1 2-2h2',\n        key: '15xut4'\n      }], ['rect', {\n        x: '3',\n        y: '14',\n        width: '7',\n        height: '7',\n        rx: '1',\n        key: '1bkyp8'\n      }]]\n    };\n    icon = signal(LucideReplaceAll.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideReplaceAll_BaseFactory;\n      return function LucideReplaceAll_Factory(__ngFactoryType__) {\n        return (ɵLucideReplaceAll_BaseFactory || (ɵLucideReplaceAll_BaseFactory = i0.ɵɵgetInheritedFactory(LucideReplaceAll)))(__ngFactoryType__ || LucideReplaceAll);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideReplaceAll,\n      selectors: [[\"svg\", \"lucideReplaceAll\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1225,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideReplaceAll_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideReplaceAll_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideReplaceAll;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Reply\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTh2LTJhNCA0IDAgMCAwLTQtNEg0IiAvPgogIDxwYXRoIGQ9Im05IDE3LTUtNSA1LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/reply\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideReply = /*#__PURE__*/(() => {\n  class LucideReply extends LucideIconBase {\n    static icon = {\n      name: 'reply',\n      size: 24,\n      node: [['path', {\n        d: 'M20 18v-2a4 4 0 0 0-4-4H4',\n        key: '5vmcpk'\n      }], ['path', {\n        d: 'm9 17-5-5 5-5',\n        key: 'nvlc11'\n      }]]\n    };\n    icon = signal(LucideReply.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideReply_BaseFactory;\n      return function LucideReply_Factory(__ngFactoryType__) {\n        return (ɵLucideReply_BaseFactory || (ɵLucideReply_BaseFactory = i0.ɵɵgetInheritedFactory(LucideReply)))(__ngFactoryType__ || LucideReply);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideReply,\n      selectors: [[\"svg\", \"lucideReply\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1226,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideReply_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideReply_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideReply;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Replace\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgNGExIDEgMCAwIDEgMS0xIiAvPgogIDxwYXRoIGQ9Ik0xNSAxMGExIDEgMCAwIDEtMS0xIiAvPgogIDxwYXRoIGQ9Ik0yMSA0YTEgMSAwIDAgMC0xLTEiIC8+CiAgPHBhdGggZD0iTTIxIDlhMSAxIDAgMCAxLTEgMSIgLz4KICA8cGF0aCBkPSJtMyA3IDMgMyAzLTMiIC8+CiAgPHBhdGggZD0iTTYgMTBWNWEyIDIgMCAwIDEgMi0yaDIiIC8+CiAgPHJlY3QgeD0iMyIgeT0iMTQiIHdpZHRoPSI3IiBoZWlnaHQ9IjciIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/replace\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideReplace = /*#__PURE__*/(() => {\n  class LucideReplace extends LucideIconBase {\n    static icon = {\n      name: 'replace',\n      size: 24,\n      node: [['path', {\n        d: 'M14 4a1 1 0 0 1 1-1',\n        key: 'dhj8ez'\n      }], ['path', {\n        d: 'M15 10a1 1 0 0 1-1-1',\n        key: '1mnyi5'\n      }], ['path', {\n        d: 'M21 4a1 1 0 0 0-1-1',\n        key: 'sfs9ap'\n      }], ['path', {\n        d: 'M21 9a1 1 0 0 1-1 1',\n        key: 'mp6qeo'\n      }], ['path', {\n        d: 'm3 7 3 3 3-3',\n        key: 'x25e72'\n      }], ['path', {\n        d: 'M6 10V5a2 2 0 0 1 2-2h2',\n        key: '15xut4'\n      }], ['rect', {\n        x: '3',\n        y: '14',\n        width: '7',\n        height: '7',\n        rx: '1',\n        key: '1bkyp8'\n      }]]\n    };\n    icon = signal(LucideReplace.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideReplace_BaseFactory;\n      return function LucideReplace_Factory(__ngFactoryType__) {\n        return (ɵLucideReplace_BaseFactory || (ɵLucideReplace_BaseFactory = i0.ɵɵgetInheritedFactory(LucideReplace)))(__ngFactoryType__ || LucideReplace);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideReplace,\n      selectors: [[\"svg\", \"lucideReplace\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1227,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideReplace_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideReplace_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideReplace;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ReplyAll\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIgMTctNS01IDUtNSIgLz4KICA8cGF0aCBkPSJNMjIgMTh2LTJhNCA0IDAgMCAwLTQtNEg3IiAvPgogIDxwYXRoIGQ9Im03IDE3LTUtNSA1LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/reply-all\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideReplyAll = /*#__PURE__*/(() => {\n  class LucideReplyAll extends LucideIconBase {\n    static icon = {\n      name: 'reply-all',\n      size: 24,\n      node: [['path', {\n        d: 'm12 17-5-5 5-5',\n        key: '1s3y5u'\n      }], ['path', {\n        d: 'M22 18v-2a4 4 0 0 0-4-4H7',\n        key: '1fcyog'\n      }], ['path', {\n        d: 'm7 17-5-5 5-5',\n        key: '1ed8i2'\n      }]]\n    };\n    icon = signal(LucideReplyAll.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideReplyAll_BaseFactory;\n      return function LucideReplyAll_Factory(__ngFactoryType__) {\n        return (ɵLucideReplyAll_BaseFactory || (ɵLucideReplyAll_BaseFactory = i0.ɵɵgetInheritedFactory(LucideReplyAll)))(__ngFactoryType__ || LucideReplyAll);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideReplyAll,\n      selectors: [[\"svg\", \"lucideReplyAll\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1228,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideReplyAll_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideReplyAll_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideReplyAll;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Rewind\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNmEyIDIgMCAwIDAtMy40MTQtMS40MTRsLTYgNmEyIDIgMCAwIDAgMCAyLjgyOGw2IDZBMiAyIDAgMCAwIDEyIDE4eiIgLz4KICA8cGF0aCBkPSJNMjIgNmEyIDIgMCAwIDAtMy40MTQtMS40MTRsLTYgNmEyIDIgMCAwIDAgMCAyLjgyOGw2IDZBMiAyIDAgMCAwIDIyIDE4eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/rewind\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRewind = /*#__PURE__*/(() => {\n  class LucideRewind extends LucideIconBase {\n    static icon = {\n      name: 'rewind',\n      size: 24,\n      node: [['path', {\n        d: 'M12 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 12 18z',\n        key: '2a1g8i'\n      }], ['path', {\n        d: 'M22 6a2 2 0 0 0-3.414-1.414l-6 6a2 2 0 0 0 0 2.828l6 6A2 2 0 0 0 22 18z',\n        key: 'rg3s36'\n      }]]\n    };\n    icon = signal(LucideRewind.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRewind_BaseFactory;\n      return function LucideRewind_Factory(__ngFactoryType__) {\n        return (ɵLucideRewind_BaseFactory || (ɵLucideRewind_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRewind)))(__ngFactoryType__ || LucideRewind);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRewind,\n      selectors: [[\"svg\", \"lucideRewind\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1229,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRewind_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRewind_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRewind;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Rocket\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTV2NXMzLjAzLS41NSA0LTJjMS4wOC0xLjYyIDAtNSAwLTUiIC8+CiAgPHBhdGggZD0iTTQuNSAxNi41Yy0xLjUgMS4yNi0yIDUtMiA1czMuNzQtLjUgNS0yYy43MS0uODQuNy0yLjEzLS4wOS0yLjkxYTIuMTggMi4xOCAwIDAgMC0yLjkxLS4wOSIgLz4KICA8cGF0aCBkPSJNOSAxMmEyMiAyMiAwIDAgMSAyLTMuOTVBMTIuODggMTIuODggMCAwIDEgMjIgMmMwIDIuNzItLjc4IDcuNS02IDExYTIyLjQgMjIuNCAwIDAgMS00IDJ6IiAvPgogIDxwYXRoIGQ9Ik05IDEySDRzLjU1LTMuMDMgMi00YzEuNjItMS4wOCA1IC4wNSA1IC4wNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/rocket\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRocket = /*#__PURE__*/(() => {\n  class LucideRocket extends LucideIconBase {\n    static icon = {\n      name: 'rocket',\n      size: 24,\n      node: [['path', {\n        d: 'M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5',\n        key: 'qeys4'\n      }], ['path', {\n        d: 'M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09',\n        key: 'u4xsad'\n      }], ['path', {\n        d: 'M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z',\n        key: '676m9'\n      }], ['path', {\n        d: 'M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05',\n        key: '92ym6u'\n      }]]\n    };\n    icon = signal(LucideRocket.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRocket_BaseFactory;\n      return function LucideRocket_Factory(__ngFactoryType__) {\n        return (ɵLucideRocket_BaseFactory || (ɵLucideRocket_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRocket)))(__ngFactoryType__ || LucideRocket);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRocket,\n      selectors: [[\"svg\", \"lucideRocket\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1230,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRocket_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRocket_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRocket;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ribbon\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTEuMjJDMTEgOS45OTcgMTAgOSAxMCA4YTIgMiAwIDAgMSA0IDBjMCAxLS45OTggMi4wMDItMi4wMSAzLjIyIiAvPgogIDxwYXRoIGQ9Im0xMiAxOCAyLjU3LTMuNSIgLz4KICA8cGF0aCBkPSJNNi4yNDMgOS4wMTZhNyA3IDAgMCAxIDExLjUwNy0uMDA5IiAvPgogIDxwYXRoIGQ9Ik05LjM1IDE0LjUzIDEyIDExLjIyIiAvPgogIDxwYXRoIGQ9Ik05LjM1IDE0LjUzQzcuNzI4IDEyLjI0NiA2IDEwLjIyMSA2IDdhNiA1IDAgMCAxIDEyIDBjLS4wMDUgMy4yMi0xLjc3OCA1LjIzNS0zLjQzIDcuNWwzLjU1NyA0LjUyN2ExIDEgMCAwIDEtLjIwMyAxLjQzbC0xLjg5NCAxLjM2YTEgMSAwIDAgMS0xLjM4NC0uMjE1TDEyIDE4bC0yLjY3OSAzLjU5M2ExIDEgMCAwIDEtMS4zOS4yMTNsLTEuODY1LTEuMzUzYTEgMSAwIDAgMS0uMjAzLTEuNDIyeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/ribbon\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRibbon = /*#__PURE__*/(() => {\n  class LucideRibbon extends LucideIconBase {\n    static icon = {\n      name: 'ribbon',\n      size: 24,\n      node: [['path', {\n        d: 'M12 11.22C11 9.997 10 9 10 8a2 2 0 0 1 4 0c0 1-.998 2.002-2.01 3.22',\n        key: '1rnhq3'\n      }], ['path', {\n        d: 'm12 18 2.57-3.5',\n        key: '116vt7'\n      }], ['path', {\n        d: 'M6.243 9.016a7 7 0 0 1 11.507-.009',\n        key: '10dq0b'\n      }], ['path', {\n        d: 'M9.35 14.53 12 11.22',\n        key: 'tdsyp2'\n      }], ['path', {\n        d: 'M9.35 14.53C7.728 12.246 6 10.221 6 7a6 5 0 0 1 12 0c-.005 3.22-1.778 5.235-3.43 7.5l3.557 4.527a1 1 0 0 1-.203 1.43l-1.894 1.36a1 1 0 0 1-1.384-.215L12 18l-2.679 3.593a1 1 0 0 1-1.39.213l-1.865-1.353a1 1 0 0 1-.203-1.422z',\n        key: 'nmifey'\n      }]]\n    };\n    icon = signal(LucideRibbon.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRibbon_BaseFactory;\n      return function LucideRibbon_Factory(__ngFactoryType__) {\n        return (ɵLucideRibbon_BaseFactory || (ɵLucideRibbon_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRibbon)))(__ngFactoryType__ || LucideRibbon);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRibbon,\n      selectors: [[\"svg\", \"lucideRibbon\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1231,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRibbon_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRibbon_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRibbon;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Road\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTd2NCIgLz4KICA8cGF0aCBkPSJNMTIgNVYzIiAvPgogIDxwYXRoIGQ9Ik0xMiA5djMiIC8+CiAgPHBhdGggZD0iTTIuMDc3IDE4LjQ0OUEyIDIgMCAwIDAgNCAyMWgxNmEyIDIgMCAwIDAgMS45MjQtMi41NWwtNC0xNEEyIDIgMCAwIDAgMTYgM0g4YTIgMiAwIDAgMC0xLjkyNCAxLjQ1eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/road\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRoad = /*#__PURE__*/(() => {\n  class LucideRoad extends LucideIconBase {\n    static icon = {\n      name: 'road',\n      size: 24,\n      node: [['path', {\n        d: 'M12 17v4',\n        key: '1riwvh'\n      }], ['path', {\n        d: 'M12 5V3',\n        key: 'vd5es'\n      }], ['path', {\n        d: 'M12 9v3',\n        key: 'qyerrc'\n      }], ['path', {\n        d: 'M2.077 18.449A2 2 0 0 0 4 21h16a2 2 0 0 0 1.924-2.55l-4-14A2 2 0 0 0 16 3H8a2 2 0 0 0-1.924 1.45z',\n        key: '1cuxct'\n      }]]\n    };\n    icon = signal(LucideRoad.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRoad_BaseFactory;\n      return function LucideRoad_Factory(__ngFactoryType__) {\n        return (ɵLucideRoad_BaseFactory || (ɵLucideRoad_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRoad)))(__ngFactoryType__ || LucideRoad);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRoad,\n      selectors: [[\"svg\", \"lucideRoad\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1232,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRoad_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRoad_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRoad;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RockingChair\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMTMgMy43MDggNy40MTYiIC8+CiAgPHBhdGggZD0iTTMgMTlhMTUgMTUgMCAwIDAgMTggMCIgLz4KICA8cGF0aCBkPSJtMyAyIDMuMjEgOS42MzNBMiAyIDAgMCAwIDguMTA5IDEzSDE4IiAvPgogIDxwYXRoIGQ9Im05IDEzLTMuNzA4IDcuNDE2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/rocking-chair\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRockingChair = /*#__PURE__*/(() => {\n  class LucideRockingChair extends LucideIconBase {\n    static icon = {\n      name: 'rocking-chair',\n      size: 24,\n      node: [['path', {\n        d: 'm15 13 3.708 7.416',\n        key: '1edxn9'\n      }], ['path', {\n        d: 'M3 19a15 15 0 0 0 18 0',\n        key: 'd0d1c4'\n      }], ['path', {\n        d: 'm3 2 3.21 9.633A2 2 0 0 0 8.109 13H18',\n        key: 'tpa4et'\n      }], ['path', {\n        d: 'm9 13-3.708 7.416',\n        key: '1oplxx'\n      }]]\n    };\n    icon = signal(LucideRockingChair.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRockingChair_BaseFactory;\n      return function LucideRockingChair_Factory(__ngFactoryType__) {\n        return (ɵLucideRockingChair_BaseFactory || (ɵLucideRockingChair_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRockingChair)))(__ngFactoryType__ || LucideRockingChair);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRockingChair,\n      selectors: [[\"svg\", \"lucideRockingChair\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1233,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRockingChair_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRockingChair_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRockingChair;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Rose\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgMTBoLTFhNCA0IDAgMSAxIDQtNHYuNTM0IiAvPgogIDxwYXRoIGQ9Ik0xNyA2aDFhNCA0IDAgMCAxIDEuNDIgNy43NGwtMi4yOS44N2E2IDYgMCAwIDEtNS4zMzktMTAuNjhsMi4wNjktMS4zMSIgLz4KICA8cGF0aCBkPSJNNC41IDE3YzIuOC0uNSA0LjQgMCA1LjUuOHMxLjggMi4yIDIuMyAzLjdjLTIgLjQtMy41LjQtNC44LS4zLTEuMi0uNi0yLjMtMS45LTMtNC4yIiAvPgogIDxwYXRoIGQ9Ik05Ljc3IDEyQzQgMTUgMiAyMiAyIDIyIiAvPgogIDxjaXJjbGUgY3g9IjE3IiBjeT0iOCIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/rose\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRose = /*#__PURE__*/(() => {\n  class LucideRose extends LucideIconBase {\n    static icon = {\n      name: 'rose',\n      size: 24,\n      node: [['path', {\n        d: 'M17 10h-1a4 4 0 1 1 4-4v.534',\n        key: '7qf5zm'\n      }], ['path', {\n        d: 'M17 6h1a4 4 0 0 1 1.42 7.74l-2.29.87a6 6 0 0 1-5.339-10.68l2.069-1.31',\n        key: '1et29u'\n      }], ['path', {\n        d: 'M4.5 17c2.8-.5 4.4 0 5.5.8s1.8 2.2 2.3 3.7c-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2',\n        key: 'kiv2lz'\n      }], ['path', {\n        d: 'M9.77 12C4 15 2 22 2 22',\n        key: 'h28rw0'\n      }], ['circle', {\n        cx: '17',\n        cy: '8',\n        r: '2',\n        key: '1330xn'\n      }]]\n    };\n    icon = signal(LucideRose.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRose_BaseFactory;\n      return function LucideRose_Factory(__ngFactoryType__) {\n        return (ɵLucideRose_BaseFactory || (ɵLucideRose_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRose)))(__ngFactoryType__ || LucideRose);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRose,\n      selectors: [[\"svg\", \"lucideRose\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1234,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRose_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRose_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRose;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Rotate3d\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYuNDY2IDcuNUMxNS42NDMgNC4yMzcgMTMuOTUyIDIgMTIgMiA5LjIzOSAyIDcgNi40NzcgNyAxMnMyLjIzOSAxMCA1IDEwYy4zNDIgMCAuNjc3LS4wNjkgMS0uMiIgLz4KICA8cGF0aCBkPSJtMTUuMTk0IDEzLjcwNyAzLjgxNCAxLjg2LTEuODYgMy44MTQiIC8+CiAgPHBhdGggZD0iTTE5IDE1LjU3Yy0xLjgwNC44ODUtNC4yNzQgMS40My03IDEuNDMtNS41MjMgMC0xMC0yLjIzOS0xMC01czQuNDc3LTUgMTAtNWM0LjgzOCAwIDguODczIDEuNzE4IDkuOCA0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/rotate-3d\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRotate3d = /*#__PURE__*/(() => {\n  class LucideRotate3d extends LucideIconBase {\n    static icon = {\n      name: 'rotate-3d',\n      size: 24,\n      node: [['path', {\n        d: 'M16.466 7.5C15.643 4.237 13.952 2 12 2 9.239 2 7 6.477 7 12s2.239 10 5 10c.342 0 .677-.069 1-.2',\n        key: '10n0gc'\n      }], ['path', {\n        d: 'm15.194 13.707 3.814 1.86-1.86 3.814',\n        key: '16shm9'\n      }], ['path', {\n        d: 'M19 15.57c-1.804.885-4.274 1.43-7 1.43-5.523 0-10-2.239-10-5s4.477-5 10-5c4.838 0 8.873 1.718 9.8 4',\n        key: '1lxi77'\n      }]],\n      aliases: ['rotate-3-d']\n    };\n    icon = signal(LucideRotate3d.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRotate3d_BaseFactory;\n      return function LucideRotate3d_Factory(__ngFactoryType__) {\n        return (ɵLucideRotate3d_BaseFactory || (ɵLucideRotate3d_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRotate3d)))(__ngFactoryType__ || LucideRotate3d);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRotate3d,\n      selectors: [[\"svg\", \"lucideRotate3d\", \"\"], [\"svg\", \"lucideRotate3D\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1235,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRotate3d_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRotate3d_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRotate3d;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideRotate3d\n */\nconst LucideRotate3D = LucideRotate3d;\n\n/**\n * @component @name RollerCoaster\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAxOVY1IiAvPgogIDxwYXRoIGQ9Ik0xMCAxOVY2LjgiIC8+CiAgPHBhdGggZD0iTTE0IDE5di03LjgiIC8+CiAgPHBhdGggZD0iTTE4IDV2NCIgLz4KICA8cGF0aCBkPSJNMTggMTl2LTYiIC8+CiAgPHBhdGggZD0iTTIyIDE5VjkiIC8+CiAgPHBhdGggZD0iTTIgMTlWOWE0IDQgMCAwIDEgNC00YzIgMCA0IDEuMzMgNiA0czQgNCA2IDRhNCA0IDAgMSAwLTMtNi42NSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/roller-coaster\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRollerCoaster = /*#__PURE__*/(() => {\n  class LucideRollerCoaster extends LucideIconBase {\n    static icon = {\n      name: 'roller-coaster',\n      size: 24,\n      node: [['path', {\n        d: 'M6 19V5',\n        key: '1r845m'\n      }], ['path', {\n        d: 'M10 19V6.8',\n        key: '9j2tfs'\n      }], ['path', {\n        d: 'M14 19v-7.8',\n        key: '10s8qv'\n      }], ['path', {\n        d: 'M18 5v4',\n        key: '1tajlv'\n      }], ['path', {\n        d: 'M18 19v-6',\n        key: 'ielfq3'\n      }], ['path', {\n        d: 'M22 19V9',\n        key: '158nzp'\n      }], ['path', {\n        d: 'M2 19V9a4 4 0 0 1 4-4c2 0 4 1.33 6 4s4 4 6 4a4 4 0 1 0-3-6.65',\n        key: '1930oh'\n      }]]\n    };\n    icon = signal(LucideRollerCoaster.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRollerCoaster_BaseFactory;\n      return function LucideRollerCoaster_Factory(__ngFactoryType__) {\n        return (ɵLucideRollerCoaster_BaseFactory || (ɵLucideRollerCoaster_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRollerCoaster)))(__ngFactoryType__ || LucideRollerCoaster);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRollerCoaster,\n      selectors: [[\"svg\", \"lucideRollerCoaster\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1236,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRollerCoaster_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRollerCoaster_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRollerCoaster;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RotateCwSquare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNUg2YTIgMiAwIDAgMC0yIDJ2MyIgLz4KICA8cGF0aCBkPSJtOSA4IDMtMy0zLTMiIC8+CiAgPHBhdGggZD0iTTQgMTR2NGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDAtMi0yaC0yIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/rotate-cw-square\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRotateCwSquare = /*#__PURE__*/(() => {\n  class LucideRotateCwSquare extends LucideIconBase {\n    static icon = {\n      name: 'rotate-cw-square',\n      size: 24,\n      node: [['path', {\n        d: 'M12 5H6a2 2 0 0 0-2 2v3',\n        key: 'l96uqu'\n      }], ['path', {\n        d: 'm9 8 3-3-3-3',\n        key: '1gzgc3'\n      }], ['path', {\n        d: 'M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2',\n        key: '1w2k5h'\n      }]]\n    };\n    icon = signal(LucideRotateCwSquare.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRotateCwSquare_BaseFactory;\n      return function LucideRotateCwSquare_Factory(__ngFactoryType__) {\n        return (ɵLucideRotateCwSquare_BaseFactory || (ɵLucideRotateCwSquare_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRotateCwSquare)))(__ngFactoryType__ || LucideRotateCwSquare);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRotateCwSquare,\n      selectors: [[\"svg\", \"lucideRotateCwSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1237,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRotateCwSquare_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRotateCwSquare_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRotateCwSquare;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RotateCcw\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAxMmE5IDkgMCAxIDAgOS05IDkuNzUgOS43NSAwIDAgMC02Ljc0IDIuNzRMMyA4IiAvPgogIDxwYXRoIGQ9Ik0zIDN2NWg1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/rotate-ccw\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRotateCcw = /*#__PURE__*/(() => {\n  class LucideRotateCcw extends LucideIconBase {\n    static icon = {\n      name: 'rotate-ccw',\n      size: 24,\n      node: [['path', {\n        d: 'M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8',\n        key: '1357e3'\n      }], ['path', {\n        d: 'M3 3v5h5',\n        key: '1xhq8a'\n      }]]\n    };\n    icon = signal(LucideRotateCcw.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRotateCcw_BaseFactory;\n      return function LucideRotateCcw_Factory(__ngFactoryType__) {\n        return (ɵLucideRotateCcw_BaseFactory || (ɵLucideRotateCcw_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRotateCcw)))(__ngFactoryType__ || LucideRotateCcw);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRotateCcw,\n      selectors: [[\"svg\", \"lucideRotateCcw\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1238,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRotateCcw_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRotateCcw_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRotateCcw;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RotateCcwKey\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgN3Y2IiAvPgogIDxwYXRoIGQ9Ik0xMiA5aDIiIC8+CiAgPHBhdGggZD0iTTMgMTJhOSA5IDAgMSAwIDktOSA5Ljc0IDkuNzQgMCAwIDAtNi43NCAyLjc0TDMgOCIgLz4KICA8cGF0aCBkPSJNMyAzdjVoNSIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE1IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/rotate-ccw-key\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRotateCcwKey = /*#__PURE__*/(() => {\n  class LucideRotateCcwKey extends LucideIconBase {\n    static icon = {\n      name: 'rotate-ccw-key',\n      size: 24,\n      node: [['path', {\n        d: 'M12 7v6',\n        key: 'lw1j43'\n      }], ['path', {\n        d: 'M12 9h2',\n        key: '1lpap9'\n      }], ['path', {\n        d: 'M3 12a9 9 0 1 0 9-9 9.74 9.74 0 0 0-6.74 2.74L3 8',\n        key: 'g2jlw'\n      }], ['path', {\n        d: 'M3 3v5h5',\n        key: '1xhq8a'\n      }], ['circle', {\n        cx: '12',\n        cy: '15',\n        r: '2',\n        key: '1vpstw'\n      }]]\n    };\n    icon = signal(LucideRotateCcwKey.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRotateCcwKey_BaseFactory;\n      return function LucideRotateCcwKey_Factory(__ngFactoryType__) {\n        return (ɵLucideRotateCcwKey_BaseFactory || (ɵLucideRotateCcwKey_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRotateCcwKey)))(__ngFactoryType__ || LucideRotateCcwKey);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRotateCcwKey,\n      selectors: [[\"svg\", \"lucideRotateCcwKey\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1239,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRotateCcwKey_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRotateCcwKey_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRotateCcwKey;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RotateCcwSquare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgOVY3YTIgMiAwIDAgMC0yLTJoLTYiIC8+CiAgPHBhdGggZD0ibTE1IDItMyAzIDMgMyIgLz4KICA8cGF0aCBkPSJNMjAgMTN2NWEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY3YTIgMiAwIDAgMSAyLTJoMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/rotate-ccw-square\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRotateCcwSquare = /*#__PURE__*/(() => {\n  class LucideRotateCcwSquare extends LucideIconBase {\n    static icon = {\n      name: 'rotate-ccw-square',\n      size: 24,\n      node: [['path', {\n        d: 'M20 9V7a2 2 0 0 0-2-2h-6',\n        key: '19z8uc'\n      }], ['path', {\n        d: 'm15 2-3 3 3 3',\n        key: '177bxs'\n      }], ['path', {\n        d: 'M20 13v5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2',\n        key: 'd36hnl'\n      }]]\n    };\n    icon = signal(LucideRotateCcwSquare.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRotateCcwSquare_BaseFactory;\n      return function LucideRotateCcwSquare_Factory(__ngFactoryType__) {\n        return (ɵLucideRotateCcwSquare_BaseFactory || (ɵLucideRotateCcwSquare_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRotateCcwSquare)))(__ngFactoryType__ || LucideRotateCcwSquare);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRotateCcwSquare,\n      selectors: [[\"svg\", \"lucideRotateCcwSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1240,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRotateCcwSquare_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRotateCcwSquare_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRotateCcwSquare;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RotateCw\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTktOWMyLjUyIDAgNC45MyAxIDYuNzQgMi43NEwyMSA4IiAvPgogIDxwYXRoIGQ9Ik0yMSAzdjVoLTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/rotate-cw\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRotateCw = /*#__PURE__*/(() => {\n  class LucideRotateCw extends LucideIconBase {\n    static icon = {\n      name: 'rotate-cw',\n      size: 24,\n      node: [['path', {\n        d: 'M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8',\n        key: '1p45f6'\n      }], ['path', {\n        d: 'M21 3v5h-5',\n        key: '1q7to0'\n      }]]\n    };\n    icon = signal(LucideRotateCw.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRotateCw_BaseFactory;\n      return function LucideRotateCw_Factory(__ngFactoryType__) {\n        return (ɵLucideRotateCw_BaseFactory || (ɵLucideRotateCw_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRotateCw)))(__ngFactoryType__ || LucideRotateCw);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRotateCw,\n      selectors: [[\"svg\", \"lucideRotateCw\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1241,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRotateCw_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRotateCw_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRotateCw;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Router\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iOCIgeD0iMiIgeT0iMTQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik02LjAxIDE4SDYiIC8+CiAgPHBhdGggZD0iTTEwLjAxIDE4SDEwIiAvPgogIDxwYXRoIGQ9Ik0xNSAxMHY0IiAvPgogIDxwYXRoIGQ9Ik0xNy44NCA3LjE3YTQgNCAwIDAgMC01LjY2IDAiIC8+CiAgPHBhdGggZD0iTTIwLjY2IDQuMzRhOCA4IDAgMCAwLTExLjMxIDAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/router\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRouter = /*#__PURE__*/(() => {\n  class LucideRouter extends LucideIconBase {\n    static icon = {\n      name: 'router',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '8',\n        x: '2',\n        y: '14',\n        rx: '2',\n        key: 'w68u3i'\n      }], ['path', {\n        d: 'M6.01 18H6',\n        key: '19vcac'\n      }], ['path', {\n        d: 'M10.01 18H10',\n        key: 'uamcmx'\n      }], ['path', {\n        d: 'M15 10v4',\n        key: 'qjz1xs'\n      }], ['path', {\n        d: 'M17.84 7.17a4 4 0 0 0-5.66 0',\n        key: '1rif40'\n      }], ['path', {\n        d: 'M20.66 4.34a8 8 0 0 0-11.31 0',\n        key: '6a5xfq'\n      }]]\n    };\n    icon = signal(LucideRouter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRouter_BaseFactory;\n      return function LucideRouter_Factory(__ngFactoryType__) {\n        return (ɵLucideRouter_BaseFactory || (ɵLucideRouter_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRouter)))(__ngFactoryType__ || LucideRouter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRouter,\n      selectors: [[\"svg\", \"lucideRouter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1242,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRouter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRouter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRouter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RouteOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI2IiBjeT0iMTkiIHI9IjMiIC8+CiAgPHBhdGggZD0iTTkgMTloOC41Yy40IDAgLjktLjEgMS4zLS4yIiAvPgogIDxwYXRoIGQ9Ik01LjIgNS4yQTMuNSAzLjUzIDAgMCAwIDYuNSAxMkgxMiIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik0yMSAxNS4zYTMuNSAzLjUgMCAwIDAtMy4zLTMuMyIgLz4KICA8cGF0aCBkPSJNMTUgNWgtNC4zIiAvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iNSIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/route-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRouteOff = /*#__PURE__*/(() => {\n  class LucideRouteOff extends LucideIconBase {\n    static icon = {\n      name: 'route-off',\n      size: 24,\n      node: [['circle', {\n        cx: '6',\n        cy: '19',\n        r: '3',\n        key: '1kj8tv'\n      }], ['path', {\n        d: 'M9 19h8.5c.4 0 .9-.1 1.3-.2',\n        key: '1effex'\n      }], ['path', {\n        d: 'M5.2 5.2A3.5 3.53 0 0 0 6.5 12H12',\n        key: 'k9y2ds'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M21 15.3a3.5 3.5 0 0 0-3.3-3.3',\n        key: '11nlu2'\n      }], ['path', {\n        d: 'M15 5h-4.3',\n        key: '6537je'\n      }], ['circle', {\n        cx: '18',\n        cy: '5',\n        r: '3',\n        key: 'gq8acd'\n      }]]\n    };\n    icon = signal(LucideRouteOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRouteOff_BaseFactory;\n      return function LucideRouteOff_Factory(__ngFactoryType__) {\n        return (ɵLucideRouteOff_BaseFactory || (ɵLucideRouteOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRouteOff)))(__ngFactoryType__ || LucideRouteOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRouteOff,\n      selectors: [[\"svg\", \"lucideRouteOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1243,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRouteOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRouteOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRouteOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Route\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI2IiBjeT0iMTkiIHI9IjMiIC8+CiAgPHBhdGggZD0iTTkgMTloOC41YTMuNSAzLjUgMCAwIDAgMC03aC0xMWEzLjUgMy41IDAgMCAxIDAtN0gxNSIgLz4KICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjUiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/route\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRoute = /*#__PURE__*/(() => {\n  class LucideRoute extends LucideIconBase {\n    static icon = {\n      name: 'route',\n      size: 24,\n      node: [['circle', {\n        cx: '6',\n        cy: '19',\n        r: '3',\n        key: '1kj8tv'\n      }], ['path', {\n        d: 'M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15',\n        key: '1d8sl'\n      }], ['circle', {\n        cx: '18',\n        cy: '5',\n        r: '3',\n        key: 'gq8acd'\n      }]]\n    };\n    icon = signal(LucideRoute.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRoute_BaseFactory;\n      return function LucideRoute_Factory(__ngFactoryType__) {\n        return (ɵLucideRoute_BaseFactory || (ɵLucideRoute_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRoute)))(__ngFactoryType__ || LucideRoute);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRoute,\n      selectors: [[\"svg\", \"lucideRoute\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1244,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRoute_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRoute_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRoute;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Rows2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDEyaDE4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/rows-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRows2 = /*#__PURE__*/(() => {\n  class LucideRows2 extends LucideIconBase {\n    static icon = {\n      name: 'rows-2',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M3 12h18',\n        key: '1i2n21'\n      }]],\n      aliases: ['rows']\n    };\n    icon = signal(LucideRows2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRows2_BaseFactory;\n      return function LucideRows2_Factory(__ngFactoryType__) {\n        return (ɵLucideRows2_BaseFactory || (ɵLucideRows2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRows2)))(__ngFactoryType__ || LucideRows2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRows2,\n      selectors: [[\"svg\", \"lucideRows2\", \"\"], [\"svg\", \"lucideRows\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1245,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRows2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRows2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRows2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideRows2\n */\nconst LucideRows = LucideRows2;\n\n/**\n * @component @name Rss\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMWE5IDkgMCAwIDEgOSA5IiAvPgogIDxwYXRoIGQ9Ik00IDRhMTYgMTYgMCAwIDEgMTYgMTYiIC8+CiAgPGNpcmNsZSBjeD0iNSIgY3k9IjE5IiByPSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/rss\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRss = /*#__PURE__*/(() => {\n  class LucideRss extends LucideIconBase {\n    static icon = {\n      name: 'rss',\n      size: 24,\n      node: [['path', {\n        d: 'M4 11a9 9 0 0 1 9 9',\n        key: 'pv89mb'\n      }], ['path', {\n        d: 'M4 4a16 16 0 0 1 16 16',\n        key: 'k0647b'\n      }], ['circle', {\n        cx: '5',\n        cy: '19',\n        r: '1',\n        key: 'bfqh0e'\n      }]]\n    };\n    icon = signal(LucideRss.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRss_BaseFactory;\n      return function LucideRss_Factory(__ngFactoryType__) {\n        return (ɵLucideRss_BaseFactory || (ɵLucideRss_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRss)))(__ngFactoryType__ || LucideRss);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRss,\n      selectors: [[\"svg\", \"lucideRss\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1246,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRss_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRss_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRss;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Rows3\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0yMSA5SDMiIC8+CiAgPHBhdGggZD0iTTIxIDE1SDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/rows-3\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRows3 = /*#__PURE__*/(() => {\n  class LucideRows3 extends LucideIconBase {\n    static icon = {\n      name: 'rows-3',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M21 9H3',\n        key: '1338ky'\n      }], ['path', {\n        d: 'M21 15H3',\n        key: '9uk58r'\n      }]],\n      aliases: ['panels-top-bottom']\n    };\n    icon = signal(LucideRows3.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRows3_BaseFactory;\n      return function LucideRows3_Factory(__ngFactoryType__) {\n        return (ɵLucideRows3_BaseFactory || (ɵLucideRows3_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRows3)))(__ngFactoryType__ || LucideRows3);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRows3,\n      selectors: [[\"svg\", \"lucideRows3\", \"\"], [\"svg\", \"lucidePanelsTopBottom\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1247,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRows3_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRows3_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRows3;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideRows3\n */\nconst LucidePanelsTopBottom = LucideRows3;\n\n/**\n * @component @name RulerDimensionLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTV2LTMiIC8+CiAgPHBhdGggZD0iTTE0IDE1di0zIiAvPgogIDxwYXRoIGQ9Ik0xOCAxNXYtMyIgLz4KICA8cGF0aCBkPSJNMiA4VjQiIC8+CiAgPHBhdGggZD0iTTIyIDZIMiIgLz4KICA8cGF0aCBkPSJNMjIgOFY0IiAvPgogIDxwYXRoIGQ9Ik02IDE1di0zIiAvPgogIDxyZWN0IHg9IjIiIHk9IjEyIiB3aWR0aD0iMjAiIGhlaWdodD0iOCIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/ruler-dimension-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRulerDimensionLine = /*#__PURE__*/(() => {\n  class LucideRulerDimensionLine extends LucideIconBase {\n    static icon = {\n      name: 'ruler-dimension-line',\n      size: 24,\n      node: [['path', {\n        d: 'M10 15v-3',\n        key: '1pjskw'\n      }], ['path', {\n        d: 'M14 15v-3',\n        key: '1o1mqj'\n      }], ['path', {\n        d: 'M18 15v-3',\n        key: 'cws6he'\n      }], ['path', {\n        d: 'M2 8V4',\n        key: '3jv1jz'\n      }], ['path', {\n        d: 'M22 6H2',\n        key: '1iqbfk'\n      }], ['path', {\n        d: 'M22 8V4',\n        key: '16f4ou'\n      }], ['path', {\n        d: 'M6 15v-3',\n        key: '1ij1qe'\n      }], ['rect', {\n        x: '2',\n        y: '12',\n        width: '20',\n        height: '8',\n        rx: '2',\n        key: '1tqiko'\n      }]]\n    };\n    icon = signal(LucideRulerDimensionLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRulerDimensionLine_BaseFactory;\n      return function LucideRulerDimensionLine_Factory(__ngFactoryType__) {\n        return (ɵLucideRulerDimensionLine_BaseFactory || (ɵLucideRulerDimensionLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRulerDimensionLine)))(__ngFactoryType__ || LucideRulerDimensionLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRulerDimensionLine,\n      selectors: [[\"svg\", \"lucideRulerDimensionLine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1248,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRulerDimensionLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRulerDimensionLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRulerDimensionLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Rows4\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0yMSA3LjVIMyIgLz4KICA8cGF0aCBkPSJNMjEgMTJIMyIgLz4KICA8cGF0aCBkPSJNMjEgMTYuNUgzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/rows-4\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRows4 = /*#__PURE__*/(() => {\n  class LucideRows4 extends LucideIconBase {\n    static icon = {\n      name: 'rows-4',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M21 7.5H3',\n        key: '1hm9pq'\n      }], ['path', {\n        d: 'M21 12H3',\n        key: '2avoz0'\n      }], ['path', {\n        d: 'M21 16.5H3',\n        key: 'n7jzkj'\n      }]]\n    };\n    icon = signal(LucideRows4.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRows4_BaseFactory;\n      return function LucideRows4_Factory(__ngFactoryType__) {\n        return (ɵLucideRows4_BaseFactory || (ɵLucideRows4_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRows4)))(__ngFactoryType__ || LucideRows4);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRows4,\n      selectors: [[\"svg\", \"lucideRows4\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1249,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRows4_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRows4_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRows4;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name RussianRuble\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAxMWg4YTQgNCAwIDAgMCAwLThIOXYxOCIgLz4KICA8cGF0aCBkPSJNNiAxNWg4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/russian-ruble\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRussianRuble = /*#__PURE__*/(() => {\n  class LucideRussianRuble extends LucideIconBase {\n    static icon = {\n      name: 'russian-ruble',\n      size: 24,\n      node: [['path', {\n        d: 'M6 11h8a4 4 0 0 0 0-8H9v18',\n        key: '18ai8t'\n      }], ['path', {\n        d: 'M6 15h8',\n        key: '1y8f6l'\n      }]]\n    };\n    icon = signal(LucideRussianRuble.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRussianRuble_BaseFactory;\n      return function LucideRussianRuble_Factory(__ngFactoryType__) {\n        return (ɵLucideRussianRuble_BaseFactory || (ɵLucideRussianRuble_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRussianRuble)))(__ngFactoryType__ || LucideRussianRuble);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRussianRuble,\n      selectors: [[\"svg\", \"lucideRussianRuble\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1250,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRussianRuble_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRussianRuble_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRussianRuble;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ruler\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEuMyAxNS4zYTIuNCAyLjQgMCAwIDEgMCAzLjRsLTIuNiAyLjZhMi40IDIuNCAwIDAgMS0zLjQgMEwyLjcgOC43YTIuNDEgMi40MSAwIDAgMSAwLTMuNGwyLjYtMi42YTIuNDEgMi40MSAwIDAgMSAzLjQgMFoiIC8+CiAgPHBhdGggZD0ibTE0LjUgMTIuNSAyLTIiIC8+CiAgPHBhdGggZD0ibTExLjUgOS41IDItMiIgLz4KICA8cGF0aCBkPSJtOC41IDYuNSAyLTIiIC8+CiAgPHBhdGggZD0ibTE3LjUgMTUuNSAyLTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/ruler\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideRuler = /*#__PURE__*/(() => {\n  class LucideRuler extends LucideIconBase {\n    static icon = {\n      name: 'ruler',\n      size: 24,\n      node: [['path', {\n        d: 'M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z',\n        key: 'icamh8'\n      }], ['path', {\n        d: 'm14.5 12.5 2-2',\n        key: 'inckbg'\n      }], ['path', {\n        d: 'm11.5 9.5 2-2',\n        key: 'fmmyf7'\n      }], ['path', {\n        d: 'm8.5 6.5 2-2',\n        key: 'vc6u1g'\n      }], ['path', {\n        d: 'm17.5 15.5 2-2',\n        key: 'wo5hmg'\n      }]]\n    };\n    icon = signal(LucideRuler.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideRuler_BaseFactory;\n      return function LucideRuler_Factory(__ngFactoryType__) {\n        return (ɵLucideRuler_BaseFactory || (ɵLucideRuler_BaseFactory = i0.ɵɵgetInheritedFactory(LucideRuler)))(__ngFactoryType__ || LucideRuler);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideRuler,\n      selectors: [[\"svg\", \"lucideRuler\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1251,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideRuler_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideRuler_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideRuler;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Sailboat\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMnYxNSIgLz4KICA8cGF0aCBkPSJNNyAyMmE0IDQgMCAwIDEtNC00IDEgMSAwIDAgMSAxLTFoMTZhMSAxIDAgMCAxIDEgMSA0IDQgMCAwIDEtNCA0eiIgLz4KICA8cGF0aCBkPSJNOS4xNTkgMi40NmExIDEgMCAwIDEgMS41MjEtLjE5M2w5Ljk3NyA4Ljk4QTEgMSAwIDAgMSAyMCAxM0g0YTEgMSAwIDAgMS0uODI0LTEuNTY3eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/sailboat\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSailboat = /*#__PURE__*/(() => {\n  class LucideSailboat extends LucideIconBase {\n    static icon = {\n      name: 'sailboat',\n      size: 24,\n      node: [['path', {\n        d: 'M10 2v15',\n        key: '1qf71f'\n      }], ['path', {\n        d: 'M7 22a4 4 0 0 1-4-4 1 1 0 0 1 1-1h16a1 1 0 0 1 1 1 4 4 0 0 1-4 4z',\n        key: '1pxcvx'\n      }], ['path', {\n        d: 'M9.159 2.46a1 1 0 0 1 1.521-.193l9.977 8.98A1 1 0 0 1 20 13H4a1 1 0 0 1-.824-1.567z',\n        key: '5oog16'\n      }]]\n    };\n    icon = signal(LucideSailboat.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSailboat_BaseFactory;\n      return function LucideSailboat_Factory(__ngFactoryType__) {\n        return (ɵLucideSailboat_BaseFactory || (ɵLucideSailboat_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSailboat)))(__ngFactoryType__ || LucideSailboat);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSailboat,\n      selectors: [[\"svg\", \"lucideSailboat\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1252,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSailboat_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSailboat_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSailboat;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Salad\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAyMWgxMCIgLz4KICA8cGF0aCBkPSJNMTIgMjFhOSA5IDAgMCAwIDktOUgzYTkgOSAwIDAgMCA5IDlaIiAvPgogIDxwYXRoIGQ9Ik0xMS4zOCAxMmEyLjQgMi40IDAgMCAxLS40LTQuNzcgMi40IDIuNCAwIDAgMSAzLjItMi43NyAyLjQgMi40IDAgMCAxIDMuNDctLjYzIDIuNCAyLjQgMCAwIDEgMy4zNyAzLjM3IDIuNCAyLjQgMCAwIDEtMS4xIDMuNyAyLjUxIDIuNTEgMCAwIDEgLjAzIDEuMSIgLz4KICA8cGF0aCBkPSJtMTMgMTIgNC00IiAvPgogIDxwYXRoIGQ9Ik0xMC45IDcuMjVBMy45OSAzLjk5IDAgMCAwIDQgMTBjMCAuNzMuMiAxLjQxLjU0IDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/salad\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSalad = /*#__PURE__*/(() => {\n  class LucideSalad extends LucideIconBase {\n    static icon = {\n      name: 'salad',\n      size: 24,\n      node: [['path', {\n        d: 'M7 21h10',\n        key: '1b0cd5'\n      }], ['path', {\n        d: 'M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z',\n        key: '4rw317'\n      }], ['path', {\n        d: 'M11.38 12a2.4 2.4 0 0 1-.4-4.77 2.4 2.4 0 0 1 3.2-2.77 2.4 2.4 0 0 1 3.47-.63 2.4 2.4 0 0 1 3.37 3.37 2.4 2.4 0 0 1-1.1 3.7 2.51 2.51 0 0 1 .03 1.1',\n        key: '10xrj0'\n      }], ['path', {\n        d: 'm13 12 4-4',\n        key: '1hckqy'\n      }], ['path', {\n        d: 'M10.9 7.25A3.99 3.99 0 0 0 4 10c0 .73.2 1.41.54 2',\n        key: '1p4srx'\n      }]]\n    };\n    icon = signal(LucideSalad.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSalad_BaseFactory;\n      return function LucideSalad_Factory(__ngFactoryType__) {\n        return (ɵLucideSalad_BaseFactory || (ɵLucideSalad_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSalad)))(__ngFactoryType__ || LucideSalad);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSalad,\n      selectors: [[\"svg\", \"lucideSalad\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1253,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSalad_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSalad_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSalad;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Sandwich\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMi4zNyAxMS4yMjMgOC4zNzItNi43NzdhMiAyIDAgMCAxIDIuNTE2IDBsOC4zNzEgNi43NzciIC8+CiAgPHBhdGggZD0iTTIxIDE1YTEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDEtMSAxaC01LjI1IiAvPgogIDxwYXRoIGQ9Ik0zIDE1YTEgMSAwIDAgMC0xIDF2MmExIDEgMCAwIDAgMSAxaDkiIC8+CiAgPHBhdGggZD0ibTYuNjcgMTUgNi4xMyA0LjZhMiAyIDAgMCAwIDIuOC0uNGwzLjE1LTQuMiIgLz4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iNCIgeD0iMiIgeT0iMTEiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/sandwich\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSandwich = /*#__PURE__*/(() => {\n  class LucideSandwich extends LucideIconBase {\n    static icon = {\n      name: 'sandwich',\n      size: 24,\n      node: [['path', {\n        d: 'm2.37 11.223 8.372-6.777a2 2 0 0 1 2.516 0l8.371 6.777',\n        key: 'f1wd0e'\n      }], ['path', {\n        d: 'M21 15a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-5.25',\n        key: '1pfu07'\n      }], ['path', {\n        d: 'M3 15a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h9',\n        key: '1oq9qw'\n      }], ['path', {\n        d: 'm6.67 15 6.13 4.6a2 2 0 0 0 2.8-.4l3.15-4.2',\n        key: '1fnwu5'\n      }], ['rect', {\n        width: '20',\n        height: '4',\n        x: '2',\n        y: '11',\n        rx: '1',\n        key: 'itshg'\n      }]]\n    };\n    icon = signal(LucideSandwich.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSandwich_BaseFactory;\n      return function LucideSandwich_Factory(__ngFactoryType__) {\n        return (ɵLucideSandwich_BaseFactory || (ɵLucideSandwich_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSandwich)))(__ngFactoryType__ || LucideSandwich);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSandwich,\n      selectors: [[\"svg\", \"lucideSandwich\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1254,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSandwich_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSandwich_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSandwich;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SatelliteDish\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMGE3LjMxIDcuMzEgMCAwIDAgMTAgMTBaIiAvPgogIDxwYXRoIGQ9Im05IDE1IDMtMyIgLz4KICA8cGF0aCBkPSJNMTcgMTNhNiA2IDAgMCAwLTYtNiIgLz4KICA8cGF0aCBkPSJNMjEgMTNBMTAgMTAgMCAwIDAgMTEgMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/satellite-dish\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSatelliteDish = /*#__PURE__*/(() => {\n  class LucideSatelliteDish extends LucideIconBase {\n    static icon = {\n      name: 'satellite-dish',\n      size: 24,\n      node: [['path', {\n        d: 'M4 10a7.31 7.31 0 0 0 10 10Z',\n        key: '1fzpp3'\n      }], ['path', {\n        d: 'm9 15 3-3',\n        key: '88sc13'\n      }], ['path', {\n        d: 'M17 13a6 6 0 0 0-6-6',\n        key: '15cc6u'\n      }], ['path', {\n        d: 'M21 13A10 10 0 0 0 11 3',\n        key: '11nf8s'\n      }]]\n    };\n    icon = signal(LucideSatelliteDish.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSatelliteDish_BaseFactory;\n      return function LucideSatelliteDish_Factory(__ngFactoryType__) {\n        return (ɵLucideSatelliteDish_BaseFactory || (ɵLucideSatelliteDish_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSatelliteDish)))(__ngFactoryType__ || LucideSatelliteDish);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSatelliteDish,\n      selectors: [[\"svg\", \"lucideSatelliteDish\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1255,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSatelliteDish_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSatelliteDish_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSatelliteDish;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SaveOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMTNIOGExIDEgMCAwIDAtMSAxdjciIC8+CiAgPHBhdGggZD0iTTE0IDhoMSIgLz4KICA8cGF0aCBkPSJNMTcgMjF2LTQiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJNMjAuNDEgMjAuNDFBMiAyIDAgMCAxIDE5IDIxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAuNTktMS40MSIgLz4KICA8cGF0aCBkPSJNMjkuNSAxMS41czUgNSA0IDUiIC8+CiAgPHBhdGggZD0iTTkgM2g2LjJhMiAyIDAgMCAxIDEuNC42bDMuOCAzLjhhMiAyIDAgMCAxIC42IDEuNFYxNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/save-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSaveOff = /*#__PURE__*/(() => {\n  class LucideSaveOff extends LucideIconBase {\n    static icon = {\n      name: 'save-off',\n      size: 24,\n      node: [['path', {\n        d: 'M13 13H8a1 1 0 0 0-1 1v7',\n        key: 'h8g396'\n      }], ['path', {\n        d: 'M14 8h1',\n        key: '1lfen6'\n      }], ['path', {\n        d: 'M17 21v-4',\n        key: '1yknxs'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M20.41 20.41A2 2 0 0 1 19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 .59-1.41',\n        key: '1t4vdl'\n      }], ['path', {\n        d: 'M29.5 11.5s5 5 4 5',\n        key: 'zzn4i6'\n      }], ['path', {\n        d: 'M9 3h6.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V15',\n        key: '24cby9'\n      }]]\n    };\n    icon = signal(LucideSaveOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSaveOff_BaseFactory;\n      return function LucideSaveOff_Factory(__ngFactoryType__) {\n        return (ɵLucideSaveOff_BaseFactory || (ɵLucideSaveOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSaveOff)))(__ngFactoryType__ || LucideSaveOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSaveOff,\n      selectors: [[\"svg\", \"lucideSaveOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1256,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSaveOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSaveOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSaveOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SaveAll\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMnYzYTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTggMTh2LTZhMSAxIDAgMCAwLTEtMWgtNmExIDEgMCAwIDAtMSAxdjYiIC8+CiAgPHBhdGggZD0iTTE4IDIySDRhMiAyIDAgMCAxLTItMlY2IiAvPgogIDxwYXRoIGQ9Ik04IDE4YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDkuMTcyYTIgMiAwIDAgMSAxLjQxNC41ODZsMi44MjggMi44MjhBMiAyIDAgMCAxIDIyIDYuODI4VjE2YTIgMiAwIDAgMS0yLjAxIDJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/save-all\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSaveAll = /*#__PURE__*/(() => {\n  class LucideSaveAll extends LucideIconBase {\n    static icon = {\n      name: 'save-all',\n      size: 24,\n      node: [['path', {\n        d: 'M10 2v3a1 1 0 0 0 1 1h5',\n        key: '1xspal'\n      }], ['path', {\n        d: 'M18 18v-6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6',\n        key: '1ra60u'\n      }], ['path', {\n        d: 'M18 22H4a2 2 0 0 1-2-2V6',\n        key: 'pblm9e'\n      }], ['path', {\n        d: 'M8 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9.172a2 2 0 0 1 1.414.586l2.828 2.828A2 2 0 0 1 22 6.828V16a2 2 0 0 1-2.01 2z',\n        key: '1yve0x'\n      }]]\n    };\n    icon = signal(LucideSaveAll.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSaveAll_BaseFactory;\n      return function LucideSaveAll_Factory(__ngFactoryType__) {\n        return (ɵLucideSaveAll_BaseFactory || (ɵLucideSaveAll_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSaveAll)))(__ngFactoryType__ || LucideSaveAll);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSaveAll,\n      selectors: [[\"svg\", \"lucideSaveAll\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1257,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSaveAll_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSaveAll_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSaveAll;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Satellite\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTMuNSA2LjUtMy4xNDgtMy4xNDhhMS4yMDUgMS4yMDUgMCAwIDAtMS43MDQgMEw2LjM1MiA1LjY0OGExLjIwNSAxLjIwNSAwIDAgMCAwIDEuNzA0TDkuNSAxMC41IiAvPgogIDxwYXRoIGQ9Ik0xNi41IDcuNSAxOSA1IiAvPgogIDxwYXRoIGQ9Im0xNy41IDEwLjUgMy4xNDggMy4xNDhhMS4yMDUgMS4yMDUgMCAwIDEgMCAxLjcwNGwtMi4yOTYgMi4yOTZhMS4yMDUgMS4yMDUgMCAwIDEtMS43MDQgMEwxMy41IDE0LjUiIC8+CiAgPHBhdGggZD0iTTkgMjFhNiA2IDAgMCAwLTYtNiIgLz4KICA8cGF0aCBkPSJNOS4zNTIgMTAuNjQ4YTEuMjA1IDEuMjA1IDAgMCAwIDAgMS43MDRsMi4yOTYgMi4yOTZhMS4yMDUgMS4yMDUgMCAwIDAgMS43MDQgMGw0LjI5Ni00LjI5NmExLjIwNSAxLjIwNSAwIDAgMCAwLTEuNzA0bC0yLjI5Ni0yLjI5NmExLjIwNSAxLjIwNSAwIDAgMC0xLjcwNCAweiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/satellite\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSatellite = /*#__PURE__*/(() => {\n  class LucideSatellite extends LucideIconBase {\n    static icon = {\n      name: 'satellite',\n      size: 24,\n      node: [['path', {\n        d: 'm13.5 6.5-3.148-3.148a1.205 1.205 0 0 0-1.704 0L6.352 5.648a1.205 1.205 0 0 0 0 1.704L9.5 10.5',\n        key: 'dzhfyz'\n      }], ['path', {\n        d: 'M16.5 7.5 19 5',\n        key: '1ltcjm'\n      }], ['path', {\n        d: 'm17.5 10.5 3.148 3.148a1.205 1.205 0 0 1 0 1.704l-2.296 2.296a1.205 1.205 0 0 1-1.704 0L13.5 14.5',\n        key: 'nfoymv'\n      }], ['path', {\n        d: 'M9 21a6 6 0 0 0-6-6',\n        key: '1iajcf'\n      }], ['path', {\n        d: 'M9.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l4.296-4.296a1.205 1.205 0 0 0 0-1.704l-2.296-2.296a1.205 1.205 0 0 0-1.704 0z',\n        key: 'nv9zqy'\n      }]]\n    };\n    icon = signal(LucideSatellite.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSatellite_BaseFactory;\n      return function LucideSatellite_Factory(__ngFactoryType__) {\n        return (ɵLucideSatellite_BaseFactory || (ɵLucideSatellite_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSatellite)))(__ngFactoryType__ || LucideSatellite);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSatellite,\n      selectors: [[\"svg\", \"lucideSatellite\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1258,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSatellite_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSatellite_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSatellite;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SaudiRiyal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjAgMTkuNS01LjUgMS4yIiAvPgogIDxwYXRoIGQ9Ik0xNC41IDR2MTEuMjJhMSAxIDAgMCAwIDEuMjQyLjk3TDIwIDE1LjIiIC8+CiAgPHBhdGggZD0ibTIuOTc4IDE5LjM1MSA1LjU0OS0xLjM2M0EyIDIgMCAwIDAgMTAgMTZWMiIgLz4KICA8cGF0aCBkPSJNMjAgMTAgNCAxMy41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/saudi-riyal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSaudiRiyal = /*#__PURE__*/(() => {\n  class LucideSaudiRiyal extends LucideIconBase {\n    static icon = {\n      name: 'saudi-riyal',\n      size: 24,\n      node: [['path', {\n        d: 'm20 19.5-5.5 1.2',\n        key: '1aenhr'\n      }], ['path', {\n        d: 'M14.5 4v11.22a1 1 0 0 0 1.242.97L20 15.2',\n        key: '2rtezt'\n      }], ['path', {\n        d: 'm2.978 19.351 5.549-1.363A2 2 0 0 0 10 16V2',\n        key: '1kbm92'\n      }], ['path', {\n        d: 'M20 10 4 13.5',\n        key: '8nums9'\n      }]]\n    };\n    icon = signal(LucideSaudiRiyal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSaudiRiyal_BaseFactory;\n      return function LucideSaudiRiyal_Factory(__ngFactoryType__) {\n        return (ɵLucideSaudiRiyal_BaseFactory || (ɵLucideSaudiRiyal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSaudiRiyal)))(__ngFactoryType__ || LucideSaudiRiyal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSaudiRiyal,\n      selectors: [[\"svg\", \"lucideSaudiRiyal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1259,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSaudiRiyal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSaudiRiyal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSaudiRiyal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Save\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuMiAzYTIgMiAwIDAgMSAxLjQuNmwzLjggMy44YTIgMiAwIDAgMSAuNiAxLjRWMTlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yeiIgLz4KICA8cGF0aCBkPSJNMTcgMjF2LTdhMSAxIDAgMCAwLTEtMUg4YTEgMSAwIDAgMC0xIDF2NyIgLz4KICA8cGF0aCBkPSJNNyAzdjRhMSAxIDAgMCAwIDEgMWg3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/save\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSave = /*#__PURE__*/(() => {\n  class LucideSave extends LucideIconBase {\n    static icon = {\n      name: 'save',\n      size: 24,\n      node: [['path', {\n        d: 'M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z',\n        key: '1c8476'\n      }], ['path', {\n        d: 'M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7',\n        key: '1ydtos'\n      }], ['path', {\n        d: 'M7 3v4a1 1 0 0 0 1 1h7',\n        key: 't51u73'\n      }]]\n    };\n    icon = signal(LucideSave.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSave_BaseFactory;\n      return function LucideSave_Factory(__ngFactoryType__) {\n        return (ɵLucideSave_BaseFactory || (ɵLucideSave_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSave)))(__ngFactoryType__ || LucideSave);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSave,\n      selectors: [[\"svg\", \"lucideSave\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1260,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSave_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSave_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSave;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Scaling\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi03IiAvPgogIDxwYXRoIGQ9Ik0xNCAxNUg5di01IiAvPgogIDxwYXRoIGQ9Ik0xNiAzaDV2NSIgLz4KICA8cGF0aCBkPSJNMjEgMyA5IDE1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/scaling\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScaling = /*#__PURE__*/(() => {\n  class LucideScaling extends LucideIconBase {\n    static icon = {\n      name: 'scaling',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7',\n        key: '1m0v6g'\n      }], ['path', {\n        d: 'M14 15H9v-5',\n        key: 'pi4jk9'\n      }], ['path', {\n        d: 'M16 3h5v5',\n        key: '1806ms'\n      }], ['path', {\n        d: 'M21 3 9 15',\n        key: '15kdhq'\n      }]]\n    };\n    icon = signal(LucideScaling.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScaling_BaseFactory;\n      return function LucideScaling_Factory(__ngFactoryType__) {\n        return (ɵLucideScaling_BaseFactory || (ɵLucideScaling_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScaling)))(__ngFactoryType__ || LucideScaling);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScaling,\n      selectors: [[\"svg\", \"lucideScaling\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1261,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScaling_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScaling_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScaling;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Scale3d\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSA3djExYTEgMSAwIDAgMCAxIDFoMTEiIC8+CiAgPHBhdGggZD0iTTUuMjkzIDE4LjcwNyAxMSAxMyIgLz4KICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjE5IiByPSIyIiAvPgogIDxjaXJjbGUgY3g9IjUiIGN5PSI1IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/scale-3d\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScale3d = /*#__PURE__*/(() => {\n  class LucideScale3d extends LucideIconBase {\n    static icon = {\n      name: 'scale-3d',\n      size: 24,\n      node: [['path', {\n        d: 'M5 7v11a1 1 0 0 0 1 1h11',\n        key: '13dt1j'\n      }], ['path', {\n        d: 'M5.293 18.707 11 13',\n        key: 'ezgbsx'\n      }], ['circle', {\n        cx: '19',\n        cy: '19',\n        r: '2',\n        key: '17f5cg'\n      }], ['circle', {\n        cx: '5',\n        cy: '5',\n        r: '2',\n        key: '1gwv83'\n      }]],\n      aliases: ['scale-3-d']\n    };\n    icon = signal(LucideScale3d.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScale3d_BaseFactory;\n      return function LucideScale3d_Factory(__ngFactoryType__) {\n        return (ɵLucideScale3d_BaseFactory || (ɵLucideScale3d_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScale3d)))(__ngFactoryType__ || LucideScale3d);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScale3d,\n      selectors: [[\"svg\", \"lucideScale3d\", \"\"], [\"svg\", \"lucideScale3D\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1262,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScale3d_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScale3d_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScale3d;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideScale3d\n */\nconst LucideScale3D = LucideScale3d;\n\n/**\n * @component @name Scale\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxOCIgLz4KICA8cGF0aCBkPSJtMTkgOCAzIDhhNSA1IDAgMCAxLTYgMHpWNyIgLz4KICA8cGF0aCBkPSJNMyA3aDFhMTcgMTcgMCAwIDAgOC0yIDE3IDE3IDAgMCAwIDggMmgxIiAvPgogIDxwYXRoIGQ9Im01IDggMyA4YTUgNSAwIDAgMS02IDB6VjciIC8+CiAgPHBhdGggZD0iTTcgMjFoMTAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/scale\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScale = /*#__PURE__*/(() => {\n  class LucideScale extends LucideIconBase {\n    static icon = {\n      name: 'scale',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3v18',\n        key: '108xh3'\n      }], ['path', {\n        d: 'm19 8 3 8a5 5 0 0 1-6 0zV7',\n        key: 'zcdpyk'\n      }], ['path', {\n        d: 'M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1',\n        key: '1yorad'\n      }], ['path', {\n        d: 'm5 8 3 8a5 5 0 0 1-6 0zV7',\n        key: 'eua70x'\n      }], ['path', {\n        d: 'M7 21h10',\n        key: '1b0cd5'\n      }]]\n    };\n    icon = signal(LucideScale.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScale_BaseFactory;\n      return function LucideScale_Factory(__ngFactoryType__) {\n        return (ɵLucideScale_BaseFactory || (ɵLucideScale_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScale)))(__ngFactoryType__ || LucideScale);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScale,\n      selectors: [[\"svg\", \"lucideScale\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1263,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScale_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScale_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScale;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ScanBarcode\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIiIC8+CiAgPHBhdGggZD0iTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIiAvPgogIDxwYXRoIGQ9Ik04IDd2MTAiIC8+CiAgPHBhdGggZD0iTTEyIDd2MTAiIC8+CiAgPHBhdGggZD0iTTE3IDd2MTAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/scan-barcode\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScanBarcode = /*#__PURE__*/(() => {\n  class LucideScanBarcode extends LucideIconBase {\n    static icon = {\n      name: 'scan-barcode',\n      size: 24,\n      node: [['path', {\n        d: 'M3 7V5a2 2 0 0 1 2-2h2',\n        key: 'aa7l1z'\n      }], ['path', {\n        d: 'M17 3h2a2 2 0 0 1 2 2v2',\n        key: '4qcy5o'\n      }], ['path', {\n        d: 'M21 17v2a2 2 0 0 1-2 2h-2',\n        key: '6vwrx8'\n      }], ['path', {\n        d: 'M7 21H5a2 2 0 0 1-2-2v-2',\n        key: 'ioqczr'\n      }], ['path', {\n        d: 'M8 7v10',\n        key: '23sfjj'\n      }], ['path', {\n        d: 'M12 7v10',\n        key: 'jspqdw'\n      }], ['path', {\n        d: 'M17 7v10',\n        key: '578dap'\n      }]]\n    };\n    icon = signal(LucideScanBarcode.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScanBarcode_BaseFactory;\n      return function LucideScanBarcode_Factory(__ngFactoryType__) {\n        return (ɵLucideScanBarcode_BaseFactory || (ɵLucideScanBarcode_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScanBarcode)))(__ngFactoryType__ || LucideScanBarcode);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScanBarcode,\n      selectors: [[\"svg\", \"lucideScanBarcode\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1264,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScanBarcode_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScanBarcode_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScanBarcode;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ScanEye\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIiIC8+CiAgPHBhdGggZD0iTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEiIC8+CiAgPHBhdGggZD0iTTE4Ljk0NCAxMi4zM2ExIDEgMCAwIDAgMC0uNjYgNy41IDcuNSAwIDAgMC0xMy44ODggMCAxIDEgMCAwIDAgMCAuNjYgNy41IDcuNSAwIDAgMCAxMy44ODggMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/scan-eye\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScanEye = /*#__PURE__*/(() => {\n  class LucideScanEye extends LucideIconBase {\n    static icon = {\n      name: 'scan-eye',\n      size: 24,\n      node: [['path', {\n        d: 'M3 7V5a2 2 0 0 1 2-2h2',\n        key: 'aa7l1z'\n      }], ['path', {\n        d: 'M17 3h2a2 2 0 0 1 2 2v2',\n        key: '4qcy5o'\n      }], ['path', {\n        d: 'M21 17v2a2 2 0 0 1-2 2h-2',\n        key: '6vwrx8'\n      }], ['path', {\n        d: 'M7 21H5a2 2 0 0 1-2-2v-2',\n        key: 'ioqczr'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '1',\n        key: '41hilf'\n      }], ['path', {\n        d: 'M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0',\n        key: '11ak4c'\n      }]]\n    };\n    icon = signal(LucideScanEye.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScanEye_BaseFactory;\n      return function LucideScanEye_Factory(__ngFactoryType__) {\n        return (ɵLucideScanEye_BaseFactory || (ɵLucideScanEye_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScanEye)))(__ngFactoryType__ || LucideScanEye);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScanEye,\n      selectors: [[\"svg\", \"lucideScanEye\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1265,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScanEye_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScanEye_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScanEye;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ScanLine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIiIC8+CiAgPHBhdGggZD0iTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIiAvPgogIDxwYXRoIGQ9Ik03IDEyaDEwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/scan-line\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScanLine = /*#__PURE__*/(() => {\n  class LucideScanLine extends LucideIconBase {\n    static icon = {\n      name: 'scan-line',\n      size: 24,\n      node: [['path', {\n        d: 'M3 7V5a2 2 0 0 1 2-2h2',\n        key: 'aa7l1z'\n      }], ['path', {\n        d: 'M17 3h2a2 2 0 0 1 2 2v2',\n        key: '4qcy5o'\n      }], ['path', {\n        d: 'M21 17v2a2 2 0 0 1-2 2h-2',\n        key: '6vwrx8'\n      }], ['path', {\n        d: 'M7 21H5a2 2 0 0 1-2-2v-2',\n        key: 'ioqczr'\n      }], ['path', {\n        d: 'M7 12h10',\n        key: 'b7w52i'\n      }]]\n    };\n    icon = signal(LucideScanLine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScanLine_BaseFactory;\n      return function LucideScanLine_Factory(__ngFactoryType__) {\n        return (ɵLucideScanLine_BaseFactory || (ɵLucideScanLine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScanLine)))(__ngFactoryType__ || LucideScanLine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScanLine,\n      selectors: [[\"svg\", \"lucideScanLine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1266,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScanLine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScanLine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScanLine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ScanHeart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiIgLz4KICA8cGF0aCBkPSJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIiAvPgogIDxwYXRoIGQ9Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIiIC8+CiAgPHBhdGggZD0iTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIiAvPgogIDxwYXRoIGQ9Ik03LjgyOCAxMy4wN0EzIDMgMCAwIDEgMTIgOC43NjRhMyAzIDAgMCAxIDQuMTcyIDQuMzA2bC0zLjQ0NyAzLjYyYTEgMSAwIDAgMS0xLjQ0OSAweiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/scan-heart\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScanHeart = /*#__PURE__*/(() => {\n  class LucideScanHeart extends LucideIconBase {\n    static icon = {\n      name: 'scan-heart',\n      size: 24,\n      node: [['path', {\n        d: 'M17 3h2a2 2 0 0 1 2 2v2',\n        key: '4qcy5o'\n      }], ['path', {\n        d: 'M21 17v2a2 2 0 0 1-2 2h-2',\n        key: '6vwrx8'\n      }], ['path', {\n        d: 'M3 7V5a2 2 0 0 1 2-2h2',\n        key: 'aa7l1z'\n      }], ['path', {\n        d: 'M7 21H5a2 2 0 0 1-2-2v-2',\n        key: 'ioqczr'\n      }], ['path', {\n        d: 'M7.828 13.07A3 3 0 0 1 12 8.764a3 3 0 0 1 4.172 4.306l-3.447 3.62a1 1 0 0 1-1.449 0z',\n        key: '1ak1ef'\n      }]]\n    };\n    icon = signal(LucideScanHeart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScanHeart_BaseFactory;\n      return function LucideScanHeart_Factory(__ngFactoryType__) {\n        return (ɵLucideScanHeart_BaseFactory || (ɵLucideScanHeart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScanHeart)))(__ngFactoryType__ || LucideScanHeart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScanHeart,\n      selectors: [[\"svg\", \"lucideScanHeart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1267,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScanHeart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScanHeart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScanHeart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ScanFace\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIiIC8+CiAgPHBhdGggZD0iTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIiAvPgogIDxwYXRoIGQ9Ik04IDE0czEuNSAyIDQgMiA0LTIgNC0yIiAvPgogIDxwYXRoIGQ9Ik05IDloLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNSA5aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/scan-face\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScanFace = /*#__PURE__*/(() => {\n  class LucideScanFace extends LucideIconBase {\n    static icon = {\n      name: 'scan-face',\n      size: 24,\n      node: [['path', {\n        d: 'M3 7V5a2 2 0 0 1 2-2h2',\n        key: 'aa7l1z'\n      }], ['path', {\n        d: 'M17 3h2a2 2 0 0 1 2 2v2',\n        key: '4qcy5o'\n      }], ['path', {\n        d: 'M21 17v2a2 2 0 0 1-2 2h-2',\n        key: '6vwrx8'\n      }], ['path', {\n        d: 'M7 21H5a2 2 0 0 1-2-2v-2',\n        key: 'ioqczr'\n      }], ['path', {\n        d: 'M8 14s1.5 2 4 2 4-2 4-2',\n        key: '1y1vjs'\n      }], ['path', {\n        d: 'M9 9h.01',\n        key: '1q5me6'\n      }], ['path', {\n        d: 'M15 9h.01',\n        key: 'x1ddxp'\n      }]]\n    };\n    icon = signal(LucideScanFace.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScanFace_BaseFactory;\n      return function LucideScanFace_Factory(__ngFactoryType__) {\n        return (ɵLucideScanFace_BaseFactory || (ɵLucideScanFace_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScanFace)))(__ngFactoryType__ || LucideScanFace);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScanFace,\n      selectors: [[\"svg\", \"lucideScanFace\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1268,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScanFace_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScanFace_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScanFace;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ScanSearch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIiIC8+CiAgPHBhdGggZD0iTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiIC8+CiAgPHBhdGggZD0ibTE2IDE2LTEuOS0xLjkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/scan-search\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScanSearch = /*#__PURE__*/(() => {\n  class LucideScanSearch extends LucideIconBase {\n    static icon = {\n      name: 'scan-search',\n      size: 24,\n      node: [['path', {\n        d: 'M3 7V5a2 2 0 0 1 2-2h2',\n        key: 'aa7l1z'\n      }], ['path', {\n        d: 'M17 3h2a2 2 0 0 1 2 2v2',\n        key: '4qcy5o'\n      }], ['path', {\n        d: 'M21 17v2a2 2 0 0 1-2 2h-2',\n        key: '6vwrx8'\n      }], ['path', {\n        d: 'M7 21H5a2 2 0 0 1-2-2v-2',\n        key: 'ioqczr'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '3',\n        key: '1v7zrd'\n      }], ['path', {\n        d: 'm16 16-1.9-1.9',\n        key: '1dq9hf'\n      }]]\n    };\n    icon = signal(LucideScanSearch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScanSearch_BaseFactory;\n      return function LucideScanSearch_Factory(__ngFactoryType__) {\n        return (ɵLucideScanSearch_BaseFactory || (ɵLucideScanSearch_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScanSearch)))(__ngFactoryType__ || LucideScanSearch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScanSearch,\n      selectors: [[\"svg\", \"lucideScanSearch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1269,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScanSearch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScanSearch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScanSearch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ScanQrCode\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgMTJ2NGExIDEgMCAwIDEtMSAxaC00IiAvPgogIDxwYXRoIGQ9Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0xNyA4VjciIC8+CiAgPHBhdGggZD0iTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiIgLz4KICA8cGF0aCBkPSJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik03IDE3aC4wMSIgLz4KICA8cGF0aCBkPSJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIiIC8+CiAgPHJlY3QgeD0iNyIgeT0iNyIgd2lkdGg9IjUiIGhlaWdodD0iNSIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/scan-qr-code\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScanQrCode = /*#__PURE__*/(() => {\n  class LucideScanQrCode extends LucideIconBase {\n    static icon = {\n      name: 'scan-qr-code',\n      size: 24,\n      node: [['path', {\n        d: 'M17 12v4a1 1 0 0 1-1 1h-4',\n        key: 'uk4fdo'\n      }], ['path', {\n        d: 'M17 3h2a2 2 0 0 1 2 2v2',\n        key: '4qcy5o'\n      }], ['path', {\n        d: 'M17 8V7',\n        key: 'q2g9wo'\n      }], ['path', {\n        d: 'M21 17v2a2 2 0 0 1-2 2h-2',\n        key: '6vwrx8'\n      }], ['path', {\n        d: 'M3 7V5a2 2 0 0 1 2-2h2',\n        key: 'aa7l1z'\n      }], ['path', {\n        d: 'M7 17h.01',\n        key: '19xn7k'\n      }], ['path', {\n        d: 'M7 21H5a2 2 0 0 1-2-2v-2',\n        key: 'ioqczr'\n      }], ['rect', {\n        x: '7',\n        y: '7',\n        width: '5',\n        height: '5',\n        rx: '1',\n        key: 'm9kyts'\n      }]]\n    };\n    icon = signal(LucideScanQrCode.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScanQrCode_BaseFactory;\n      return function LucideScanQrCode_Factory(__ngFactoryType__) {\n        return (ɵLucideScanQrCode_BaseFactory || (ɵLucideScanQrCode_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScanQrCode)))(__ngFactoryType__ || LucideScanQrCode);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScanQrCode,\n      selectors: [[\"svg\", \"lucideScanQrCode\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1270,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScanQrCode_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScanQrCode_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScanQrCode;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ScanText\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIiIC8+CiAgPHBhdGggZD0iTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIiAvPgogIDxwYXRoIGQ9Ik03IDhoOCIgLz4KICA8cGF0aCBkPSJNNyAxMmgxMCIgLz4KICA8cGF0aCBkPSJNNyAxNmg2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/scan-text\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScanText = /*#__PURE__*/(() => {\n  class LucideScanText extends LucideIconBase {\n    static icon = {\n      name: 'scan-text',\n      size: 24,\n      node: [['path', {\n        d: 'M3 7V5a2 2 0 0 1 2-2h2',\n        key: 'aa7l1z'\n      }], ['path', {\n        d: 'M17 3h2a2 2 0 0 1 2 2v2',\n        key: '4qcy5o'\n      }], ['path', {\n        d: 'M21 17v2a2 2 0 0 1-2 2h-2',\n        key: '6vwrx8'\n      }], ['path', {\n        d: 'M7 21H5a2 2 0 0 1-2-2v-2',\n        key: 'ioqczr'\n      }], ['path', {\n        d: 'M7 8h8',\n        key: '1jbsf9'\n      }], ['path', {\n        d: 'M7 12h10',\n        key: 'b7w52i'\n      }], ['path', {\n        d: 'M7 16h6',\n        key: '1vyc9m'\n      }]]\n    };\n    icon = signal(LucideScanText.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScanText_BaseFactory;\n      return function LucideScanText_Factory(__ngFactoryType__) {\n        return (ɵLucideScanText_BaseFactory || (ɵLucideScanText_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScanText)))(__ngFactoryType__ || LucideScanText);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScanText,\n      selectors: [[\"svg\", \"lucideScanText\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1271,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScanText_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScanText_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScanText;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Scan\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIiIC8+CiAgPHBhdGggZD0iTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/scan\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScan = /*#__PURE__*/(() => {\n  class LucideScan extends LucideIconBase {\n    static icon = {\n      name: 'scan',\n      size: 24,\n      node: [['path', {\n        d: 'M3 7V5a2 2 0 0 1 2-2h2',\n        key: 'aa7l1z'\n      }], ['path', {\n        d: 'M17 3h2a2 2 0 0 1 2 2v2',\n        key: '4qcy5o'\n      }], ['path', {\n        d: 'M21 17v2a2 2 0 0 1-2 2h-2',\n        key: '6vwrx8'\n      }], ['path', {\n        d: 'M7 21H5a2 2 0 0 1-2-2v-2',\n        key: 'ioqczr'\n      }]]\n    };\n    icon = signal(LucideScan.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScan_BaseFactory;\n      return function LucideScan_Factory(__ngFactoryType__) {\n        return (ɵLucideScan_BaseFactory || (ɵLucideScan_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScan)))(__ngFactoryType__ || LucideScan);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScan,\n      selectors: [[\"svg\", \"lucideScan\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1272,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScan_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScan_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScan;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name School\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMjF2LTNhMiAyIDAgMCAwLTQgMHYzIiAvPgogIDxwYXRoIGQ9Ik0xOCA0LjkzM1YyMSIgLz4KICA8cGF0aCBkPSJtNCA2IDcuMTA2LTMuNzlhMiAyIDAgMCAxIDEuNzg4IDBMMjAgNiIgLz4KICA8cGF0aCBkPSJtNiAxMS0zLjUyIDIuMTQ3YTEgMSAwIDAgMC0uNDguODU0VjE5YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNWExIDEgMCAwIDAtLjQ4LS44NTNMMTggMTEiIC8+CiAgPHBhdGggZD0iTTYgNC45MzNWMjEiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSI5IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/school\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSchool = /*#__PURE__*/(() => {\n  class LucideSchool extends LucideIconBase {\n    static icon = {\n      name: 'school',\n      size: 24,\n      node: [['path', {\n        d: 'M14 21v-3a2 2 0 0 0-4 0v3',\n        key: '1rgiei'\n      }], ['path', {\n        d: 'M18 4.933V21',\n        key: 'tjwmp4'\n      }], ['path', {\n        d: 'm4 6 7.106-3.79a2 2 0 0 1 1.788 0L20 6',\n        key: 'zywc2d'\n      }], ['path', {\n        d: 'm6 11-3.52 2.147a1 1 0 0 0-.48.854V19a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a1 1 0 0 0-.48-.853L18 11',\n        key: '1d4ql0'\n      }], ['path', {\n        d: 'M6 4.933V21',\n        key: '1ufz1j'\n      }], ['circle', {\n        cx: '12',\n        cy: '9',\n        r: '2',\n        key: '1092wv'\n      }]]\n    };\n    icon = signal(LucideSchool.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSchool_BaseFactory;\n      return function LucideSchool_Factory(__ngFactoryType__) {\n        return (ɵLucideSchool_BaseFactory || (ɵLucideSchool_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSchool)))(__ngFactoryType__ || LucideSchool);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSchool,\n      selectors: [[\"svg\", \"lucideSchool\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1273,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSchool_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSchool_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSchool;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ScissorsLineDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNS40MiA5LjQyIDggMTIiIC8+CiAgPGNpcmNsZSBjeD0iNCIgY3k9IjgiIHI9IjIiIC8+CiAgPHBhdGggZD0ibTE0IDYtOC41OCA4LjU4IiAvPgogIDxjaXJjbGUgY3g9IjQiIGN5PSIxNiIgcj0iMiIgLz4KICA8cGF0aCBkPSJNMTAuOCAxNC44IDE0IDE4IiAvPgogIDxwYXRoIGQ9Ik0xNiAxMmgtMiIgLz4KICA8cGF0aCBkPSJNMjIgMTJoLTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/scissors-line-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScissorsLineDashed = /*#__PURE__*/(() => {\n  class LucideScissorsLineDashed extends LucideIconBase {\n    static icon = {\n      name: 'scissors-line-dashed',\n      size: 24,\n      node: [['path', {\n        d: 'M5.42 9.42 8 12',\n        key: '12pkuq'\n      }], ['circle', {\n        cx: '4',\n        cy: '8',\n        r: '2',\n        key: '107mxr'\n      }], ['path', {\n        d: 'm14 6-8.58 8.58',\n        key: 'gvzu5l'\n      }], ['circle', {\n        cx: '4',\n        cy: '16',\n        r: '2',\n        key: '1ehqvc'\n      }], ['path', {\n        d: 'M10.8 14.8 14 18',\n        key: 'ax7m9r'\n      }], ['path', {\n        d: 'M16 12h-2',\n        key: '10asgb'\n      }], ['path', {\n        d: 'M22 12h-2',\n        key: '14jgyd'\n      }]]\n    };\n    icon = signal(LucideScissorsLineDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScissorsLineDashed_BaseFactory;\n      return function LucideScissorsLineDashed_Factory(__ngFactoryType__) {\n        return (ɵLucideScissorsLineDashed_BaseFactory || (ɵLucideScissorsLineDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScissorsLineDashed)))(__ngFactoryType__ || LucideScissorsLineDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScissorsLineDashed,\n      selectors: [[\"svg\", \"lucideScissorsLineDashed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1274,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScissorsLineDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScissorsLineDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScissorsLineDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Scissors\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI2IiBjeT0iNiIgcj0iMyIgLz4KICA8cGF0aCBkPSJNOC4xMiA4LjEyIDEyIDEyIiAvPgogIDxwYXRoIGQ9Ik0yMCA0IDguMTIgMTUuODgiIC8+CiAgPGNpcmNsZSBjeD0iNiIgY3k9IjE4IiByPSIzIiAvPgogIDxwYXRoIGQ9Ik0xNC44IDE0LjggMjAgMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/scissors\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScissors = /*#__PURE__*/(() => {\n  class LucideScissors extends LucideIconBase {\n    static icon = {\n      name: 'scissors',\n      size: 24,\n      node: [['circle', {\n        cx: '6',\n        cy: '6',\n        r: '3',\n        key: '1lh9wr'\n      }], ['path', {\n        d: 'M8.12 8.12 12 12',\n        key: '1alkpv'\n      }], ['path', {\n        d: 'M20 4 8.12 15.88',\n        key: 'xgtan2'\n      }], ['circle', {\n        cx: '6',\n        cy: '18',\n        r: '3',\n        key: 'fqmcym'\n      }], ['path', {\n        d: 'M14.8 14.8 20 20',\n        key: 'ptml3r'\n      }]]\n    };\n    icon = signal(LucideScissors.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScissors_BaseFactory;\n      return function LucideScissors_Factory(__ngFactoryType__) {\n        return (ɵLucideScissors_BaseFactory || (ɵLucideScissors_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScissors)))(__ngFactoryType__ || LucideScissors);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScissors,\n      selectors: [[\"svg\", \"lucideScissors\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1275,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScissors_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScissors_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScissors;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ScreenShare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0zIiAvPgogIDxwYXRoIGQ9Ik04IDIxaDgiIC8+CiAgPHBhdGggZD0iTTEyIDE3djQiIC8+CiAgPHBhdGggZD0ibTE3IDggNS01IiAvPgogIDxwYXRoIGQ9Ik0xNyAzaDV2NSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/screen-share\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScreenShare = /*#__PURE__*/(() => {\n  class LucideScreenShare extends LucideIconBase {\n    static icon = {\n      name: 'screen-share',\n      size: 24,\n      node: [['path', {\n        d: 'M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3',\n        key: 'i8wdob'\n      }], ['path', {\n        d: 'M8 21h8',\n        key: '1ev6f3'\n      }], ['path', {\n        d: 'M12 17v4',\n        key: '1riwvh'\n      }], ['path', {\n        d: 'm17 8 5-5',\n        key: 'fqif7o'\n      }], ['path', {\n        d: 'M17 3h5v5',\n        key: '1o3tu8'\n      }]]\n    };\n    icon = signal(LucideScreenShare.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScreenShare_BaseFactory;\n      return function LucideScreenShare_Factory(__ngFactoryType__) {\n        return (ɵLucideScreenShare_BaseFactory || (ɵLucideScreenShare_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScreenShare)))(__ngFactoryType__ || LucideScreenShare);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScreenShare,\n      selectors: [[\"svg\", \"lucideScreenShare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1276,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScreenShare_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScreenShare_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScreenShare;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Scooter\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNGgtMy41bDIgMTEuMDUiIC8+CiAgPHBhdGggZD0iTTYuOTUgMTdoNS4xNDJjLjUyMyAwIC45NS0uNDA2IDEuMDYzLS45MTZhNi41IDYuNSAwIDAgMSA1LjM0NS01LjAwOSIgLz4KICA8Y2lyY2xlIGN4PSIxOS41IiBjeT0iMTcuNSIgcj0iMi41IiAvPgogIDxjaXJjbGUgY3g9IjQuNSIgY3k9IjE3LjUiIHI9IjIuNSIgLz4KPC9zdmc+) - https://lucide.dev/icons/scooter\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScooter = /*#__PURE__*/(() => {\n  class LucideScooter extends LucideIconBase {\n    static icon = {\n      name: 'scooter',\n      size: 24,\n      node: [['path', {\n        d: 'M21 4h-3.5l2 11.05',\n        key: '1gktiw'\n      }], ['path', {\n        d: 'M6.95 17h5.142c.523 0 .95-.406 1.063-.916a6.5 6.5 0 0 1 5.345-5.009',\n        key: '1bq3u3'\n      }], ['circle', {\n        cx: '19.5',\n        cy: '17.5',\n        r: '2.5',\n        key: 'e4zhv9'\n      }], ['circle', {\n        cx: '4.5',\n        cy: '17.5',\n        r: '2.5',\n        key: '50vk4p'\n      }]]\n    };\n    icon = signal(LucideScooter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScooter_BaseFactory;\n      return function LucideScooter_Factory(__ngFactoryType__) {\n        return (ɵLucideScooter_BaseFactory || (ɵLucideScooter_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScooter)))(__ngFactoryType__ || LucideScooter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScooter,\n      selectors: [[\"svg\", \"lucideScooter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1277,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScooter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScooter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScooter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ScreenShareOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0zIiAvPgogIDxwYXRoIGQ9Ik04IDIxaDgiIC8+CiAgPHBhdGggZD0iTTEyIDE3djQiIC8+CiAgPHBhdGggZD0ibTIyIDMtNSA1IiAvPgogIDxwYXRoIGQ9Im0xNyAzIDUgNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/screen-share-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScreenShareOff = /*#__PURE__*/(() => {\n  class LucideScreenShareOff extends LucideIconBase {\n    static icon = {\n      name: 'screen-share-off',\n      size: 24,\n      node: [['path', {\n        d: 'M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3',\n        key: 'i8wdob'\n      }], ['path', {\n        d: 'M8 21h8',\n        key: '1ev6f3'\n      }], ['path', {\n        d: 'M12 17v4',\n        key: '1riwvh'\n      }], ['path', {\n        d: 'm22 3-5 5',\n        key: '12jva0'\n      }], ['path', {\n        d: 'm17 3 5 5',\n        key: 'k36vhe'\n      }]]\n    };\n    icon = signal(LucideScreenShareOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScreenShareOff_BaseFactory;\n      return function LucideScreenShareOff_Factory(__ngFactoryType__) {\n        return (ɵLucideScreenShareOff_BaseFactory || (ɵLucideScreenShareOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScreenShareOff)))(__ngFactoryType__ || LucideScreenShareOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScreenShareOff,\n      selectors: [[\"svg\", \"lucideScreenShareOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1278,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScreenShareOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScreenShareOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScreenShareOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ScrollText\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMTJoLTUiIC8+CiAgPHBhdGggZD0iTTE1IDhoLTUiIC8+CiAgPHBhdGggZD0iTTE5IDE3VjVhMiAyIDAgMCAwLTItMkg0IiAvPgogIDxwYXRoIGQ9Ik04IDIxaDEyYTIgMiAwIDAgMCAyLTJ2LTFhMSAxIDAgMCAwLTEtMUgxMWExIDEgMCAwIDAtMSAxdjFhMiAyIDAgMSAxLTQgMFY1YTIgMiAwIDEgMC00IDB2MmExIDEgMCAwIDAgMSAxaDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/scroll-text\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScrollText = /*#__PURE__*/(() => {\n  class LucideScrollText extends LucideIconBase {\n    static icon = {\n      name: 'scroll-text',\n      size: 24,\n      node: [['path', {\n        d: 'M15 12h-5',\n        key: 'r7krc0'\n      }], ['path', {\n        d: 'M15 8h-5',\n        key: '1khuty'\n      }], ['path', {\n        d: 'M19 17V5a2 2 0 0 0-2-2H4',\n        key: 'zz82l3'\n      }], ['path', {\n        d: 'M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3',\n        key: '1ph1d7'\n      }]]\n    };\n    icon = signal(LucideScrollText.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScrollText_BaseFactory;\n      return function LucideScrollText_Factory(__ngFactoryType__) {\n        return (ɵLucideScrollText_BaseFactory || (ɵLucideScrollText_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScrollText)))(__ngFactoryType__ || LucideScrollText);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScrollText,\n      selectors: [[\"svg\", \"lucideScrollText\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1279,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScrollText_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScrollText_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScrollText;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SearchCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOCAxMSAyIDIgNC00IiAvPgogIDxjaXJjbGUgY3g9IjExIiBjeT0iMTEiIHI9IjgiIC8+CiAgPHBhdGggZD0ibTIxIDIxLTQuMy00LjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/search-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSearchCheck = /*#__PURE__*/(() => {\n  class LucideSearchCheck extends LucideIconBase {\n    static icon = {\n      name: 'search-check',\n      size: 24,\n      node: [['path', {\n        d: 'm8 11 2 2 4-4',\n        key: '1sed1v'\n      }], ['circle', {\n        cx: '11',\n        cy: '11',\n        r: '8',\n        key: '4ej97u'\n      }], ['path', {\n        d: 'm21 21-4.3-4.3',\n        key: '1qie3q'\n      }]]\n    };\n    icon = signal(LucideSearchCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSearchCheck_BaseFactory;\n      return function LucideSearchCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideSearchCheck_BaseFactory || (ɵLucideSearchCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSearchCheck)))(__ngFactoryType__ || LucideSearchCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSearchCheck,\n      selectors: [[\"svg\", \"lucideSearchCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1280,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSearchCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSearchCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSearchCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SearchAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4IiAvPgogIDxwYXRoIGQ9Im0yMSAyMS00LjMtNC4zIiAvPgogIDxwYXRoIGQ9Ik0xMSA3djQiIC8+CiAgPHBhdGggZD0iTTExIDE1aC4wMSIgLz4KPC9zdmc+) - https://lucide.dev/icons/search-alert\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSearchAlert = /*#__PURE__*/(() => {\n  class LucideSearchAlert extends LucideIconBase {\n    static icon = {\n      name: 'search-alert',\n      size: 24,\n      node: [['circle', {\n        cx: '11',\n        cy: '11',\n        r: '8',\n        key: '4ej97u'\n      }], ['path', {\n        d: 'm21 21-4.3-4.3',\n        key: '1qie3q'\n      }], ['path', {\n        d: 'M11 7v4',\n        key: 'm2edmq'\n      }], ['path', {\n        d: 'M11 15h.01',\n        key: 'k85uqc'\n      }]]\n    };\n    icon = signal(LucideSearchAlert.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSearchAlert_BaseFactory;\n      return function LucideSearchAlert_Factory(__ngFactoryType__) {\n        return (ɵLucideSearchAlert_BaseFactory || (ɵLucideSearchAlert_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSearchAlert)))(__ngFactoryType__ || LucideSearchAlert);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSearchAlert,\n      selectors: [[\"svg\", \"lucideSearchAlert\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1281,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSearchAlert_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSearchAlert_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSearchAlert;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Scroll\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgMTdWNWEyIDIgMCAwIDAtMi0ySDQiIC8+CiAgPHBhdGggZD0iTTggMjFoMTJhMiAyIDAgMCAwIDItMnYtMWExIDEgMCAwIDAtMS0xSDExYTEgMSAwIDAgMC0xIDF2MWEyIDIgMCAxIDEtNCAwVjVhMiAyIDAgMSAwLTQgMHYyYTEgMSAwIDAgMCAxIDFoMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/scroll\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideScroll = /*#__PURE__*/(() => {\n  class LucideScroll extends LucideIconBase {\n    static icon = {\n      name: 'scroll',\n      size: 24,\n      node: [['path', {\n        d: 'M19 17V5a2 2 0 0 0-2-2H4',\n        key: 'zz82l3'\n      }], ['path', {\n        d: 'M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3',\n        key: '1ph1d7'\n      }]]\n    };\n    icon = signal(LucideScroll.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideScroll_BaseFactory;\n      return function LucideScroll_Factory(__ngFactoryType__) {\n        return (ɵLucideScroll_BaseFactory || (ɵLucideScroll_BaseFactory = i0.ɵɵgetInheritedFactory(LucideScroll)))(__ngFactoryType__ || LucideScroll);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideScroll,\n      selectors: [[\"svg\", \"lucideScroll\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1282,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideScroll_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideScroll_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideScroll;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SearchCode\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTMgMTMuNSAyLTIuNS0yLTIuNSIgLz4KICA8cGF0aCBkPSJtMjEgMjEtNC4zLTQuMyIgLz4KICA8cGF0aCBkPSJNOSA4LjUgNyAxMWwyIDIuNSIgLz4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/search-code\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSearchCode = /*#__PURE__*/(() => {\n  class LucideSearchCode extends LucideIconBase {\n    static icon = {\n      name: 'search-code',\n      size: 24,\n      node: [['path', {\n        d: 'm13 13.5 2-2.5-2-2.5',\n        key: '1rvxrh'\n      }], ['path', {\n        d: 'm21 21-4.3-4.3',\n        key: '1qie3q'\n      }], ['path', {\n        d: 'M9 8.5 7 11l2 2.5',\n        key: '6ffwbx'\n      }], ['circle', {\n        cx: '11',\n        cy: '11',\n        r: '8',\n        key: '4ej97u'\n      }]]\n    };\n    icon = signal(LucideSearchCode.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSearchCode_BaseFactory;\n      return function LucideSearchCode_Factory(__ngFactoryType__) {\n        return (ɵLucideSearchCode_BaseFactory || (ɵLucideSearchCode_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSearchCode)))(__ngFactoryType__ || LucideSearchCode);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSearchCode,\n      selectors: [[\"svg\", \"lucideSearchCode\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1283,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSearchCode_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSearchCode_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSearchCode;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SearchSlash\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTMuNSA4LjUtNSA1IiAvPgogIDxjaXJjbGUgY3g9IjExIiBjeT0iMTEiIHI9IjgiIC8+CiAgPHBhdGggZD0ibTIxIDIxLTQuMy00LjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/search-slash\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSearchSlash = /*#__PURE__*/(() => {\n  class LucideSearchSlash extends LucideIconBase {\n    static icon = {\n      name: 'search-slash',\n      size: 24,\n      node: [['path', {\n        d: 'm13.5 8.5-5 5',\n        key: '1cs55j'\n      }], ['circle', {\n        cx: '11',\n        cy: '11',\n        r: '8',\n        key: '4ej97u'\n      }], ['path', {\n        d: 'm21 21-4.3-4.3',\n        key: '1qie3q'\n      }]]\n    };\n    icon = signal(LucideSearchSlash.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSearchSlash_BaseFactory;\n      return function LucideSearchSlash_Factory(__ngFactoryType__) {\n        return (ɵLucideSearchSlash_BaseFactory || (ɵLucideSearchSlash_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSearchSlash)))(__ngFactoryType__ || LucideSearchSlash);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSearchSlash,\n      selectors: [[\"svg\", \"lucideSearchSlash\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1284,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSearchSlash_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSearchSlash_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSearchSlash;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Search\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjEgMjEtNC4zNC00LjM0IiAvPgogIDxjaXJjbGUgY3g9IjExIiBjeT0iMTEiIHI9IjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/search\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSearch = /*#__PURE__*/(() => {\n  class LucideSearch extends LucideIconBase {\n    static icon = {\n      name: 'search',\n      size: 24,\n      node: [['path', {\n        d: 'm21 21-4.34-4.34',\n        key: '14j7rj'\n      }], ['circle', {\n        cx: '11',\n        cy: '11',\n        r: '8',\n        key: '4ej97u'\n      }]]\n    };\n    icon = signal(LucideSearch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSearch_BaseFactory;\n      return function LucideSearch_Factory(__ngFactoryType__) {\n        return (ɵLucideSearch_BaseFactory || (ɵLucideSearch_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSearch)))(__ngFactoryType__ || LucideSearch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSearch,\n      selectors: [[\"svg\", \"lucideSearch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1285,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSearch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSearch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSearch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SearchX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTMuNSA4LjUtNSA1IiAvPgogIDxwYXRoIGQ9Im04LjUgOC41IDUgNSIgLz4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4IiAvPgogIDxwYXRoIGQ9Im0yMSAyMS00LjMtNC4zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/search-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSearchX = /*#__PURE__*/(() => {\n  class LucideSearchX extends LucideIconBase {\n    static icon = {\n      name: 'search-x',\n      size: 24,\n      node: [['path', {\n        d: 'm13.5 8.5-5 5',\n        key: '1cs55j'\n      }], ['path', {\n        d: 'm8.5 8.5 5 5',\n        key: 'a8mexj'\n      }], ['circle', {\n        cx: '11',\n        cy: '11',\n        r: '8',\n        key: '4ej97u'\n      }], ['path', {\n        d: 'm21 21-4.3-4.3',\n        key: '1qie3q'\n      }]]\n    };\n    icon = signal(LucideSearchX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSearchX_BaseFactory;\n      return function LucideSearchX_Factory(__ngFactoryType__) {\n        return (ɵLucideSearchX_BaseFactory || (ɵLucideSearchX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSearchX)))(__ngFactoryType__ || LucideSearchX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSearchX,\n      selectors: [[\"svg\", \"lucideSearchX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1286,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSearchX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSearchX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSearchX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Section\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgNWE0IDMgMCAwIDAtOCAwYzAgNCA4IDMgOCA3YTQgMyAwIDAgMS04IDAiIC8+CiAgPHBhdGggZD0iTTggMTlhNCAzIDAgMCAwIDggMGMwLTQtOC0zLTgtN2E0IDMgMCAwIDEgOCAwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/section\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSection = /*#__PURE__*/(() => {\n  class LucideSection extends LucideIconBase {\n    static icon = {\n      name: 'section',\n      size: 24,\n      node: [['path', {\n        d: 'M16 5a4 3 0 0 0-8 0c0 4 8 3 8 7a4 3 0 0 1-8 0',\n        key: 'vqan6v'\n      }], ['path', {\n        d: 'M8 19a4 3 0 0 0 8 0c0-4-8-3-8-7a4 3 0 0 1 8 0',\n        key: 'wdjd8o'\n      }]]\n    };\n    icon = signal(LucideSection.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSection_BaseFactory;\n      return function LucideSection_Factory(__ngFactoryType__) {\n        return (ɵLucideSection_BaseFactory || (ɵLucideSection_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSection)))(__ngFactoryType__ || LucideSection);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSection,\n      selectors: [[\"svg\", \"lucideSection\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1287,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSection_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSection_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSection;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SendToBack\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB4PSIxNCIgeT0iMTQiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSIyIiAvPgogIDxyZWN0IHg9IjIiIHk9IjIiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik03IDE0djFhMiAyIDAgMCAwIDIgMmgxIiAvPgogIDxwYXRoIGQ9Ik0xNCA3aDFhMiAyIDAgMCAxIDIgMnYxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/send-to-back\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSendToBack = /*#__PURE__*/(() => {\n  class LucideSendToBack extends LucideIconBase {\n    static icon = {\n      name: 'send-to-back',\n      size: 24,\n      node: [['rect', {\n        x: '14',\n        y: '14',\n        width: '8',\n        height: '8',\n        rx: '2',\n        key: '1b0bso'\n      }], ['rect', {\n        x: '2',\n        y: '2',\n        width: '8',\n        height: '8',\n        rx: '2',\n        key: '1x09vl'\n      }], ['path', {\n        d: 'M7 14v1a2 2 0 0 0 2 2h1',\n        key: 'pao6x6'\n      }], ['path', {\n        d: 'M14 7h1a2 2 0 0 1 2 2v1',\n        key: '19tdru'\n      }]]\n    };\n    icon = signal(LucideSendToBack.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSendToBack_BaseFactory;\n      return function LucideSendToBack_Factory(__ngFactoryType__) {\n        return (ɵLucideSendToBack_BaseFactory || (ɵLucideSendToBack_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSendToBack)))(__ngFactoryType__ || LucideSendToBack);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSendToBack,\n      selectors: [[\"svg\", \"lucideSendToBack\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1288,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSendToBack_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSendToBack_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSendToBack;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SendHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy43MTQgMy4wNDhhLjQ5OC40OTggMCAwIDAtLjY4My42MjdsMi44NDMgNy42MjdhMiAyIDAgMCAxIDAgMS4zOTZsLTIuODQyIDcuNjI3YS40OTguNDk4IDAgMCAwIC42ODIuNjI3bDE4LTguNWEuNS41IDAgMCAwIDAtLjkwNHoiIC8+CiAgPHBhdGggZD0iTTYgMTJoMTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/send-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSendHorizontal = /*#__PURE__*/(() => {\n  class LucideSendHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'send-horizontal',\n      size: 24,\n      node: [['path', {\n        d: 'M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z',\n        key: '117uat'\n      }], ['path', {\n        d: 'M6 12h16',\n        key: 's4cdu5'\n      }]],\n      aliases: ['send-horizonal']\n    };\n    icon = signal(LucideSendHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSendHorizontal_BaseFactory;\n      return function LucideSendHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideSendHorizontal_BaseFactory || (ɵLucideSendHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSendHorizontal)))(__ngFactoryType__ || LucideSendHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSendHorizontal,\n      selectors: [[\"svg\", \"lucideSendHorizontal\", \"\"], [\"svg\", \"lucideSendHorizonal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1289,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSendHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSendHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSendHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSendHorizontal\n */\nconst LucideSendHorizonal = LucideSendHorizontal;\n\n/**\n * @component @name Send\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQuNTM2IDIxLjY4NmEuNS41IDAgMCAwIC45MzctLjAyNGw2LjUtMTlhLjQ5Ni40OTYgMCAwIDAtLjYzNS0uNjM1bC0xOSA2LjVhLjUuNSAwIDAgMC0uMDI0LjkzN2w3LjkzIDMuMThhMiAyIDAgMCAxIDEuMTEyIDEuMTF6IiAvPgogIDxwYXRoIGQ9Im0yMS44NTQgMi4xNDctMTAuOTQgMTAuOTM5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/send\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSend = /*#__PURE__*/(() => {\n  class LucideSend extends LucideIconBase {\n    static icon = {\n      name: 'send',\n      size: 24,\n      node: [['path', {\n        d: 'M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z',\n        key: '1ffxy3'\n      }], ['path', {\n        d: 'm21.854 2.147-10.94 10.939',\n        key: '12cjpa'\n      }]]\n    };\n    icon = signal(LucideSend.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSend_BaseFactory;\n      return function LucideSend_Factory(__ngFactoryType__) {\n        return (ɵLucideSend_BaseFactory || (ɵLucideSend_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSend)))(__ngFactoryType__ || LucideSend);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSend,\n      selectors: [[\"svg\", \"lucideSend\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1290,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSend_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSend_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSend;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SeparatorHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMTYtNCA0LTQtNCIgLz4KICA8cGF0aCBkPSJNMyAxMmgxOCIgLz4KICA8cGF0aCBkPSJtOCA4IDQtNCA0IDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/separator-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSeparatorHorizontal = /*#__PURE__*/(() => {\n  class LucideSeparatorHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'separator-horizontal',\n      size: 24,\n      node: [['path', {\n        d: 'm16 16-4 4-4-4',\n        key: '3dv8je'\n      }], ['path', {\n        d: 'M3 12h18',\n        key: '1i2n21'\n      }], ['path', {\n        d: 'm8 8 4-4 4 4',\n        key: '2bscm2'\n      }]]\n    };\n    icon = signal(LucideSeparatorHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSeparatorHorizontal_BaseFactory;\n      return function LucideSeparatorHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideSeparatorHorizontal_BaseFactory || (ɵLucideSeparatorHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSeparatorHorizontal)))(__ngFactoryType__ || LucideSeparatorHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSeparatorHorizontal,\n      selectors: [[\"svg\", \"lucideSeparatorHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1291,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSeparatorHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSeparatorHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSeparatorHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SeparatorVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxOCIgLz4KICA8cGF0aCBkPSJtMTYgMTYgNC00LTQtNCIgLz4KICA8cGF0aCBkPSJtOCA4LTQgNCA0IDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/separator-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSeparatorVertical = /*#__PURE__*/(() => {\n  class LucideSeparatorVertical extends LucideIconBase {\n    static icon = {\n      name: 'separator-vertical',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3v18',\n        key: '108xh3'\n      }], ['path', {\n        d: 'm16 16 4-4-4-4',\n        key: '1js579'\n      }], ['path', {\n        d: 'm8 8-4 4 4 4',\n        key: '1whems'\n      }]]\n    };\n    icon = signal(LucideSeparatorVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSeparatorVertical_BaseFactory;\n      return function LucideSeparatorVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideSeparatorVertical_BaseFactory || (ɵLucideSeparatorVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSeparatorVertical)))(__ngFactoryType__ || LucideSeparatorVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSeparatorVertical,\n      selectors: [[\"svg\", \"lucideSeparatorVertical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1292,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSeparatorVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSeparatorVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSeparatorVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ServerCog\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAuODUyIDE0Ljc3Mi0uMzgzLjkyMyIgLz4KICA8cGF0aCBkPSJNMTMuMTQ4IDE0Ljc3MmEzIDMgMCAxIDAtMi4yOTYtNS41NDRsLS4zODMtLjkyMyIgLz4KICA8cGF0aCBkPSJtMTMuMTQ4IDkuMjI4LjM4My0uOTIzIiAvPgogIDxwYXRoIGQ9Im0xMy41MyAxNS42OTYtLjM4Mi0uOTI0YTMgMyAwIDEgMS0yLjI5Ni01LjU0NCIgLz4KICA8cGF0aCBkPSJtMTQuNzcyIDEwLjg1Mi45MjMtLjM4MyIgLz4KICA8cGF0aCBkPSJtMTQuNzcyIDEzLjE0OC45MjMuMzgzIiAvPgogIDxwYXRoIGQ9Ik00LjUgMTBINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMmgtLjUiIC8+CiAgPHBhdGggZD0iTTQuNSAxNEg0YTIgMiAwIDAgMC0yIDJ2NGEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTRhMiAyIDAgMCAwLTItMmgtLjUiIC8+CiAgPHBhdGggZD0iTTYgMThoLjAxIiAvPgogIDxwYXRoIGQ9Ik02IDZoLjAxIiAvPgogIDxwYXRoIGQ9Im05LjIyOCAxMC44NTItLjkyMy0uMzgzIiAvPgogIDxwYXRoIGQ9Im05LjIyOCAxMy4xNDgtLjkyMy4zODMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/server-cog\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideServerCog = /*#__PURE__*/(() => {\n  class LucideServerCog extends LucideIconBase {\n    static icon = {\n      name: 'server-cog',\n      size: 24,\n      node: [['path', {\n        d: 'm10.852 14.772-.383.923',\n        key: '11vil6'\n      }], ['path', {\n        d: 'M13.148 14.772a3 3 0 1 0-2.296-5.544l-.383-.923',\n        key: '1v3clb'\n      }], ['path', {\n        d: 'm13.148 9.228.383-.923',\n        key: 't2zzyc'\n      }], ['path', {\n        d: 'm13.53 15.696-.382-.924a3 3 0 1 1-2.296-5.544',\n        key: '1bxfiv'\n      }], ['path', {\n        d: 'm14.772 10.852.923-.383',\n        key: 'k9m8cz'\n      }], ['path', {\n        d: 'm14.772 13.148.923.383',\n        key: '1xvhww'\n      }], ['path', {\n        d: 'M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5',\n        key: 'tn8das'\n      }], ['path', {\n        d: 'M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5',\n        key: '1g2pve'\n      }], ['path', {\n        d: 'M6 18h.01',\n        key: 'uhywen'\n      }], ['path', {\n        d: 'M6 6h.01',\n        key: '1utrut'\n      }], ['path', {\n        d: 'm9.228 10.852-.923-.383',\n        key: '1wtb30'\n      }], ['path', {\n        d: 'm9.228 13.148-.923.383',\n        key: '1a830x'\n      }]]\n    };\n    icon = signal(LucideServerCog.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideServerCog_BaseFactory;\n      return function LucideServerCog_Factory(__ngFactoryType__) {\n        return (ɵLucideServerCog_BaseFactory || (ɵLucideServerCog_BaseFactory = i0.ɵɵgetInheritedFactory(LucideServerCog)))(__ngFactoryType__ || LucideServerCog);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideServerCog,\n      selectors: [[\"svg\", \"lucideServerCog\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1293,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideServerCog_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideServerCog_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideServerCog;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ServerOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAyaDEzYTIgMiAwIDAgMSAyIDJ2NGEyIDIgMCAwIDEtMiAyaC01IiAvPgogIDxwYXRoIGQ9Ik0xMCAxMCAyLjUgMi41QzIgMiAyIDIuNSAyIDV2M2EyIDIgMCAwIDAgMiAyaDZ6IiAvPgogIDxwYXRoIGQ9Ik0yMiAxN3YtMWEyIDIgMCAwIDAtMi0yaC0xIiAvPgogIDxwYXRoIGQ9Ik00IDE0YTIgMiAwIDAgMC0yIDJ2NGEyIDIgMCAwIDAgMiAyaDE2LjVsMS0uNS41LjUtOC04SDR6IiAvPgogIDxwYXRoIGQ9Ik02IDE4aC4wMSIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/server-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideServerOff = /*#__PURE__*/(() => {\n  class LucideServerOff extends LucideIconBase {\n    static icon = {\n      name: 'server-off',\n      size: 24,\n      node: [['path', {\n        d: 'M7 2h13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-5',\n        key: 'bt2siv'\n      }], ['path', {\n        d: 'M10 10 2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 0 0 2 2h6z',\n        key: '1hjrv1'\n      }], ['path', {\n        d: 'M22 17v-1a2 2 0 0 0-2-2h-1',\n        key: '1iynyr'\n      }], ['path', {\n        d: 'M4 14a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16.5l1-.5.5.5-8-8H4z',\n        key: '161ggg'\n      }], ['path', {\n        d: 'M6 18h.01',\n        key: 'uhywen'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucideServerOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideServerOff_BaseFactory;\n      return function LucideServerOff_Factory(__ngFactoryType__) {\n        return (ɵLucideServerOff_BaseFactory || (ɵLucideServerOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideServerOff)))(__ngFactoryType__ || LucideServerOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideServerOff,\n      selectors: [[\"svg\", \"lucideServerOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1294,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideServerOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideServerOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideServerOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ServerCrash\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAxMEg0YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2NGEyIDIgMCAwIDEtMiAyaC0yIiAvPgogIDxwYXRoIGQ9Ik02IDE0SDRhMiAyIDAgMCAwLTIgMnY0YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNGEyIDIgMCAwIDAtMi0yaC0yIiAvPgogIDxwYXRoIGQ9Ik02IDZoLjAxIiAvPgogIDxwYXRoIGQ9Ik02IDE4aC4wMSIgLz4KICA8cGF0aCBkPSJtMTMgNi00IDZoNmwtNCA2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/server-crash\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideServerCrash = /*#__PURE__*/(() => {\n  class LucideServerCrash extends LucideIconBase {\n    static icon = {\n      name: 'server-crash',\n      size: 24,\n      node: [['path', {\n        d: 'M6 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2',\n        key: '4b9dqc'\n      }], ['path', {\n        d: 'M6 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-2',\n        key: '22nnkd'\n      }], ['path', {\n        d: 'M6 6h.01',\n        key: '1utrut'\n      }], ['path', {\n        d: 'M6 18h.01',\n        key: 'uhywen'\n      }], ['path', {\n        d: 'm13 6-4 6h6l-4 6',\n        key: '14hqih'\n      }]]\n    };\n    icon = signal(LucideServerCrash.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideServerCrash_BaseFactory;\n      return function LucideServerCrash_Factory(__ngFactoryType__) {\n        return (ɵLucideServerCrash_BaseFactory || (ɵLucideServerCrash_BaseFactory = i0.ɵɵgetInheritedFactory(LucideServerCrash)))(__ngFactoryType__ || LucideServerCrash);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideServerCrash,\n      selectors: [[\"svg\", \"lucideServerCrash\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1295,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideServerCrash_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideServerCrash_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideServerCrash;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Server\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iOCIgeD0iMiIgeT0iMiIgcng9IjIiIHJ5PSIyIiAvPgogIDxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiB4PSIyIiB5PSIxNCIgcng9IjIiIHJ5PSIyIiAvPgogIDxsaW5lIHgxPSI2IiB4Mj0iNi4wMSIgeTE9IjYiIHkyPSI2IiAvPgogIDxsaW5lIHgxPSI2IiB4Mj0iNi4wMSIgeTE9IjE4IiB5Mj0iMTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/server\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideServer = /*#__PURE__*/(() => {\n  class LucideServer extends LucideIconBase {\n    static icon = {\n      name: 'server',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '8',\n        x: '2',\n        y: '2',\n        rx: '2',\n        ry: '2',\n        key: 'ngkwjq'\n      }], ['rect', {\n        width: '20',\n        height: '8',\n        x: '2',\n        y: '14',\n        rx: '2',\n        ry: '2',\n        key: 'iecqi9'\n      }], ['line', {\n        x1: '6',\n        x2: '6.01',\n        y1: '6',\n        y2: '6',\n        key: '16zg32'\n      }], ['line', {\n        x1: '6',\n        x2: '6.01',\n        y1: '18',\n        y2: '18',\n        key: 'nzw8ys'\n      }]]\n    };\n    icon = signal(LucideServer.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideServer_BaseFactory;\n      return function LucideServer_Factory(__ngFactoryType__) {\n        return (ɵLucideServer_BaseFactory || (ɵLucideServer_BaseFactory = i0.ɵɵgetInheritedFactory(LucideServer)))(__ngFactoryType__ || LucideServer);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideServer,\n      selectors: [[\"svg\", \"lucideServer\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1296,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideServer_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideServer_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideServer;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Settings2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMTdINSIgLz4KICA8cGF0aCBkPSJNMTkgN2gtOSIgLz4KICA8Y2lyY2xlIGN4PSIxNyIgY3k9IjE3IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjciIGN5PSI3IiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/settings-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSettings2 = /*#__PURE__*/(() => {\n  class LucideSettings2 extends LucideIconBase {\n    static icon = {\n      name: 'settings-2',\n      size: 24,\n      node: [['path', {\n        d: 'M14 17H5',\n        key: 'gfn3mx'\n      }], ['path', {\n        d: 'M19 7h-9',\n        key: '6i9tg'\n      }], ['circle', {\n        cx: '17',\n        cy: '17',\n        r: '3',\n        key: '18b49y'\n      }], ['circle', {\n        cx: '7',\n        cy: '7',\n        r: '3',\n        key: 'dfmy0x'\n      }]]\n    };\n    icon = signal(LucideSettings2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSettings2_BaseFactory;\n      return function LucideSettings2_Factory(__ngFactoryType__) {\n        return (ɵLucideSettings2_BaseFactory || (ɵLucideSettings2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSettings2)))(__ngFactoryType__ || LucideSettings2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSettings2,\n      selectors: [[\"svg\", \"lucideSettings2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1297,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSettings2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSettings2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSettings2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Settings\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOS42NzEgNC4xMzZhMi4zNCAyLjM0IDAgMCAxIDQuNjU5IDAgMi4zNCAyLjM0IDAgMCAwIDMuMzE5IDEuOTE1IDIuMzQgMi4zNCAwIDAgMSAyLjMzIDQuMDMzIDIuMzQgMi4zNCAwIDAgMCAwIDMuODMxIDIuMzQgMi4zNCAwIDAgMS0yLjMzIDQuMDMzIDIuMzQgMi4zNCAwIDAgMC0zLjMxOSAxLjkxNSAyLjM0IDIuMzQgMCAwIDEtNC42NTkgMCAyLjM0IDIuMzQgMCAwIDAtMy4zMi0xLjkxNSAyLjM0IDIuMzQgMCAwIDEtMi4zMy00LjAzMyAyLjM0IDIuMzQgMCAwIDAgMC0zLjgzMUEyLjM0IDIuMzQgMCAwIDEgNi4zNSA2LjA1MWEyLjM0IDIuMzQgMCAwIDAgMy4zMTktMS45MTUiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/settings\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSettings = /*#__PURE__*/(() => {\n  class LucideSettings extends LucideIconBase {\n    static icon = {\n      name: 'settings',\n      size: 24,\n      node: [['path', {\n        d: 'M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915',\n        key: '1i5ecw'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '3',\n        key: '1v7zrd'\n      }]]\n    };\n    icon = signal(LucideSettings.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSettings_BaseFactory;\n      return function LucideSettings_Factory(__ngFactoryType__) {\n        return (ɵLucideSettings_BaseFactory || (ɵLucideSettings_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSettings)))(__ngFactoryType__ || LucideSettings);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSettings,\n      selectors: [[\"svg\", \"lucideSettings\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1298,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSettings_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSettings_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSettings;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Shapes\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOC4zIDEwYS43LjcgMCAwIDEtLjYyNi0xLjA3OUwxMS40IDNhLjcuNyAwIDAgMSAxLjE5OC0uMDQzTDE2LjMgOC45YS43LjcgMCAwIDEtLjU3MiAxLjFaIiAvPgogIDxyZWN0IHg9IjMiIHk9IjE0IiB3aWR0aD0iNyIgaGVpZ2h0PSI3IiByeD0iMSIgLz4KICA8Y2lyY2xlIGN4PSIxNy41IiBjeT0iMTcuNSIgcj0iMy41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/shapes\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShapes = /*#__PURE__*/(() => {\n  class LucideShapes extends LucideIconBase {\n    static icon = {\n      name: 'shapes',\n      size: 24,\n      node: [['path', {\n        d: 'M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z',\n        key: '1bo67w'\n      }], ['rect', {\n        x: '3',\n        y: '14',\n        width: '7',\n        height: '7',\n        rx: '1',\n        key: '1bkyp8'\n      }], ['circle', {\n        cx: '17.5',\n        cy: '17.5',\n        r: '3.5',\n        key: 'w3z12y'\n      }]]\n    };\n    icon = signal(LucideShapes.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShapes_BaseFactory;\n      return function LucideShapes_Factory(__ngFactoryType__) {\n        return (ɵLucideShapes_BaseFactory || (ɵLucideShapes_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShapes)))(__ngFactoryType__ || LucideShapes);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShapes,\n      selectors: [[\"svg\", \"lucideShapes\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1299,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShapes_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShapes_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShapes;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Share2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjUiIHI9IjMiIC8+CiAgPGNpcmNsZSBjeD0iNiIgY3k9IjEyIiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTkiIHI9IjMiIC8+CiAgPGxpbmUgeDE9IjguNTkiIHgyPSIxNS40MiIgeTE9IjEzLjUxIiB5Mj0iMTcuNDkiIC8+CiAgPGxpbmUgeDE9IjE1LjQxIiB4Mj0iOC41OSIgeTE9IjYuNTEiIHkyPSIxMC40OSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/share-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShare2 = /*#__PURE__*/(() => {\n  class LucideShare2 extends LucideIconBase {\n    static icon = {\n      name: 'share-2',\n      size: 24,\n      node: [['circle', {\n        cx: '18',\n        cy: '5',\n        r: '3',\n        key: 'gq8acd'\n      }], ['circle', {\n        cx: '6',\n        cy: '12',\n        r: '3',\n        key: 'w7nqdw'\n      }], ['circle', {\n        cx: '18',\n        cy: '19',\n        r: '3',\n        key: '1xt0gg'\n      }], ['line', {\n        x1: '8.59',\n        x2: '15.42',\n        y1: '13.51',\n        y2: '17.49',\n        key: '47mynk'\n      }], ['line', {\n        x1: '15.41',\n        x2: '8.59',\n        y1: '6.51',\n        y2: '10.49',\n        key: '1n3mei'\n      }]]\n    };\n    icon = signal(LucideShare2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShare2_BaseFactory;\n      return function LucideShare2_Factory(__ngFactoryType__) {\n        return (ɵLucideShare2_BaseFactory || (ɵLucideShare2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShare2)))(__ngFactoryType__ || LucideShare2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShare2,\n      selectors: [[\"svg\", \"lucideShare2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1300,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShare2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShare2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShare2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Share\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYxMyIgLz4KICA8cGF0aCBkPSJtMTYgNi00LTQtNCA0IiAvPgogIDxwYXRoIGQ9Ik00IDEydjhhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0ydi04IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/share\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShare = /*#__PURE__*/(() => {\n  class LucideShare extends LucideIconBase {\n    static icon = {\n      name: 'share',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v13',\n        key: '1km8f5'\n      }], ['path', {\n        d: 'm16 6-4-4-4 4',\n        key: '13yo43'\n      }], ['path', {\n        d: 'M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8',\n        key: '1b2hhj'\n      }]]\n    };\n    icon = signal(LucideShare.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShare_BaseFactory;\n      return function LucideShare_Factory(__ngFactoryType__) {\n        return (ɵLucideShare_BaseFactory || (ɵLucideShare_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShare)))(__ngFactoryType__ || LucideShare);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShare,\n      selectors: [[\"svg\", \"lucideShare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1301,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShare_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShare_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShare;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Sheet\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiByeT0iMiIgLz4KICA8bGluZSB4MT0iMyIgeDI9IjIxIiB5MT0iOSIgeTI9IjkiIC8+CiAgPGxpbmUgeDE9IjMiIHgyPSIyMSIgeTE9IjE1IiB5Mj0iMTUiIC8+CiAgPGxpbmUgeDE9IjkiIHgyPSI5IiB5MT0iOSIgeTI9IjIxIiAvPgogIDxsaW5lIHgxPSIxNSIgeDI9IjE1IiB5MT0iOSIgeTI9IjIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/sheet\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSheet = /*#__PURE__*/(() => {\n  class LucideSheet extends LucideIconBase {\n    static icon = {\n      name: 'sheet',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        ry: '2',\n        key: '1m3agn'\n      }], ['line', {\n        x1: '3',\n        x2: '21',\n        y1: '9',\n        y2: '9',\n        key: '1vqk6q'\n      }], ['line', {\n        x1: '3',\n        x2: '21',\n        y1: '15',\n        y2: '15',\n        key: 'o2sbyz'\n      }], ['line', {\n        x1: '9',\n        x2: '9',\n        y1: '9',\n        y2: '21',\n        key: '1ib60c'\n      }], ['line', {\n        x1: '15',\n        x2: '15',\n        y1: '9',\n        y2: '21',\n        key: '1n26ft'\n      }]]\n    };\n    icon = signal(LucideSheet.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSheet_BaseFactory;\n      return function LucideSheet_Factory(__ngFactoryType__) {\n        return (ɵLucideSheet_BaseFactory || (ɵLucideSheet_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSheet)))(__ngFactoryType__ || LucideSheet);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSheet,\n      selectors: [[\"svg\", \"lucideSheet\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1302,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSheet_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSheet_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSheet;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShelvingUnit\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTJWOWExIDEgMCAwIDAtMS0xSDlhMSAxIDAgMCAwLTEgMXYzIiAvPgogIDxwYXRoIGQ9Ik0xNiAyMHYtM2ExIDEgMCAwIDAtMS0xaC0yYTEgMSAwIDAgMC0xIDF2MyIgLz4KICA8cGF0aCBkPSJNMjAgMjJWMiIgLz4KICA8cGF0aCBkPSJNNCAxMmgxNiIgLz4KICA8cGF0aCBkPSJNNCAyMGgxNiIgLz4KICA8cGF0aCBkPSJNNCAydjIwIiAvPgogIDxwYXRoIGQ9Ik00IDRoMTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/shelving-unit\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShelvingUnit = /*#__PURE__*/(() => {\n  class LucideShelvingUnit extends LucideIconBase {\n    static icon = {\n      name: 'shelving-unit',\n      size: 24,\n      node: [['path', {\n        d: 'M12 12V9a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3',\n        key: 'wiz68x'\n      }], ['path', {\n        d: 'M16 20v-3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3',\n        key: '1b59c4'\n      }], ['path', {\n        d: 'M20 22V2',\n        key: '1bnhr8'\n      }], ['path', {\n        d: 'M4 12h16',\n        key: '1lakjw'\n      }], ['path', {\n        d: 'M4 20h16',\n        key: '14thso'\n      }], ['path', {\n        d: 'M4 2v20',\n        key: 'gtpd5x'\n      }], ['path', {\n        d: 'M4 4h16',\n        key: '1bkgr1'\n      }]]\n    };\n    icon = signal(LucideShelvingUnit.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShelvingUnit_BaseFactory;\n      return function LucideShelvingUnit_Factory(__ngFactoryType__) {\n        return (ɵLucideShelvingUnit_BaseFactory || (ɵLucideShelvingUnit_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShelvingUnit)))(__ngFactoryType__ || LucideShelvingUnit);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShelvingUnit,\n      selectors: [[\"svg\", \"lucideShelvingUnit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1303,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShelvingUnit_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShelvingUnit_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShelvingUnit;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Shell\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMTFhMiAyIDAgMSAxLTQgMCA0IDQgMCAwIDEgOCAwIDYgNiAwIDAgMS0xMiAwIDggOCAwIDAgMSAxNiAwIDEwIDEwIDAgMSAxLTIwIDAgMTEuOTMgMTEuOTMgMCAwIDEgMi40Mi03LjIyIDIgMiAwIDEgMSAzLjE2IDIuNDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/shell\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShell = /*#__PURE__*/(() => {\n  class LucideShell extends LucideIconBase {\n    static icon = {\n      name: 'shell',\n      size: 24,\n      node: [['path', {\n        d: 'M14 11a2 2 0 1 1-4 0 4 4 0 0 1 8 0 6 6 0 0 1-12 0 8 8 0 0 1 16 0 10 10 0 1 1-20 0 11.93 11.93 0 0 1 2.42-7.22 2 2 0 1 1 3.16 2.44',\n        key: '1cn552'\n      }]]\n    };\n    icon = signal(LucideShell.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShell_BaseFactory;\n      return function LucideShell_Factory(__ngFactoryType__) {\n        return (ɵLucideShell_BaseFactory || (ɵLucideShell_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShell)))(__ngFactoryType__ || LucideShell);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShell,\n      selectors: [[\"svg\", \"lucideShell\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1304,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShell_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShell_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShell;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShieldAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoiIC8+CiAgPHBhdGggZD0iTTEyIDh2NCIgLz4KICA8cGF0aCBkPSJNMTIgMTZoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/shield-alert\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShieldAlert = /*#__PURE__*/(() => {\n  class LucideShieldAlert extends LucideIconBase {\n    static icon = {\n      name: 'shield-alert',\n      size: 24,\n      node: [['path', {\n        d: 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',\n        key: 'oel41y'\n      }], ['path', {\n        d: 'M12 8v4',\n        key: '1got3b'\n      }], ['path', {\n        d: 'M12 16h.01',\n        key: '1drbdi'\n      }]]\n    };\n    icon = signal(LucideShieldAlert.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShieldAlert_BaseFactory;\n      return function LucideShieldAlert_Factory(__ngFactoryType__) {\n        return (ɵLucideShieldAlert_BaseFactory || (ɵLucideShieldAlert_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShieldAlert)))(__ngFactoryType__ || LucideShieldAlert);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShieldAlert,\n      selectors: [[\"svg\", \"lucideShieldAlert\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1305,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShieldAlert_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShieldAlert_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShieldAlert;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShieldBan\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoiIC8+CiAgPHBhdGggZD0ibTQuMjQzIDUuMjEgMTQuMzkgMTIuNDcyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/shield-ban\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShieldBan = /*#__PURE__*/(() => {\n  class LucideShieldBan extends LucideIconBase {\n    static icon = {\n      name: 'shield-ban',\n      size: 24,\n      node: [['path', {\n        d: 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',\n        key: 'oel41y'\n      }], ['path', {\n        d: 'm4.243 5.21 14.39 12.472',\n        key: '1c9a7c'\n      }]]\n    };\n    icon = signal(LucideShieldBan.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShieldBan_BaseFactory;\n      return function LucideShieldBan_Factory(__ngFactoryType__) {\n        return (ɵLucideShieldBan_BaseFactory || (ɵLucideShieldBan_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShieldBan)))(__ngFactoryType__ || LucideShieldBan);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShieldBan,\n      selectors: [[\"svg\", \"lucideShieldBan\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1306,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShieldBan_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShieldBan_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShieldBan;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShieldCogCorner\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMjJjLTMuODA2LTEuNDUtNy0zLjk2Ni03LTlWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF2NCIgLz4KICA8cGF0aCBkPSJNMTQuOTIzIDE2LjU0NyAxNCAxNi4xNjQiIC8+CiAgPHBhdGggZD0ibTE0LjkyMyAxOC44NDMtLjkyMy4zODMiIC8+CiAgPHBhdGggZD0iTTE2LjU0NyAxNC45MjMgMTYuMTY0IDE0IiAvPgogIDxwYXRoIGQ9Im0xNi41NDcgMjAuNDY3LS4zODMuOTI0IiAvPgogIDxwYXRoIGQ9Im0xOC44NDMgMTQuOTIzLjM4My0uOTIzIiAvPgogIDxwYXRoIGQ9Im0xOS4yMjUgMjEuMzkxLS4zODItLjkyNCIgLz4KICA8cGF0aCBkPSJtMjAuNDY3IDE2LjU0Ny45MjMtLjM4MyIgLz4KICA8cGF0aCBkPSJtMjAuNDY3IDE4Ljg0My45MjMuMzgzIiAvPgogIDxjaXJjbGUgY3g9IjE3LjY5NSIgY3k9IjE3LjY5NSIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/shield-cog-corner\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShieldCogCorner = /*#__PURE__*/(() => {\n  class LucideShieldCogCorner extends LucideIconBase {\n    static icon = {\n      name: 'shield-cog-corner',\n      size: 24,\n      node: [['path', {\n        d: 'M11 22c-3.806-1.45-7-3.966-7-9V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v4',\n        key: 'hf1sz5'\n      }], ['path', {\n        d: 'M14.923 16.547 14 16.164',\n        key: '41f878'\n      }], ['path', {\n        d: 'm14.923 18.843-.923.383',\n        key: '82rvv5'\n      }], ['path', {\n        d: 'M16.547 14.923 16.164 14',\n        key: '1r7ypn'\n      }], ['path', {\n        d: 'm16.547 20.467-.383.924',\n        key: 'au4kyj'\n      }], ['path', {\n        d: 'm18.843 14.923.383-.923',\n        key: '1cbrwq'\n      }], ['path', {\n        d: 'm19.225 21.391-.382-.924',\n        key: '1u2bh9'\n      }], ['path', {\n        d: 'm20.467 16.547.923-.383',\n        key: 'cprboc'\n      }], ['path', {\n        d: 'm20.467 18.843.923.383',\n        key: 'inm8l2'\n      }], ['circle', {\n        cx: '17.695',\n        cy: '17.695',\n        r: '3',\n        key: '1i1rmh'\n      }]]\n    };\n    icon = signal(LucideShieldCogCorner.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShieldCogCorner_BaseFactory;\n      return function LucideShieldCogCorner_Factory(__ngFactoryType__) {\n        return (ɵLucideShieldCogCorner_BaseFactory || (ɵLucideShieldCogCorner_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShieldCogCorner)))(__ngFactoryType__ || LucideShieldCogCorner);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShieldCogCorner,\n      selectors: [[\"svg\", \"lucideShieldCogCorner\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1307,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShieldCogCorner_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShieldCogCorner_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShieldCogCorner;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShieldCog\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAuOTI5IDE0LjQ2Ny0uMzgzLjkyNCIgLz4KICA8cGF0aCBkPSJNMTAuOTI5IDguOTIzIDEwLjU0NiA4IiAvPgogIDxwYXRoIGQ9Ik0xMy4yMjUgOC45MjMgMTMuNjA4IDgiIC8+CiAgPHBhdGggZD0ibTEzLjYwNyAxNS4zOTEtLjM4Mi0uOTI0IiAvPgogIDxwYXRoIGQ9Im0xNC44NDkgMTAuNTQ3LjkyMy0uMzgzIiAvPgogIDxwYXRoIGQ9Im0xNC44NDkgMTIuODQzLjkyMy4zODMiIC8+CiAgPHBhdGggZD0iTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6IiAvPgogIDxwYXRoIGQ9Im05LjMwNSAxMC41NDctLjkyMy0uMzgzIiAvPgogIDxwYXRoIGQ9Im05LjMwNSAxMi44NDMtLjkyMy4zODMiIC8+CiAgPGNpcmNsZSBjeD0iMTIuMDc3IiBjeT0iMTEuNjk1IiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/shield-cog\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShieldCog = /*#__PURE__*/(() => {\n  class LucideShieldCog extends LucideIconBase {\n    static icon = {\n      name: 'shield-cog',\n      size: 24,\n      node: [['path', {\n        d: 'm10.929 14.467-.383.924',\n        key: 'hdyevy'\n      }], ['path', {\n        d: 'M10.929 8.923 10.546 8',\n        key: '1nr44d'\n      }], ['path', {\n        d: 'M13.225 8.923 13.608 8',\n        key: 'aewley'\n      }], ['path', {\n        d: 'm13.607 15.391-.382-.924',\n        key: 'm37gf1'\n      }], ['path', {\n        d: 'm14.849 10.547.923-.383',\n        key: '1d3c4q'\n      }], ['path', {\n        d: 'm14.849 12.843.923.383',\n        key: 'lmvhy3'\n      }], ['path', {\n        d: 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',\n        key: 'oel41y'\n      }], ['path', {\n        d: 'm9.305 10.547-.923-.383',\n        key: '1d13ox'\n      }], ['path', {\n        d: 'm9.305 12.843-.923.383',\n        key: '7wxwh5'\n      }], ['circle', {\n        cx: '12.077',\n        cy: '11.695',\n        r: '3',\n        key: 'fse9k8'\n      }]]\n    };\n    icon = signal(LucideShieldCog.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShieldCog_BaseFactory;\n      return function LucideShieldCog_Factory(__ngFactoryType__) {\n        return (ɵLucideShieldCog_BaseFactory || (ɵLucideShieldCog_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShieldCog)))(__ngFactoryType__ || LucideShieldCog);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShieldCog,\n      selectors: [[\"svg\", \"lucideShieldCog\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1308,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShieldCog_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShieldCog_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShieldCog;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShieldCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoiIC8+CiAgPHBhdGggZD0ibTkgMTIgMiAyIDQtNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/shield-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShieldCheck = /*#__PURE__*/(() => {\n  class LucideShieldCheck extends LucideIconBase {\n    static icon = {\n      name: 'shield-check',\n      size: 24,\n      node: [['path', {\n        d: 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',\n        key: 'oel41y'\n      }], ['path', {\n        d: 'm9 12 2 2 4-4',\n        key: 'dzmm74'\n      }]]\n    };\n    icon = signal(LucideShieldCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShieldCheck_BaseFactory;\n      return function LucideShieldCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideShieldCheck_BaseFactory || (ɵLucideShieldCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShieldCheck)))(__ngFactoryType__ || LucideShieldCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShieldCheck,\n      selectors: [[\"svg\", \"lucideShieldCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1309,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShieldCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShieldCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShieldCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShieldEllipsis\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoiIC8+CiAgPHBhdGggZD0iTTggMTJoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMiAxMmguMDEiIC8+CiAgPHBhdGggZD0iTTE2IDEyaC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/shield-ellipsis\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShieldEllipsis = /*#__PURE__*/(() => {\n  class LucideShieldEllipsis extends LucideIconBase {\n    static icon = {\n      name: 'shield-ellipsis',\n      size: 24,\n      node: [['path', {\n        d: 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',\n        key: 'oel41y'\n      }], ['path', {\n        d: 'M8 12h.01',\n        key: 'czm47f'\n      }], ['path', {\n        d: 'M12 12h.01',\n        key: '1mp3jc'\n      }], ['path', {\n        d: 'M16 12h.01',\n        key: '1l6xoz'\n      }]]\n    };\n    icon = signal(LucideShieldEllipsis.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShieldEllipsis_BaseFactory;\n      return function LucideShieldEllipsis_Factory(__ngFactoryType__) {\n        return (ɵLucideShieldEllipsis_BaseFactory || (ɵLucideShieldEllipsis_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShieldEllipsis)))(__ngFactoryType__ || LucideShieldEllipsis);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShieldEllipsis,\n      selectors: [[\"svg\", \"lucideShieldEllipsis\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1310,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShieldEllipsis_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShieldEllipsis_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShieldEllipsis;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShieldHalf\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoiIC8+CiAgPHBhdGggZD0iTTEyIDIyVjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/shield-half\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShieldHalf = /*#__PURE__*/(() => {\n  class LucideShieldHalf extends LucideIconBase {\n    static icon = {\n      name: 'shield-half',\n      size: 24,\n      node: [['path', {\n        d: 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',\n        key: 'oel41y'\n      }], ['path', {\n        d: 'M12 22V2',\n        key: 'zs6s6o'\n      }]]\n    };\n    icon = signal(LucideShieldHalf.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShieldHalf_BaseFactory;\n      return function LucideShieldHalf_Factory(__ngFactoryType__) {\n        return (ɵLucideShieldHalf_BaseFactory || (ɵLucideShieldHalf_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShieldHalf)))(__ngFactoryType__ || LucideShieldHalf);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShieldHalf,\n      selectors: [[\"svg\", \"lucideShieldHalf\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1311,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShieldHalf_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShieldHalf_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShieldHalf;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShieldMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoiIC8+CiAgPHBhdGggZD0iTTkgMTJoNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/shield-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShieldMinus = /*#__PURE__*/(() => {\n  class LucideShieldMinus extends LucideIconBase {\n    static icon = {\n      name: 'shield-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',\n        key: 'oel41y'\n      }], ['path', {\n        d: 'M9 12h6',\n        key: '1c52cq'\n      }]]\n    };\n    icon = signal(LucideShieldMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShieldMinus_BaseFactory;\n      return function LucideShieldMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideShieldMinus_BaseFactory || (ɵLucideShieldMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShieldMinus)))(__ngFactoryType__ || LucideShieldMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShieldMinus,\n      selectors: [[\"svg\", \"lucideShieldMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1312,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShieldMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShieldMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShieldMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShieldOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik01IDVhMSAxIDAgMCAwLTEgMXY3YzAgNSAzLjUgNy41IDcuNjcgOC45NGExIDEgMCAwIDAgLjY3LjAxYzIuMzUtLjgyIDQuNDgtMS45NyA1LjktMy43MSIgLz4KICA8cGF0aCBkPSJNOS4zMDkgMy42NTJBMTIuMjUyIDEyLjI1MiAwIDAgMCAxMS4yNCAyLjI4YTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXY3YTkuNzg0IDkuNzg0IDAgMCAxLS4wOCAxLjI2NCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/shield-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShieldOff = /*#__PURE__*/(() => {\n  class LucideShieldOff extends LucideIconBase {\n    static icon = {\n      name: 'shield-off',\n      size: 24,\n      node: [['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71',\n        key: '1jlk70'\n      }], ['path', {\n        d: 'M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264',\n        key: '18rp1v'\n      }]]\n    };\n    icon = signal(LucideShieldOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShieldOff_BaseFactory;\n      return function LucideShieldOff_Factory(__ngFactoryType__) {\n        return (ɵLucideShieldOff_BaseFactory || (ɵLucideShieldOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShieldOff)))(__ngFactoryType__ || LucideShieldOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShieldOff,\n      selectors: [[\"svg\", \"lucideShieldOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1313,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShieldOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShieldOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShieldOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShieldPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoiIC8+CiAgPHBhdGggZD0iTTkgMTJoNiIgLz4KICA8cGF0aCBkPSJNMTIgOXY2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/shield-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShieldPlus = /*#__PURE__*/(() => {\n  class LucideShieldPlus extends LucideIconBase {\n    static icon = {\n      name: 'shield-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',\n        key: 'oel41y'\n      }], ['path', {\n        d: 'M9 12h6',\n        key: '1c52cq'\n      }], ['path', {\n        d: 'M12 9v6',\n        key: '199k2o'\n      }]]\n    };\n    icon = signal(LucideShieldPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShieldPlus_BaseFactory;\n      return function LucideShieldPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideShieldPlus_BaseFactory || (ɵLucideShieldPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShieldPlus)))(__ngFactoryType__ || LucideShieldPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShieldPlus,\n      selectors: [[\"svg\", \"lucideShieldPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1314,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShieldPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShieldPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShieldPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShieldQuestionMark\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoiIC8+CiAgPHBhdGggZD0iTTkuMSA5YTMgMyAwIDAgMSA1LjgyIDFjMCAyLTMgMy0zIDMiIC8+CiAgPHBhdGggZD0iTTEyIDE3aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/shield-question-mark\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShieldQuestionMark = /*#__PURE__*/(() => {\n  class LucideShieldQuestionMark extends LucideIconBase {\n    static icon = {\n      name: 'shield-question-mark',\n      size: 24,\n      node: [['path', {\n        d: 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',\n        key: 'oel41y'\n      }], ['path', {\n        d: 'M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3',\n        key: 'mhlwft'\n      }], ['path', {\n        d: 'M12 17h.01',\n        key: 'p32p05'\n      }]],\n      aliases: ['shield-question']\n    };\n    icon = signal(LucideShieldQuestionMark.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShieldQuestionMark_BaseFactory;\n      return function LucideShieldQuestionMark_Factory(__ngFactoryType__) {\n        return (ɵLucideShieldQuestionMark_BaseFactory || (ɵLucideShieldQuestionMark_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShieldQuestionMark)))(__ngFactoryType__ || LucideShieldQuestionMark);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShieldQuestionMark,\n      selectors: [[\"svg\", \"lucideShieldQuestionMark\", \"\"], [\"svg\", \"lucideShieldQuestion\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1315,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShieldQuestionMark_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShieldQuestionMark_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShieldQuestionMark;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideShieldQuestionMark\n */\nconst LucideShieldQuestion = LucideShieldQuestionMark;\n\n/**\n * @component @name ShieldX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoiIC8+CiAgPHBhdGggZD0ibTE0LjUgOS41LTUgNSIgLz4KICA8cGF0aCBkPSJtOS41IDkuNSA1IDUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/shield-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShieldX = /*#__PURE__*/(() => {\n  class LucideShieldX extends LucideIconBase {\n    static icon = {\n      name: 'shield-x',\n      size: 24,\n      node: [['path', {\n        d: 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',\n        key: 'oel41y'\n      }], ['path', {\n        d: 'm14.5 9.5-5 5',\n        key: '17q4r4'\n      }], ['path', {\n        d: 'm9.5 9.5 5 5',\n        key: '18nt4w'\n      }]],\n      aliases: ['shield-close']\n    };\n    icon = signal(LucideShieldX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShieldX_BaseFactory;\n      return function LucideShieldX_Factory(__ngFactoryType__) {\n        return (ɵLucideShieldX_BaseFactory || (ɵLucideShieldX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShieldX)))(__ngFactoryType__ || LucideShieldX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShieldX,\n      selectors: [[\"svg\", \"lucideShieldX\", \"\"], [\"svg\", \"lucideShieldClose\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1316,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShieldX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShieldX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShieldX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideShieldX\n */\nconst LucideShieldClose = LucideShieldX;\n\n/**\n * @component @name ShieldUser\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoiIC8+CiAgPHBhdGggZD0iTTYuMzc2IDE4LjkxYTYgNiAwIDAgMSAxMS4yNDkuMDAzIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTEiIHI9IjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/shield-user\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShieldUser = /*#__PURE__*/(() => {\n  class LucideShieldUser extends LucideIconBase {\n    static icon = {\n      name: 'shield-user',\n      size: 24,\n      node: [['path', {\n        d: 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',\n        key: 'oel41y'\n      }], ['path', {\n        d: 'M6.376 18.91a6 6 0 0 1 11.249.003',\n        key: 'hnjrf2'\n      }], ['circle', {\n        cx: '12',\n        cy: '11',\n        r: '4',\n        key: '1gt34v'\n      }]]\n    };\n    icon = signal(LucideShieldUser.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShieldUser_BaseFactory;\n      return function LucideShieldUser_Factory(__ngFactoryType__) {\n        return (ɵLucideShieldUser_BaseFactory || (ɵLucideShieldUser_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShieldUser)))(__ngFactoryType__ || LucideShieldUser);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShieldUser,\n      selectors: [[\"svg\", \"lucideShieldUser\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1317,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShieldUser_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShieldUser_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShieldUser;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Shield\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/shield\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShield = /*#__PURE__*/(() => {\n  class LucideShield extends LucideIconBase {\n    static icon = {\n      name: 'shield',\n      size: 24,\n      node: [['path', {\n        d: 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',\n        key: 'oel41y'\n      }]]\n    };\n    icon = signal(LucideShield.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShield_BaseFactory;\n      return function LucideShield_Factory(__ngFactoryType__) {\n        return (ɵLucideShield_BaseFactory || (ɵLucideShield_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShield)))(__ngFactoryType__ || LucideShield);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShield,\n      selectors: [[\"svg\", \"lucideShield\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1318,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShield_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShield_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShield;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Shirt\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAuMzggMy40NiAxNiAyYTQgNCAwIDAgMS04IDBMMy42MiAzLjQ2YTIgMiAwIDAgMC0xLjM0IDIuMjNsLjU4IDMuNDdhMSAxIDAgMCAwIC45OS44NEg2djEwYzAgMS4xLjkgMiAyIDJoOGEyIDIgMCAwIDAgMi0yVjEwaDIuMTVhMSAxIDAgMCAwIC45OS0uODRsLjU4LTMuNDdhMiAyIDAgMCAwLTEuMzQtMi4yM3oiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/shirt\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShirt = /*#__PURE__*/(() => {\n  class LucideShirt extends LucideIconBase {\n    static icon = {\n      name: 'shirt',\n      size: 24,\n      node: [['path', {\n        d: 'M20.38 3.46 16 2a4 4 0 0 1-8 0L3.62 3.46a2 2 0 0 0-1.34 2.23l.58 3.47a1 1 0 0 0 .99.84H6v10c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V10h2.15a1 1 0 0 0 .99-.84l.58-3.47a2 2 0 0 0-1.34-2.23z',\n        key: '1wgbhj'\n      }]]\n    };\n    icon = signal(LucideShirt.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShirt_BaseFactory;\n      return function LucideShirt_Factory(__ngFactoryType__) {\n        return (ɵLucideShirt_BaseFactory || (ɵLucideShirt_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShirt)))(__ngFactoryType__ || LucideShirt);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShirt,\n      selectors: [[\"svg\", \"lucideShirt\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1319,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShirt_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShirt_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShirt;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ship\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTAuMTg5VjE0IiAvPgogIDxwYXRoIGQ9Ik0xMiAydjMiIC8+CiAgPHBhdGggZD0iTTE5IDEzVjdhMiAyIDAgMCAwLTItMkg3YTIgMiAwIDAgMC0yIDJ2NiIgLz4KICA8cGF0aCBkPSJNMTkuMzggMjBBMTEuNiAxMS42IDAgMCAwIDIxIDE0bC04LjE4OC0zLjYzOWEyIDIgMCAwIDAtMS42MjQgMEwzIDE0YTExLjYgMTEuNiAwIDAgMCAyLjgxIDcuNzYiIC8+CiAgPHBhdGggZD0iTTIgMjFjLjYuNSAxLjIgMSAyLjUgMSAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDFzMS4yIDEgMi41IDFjMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ship\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShip = /*#__PURE__*/(() => {\n  class LucideShip extends LucideIconBase {\n    static icon = {\n      name: 'ship',\n      size: 24,\n      node: [['path', {\n        d: 'M12 10.189V14',\n        key: '1p8cqu'\n      }], ['path', {\n        d: 'M12 2v3',\n        key: 'qbqxhf'\n      }], ['path', {\n        d: 'M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6',\n        key: 'qpkstq'\n      }], ['path', {\n        d: 'M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76',\n        key: '7tigtc'\n      }], ['path', {\n        d: 'M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1',\n        key: '1924j5'\n      }]]\n    };\n    icon = signal(LucideShip.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShip_BaseFactory;\n      return function LucideShip_Factory(__ngFactoryType__) {\n        return (ɵLucideShip_BaseFactory || (ɵLucideShip_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShip)))(__ngFactoryType__ || LucideShip);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShip,\n      selectors: [[\"svg\", \"lucideShip\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1320,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShip_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShip_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShip;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShipWheel\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4IiAvPgogIDxwYXRoIGQ9Ik0xMiAydjcuNSIgLz4KICA8cGF0aCBkPSJtMTkgNS01LjIzIDUuMjMiIC8+CiAgPHBhdGggZD0iTTIyIDEyaC03LjUiIC8+CiAgPHBhdGggZD0ibTE5IDE5LTUuMjMtNS4yMyIgLz4KICA8cGF0aCBkPSJNMTIgMTQuNVYyMiIgLz4KICA8cGF0aCBkPSJNMTAuMjMgMTMuNzcgNSAxOSIgLz4KICA8cGF0aCBkPSJNOS41IDEySDIiIC8+CiAgPHBhdGggZD0iTTEwLjIzIDEwLjIzIDUgNSIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyLjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/ship-wheel\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShipWheel = /*#__PURE__*/(() => {\n  class LucideShipWheel extends LucideIconBase {\n    static icon = {\n      name: 'ship-wheel',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '8',\n        key: '46899m'\n      }], ['path', {\n        d: 'M12 2v7.5',\n        key: '1e5rl5'\n      }], ['path', {\n        d: 'm19 5-5.23 5.23',\n        key: '1ezxxf'\n      }], ['path', {\n        d: 'M22 12h-7.5',\n        key: 'le1719'\n      }], ['path', {\n        d: 'm19 19-5.23-5.23',\n        key: 'p3fmgn'\n      }], ['path', {\n        d: 'M12 14.5V22',\n        key: 'dgcmos'\n      }], ['path', {\n        d: 'M10.23 13.77 5 19',\n        key: 'qwopd4'\n      }], ['path', {\n        d: 'M9.5 12H2',\n        key: 'r7bup8'\n      }], ['path', {\n        d: 'M10.23 10.23 5 5',\n        key: 'k2y7lj'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '2.5',\n        key: 'ix0uyj'\n      }]]\n    };\n    icon = signal(LucideShipWheel.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShipWheel_BaseFactory;\n      return function LucideShipWheel_Factory(__ngFactoryType__) {\n        return (ɵLucideShipWheel_BaseFactory || (ɵLucideShipWheel_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShipWheel)))(__ngFactoryType__ || LucideShipWheel);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShipWheel,\n      selectors: [[\"svg\", \"lucideShipWheel\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1321,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShipWheel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShipWheel_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShipWheel;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShoppingBag\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTBhNCA0IDAgMCAxLTggMCIgLz4KICA8cGF0aCBkPSJNMy4xMDMgNi4wMzRoMTcuNzk0IiAvPgogIDxwYXRoIGQ9Ik0zLjQgNS40NjdhMiAyIDAgMCAwLS40IDEuMlYyMGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJWNi42NjdhMiAyIDAgMCAwLS40LTEuMmwtMi0yLjY2N0EyIDIgMCAwIDAgMTcgMkg3YTIgMiAwIDAgMC0xLjYuOHoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/shopping-bag\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShoppingBag = /*#__PURE__*/(() => {\n  class LucideShoppingBag extends LucideIconBase {\n    static icon = {\n      name: 'shopping-bag',\n      size: 24,\n      node: [['path', {\n        d: 'M16 10a4 4 0 0 1-8 0',\n        key: '1ltviw'\n      }], ['path', {\n        d: 'M3.103 6.034h17.794',\n        key: 'awc11p'\n      }], ['path', {\n        d: 'M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z',\n        key: 'o988cm'\n      }]]\n    };\n    icon = signal(LucideShoppingBag.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShoppingBag_BaseFactory;\n      return function LucideShoppingBag_Factory(__ngFactoryType__) {\n        return (ɵLucideShoppingBag_BaseFactory || (ɵLucideShoppingBag_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShoppingBag)))(__ngFactoryType__ || LucideShoppingBag);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShoppingBag,\n      selectors: [[\"svg\", \"lucideShoppingBag\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1322,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShoppingBag_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShoppingBag_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShoppingBag;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShoppingCart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI4IiBjeT0iMjEiIHI9IjEiIC8+CiAgPGNpcmNsZSBjeD0iMTkiIGN5PSIyMSIgcj0iMSIgLz4KICA8cGF0aCBkPSJNMi4wNSAyLjA1aDJsMi42NiAxMi40MmEyIDIgMCAwIDAgMiAxLjU4aDkuNzhhMiAyIDAgMCAwIDEuOTUtMS41N2wxLjY1LTcuNDNINS4xMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/shopping-cart\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShoppingCart = /*#__PURE__*/(() => {\n  class LucideShoppingCart extends LucideIconBase {\n    static icon = {\n      name: 'shopping-cart',\n      size: 24,\n      node: [['circle', {\n        cx: '8',\n        cy: '21',\n        r: '1',\n        key: 'jimo8o'\n      }], ['circle', {\n        cx: '19',\n        cy: '21',\n        r: '1',\n        key: '13723u'\n      }], ['path', {\n        d: 'M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12',\n        key: '9zh506'\n      }]]\n    };\n    icon = signal(LucideShoppingCart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShoppingCart_BaseFactory;\n      return function LucideShoppingCart_Factory(__ngFactoryType__) {\n        return (ɵLucideShoppingCart_BaseFactory || (ɵLucideShoppingCart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShoppingCart)))(__ngFactoryType__ || LucideShoppingCart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShoppingCart,\n      selectors: [[\"svg\", \"lucideShoppingCart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1323,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShoppingCart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShoppingCart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShoppingCart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShoppingBasket\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMTEtMSA5IiAvPgogIDxwYXRoIGQ9Im0xOSAxMS00LTciIC8+CiAgPHBhdGggZD0iTTIgMTFoMjAiIC8+CiAgPHBhdGggZD0ibTMuNSAxMSAxLjYgNy40YTIgMiAwIDAgMCAyIDEuNmg5LjhhMiAyIDAgMCAwIDItMS42bDEuNy03LjQiIC8+CiAgPHBhdGggZD0iTTQuNSAxNS41aDE1IiAvPgogIDxwYXRoIGQ9Im01IDExIDQtNyIgLz4KICA8cGF0aCBkPSJtOSAxMSAxIDkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/shopping-basket\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShoppingBasket = /*#__PURE__*/(() => {\n  class LucideShoppingBasket extends LucideIconBase {\n    static icon = {\n      name: 'shopping-basket',\n      size: 24,\n      node: [['path', {\n        d: 'm15 11-1 9',\n        key: '5wnq3a'\n      }], ['path', {\n        d: 'm19 11-4-7',\n        key: 'cnml18'\n      }], ['path', {\n        d: 'M2 11h20',\n        key: '3eubbj'\n      }], ['path', {\n        d: 'm3.5 11 1.6 7.4a2 2 0 0 0 2 1.6h9.8a2 2 0 0 0 2-1.6l1.7-7.4',\n        key: 'yiazzp'\n      }], ['path', {\n        d: 'M4.5 15.5h15',\n        key: '13mye1'\n      }], ['path', {\n        d: 'm5 11 4-7',\n        key: '116ra9'\n      }], ['path', {\n        d: 'm9 11 1 9',\n        key: '1ojof7'\n      }]]\n    };\n    icon = signal(LucideShoppingBasket.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShoppingBasket_BaseFactory;\n      return function LucideShoppingBasket_Factory(__ngFactoryType__) {\n        return (ɵLucideShoppingBasket_BaseFactory || (ɵLucideShoppingBasket_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShoppingBasket)))(__ngFactoryType__ || LucideShoppingBasket);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShoppingBasket,\n      selectors: [[\"svg\", \"lucideShoppingBasket\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1324,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShoppingBasket_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShoppingBasket_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShoppingBasket;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Shovel\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEuNTYgNC41NmExLjUgMS41IDAgMCAxIDAgMi4xMjJsLS40Ny40N2EzIDMgMCAwIDEtNC4yMTItLjAzIDMgMyAwIDAgMSAwLTQuMjQzbC40NC0uNDRhMS41IDEuNSAwIDAgMSAyLjEyMSAweiIgLz4KICA8cGF0aCBkPSJNMyAyMmExIDEgMCAwIDEtMS0xdi0zLjU4NmExIDEgMCAwIDEgLjI5My0uNzA3bDMuMzU1LTMuMzU1YTEuMjA1IDEuMjA1IDAgMCAxIDEuNzA0IDBsMy4yOTYgMy4yOTZhMS4yMDUgMS4yMDUgMCAwIDEgMCAxLjcwNGwtMy4zNTUgMy4zNTVhMSAxIDAgMCAxLS43MDcuMjkzeiIgLz4KICA8cGF0aCBkPSJtOSAxNSA3Ljg3OS03Ljg3OCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/shovel\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShovel = /*#__PURE__*/(() => {\n  class LucideShovel extends LucideIconBase {\n    static icon = {\n      name: 'shovel',\n      size: 24,\n      node: [['path', {\n        d: 'M21.56 4.56a1.5 1.5 0 0 1 0 2.122l-.47.47a3 3 0 0 1-4.212-.03 3 3 0 0 1 0-4.243l.44-.44a1.5 1.5 0 0 1 2.121 0z',\n        key: '1gcedi'\n      }], ['path', {\n        d: 'M3 22a1 1 0 0 1-1-1v-3.586a1 1 0 0 1 .293-.707l3.355-3.355a1.205 1.205 0 0 1 1.704 0l3.296 3.296a1.205 1.205 0 0 1 0 1.704l-3.355 3.355a1 1 0 0 1-.707.293z',\n        key: 'pg9kv3'\n      }], ['path', {\n        d: 'm9 15 7.879-7.878',\n        key: '1o1zgh'\n      }]]\n    };\n    icon = signal(LucideShovel.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShovel_BaseFactory;\n      return function LucideShovel_Factory(__ngFactoryType__) {\n        return (ɵLucideShovel_BaseFactory || (ɵLucideShovel_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShovel)))(__ngFactoryType__ || LucideShovel);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShovel,\n      selectors: [[\"svg\", \"lucideShovel\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1325,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShovel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShovel_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShovel;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ShowerHead\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNCA0IDIuNSAyLjUiIC8+CiAgPHBhdGggZD0iTTEzLjUgNi41YTQuOTUgNC45NSAwIDAgMC03IDciIC8+CiAgPHBhdGggZD0iTTE1IDUgNSAxNSIgLz4KICA8cGF0aCBkPSJNMTQgMTd2LjAxIiAvPgogIDxwYXRoIGQ9Ik0xMCAxNnYuMDEiIC8+CiAgPHBhdGggZD0iTTEzIDEzdi4wMSIgLz4KICA8cGF0aCBkPSJNMTYgMTB2LjAxIiAvPgogIDxwYXRoIGQ9Ik0xMSAyMHYuMDEiIC8+CiAgPHBhdGggZD0iTTE3IDE0di4wMSIgLz4KICA8cGF0aCBkPSJNMjAgMTF2LjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/shower-head\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShowerHead = /*#__PURE__*/(() => {\n  class LucideShowerHead extends LucideIconBase {\n    static icon = {\n      name: 'shower-head',\n      size: 24,\n      node: [['path', {\n        d: 'm4 4 2.5 2.5',\n        key: 'uv2vmf'\n      }], ['path', {\n        d: 'M13.5 6.5a4.95 4.95 0 0 0-7 7',\n        key: 'frdkwv'\n      }], ['path', {\n        d: 'M15 5 5 15',\n        key: '1ag8rq'\n      }], ['path', {\n        d: 'M14 17v.01',\n        key: 'eokfpp'\n      }], ['path', {\n        d: 'M10 16v.01',\n        key: '14uyyl'\n      }], ['path', {\n        d: 'M13 13v.01',\n        key: '1v1k97'\n      }], ['path', {\n        d: 'M16 10v.01',\n        key: '5169yg'\n      }], ['path', {\n        d: 'M11 20v.01',\n        key: 'cj92p8'\n      }], ['path', {\n        d: 'M17 14v.01',\n        key: '11cswd'\n      }], ['path', {\n        d: 'M20 11v.01',\n        key: '19e0od'\n      }]]\n    };\n    icon = signal(LucideShowerHead.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShowerHead_BaseFactory;\n      return function LucideShowerHead_Factory(__ngFactoryType__) {\n        return (ɵLucideShowerHead_BaseFactory || (ɵLucideShowerHead_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShowerHead)))(__ngFactoryType__ || LucideShowerHead);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShowerHead,\n      selectors: [[\"svg\", \"lucideShowerHead\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1326,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShowerHead_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShowerHead_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShowerHead;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Shrimp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTJoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMyAyMmMuNS0uNSAxLjEyLTEgMi41LTEtMS4zOCAwLTItLjUtMi41LTEiIC8+CiAgPHBhdGggZD0iTTE0IDJhMy4yOCAzLjI4IDAgMCAxLTMuMjI3IDEuNzk4bC02LjE3LS41NjFBMi4zODcgMi4zODcgMCAxIDAgNC4zODcgOEgxNS41YTEgMSAwIDAgMSAwIDEzIDEgMSAwIDAgMCAwLTVIMTJhNyA3IDAgMCAxLTctN1Y4IiAvPgogIDxwYXRoIGQ9Ik0xNCA4YTguNSA4LjUgMCAwIDEgMCA4IiAvPgogIDxwYXRoIGQ9Ik0xNiAxNmMyIDAgNC41LTQgNC02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/shrimp\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShrimp = /*#__PURE__*/(() => {\n  class LucideShrimp extends LucideIconBase {\n    static icon = {\n      name: 'shrimp',\n      size: 24,\n      node: [['path', {\n        d: 'M11 12h.01',\n        key: '1lr4k6'\n      }], ['path', {\n        d: 'M13 22c.5-.5 1.12-1 2.5-1-1.38 0-2-.5-2.5-1',\n        key: 'fatpdi'\n      }], ['path', {\n        d: 'M14 2a3.28 3.28 0 0 1-3.227 1.798l-6.17-.561A2.387 2.387 0 1 0 4.387 8H15.5a1 1 0 0 1 0 13 1 1 0 0 0 0-5H12a7 7 0 0 1-7-7V8',\n        key: 'kehrqe'\n      }], ['path', {\n        d: 'M14 8a8.5 8.5 0 0 1 0 8',\n        key: '1imjx2'\n      }], ['path', {\n        d: 'M16 16c2 0 4.5-4 4-6',\n        key: 'z0nejz'\n      }]]\n    };\n    icon = signal(LucideShrimp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShrimp_BaseFactory;\n      return function LucideShrimp_Factory(__ngFactoryType__) {\n        return (ɵLucideShrimp_BaseFactory || (ɵLucideShrimp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShrimp)))(__ngFactoryType__ || LucideShrimp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShrimp,\n      selectors: [[\"svg\", \"lucideShrimp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1327,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShrimp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShrimp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShrimp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Shrink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMTUgNiA2bS02LTZ2NC44bTAtNC44aDQuOCIgLz4KICA8cGF0aCBkPSJNOSAxOS44VjE1bTAgMEg0LjJNOSAxNWwtNiA2IiAvPgogIDxwYXRoIGQ9Ik0xNSA0LjJWOW0wIDBoNC44TTE1IDlsNi02IiAvPgogIDxwYXRoIGQ9Ik05IDQuMlY5bTAgMEg0LjJNOSA5IDMgMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/shrink\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShrink = /*#__PURE__*/(() => {\n  class LucideShrink extends LucideIconBase {\n    static icon = {\n      name: 'shrink',\n      size: 24,\n      node: [['path', {\n        d: 'm15 15 6 6m-6-6v4.8m0-4.8h4.8',\n        key: '17vawe'\n      }], ['path', {\n        d: 'M9 19.8V15m0 0H4.2M9 15l-6 6',\n        key: 'chjx8e'\n      }], ['path', {\n        d: 'M15 4.2V9m0 0h4.8M15 9l6-6',\n        key: 'lav6yq'\n      }], ['path', {\n        d: 'M9 4.2V9m0 0H4.2M9 9 3 3',\n        key: '1pxi2q'\n      }]]\n    };\n    icon = signal(LucideShrink.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShrink_BaseFactory;\n      return function LucideShrink_Factory(__ngFactoryType__) {\n        return (ɵLucideShrink_BaseFactory || (ɵLucideShrink_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShrink)))(__ngFactoryType__ || LucideShrink);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShrink,\n      selectors: [[\"svg\", \"lucideShrink\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1328,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShrink_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShrink_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShrink;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Shredder\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxM1Y0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2NSIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTAgMjJ2LTUiIC8+CiAgPHBhdGggZD0iTTE0IDE5di0yIiAvPgogIDxwYXRoIGQ9Ik0xOCAyMHYtMyIgLz4KICA8cGF0aCBkPSJNMiAxM2gyMCIgLz4KICA8cGF0aCBkPSJNNiAyMHYtMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/shredder\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShredder = /*#__PURE__*/(() => {\n  class LucideShredder extends LucideIconBase {\n    static icon = {\n      name: 'shredder',\n      size: 24,\n      node: [['path', {\n        d: 'M4 13V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5',\n        key: '1eob4r'\n      }], ['path', {\n        d: 'M14 2v5a1 1 0 0 0 1 1h5',\n        key: 'wfsgrz'\n      }], ['path', {\n        d: 'M10 22v-5',\n        key: 'sfixh4'\n      }], ['path', {\n        d: 'M14 19v-2',\n        key: 'pdve8j'\n      }], ['path', {\n        d: 'M18 20v-3',\n        key: 'uox2gk'\n      }], ['path', {\n        d: 'M2 13h20',\n        key: '5evz65'\n      }], ['path', {\n        d: 'M6 20v-3',\n        key: 'c6pdcb'\n      }]]\n    };\n    icon = signal(LucideShredder.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShredder_BaseFactory;\n      return function LucideShredder_Factory(__ngFactoryType__) {\n        return (ɵLucideShredder_BaseFactory || (ɵLucideShredder_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShredder)))(__ngFactoryType__ || LucideShredder);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShredder,\n      selectors: [[\"svg\", \"lucideShredder\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1329,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShredder_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShredder_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShredder;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Shrub\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJ2LTUuMTcyYTIgMiAwIDAgMC0uNTg2LTEuNDE0TDkuNSAxMy41IiAvPgogIDxwYXRoIGQ9Ik0xNC41IDE0LjUgMTIgMTciIC8+CiAgPHBhdGggZD0iTTE3IDguOEE2IDYgMCAwIDEgMTMuOCAyMEgxMEE2LjUgNi41IDAgMCAxIDcgOGE1IDUgMCAwIDEgMTAgMHoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/shrub\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShrub = /*#__PURE__*/(() => {\n  class LucideShrub extends LucideIconBase {\n    static icon = {\n      name: 'shrub',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22v-5.172a2 2 0 0 0-.586-1.414L9.5 13.5',\n        key: '1p17fm'\n      }], ['path', {\n        d: 'M14.5 14.5 12 17',\n        key: 'dy5w4y'\n      }], ['path', {\n        d: 'M17 8.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0z',\n        key: '6z7b3o'\n      }]]\n    };\n    icon = signal(LucideShrub.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShrub_BaseFactory;\n      return function LucideShrub_Factory(__ngFactoryType__) {\n        return (ɵLucideShrub_BaseFactory || (ɵLucideShrub_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShrub)))(__ngFactoryType__ || LucideShrub);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShrub,\n      selectors: [[\"svg\", \"lucideShrub\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1330,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShrub_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShrub_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShrub;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Shuffle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTggMTQgNCA0LTQgNCIgLz4KICA8cGF0aCBkPSJtMTggMiA0IDQtNCA0IiAvPgogIDxwYXRoIGQ9Ik0yIDE4aDEuOTczYTQgNCAwIDAgMCAzLjMtMS43bDUuNDU0LTguNmE0IDQgMCAwIDEgMy4zLTEuN0gyMiIgLz4KICA8cGF0aCBkPSJNMiA2aDEuOTcyYTQgNCAwIDAgMSAzLjYgMi4yIiAvPgogIDxwYXRoIGQ9Ik0yMiAxOGgtNi4wNDFhNCA0IDAgMCAxLTMuMy0xLjhsLS4zNTktLjQ1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/shuffle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideShuffle = /*#__PURE__*/(() => {\n  class LucideShuffle extends LucideIconBase {\n    static icon = {\n      name: 'shuffle',\n      size: 24,\n      node: [['path', {\n        d: 'm18 14 4 4-4 4',\n        key: '10pe0f'\n      }], ['path', {\n        d: 'm18 2 4 4-4 4',\n        key: 'pucp1d'\n      }], ['path', {\n        d: 'M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22',\n        key: '1ailkh'\n      }], ['path', {\n        d: 'M2 6h1.972a4 4 0 0 1 3.6 2.2',\n        key: 'km57vx'\n      }], ['path', {\n        d: 'M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45',\n        key: 'os18l9'\n      }]]\n    };\n    icon = signal(LucideShuffle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideShuffle_BaseFactory;\n      return function LucideShuffle_Factory(__ngFactoryType__) {\n        return (ɵLucideShuffle_BaseFactory || (ɵLucideShuffle_BaseFactory = i0.ɵɵgetInheritedFactory(LucideShuffle)))(__ngFactoryType__ || LucideShuffle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideShuffle,\n      selectors: [[\"svg\", \"lucideShuffle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1331,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideShuffle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideShuffle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideShuffle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SignalHigh\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMGguMDEiIC8+CiAgPHBhdGggZD0iTTcgMjB2LTQiIC8+CiAgPHBhdGggZD0iTTEyIDIwdi04IiAvPgogIDxwYXRoIGQ9Ik0xNyAyMFY4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/signal-high\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSignalHigh = /*#__PURE__*/(() => {\n  class LucideSignalHigh extends LucideIconBase {\n    static icon = {\n      name: 'signal-high',\n      size: 24,\n      node: [['path', {\n        d: 'M2 20h.01',\n        key: '4haj6o'\n      }], ['path', {\n        d: 'M7 20v-4',\n        key: 'j294jx'\n      }], ['path', {\n        d: 'M12 20v-8',\n        key: 'i3yub9'\n      }], ['path', {\n        d: 'M17 20V8',\n        key: '1tkaf5'\n      }]]\n    };\n    icon = signal(LucideSignalHigh.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSignalHigh_BaseFactory;\n      return function LucideSignalHigh_Factory(__ngFactoryType__) {\n        return (ɵLucideSignalHigh_BaseFactory || (ɵLucideSignalHigh_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSignalHigh)))(__ngFactoryType__ || LucideSignalHigh);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSignalHigh,\n      selectors: [[\"svg\", \"lucideSignalHigh\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1332,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSignalHigh_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSignalHigh_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSignalHigh;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Sigma\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggN1Y1YTEgMSAwIDAgMC0xLTFINi41YS41LjUgMCAwIDAtLjQuOGw0LjUgNmEyIDIgMCAwIDEgMCAyLjRsLTQuNSA2YS41LjUgMCAwIDAgLjQuOEgxN2ExIDEgMCAwIDAgMS0xdi0yIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/sigma\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSigma = /*#__PURE__*/(() => {\n  class LucideSigma extends LucideIconBase {\n    static icon = {\n      name: 'sigma',\n      size: 24,\n      node: [['path', {\n        d: 'M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2',\n        key: 'wuwx1p'\n      }]]\n    };\n    icon = signal(LucideSigma.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSigma_BaseFactory;\n      return function LucideSigma_Factory(__ngFactoryType__) {\n        return (ɵLucideSigma_BaseFactory || (ɵLucideSigma_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSigma)))(__ngFactoryType__ || LucideSigma);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSigma,\n      selectors: [[\"svg\", \"lucideSigma\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1333,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSigma_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSigma_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSigma;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SignalLow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMGguMDEiIC8+CiAgPHBhdGggZD0iTTcgMjB2LTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/signal-low\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSignalLow = /*#__PURE__*/(() => {\n  class LucideSignalLow extends LucideIconBase {\n    static icon = {\n      name: 'signal-low',\n      size: 24,\n      node: [['path', {\n        d: 'M2 20h.01',\n        key: '4haj6o'\n      }], ['path', {\n        d: 'M7 20v-4',\n        key: 'j294jx'\n      }]]\n    };\n    icon = signal(LucideSignalLow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSignalLow_BaseFactory;\n      return function LucideSignalLow_Factory(__ngFactoryType__) {\n        return (ɵLucideSignalLow_BaseFactory || (ɵLucideSignalLow_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSignalLow)))(__ngFactoryType__ || LucideSignalLow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSignalLow,\n      selectors: [[\"svg\", \"lucideSignalLow\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1334,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSignalLow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSignalLow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSignalLow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SignalMedium\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMGguMDEiIC8+CiAgPHBhdGggZD0iTTcgMjB2LTQiIC8+CiAgPHBhdGggZD0iTTEyIDIwdi04IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/signal-medium\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSignalMedium = /*#__PURE__*/(() => {\n  class LucideSignalMedium extends LucideIconBase {\n    static icon = {\n      name: 'signal-medium',\n      size: 24,\n      node: [['path', {\n        d: 'M2 20h.01',\n        key: '4haj6o'\n      }], ['path', {\n        d: 'M7 20v-4',\n        key: 'j294jx'\n      }], ['path', {\n        d: 'M12 20v-8',\n        key: 'i3yub9'\n      }]]\n    };\n    icon = signal(LucideSignalMedium.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSignalMedium_BaseFactory;\n      return function LucideSignalMedium_Factory(__ngFactoryType__) {\n        return (ɵLucideSignalMedium_BaseFactory || (ɵLucideSignalMedium_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSignalMedium)))(__ngFactoryType__ || LucideSignalMedium);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSignalMedium,\n      selectors: [[\"svg\", \"lucideSignalMedium\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1335,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSignalMedium_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSignalMedium_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSignalMedium;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SignalZero\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMGguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/signal-zero\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSignalZero = /*#__PURE__*/(() => {\n  class LucideSignalZero extends LucideIconBase {\n    static icon = {\n      name: 'signal-zero',\n      size: 24,\n      node: [['path', {\n        d: 'M2 20h.01',\n        key: '4haj6o'\n      }]]\n    };\n    icon = signal(LucideSignalZero.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSignalZero_BaseFactory;\n      return function LucideSignalZero_Factory(__ngFactoryType__) {\n        return (ɵLucideSignalZero_BaseFactory || (ɵLucideSignalZero_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSignalZero)))(__ngFactoryType__ || LucideSignalZero);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSignalZero,\n      selectors: [[\"svg\", \"lucideSignalZero\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1336,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSignalZero_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSignalZero_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSignalZero;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Signal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMGguMDEiIC8+CiAgPHBhdGggZD0iTTcgMjB2LTQiIC8+CiAgPHBhdGggZD0iTTEyIDIwdi04IiAvPgogIDxwYXRoIGQ9Ik0xNyAyMFY4IiAvPgogIDxwYXRoIGQ9Ik0yMiA0djE2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/signal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSignal = /*#__PURE__*/(() => {\n  class LucideSignal extends LucideIconBase {\n    static icon = {\n      name: 'signal',\n      size: 24,\n      node: [['path', {\n        d: 'M2 20h.01',\n        key: '4haj6o'\n      }], ['path', {\n        d: 'M7 20v-4',\n        key: 'j294jx'\n      }], ['path', {\n        d: 'M12 20v-8',\n        key: 'i3yub9'\n      }], ['path', {\n        d: 'M17 20V8',\n        key: '1tkaf5'\n      }], ['path', {\n        d: 'M22 4v16',\n        key: 'sih9yq'\n      }]]\n    };\n    icon = signal(LucideSignal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSignal_BaseFactory;\n      return function LucideSignal_Factory(__ngFactoryType__) {\n        return (ɵLucideSignal_BaseFactory || (ɵLucideSignal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSignal)))(__ngFactoryType__ || LucideSignal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSignal,\n      selectors: [[\"svg\", \"lucideSignal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1337,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSignal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSignal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSignal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Signature\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjEgMTctMi4xNTYtMS44NjhBLjUuNSAwIDAgMCAxOCAxNS41di41YTEgMSAwIDAgMS0xIDFoLTJhMSAxIDAgMCAxLTEtMWMwLTIuNTQ1LTMuOTkxLTMuOTctOC41LTRhMSAxIDAgMCAwIDAgNWM0LjE1MyAwIDQuNzQ1LTExLjI5NSA1LjcwOC0xMy41YTIuNSAyLjUgMCAxIDEgMy4zMSAzLjI4NCIgLz4KICA8cGF0aCBkPSJNMyAyMWgxOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/signature\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSignature = /*#__PURE__*/(() => {\n  class LucideSignature extends LucideIconBase {\n    static icon = {\n      name: 'signature',\n      size: 24,\n      node: [['path', {\n        d: 'm21 17-2.156-1.868A.5.5 0 0 0 18 15.5v.5a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1c0-2.545-3.991-3.97-8.5-4a1 1 0 0 0 0 5c4.153 0 4.745-11.295 5.708-13.5a2.5 2.5 0 1 1 3.31 3.284',\n        key: 'y32ogt'\n      }], ['path', {\n        d: 'M3 21h18',\n        key: 'itz85i'\n      }]]\n    };\n    icon = signal(LucideSignature.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSignature_BaseFactory;\n      return function LucideSignature_Factory(__ngFactoryType__) {\n        return (ɵLucideSignature_BaseFactory || (ɵLucideSignature_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSignature)))(__ngFactoryType__ || LucideSignature);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSignature,\n      selectors: [[\"svg\", \"lucideSignature\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1338,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSignature_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSignature_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSignature;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SignpostBig\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgOUg0TDIgN2wyLTJoNiIgLz4KICA8cGF0aCBkPSJNMTQgNWg2bDIgMi0yIDJoLTYiIC8+CiAgPHBhdGggZD0iTTEwIDIyVjRhMiAyIDAgMSAxIDQgMHYxOCIgLz4KICA8cGF0aCBkPSJNOCAyMmg4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/signpost-big\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSignpostBig = /*#__PURE__*/(() => {\n  class LucideSignpostBig extends LucideIconBase {\n    static icon = {\n      name: 'signpost-big',\n      size: 24,\n      node: [['path', {\n        d: 'M10 9H4L2 7l2-2h6',\n        key: '1hq7x2'\n      }], ['path', {\n        d: 'M14 5h6l2 2-2 2h-6',\n        key: 'bv62ej'\n      }], ['path', {\n        d: 'M10 22V4a2 2 0 1 1 4 0v18',\n        key: 'eqpcf2'\n      }], ['path', {\n        d: 'M8 22h8',\n        key: 'rmew8v'\n      }]]\n    };\n    icon = signal(LucideSignpostBig.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSignpostBig_BaseFactory;\n      return function LucideSignpostBig_Factory(__ngFactoryType__) {\n        return (ɵLucideSignpostBig_BaseFactory || (ɵLucideSignpostBig_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSignpostBig)))(__ngFactoryType__ || LucideSignpostBig);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSignpostBig,\n      selectors: [[\"svg\", \"lucideSignpostBig\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1339,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSignpostBig_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSignpostBig_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSignpostBig;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Signpost\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTN2OCIgLz4KICA8cGF0aCBkPSJNMTIgM3YzIiAvPgogIDxwYXRoIGQ9Ik0yLjM1NCAxMC4zNTRhMS4yMDcgMS4yMDcgMCAwIDEgMC0xLjcwOGwyLjA2LTIuMDZBMiAyIDAgMCAxIDUuODI4IDZoMTIuMzQ0YTIgMiAwIDAgMSAxLjQxNC41ODZsMi4wNiAyLjA2YTEuMjA3IDEuMjA3IDAgMCAxIDAgMS43MDhsLTIuMDYgMi4wNmEyIDIgMCAwIDEtMS40MTQuNTg2SDUuODI4YTIgMiAwIDAgMS0xLjQxNC0uNTg2eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/signpost\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSignpost = /*#__PURE__*/(() => {\n  class LucideSignpost extends LucideIconBase {\n    static icon = {\n      name: 'signpost',\n      size: 24,\n      node: [['path', {\n        d: 'M12 13v8',\n        key: '1l5pq0'\n      }], ['path', {\n        d: 'M12 3v3',\n        key: '1n5kay'\n      }], ['path', {\n        d: 'M2.354 10.354a1.207 1.207 0 0 1 0-1.708l2.06-2.06A2 2 0 0 1 5.828 6h12.344a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H5.828a2 2 0 0 1-1.414-.586z',\n        key: '1tm261'\n      }]]\n    };\n    icon = signal(LucideSignpost.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSignpost_BaseFactory;\n      return function LucideSignpost_Factory(__ngFactoryType__) {\n        return (ɵLucideSignpost_BaseFactory || (ɵLucideSignpost_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSignpost)))(__ngFactoryType__ || LucideSignpost);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSignpost,\n      selectors: [[\"svg\", \"lucideSignpost\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1340,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSignpost_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSignpost_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSignpost;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Siren\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAxOHYtNmE1IDUgMCAxIDEgMTAgMHY2IiAvPgogIDxwYXRoIGQ9Ik01IDIxYTEgMSAwIDAgMCAxIDFoMTJhMSAxIDAgMCAwIDEtMXYtMWEyIDIgMCAwIDAtMi0ySDdhMiAyIDAgMCAwLTIgMnoiIC8+CiAgPHBhdGggZD0iTTIxIDEyaDEiIC8+CiAgPHBhdGggZD0iTTE4LjUgNC41IDE4IDUiIC8+CiAgPHBhdGggZD0iTTIgMTJoMSIgLz4KICA8cGF0aCBkPSJNMTIgMnYxIiAvPgogIDxwYXRoIGQ9Im00LjkyOSA0LjkyOS43MDcuNzA3IiAvPgogIDxwYXRoIGQ9Ik0xMiAxMnY2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/siren\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSiren = /*#__PURE__*/(() => {\n  class LucideSiren extends LucideIconBase {\n    static icon = {\n      name: 'siren',\n      size: 24,\n      node: [['path', {\n        d: 'M7 18v-6a5 5 0 1 1 10 0v6',\n        key: 'pcx96s'\n      }], ['path', {\n        d: 'M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z',\n        key: '1b4s83'\n      }], ['path', {\n        d: 'M21 12h1',\n        key: 'jtio3y'\n      }], ['path', {\n        d: 'M18.5 4.5 18 5',\n        key: 'g5sp9y'\n      }], ['path', {\n        d: 'M2 12h1',\n        key: '1uaihz'\n      }], ['path', {\n        d: 'M12 2v1',\n        key: '11qlp1'\n      }], ['path', {\n        d: 'm4.929 4.929.707.707',\n        key: '1i51kw'\n      }], ['path', {\n        d: 'M12 12v6',\n        key: '3ahymv'\n      }]]\n    };\n    icon = signal(LucideSiren.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSiren_BaseFactory;\n      return function LucideSiren_Factory(__ngFactoryType__) {\n        return (ɵLucideSiren_BaseFactory || (ɵLucideSiren_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSiren)))(__ngFactoryType__ || LucideSiren);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSiren,\n      selectors: [[\"svg\", \"lucideSiren\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1341,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSiren_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSiren_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSiren;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SkipBack\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcuOTcxIDQuMjg1QTIgMiAwIDAgMSAyMSA2djEyYTIgMiAwIDAgMS0zLjAyOSAxLjcxNWwtOS45OTctNS45OThhMiAyIDAgMCAxLS4wMDMtMy40MzJ6IiAvPgogIDxwYXRoIGQ9Ik0zIDIwVjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/skip-back\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSkipBack = /*#__PURE__*/(() => {\n  class LucideSkipBack extends LucideIconBase {\n    static icon = {\n      name: 'skip-back',\n      size: 24,\n      node: [['path', {\n        d: 'M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z',\n        key: '15892j'\n      }], ['path', {\n        d: 'M3 20V4',\n        key: '1ptbpl'\n      }]]\n    };\n    icon = signal(LucideSkipBack.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSkipBack_BaseFactory;\n      return function LucideSkipBack_Factory(__ngFactoryType__) {\n        return (ɵLucideSkipBack_BaseFactory || (ɵLucideSkipBack_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSkipBack)))(__ngFactoryType__ || LucideSkipBack);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSkipBack,\n      selectors: [[\"svg\", \"lucideSkipBack\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1342,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSkipBack_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSkipBack_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSkipBack;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SkipForward\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNHYxNiIgLz4KICA8cGF0aCBkPSJNNi4wMjkgNC4yODVBMiAyIDAgMCAwIDMgNnYxMmEyIDIgMCAwIDAgMy4wMjkgMS43MTVsOS45OTctNS45OThhMiAyIDAgMCAwIC4wMDMtMy40MzJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/skip-forward\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSkipForward = /*#__PURE__*/(() => {\n  class LucideSkipForward extends LucideIconBase {\n    static icon = {\n      name: 'skip-forward',\n      size: 24,\n      node: [['path', {\n        d: 'M21 4v16',\n        key: '7j8fe9'\n      }], ['path', {\n        d: 'M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z',\n        key: 'zs4d6'\n      }]]\n    };\n    icon = signal(LucideSkipForward.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSkipForward_BaseFactory;\n      return function LucideSkipForward_Factory(__ngFactoryType__) {\n        return (ɵLucideSkipForward_BaseFactory || (ɵLucideSkipForward_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSkipForward)))(__ngFactoryType__ || LucideSkipForward);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSkipForward,\n      selectors: [[\"svg\", \"lucideSkipForward\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1343,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSkipForward_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSkipForward_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSkipForward;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Slash\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMiAyIDIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/slash\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSlash = /*#__PURE__*/(() => {\n  class LucideSlash extends LucideIconBase {\n    static icon = {\n      name: 'slash',\n      size: 24,\n      node: [['path', {\n        d: 'M22 2 2 22',\n        key: 'y4kqgn'\n      }]]\n    };\n    icon = signal(LucideSlash.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSlash_BaseFactory;\n      return function LucideSlash_Factory(__ngFactoryType__) {\n        return (ɵLucideSlash_BaseFactory || (ɵLucideSlash_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSlash)))(__ngFactoryType__ || LucideSlash);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSlash,\n      selectors: [[\"svg\", \"lucideSlash\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1344,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSlash_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSlash_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSlash;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Skull\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIuNSAxNy0uNS0xLS41IDFoMXoiIC8+CiAgPHBhdGggZD0iTTE1IDIyYTEgMSAwIDAgMCAxLTF2LTFhMiAyIDAgMCAwIDEuNTYtMy4yNSA4IDggMCAxIDAtMTEuMTIgMEEyIDIgMCAwIDAgOCAyMHYxYTEgMSAwIDAgMCAxIDF6IiAvPgogIDxjaXJjbGUgY3g9IjE1IiBjeT0iMTIiIHI9IjEiIC8+CiAgPGNpcmNsZSBjeD0iOSIgY3k9IjEyIiByPSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/skull\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSkull = /*#__PURE__*/(() => {\n  class LucideSkull extends LucideIconBase {\n    static icon = {\n      name: 'skull',\n      size: 24,\n      node: [['path', {\n        d: 'm12.5 17-.5-1-.5 1h1z',\n        key: '3me087'\n      }], ['path', {\n        d: 'M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z',\n        key: '1o5pge'\n      }], ['circle', {\n        cx: '15',\n        cy: '12',\n        r: '1',\n        key: '1tmaij'\n      }], ['circle', {\n        cx: '9',\n        cy: '12',\n        r: '1',\n        key: '1vctgf'\n      }]]\n    };\n    icon = signal(LucideSkull.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSkull_BaseFactory;\n      return function LucideSkull_Factory(__ngFactoryType__) {\n        return (ɵLucideSkull_BaseFactory || (ɵLucideSkull_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSkull)))(__ngFactoryType__ || LucideSkull);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSkull,\n      selectors: [[\"svg\", \"lucideSkull\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1345,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSkull_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSkull_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSkull;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Slice\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTYuNTg2VjE5YTEgMSAwIDAgMS0xIDFIMkwxOC4zNyAzLjYzYTEgMSAwIDEgMSAzIDNsLTkuNjYzIDkuNjYzYTEgMSAwIDAgMS0xLjQxNCAwTDggMTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/slice\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSlice = /*#__PURE__*/(() => {\n  class LucideSlice extends LucideIconBase {\n    static icon = {\n      name: 'slice',\n      size: 24,\n      node: [['path', {\n        d: 'M11 16.586V19a1 1 0 0 1-1 1H2L18.37 3.63a1 1 0 1 1 3 3l-9.663 9.663a1 1 0 0 1-1.414 0L8 14',\n        key: '1sllp5'\n      }]]\n    };\n    icon = signal(LucideSlice.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSlice_BaseFactory;\n      return function LucideSlice_Factory(__ngFactoryType__) {\n        return (ɵLucideSlice_BaseFactory || (ɵLucideSlice_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSlice)))(__ngFactoryType__ || LucideSlice);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSlice,\n      selectors: [[\"svg\", \"lucideSlice\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1346,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSlice_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSlice_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSlice;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SlidersHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgNUgzIiAvPgogIDxwYXRoIGQ9Ik0xMiAxOUgzIiAvPgogIDxwYXRoIGQ9Ik0xNCAzdjQiIC8+CiAgPHBhdGggZD0iTTE2IDE3djQiIC8+CiAgPHBhdGggZD0iTTIxIDEyaC05IiAvPgogIDxwYXRoIGQ9Ik0yMSAxOWgtNSIgLz4KICA8cGF0aCBkPSJNMjEgNWgtNyIgLz4KICA8cGF0aCBkPSJNOCAxMHY0IiAvPgogIDxwYXRoIGQ9Ik04IDEySDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/sliders-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSlidersHorizontal = /*#__PURE__*/(() => {\n  class LucideSlidersHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'sliders-horizontal',\n      size: 24,\n      node: [['path', {\n        d: 'M10 5H3',\n        key: '1qgfaw'\n      }], ['path', {\n        d: 'M12 19H3',\n        key: 'yhmn1j'\n      }], ['path', {\n        d: 'M14 3v4',\n        key: '1sua03'\n      }], ['path', {\n        d: 'M16 17v4',\n        key: '1q0r14'\n      }], ['path', {\n        d: 'M21 12h-9',\n        key: '1o4lsq'\n      }], ['path', {\n        d: 'M21 19h-5',\n        key: '1rlt1p'\n      }], ['path', {\n        d: 'M21 5h-7',\n        key: '1oszz2'\n      }], ['path', {\n        d: 'M8 10v4',\n        key: 'tgpxqk'\n      }], ['path', {\n        d: 'M8 12H3',\n        key: 'a7s4jb'\n      }]]\n    };\n    icon = signal(LucideSlidersHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSlidersHorizontal_BaseFactory;\n      return function LucideSlidersHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideSlidersHorizontal_BaseFactory || (ɵLucideSlidersHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSlidersHorizontal)))(__ngFactoryType__ || LucideSlidersHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSlidersHorizontal,\n      selectors: [[\"svg\", \"lucideSlidersHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1347,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSlidersHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSlidersHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSlidersHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SmartphoneNfc\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIxMiIgeD0iMiIgeT0iNiIgcng9IjEiIC8+CiAgPHBhdGggZD0iTTEzIDguMzJhNy40MyA3LjQzIDAgMCAxIDAgNy4zNiIgLz4KICA8cGF0aCBkPSJNMTYuNDYgNi4yMWExMS43NiAxMS43NiAwIDAgMSAwIDExLjU4IiAvPgogIDxwYXRoIGQ9Ik0xOS45MSA0LjFhMTUuOTEgMTUuOTEgMCAwIDEgLjAxIDE1LjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/smartphone-nfc\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSmartphoneNfc = /*#__PURE__*/(() => {\n  class LucideSmartphoneNfc extends LucideIconBase {\n    static icon = {\n      name: 'smartphone-nfc',\n      size: 24,\n      node: [['rect', {\n        width: '7',\n        height: '12',\n        x: '2',\n        y: '6',\n        rx: '1',\n        key: '5nje8w'\n      }], ['path', {\n        d: 'M13 8.32a7.43 7.43 0 0 1 0 7.36',\n        key: '1g306n'\n      }], ['path', {\n        d: 'M16.46 6.21a11.76 11.76 0 0 1 0 11.58',\n        key: 'uqvjvo'\n      }], ['path', {\n        d: 'M19.91 4.1a15.91 15.91 0 0 1 .01 15.8',\n        key: 'ujntz3'\n      }]]\n    };\n    icon = signal(LucideSmartphoneNfc.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSmartphoneNfc_BaseFactory;\n      return function LucideSmartphoneNfc_Factory(__ngFactoryType__) {\n        return (ɵLucideSmartphoneNfc_BaseFactory || (ɵLucideSmartphoneNfc_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSmartphoneNfc)))(__ngFactoryType__ || LucideSmartphoneNfc);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSmartphoneNfc,\n      selectors: [[\"svg\", \"lucideSmartphoneNfc\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1348,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSmartphoneNfc_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSmartphoneNfc_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSmartphoneNfc;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SmartphoneCharging\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iMjAiIHg9IjUiIHk9IjIiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNMTIuNjY3IDggMTAgMTJoNGwtMi42NjcgNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/smartphone-charging\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSmartphoneCharging = /*#__PURE__*/(() => {\n  class LucideSmartphoneCharging extends LucideIconBase {\n    static icon = {\n      name: 'smartphone-charging',\n      size: 24,\n      node: [['rect', {\n        width: '14',\n        height: '20',\n        x: '5',\n        y: '2',\n        rx: '2',\n        ry: '2',\n        key: '1yt0o3'\n      }], ['path', {\n        d: 'M12.667 8 10 12h4l-2.667 4',\n        key: 'h9lk2d'\n      }]]\n    };\n    icon = signal(LucideSmartphoneCharging.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSmartphoneCharging_BaseFactory;\n      return function LucideSmartphoneCharging_Factory(__ngFactoryType__) {\n        return (ɵLucideSmartphoneCharging_BaseFactory || (ɵLucideSmartphoneCharging_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSmartphoneCharging)))(__ngFactoryType__ || LucideSmartphoneCharging);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSmartphoneCharging,\n      selectors: [[\"svg\", \"lucideSmartphoneCharging\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1349,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSmartphoneCharging_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSmartphoneCharging_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSmartphoneCharging;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SlidersVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgOGg0IiAvPgogIDxwYXRoIGQ9Ik0xMiAyMXYtOSIgLz4KICA8cGF0aCBkPSJNMTIgOFYzIiAvPgogIDxwYXRoIGQ9Ik0xNyAxNmg0IiAvPgogIDxwYXRoIGQ9Ik0xOSAxMlYzIiAvPgogIDxwYXRoIGQ9Ik0xOSAyMXYtNSIgLz4KICA8cGF0aCBkPSJNMyAxNGg0IiAvPgogIDxwYXRoIGQ9Ik01IDEwVjMiIC8+CiAgPHBhdGggZD0iTTUgMjF2LTciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/sliders-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSlidersVertical = /*#__PURE__*/(() => {\n  class LucideSlidersVertical extends LucideIconBase {\n    static icon = {\n      name: 'sliders-vertical',\n      size: 24,\n      node: [['path', {\n        d: 'M10 8h4',\n        key: '1sr2af'\n      }], ['path', {\n        d: 'M12 21v-9',\n        key: '17s77i'\n      }], ['path', {\n        d: 'M12 8V3',\n        key: '13r4qs'\n      }], ['path', {\n        d: 'M17 16h4',\n        key: 'h1uq16'\n      }], ['path', {\n        d: 'M19 12V3',\n        key: 'o1uvq1'\n      }], ['path', {\n        d: 'M19 21v-5',\n        key: 'qua636'\n      }], ['path', {\n        d: 'M3 14h4',\n        key: 'bcjad9'\n      }], ['path', {\n        d: 'M5 10V3',\n        key: 'cb8scm'\n      }], ['path', {\n        d: 'M5 21v-7',\n        key: '1w1uti'\n      }]],\n      aliases: ['sliders']\n    };\n    icon = signal(LucideSlidersVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSlidersVertical_BaseFactory;\n      return function LucideSlidersVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideSlidersVertical_BaseFactory || (ɵLucideSlidersVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSlidersVertical)))(__ngFactoryType__ || LucideSlidersVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSlidersVertical,\n      selectors: [[\"svg\", \"lucideSlidersVertical\", \"\"], [\"svg\", \"lucideSliders\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1350,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSlidersVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSlidersVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSlidersVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSlidersVertical\n */\nconst LucideSliders = LucideSlidersVertical;\n\n/**\n * @component @name Smartphone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iMjAiIHg9IjUiIHk9IjIiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNMTIgMThoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/smartphone\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSmartphone = /*#__PURE__*/(() => {\n  class LucideSmartphone extends LucideIconBase {\n    static icon = {\n      name: 'smartphone',\n      size: 24,\n      node: [['rect', {\n        width: '14',\n        height: '20',\n        x: '5',\n        y: '2',\n        rx: '2',\n        ry: '2',\n        key: '1yt0o3'\n      }], ['path', {\n        d: 'M12 18h.01',\n        key: 'mhygvu'\n      }]]\n    };\n    icon = signal(LucideSmartphone.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSmartphone_BaseFactory;\n      return function LucideSmartphone_Factory(__ngFactoryType__) {\n        return (ɵLucideSmartphone_BaseFactory || (ɵLucideSmartphone_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSmartphone)))(__ngFactoryType__ || LucideSmartphone);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSmartphone,\n      selectors: [[\"svg\", \"lucideSmartphone\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1351,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSmartphone_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSmartphone_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSmartphone;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SmilePlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTF2MWExMCAxMCAwIDEgMS05LTEwIiAvPgogIDxwYXRoIGQ9Ik04IDE0czEuNSAyIDQgMiA0LTIgNC0yIiAvPgogIDxsaW5lIHgxPSI5IiB4Mj0iOS4wMSIgeTE9IjkiIHkyPSI5IiAvPgogIDxsaW5lIHgxPSIxNSIgeDI9IjE1LjAxIiB5MT0iOSIgeTI9IjkiIC8+CiAgPHBhdGggZD0iTTE2IDVoNiIgLz4KICA8cGF0aCBkPSJNMTkgMnY2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/smile-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSmilePlus = /*#__PURE__*/(() => {\n  class LucideSmilePlus extends LucideIconBase {\n    static icon = {\n      name: 'smile-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M22 11v1a10 10 0 1 1-9-10',\n        key: 'ew0xw9'\n      }], ['path', {\n        d: 'M8 14s1.5 2 4 2 4-2 4-2',\n        key: '1y1vjs'\n      }], ['line', {\n        x1: '9',\n        x2: '9.01',\n        y1: '9',\n        y2: '9',\n        key: 'yxxnd0'\n      }], ['line', {\n        x1: '15',\n        x2: '15.01',\n        y1: '9',\n        y2: '9',\n        key: '1p4y9e'\n      }], ['path', {\n        d: 'M16 5h6',\n        key: '1vod17'\n      }], ['path', {\n        d: 'M19 2v6',\n        key: '4bpg5p'\n      }]]\n    };\n    icon = signal(LucideSmilePlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSmilePlus_BaseFactory;\n      return function LucideSmilePlus_Factory(__ngFactoryType__) {\n        return (ɵLucideSmilePlus_BaseFactory || (ɵLucideSmilePlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSmilePlus)))(__ngFactoryType__ || LucideSmilePlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSmilePlus,\n      selectors: [[\"svg\", \"lucideSmilePlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1352,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSmilePlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSmilePlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSmilePlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Snail\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxM2E2IDYgMCAxIDAgMTIgMCA0IDQgMCAxIDAtOCAwIDIgMiAwIDAgMCA0IDAiIC8+CiAgPGNpcmNsZSBjeD0iMTAiIGN5PSIxMyIgcj0iOCIgLz4KICA8cGF0aCBkPSJNMiAyMWgxMmM0LjQgMCA4LTMuNiA4LThWN2EyIDIgMCAxIDAtNCAwdjYiIC8+CiAgPHBhdGggZD0iTTE4IDMgMTkuMSA1LjIiIC8+CiAgPHBhdGggZD0iTTIyIDMgMjAuOSA1LjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/snail\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSnail = /*#__PURE__*/(() => {\n  class LucideSnail extends LucideIconBase {\n    static icon = {\n      name: 'snail',\n      size: 24,\n      node: [['path', {\n        d: 'M2 13a6 6 0 1 0 12 0 4 4 0 1 0-8 0 2 2 0 0 0 4 0',\n        key: 'hneq2s'\n      }], ['circle', {\n        cx: '10',\n        cy: '13',\n        r: '8',\n        key: '194lz3'\n      }], ['path', {\n        d: 'M2 21h12c4.4 0 8-3.6 8-8V7a2 2 0 1 0-4 0v6',\n        key: 'ixqyt7'\n      }], ['path', {\n        d: 'M18 3 19.1 5.2',\n        key: '9tjm43'\n      }], ['path', {\n        d: 'M22 3 20.9 5.2',\n        key: 'j3odrs'\n      }]]\n    };\n    icon = signal(LucideSnail.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSnail_BaseFactory;\n      return function LucideSnail_Factory(__ngFactoryType__) {\n        return (ɵLucideSnail_BaseFactory || (ɵLucideSnail_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSnail)))(__ngFactoryType__ || LucideSnail);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSnail,\n      selectors: [[\"svg\", \"lucideSnail\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1353,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSnail_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSnail_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSnail;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Smile\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNOCAxNHMxLjUgMiA0IDIgNC0yIDQtMiIgLz4KICA8bGluZSB4MT0iOSIgeDI9IjkuMDEiIHkxPSI5IiB5Mj0iOSIgLz4KICA8bGluZSB4MT0iMTUiIHgyPSIxNS4wMSIgeTE9IjkiIHkyPSI5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/smile\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSmile = /*#__PURE__*/(() => {\n  class LucideSmile extends LucideIconBase {\n    static icon = {\n      name: 'smile',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['path', {\n        d: 'M8 14s1.5 2 4 2 4-2 4-2',\n        key: '1y1vjs'\n      }], ['line', {\n        x1: '9',\n        x2: '9.01',\n        y1: '9',\n        y2: '9',\n        key: 'yxxnd0'\n      }], ['line', {\n        x1: '15',\n        x2: '15.01',\n        y1: '9',\n        y2: '9',\n        key: '1p4y9e'\n      }]]\n    };\n    icon = signal(LucideSmile.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSmile_BaseFactory;\n      return function LucideSmile_Factory(__ngFactoryType__) {\n        return (ɵLucideSmile_BaseFactory || (ɵLucideSmile_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSmile)))(__ngFactoryType__ || LucideSmile);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSmile,\n      selectors: [[\"svg\", \"lucideSmile\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1354,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSmile_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSmile_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSmile;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Snowflake\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAgMjAtMS4yNS0yLjVMNiAxOCIgLz4KICA8cGF0aCBkPSJNMTAgNCA4Ljc1IDYuNSA2IDYiIC8+CiAgPHBhdGggZD0ibTE0IDIwIDEuMjUtMi41TDE4IDE4IiAvPgogIDxwYXRoIGQ9Im0xNCA0IDEuMjUgMi41TDE4IDYiIC8+CiAgPHBhdGggZD0ibTE3IDIxLTMtNmgtNCIgLz4KICA8cGF0aCBkPSJtMTcgMy0zIDYgMS41IDMiIC8+CiAgPHBhdGggZD0iTTIgMTJoNi41TDEwIDkiIC8+CiAgPHBhdGggZD0ibTIwIDEwLTEuNSAyIDEuNSAyIiAvPgogIDxwYXRoIGQ9Ik0yMiAxMmgtNi41TDE0IDE1IiAvPgogIDxwYXRoIGQ9Im00IDEwIDEuNSAyTDQgMTQiIC8+CiAgPHBhdGggZD0ibTcgMjEgMy02LTEuNS0zIiAvPgogIDxwYXRoIGQ9Im03IDMgMyA2aDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/snowflake\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSnowflake = /*#__PURE__*/(() => {\n  class LucideSnowflake extends LucideIconBase {\n    static icon = {\n      name: 'snowflake',\n      size: 24,\n      node: [['path', {\n        d: 'm10 20-1.25-2.5L6 18',\n        key: '18frcb'\n      }], ['path', {\n        d: 'M10 4 8.75 6.5 6 6',\n        key: '7mghy3'\n      }], ['path', {\n        d: 'm14 20 1.25-2.5L18 18',\n        key: '1chtki'\n      }], ['path', {\n        d: 'm14 4 1.25 2.5L18 6',\n        key: '1b4wsy'\n      }], ['path', {\n        d: 'm17 21-3-6h-4',\n        key: '15hhxa'\n      }], ['path', {\n        d: 'm17 3-3 6 1.5 3',\n        key: '11697g'\n      }], ['path', {\n        d: 'M2 12h6.5L10 9',\n        key: 'kv9z4n'\n      }], ['path', {\n        d: 'm20 10-1.5 2 1.5 2',\n        key: '1swlpi'\n      }], ['path', {\n        d: 'M22 12h-6.5L14 15',\n        key: '1mxi28'\n      }], ['path', {\n        d: 'm4 10 1.5 2L4 14',\n        key: 'k9enpj'\n      }], ['path', {\n        d: 'm7 21 3-6-1.5-3',\n        key: 'j8hb9u'\n      }], ['path', {\n        d: 'm7 3 3 6h4',\n        key: '1otusx'\n      }]]\n    };\n    icon = signal(LucideSnowflake.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSnowflake_BaseFactory;\n      return function LucideSnowflake_Factory(__ngFactoryType__) {\n        return (ɵLucideSnowflake_BaseFactory || (ɵLucideSnowflake_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSnowflake)))(__ngFactoryType__ || LucideSnowflake);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSnowflake,\n      selectors: [[\"svg\", \"lucideSnowflake\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1355,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSnowflake_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSnowflake_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSnowflake;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SoapDispenserDroplet\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNSAydjQiIC8+CiAgPHBhdGggZD0iTTE0IDJIN2EyIDIgMCAwIDAtMiAyIiAvPgogIDxwYXRoIGQ9Ik0xOS4yOSAxNC43NkE2LjY3IDYuNjcgMCAwIDEgMTcgMTFhNi42IDYuNiAwIDAgMS0yLjI5IDMuNzZjLTEuMTUuOTItMS43MSAyLjA0LTEuNzEgMy4xOSAwIDIuMjIgMS44IDQuMDUgNCA0LjA1czQtMS44MyA0LTQuMDVjMC0xLjE2LS41Ny0yLjI2LTEuNzEtMy4xOSIgLz4KICA8cGF0aCBkPSJNOS42MDcgMjFINmEyIDIgMCAwIDEtMi0ydi03YTIgMiAwIDAgMSAyLTJoN1Y3YTEgMSAwIDAgMC0xLTFIOWExIDEgMCAwIDAtMSAxdjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/soap-dispenser-droplet\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSoapDispenserDroplet = /*#__PURE__*/(() => {\n  class LucideSoapDispenserDroplet extends LucideIconBase {\n    static icon = {\n      name: 'soap-dispenser-droplet',\n      size: 24,\n      node: [['path', {\n        d: 'M10.5 2v4',\n        key: '1xt6in'\n      }], ['path', {\n        d: 'M14 2H7a2 2 0 0 0-2 2',\n        key: 'e6xig3'\n      }], ['path', {\n        d: 'M19.29 14.76A6.67 6.67 0 0 1 17 11a6.6 6.6 0 0 1-2.29 3.76c-1.15.92-1.71 2.04-1.71 3.19 0 2.22 1.8 4.05 4 4.05s4-1.83 4-4.05c0-1.16-.57-2.26-1.71-3.19',\n        key: 'adq7uc'\n      }], ['path', {\n        d: 'M9.607 21H6a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h7V7a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3',\n        key: 't9hm96'\n      }]]\n    };\n    icon = signal(LucideSoapDispenserDroplet.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSoapDispenserDroplet_BaseFactory;\n      return function LucideSoapDispenserDroplet_Factory(__ngFactoryType__) {\n        return (ɵLucideSoapDispenserDroplet_BaseFactory || (ɵLucideSoapDispenserDroplet_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSoapDispenserDroplet)))(__ngFactoryType__ || LucideSoapDispenserDroplet);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSoapDispenserDroplet,\n      selectors: [[\"svg\", \"lucideSoapDispenserDroplet\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1356,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSoapDispenserDroplet_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSoapDispenserDroplet_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSoapDispenserDroplet;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SolarPanel\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMmgyIiAvPgogIDxwYXRoIGQ9Im0xNC4yOCAxNC00LjU2IDgiIC8+CiAgPHBhdGggZD0ibTIxIDIyLTEuNTU4LTRINC41NTgiIC8+CiAgPHBhdGggZD0iTTMgMTB2MiIgLz4KICA8cGF0aCBkPSJNNi4yNDUgMTUuMDRBMiAyIDAgMCAxIDggMTRoMTJhMSAxIDAgMCAxIC44NjQgMS41MDVsLTMuMTEgNS40NTdBMiAyIDAgMCAxIDE2IDIySDRhMSAxIDAgMCAxLS44NjMtMS41MDZ6IiAvPgogIDxwYXRoIGQ9Ik03IDJhNCA0IDAgMCAxLTQgNCIgLz4KICA8cGF0aCBkPSJtOC42NiA3LjY2IDEuNDEgMS40MSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/solar-panel\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSolarPanel = /*#__PURE__*/(() => {\n  class LucideSolarPanel extends LucideIconBase {\n    static icon = {\n      name: 'solar-panel',\n      size: 24,\n      node: [['path', {\n        d: 'M11 2h2',\n        key: 'isr7bz'\n      }], ['path', {\n        d: 'm14.28 14-4.56 8',\n        key: '4anwcf'\n      }], ['path', {\n        d: 'm21 22-1.558-4H4.558',\n        key: 'enk13h'\n      }], ['path', {\n        d: 'M3 10v2',\n        key: 'w8mti9'\n      }], ['path', {\n        d: 'M6.245 15.04A2 2 0 0 1 8 14h12a1 1 0 0 1 .864 1.505l-3.11 5.457A2 2 0 0 1 16 22H4a1 1 0 0 1-.863-1.506z',\n        key: 'pouggg'\n      }], ['path', {\n        d: 'M7 2a4 4 0 0 1-4 4',\n        key: '78s8of'\n      }], ['path', {\n        d: 'm8.66 7.66 1.41 1.41',\n        key: '1vaqj8'\n      }]]\n    };\n    icon = signal(LucideSolarPanel.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSolarPanel_BaseFactory;\n      return function LucideSolarPanel_Factory(__ngFactoryType__) {\n        return (ɵLucideSolarPanel_BaseFactory || (ɵLucideSolarPanel_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSolarPanel)))(__ngFactoryType__ || LucideSolarPanel);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSolarPanel,\n      selectors: [[\"svg\", \"lucideSolarPanel\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1357,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSolarPanel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSolarPanel_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSolarPanel;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Sofa\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgOVY2YTIgMiAwIDAgMC0yLTJINmEyIDIgMCAwIDAtMiAydjMiIC8+CiAgPHBhdGggZD0iTTIgMTZhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi01YTIgMiAwIDAgMC00IDB2MS41YS41LjUgMCAwIDEtLjUuNWgtMTFhLjUuNSAwIDAgMS0uNS0uNVYxMWEyIDIgMCAwIDAtNCAweiIgLz4KICA8cGF0aCBkPSJNNCAxOHYyIiAvPgogIDxwYXRoIGQ9Ik0yMCAxOHYyIiAvPgogIDxwYXRoIGQ9Ik0xMiA0djkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/sofa\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSofa = /*#__PURE__*/(() => {\n  class LucideSofa extends LucideIconBase {\n    static icon = {\n      name: 'sofa',\n      size: 24,\n      node: [['path', {\n        d: 'M20 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3',\n        key: '1dgpiv'\n      }], ['path', {\n        d: 'M2 16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z',\n        key: 'xacw8m'\n      }], ['path', {\n        d: 'M4 18v2',\n        key: 'jwo5n2'\n      }], ['path', {\n        d: 'M20 18v2',\n        key: '1ar1qi'\n      }], ['path', {\n        d: 'M12 4v9',\n        key: 'oqhhn3'\n      }]]\n    };\n    icon = signal(LucideSofa.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSofa_BaseFactory;\n      return function LucideSofa_Factory(__ngFactoryType__) {\n        return (ɵLucideSofa_BaseFactory || (ɵLucideSofa_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSofa)))(__ngFactoryType__ || LucideSofa);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSofa,\n      selectors: [[\"svg\", \"lucideSofa\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1358,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSofa_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSofa_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSofa;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Soup\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjFhOSA5IDAgMCAwIDktOUgzYTkgOSAwIDAgMCA5IDlaIiAvPgogIDxwYXRoIGQ9Ik03IDIxaDEwIiAvPgogIDxwYXRoIGQ9Ik0xOS41IDEyIDIyIDYiIC8+CiAgPHBhdGggZD0iTTE2LjI1IDNjLjI3LjEuOC41My43NSAxLjM2LS4wNi44My0uOTMgMS4yLTEgMi4wMi0uMDUuNzguMzQgMS4yNC43MyAxLjYyIiAvPgogIDxwYXRoIGQ9Ik0xMS4yNSAzYy4yNy4xLjguNTMuNzQgMS4zNi0uMDUuODMtLjkzIDEuMi0uOTggMi4wMi0uMDYuNzguMzMgMS4yNC43MiAxLjYyIiAvPgogIDxwYXRoIGQ9Ik02LjI1IDNjLjI3LjEuOC41My43NSAxLjM2LS4wNi44My0uOTMgMS4yLTEgMi4wMi0uMDUuNzguMzQgMS4yNC43NCAxLjYyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/soup\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSoup = /*#__PURE__*/(() => {\n  class LucideSoup extends LucideIconBase {\n    static icon = {\n      name: 'soup',\n      size: 24,\n      node: [['path', {\n        d: 'M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z',\n        key: '4rw317'\n      }], ['path', {\n        d: 'M7 21h10',\n        key: '1b0cd5'\n      }], ['path', {\n        d: 'M19.5 12 22 6',\n        key: 'shfsr5'\n      }], ['path', {\n        d: 'M16.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62',\n        key: 'rpc6vp'\n      }], ['path', {\n        d: 'M11.25 3c.27.1.8.53.74 1.36-.05.83-.93 1.2-.98 2.02-.06.78.33 1.24.72 1.62',\n        key: '1lf63m'\n      }], ['path', {\n        d: 'M6.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.74 1.62',\n        key: '97tijn'\n      }]]\n    };\n    icon = signal(LucideSoup.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSoup_BaseFactory;\n      return function LucideSoup_Factory(__ngFactoryType__) {\n        return (ɵLucideSoup_BaseFactory || (ɵLucideSoup_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSoup)))(__ngFactoryType__ || LucideSoup);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSoup,\n      selectors: [[\"svg\", \"lucideSoup\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1359,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSoup_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSoup_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSoup;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Sparkle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuMDE3IDIuODE0YTEgMSAwIDAgMSAxLjk2NiAwbDEuMDUxIDUuNTU4YTIgMiAwIDAgMCAxLjU5NCAxLjU5NGw1LjU1OCAxLjA1MWExIDEgMCAwIDEgMCAxLjk2NmwtNS41NTggMS4wNTFhMiAyIDAgMCAwLTEuNTk0IDEuNTk0bC0xLjA1MSA1LjU1OGExIDEgMCAwIDEtMS45NjYgMGwtMS4wNTEtNS41NThhMiAyIDAgMCAwLTEuNTk0LTEuNTk0bC01LjU1OC0xLjA1MWExIDEgMCAwIDEgMC0xLjk2Nmw1LjU1OC0xLjA1MWEyIDIgMCAwIDAgMS41OTQtMS41OTR6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/sparkle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSparkle = /*#__PURE__*/(() => {\n  class LucideSparkle extends LucideIconBase {\n    static icon = {\n      name: 'sparkle',\n      size: 24,\n      node: [['path', {\n        d: 'M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z',\n        key: '1s2grr'\n      }]]\n    };\n    icon = signal(LucideSparkle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSparkle_BaseFactory;\n      return function LucideSparkle_Factory(__ngFactoryType__) {\n        return (ɵLucideSparkle_BaseFactory || (ɵLucideSparkle_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSparkle)))(__ngFactoryType__ || LucideSparkle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSparkle,\n      selectors: [[\"svg\", \"lucideSparkle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1360,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSparkle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSparkle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSparkle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Spade\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTh2NCIgLz4KICA8cGF0aCBkPSJNMiAxNC40OTlhNS41IDUuNSAwIDAgMCA5LjU5MSAzLjY3NS42LjYgMCAwIDEgLjgxOC4wMDFBNS41IDUuNSAwIDAgMCAyMiAxNC41YzAtMi4yOS0xLjUtNC0zLTUuNWwtNS40OTItNS4zMTJhMiAyIDAgMCAwLTMtLjAyTDUgOC45OTljLTEuNSAxLjUtMyAzLjItMyA1LjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/spade\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSpade = /*#__PURE__*/(() => {\n  class LucideSpade extends LucideIconBase {\n    static icon = {\n      name: 'spade',\n      size: 24,\n      node: [['path', {\n        d: 'M12 18v4',\n        key: 'jadmvz'\n      }], ['path', {\n        d: 'M2 14.499a5.5 5.5 0 0 0 9.591 3.675.6.6 0 0 1 .818.001A5.5 5.5 0 0 0 22 14.5c0-2.29-1.5-4-3-5.5l-5.492-5.312a2 2 0 0 0-3-.02L5 8.999c-1.5 1.5-3 3.2-3 5.5',\n        key: '1aw2pz'\n      }]]\n    };\n    icon = signal(LucideSpade.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSpade_BaseFactory;\n      return function LucideSpade_Factory(__ngFactoryType__) {\n        return (ɵLucideSpade_BaseFactory || (ɵLucideSpade_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSpade)))(__ngFactoryType__ || LucideSpade);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSpade,\n      selectors: [[\"svg\", \"lucideSpade\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1361,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSpade_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSpade_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSpade;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Space\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTd2MWMwIC41LS41IDEtMSAxSDNjLS41IDAtMS0uNS0xLTF2LTEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/space\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSpace = /*#__PURE__*/(() => {\n  class LucideSpace extends LucideIconBase {\n    static icon = {\n      name: 'space',\n      size: 24,\n      node: [['path', {\n        d: 'M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1',\n        key: 'lt2kga'\n      }]]\n    };\n    icon = signal(LucideSpace.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSpace_BaseFactory;\n      return function LucideSpace_Factory(__ngFactoryType__) {\n        return (ɵLucideSpace_BaseFactory || (ɵLucideSpace_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSpace)))(__ngFactoryType__ || LucideSpace);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSpace,\n      selectors: [[\"svg\", \"lucideSpace\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1362,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSpace_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSpace_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSpace;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Sparkles\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuMDE3IDIuODE0YTEgMSAwIDAgMSAxLjk2NiAwbDEuMDUxIDUuNTU4YTIgMiAwIDAgMCAxLjU5NCAxLjU5NGw1LjU1OCAxLjA1MWExIDEgMCAwIDEgMCAxLjk2NmwtNS41NTggMS4wNTFhMiAyIDAgMCAwLTEuNTk0IDEuNTk0bC0xLjA1MSA1LjU1OGExIDEgMCAwIDEtMS45NjYgMGwtMS4wNTEtNS41NThhMiAyIDAgMCAwLTEuNTk0LTEuNTk0bC01LjU1OC0xLjA1MWExIDEgMCAwIDEgMC0xLjk2Nmw1LjU1OC0xLjA1MWEyIDIgMCAwIDAgMS41OTQtMS41OTR6IiAvPgogIDxwYXRoIGQ9Ik0yMCAydjQiIC8+CiAgPHBhdGggZD0iTTIyIDRoLTQiIC8+CiAgPGNpcmNsZSBjeD0iNCIgY3k9IjIwIiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/sparkles\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSparkles = /*#__PURE__*/(() => {\n  class LucideSparkles extends LucideIconBase {\n    static icon = {\n      name: 'sparkles',\n      size: 24,\n      node: [['path', {\n        d: 'M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z',\n        key: '1s2grr'\n      }], ['path', {\n        d: 'M20 2v4',\n        key: '1rf3ol'\n      }], ['path', {\n        d: 'M22 4h-4',\n        key: 'gwowj6'\n      }], ['circle', {\n        cx: '4',\n        cy: '20',\n        r: '2',\n        key: '6kqj1y'\n      }]],\n      aliases: ['stars']\n    };\n    icon = signal(LucideSparkles.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSparkles_BaseFactory;\n      return function LucideSparkles_Factory(__ngFactoryType__) {\n        return (ɵLucideSparkles_BaseFactory || (ɵLucideSparkles_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSparkles)))(__ngFactoryType__ || LucideSparkles);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSparkles,\n      selectors: [[\"svg\", \"lucideSparkles\", \"\"], [\"svg\", \"lucideStars\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1363,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSparkles_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSparkles_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSparkles;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSparkles\n */\nconst LucideStars = LucideSparkles;\n\n/**\n * @component @name Speaker\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTYiIGhlaWdodD0iMjAiIHg9IjQiIHk9IjIiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xMiA2aC4wMSIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE0IiByPSI0IiAvPgogIDxwYXRoIGQ9Ik0xMiAxNGguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/speaker\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSpeaker = /*#__PURE__*/(() => {\n  class LucideSpeaker extends LucideIconBase {\n    static icon = {\n      name: 'speaker',\n      size: 24,\n      node: [['rect', {\n        width: '16',\n        height: '20',\n        x: '4',\n        y: '2',\n        rx: '2',\n        key: '1nb95v'\n      }], ['path', {\n        d: 'M12 6h.01',\n        key: '1vi96p'\n      }], ['circle', {\n        cx: '12',\n        cy: '14',\n        r: '4',\n        key: '1jruaj'\n      }], ['path', {\n        d: 'M12 14h.01',\n        key: '1etili'\n      }]]\n    };\n    icon = signal(LucideSpeaker.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSpeaker_BaseFactory;\n      return function LucideSpeaker_Factory(__ngFactoryType__) {\n        return (ɵLucideSpeaker_BaseFactory || (ɵLucideSpeaker_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSpeaker)))(__ngFactoryType__ || LucideSpeaker);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSpeaker,\n      selectors: [[\"svg\", \"lucideSpeaker\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1364,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSpeaker_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSpeaker_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSpeaker;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Speech\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOC44IDIwdi00LjFsMS45LjJhMi4zIDIuMyAwIDAgMCAyLjE2NC0yLjFWOC4zQTUuMzcgNS4zNyAwIDAgMCAyIDguMjVjMCAyLjguNjU2IDMuMDU0IDEgNC41NWE1Ljc3IDUuNzcgMCAwIDEgLjAyOSAyLjc1OEwyIDIwIiAvPgogIDxwYXRoIGQ9Ik0xOS44IDE3LjhhNy41IDcuNSAwIDAgMCAuMDAzLTEwLjYwMyIgLz4KICA8cGF0aCBkPSJNMTcgMTVhMy41IDMuNSAwIDAgMC0uMDI1LTQuOTc1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/speech\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSpeech = /*#__PURE__*/(() => {\n  class LucideSpeech extends LucideIconBase {\n    static icon = {\n      name: 'speech',\n      size: 24,\n      node: [['path', {\n        d: 'M8.8 20v-4.1l1.9.2a2.3 2.3 0 0 0 2.164-2.1V8.3A5.37 5.37 0 0 0 2 8.25c0 2.8.656 3.054 1 4.55a5.77 5.77 0 0 1 .029 2.758L2 20',\n        key: '11atix'\n      }], ['path', {\n        d: 'M19.8 17.8a7.5 7.5 0 0 0 .003-10.603',\n        key: 'yol142'\n      }], ['path', {\n        d: 'M17 15a3.5 3.5 0 0 0-.025-4.975',\n        key: 'ssbmkc'\n      }]]\n    };\n    icon = signal(LucideSpeech.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSpeech_BaseFactory;\n      return function LucideSpeech_Factory(__ngFactoryType__) {\n        return (ɵLucideSpeech_BaseFactory || (ɵLucideSpeech_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSpeech)))(__ngFactoryType__ || LucideSpeech);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSpeech,\n      selectors: [[\"svg\", \"lucideSpeech\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1365,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSpeech_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSpeech_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSpeech;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SpellCheck2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiAxNiA2LTEyIDYgMTIiIC8+CiAgPHBhdGggZD0iTTggMTJoOCIgLz4KICA8cGF0aCBkPSJNNCAyMWMxLjEgMCAxLjEtMSAyLjMtMXMxLjEgMSAyLjMgMWMxLjEgMCAxLjEtMSAyLjMtMSAxLjEgMCAxLjEgMSAyLjMgMSAxLjEgMCAxLjEtMSAyLjMtMSAxLjEgMCAxLjEgMSAyLjMgMSAxLjEgMCAxLjEtMSAyLjMtMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/spell-check-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSpellCheck2 = /*#__PURE__*/(() => {\n  class LucideSpellCheck2 extends LucideIconBase {\n    static icon = {\n      name: 'spell-check-2',\n      size: 24,\n      node: [['path', {\n        d: 'm6 16 6-12 6 12',\n        key: '1b4byz'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }], ['path', {\n        d: 'M4 21c1.1 0 1.1-1 2.3-1s1.1 1 2.3 1c1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1',\n        key: '8mdmtu'\n      }]]\n    };\n    icon = signal(LucideSpellCheck2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSpellCheck2_BaseFactory;\n      return function LucideSpellCheck2_Factory(__ngFactoryType__) {\n        return (ɵLucideSpellCheck2_BaseFactory || (ɵLucideSpellCheck2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSpellCheck2)))(__ngFactoryType__ || LucideSpellCheck2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSpellCheck2,\n      selectors: [[\"svg\", \"lucideSpellCheck2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1366,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSpellCheck2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSpellCheck2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSpellCheck2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Spline\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjUiIHI9IjIiIC8+CiAgPGNpcmNsZSBjeD0iNSIgY3k9IjE5IiByPSIyIiAvPgogIDxwYXRoIGQ9Ik01IDE3QTEyIDEyIDAgMCAxIDE3IDUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/spline\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSpline = /*#__PURE__*/(() => {\n  class LucideSpline extends LucideIconBase {\n    static icon = {\n      name: 'spline',\n      size: 24,\n      node: [['circle', {\n        cx: '19',\n        cy: '5',\n        r: '2',\n        key: 'mhkx31'\n      }], ['circle', {\n        cx: '5',\n        cy: '19',\n        r: '2',\n        key: 'v8kfzx'\n      }], ['path', {\n        d: 'M5 17A12 12 0 0 1 17 5',\n        key: '1okkup'\n      }]]\n    };\n    icon = signal(LucideSpline.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSpline_BaseFactory;\n      return function LucideSpline_Factory(__ngFactoryType__) {\n        return (ɵLucideSpline_BaseFactory || (ɵLucideSpline_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSpline)))(__ngFactoryType__ || LucideSpline);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSpline,\n      selectors: [[\"svg\", \"lucideSpline\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1367,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSpline_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSpline_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSpline;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SpellCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiAxNiA2LTEyIDYgMTIiIC8+CiAgPHBhdGggZD0iTTggMTJoOCIgLz4KICA8cGF0aCBkPSJtMTYgMjAgMiAyIDQtNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/spell-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSpellCheck = /*#__PURE__*/(() => {\n  class LucideSpellCheck extends LucideIconBase {\n    static icon = {\n      name: 'spell-check',\n      size: 24,\n      node: [['path', {\n        d: 'm6 16 6-12 6 12',\n        key: '1b4byz'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }], ['path', {\n        d: 'm16 20 2 2 4-4',\n        key: '13tcca'\n      }]]\n    };\n    icon = signal(LucideSpellCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSpellCheck_BaseFactory;\n      return function LucideSpellCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideSpellCheck_BaseFactory || (ɵLucideSpellCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSpellCheck)))(__ngFactoryType__ || LucideSpellCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSpellCheck,\n      selectors: [[\"svg\", \"lucideSpellCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1368,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSpellCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSpellCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSpellCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SplinePointer\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuMDM0IDEyLjY4MWEuNDk4LjQ5OCAwIDAgMSAuNjQ3LS42NDdsOSAzLjVhLjUuNSAwIDAgMS0uMDMzLjk0M2wtMy40NDQgMS4wNjhhMSAxIDAgMCAwLS42Ni42NmwtMS4wNjcgMy40NDNhLjUuNSAwIDAgMS0uOTQzLjAzM3oiIC8+CiAgPHBhdGggZD0iTTUgMTdBMTIgMTIgMCAwIDEgMTcgNSIgLz4KICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjUiIHI9IjIiIC8+CiAgPGNpcmNsZSBjeD0iNSIgY3k9IjE5IiByPSIyIiAvPgo8L3N2Zz4=) - https://lucide.dev/icons/spline-pointer\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSplinePointer = /*#__PURE__*/(() => {\n  class LucideSplinePointer extends LucideIconBase {\n    static icon = {\n      name: 'spline-pointer',\n      size: 24,\n      node: [['path', {\n        d: 'M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z',\n        key: 'xwnzip'\n      }], ['path', {\n        d: 'M5 17A12 12 0 0 1 17 5',\n        key: '1okkup'\n      }], ['circle', {\n        cx: '19',\n        cy: '5',\n        r: '2',\n        key: 'mhkx31'\n      }], ['circle', {\n        cx: '5',\n        cy: '19',\n        r: '2',\n        key: 'v8kfzx'\n      }]]\n    };\n    icon = signal(LucideSplinePointer.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSplinePointer_BaseFactory;\n      return function LucideSplinePointer_Factory(__ngFactoryType__) {\n        return (ɵLucideSplinePointer_BaseFactory || (ɵLucideSplinePointer_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSplinePointer)))(__ngFactoryType__ || LucideSplinePointer);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSplinePointer,\n      selectors: [[\"svg\", \"lucideSplinePointer\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1369,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSplinePointer_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSplinePointer_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSplinePointer;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Split\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgM2g1djUiIC8+CiAgPHBhdGggZD0iTTggM0gzdjUiIC8+CiAgPHBhdGggZD0iTTEyIDIydi04LjNhNCA0IDAgMCAwLTEuMTcyLTIuODcyTDMgMyIgLz4KICA8cGF0aCBkPSJtMTUgOSA2LTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/split\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSplit = /*#__PURE__*/(() => {\n  class LucideSplit extends LucideIconBase {\n    static icon = {\n      name: 'split',\n      size: 24,\n      node: [['path', {\n        d: 'M16 3h5v5',\n        key: '1806ms'\n      }], ['path', {\n        d: 'M8 3H3v5',\n        key: '15dfkv'\n      }], ['path', {\n        d: 'M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3',\n        key: '1qrqzj'\n      }], ['path', {\n        d: 'm15 9 6-6',\n        key: 'ko1vev'\n      }]]\n    };\n    icon = signal(LucideSplit.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSplit_BaseFactory;\n      return function LucideSplit_Factory(__ngFactoryType__) {\n        return (ɵLucideSplit_BaseFactory || (ɵLucideSplit_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSplit)))(__ngFactoryType__ || LucideSplit);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSplit,\n      selectors: [[\"svg\", \"lucideSplit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1370,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSplit_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSplit_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSplit;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Spool\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgMTMuNDQgNC40NDIgMTcuMDgyQTIgMiAwIDAgMCA0Ljk4MiAyMUgxOWEyIDIgMCAwIDAgLjU1OC0zLjkyMWwtMS4xMTUtLjMyQTIgMiAwIDAgMSAxNyAxNC44MzdWNy42NiIgLz4KICA8cGF0aCBkPSJtNyAxMC41NiAxMi41NTgtMy42NDJBMiAyIDAgMCAwIDE5LjAxOCAzSDVhMiAyIDAgMCAwLS41NTggMy45MjFsMS4xMTUuMzJBMiAyIDAgMCAxIDcgOS4xNjN2Ny4xNzgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/spool\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSpool = /*#__PURE__*/(() => {\n  class LucideSpool extends LucideIconBase {\n    static icon = {\n      name: 'spool',\n      size: 24,\n      node: [['path', {\n        d: 'M17 13.44 4.442 17.082A2 2 0 0 0 4.982 21H19a2 2 0 0 0 .558-3.921l-1.115-.32A2 2 0 0 1 17 14.837V7.66',\n        key: '13vns8'\n      }], ['path', {\n        d: 'm7 10.56 12.558-3.642A2 2 0 0 0 19.018 3H5a2 2 0 0 0-.558 3.921l1.115.32A2 2 0 0 1 7 9.163v7.178',\n        key: 's8x3u0'\n      }]]\n    };\n    icon = signal(LucideSpool.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSpool_BaseFactory;\n      return function LucideSpool_Factory(__ngFactoryType__) {\n        return (ɵLucideSpool_BaseFactory || (ɵLucideSpool_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSpool)))(__ngFactoryType__ || LucideSpool);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSpool,\n      selectors: [[\"svg\", \"lucideSpool\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1371,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSpool_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSpool_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSpool;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SprayCan\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAzaC4wMSIgLz4KICA8cGF0aCBkPSJNNyA1aC4wMSIgLz4KICA8cGF0aCBkPSJNMTEgN2guMDEiIC8+CiAgPHBhdGggZD0iTTMgN2guMDEiIC8+CiAgPHBhdGggZD0iTTcgOWguMDEiIC8+CiAgPHBhdGggZD0iTTMgMTFoLjAxIiAvPgogIDxyZWN0IHdpZHRoPSI0IiBoZWlnaHQ9IjQiIHg9IjE1IiB5PSI1IiAvPgogIDxwYXRoIGQ9Im0xOSA5IDIgMnYxMGMwIC42LS40IDEtMSAxaC02Yy0uNiAwLTEtLjQtMS0xVjExbDItMiIgLz4KICA8cGF0aCBkPSJtMTMgMTQgOC0yIiAvPgogIDxwYXRoIGQ9Im0xMyAxOSA4LTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/spray-can\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSprayCan = /*#__PURE__*/(() => {\n  class LucideSprayCan extends LucideIconBase {\n    static icon = {\n      name: 'spray-can',\n      size: 24,\n      node: [['path', {\n        d: 'M3 3h.01',\n        key: '159qn6'\n      }], ['path', {\n        d: 'M7 5h.01',\n        key: '1hq22a'\n      }], ['path', {\n        d: 'M11 7h.01',\n        key: '1osv80'\n      }], ['path', {\n        d: 'M3 7h.01',\n        key: '1xzrh3'\n      }], ['path', {\n        d: 'M7 9h.01',\n        key: '19b3jx'\n      }], ['path', {\n        d: 'M3 11h.01',\n        key: '1eifu7'\n      }], ['rect', {\n        width: '4',\n        height: '4',\n        x: '15',\n        y: '5',\n        key: 'mri9e4'\n      }], ['path', {\n        d: 'm19 9 2 2v10c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V11l2-2',\n        key: 'aib6hk'\n      }], ['path', {\n        d: 'm13 14 8-2',\n        key: '1d7bmk'\n      }], ['path', {\n        d: 'm13 19 8-2',\n        key: '1y2vml'\n      }]]\n    };\n    icon = signal(LucideSprayCan.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSprayCan_BaseFactory;\n      return function LucideSprayCan_Factory(__ngFactoryType__) {\n        return (ɵLucideSprayCan_BaseFactory || (ɵLucideSprayCan_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSprayCan)))(__ngFactoryType__ || LucideSprayCan);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSprayCan,\n      selectors: [[\"svg\", \"lucideSprayCan\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1372,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSprayCan_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSprayCan_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSprayCan;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Sprout\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgOS41MzZWN2E0IDQgMCAwIDEgNC00aDEuNWEuNS41IDAgMCAxIC41LjVWNWE0IDQgMCAwIDEtNCA0IDQgNCAwIDAgMC00IDRjMCAyIDEgMyAxIDVhNSA1IDAgMCAxLTEgMyIgLz4KICA8cGF0aCBkPSJNNCA5YTUgNSAwIDAgMSA4IDQgNSA1IDAgMCAxLTgtNCIgLz4KICA8cGF0aCBkPSJNNSAyMWgxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/sprout\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSprout = /*#__PURE__*/(() => {\n  class LucideSprout extends LucideIconBase {\n    static icon = {\n      name: 'sprout',\n      size: 24,\n      node: [['path', {\n        d: 'M14 9.536V7a4 4 0 0 1 4-4h1.5a.5.5 0 0 1 .5.5V5a4 4 0 0 1-4 4 4 4 0 0 0-4 4c0 2 1 3 1 5a5 5 0 0 1-1 3',\n        key: '139s4v'\n      }], ['path', {\n        d: 'M4 9a5 5 0 0 1 8 4 5 5 0 0 1-8-4',\n        key: '1dlkgp'\n      }], ['path', {\n        d: 'M5 21h14',\n        key: '11awu3'\n      }]]\n    };\n    icon = signal(LucideSprout.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSprout_BaseFactory;\n      return function LucideSprout_Factory(__ngFactoryType__) {\n        return (ɵLucideSprout_BaseFactory || (ɵLucideSprout_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSprout)))(__ngFactoryType__ || LucideSprout);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSprout,\n      selectors: [[\"svg\", \"lucideSprout\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1373,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSprout_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSprout_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSprout;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Spotlight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuMjk1IDE5LjU2MiAxNiAyMiIgLz4KICA8cGF0aCBkPSJtMTcgMTYgMy43NTggMi4wOTgiIC8+CiAgPHBhdGggZD0ibTE5IDEyLjUgMy4wMjYtLjU5OCIgLz4KICA8cGF0aCBkPSJNNy42MSA2LjNhMyAzIDAgMCAwLTMuOTIgMS4zbC0xLjM4IDIuNzlhMyAzIDAgMCAwIDEuMyAzLjkxbDYuODkgMy41OTdhMSAxIDAgMCAwIDEuMzQyLS40NDdsMy4xMDYtNi4yMTFhMSAxIDAgMCAwLS40NDctMS4zNDF6IiAvPgogIDxwYXRoIGQ9Ik04IDlWMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/spotlight\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSpotlight = /*#__PURE__*/(() => {\n  class LucideSpotlight extends LucideIconBase {\n    static icon = {\n      name: 'spotlight',\n      size: 24,\n      node: [['path', {\n        d: 'M15.295 19.562 16 22',\n        key: '31jsb7'\n      }], ['path', {\n        d: 'm17 16 3.758 2.098',\n        key: '121ar7'\n      }], ['path', {\n        d: 'm19 12.5 3.026-.598',\n        key: '19ukd3'\n      }], ['path', {\n        d: 'M7.61 6.3a3 3 0 0 0-3.92 1.3l-1.38 2.79a3 3 0 0 0 1.3 3.91l6.89 3.597a1 1 0 0 0 1.342-.447l3.106-6.211a1 1 0 0 0-.447-1.341z',\n        key: 'lwb9l9'\n      }], ['path', {\n        d: 'M8 9V2',\n        key: '1xa0v7'\n      }]]\n    };\n    icon = signal(LucideSpotlight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSpotlight_BaseFactory;\n      return function LucideSpotlight_Factory(__ngFactoryType__) {\n        return (ɵLucideSpotlight_BaseFactory || (ɵLucideSpotlight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSpotlight)))(__ngFactoryType__ || LucideSpotlight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSpotlight,\n      selectors: [[\"svg\", \"lucideSpotlight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1374,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSpotlight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSpotlight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSpotlight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SportShoe\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMTAuNDIgNC44LTUuMDciIC8+CiAgPHBhdGggZD0iTTE5IDE4aDMiIC8+CiAgPHBhdGggZD0iTTkuNSAyMiAyMS40MTQgOS40MTVBMiAyIDAgMCAwIDIxLjIgNi40bC01LjYxLTQuMjA4QTEgMSAwIDAgMCAxNCAzdjJhMiAyIDAgMCAxLTEuMzk0IDEuOTA2TDguNjc3IDguMDUzQTEgMSAwIDAgMCA4IDljLS4xNTUgNi4zOTMtMi4wODIgOS00IDlhMiAyIDAgMCAwIDAgNGgxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/sport-shoe\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSportShoe = /*#__PURE__*/(() => {\n  class LucideSportShoe extends LucideIconBase {\n    static icon = {\n      name: 'sport-shoe',\n      size: 24,\n      node: [['path', {\n        d: 'm15 10.42 4.8-5.07',\n        key: '10at9d'\n      }], ['path', {\n        d: 'M19 18h3',\n        key: 'nnkd4d'\n      }], ['path', {\n        d: 'M9.5 22 21.414 9.415A2 2 0 0 0 21.2 6.4l-5.61-4.208A1 1 0 0 0 14 3v2a2 2 0 0 1-1.394 1.906L8.677 8.053A1 1 0 0 0 8 9c-.155 6.393-2.082 9-4 9a2 2 0 0 0 0 4h14',\n        key: 'v410ed'\n      }]]\n    };\n    icon = signal(LucideSportShoe.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSportShoe_BaseFactory;\n      return function LucideSportShoe_Factory(__ngFactoryType__) {\n        return (ɵLucideSportShoe_BaseFactory || (ɵLucideSportShoe_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSportShoe)))(__ngFactoryType__ || LucideSportShoe);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSportShoe,\n      selectors: [[\"svg\", \"lucideSportShoe\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1375,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSportShoe_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSportShoe_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSportShoe;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquareActivity\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xNyAxMmgtMmwtMiA1LTItMTAtMiA1SDciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-activity\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareActivity = /*#__PURE__*/(() => {\n  class LucideSquareActivity extends LucideIconBase {\n    static icon = {\n      name: 'square-activity',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M17 12h-2l-2 5-2-10-2 5H7',\n        key: '15hlnc'\n      }]],\n      aliases: ['activity-square']\n    };\n    icon = signal(LucideSquareActivity.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareActivity_BaseFactory;\n      return function LucideSquareActivity_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareActivity_BaseFactory || (ɵLucideSquareActivity_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareActivity)))(__ngFactoryType__ || LucideSquareActivity);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareActivity,\n      selectors: [[\"svg\", \"lucideSquareActivity\", \"\"], [\"svg\", \"lucideActivitySquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1376,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareActivity_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareActivity_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareActivity;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareActivity\n */\nconst LucideActivitySquare = LucideSquareActivity;\n\n/**\n * @component @name SquareArrowDownLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Im0xNiA4LTggOCIgLz4KICA8cGF0aCBkPSJNMTYgMTZIOFY4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-arrow-down-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareArrowDownLeft = /*#__PURE__*/(() => {\n  class LucideSquareArrowDownLeft extends LucideIconBase {\n    static icon = {\n      name: 'square-arrow-down-left',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'm16 8-8 8',\n        key: '166keh'\n      }], ['path', {\n        d: 'M16 16H8V8',\n        key: '1w2ppm'\n      }]],\n      aliases: ['arrow-down-left-square']\n    };\n    icon = signal(LucideSquareArrowDownLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareArrowDownLeft_BaseFactory;\n      return function LucideSquareArrowDownLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareArrowDownLeft_BaseFactory || (ɵLucideSquareArrowDownLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareArrowDownLeft)))(__ngFactoryType__ || LucideSquareArrowDownLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareArrowDownLeft,\n      selectors: [[\"svg\", \"lucideSquareArrowDownLeft\", \"\"], [\"svg\", \"lucideArrowDownLeftSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1377,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareArrowDownLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareArrowDownLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareArrowDownLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareArrowDownLeft\n */\nconst LucideArrowDownLeftSquare = LucideSquareArrowDownLeft;\n\n/**\n * @component @name SquareArrowDownRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Im04IDggOCA4IiAvPgogIDxwYXRoIGQ9Ik0xNiA4djhIOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-arrow-down-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareArrowDownRight = /*#__PURE__*/(() => {\n  class LucideSquareArrowDownRight extends LucideIconBase {\n    static icon = {\n      name: 'square-arrow-down-right',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'm8 8 8 8',\n        key: '1imecy'\n      }], ['path', {\n        d: 'M16 8v8H8',\n        key: '1lbpgo'\n      }]],\n      aliases: ['arrow-down-right-square']\n    };\n    icon = signal(LucideSquareArrowDownRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareArrowDownRight_BaseFactory;\n      return function LucideSquareArrowDownRight_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareArrowDownRight_BaseFactory || (ɵLucideSquareArrowDownRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareArrowDownRight)))(__ngFactoryType__ || LucideSquareArrowDownRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareArrowDownRight,\n      selectors: [[\"svg\", \"lucideSquareArrowDownRight\", \"\"], [\"svg\", \"lucideArrowDownRightSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1378,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareArrowDownRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareArrowDownRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareArrowDownRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareArrowDownRight\n */\nconst LucideArrowDownRightSquare = LucideSquareArrowDownRight;\n\n/**\n * @component @name SquareArrowDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xMiA4djgiIC8+CiAgPHBhdGggZD0ibTggMTIgNCA0IDQtNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-arrow-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareArrowDown = /*#__PURE__*/(() => {\n  class LucideSquareArrowDown extends LucideIconBase {\n    static icon = {\n      name: 'square-arrow-down',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M12 8v8',\n        key: 'napkw2'\n      }], ['path', {\n        d: 'm8 12 4 4 4-4',\n        key: 'k98ssh'\n      }]],\n      aliases: ['arrow-down-square']\n    };\n    icon = signal(LucideSquareArrowDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareArrowDown_BaseFactory;\n      return function LucideSquareArrowDown_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareArrowDown_BaseFactory || (ɵLucideSquareArrowDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareArrowDown)))(__ngFactoryType__ || LucideSquareArrowDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareArrowDown,\n      selectors: [[\"svg\", \"lucideSquareArrowDown\", \"\"], [\"svg\", \"lucideArrowDownSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1379,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareArrowDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareArrowDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareArrowDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareArrowDown\n */\nconst LucideArrowDownSquare = LucideSquareArrowDown;\n\n/**\n * @component @name SquareArrowLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Im0xMiA4LTQgNCA0IDQiIC8+CiAgPHBhdGggZD0iTTE2IDEySDgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-arrow-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareArrowLeft = /*#__PURE__*/(() => {\n  class LucideSquareArrowLeft extends LucideIconBase {\n    static icon = {\n      name: 'square-arrow-left',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'm12 8-4 4 4 4',\n        key: '15vm53'\n      }], ['path', {\n        d: 'M16 12H8',\n        key: '1fr5h0'\n      }]],\n      aliases: ['arrow-left-square']\n    };\n    icon = signal(LucideSquareArrowLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareArrowLeft_BaseFactory;\n      return function LucideSquareArrowLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareArrowLeft_BaseFactory || (ɵLucideSquareArrowLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareArrowLeft)))(__ngFactoryType__ || LucideSquareArrowLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareArrowLeft,\n      selectors: [[\"svg\", \"lucideSquareArrowLeft\", \"\"], [\"svg\", \"lucideArrowLeftSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1380,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareArrowLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareArrowLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareArrowLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareArrowLeft\n */\nconst LucideArrowLeftSquare = LucideSquareArrowLeft;\n\n/**\n * @component @name SquareArrowOutDownLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgMjFoNmEyIDIgMCAwIDAgMi0yVjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2NiIgLz4KICA8cGF0aCBkPSJtMyAyMSA5LTkiIC8+CiAgPHBhdGggZD0iTTkgMjFIM3YtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-arrow-out-down-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareArrowOutDownLeft = /*#__PURE__*/(() => {\n  class LucideSquareArrowOutDownLeft extends LucideIconBase {\n    static icon = {\n      name: 'square-arrow-out-down-left',\n      size: 24,\n      node: [['path', {\n        d: 'M13 21h6a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6',\n        key: '14qz4y'\n      }], ['path', {\n        d: 'm3 21 9-9',\n        key: '1jfql5'\n      }], ['path', {\n        d: 'M9 21H3v-6',\n        key: 'wtvkvv'\n      }]],\n      aliases: ['arrow-down-left-from-square']\n    };\n    icon = signal(LucideSquareArrowOutDownLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareArrowOutDownLeft_BaseFactory;\n      return function LucideSquareArrowOutDownLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareArrowOutDownLeft_BaseFactory || (ɵLucideSquareArrowOutDownLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareArrowOutDownLeft)))(__ngFactoryType__ || LucideSquareArrowOutDownLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareArrowOutDownLeft,\n      selectors: [[\"svg\", \"lucideSquareArrowOutDownLeft\", \"\"], [\"svg\", \"lucideArrowDownLeftFromSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1381,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareArrowOutDownLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareArrowOutDownLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareArrowOutDownLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareArrowOutDownLeft\n */\nconst LucideArrowDownLeftFromSquare = LucideSquareArrowOutDownLeft;\n\n/**\n * @component @name SquareArrowOutUpLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgM2g2YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTYiIC8+CiAgPHBhdGggZD0ibTMgMyA5IDkiIC8+CiAgPHBhdGggZD0iTTMgOVYzaDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-arrow-out-up-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareArrowOutUpLeft = /*#__PURE__*/(() => {\n  class LucideSquareArrowOutUpLeft extends LucideIconBase {\n    static icon = {\n      name: 'square-arrow-out-up-left',\n      size: 24,\n      node: [['path', {\n        d: 'M13 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6',\n        key: '14mv1t'\n      }], ['path', {\n        d: 'm3 3 9 9',\n        key: 'rks13r'\n      }], ['path', {\n        d: 'M3 9V3h6',\n        key: 'ira0h2'\n      }]],\n      aliases: ['arrow-up-left-from-square']\n    };\n    icon = signal(LucideSquareArrowOutUpLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareArrowOutUpLeft_BaseFactory;\n      return function LucideSquareArrowOutUpLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareArrowOutUpLeft_BaseFactory || (ɵLucideSquareArrowOutUpLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareArrowOutUpLeft)))(__ngFactoryType__ || LucideSquareArrowOutUpLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareArrowOutUpLeft,\n      selectors: [[\"svg\", \"lucideSquareArrowOutUpLeft\", \"\"], [\"svg\", \"lucideArrowUpLeftFromSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1382,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareArrowOutUpLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareArrowOutUpLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareArrowOutUpLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareArrowOutUpLeft\n */\nconst LucideArrowUpLeftFromSquare = LucideSquareArrowOutUpLeft;\n\n/**\n * @component @name SquareArrowOutUpRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNiIgLz4KICA8cGF0aCBkPSJtMjEgMy05IDkiIC8+CiAgPHBhdGggZD0iTTE1IDNoNnY2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-arrow-out-up-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareArrowOutUpRight = /*#__PURE__*/(() => {\n  class LucideSquareArrowOutUpRight extends LucideIconBase {\n    static icon = {\n      name: 'square-arrow-out-up-right',\n      size: 24,\n      node: [['path', {\n        d: 'M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6',\n        key: 'y09zxi'\n      }], ['path', {\n        d: 'm21 3-9 9',\n        key: 'mpx6sq'\n      }], ['path', {\n        d: 'M15 3h6v6',\n        key: '1q9fwt'\n      }]],\n      aliases: ['arrow-up-right-from-square']\n    };\n    icon = signal(LucideSquareArrowOutUpRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareArrowOutUpRight_BaseFactory;\n      return function LucideSquareArrowOutUpRight_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareArrowOutUpRight_BaseFactory || (ɵLucideSquareArrowOutUpRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareArrowOutUpRight)))(__ngFactoryType__ || LucideSquareArrowOutUpRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareArrowOutUpRight,\n      selectors: [[\"svg\", \"lucideSquareArrowOutUpRight\", \"\"], [\"svg\", \"lucideArrowUpRightFromSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1383,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareArrowOutUpRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareArrowOutUpRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareArrowOutUpRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareArrowOutUpRight\n */\nconst LucideArrowUpRightFromSquare = LucideSquareArrowOutUpRight;\n\n/**\n * @component @name SquareArrowOutDownRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTFWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDYiIC8+CiAgPHBhdGggZD0ibTIxIDIxLTktOSIgLz4KICA8cGF0aCBkPSJNMjEgMTV2NmgtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-arrow-out-down-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareArrowOutDownRight = /*#__PURE__*/(() => {\n  class LucideSquareArrowOutDownRight extends LucideIconBase {\n    static icon = {\n      name: 'square-arrow-out-down-right',\n      size: 24,\n      node: [['path', {\n        d: 'M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6',\n        key: '14rsvq'\n      }], ['path', {\n        d: 'm21 21-9-9',\n        key: '1et2py'\n      }], ['path', {\n        d: 'M21 15v6h-6',\n        key: '1jko0i'\n      }]],\n      aliases: ['arrow-down-right-from-square']\n    };\n    icon = signal(LucideSquareArrowOutDownRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareArrowOutDownRight_BaseFactory;\n      return function LucideSquareArrowOutDownRight_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareArrowOutDownRight_BaseFactory || (ɵLucideSquareArrowOutDownRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareArrowOutDownRight)))(__ngFactoryType__ || LucideSquareArrowOutDownRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareArrowOutDownRight,\n      selectors: [[\"svg\", \"lucideSquareArrowOutDownRight\", \"\"], [\"svg\", \"lucideArrowDownRightFromSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1384,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareArrowOutDownRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareArrowOutDownRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareArrowOutDownRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareArrowOutDownRight\n */\nconst LucideArrowDownRightFromSquare = LucideSquareArrowOutDownRight;\n\n/**\n * @component @name SquareArrowRightEnter\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAgMTYgNC00LTQtNCIgLz4KICA8cGF0aCBkPSJNMyAxMmgxMSIgLz4KICA8cGF0aCBkPSJNMyA4VjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi0zIiAvPgo8L3N2Zz4=) - https://lucide.dev/icons/square-arrow-right-enter\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareArrowRightEnter = /*#__PURE__*/(() => {\n  class LucideSquareArrowRightEnter extends LucideIconBase {\n    static icon = {\n      name: 'square-arrow-right-enter',\n      size: 24,\n      node: [['path', {\n        d: 'm10 16 4-4-4-4',\n        key: 'w9835o'\n      }], ['path', {\n        d: 'M3 12h11',\n        key: 'pmja8f'\n      }], ['path', {\n        d: 'M3 8V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3',\n        key: '1bqs5q'\n      }]]\n    };\n    icon = signal(LucideSquareArrowRightEnter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareArrowRightEnter_BaseFactory;\n      return function LucideSquareArrowRightEnter_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareArrowRightEnter_BaseFactory || (ɵLucideSquareArrowRightEnter_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareArrowRightEnter)))(__ngFactoryType__ || LucideSquareArrowRightEnter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareArrowRightEnter,\n      selectors: [[\"svg\", \"lucideSquareArrowRightEnter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1385,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareArrowRightEnter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareArrowRightEnter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareArrowRightEnter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquareArrowRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik04IDEyaDgiIC8+CiAgPHBhdGggZD0ibTEyIDE2IDQtNC00LTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-arrow-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareArrowRight = /*#__PURE__*/(() => {\n  class LucideSquareArrowRight extends LucideIconBase {\n    static icon = {\n      name: 'square-arrow-right',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }], ['path', {\n        d: 'm12 16 4-4-4-4',\n        key: '1i9zcv'\n      }]],\n      aliases: ['arrow-right-square']\n    };\n    icon = signal(LucideSquareArrowRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareArrowRight_BaseFactory;\n      return function LucideSquareArrowRight_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareArrowRight_BaseFactory || (ɵLucideSquareArrowRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareArrowRight)))(__ngFactoryType__ || LucideSquareArrowRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareArrowRight,\n      selectors: [[\"svg\", \"lucideSquareArrowRight\", \"\"], [\"svg\", \"lucideArrowRightSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1386,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareArrowRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareArrowRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareArrowRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareArrowRight\n */\nconst LucideArrowRightSquare = LucideSquareArrowRight;\n\n/**\n * @component @name SquareArrowUpLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik04IDE2VjhoOCIgLz4KICA8cGF0aCBkPSJNMTYgMTYgOCA4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-arrow-up-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareArrowUpLeft = /*#__PURE__*/(() => {\n  class LucideSquareArrowUpLeft extends LucideIconBase {\n    static icon = {\n      name: 'square-arrow-up-left',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M8 16V8h8',\n        key: '19xb1h'\n      }], ['path', {\n        d: 'M16 16 8 8',\n        key: '1qdy8n'\n      }]],\n      aliases: ['arrow-up-left-square']\n    };\n    icon = signal(LucideSquareArrowUpLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareArrowUpLeft_BaseFactory;\n      return function LucideSquareArrowUpLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareArrowUpLeft_BaseFactory || (ɵLucideSquareArrowUpLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareArrowUpLeft)))(__ngFactoryType__ || LucideSquareArrowUpLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareArrowUpLeft,\n      selectors: [[\"svg\", \"lucideSquareArrowUpLeft\", \"\"], [\"svg\", \"lucideArrowUpLeftSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1387,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareArrowUpLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareArrowUpLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareArrowUpLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareArrowUpLeft\n */\nconst LucideArrowUpLeftSquare = LucideSquareArrowUpLeft;\n\n/**\n * @component @name SquareArrowRightExit\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTJoMTEiIC8+CiAgPHBhdGggZD0ibTE3IDE2IDQtNC00LTQiIC8+CiAgPHBhdGggZD0iTTIxIDYuMzQ0VjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi0xLjM0NCIgLz4KPC9zdmc+) - https://lucide.dev/icons/square-arrow-right-exit\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareArrowRightExit = /*#__PURE__*/(() => {\n  class LucideSquareArrowRightExit extends LucideIconBase {\n    static icon = {\n      name: 'square-arrow-right-exit',\n      size: 24,\n      node: [['path', {\n        d: 'M10 12h11',\n        key: '6m4ad9'\n      }], ['path', {\n        d: 'm17 16 4-4-4-4',\n        key: 'iin4zf'\n      }], ['path', {\n        d: 'M21 6.344V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-1.344',\n        key: '1ojbhp'\n      }]]\n    };\n    icon = signal(LucideSquareArrowRightExit.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareArrowRightExit_BaseFactory;\n      return function LucideSquareArrowRightExit_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareArrowRightExit_BaseFactory || (ɵLucideSquareArrowRightExit_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareArrowRightExit)))(__ngFactoryType__ || LucideSquareArrowRightExit);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareArrowRightExit,\n      selectors: [[\"svg\", \"lucideSquareArrowRightExit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1388,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareArrowRightExit_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareArrowRightExit_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareArrowRightExit;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquareArrowUpRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik04IDhoOHY4IiAvPgogIDxwYXRoIGQ9Im04IDE2IDgtOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-arrow-up-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareArrowUpRight = /*#__PURE__*/(() => {\n  class LucideSquareArrowUpRight extends LucideIconBase {\n    static icon = {\n      name: 'square-arrow-up-right',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M8 8h8v8',\n        key: 'b65dnt'\n      }], ['path', {\n        d: 'm8 16 8-8',\n        key: '13b9ih'\n      }]],\n      aliases: ['arrow-up-right-square']\n    };\n    icon = signal(LucideSquareArrowUpRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareArrowUpRight_BaseFactory;\n      return function LucideSquareArrowUpRight_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareArrowUpRight_BaseFactory || (ɵLucideSquareArrowUpRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareArrowUpRight)))(__ngFactoryType__ || LucideSquareArrowUpRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareArrowUpRight,\n      selectors: [[\"svg\", \"lucideSquareArrowUpRight\", \"\"], [\"svg\", \"lucideArrowUpRightSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1389,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareArrowUpRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareArrowUpRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareArrowUpRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareArrowUpRight\n */\nconst LucideArrowUpRightSquare = LucideSquareArrowUpRight;\n\n/**\n * @component @name SquareArrowUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Im0xNiAxMi00LTQtNCA0IiAvPgogIDxwYXRoIGQ9Ik0xMiAxNlY4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-arrow-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareArrowUp = /*#__PURE__*/(() => {\n  class LucideSquareArrowUp extends LucideIconBase {\n    static icon = {\n      name: 'square-arrow-up',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'm16 12-4-4-4 4',\n        key: '177agl'\n      }], ['path', {\n        d: 'M12 16V8',\n        key: '1sbj14'\n      }]],\n      aliases: ['arrow-up-square']\n    };\n    icon = signal(LucideSquareArrowUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareArrowUp_BaseFactory;\n      return function LucideSquareArrowUp_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareArrowUp_BaseFactory || (ɵLucideSquareArrowUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareArrowUp)))(__ngFactoryType__ || LucideSquareArrowUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareArrowUp,\n      selectors: [[\"svg\", \"lucideSquareArrowUp\", \"\"], [\"svg\", \"lucideArrowUpSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1390,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareArrowUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareArrowUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareArrowUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareArrowUp\n */\nconst LucideArrowUpSquare = LucideSquareArrowUp;\n\n/**\n * @component @name SquareBottomDashedScissors\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iNSIgeTE9IjMiIHgyPSIxOSIgeTI9IjMiIC8+CiAgPGxpbmUgeDE9IjMiIHkxPSI1IiB4Mj0iMyIgeTI9IjE5IiAvPgogIDxsaW5lIHgxPSIyMSIgeTE9IjUiIHgyPSIyMSIgeTI9IjE5IiAvPgogIDxsaW5lIHgxPSI5IiB5MT0iMjEiIHgyPSIxMCIgeTI9IjIxIiAvPgogIDxsaW5lIHgxPSIxNCIgeTE9IjIxIiB4Mj0iMTUiIHkyPSIyMSIgLz4KICA8cGF0aCBkPSJNIDMgNSBBMiAyIDAgMCAxIDUgMyIgLz4KICA8cGF0aCBkPSJNIDE5IDMgQTIgMiAwIDAgMSAyMSA1IiAvPgogIDxwYXRoIGQ9Ik0gNSAyMSBBMiAyIDAgMCAxIDMgMTkiIC8+CiAgPHBhdGggZD0iTSAyMSAxOSBBMiAyIDAgMCAxIDE5IDIxIiAvPgogIDxjaXJjbGUgY3g9IjguNSIgY3k9IjguNSIgcj0iMS41IiAvPgogIDxsaW5lIHgxPSI5LjU2MDY2IiB5MT0iOS41NjA2NiIgeDI9IjEyIiB5Mj0iMTIiIC8+CiAgPGxpbmUgeDE9IjE3IiB5MT0iMTciIHgyPSIxNC44MiIgeTI9IjE0LjgyIiAvPgogIDxjaXJjbGUgY3g9IjguNSIgY3k9IjE1LjUiIHI9IjEuNSIgLz4KICA8bGluZSB4MT0iOS41NjA2NiIgeTE9IjE0LjQzOTM0IiB4Mj0iMTciIHkyPSI3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-bottom-dashed-scissors\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareBottomDashedScissors = /*#__PURE__*/(() => {\n  class LucideSquareBottomDashedScissors extends LucideIconBase {\n    static icon = {\n      name: 'square-bottom-dashed-scissors',\n      size: 24,\n      node: [['line', {\n        x1: '5',\n        y1: '3',\n        x2: '19',\n        y2: '3',\n        key: 'x74652'\n      }], ['line', {\n        x1: '3',\n        y1: '5',\n        x2: '3',\n        y2: '19',\n        key: '31ivqu'\n      }], ['line', {\n        x1: '21',\n        y1: '5',\n        x2: '21',\n        y2: '19',\n        key: '1am4cd'\n      }], ['line', {\n        x1: '9',\n        y1: '21',\n        x2: '10',\n        y2: '21',\n        key: 'sb02er'\n      }], ['line', {\n        x1: '14',\n        y1: '21',\n        x2: '15',\n        y2: '21',\n        key: '1bvb1m'\n      }], ['path', {\n        d: 'M 3 5 A2 2 0 0 1 5 3',\n        key: 'dbypyf'\n      }], ['path', {\n        d: 'M 19 3 A2 2 0 0 1 21 5',\n        key: 'y6haui'\n      }], ['path', {\n        d: 'M 5 21 A2 2 0 0 1 3 19',\n        key: 'kb75wq'\n      }], ['path', {\n        d: 'M 21 19 A2 2 0 0 1 19 21',\n        key: '1p3zbf'\n      }], ['circle', {\n        cx: '8.5',\n        cy: '8.5',\n        r: '1.5',\n        key: 'cn5opk'\n      }], ['line', {\n        x1: '9.56066',\n        y1: '9.56066',\n        x2: '12',\n        y2: '12',\n        key: 'mksg6j'\n      }], ['line', {\n        x1: '17',\n        y1: '17',\n        x2: '14.82',\n        y2: '14.82',\n        key: '1lwi1d'\n      }], ['circle', {\n        cx: '8.5',\n        cy: '15.5',\n        r: '1.5',\n        key: '12hfy1'\n      }], ['line', {\n        x1: '9.56066',\n        y1: '14.43934',\n        x2: '17',\n        y2: '7',\n        key: '4jyfgs'\n      }]],\n      aliases: ['scissors-square-dashed-bottom']\n    };\n    icon = signal(LucideSquareBottomDashedScissors.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareBottomDashedScissors_BaseFactory;\n      return function LucideSquareBottomDashedScissors_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareBottomDashedScissors_BaseFactory || (ɵLucideSquareBottomDashedScissors_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareBottomDashedScissors)))(__ngFactoryType__ || LucideSquareBottomDashedScissors);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareBottomDashedScissors,\n      selectors: [[\"svg\", \"lucideSquareBottomDashedScissors\", \"\"], [\"svg\", \"lucideScissorsSquareDashedBottom\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1391,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareBottomDashedScissors_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareBottomDashedScissors_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareBottomDashedScissors;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareBottomDashedScissors\n */\nconst LucideScissorsSquareDashedBottom = LucideSquareBottomDashedScissors;\n\n/**\n * @component @name SquareAsterisk\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xMiA4djgiIC8+CiAgPHBhdGggZD0ibTguNSAxNCA3LTQiIC8+CiAgPHBhdGggZD0ibTguNSAxMCA3IDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-asterisk\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareAsterisk = /*#__PURE__*/(() => {\n  class LucideSquareAsterisk extends LucideIconBase {\n    static icon = {\n      name: 'square-asterisk',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M12 8v8',\n        key: 'napkw2'\n      }], ['path', {\n        d: 'm8.5 14 7-4',\n        key: '12hpby'\n      }], ['path', {\n        d: 'm8.5 10 7 4',\n        key: 'wwy2dy'\n      }]],\n      aliases: ['asterisk-square']\n    };\n    icon = signal(LucideSquareAsterisk.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareAsterisk_BaseFactory;\n      return function LucideSquareAsterisk_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareAsterisk_BaseFactory || (ɵLucideSquareAsterisk_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareAsterisk)))(__ngFactoryType__ || LucideSquareAsterisk);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareAsterisk,\n      selectors: [[\"svg\", \"lucideSquareAsterisk\", \"\"], [\"svg\", \"lucideAsteriskSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1392,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareAsterisk_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareAsterisk_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareAsterisk;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareAsterisk\n */\nconst LucideAsteriskSquare = LucideSquareAsterisk;\n\n/**\n * @component @name SquareCenterlineDashedHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAzSDVhMiAyIDAgMCAwLTIgMnYxNGMwIDEuMS45IDIgMiAyaDMiIC8+CiAgPHBhdGggZD0iTTE2IDNoM2EyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJoLTMiIC8+CiAgPHBhdGggZD0iTTEyIDIwdjIiIC8+CiAgPHBhdGggZD0iTTEyIDE0djIiIC8+CiAgPHBhdGggZD0iTTEyIDh2MiIgLz4KICA8cGF0aCBkPSJNMTIgMnYyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-centerline-dashed-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareCenterlineDashedHorizontal = /*#__PURE__*/(() => {\n  class LucideSquareCenterlineDashedHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'square-centerline-dashed-horizontal',\n      size: 24,\n      node: [['path', {\n        d: 'M8 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h3',\n        key: '1i73f7'\n      }], ['path', {\n        d: 'M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3',\n        key: 'saxlbk'\n      }], ['path', {\n        d: 'M12 20v2',\n        key: '1lh1kg'\n      }], ['path', {\n        d: 'M12 14v2',\n        key: '8jcxud'\n      }], ['path', {\n        d: 'M12 8v2',\n        key: '1woqiv'\n      }], ['path', {\n        d: 'M12 2v2',\n        key: 'tus03m'\n      }]],\n      aliases: ['flip-horizontal']\n    };\n    icon = signal(LucideSquareCenterlineDashedHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareCenterlineDashedHorizontal_BaseFactory;\n      return function LucideSquareCenterlineDashedHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareCenterlineDashedHorizontal_BaseFactory || (ɵLucideSquareCenterlineDashedHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareCenterlineDashedHorizontal)))(__ngFactoryType__ || LucideSquareCenterlineDashedHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareCenterlineDashedHorizontal,\n      selectors: [[\"svg\", \"lucideSquareCenterlineDashedHorizontal\", \"\"], [\"svg\", \"lucideFlipHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1393,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareCenterlineDashedHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareCenterlineDashedHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareCenterlineDashedHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareCenterlineDashedHorizontal\n */\nconst LucideFlipHorizontal = LucideSquareCenterlineDashedHorizontal;\n\n/**\n * @component @name SquareChartGantt\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik05IDhoNyIgLz4KICA8cGF0aCBkPSJNOCAxMmg2IiAvPgogIDxwYXRoIGQ9Ik0xMSAxNmg1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-chart-gantt\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareChartGantt = /*#__PURE__*/(() => {\n  class LucideSquareChartGantt extends LucideIconBase {\n    static icon = {\n      name: 'square-chart-gantt',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M9 8h7',\n        key: 'kbo1nt'\n      }], ['path', {\n        d: 'M8 12h6',\n        key: 'ikassy'\n      }], ['path', {\n        d: 'M11 16h5',\n        key: 'oq65wt'\n      }]],\n      aliases: ['gantt-chart-square', 'square-gantt-chart']\n    };\n    icon = signal(LucideSquareChartGantt.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareChartGantt_BaseFactory;\n      return function LucideSquareChartGantt_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareChartGantt_BaseFactory || (ɵLucideSquareChartGantt_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareChartGantt)))(__ngFactoryType__ || LucideSquareChartGantt);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareChartGantt,\n      selectors: [[\"svg\", \"lucideSquareChartGantt\", \"\"], [\"svg\", \"lucideGanttChartSquare\", \"\"], [\"svg\", \"lucideSquareGanttChart\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1394,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareChartGantt_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareChartGantt_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareChartGantt;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareChartGantt\n */\nconst LucideGanttChartSquare = LucideSquareChartGantt;\n/**\n * @deprecated\n * @see LucideSquareChartGantt\n */\nconst LucideSquareGanttChart = LucideSquareChartGantt;\n\n/**\n * @component @name SquareCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Im05IDEyIDIgMiA0LTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareCheck = /*#__PURE__*/(() => {\n  class LucideSquareCheck extends LucideIconBase {\n    static icon = {\n      name: 'square-check',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'm9 12 2 2 4-4',\n        key: 'dzmm74'\n      }]],\n      aliases: ['check-square-2']\n    };\n    icon = signal(LucideSquareCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareCheck_BaseFactory;\n      return function LucideSquareCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareCheck_BaseFactory || (ɵLucideSquareCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareCheck)))(__ngFactoryType__ || LucideSquareCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareCheck,\n      selectors: [[\"svg\", \"lucideSquareCheck\", \"\"], [\"svg\", \"lucideCheckSquare2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1395,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareCheck\n */\nconst LucideCheckSquare2 = LucideSquareCheck;\n\n/**\n * @component @name SquareCenterlineDashedVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgOFY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjMiIC8+CiAgPHBhdGggZD0iTTIxIDE2djNhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTMiIC8+CiAgPHBhdGggZD0iTTQgMTJIMiIgLz4KICA8cGF0aCBkPSJNMTAgMTJIOCIgLz4KICA8cGF0aCBkPSJNMTYgMTJoLTIiIC8+CiAgPHBhdGggZD0iTTIyIDEyaC0yIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-centerline-dashed-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareCenterlineDashedVertical = /*#__PURE__*/(() => {\n  class LucideSquareCenterlineDashedVertical extends LucideIconBase {\n    static icon = {\n      name: 'square-centerline-dashed-vertical',\n      size: 24,\n      node: [['path', {\n        d: 'M21 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v3',\n        key: '14bfxa'\n      }], ['path', {\n        d: 'M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3',\n        key: '14rx03'\n      }], ['path', {\n        d: 'M4 12H2',\n        key: 'rhcxmi'\n      }], ['path', {\n        d: 'M10 12H8',\n        key: 's88cx1'\n      }], ['path', {\n        d: 'M16 12h-2',\n        key: '10asgb'\n      }], ['path', {\n        d: 'M22 12h-2',\n        key: '14jgyd'\n      }]],\n      aliases: ['flip-vertical']\n    };\n    icon = signal(LucideSquareCenterlineDashedVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareCenterlineDashedVertical_BaseFactory;\n      return function LucideSquareCenterlineDashedVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareCenterlineDashedVertical_BaseFactory || (ɵLucideSquareCenterlineDashedVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareCenterlineDashedVertical)))(__ngFactoryType__ || LucideSquareCenterlineDashedVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareCenterlineDashedVertical,\n      selectors: [[\"svg\", \"lucideSquareCenterlineDashedVertical\", \"\"], [\"svg\", \"lucideFlipVertical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1396,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareCenterlineDashedVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareCenterlineDashedVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareCenterlineDashedVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareCenterlineDashedVertical\n */\nconst LucideFlipVertical = LucideSquareCenterlineDashedVertical;\n\n/**\n * @component @name SquareCheckBig\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTAuNjU2VjE5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxMi4zNDQiIC8+CiAgPHBhdGggZD0ibTkgMTEgMyAzTDIyIDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-check-big\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareCheckBig = /*#__PURE__*/(() => {\n  class LucideSquareCheckBig extends LucideIconBase {\n    static icon = {\n      name: 'square-check-big',\n      size: 24,\n      node: [['path', {\n        d: 'M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344',\n        key: '2acyp4'\n      }], ['path', {\n        d: 'm9 11 3 3L22 4',\n        key: '1pflzl'\n      }]],\n      aliases: ['check-square']\n    };\n    icon = signal(LucideSquareCheckBig.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareCheckBig_BaseFactory;\n      return function LucideSquareCheckBig_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareCheckBig_BaseFactory || (ɵLucideSquareCheckBig_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareCheckBig)))(__ngFactoryType__ || LucideSquareCheckBig);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareCheckBig,\n      selectors: [[\"svg\", \"lucideSquareCheckBig\", \"\"], [\"svg\", \"lucideCheckSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1397,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareCheckBig_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareCheckBig_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareCheckBig;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareCheckBig\n */\nconst LucideCheckSquare = LucideSquareCheckBig;\n\n/**\n * @component @name SquareChevronDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Im0xNiAxMC00IDQtNC00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-chevron-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareChevronDown = /*#__PURE__*/(() => {\n  class LucideSquareChevronDown extends LucideIconBase {\n    static icon = {\n      name: 'square-chevron-down',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'm16 10-4 4-4-4',\n        key: '894hmk'\n      }]],\n      aliases: ['chevron-down-square']\n    };\n    icon = signal(LucideSquareChevronDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareChevronDown_BaseFactory;\n      return function LucideSquareChevronDown_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareChevronDown_BaseFactory || (ɵLucideSquareChevronDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareChevronDown)))(__ngFactoryType__ || LucideSquareChevronDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareChevronDown,\n      selectors: [[\"svg\", \"lucideSquareChevronDown\", \"\"], [\"svg\", \"lucideChevronDownSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1398,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareChevronDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareChevronDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareChevronDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareChevronDown\n */\nconst LucideChevronDownSquare = LucideSquareChevronDown;\n\n/**\n * @component @name SquareChevronLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Im0xNCAxNi00LTQgNC00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-chevron-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareChevronLeft = /*#__PURE__*/(() => {\n  class LucideSquareChevronLeft extends LucideIconBase {\n    static icon = {\n      name: 'square-chevron-left',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'm14 16-4-4 4-4',\n        key: 'ojs7w8'\n      }]],\n      aliases: ['chevron-left-square']\n    };\n    icon = signal(LucideSquareChevronLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareChevronLeft_BaseFactory;\n      return function LucideSquareChevronLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareChevronLeft_BaseFactory || (ɵLucideSquareChevronLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareChevronLeft)))(__ngFactoryType__ || LucideSquareChevronLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareChevronLeft,\n      selectors: [[\"svg\", \"lucideSquareChevronLeft\", \"\"], [\"svg\", \"lucideChevronLeftSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1399,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareChevronLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareChevronLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareChevronLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareChevronLeft\n */\nconst LucideChevronLeftSquare = LucideSquareChevronLeft;\n\n/**\n * @component @name SquareChevronUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Im04IDE0IDQtNCA0IDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-chevron-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareChevronUp = /*#__PURE__*/(() => {\n  class LucideSquareChevronUp extends LucideIconBase {\n    static icon = {\n      name: 'square-chevron-up',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'm8 14 4-4 4 4',\n        key: 'fy2ptz'\n      }]],\n      aliases: ['chevron-up-square']\n    };\n    icon = signal(LucideSquareChevronUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareChevronUp_BaseFactory;\n      return function LucideSquareChevronUp_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareChevronUp_BaseFactory || (ɵLucideSquareChevronUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareChevronUp)))(__ngFactoryType__ || LucideSquareChevronUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareChevronUp,\n      selectors: [[\"svg\", \"lucideSquareChevronUp\", \"\"], [\"svg\", \"lucideChevronUpSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1400,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareChevronUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareChevronUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareChevronUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareChevronUp\n */\nconst LucideChevronUpSquare = LucideSquareChevronUp;\n\n/**\n * @component @name SquareChevronRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Im0xMCA4IDQgNC00IDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-chevron-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareChevronRight = /*#__PURE__*/(() => {\n  class LucideSquareChevronRight extends LucideIconBase {\n    static icon = {\n      name: 'square-chevron-right',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'm10 8 4 4-4 4',\n        key: '1wy4r4'\n      }]],\n      aliases: ['chevron-right-square']\n    };\n    icon = signal(LucideSquareChevronRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareChevronRight_BaseFactory;\n      return function LucideSquareChevronRight_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareChevronRight_BaseFactory || (ɵLucideSquareChevronRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareChevronRight)))(__ngFactoryType__ || LucideSquareChevronRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareChevronRight,\n      selectors: [[\"svg\", \"lucideSquareChevronRight\", \"\"], [\"svg\", \"lucideChevronRightSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1401,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareChevronRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareChevronRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareChevronRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareChevronRight\n */\nconst LucideChevronRightSquare = LucideSquareChevronRight;\n\n/**\n * @component @name SquareCode\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAgOS0zIDMgMyAzIiAvPgogIDxwYXRoIGQ9Im0xNCAxNSAzLTMtMy0zIiAvPgogIDxyZWN0IHg9IjMiIHk9IjMiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-code\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareCode = /*#__PURE__*/(() => {\n  class LucideSquareCode extends LucideIconBase {\n    static icon = {\n      name: 'square-code',\n      size: 24,\n      node: [['path', {\n        d: 'm10 9-3 3 3 3',\n        key: '1oro0q'\n      }], ['path', {\n        d: 'm14 15 3-3-3-3',\n        key: 'bz13h7'\n      }], ['rect', {\n        x: '3',\n        y: '3',\n        width: '18',\n        height: '18',\n        rx: '2',\n        key: 'h1oib'\n      }]],\n      aliases: ['code-square']\n    };\n    icon = signal(LucideSquareCode.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareCode_BaseFactory;\n      return function LucideSquareCode_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareCode_BaseFactory || (ɵLucideSquareCode_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareCode)))(__ngFactoryType__ || LucideSquareCode);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareCode,\n      selectors: [[\"svg\", \"lucideSquareCode\", \"\"], [\"svg\", \"lucideCodeSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1402,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareCode_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareCode_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareCode;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareCode\n */\nconst LucideCodeSquare = LucideSquareCode;\n\n/**\n * @component @name SquareDashedBottomCode\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgOS41IDggMTJsMiAyLjUiIC8+CiAgPHBhdGggZD0iTTE0IDIxaDEiIC8+CiAgPHBhdGggZD0ibTE0IDkuNSAyIDIuNS0yIDIuNSIgLz4KICA8cGF0aCBkPSJNNSAyMWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDIiIC8+CiAgPHBhdGggZD0iTTkgMjFoMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-dashed-bottom-code\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareDashedBottomCode = /*#__PURE__*/(() => {\n  class LucideSquareDashedBottomCode extends LucideIconBase {\n    static icon = {\n      name: 'square-dashed-bottom-code',\n      size: 24,\n      node: [['path', {\n        d: 'M10 9.5 8 12l2 2.5',\n        key: '3mjy60'\n      }], ['path', {\n        d: 'M14 21h1',\n        key: 'v9vybs'\n      }], ['path', {\n        d: 'm14 9.5 2 2.5-2 2.5',\n        key: '1bir2l'\n      }], ['path', {\n        d: 'M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2',\n        key: 'as5y1o'\n      }], ['path', {\n        d: 'M9 21h1',\n        key: '15o7lz'\n      }]]\n    };\n    icon = signal(LucideSquareDashedBottomCode.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareDashedBottomCode_BaseFactory;\n      return function LucideSquareDashedBottomCode_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareDashedBottomCode_BaseFactory || (ɵLucideSquareDashedBottomCode_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareDashedBottomCode)))(__ngFactoryType__ || LucideSquareDashedBottomCode);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareDashedBottomCode,\n      selectors: [[\"svg\", \"lucideSquareDashedBottomCode\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1403,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareDashedBottomCode_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareDashedBottomCode_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareDashedBottomCode;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquareDashedBottom\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAyMWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDIiIC8+CiAgPHBhdGggZD0iTTkgMjFoMSIgLz4KICA8cGF0aCBkPSJNMTQgMjFoMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-dashed-bottom\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareDashedBottom = /*#__PURE__*/(() => {\n  class LucideSquareDashedBottom extends LucideIconBase {\n    static icon = {\n      name: 'square-dashed-bottom',\n      size: 24,\n      node: [['path', {\n        d: 'M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2',\n        key: 'as5y1o'\n      }], ['path', {\n        d: 'M9 21h1',\n        key: '15o7lz'\n      }], ['path', {\n        d: 'M14 21h1',\n        key: 'v9vybs'\n      }]]\n    };\n    icon = signal(LucideSquareDashedBottom.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareDashedBottom_BaseFactory;\n      return function LucideSquareDashedBottom_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareDashedBottom_BaseFactory || (ɵLucideSquareDashedBottom_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareDashedBottom)))(__ngFactoryType__ || LucideSquareDashedBottom);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareDashedBottom,\n      selectors: [[\"svg\", \"lucideSquareDashedBottom\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1404,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareDashedBottom_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareDashedBottom_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareDashedBottom;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquareDashedMousePointer\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuMDM0IDEyLjY4MWEuNDk4LjQ5OCAwIDAgMSAuNjQ3LS42NDdsOSAzLjVhLjUuNSAwIDAgMS0uMDMzLjk0M2wtMy40NDQgMS4wNjhhMSAxIDAgMCAwLS42Ni42NmwtMS4wNjcgMy40NDNhLjUuNSAwIDAgMS0uOTQzLjAzM3oiIC8+CiAgPHBhdGggZD0iTTUgM2EyIDIgMCAwIDAtMiAyIiAvPgogIDxwYXRoIGQ9Ik0xOSAzYTIgMiAwIDAgMSAyIDIiIC8+CiAgPHBhdGggZD0iTTUgMjFhMiAyIDAgMCAxLTItMiIgLz4KICA8cGF0aCBkPSJNOSAzaDEiIC8+CiAgPHBhdGggZD0iTTkgMjFoMiIgLz4KICA8cGF0aCBkPSJNMTQgM2gxIiAvPgogIDxwYXRoIGQ9Ik0zIDl2MSIgLz4KICA8cGF0aCBkPSJNMjEgOXYyIiAvPgogIDxwYXRoIGQ9Ik0zIDE0djEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-dashed-mouse-pointer\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareDashedMousePointer = /*#__PURE__*/(() => {\n  class LucideSquareDashedMousePointer extends LucideIconBase {\n    static icon = {\n      name: 'square-dashed-mouse-pointer',\n      size: 24,\n      node: [['path', {\n        d: 'M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z',\n        key: 'xwnzip'\n      }], ['path', {\n        d: 'M5 3a2 2 0 0 0-2 2',\n        key: 'y57alp'\n      }], ['path', {\n        d: 'M19 3a2 2 0 0 1 2 2',\n        key: '18rm91'\n      }], ['path', {\n        d: 'M5 21a2 2 0 0 1-2-2',\n        key: 'sbafld'\n      }], ['path', {\n        d: 'M9 3h1',\n        key: '1yesri'\n      }], ['path', {\n        d: 'M9 21h2',\n        key: '1qve2z'\n      }], ['path', {\n        d: 'M14 3h1',\n        key: '1ec4yj'\n      }], ['path', {\n        d: 'M3 9v1',\n        key: '1r0deq'\n      }], ['path', {\n        d: 'M21 9v2',\n        key: 'p14lih'\n      }], ['path', {\n        d: 'M3 14v1',\n        key: 'vnatye'\n      }]],\n      aliases: ['mouse-pointer-square-dashed']\n    };\n    icon = signal(LucideSquareDashedMousePointer.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareDashedMousePointer_BaseFactory;\n      return function LucideSquareDashedMousePointer_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareDashedMousePointer_BaseFactory || (ɵLucideSquareDashedMousePointer_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareDashedMousePointer)))(__ngFactoryType__ || LucideSquareDashedMousePointer);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareDashedMousePointer,\n      selectors: [[\"svg\", \"lucideSquareDashedMousePointer\", \"\"], [\"svg\", \"lucideMousePointerSquareDashed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1405,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareDashedMousePointer_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareDashedMousePointer_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareDashedMousePointer;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareDashedMousePointer\n */\nconst LucideMousePointerSquareDashed = LucideSquareDashedMousePointer;\n\n/**\n * @component @name SquareDashedKanban\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCA3djciIC8+CiAgPHBhdGggZD0iTTEyIDd2NCIgLz4KICA8cGF0aCBkPSJNMTYgN3Y5IiAvPgogIDxwYXRoIGQ9Ik01IDNhMiAyIDAgMCAwLTIgMiIgLz4KICA8cGF0aCBkPSJNOSAzaDEiIC8+CiAgPHBhdGggZD0iTTE0IDNoMSIgLz4KICA8cGF0aCBkPSJNMTkgM2EyIDIgMCAwIDEgMiAyIiAvPgogIDxwYXRoIGQ9Ik0yMSA5djEiIC8+CiAgPHBhdGggZD0iTTIxIDE0djEiIC8+CiAgPHBhdGggZD0iTTIxIDE5YTIgMiAwIDAgMS0yIDIiIC8+CiAgPHBhdGggZD0iTTE0IDIxaDEiIC8+CiAgPHBhdGggZD0iTTkgMjFoMSIgLz4KICA8cGF0aCBkPSJNNSAyMWEyIDIgMCAwIDEtMi0yIiAvPgogIDxwYXRoIGQ9Ik0zIDE0djEiIC8+CiAgPHBhdGggZD0iTTMgOXYxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-dashed-kanban\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareDashedKanban = /*#__PURE__*/(() => {\n  class LucideSquareDashedKanban extends LucideIconBase {\n    static icon = {\n      name: 'square-dashed-kanban',\n      size: 24,\n      node: [['path', {\n        d: 'M8 7v7',\n        key: '1x2jlm'\n      }], ['path', {\n        d: 'M12 7v4',\n        key: 'xawao1'\n      }], ['path', {\n        d: 'M16 7v9',\n        key: '1hp2iy'\n      }], ['path', {\n        d: 'M5 3a2 2 0 0 0-2 2',\n        key: 'y57alp'\n      }], ['path', {\n        d: 'M9 3h1',\n        key: '1yesri'\n      }], ['path', {\n        d: 'M14 3h1',\n        key: '1ec4yj'\n      }], ['path', {\n        d: 'M19 3a2 2 0 0 1 2 2',\n        key: '18rm91'\n      }], ['path', {\n        d: 'M21 9v1',\n        key: 'mxsmne'\n      }], ['path', {\n        d: 'M21 14v1',\n        key: '169vum'\n      }], ['path', {\n        d: 'M21 19a2 2 0 0 1-2 2',\n        key: '1j7049'\n      }], ['path', {\n        d: 'M14 21h1',\n        key: 'v9vybs'\n      }], ['path', {\n        d: 'M9 21h1',\n        key: '15o7lz'\n      }], ['path', {\n        d: 'M5 21a2 2 0 0 1-2-2',\n        key: 'sbafld'\n      }], ['path', {\n        d: 'M3 14v1',\n        key: 'vnatye'\n      }], ['path', {\n        d: 'M3 9v1',\n        key: '1r0deq'\n      }]],\n      aliases: ['kanban-square-dashed']\n    };\n    icon = signal(LucideSquareDashedKanban.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareDashedKanban_BaseFactory;\n      return function LucideSquareDashedKanban_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareDashedKanban_BaseFactory || (ɵLucideSquareDashedKanban_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareDashedKanban)))(__ngFactoryType__ || LucideSquareDashedKanban);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareDashedKanban,\n      selectors: [[\"svg\", \"lucideSquareDashedKanban\", \"\"], [\"svg\", \"lucideKanbanSquareDashed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1406,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareDashedKanban_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareDashedKanban_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareDashedKanban;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareDashedKanban\n */\nconst LucideKanbanSquareDashed = LucideSquareDashedKanban;\n\n/**\n * @component @name SquareDashedTopSolid\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMjFoMSIgLz4KICA8cGF0aCBkPSJNMjEgMTR2MSIgLz4KICA8cGF0aCBkPSJNMjEgMTlhMiAyIDAgMCAxLTIgMiIgLz4KICA8cGF0aCBkPSJNMjEgOXYxIiAvPgogIDxwYXRoIGQ9Ik0zIDE0djEiIC8+CiAgPHBhdGggZD0iTTMgNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDIiIC8+CiAgPHBhdGggZD0iTTMgOXYxIiAvPgogIDxwYXRoIGQ9Ik01IDIxYTIgMiAwIDAgMS0yLTIiIC8+CiAgPHBhdGggZD0iTTkgMjFoMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-dashed-top-solid\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareDashedTopSolid = /*#__PURE__*/(() => {\n  class LucideSquareDashedTopSolid extends LucideIconBase {\n    static icon = {\n      name: 'square-dashed-top-solid',\n      size: 24,\n      node: [['path', {\n        d: 'M14 21h1',\n        key: 'v9vybs'\n      }], ['path', {\n        d: 'M21 14v1',\n        key: '169vum'\n      }], ['path', {\n        d: 'M21 19a2 2 0 0 1-2 2',\n        key: '1j7049'\n      }], ['path', {\n        d: 'M21 9v1',\n        key: 'mxsmne'\n      }], ['path', {\n        d: 'M3 14v1',\n        key: 'vnatye'\n      }], ['path', {\n        d: 'M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2',\n        key: '89voep'\n      }], ['path', {\n        d: 'M3 9v1',\n        key: '1r0deq'\n      }], ['path', {\n        d: 'M5 21a2 2 0 0 1-2-2',\n        key: 'sbafld'\n      }], ['path', {\n        d: 'M9 21h1',\n        key: '15o7lz'\n      }]]\n    };\n    icon = signal(LucideSquareDashedTopSolid.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareDashedTopSolid_BaseFactory;\n      return function LucideSquareDashedTopSolid_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareDashedTopSolid_BaseFactory || (ɵLucideSquareDashedTopSolid_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareDashedTopSolid)))(__ngFactoryType__ || LucideSquareDashedTopSolid);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareDashedTopSolid,\n      selectors: [[\"svg\", \"lucideSquareDashedTopSolid\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1407,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareDashedTopSolid_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareDashedTopSolid_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareDashedTopSolid;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquareDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAzYTIgMiAwIDAgMC0yIDIiIC8+CiAgPHBhdGggZD0iTTE5IDNhMiAyIDAgMCAxIDIgMiIgLz4KICA8cGF0aCBkPSJNMjEgMTlhMiAyIDAgMCAxLTIgMiIgLz4KICA8cGF0aCBkPSJNNSAyMWEyIDIgMCAwIDEtMi0yIiAvPgogIDxwYXRoIGQ9Ik05IDNoMSIgLz4KICA8cGF0aCBkPSJNOSAyMWgxIiAvPgogIDxwYXRoIGQ9Ik0xNCAzaDEiIC8+CiAgPHBhdGggZD0iTTE0IDIxaDEiIC8+CiAgPHBhdGggZD0iTTMgOXYxIiAvPgogIDxwYXRoIGQ9Ik0yMSA5djEiIC8+CiAgPHBhdGggZD0iTTMgMTR2MSIgLz4KICA8cGF0aCBkPSJNMjEgMTR2MSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareDashed = /*#__PURE__*/(() => {\n  class LucideSquareDashed extends LucideIconBase {\n    static icon = {\n      name: 'square-dashed',\n      size: 24,\n      node: [['path', {\n        d: 'M5 3a2 2 0 0 0-2 2',\n        key: 'y57alp'\n      }], ['path', {\n        d: 'M19 3a2 2 0 0 1 2 2',\n        key: '18rm91'\n      }], ['path', {\n        d: 'M21 19a2 2 0 0 1-2 2',\n        key: '1j7049'\n      }], ['path', {\n        d: 'M5 21a2 2 0 0 1-2-2',\n        key: 'sbafld'\n      }], ['path', {\n        d: 'M9 3h1',\n        key: '1yesri'\n      }], ['path', {\n        d: 'M9 21h1',\n        key: '15o7lz'\n      }], ['path', {\n        d: 'M14 3h1',\n        key: '1ec4yj'\n      }], ['path', {\n        d: 'M14 21h1',\n        key: 'v9vybs'\n      }], ['path', {\n        d: 'M3 9v1',\n        key: '1r0deq'\n      }], ['path', {\n        d: 'M21 9v1',\n        key: 'mxsmne'\n      }], ['path', {\n        d: 'M3 14v1',\n        key: 'vnatye'\n      }], ['path', {\n        d: 'M21 14v1',\n        key: '169vum'\n      }]],\n      aliases: ['box-select']\n    };\n    icon = signal(LucideSquareDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareDashed_BaseFactory;\n      return function LucideSquareDashed_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareDashed_BaseFactory || (ɵLucideSquareDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareDashed)))(__ngFactoryType__ || LucideSquareDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareDashed,\n      selectors: [[\"svg\", \"lucideSquareDashed\", \"\"], [\"svg\", \"lucideBoxSelect\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1408,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareDashed\n */\nconst LucideBoxSelect = LucideSquareDashed;\n\n/**\n * @component @name SquareDot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-dot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareDot = /*#__PURE__*/(() => {\n  class LucideSquareDot extends LucideIconBase {\n    static icon = {\n      name: 'square-dot',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '1',\n        key: '41hilf'\n      }]],\n      aliases: ['dot-square']\n    };\n    icon = signal(LucideSquareDot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareDot_BaseFactory;\n      return function LucideSquareDot_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareDot_BaseFactory || (ɵLucideSquareDot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareDot)))(__ngFactoryType__ || LucideSquareDot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareDot,\n      selectors: [[\"svg\", \"lucideSquareDot\", \"\"], [\"svg\", \"lucideDotSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1409,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareDot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareDot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareDot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareDot\n */\nconst LucideDotSquare = LucideSquareDot;\n\n/**\n * @component @name SquareEqual\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik03IDEwaDEwIiAvPgogIDxwYXRoIGQ9Ik03IDE0aDEwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-equal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareEqual = /*#__PURE__*/(() => {\n  class LucideSquareEqual extends LucideIconBase {\n    static icon = {\n      name: 'square-equal',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M7 10h10',\n        key: '1101jm'\n      }], ['path', {\n        d: 'M7 14h10',\n        key: '1mhdw3'\n      }]],\n      aliases: ['equal-square']\n    };\n    icon = signal(LucideSquareEqual.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareEqual_BaseFactory;\n      return function LucideSquareEqual_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareEqual_BaseFactory || (ɵLucideSquareEqual_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareEqual)))(__ngFactoryType__ || LucideSquareEqual);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareEqual,\n      selectors: [[\"svg\", \"lucideSquareEqual\", \"\"], [\"svg\", \"lucideEqualSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1410,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareEqual_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareEqual_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareEqual;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareEqual\n */\nconst LucideEqualSquare = LucideSquareEqual;\n\n/**\n * @component @name SquareDivide\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiByeT0iMiIgLz4KICA8bGluZSB4MT0iOCIgeDI9IjE2IiB5MT0iMTIiIHkyPSIxMiIgLz4KICA8bGluZSB4MT0iMTIiIHgyPSIxMiIgeTE9IjE2IiB5Mj0iMTYiIC8+CiAgPGxpbmUgeDE9IjEyIiB4Mj0iMTIiIHkxPSI4IiB5Mj0iOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-divide\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareDivide = /*#__PURE__*/(() => {\n  class LucideSquareDivide extends LucideIconBase {\n    static icon = {\n      name: 'square-divide',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        ry: '2',\n        key: '1m3agn'\n      }], ['line', {\n        x1: '8',\n        x2: '16',\n        y1: '12',\n        y2: '12',\n        key: '1jonct'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '16',\n        y2: '16',\n        key: 'aqc6ln'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '8',\n        y2: '8',\n        key: '1mkcni'\n      }]],\n      aliases: ['divide-square']\n    };\n    icon = signal(LucideSquareDivide.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareDivide_BaseFactory;\n      return function LucideSquareDivide_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareDivide_BaseFactory || (ɵLucideSquareDivide_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareDivide)))(__ngFactoryType__ || LucideSquareDivide);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareDivide,\n      selectors: [[\"svg\", \"lucideSquareDivide\", \"\"], [\"svg\", \"lucideDivideSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1411,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareDivide_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareDivide_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareDivide;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareDivide\n */\nconst LucideDivideSquare = LucideSquareDivide;\n\n/**\n * @component @name SquareFunction\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNOSAxN2MyIDAgMi44LTEgMi44LTIuOFYxMGMwLTIgMS0zLjMgMy4yLTMiIC8+CiAgPHBhdGggZD0iTTkgMTEuMmg1LjciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-function\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareFunction = /*#__PURE__*/(() => {\n  class LucideSquareFunction extends LucideIconBase {\n    static icon = {\n      name: 'square-function',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        ry: '2',\n        key: '1m3agn'\n      }], ['path', {\n        d: 'M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3',\n        key: 'm1af9g'\n      }], ['path', {\n        d: 'M9 11.2h5.7',\n        key: '3zgcl2'\n      }]],\n      aliases: ['function-square']\n    };\n    icon = signal(LucideSquareFunction.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareFunction_BaseFactory;\n      return function LucideSquareFunction_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareFunction_BaseFactory || (ɵLucideSquareFunction_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareFunction)))(__ngFactoryType__ || LucideSquareFunction);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareFunction,\n      selectors: [[\"svg\", \"lucideSquareFunction\", \"\"], [\"svg\", \"lucideFunctionSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1412,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareFunction_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareFunction_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareFunction;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareFunction\n */\nconst LucideFunctionSquare = LucideSquareFunction;\n\n/**\n * @component @name SquareLibrary\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik03IDd2MTAiIC8+CiAgPHBhdGggZD0iTTExIDd2MTAiIC8+CiAgPHBhdGggZD0ibTE1IDcgMiAxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-library\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareLibrary = /*#__PURE__*/(() => {\n  class LucideSquareLibrary extends LucideIconBase {\n    static icon = {\n      name: 'square-library',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M7 7v10',\n        key: 'd5nglc'\n      }], ['path', {\n        d: 'M11 7v10',\n        key: 'pptsnr'\n      }], ['path', {\n        d: 'm15 7 2 10',\n        key: '1m7qm5'\n      }]],\n      aliases: ['library-square']\n    };\n    icon = signal(LucideSquareLibrary.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareLibrary_BaseFactory;\n      return function LucideSquareLibrary_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareLibrary_BaseFactory || (ɵLucideSquareLibrary_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareLibrary)))(__ngFactoryType__ || LucideSquareLibrary);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareLibrary,\n      selectors: [[\"svg\", \"lucideSquareLibrary\", \"\"], [\"svg\", \"lucideLibrarySquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1413,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareLibrary_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareLibrary_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareLibrary;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareLibrary\n */\nconst LucideLibrarySquare = LucideSquareLibrary;\n\n/**\n * @component @name SquareKanban\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik04IDd2NyIgLz4KICA8cGF0aCBkPSJNMTIgN3Y0IiAvPgogIDxwYXRoIGQ9Ik0xNiA3djkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-kanban\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareKanban = /*#__PURE__*/(() => {\n  class LucideSquareKanban extends LucideIconBase {\n    static icon = {\n      name: 'square-kanban',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M8 7v7',\n        key: '1x2jlm'\n      }], ['path', {\n        d: 'M12 7v4',\n        key: 'xawao1'\n      }], ['path', {\n        d: 'M16 7v9',\n        key: '1hp2iy'\n      }]],\n      aliases: ['kanban-square']\n    };\n    icon = signal(LucideSquareKanban.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareKanban_BaseFactory;\n      return function LucideSquareKanban_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareKanban_BaseFactory || (ɵLucideSquareKanban_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareKanban)))(__ngFactoryType__ || LucideSquareKanban);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareKanban,\n      selectors: [[\"svg\", \"lucideSquareKanban\", \"\"], [\"svg\", \"lucideKanbanSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1414,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareKanban_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareKanban_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareKanban;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareKanban\n */\nconst LucideKanbanSquare = LucideSquareKanban;\n\n/**\n * @component @name SquareM\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAxNlY4LjVhLjUuNSAwIDAgMSAuOS0uM2wyLjcgMy41OTlhLjUuNSAwIDAgMCAuOCAwbDIuNy0zLjZhLjUuNSAwIDAgMSAuOS4zVjE2IiAvPgogIDxyZWN0IHg9IjMiIHk9IjMiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-m\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareM = /*#__PURE__*/(() => {\n  class LucideSquareM extends LucideIconBase {\n    static icon = {\n      name: 'square-m',\n      size: 24,\n      node: [['path', {\n        d: 'M8 16V8.5a.5.5 0 0 1 .9-.3l2.7 3.599a.5.5 0 0 0 .8 0l2.7-3.6a.5.5 0 0 1 .9.3V16',\n        key: '1ywlsj'\n      }], ['rect', {\n        x: '3',\n        y: '3',\n        width: '18',\n        height: '18',\n        rx: '2',\n        key: 'h1oib'\n      }]],\n      aliases: ['m-square']\n    };\n    icon = signal(LucideSquareM.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareM_BaseFactory;\n      return function LucideSquareM_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareM_BaseFactory || (ɵLucideSquareM_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareM)))(__ngFactoryType__ || LucideSquareM);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareM,\n      selectors: [[\"svg\", \"lucideSquareM\", \"\"], [\"svg\", \"lucideMSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1415,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareM_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareM_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareM;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareM\n */\nconst LucideMSquare = LucideSquareM;\n\n/**\n * @component @name SquareMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik04IDEyaDgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareMinus = /*#__PURE__*/(() => {\n  class LucideSquareMinus extends LucideIconBase {\n    static icon = {\n      name: 'square-minus',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }]],\n      aliases: ['minus-square']\n    };\n    icon = signal(LucideSquareMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareMinus_BaseFactory;\n      return function LucideSquareMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareMinus_BaseFactory || (ɵLucideSquareMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareMinus)))(__ngFactoryType__ || LucideSquareMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareMinus,\n      selectors: [[\"svg\", \"lucideSquareMinus\", \"\"], [\"svg\", \"lucideMinusSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1416,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareMinus\n */\nconst LucideMinusSquare = LucideSquareMinus;\n\n/**\n * @component @name SquareMenu\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik03IDhoMTAiIC8+CiAgPHBhdGggZD0iTTcgMTJoMTAiIC8+CiAgPHBhdGggZD0iTTcgMTZoMTAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-menu\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareMenu = /*#__PURE__*/(() => {\n  class LucideSquareMenu extends LucideIconBase {\n    static icon = {\n      name: 'square-menu',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M7 8h10',\n        key: '1jw688'\n      }], ['path', {\n        d: 'M7 12h10',\n        key: 'b7w52i'\n      }], ['path', {\n        d: 'M7 16h10',\n        key: 'wp8him'\n      }]],\n      aliases: ['menu-square']\n    };\n    icon = signal(LucideSquareMenu.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareMenu_BaseFactory;\n      return function LucideSquareMenu_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareMenu_BaseFactory || (ɵLucideSquareMenu_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareMenu)))(__ngFactoryType__ || LucideSquareMenu);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareMenu,\n      selectors: [[\"svg\", \"lucideSquareMenu\", \"\"], [\"svg\", \"lucideMenuSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1417,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareMenu_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareMenu_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareMenu;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareMenu\n */\nconst LucideMenuSquare = LucideSquareMenu;\n\n/**\n * @component @name SquareMousePointer\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuMDM0IDEyLjY4MWEuNDk4LjQ5OCAwIDAgMSAuNjQ3LS42NDdsOSAzLjVhLjUuNSAwIDAgMS0uMDMzLjk0M2wtMy40NDQgMS4wNjhhMSAxIDAgMCAwLS42Ni42NmwtMS4wNjcgMy40NDNhLjUuNSAwIDAgMS0uOTQzLjAzM3oiIC8+CiAgPHBhdGggZD0iTTIxIDExVjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-mouse-pointer\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareMousePointer = /*#__PURE__*/(() => {\n  class LucideSquareMousePointer extends LucideIconBase {\n    static icon = {\n      name: 'square-mouse-pointer',\n      size: 24,\n      node: [['path', {\n        d: 'M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z',\n        key: 'xwnzip'\n      }], ['path', {\n        d: 'M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6',\n        key: '14rsvq'\n      }]],\n      aliases: ['inspect']\n    };\n    icon = signal(LucideSquareMousePointer.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareMousePointer_BaseFactory;\n      return function LucideSquareMousePointer_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareMousePointer_BaseFactory || (ɵLucideSquareMousePointer_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareMousePointer)))(__ngFactoryType__ || LucideSquareMousePointer);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareMousePointer,\n      selectors: [[\"svg\", \"lucideSquareMousePointer\", \"\"], [\"svg\", \"lucideInspect\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1418,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareMousePointer_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareMousePointer_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareMousePointer;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareMousePointer\n */\nconst LucideInspect = LucideSquareMousePointer;\n\n/**\n * @component @name SquareParkingOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy42IDMuNkEyIDIgMCAwIDEgNSAzaDE0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLS41OSAxLjQxIiAvPgogIDxwYXRoIGQ9Ik0zIDguN1YxOWEyIDIgMCAwIDAgMiAyaDEwLjMiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJNMTMgMTNhMyAzIDAgMSAwIDAtNkg5djIiIC8+CiAgPHBhdGggZD0iTTkgMTd2LTIuMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-parking-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareParkingOff = /*#__PURE__*/(() => {\n  class LucideSquareParkingOff extends LucideIconBase {\n    static icon = {\n      name: 'square-parking-off',\n      size: 24,\n      node: [['path', {\n        d: 'M3.6 3.6A2 2 0 0 1 5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-.59 1.41',\n        key: '9l1ft6'\n      }], ['path', {\n        d: 'M3 8.7V19a2 2 0 0 0 2 2h10.3',\n        key: '17knke'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M13 13a3 3 0 1 0 0-6H9v2',\n        key: 'uoagbd'\n      }], ['path', {\n        d: 'M9 17v-2.3',\n        key: '1jxgo2'\n      }]],\n      aliases: ['parking-square-off']\n    };\n    icon = signal(LucideSquareParkingOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareParkingOff_BaseFactory;\n      return function LucideSquareParkingOff_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareParkingOff_BaseFactory || (ɵLucideSquareParkingOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareParkingOff)))(__ngFactoryType__ || LucideSquareParkingOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareParkingOff,\n      selectors: [[\"svg\", \"lucideSquareParkingOff\", \"\"], [\"svg\", \"lucideParkingSquareOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1419,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareParkingOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareParkingOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareParkingOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareParkingOff\n */\nconst LucideParkingSquareOff = LucideSquareParkingOff;\n\n/**\n * @component @name SquareParking\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik05IDE3VjdoNGEzIDMgMCAwIDEgMCA2SDkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-parking\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareParking = /*#__PURE__*/(() => {\n  class LucideSquareParking extends LucideIconBase {\n    static icon = {\n      name: 'square-parking',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M9 17V7h4a3 3 0 0 1 0 6H9',\n        key: '1dfk2c'\n      }]],\n      aliases: ['parking-square']\n    };\n    icon = signal(LucideSquareParking.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareParking_BaseFactory;\n      return function LucideSquareParking_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareParking_BaseFactory || (ɵLucideSquareParking_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareParking)))(__ngFactoryType__ || LucideSquareParking);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareParking,\n      selectors: [[\"svg\", \"lucideSquareParking\", \"\"], [\"svg\", \"lucideParkingSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1420,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareParking_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareParking_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareParking;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareParking\n */\nconst LucideParkingSquare = LucideSquareParking;\n\n/**\n * @component @name SquarePen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi03IiAvPgogIDxwYXRoIGQ9Ik0xOC4zNzUgMi42MjVhMSAxIDAgMCAxIDMgM2wtOS4wMTMgOS4wMTRhMiAyIDAgMCAxLS44NTMuNTA1bC0yLjg3My44NGEuNS41IDAgMCAxLS42Mi0uNjJsLjg0LTIuODczYTIgMiAwIDAgMSAuNTA2LS44NTJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-pen\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquarePen = /*#__PURE__*/(() => {\n  class LucideSquarePen extends LucideIconBase {\n    static icon = {\n      name: 'square-pen',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7',\n        key: '1m0v6g'\n      }], ['path', {\n        d: 'M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z',\n        key: 'ohrbg2'\n      }]],\n      aliases: ['pen-box', 'edit', 'pen-square']\n    };\n    icon = signal(LucideSquarePen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquarePen_BaseFactory;\n      return function LucideSquarePen_Factory(__ngFactoryType__) {\n        return (ɵLucideSquarePen_BaseFactory || (ɵLucideSquarePen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquarePen)))(__ngFactoryType__ || LucideSquarePen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquarePen,\n      selectors: [[\"svg\", \"lucideSquarePen\", \"\"], [\"svg\", \"lucidePenBox\", \"\"], [\"svg\", \"lucideEdit\", \"\"], [\"svg\", \"lucidePenSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1421,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquarePen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquarePen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquarePen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquarePen\n */\nconst LucidePenBox = LucideSquarePen;\n/**\n * @deprecated\n * @see LucideSquarePen\n */\nconst LucideEdit = LucideSquarePen;\n/**\n * @deprecated\n * @see LucideSquarePen\n */\nconst LucidePenSquare = LucideSquarePen;\n\n/**\n * @component @name SquarePause\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxsaW5lIHgxPSIxMCIgeDI9IjEwIiB5MT0iMTUiIHkyPSI5IiAvPgogIDxsaW5lIHgxPSIxNCIgeDI9IjE0IiB5MT0iMTUiIHkyPSI5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-pause\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquarePause = /*#__PURE__*/(() => {\n  class LucideSquarePause extends LucideIconBase {\n    static icon = {\n      name: 'square-pause',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['line', {\n        x1: '10',\n        x2: '10',\n        y1: '15',\n        y2: '9',\n        key: 'c1nkhi'\n      }], ['line', {\n        x1: '14',\n        x2: '14',\n        y1: '15',\n        y2: '9',\n        key: 'h65svq'\n      }]]\n    };\n    icon = signal(LucideSquarePause.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquarePause_BaseFactory;\n      return function LucideSquarePause_Factory(__ngFactoryType__) {\n        return (ɵLucideSquarePause_BaseFactory || (ɵLucideSquarePause_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquarePause)))(__ngFactoryType__ || LucideSquarePause);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquarePause,\n      selectors: [[\"svg\", \"lucideSquarePause\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1422,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquarePause_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquarePause_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquarePause;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquarePercent\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Im0xNSA5LTYgNiIgLz4KICA8cGF0aCBkPSJNOSA5aC4wMSIgLz4KICA8cGF0aCBkPSJNMTUgMTVoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-percent\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquarePercent = /*#__PURE__*/(() => {\n  class LucideSquarePercent extends LucideIconBase {\n    static icon = {\n      name: 'square-percent',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'm15 9-6 6',\n        key: '1uzhvr'\n      }], ['path', {\n        d: 'M9 9h.01',\n        key: '1q5me6'\n      }], ['path', {\n        d: 'M15 15h.01',\n        key: 'lqbp3k'\n      }]],\n      aliases: ['percent-square']\n    };\n    icon = signal(LucideSquarePercent.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquarePercent_BaseFactory;\n      return function LucideSquarePercent_Factory(__ngFactoryType__) {\n        return (ɵLucideSquarePercent_BaseFactory || (ɵLucideSquarePercent_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquarePercent)))(__ngFactoryType__ || LucideSquarePercent);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquarePercent,\n      selectors: [[\"svg\", \"lucideSquarePercent\", \"\"], [\"svg\", \"lucidePercentSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1423,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquarePercent_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquarePercent_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquarePercent;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquarePercent\n */\nconst LucidePercentSquare = LucideSquarePercent;\n\n/**\n * @component @name SquarePlay\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik05IDkuMDAzYTEgMSAwIDAgMSAxLjUxNy0uODU5bDQuOTk3IDIuOTk3YTEgMSAwIDAgMSAwIDEuNzE4bC00Ljk5NyAyLjk5N0ExIDEgMCAwIDEgOSAxNC45OTZ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-play\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquarePlay = /*#__PURE__*/(() => {\n  class LucideSquarePlay extends LucideIconBase {\n    static icon = {\n      name: 'square-play',\n      size: 24,\n      node: [['rect', {\n        x: '3',\n        y: '3',\n        width: '18',\n        height: '18',\n        rx: '2',\n        key: 'h1oib'\n      }], ['path', {\n        d: 'M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z',\n        key: 'kmsa83'\n      }]],\n      aliases: ['play-square']\n    };\n    icon = signal(LucideSquarePlay.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquarePlay_BaseFactory;\n      return function LucideSquarePlay_Factory(__ngFactoryType__) {\n        return (ɵLucideSquarePlay_BaseFactory || (ɵLucideSquarePlay_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquarePlay)))(__ngFactoryType__ || LucideSquarePlay);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquarePlay,\n      selectors: [[\"svg\", \"lucideSquarePlay\", \"\"], [\"svg\", \"lucidePlaySquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1424,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquarePlay_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquarePlay_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquarePlay;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquarePlay\n */\nconst LucidePlaySquare = LucideSquarePlay;\n\n/**\n * @component @name SquarePi\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik03IDdoMTAiIC8+CiAgPHBhdGggZD0iTTEwIDd2MTAiIC8+CiAgPHBhdGggZD0iTTE2IDE3YTIgMiAwIDAgMS0yLTJWNyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-pi\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquarePi = /*#__PURE__*/(() => {\n  class LucideSquarePi extends LucideIconBase {\n    static icon = {\n      name: 'square-pi',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M7 7h10',\n        key: 'udp07y'\n      }], ['path', {\n        d: 'M10 7v10',\n        key: 'i1d9ee'\n      }], ['path', {\n        d: 'M16 17a2 2 0 0 1-2-2V7',\n        key: 'ftwdc7'\n      }]],\n      aliases: ['pi-square']\n    };\n    icon = signal(LucideSquarePi.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquarePi_BaseFactory;\n      return function LucideSquarePi_Factory(__ngFactoryType__) {\n        return (ɵLucideSquarePi_BaseFactory || (ɵLucideSquarePi_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquarePi)))(__ngFactoryType__ || LucideSquarePi);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquarePi,\n      selectors: [[\"svg\", \"lucideSquarePi\", \"\"], [\"svg\", \"lucidePiSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1425,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquarePi_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquarePi_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquarePi;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquarePi\n */\nconst LucidePiSquare = LucideSquarePi;\n\n/**\n * @component @name SquarePilcrow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xMiAxMkg5LjVhMi41IDIuNSAwIDAgMSAwLTVIMTciIC8+CiAgPHBhdGggZD0iTTEyIDd2MTAiIC8+CiAgPHBhdGggZD0iTTE2IDd2MTAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-pilcrow\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquarePilcrow = /*#__PURE__*/(() => {\n  class LucideSquarePilcrow extends LucideIconBase {\n    static icon = {\n      name: 'square-pilcrow',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M12 12H9.5a2.5 2.5 0 0 1 0-5H17',\n        key: '1l9586'\n      }], ['path', {\n        d: 'M12 7v10',\n        key: 'jspqdw'\n      }], ['path', {\n        d: 'M16 7v10',\n        key: 'lavkr4'\n      }]],\n      aliases: ['pilcrow-square']\n    };\n    icon = signal(LucideSquarePilcrow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquarePilcrow_BaseFactory;\n      return function LucideSquarePilcrow_Factory(__ngFactoryType__) {\n        return (ɵLucideSquarePilcrow_BaseFactory || (ɵLucideSquarePilcrow_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquarePilcrow)))(__ngFactoryType__ || LucideSquarePilcrow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquarePilcrow,\n      selectors: [[\"svg\", \"lucideSquarePilcrow\", \"\"], [\"svg\", \"lucidePilcrowSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1426,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquarePilcrow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquarePilcrow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquarePilcrow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquarePilcrow\n */\nconst LucidePilcrowSquare = LucideSquarePilcrow;\n\n/**\n * @component @name SquarePlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik04IDEyaDgiIC8+CiAgPHBhdGggZD0iTTEyIDh2OCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquarePlus = /*#__PURE__*/(() => {\n  class LucideSquarePlus extends LucideIconBase {\n    static icon = {\n      name: 'square-plus',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }], ['path', {\n        d: 'M12 8v8',\n        key: 'napkw2'\n      }]],\n      aliases: ['plus-square']\n    };\n    icon = signal(LucideSquarePlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquarePlus_BaseFactory;\n      return function LucideSquarePlus_Factory(__ngFactoryType__) {\n        return (ɵLucideSquarePlus_BaseFactory || (ɵLucideSquarePlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquarePlus)))(__ngFactoryType__ || LucideSquarePlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquarePlus,\n      selectors: [[\"svg\", \"lucideSquarePlus\", \"\"], [\"svg\", \"lucidePlusSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1427,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquarePlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquarePlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquarePlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquarePlus\n */\nconst LucidePlusSquare = LucideSquarePlus;\n\n/**\n * @component @name SquarePower\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgN3Y0IiAvPgogIDxwYXRoIGQ9Ik03Ljk5OCA5LjAwM2E1IDUgMCAxIDAgOC0uMDA1IiAvPgogIDxyZWN0IHg9IjMiIHk9IjMiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-power\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquarePower = /*#__PURE__*/(() => {\n  class LucideSquarePower extends LucideIconBase {\n    static icon = {\n      name: 'square-power',\n      size: 24,\n      node: [['path', {\n        d: 'M12 7v4',\n        key: 'xawao1'\n      }], ['path', {\n        d: 'M7.998 9.003a5 5 0 1 0 8-.005',\n        key: '1pek45'\n      }], ['rect', {\n        x: '3',\n        y: '3',\n        width: '18',\n        height: '18',\n        rx: '2',\n        key: 'h1oib'\n      }]],\n      aliases: ['power-square']\n    };\n    icon = signal(LucideSquarePower.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquarePower_BaseFactory;\n      return function LucideSquarePower_Factory(__ngFactoryType__) {\n        return (ɵLucideSquarePower_BaseFactory || (ɵLucideSquarePower_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquarePower)))(__ngFactoryType__ || LucideSquarePower);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquarePower,\n      selectors: [[\"svg\", \"lucideSquarePower\", \"\"], [\"svg\", \"lucidePowerSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1428,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquarePower_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquarePower_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquarePower;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquarePower\n */\nconst LucidePowerSquare = LucideSquarePower;\n\n/**\n * @component @name SquareRoundCorner\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTFhOCA4IDAgMCAwLTgtOCIgLz4KICA8cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-round-corner\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareRoundCorner = /*#__PURE__*/(() => {\n  class LucideSquareRoundCorner extends LucideIconBase {\n    static icon = {\n      name: 'square-round-corner',\n      size: 24,\n      node: [['path', {\n        d: 'M21 11a8 8 0 0 0-8-8',\n        key: '1lxwo5'\n      }], ['path', {\n        d: 'M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4',\n        key: '1dv2y5'\n      }]]\n    };\n    icon = signal(LucideSquareRoundCorner.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareRoundCorner_BaseFactory;\n      return function LucideSquareRoundCorner_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareRoundCorner_BaseFactory || (ɵLucideSquareRoundCorner_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareRoundCorner)))(__ngFactoryType__ || LucideSquareRoundCorner);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareRoundCorner,\n      selectors: [[\"svg\", \"lucideSquareRoundCorner\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1429,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareRoundCorner_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareRoundCorner_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareRoundCorner;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquareRadical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAxMmgybDIgNSAyLTEwaDQiIC8+CiAgPHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-radical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareRadical = /*#__PURE__*/(() => {\n  class LucideSquareRadical extends LucideIconBase {\n    static icon = {\n      name: 'square-radical',\n      size: 24,\n      node: [['path', {\n        d: 'M7 12h2l2 5 2-10h4',\n        key: '1fxv6h'\n      }], ['rect', {\n        x: '3',\n        y: '3',\n        width: '18',\n        height: '18',\n        rx: '2',\n        key: 'h1oib'\n      }]]\n    };\n    icon = signal(LucideSquareRadical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareRadical_BaseFactory;\n      return function LucideSquareRadical_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareRadical_BaseFactory || (ɵLucideSquareRadical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareRadical)))(__ngFactoryType__ || LucideSquareRadical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareRadical,\n      selectors: [[\"svg\", \"lucideSquareRadical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1430,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareRadical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareRadical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareRadical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquareScissors\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxjaXJjbGUgY3g9IjguNSIgY3k9IjguNSIgcj0iMS41IiAvPgogIDxsaW5lIHgxPSI5LjU2MDY2IiB5MT0iOS41NjA2NiIgeDI9IjEyIiB5Mj0iMTIiIC8+CiAgPGxpbmUgeDE9IjE3IiB5MT0iMTciIHgyPSIxNC44MiIgeTI9IjE0LjgyIiAvPgogIDxjaXJjbGUgY3g9IjguNSIgY3k9IjE1LjUiIHI9IjEuNSIgLz4KICA8bGluZSB4MT0iOS41NjA2NiIgeTE9IjE0LjQzOTM0IiB4Mj0iMTciIHkyPSI3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-scissors\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareScissors = /*#__PURE__*/(() => {\n  class LucideSquareScissors extends LucideIconBase {\n    static icon = {\n      name: 'square-scissors',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['circle', {\n        cx: '8.5',\n        cy: '8.5',\n        r: '1.5',\n        key: 'cn5opk'\n      }], ['line', {\n        x1: '9.56066',\n        y1: '9.56066',\n        x2: '12',\n        y2: '12',\n        key: 'mksg6j'\n      }], ['line', {\n        x1: '17',\n        y1: '17',\n        x2: '14.82',\n        y2: '14.82',\n        key: '1lwi1d'\n      }], ['circle', {\n        cx: '8.5',\n        cy: '15.5',\n        r: '1.5',\n        key: '12hfy1'\n      }], ['line', {\n        x1: '9.56066',\n        y1: '14.43934',\n        x2: '17',\n        y2: '7',\n        key: '4jyfgs'\n      }]],\n      aliases: ['scissors-square']\n    };\n    icon = signal(LucideSquareScissors.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareScissors_BaseFactory;\n      return function LucideSquareScissors_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareScissors_BaseFactory || (ɵLucideSquareScissors_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareScissors)))(__ngFactoryType__ || LucideSquareScissors);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareScissors,\n      selectors: [[\"svg\", \"lucideSquareScissors\", \"\"], [\"svg\", \"lucideScissorsSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1431,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareScissors_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareScissors_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareScissors;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareScissors\n */\nconst LucideScissorsSquare = LucideSquareScissors;\n\n/**\n * @component @name SquareSigma\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0xNiA4LjlWN0g4bDQgNS00IDVoOHYtMS45IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-sigma\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareSigma = /*#__PURE__*/(() => {\n  class LucideSquareSigma extends LucideIconBase {\n    static icon = {\n      name: 'square-sigma',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M16 8.9V7H8l4 5-4 5h8v-1.9',\n        key: '9nih0i'\n      }]],\n      aliases: ['sigma-square']\n    };\n    icon = signal(LucideSquareSigma.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareSigma_BaseFactory;\n      return function LucideSquareSigma_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareSigma_BaseFactory || (ɵLucideSquareSigma_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareSigma)))(__ngFactoryType__ || LucideSquareSigma);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareSigma,\n      selectors: [[\"svg\", \"lucideSquareSigma\", \"\"], [\"svg\", \"lucideSigmaSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1432,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareSigma_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareSigma_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareSigma;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareSigma\n */\nconst LucideSigmaSquare = LucideSquareSigma;\n\n/**\n * @component @name SquareSplitHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAxOUg1Yy0xIDAtMi0xLTItMlY3YzAtMSAxLTIgMi0yaDMiIC8+CiAgPHBhdGggZD0iTTE2IDVoM2MxIDAgMiAxIDIgMnYxMGMwIDEtMSAyLTIgMmgtMyIgLz4KICA8bGluZSB4MT0iMTIiIHgyPSIxMiIgeTE9IjQiIHkyPSIyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-split-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareSplitHorizontal = /*#__PURE__*/(() => {\n  class LucideSquareSplitHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'square-split-horizontal',\n      size: 24,\n      node: [['path', {\n        d: 'M8 19H5c-1 0-2-1-2-2V7c0-1 1-2 2-2h3',\n        key: 'lubmu8'\n      }], ['path', {\n        d: 'M16 5h3c1 0 2 1 2 2v10c0 1-1 2-2 2h-3',\n        key: '1ag34g'\n      }], ['line', {\n        x1: '12',\n        x2: '12',\n        y1: '4',\n        y2: '20',\n        key: '1tx1rr'\n      }]],\n      aliases: ['split-square-horizontal']\n    };\n    icon = signal(LucideSquareSplitHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareSplitHorizontal_BaseFactory;\n      return function LucideSquareSplitHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareSplitHorizontal_BaseFactory || (ɵLucideSquareSplitHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareSplitHorizontal)))(__ngFactoryType__ || LucideSquareSplitHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareSplitHorizontal,\n      selectors: [[\"svg\", \"lucideSquareSplitHorizontal\", \"\"], [\"svg\", \"lucideSplitSquareHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1433,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareSplitHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareSplitHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareSplitHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareSplitHorizontal\n */\nconst LucideSplitSquareHorizontal = LucideSquareSplitHorizontal;\n\n/**\n * @component @name SquareSlash\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxsaW5lIHgxPSI5IiB4Mj0iMTUiIHkxPSIxNSIgeTI9IjkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-slash\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareSlash = /*#__PURE__*/(() => {\n  class LucideSquareSlash extends LucideIconBase {\n    static icon = {\n      name: 'square-slash',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['line', {\n        x1: '9',\n        x2: '15',\n        y1: '15',\n        y2: '9',\n        key: '1dfufj'\n      }]],\n      aliases: ['slash-square']\n    };\n    icon = signal(LucideSquareSlash.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareSlash_BaseFactory;\n      return function LucideSquareSlash_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareSlash_BaseFactory || (ɵLucideSquareSlash_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareSlash)))(__ngFactoryType__ || LucideSquareSlash);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareSlash,\n      selectors: [[\"svg\", \"lucideSquareSlash\", \"\"], [\"svg\", \"lucideSlashSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1434,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareSlash_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareSlash_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareSlash;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareSlash\n */\nconst LucideSlashSquare = LucideSquareSlash;\n\n/**\n * @component @name SquareSplitVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSA4VjVjMC0xIDEtMiAyLTJoMTBjMSAwIDIgMSAyIDJ2MyIgLz4KICA8cGF0aCBkPSJNMTkgMTZ2M2MwIDEtMSAyLTIgMkg3Yy0xIDAtMi0xLTItMnYtMyIgLz4KICA8bGluZSB4MT0iNCIgeDI9IjIwIiB5MT0iMTIiIHkyPSIxMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-split-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareSplitVertical = /*#__PURE__*/(() => {\n  class LucideSquareSplitVertical extends LucideIconBase {\n    static icon = {\n      name: 'square-split-vertical',\n      size: 24,\n      node: [['path', {\n        d: 'M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3',\n        key: '1pi83i'\n      }], ['path', {\n        d: 'M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3',\n        key: 'ido5k7'\n      }], ['line', {\n        x1: '4',\n        x2: '20',\n        y1: '12',\n        y2: '12',\n        key: '1e0a9i'\n      }]],\n      aliases: ['split-square-vertical']\n    };\n    icon = signal(LucideSquareSplitVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareSplitVertical_BaseFactory;\n      return function LucideSquareSplitVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareSplitVertical_BaseFactory || (ɵLucideSquareSplitVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareSplitVertical)))(__ngFactoryType__ || LucideSquareSplitVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareSplitVertical,\n      selectors: [[\"svg\", \"lucideSquareSplitVertical\", \"\"], [\"svg\", \"lucideSplitSquareVertical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1435,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareSplitVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareSplitVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareSplitVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareSplitVertical\n */\nconst LucideSplitSquareVertical = LucideSquareSplitVertical;\n\n/**\n * @component @name SquareStar\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuMDM1IDcuNjlhMSAxIDAgMCAxIDEuOTA5LjAyNGwuNzM3IDEuNDUyYTEgMSAwIDAgMCAuNzM3LjUzNWwxLjYzNC4yNTZhMSAxIDAgMCAxIC41ODggMS44MDZsLTEuMTcyIDEuMTY4YTEgMSAwIDAgMC0uMjgyLjg2NmwuMjU5IDEuNjEzYTEgMSAwIDAgMS0xLjU0MSAxLjEzNGwtMS40NjUtLjc1YTEgMSAwIDAgMC0uOTEyIDBsLTEuNDY1Ljc1YTEgMSAwIDAgMS0xLjUzOS0xLjEzM2wuMjU4LTEuNjEzYTEgMSAwIDAgMC0uMjgyLS44NjZsLTEuMTU2LTEuMTUzYTEgMSAwIDAgMSAuNTcyLTEuODIybDEuNjMzLS4yNTZhMSAxIDAgMCAwIC43MzctLjUzNXoiIC8+CiAgPHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-star\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareStar = /*#__PURE__*/(() => {\n  class LucideSquareStar extends LucideIconBase {\n    static icon = {\n      name: 'square-star',\n      size: 24,\n      node: [['path', {\n        d: 'M11.035 7.69a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.866l-1.156-1.153a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z',\n        key: '13edca'\n      }], ['rect', {\n        x: '3',\n        y: '3',\n        width: '18',\n        height: '18',\n        rx: '2',\n        key: 'h1oib'\n      }]]\n    };\n    icon = signal(LucideSquareStar.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareStar_BaseFactory;\n      return function LucideSquareStar_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareStar_BaseFactory || (ɵLucideSquareStar_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareStar)))(__ngFactoryType__ || LucideSquareStar);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareStar,\n      selectors: [[\"svg\", \"lucideSquareStar\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1436,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareStar_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareStar_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareStar;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquareStack\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMGMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDRjMS4xIDAgMiAuOSAyIDIiIC8+CiAgPHBhdGggZD0iTTEwIDE2Yy0xLjEgMC0yLS45LTItMnYtNGMwLTEuMS45LTIgMi0yaDRjMS4xIDAgMiAuOSAyIDIiIC8+CiAgPHJlY3Qgd2lkdGg9IjgiIGhlaWdodD0iOCIgeD0iMTQiIHk9IjE0IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-stack\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareStack = /*#__PURE__*/(() => {\n  class LucideSquareStack extends LucideIconBase {\n    static icon = {\n      name: 'square-stack',\n      size: 24,\n      node: [['path', {\n        d: 'M4 10c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2',\n        key: '4i38lg'\n      }], ['path', {\n        d: 'M10 16c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2',\n        key: 'mlte4a'\n      }], ['rect', {\n        width: '8',\n        height: '8',\n        x: '14',\n        y: '14',\n        rx: '2',\n        key: '1fa9i4'\n      }]]\n    };\n    icon = signal(LucideSquareStack.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareStack_BaseFactory;\n      return function LucideSquareStack_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareStack_BaseFactory || (ɵLucideSquareStack_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareStack)))(__ngFactoryType__ || LucideSquareStack);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareStack,\n      selectors: [[\"svg\", \"lucideSquareStack\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1437,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareStack_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareStack_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareStack;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquareSquare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIyIiAvPgogIDxyZWN0IHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-square\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareSquare = /*#__PURE__*/(() => {\n  class LucideSquareSquare extends LucideIconBase {\n    static icon = {\n      name: 'square-square',\n      size: 24,\n      node: [['rect', {\n        x: '3',\n        y: '3',\n        width: '18',\n        height: '18',\n        rx: '2',\n        key: 'h1oib'\n      }], ['rect', {\n        x: '8',\n        y: '8',\n        width: '8',\n        height: '8',\n        rx: '1',\n        key: 'z9xiuo'\n      }]]\n    };\n    icon = signal(LucideSquareSquare.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareSquare_BaseFactory;\n      return function LucideSquareSquare_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareSquare_BaseFactory || (ɵLucideSquareSquare_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareSquare)))(__ngFactoryType__ || LucideSquareSquare);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareSquare,\n      selectors: [[\"svg\", \"lucideSquareSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1438,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareSquare_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareSquare_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareSquare;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquareStop\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxyZWN0IHg9IjkiIHk9IjkiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-stop\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareStop = /*#__PURE__*/(() => {\n  class LucideSquareStop extends LucideIconBase {\n    static icon = {\n      name: 'square-stop',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['rect', {\n        x: '9',\n        y: '9',\n        width: '6',\n        height: '6',\n        rx: '1',\n        key: '1ssd4o'\n      }]]\n    };\n    icon = signal(LucideSquareStop.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareStop_BaseFactory;\n      return function LucideSquareStop_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareStop_BaseFactory || (ɵLucideSquareStop_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareStop)))(__ngFactoryType__ || LucideSquareStop);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareStop,\n      selectors: [[\"svg\", \"lucideSquareStop\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1439,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareStop_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareStop_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareStop;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquareUser\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTAiIHI9IjMiIC8+CiAgPHBhdGggZD0iTTcgMjF2LTJhMiAyIDAgMCAxIDItMmg2YTIgMiAwIDAgMSAyIDJ2MiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-user\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareUser = /*#__PURE__*/(() => {\n  class LucideSquareUser extends LucideIconBase {\n    static icon = {\n      name: 'square-user',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['circle', {\n        cx: '12',\n        cy: '10',\n        r: '3',\n        key: 'ilqhr7'\n      }], ['path', {\n        d: 'M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2',\n        key: '1m6ac2'\n      }]],\n      aliases: ['user-square']\n    };\n    icon = signal(LucideSquareUser.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareUser_BaseFactory;\n      return function LucideSquareUser_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareUser_BaseFactory || (ɵLucideSquareUser_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareUser)))(__ngFactoryType__ || LucideSquareUser);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareUser,\n      selectors: [[\"svg\", \"lucideSquareUser\", \"\"], [\"svg\", \"lucideUserSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1440,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareUser_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareUser_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareUser;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareUser\n */\nconst LucideUserSquare = LucideSquareUser;\n\n/**\n * @component @name SquareX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJtMTUgOS02IDYiIC8+CiAgPHBhdGggZD0ibTkgOSA2IDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/square-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareX = /*#__PURE__*/(() => {\n  class LucideSquareX extends LucideIconBase {\n    static icon = {\n      name: 'square-x',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        ry: '2',\n        key: '1m3agn'\n      }], ['path', {\n        d: 'm15 9-6 6',\n        key: '1uzhvr'\n      }], ['path', {\n        d: 'm9 9 6 6',\n        key: 'z0biqf'\n      }]],\n      aliases: ['x-square']\n    };\n    icon = signal(LucideSquareX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareX_BaseFactory;\n      return function LucideSquareX_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareX_BaseFactory || (ɵLucideSquareX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareX)))(__ngFactoryType__ || LucideSquareX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareX,\n      selectors: [[\"svg\", \"lucideSquareX\", \"\"], [\"svg\", \"lucideXSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1441,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareX\n */\nconst LucideXSquare = LucideSquareX;\n\n/**\n * @component @name SquareUserRound\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggMjFhNiA2IDAgMCAwLTEyIDAiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMSIgcj0iNCIgLz4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-user-round\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareUserRound = /*#__PURE__*/(() => {\n  class LucideSquareUserRound extends LucideIconBase {\n    static icon = {\n      name: 'square-user-round',\n      size: 24,\n      node: [['path', {\n        d: 'M18 21a6 6 0 0 0-12 0',\n        key: 'kaz2du'\n      }], ['circle', {\n        cx: '12',\n        cy: '11',\n        r: '4',\n        key: '1gt34v'\n      }], ['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }]],\n      aliases: ['user-square-2']\n    };\n    icon = signal(LucideSquareUserRound.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareUserRound_BaseFactory;\n      return function LucideSquareUserRound_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareUserRound_BaseFactory || (ɵLucideSquareUserRound_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareUserRound)))(__ngFactoryType__ || LucideSquareUserRound);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareUserRound,\n      selectors: [[\"svg\", \"lucideSquareUserRound\", \"\"], [\"svg\", \"lucideUserSquare2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1442,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareUserRound_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareUserRound_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareUserRound;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareUserRound\n */\nconst LucideUserSquare2 = LucideSquareUserRound;\n\n/**\n * @component @name SquareTerminal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNyAxMSAyLTItMi0yIiAvPgogIDxwYXRoIGQ9Ik0xMSAxM2g0IiAvPgogIDxyZWN0IHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgeD0iMyIgeT0iMyIgcng9IjIiIHJ5PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-terminal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquareTerminal = /*#__PURE__*/(() => {\n  class LucideSquareTerminal extends LucideIconBase {\n    static icon = {\n      name: 'square-terminal',\n      size: 24,\n      node: [['path', {\n        d: 'm7 11 2-2-2-2',\n        key: '1lz0vl'\n      }], ['path', {\n        d: 'M11 13h4',\n        key: '1p7l4v'\n      }], ['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        ry: '2',\n        key: '1m3agn'\n      }]],\n      aliases: ['terminal-square']\n    };\n    icon = signal(LucideSquareTerminal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquareTerminal_BaseFactory;\n      return function LucideSquareTerminal_Factory(__ngFactoryType__) {\n        return (ɵLucideSquareTerminal_BaseFactory || (ɵLucideSquareTerminal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquareTerminal)))(__ngFactoryType__ || LucideSquareTerminal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquareTerminal,\n      selectors: [[\"svg\", \"lucideSquareTerminal\", \"\"], [\"svg\", \"lucideTerminalSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1443,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquareTerminal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquareTerminal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquareTerminal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideSquareTerminal\n */\nconst LucideTerminalSquare = LucideSquareTerminal;\n\n/**\n * @component @name Square\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquare = /*#__PURE__*/(() => {\n  class LucideSquare extends LucideIconBase {\n    static icon = {\n      name: 'square',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }]]\n    };\n    icon = signal(LucideSquare.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquare_BaseFactory;\n      return function LucideSquare_Factory(__ngFactoryType__) {\n        return (ɵLucideSquare_BaseFactory || (ɵLucideSquare_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquare)))(__ngFactoryType__ || LucideSquare);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquare,\n      selectors: [[\"svg\", \"lucideSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1444,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquare_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquare_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquare;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquaresExclude\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTJ2MmEyIDIgMCAwIDEtMiAySDlhMSAxIDAgMCAwLTEgMXYzYTIgMiAwIDAgMCAyIDJoMTBhMiAyIDAgMCAwIDItMlYxMGEyIDIgMCAwIDAtMi0yaDAiIC8+CiAgPHBhdGggZD0iTTQgMTZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnYzYTEgMSAwIDAgMS0xIDFoLTVhMiAyIDAgMCAwLTIgMnYyIiAvPgo8L3N2Zz4=) - https://lucide.dev/icons/squares-exclude\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquaresExclude = /*#__PURE__*/(() => {\n  class LucideSquaresExclude extends LucideIconBase {\n    static icon = {\n      name: 'squares-exclude',\n      size: 24,\n      node: [['path', {\n        d: 'M16 12v2a2 2 0 0 1-2 2H9a1 1 0 0 0-1 1v3a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2h0',\n        key: '1mcohs'\n      }], ['path', {\n        d: 'M4 16a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3a1 1 0 0 1-1 1h-5a2 2 0 0 0-2 2v2',\n        key: '1r1efp'\n      }]]\n    };\n    icon = signal(LucideSquaresExclude.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquaresExclude_BaseFactory;\n      return function LucideSquaresExclude_Factory(__ngFactoryType__) {\n        return (ɵLucideSquaresExclude_BaseFactory || (ɵLucideSquaresExclude_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquaresExclude)))(__ngFactoryType__ || LucideSquaresExclude);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquaresExclude,\n      selectors: [[\"svg\", \"lucideSquaresExclude\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1445,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquaresExclude_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquaresExclude_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquaresExclude;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquaresIntersect\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMjJhMiAyIDAgMCAxLTItMiIgLz4KICA8cGF0aCBkPSJNMTQgMmEyIDIgMCAwIDEgMiAyIiAvPgogIDxwYXRoIGQ9Ik0xNiAyMmgtMiIgLz4KICA8cGF0aCBkPSJNMiAxMFY4IiAvPgogIDxwYXRoIGQ9Ik0yIDRhMiAyIDAgMCAxIDItMiIgLz4KICA8cGF0aCBkPSJNMjAgOGEyIDIgMCAwIDEgMiAyIiAvPgogIDxwYXRoIGQ9Ik0yMiAxNHYyIiAvPgogIDxwYXRoIGQ9Ik0yMiAyMGEyIDIgMCAwIDEtMiAyIiAvPgogIDxwYXRoIGQ9Ik00IDE2YTIgMiAwIDAgMS0yLTIiIC8+CiAgPHBhdGggZD0iTTggMTBhMiAyIDAgMCAxIDItMmg1YTEgMSAwIDAgMSAxIDF2NWEyIDIgMCAwIDEtMiAySDlhMSAxIDAgMCAxLTEtMXoiIC8+CiAgPHBhdGggZD0iTTggMmgyIiAvPgo8L3N2Zz4=) - https://lucide.dev/icons/squares-intersect\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquaresIntersect = /*#__PURE__*/(() => {\n  class LucideSquaresIntersect extends LucideIconBase {\n    static icon = {\n      name: 'squares-intersect',\n      size: 24,\n      node: [['path', {\n        d: 'M10 22a2 2 0 0 1-2-2',\n        key: 'i7yj1i'\n      }], ['path', {\n        d: 'M14 2a2 2 0 0 1 2 2',\n        key: '170a0m'\n      }], ['path', {\n        d: 'M16 22h-2',\n        key: '18d249'\n      }], ['path', {\n        d: 'M2 10V8',\n        key: '7yj4fe'\n      }], ['path', {\n        d: 'M2 4a2 2 0 0 1 2-2',\n        key: 'ddgnws'\n      }], ['path', {\n        d: 'M20 8a2 2 0 0 1 2 2',\n        key: '1770vt'\n      }], ['path', {\n        d: 'M22 14v2',\n        key: 'iot8ja'\n      }], ['path', {\n        d: 'M22 20a2 2 0 0 1-2 2',\n        key: 'qj8q6g'\n      }], ['path', {\n        d: 'M4 16a2 2 0 0 1-2-2',\n        key: '1dnafg'\n      }], ['path', {\n        d: 'M8 10a2 2 0 0 1 2-2h5a1 1 0 0 1 1 1v5a2 2 0 0 1-2 2H9a1 1 0 0 1-1-1z',\n        key: 'ci6f0b'\n      }], ['path', {\n        d: 'M8 2h2',\n        key: '1gmkwm'\n      }]]\n    };\n    icon = signal(LucideSquaresIntersect.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquaresIntersect_BaseFactory;\n      return function LucideSquaresIntersect_Factory(__ngFactoryType__) {\n        return (ɵLucideSquaresIntersect_BaseFactory || (ɵLucideSquaresIntersect_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquaresIntersect)))(__ngFactoryType__ || LucideSquaresIntersect);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquaresIntersect,\n      selectors: [[\"svg\", \"lucideSquaresIntersect\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1446,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquaresIntersect_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquaresIntersect_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquaresIntersect;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquaresUnite\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxNmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjNhMSAxIDAgMCAwIDEgMWgzYTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMkgxMGEyIDIgMCAwIDEtMi0ydi0zYTEgMSAwIDAgMC0xLTF6IiAvPgo8L3N2Zz4=) - https://lucide.dev/icons/squares-unite\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquaresUnite = /*#__PURE__*/(() => {\n  class LucideSquaresUnite extends LucideIconBase {\n    static icon = {\n      name: 'squares-unite',\n      size: 24,\n      node: [['path', {\n        d: 'M4 16a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3a1 1 0 0 0 1 1h3a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-3a1 1 0 0 0-1-1z',\n        key: '17jnth'\n      }]]\n    };\n    icon = signal(LucideSquaresUnite.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquaresUnite_BaseFactory;\n      return function LucideSquaresUnite_Factory(__ngFactoryType__) {\n        return (ɵLucideSquaresUnite_BaseFactory || (ɵLucideSquaresUnite_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquaresUnite)))(__ngFactoryType__ || LucideSquaresUnite);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquaresUnite,\n      selectors: [[\"svg\", \"lucideSquaresUnite\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1447,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquaresUnite_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquaresUnite_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquaresUnite;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquaresSubtract\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMjJhMiAyIDAgMCAxLTItMiIgLz4KICA8cGF0aCBkPSJNMTYgMjJoLTIiIC8+CiAgPHBhdGggZD0iTTE2IDRhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgzYTEgMSAwIDAgMCAxLTF2LTVhMiAyIDAgMCAxIDItMmg1YTEgMSAwIDAgMCAxLTF6IiAvPgogIDxwYXRoIGQ9Ik0yMCA4YTIgMiAwIDAgMSAyIDIiIC8+CiAgPHBhdGggZD0iTTIyIDE0djIiIC8+CiAgPHBhdGggZD0iTTIyIDIwYTIgMiAwIDAgMS0yIDIiIC8+Cjwvc3ZnPg==) - https://lucide.dev/icons/squares-subtract\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquaresSubtract = /*#__PURE__*/(() => {\n  class LucideSquaresSubtract extends LucideIconBase {\n    static icon = {\n      name: 'squares-subtract',\n      size: 24,\n      node: [['path', {\n        d: 'M10 22a2 2 0 0 1-2-2',\n        key: 'i7yj1i'\n      }], ['path', {\n        d: 'M16 22h-2',\n        key: '18d249'\n      }], ['path', {\n        d: 'M16 4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h3a1 1 0 0 0 1-1v-5a2 2 0 0 1 2-2h5a1 1 0 0 0 1-1z',\n        key: '1njgbb'\n      }], ['path', {\n        d: 'M20 8a2 2 0 0 1 2 2',\n        key: '1770vt'\n      }], ['path', {\n        d: 'M22 14v2',\n        key: 'iot8ja'\n      }], ['path', {\n        d: 'M22 20a2 2 0 0 1-2 2',\n        key: 'qj8q6g'\n      }]]\n    };\n    icon = signal(LucideSquaresSubtract.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquaresSubtract_BaseFactory;\n      return function LucideSquaresSubtract_Factory(__ngFactoryType__) {\n        return (ɵLucideSquaresSubtract_BaseFactory || (ɵLucideSquaresSubtract_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquaresSubtract)))(__ngFactoryType__ || LucideSquaresSubtract);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquaresSubtract,\n      selectors: [[\"svg\", \"lucideSquaresSubtract\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1448,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquaresSubtract_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquaresSubtract_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquaresSubtract;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SquircleDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuNzcgMy4wNDNhMzQgMzQgMCAwIDAtMy41NCAwIiAvPgogIDxwYXRoIGQ9Ik0xMy43NzEgMjAuOTU2YTMzIDMzIDAgMCAxLTMuNTQxLjAwMSIgLz4KICA8cGF0aCBkPSJNMjAuMTggMTcuNzRjLS41MSAxLjE1LTEuMjkgMS45My0yLjQzOSAyLjQ0IiAvPgogIDxwYXRoIGQ9Ik0yMC4xOCA2LjI1OWMtLjUxLTEuMTQ4LTEuMjkxLTEuOTI5LTIuNDQtMi40MzgiIC8+CiAgPHBhdGggZD0iTTIwLjk1NyAxMC4yM2EzMyAzMyAwIDAgMSAwIDMuNTQiIC8+CiAgPHBhdGggZD0iTTMuMDQzIDEwLjIzYTM0IDM0IDAgMCAwIC4wMDEgMy41NDEiIC8+CiAgPHBhdGggZD0iTTYuMjYgMjAuMTc5Yy0xLjE1LS41MDgtMS45My0xLjI5LTIuNDQtMi40MzgiIC8+CiAgPHBhdGggZD0iTTYuMjYgMy44MmMtMS4xNDkuNTEtMS45MyAxLjI5MS0yLjQ0IDIuNDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/squircle-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquircleDashed = /*#__PURE__*/(() => {\n  class LucideSquircleDashed extends LucideIconBase {\n    static icon = {\n      name: 'squircle-dashed',\n      size: 24,\n      node: [['path', {\n        d: 'M13.77 3.043a34 34 0 0 0-3.54 0',\n        key: '1oaobr'\n      }], ['path', {\n        d: 'M13.771 20.956a33 33 0 0 1-3.541.001',\n        key: '95iq0j'\n      }], ['path', {\n        d: 'M20.18 17.74c-.51 1.15-1.29 1.93-2.439 2.44',\n        key: '1u6qty'\n      }], ['path', {\n        d: 'M20.18 6.259c-.51-1.148-1.291-1.929-2.44-2.438',\n        key: '1ew6g6'\n      }], ['path', {\n        d: 'M20.957 10.23a33 33 0 0 1 0 3.54',\n        key: '1l9npr'\n      }], ['path', {\n        d: 'M3.043 10.23a34 34 0 0 0 .001 3.541',\n        key: '1it6jm'\n      }], ['path', {\n        d: 'M6.26 20.179c-1.15-.508-1.93-1.29-2.44-2.438',\n        key: '14uchd'\n      }], ['path', {\n        d: 'M6.26 3.82c-1.149.51-1.93 1.291-2.44 2.44',\n        key: '8k4agb'\n      }]]\n    };\n    icon = signal(LucideSquircleDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquircleDashed_BaseFactory;\n      return function LucideSquircleDashed_Factory(__ngFactoryType__) {\n        return (ɵLucideSquircleDashed_BaseFactory || (ɵLucideSquircleDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquircleDashed)))(__ngFactoryType__ || LucideSquircleDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquircleDashed,\n      selectors: [[\"svg\", \"lucideSquircleDashed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1449,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquircleDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquircleDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquircleDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Squirrel\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuMjM2IDIyYTMgMyAwIDAgMC0yLjItNSIgLz4KICA8cGF0aCBkPSJNMTYgMjBhMyAzIDAgMCAxIDMtM2gxYTIgMiAwIDAgMCAyLTJ2LTJhNCA0IDAgMCAwLTQtNFY0IiAvPgogIDxwYXRoIGQ9Ik0xOCAxM2guMDEiIC8+CiAgPHBhdGggZD0iTTE4IDZhNCA0IDAgMCAwLTQgNCA3IDcgMCAwIDAtNyA3YzAtNSA0LTUgNC0xMC41YTQuNSA0LjUgMCAxIDAtOSAwIDIuNSAyLjUgMCAwIDAgNSAwQzcgMTAgMyAxMSAzIDE3YzAgMi44IDIuMiA1IDUgNWgxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/squirrel\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquirrel = /*#__PURE__*/(() => {\n  class LucideSquirrel extends LucideIconBase {\n    static icon = {\n      name: 'squirrel',\n      size: 24,\n      node: [['path', {\n        d: 'M15.236 22a3 3 0 0 0-2.2-5',\n        key: '21bitc'\n      }], ['path', {\n        d: 'M16 20a3 3 0 0 1 3-3h1a2 2 0 0 0 2-2v-2a4 4 0 0 0-4-4V4',\n        key: 'oh0fg0'\n      }], ['path', {\n        d: 'M18 13h.01',\n        key: '9veqaj'\n      }], ['path', {\n        d: 'M18 6a4 4 0 0 0-4 4 7 7 0 0 0-7 7c0-5 4-5 4-10.5a4.5 4.5 0 1 0-9 0 2.5 2.5 0 0 0 5 0C7 10 3 11 3 17c0 2.8 2.2 5 5 5h10',\n        key: '980v8a'\n      }]]\n    };\n    icon = signal(LucideSquirrel.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquirrel_BaseFactory;\n      return function LucideSquirrel_Factory(__ngFactoryType__) {\n        return (ɵLucideSquirrel_BaseFactory || (ɵLucideSquirrel_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquirrel)))(__ngFactoryType__ || LucideSquirrel);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquirrel,\n      selectors: [[\"svg\", \"lucideSquirrel\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1450,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquirrel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquirrel_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquirrel;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Stamp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMTNWOC41QzE0IDcgMTUgNyAxNSA1YTMgMyAwIDAgMC02IDBjMCAyIDEgMiAxIDMuNVYxMyIgLz4KICA8cGF0aCBkPSJNMjAgMTUuNWEyLjUgMi41IDAgMCAwLTIuNS0yLjVoLTExQTIuNSAyLjUgMCAwIDAgNCAxNS41VjE3YTEgMSAwIDAgMCAxIDFoMTRhMSAxIDAgMCAwIDEtMXoiIC8+CiAgPHBhdGggZD0iTTUgMjJoMTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/stamp\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideStamp = /*#__PURE__*/(() => {\n  class LucideStamp extends LucideIconBase {\n    static icon = {\n      name: 'stamp',\n      size: 24,\n      node: [['path', {\n        d: 'M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-6 0c0 2 1 2 1 3.5V13',\n        key: 'i9gjdv'\n      }], ['path', {\n        d: 'M20 15.5a2.5 2.5 0 0 0-2.5-2.5h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1z',\n        key: '1vzg3v'\n      }], ['path', {\n        d: 'M5 22h14',\n        key: 'ehvnwv'\n      }]]\n    };\n    icon = signal(LucideStamp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideStamp_BaseFactory;\n      return function LucideStamp_Factory(__ngFactoryType__) {\n        return (ɵLucideStamp_BaseFactory || (ɵLucideStamp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideStamp)))(__ngFactoryType__ || LucideStamp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideStamp,\n      selectors: [[\"svg\", \"lucideStamp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1451,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideStamp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideStamp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideStamp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Squircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM2M3LjIgMCA5IDEuOCA5IDlzLTEuOCA5LTkgOS05LTEuOC05LTkgMS44LTkgOS05IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/squircle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSquircle = /*#__PURE__*/(() => {\n  class LucideSquircle extends LucideIconBase {\n    static icon = {\n      name: 'squircle',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3c7.2 0 9 1.8 9 9s-1.8 9-9 9-9-1.8-9-9 1.8-9 9-9',\n        key: 'garfkc'\n      }]]\n    };\n    icon = signal(LucideSquircle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSquircle_BaseFactory;\n      return function LucideSquircle_Factory(__ngFactoryType__) {\n        return (ɵLucideSquircle_BaseFactory || (ɵLucideSquircle_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSquircle)))(__ngFactoryType__ || LucideSquircle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSquircle,\n      selectors: [[\"svg\", \"lucideSquircle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1452,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSquircle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSquircle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSquircle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name StarHalf\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTguMzM4YTIuMSAyLjEgMCAwIDAtLjk4Ny4yNDRMNi4zOTYgMjEuMDFhLjUzLjUzIDAgMCAxLS43Ny0uNTZsLjg4MS01LjEzOWEyLjEyIDIuMTIgMCAwIDAtLjYxMS0xLjg3OUwyLjE2IDkuNzk1YS41My41MyAwIDAgMSAuMjk0LS45MDZsNS4xNjUtLjc1NWEyLjEyIDIuMTIgMCAwIDAgMS41OTctMS4xNmwyLjMwOS00LjY3OUEuNTMuNTMgMCAwIDEgMTIgMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/star-half\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideStarHalf = /*#__PURE__*/(() => {\n  class LucideStarHalf extends LucideIconBase {\n    static icon = {\n      name: 'star-half',\n      size: 24,\n      node: [['path', {\n        d: 'M12 18.338a2.1 2.1 0 0 0-.987.244L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16l2.309-4.679A.53.53 0 0 1 12 2',\n        key: '2ksp49'\n      }]]\n    };\n    icon = signal(LucideStarHalf.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideStarHalf_BaseFactory;\n      return function LucideStarHalf_Factory(__ngFactoryType__) {\n        return (ɵLucideStarHalf_BaseFactory || (ɵLucideStarHalf_BaseFactory = i0.ɵɵgetInheritedFactory(LucideStarHalf)))(__ngFactoryType__ || LucideStarHalf);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideStarHalf,\n      selectors: [[\"svg\", \"lucideStarHalf\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1453,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideStarHalf_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideStarHalf_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideStarHalf;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name StarOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAuMzQ0IDQuNjg4IDEuMTgxLTIuMzkzYS41My41MyAwIDAgMSAuOTUgMGwyLjMxIDQuNjc5YTIuMTIgMi4xMiAwIDAgMCAxLjU5NSAxLjE2bDUuMTY2Ljc1NmEuNTMuNTMgMCAwIDEgLjI5NC45MDRsLTMuMjM3IDMuMTUyIiAvPgogIDxwYXRoIGQ9Im0xNy45NDUgMTcuOTQ1LjQzIDIuNTA1YS41My41MyAwIDAgMS0uNzcxLjU2bC00LjYxOC0yLjQyOGEyLjEyIDIuMTIgMCAwIDAtMS45NzMgMEw2LjM5NiAyMS4wMWEuNTMuNTMgMCAwIDEtLjc3LS41NmwuODgxLTUuMTM5YTIuMTIgMi4xMiAwIDAgMC0uNjExLTEuODc5TDIuMTYgOS43OTVhLjUzLjUzIDAgMCAxIC4yOTQtLjkwNmw1LjE2NS0uNzU1YTggOCAwIDAgMCAuNC0uMDk5IiAvPgogIDxwYXRoIGQ9Im0yIDIgMjAgMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/star-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideStarOff = /*#__PURE__*/(() => {\n  class LucideStarOff extends LucideIconBase {\n    static icon = {\n      name: 'star-off',\n      size: 24,\n      node: [['path', {\n        d: 'm10.344 4.688 1.181-2.393a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.237 3.152',\n        key: '19ctli'\n      }], ['path', {\n        d: 'm17.945 17.945.43 2.505a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a8 8 0 0 0 .4-.099',\n        key: 'ptqqvy'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucideStarOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideStarOff_BaseFactory;\n      return function LucideStarOff_Factory(__ngFactoryType__) {\n        return (ɵLucideStarOff_BaseFactory || (ɵLucideStarOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideStarOff)))(__ngFactoryType__ || LucideStarOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideStarOff,\n      selectors: [[\"svg\", \"lucideStarOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1454,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideStarOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideStarOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideStarOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Star\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuNTI1IDIuMjk1YS41My41MyAwIDAgMSAuOTUgMGwyLjMxIDQuNjc5YTIuMTIzIDIuMTIzIDAgMCAwIDEuNTk1IDEuMTZsNS4xNjYuNzU2YS41My41MyAwIDAgMSAuMjk0LjkwNGwtMy43MzYgMy42MzhhMi4xMjMgMi4xMjMgMCAwIDAtLjYxMSAxLjg3OGwuODgyIDUuMTRhLjUzLjUzIDAgMCAxLS43NzEuNTZsLTQuNjE4LTIuNDI4YTIuMTIyIDIuMTIyIDAgMCAwLTEuOTczIDBMNi4zOTYgMjEuMDFhLjUzLjUzIDAgMCAxLS43Ny0uNTZsLjg4MS01LjEzOWEyLjEyMiAyLjEyMiAwIDAgMC0uNjExLTEuODc5TDIuMTYgOS43OTVhLjUzLjUzIDAgMCAxIC4yOTQtLjkwNmw1LjE2NS0uNzU1YTIuMTIyIDIuMTIyIDAgMCAwIDEuNTk3LTEuMTZ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/star\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideStar = /*#__PURE__*/(() => {\n  class LucideStar extends LucideIconBase {\n    static icon = {\n      name: 'star',\n      size: 24,\n      node: [['path', {\n        d: 'M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z',\n        key: 'r04s7s'\n      }]]\n    };\n    icon = signal(LucideStar.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideStar_BaseFactory;\n      return function LucideStar_Factory(__ngFactoryType__) {\n        return (ɵLucideStar_BaseFactory || (ɵLucideStar_BaseFactory = i0.ɵɵgetInheritedFactory(LucideStar)))(__ngFactoryType__ || LucideStar);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideStar,\n      selectors: [[\"svg\", \"lucideStar\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1455,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideStar_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideStar_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideStar;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name StepForward\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMDI5IDQuMjg1QTIgMiAwIDAgMCA3IDZ2MTJhMiAyIDAgMCAwIDMuMDI5IDEuNzE1bDkuOTk3LTUuOTk4YTIgMiAwIDAgMCAuMDAzLTMuNDMyeiIgLz4KICA8cGF0aCBkPSJNMyA0djE2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/step-forward\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideStepForward = /*#__PURE__*/(() => {\n  class LucideStepForward extends LucideIconBase {\n    static icon = {\n      name: 'step-forward',\n      size: 24,\n      node: [['path', {\n        d: 'M10.029 4.285A2 2 0 0 0 7 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z',\n        key: '1ystz2'\n      }], ['path', {\n        d: 'M3 4v16',\n        key: '1ph11n'\n      }]]\n    };\n    icon = signal(LucideStepForward.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideStepForward_BaseFactory;\n      return function LucideStepForward_Factory(__ngFactoryType__) {\n        return (ɵLucideStepForward_BaseFactory || (ɵLucideStepForward_BaseFactory = i0.ɵɵgetInheritedFactory(LucideStepForward)))(__ngFactoryType__ || LucideStepForward);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideStepForward,\n      selectors: [[\"svg\", \"lucideStepForward\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1456,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideStepForward_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideStepForward_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideStepForward;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name StepBack\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuOTcxIDQuMjg1QTIgMiAwIDAgMSAxNyA2djEyYTIgMiAwIDAgMS0zLjAyOSAxLjcxNWwtOS45OTctNS45OThhMiAyIDAgMCAxLS4wMDMtMy40MzJ6IiAvPgogIDxwYXRoIGQ9Ik0yMSAyMFY0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/step-back\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideStepBack = /*#__PURE__*/(() => {\n  class LucideStepBack extends LucideIconBase {\n    static icon = {\n      name: 'step-back',\n      size: 24,\n      node: [['path', {\n        d: 'M13.971 4.285A2 2 0 0 1 17 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z',\n        key: '19qhus'\n      }], ['path', {\n        d: 'M21 20V4',\n        key: 'cb8qj8'\n      }]]\n    };\n    icon = signal(LucideStepBack.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideStepBack_BaseFactory;\n      return function LucideStepBack_Factory(__ngFactoryType__) {\n        return (ɵLucideStepBack_BaseFactory || (ɵLucideStepBack_BaseFactory = i0.ɵɵgetInheritedFactory(LucideStepBack)))(__ngFactoryType__ || LucideStepBack);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideStepBack,\n      selectors: [[\"svg\", \"lucideStepBack\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1457,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideStepBack_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideStepBack_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideStepBack;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Stethoscope\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMnYyIiAvPgogIDxwYXRoIGQ9Ik01IDJ2MiIgLz4KICA8cGF0aCBkPSJNNSAzSDRhMiAyIDAgMCAwLTIgMnY0YTYgNiAwIDAgMCAxMiAwVjVhMiAyIDAgMCAwLTItMmgtMSIgLz4KICA8cGF0aCBkPSJNOCAxNWE2IDYgMCAwIDAgMTIgMHYtMyIgLz4KICA8Y2lyY2xlIGN4PSIyMCIgY3k9IjEwIiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/stethoscope\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideStethoscope = /*#__PURE__*/(() => {\n  class LucideStethoscope extends LucideIconBase {\n    static icon = {\n      name: 'stethoscope',\n      size: 24,\n      node: [['path', {\n        d: 'M11 2v2',\n        key: '1539x4'\n      }], ['path', {\n        d: 'M5 2v2',\n        key: '1yf1q8'\n      }], ['path', {\n        d: 'M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1',\n        key: 'rb5t3r'\n      }], ['path', {\n        d: 'M8 15a6 6 0 0 0 12 0v-3',\n        key: 'x18d4x'\n      }], ['circle', {\n        cx: '20',\n        cy: '10',\n        r: '2',\n        key: 'ts1r5v'\n      }]]\n    };\n    icon = signal(LucideStethoscope.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideStethoscope_BaseFactory;\n      return function LucideStethoscope_Factory(__ngFactoryType__) {\n        return (ɵLucideStethoscope_BaseFactory || (ɵLucideStethoscope_BaseFactory = i0.ɵɵgetInheritedFactory(LucideStethoscope)))(__ngFactoryType__ || LucideStethoscope);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideStethoscope,\n      selectors: [[\"svg\", \"lucideStethoscope\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1458,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideStethoscope_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideStethoscope_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideStethoscope;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Sticker\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgOWEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTUgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0yeiIgLz4KICA8cGF0aCBkPSJNMTUgM3Y1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNOCAxM2guMDEiIC8+CiAgPHBhdGggZD0iTTE2IDEzaC4wMSIgLz4KICA8cGF0aCBkPSJNMTAgMTZzLjggMSAyIDFjMS4zIDAgMi0xIDItMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/sticker\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSticker = /*#__PURE__*/(() => {\n  class LucideSticker extends LucideIconBase {\n    static icon = {\n      name: 'sticker',\n      size: 24,\n      node: [['path', {\n        d: 'M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z',\n        key: '1dfntj'\n      }], ['path', {\n        d: 'M15 3v5a1 1 0 0 0 1 1h5',\n        key: '6s6qgf'\n      }], ['path', {\n        d: 'M8 13h.01',\n        key: '1sbv64'\n      }], ['path', {\n        d: 'M16 13h.01',\n        key: 'wip0gl'\n      }], ['path', {\n        d: 'M10 16s.8 1 2 1c1.3 0 2-1 2-1',\n        key: '1vvgv3'\n      }]]\n    };\n    icon = signal(LucideSticker.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSticker_BaseFactory;\n      return function LucideSticker_Factory(__ngFactoryType__) {\n        return (ɵLucideSticker_BaseFactory || (ɵLucideSticker_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSticker)))(__ngFactoryType__ || LucideSticker);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSticker,\n      selectors: [[\"svg\", \"lucideSticker\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1459,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSticker_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSticker_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSticker;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name StickyNote\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgOWEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTUgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0yeiIgLz4KICA8cGF0aCBkPSJNMTUgM3Y1YTEgMSAwIDAgMCAxIDFoNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/sticky-note\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideStickyNote = /*#__PURE__*/(() => {\n  class LucideStickyNote extends LucideIconBase {\n    static icon = {\n      name: 'sticky-note',\n      size: 24,\n      node: [['path', {\n        d: 'M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z',\n        key: '1dfntj'\n      }], ['path', {\n        d: 'M15 3v5a1 1 0 0 0 1 1h5',\n        key: '6s6qgf'\n      }]]\n    };\n    icon = signal(LucideStickyNote.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideStickyNote_BaseFactory;\n      return function LucideStickyNote_Factory(__ngFactoryType__) {\n        return (ɵLucideStickyNote_BaseFactory || (ɵLucideStickyNote_BaseFactory = i0.ɵɵgetInheritedFactory(LucideStickyNote)))(__ngFactoryType__ || LucideStickyNote);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideStickyNote,\n      selectors: [[\"svg\", \"lucideStickyNote\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1460,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideStickyNote_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideStickyNote_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideStickyNote;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Stone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuMjY0IDIuMjA1QTQgNCAwIDAgMCA2LjQyIDQuMjExbC00IDhhNCA0IDAgMCAwIDEuMzU5IDUuMTE3bDYgNGE0IDQgMCAwIDAgNC40MzggMGw2LTRhNCA0IDAgMCAwIDEuNTc2LTQuNTkybC0yLTZhNCA0IDAgMCAwLTIuNTMtMi41M3oiIC8+CiAgPHBhdGggZD0iTTExLjk5IDIyIDE0IDEybDcuODIyIDMuMTg0IiAvPgogIDxwYXRoIGQ9Ik0xNCAxMiA4LjQ3IDIuMzAyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/stone\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideStone = /*#__PURE__*/(() => {\n  class LucideStone extends LucideIconBase {\n    static icon = {\n      name: 'stone',\n      size: 24,\n      node: [['path', {\n        d: 'M11.264 2.205A4 4 0 0 0 6.42 4.211l-4 8a4 4 0 0 0 1.359 5.117l6 4a4 4 0 0 0 4.438 0l6-4a4 4 0 0 0 1.576-4.592l-2-6a4 4 0 0 0-2.53-2.53z',\n        key: '1si4ox'\n      }], ['path', {\n        d: 'M11.99 22 14 12l7.822 3.184',\n        key: '1u8to0'\n      }], ['path', {\n        d: 'M14 12 8.47 2.302',\n        key: 'guo3d5'\n      }]]\n    };\n    icon = signal(LucideStone.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideStone_BaseFactory;\n      return function LucideStone_Factory(__ngFactoryType__) {\n        return (ɵLucideStone_BaseFactory || (ɵLucideStone_BaseFactory = i0.ɵɵgetInheritedFactory(LucideStone)))(__ngFactoryType__ || LucideStone);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideStone,\n      selectors: [[\"svg\", \"lucideStone\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1461,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideStone_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideStone_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideStone;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Store\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMjF2LTVhMSAxIDAgMCAwLTEtMWgtNGExIDEgMCAwIDAtMSAxdjUiIC8+CiAgPHBhdGggZD0iTTE3Ljc3NCAxMC4zMWExLjEyIDEuMTIgMCAwIDAtMS41NDkgMCAyLjUgMi41IDAgMCAxLTMuNDUxIDAgMS4xMiAxLjEyIDAgMCAwLTEuNTQ4IDAgMi41IDIuNSAwIDAgMS0zLjQ1MiAwIDEuMTIgMS4xMiAwIDAgMC0xLjU0OSAwIDIuNSAyLjUgMCAwIDEtMy43Ny0zLjI0OGwyLjg4OS00LjE4NEEyIDIgMCAwIDEgNyAyaDEwYTIgMiAwIDAgMSAxLjY1My44NzNsMi44OTUgNC4xOTJhMi41IDIuNSAwIDAgMS0zLjc3NCAzLjI0NCIgLz4KICA8cGF0aCBkPSJNNCAxMC45NVYxOWEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTguMDUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/store\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideStore = /*#__PURE__*/(() => {\n  class LucideStore extends LucideIconBase {\n    static icon = {\n      name: 'store',\n      size: 24,\n      node: [['path', {\n        d: 'M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5',\n        key: 'slp6dd'\n      }], ['path', {\n        d: 'M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244',\n        key: 'o0xfot'\n      }], ['path', {\n        d: 'M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05',\n        key: 'wn3emo'\n      }]]\n    };\n    icon = signal(LucideStore.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideStore_BaseFactory;\n      return function LucideStore_Factory(__ngFactoryType__) {\n        return (ɵLucideStore_BaseFactory || (ɵLucideStore_BaseFactory = i0.ɵɵgetInheritedFactory(LucideStore)))(__ngFactoryType__ || LucideStore);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideStore,\n      selectors: [[\"svg\", \"lucideStore\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1462,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideStore_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideStore_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideStore;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name StretchHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iNiIgeD0iMiIgeT0iNCIgcng9IjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjIwIiBoZWlnaHQ9IjYiIHg9IjIiIHk9IjE0IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/stretch-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideStretchHorizontal = /*#__PURE__*/(() => {\n  class LucideStretchHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'stretch-horizontal',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '6',\n        x: '2',\n        y: '4',\n        rx: '2',\n        key: 'qdearl'\n      }], ['rect', {\n        width: '20',\n        height: '6',\n        x: '2',\n        y: '14',\n        rx: '2',\n        key: '1xrn6j'\n      }]]\n    };\n    icon = signal(LucideStretchHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideStretchHorizontal_BaseFactory;\n      return function LucideStretchHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideStretchHorizontal_BaseFactory || (ɵLucideStretchHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideStretchHorizontal)))(__ngFactoryType__ || LucideStretchHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideStretchHorizontal,\n      selectors: [[\"svg\", \"lucideStretchHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1463,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideStretchHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideStretchHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideStretchHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name StretchVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNiIgaGVpZ2h0PSIyMCIgeD0iNCIgeT0iMiIgcng9IjIiIC8+CiAgPHJlY3Qgd2lkdGg9IjYiIGhlaWdodD0iMjAiIHg9IjE0IiB5PSIyIiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/stretch-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideStretchVertical = /*#__PURE__*/(() => {\n  class LucideStretchVertical extends LucideIconBase {\n    static icon = {\n      name: 'stretch-vertical',\n      size: 24,\n      node: [['rect', {\n        width: '6',\n        height: '20',\n        x: '4',\n        y: '2',\n        rx: '2',\n        key: '19qu7m'\n      }], ['rect', {\n        width: '6',\n        height: '20',\n        x: '14',\n        y: '2',\n        rx: '2',\n        key: '24v0nk'\n      }]]\n    };\n    icon = signal(LucideStretchVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideStretchVertical_BaseFactory;\n      return function LucideStretchVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideStretchVertical_BaseFactory || (ɵLucideStretchVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideStretchVertical)))(__ngFactoryType__ || LucideStretchVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideStretchVertical,\n      selectors: [[\"svg\", \"lucideStretchVertical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1464,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideStretchVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideStretchVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideStretchVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Strikethrough\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgNEg5YTMgMyAwIDAgMC0yLjgzIDQiIC8+CiAgPHBhdGggZD0iTTE0IDEyYTQgNCAwIDAgMSAwIDhINiIgLz4KICA8bGluZSB4MT0iNCIgeDI9IjIwIiB5MT0iMTIiIHkyPSIxMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/strikethrough\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideStrikethrough = /*#__PURE__*/(() => {\n  class LucideStrikethrough extends LucideIconBase {\n    static icon = {\n      name: 'strikethrough',\n      size: 24,\n      node: [['path', {\n        d: 'M16 4H9a3 3 0 0 0-2.83 4',\n        key: '43sutm'\n      }], ['path', {\n        d: 'M14 12a4 4 0 0 1 0 8H6',\n        key: 'nlfj13'\n      }], ['line', {\n        x1: '4',\n        x2: '20',\n        y1: '12',\n        y2: '12',\n        key: '1e0a9i'\n      }]]\n    };\n    icon = signal(LucideStrikethrough.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideStrikethrough_BaseFactory;\n      return function LucideStrikethrough_Factory(__ngFactoryType__) {\n        return (ɵLucideStrikethrough_BaseFactory || (ɵLucideStrikethrough_BaseFactory = i0.ɵɵgetInheritedFactory(LucideStrikethrough)))(__ngFactoryType__ || LucideStrikethrough);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideStrikethrough,\n      selectors: [[\"svg\", \"lucideStrikethrough\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1465,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideStrikethrough_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideStrikethrough_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideStrikethrough;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Subscript\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNCA1IDggOCIgLz4KICA8cGF0aCBkPSJtMTIgNS04IDgiIC8+CiAgPHBhdGggZD0iTTIwIDE5aC00YzAtMS41LjQ0LTIgMS41LTIuNVMyMCAxNS4zMyAyMCAxNGMwLS40Ny0uMTctLjkzLS40OC0xLjI5YTIuMTEgMi4xMSAwIDAgMC0yLjYyLS40NGMtLjQyLjI0LS43NC42Mi0uOSAxLjA3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/subscript\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSubscript = /*#__PURE__*/(() => {\n  class LucideSubscript extends LucideIconBase {\n    static icon = {\n      name: 'subscript',\n      size: 24,\n      node: [['path', {\n        d: 'm4 5 8 8',\n        key: '1eunvl'\n      }], ['path', {\n        d: 'm12 5-8 8',\n        key: '1ah0jp'\n      }], ['path', {\n        d: 'M20 19h-4c0-1.5.44-2 1.5-2.5S20 15.33 20 14c0-.47-.17-.93-.48-1.29a2.11 2.11 0 0 0-2.62-.44c-.42.24-.74.62-.9 1.07',\n        key: 'e8ta8j'\n      }]]\n    };\n    icon = signal(LucideSubscript.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSubscript_BaseFactory;\n      return function LucideSubscript_Factory(__ngFactoryType__) {\n        return (ɵLucideSubscript_BaseFactory || (ɵLucideSubscript_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSubscript)))(__ngFactoryType__ || LucideSubscript);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSubscript,\n      selectors: [[\"svg\", \"lucideSubscript\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1466,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSubscript_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSubscript_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSubscript;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SunDim\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI0IiAvPgogIDxwYXRoIGQ9Ik0xMiA0aC4wMSIgLz4KICA8cGF0aCBkPSJNMjAgMTJoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMiAyMGguMDEiIC8+CiAgPHBhdGggZD0iTTQgMTJoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNy42NTcgNi4zNDNoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNy42NTcgMTcuNjU3aC4wMSIgLz4KICA8cGF0aCBkPSJNNi4zNDMgMTcuNjU3aC4wMSIgLz4KICA8cGF0aCBkPSJNNi4zNDMgNi4zNDNoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/sun-dim\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSunDim = /*#__PURE__*/(() => {\n  class LucideSunDim extends LucideIconBase {\n    static icon = {\n      name: 'sun-dim',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '4',\n        key: '4exip2'\n      }], ['path', {\n        d: 'M12 4h.01',\n        key: '1ujb9j'\n      }], ['path', {\n        d: 'M20 12h.01',\n        key: '1ykeid'\n      }], ['path', {\n        d: 'M12 20h.01',\n        key: 'zekei9'\n      }], ['path', {\n        d: 'M4 12h.01',\n        key: '158zrr'\n      }], ['path', {\n        d: 'M17.657 6.343h.01',\n        key: '31pqzk'\n      }], ['path', {\n        d: 'M17.657 17.657h.01',\n        key: 'jehnf4'\n      }], ['path', {\n        d: 'M6.343 17.657h.01',\n        key: 'gdk6ow'\n      }], ['path', {\n        d: 'M6.343 6.343h.01',\n        key: '1uurf0'\n      }]]\n    };\n    icon = signal(LucideSunDim.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSunDim_BaseFactory;\n      return function LucideSunDim_Factory(__ngFactoryType__) {\n        return (ɵLucideSunDim_BaseFactory || (ɵLucideSunDim_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSunDim)))(__ngFactoryType__ || LucideSunDim);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSunDim,\n      selectors: [[\"svg\", \"lucideSunDim\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1467,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSunDim_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSunDim_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSunDim;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SunSnow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMjF2LTEiIC8+CiAgPHBhdGggZD0iTTEwIDRWMyIgLz4KICA8cGF0aCBkPSJNMTAgOWEzIDMgMCAwIDAgMCA2IiAvPgogIDxwYXRoIGQ9Im0xNCAyMCAxLjI1LTIuNUwxOCAxOCIgLz4KICA8cGF0aCBkPSJtMTQgNCAxLjI1IDIuNUwxOCA2IiAvPgogIDxwYXRoIGQ9Im0xNyAyMS0zLTYgMS41LTNIMjIiIC8+CiAgPHBhdGggZD0ibTE3IDMtMyA2IDEuNSAzIiAvPgogIDxwYXRoIGQ9Ik0yIDEyaDEiIC8+CiAgPHBhdGggZD0ibTIwIDEwLTEuNSAyIDEuNSAyIiAvPgogIDxwYXRoIGQ9Im0zLjY0IDE4LjM2LjctLjciIC8+CiAgPHBhdGggZD0ibTQuMzQgNi4zNC0uNy0uNyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/sun-snow\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSunSnow = /*#__PURE__*/(() => {\n  class LucideSunSnow extends LucideIconBase {\n    static icon = {\n      name: 'sun-snow',\n      size: 24,\n      node: [['path', {\n        d: 'M10 21v-1',\n        key: '1u8rkd'\n      }], ['path', {\n        d: 'M10 4V3',\n        key: 'pkzwkn'\n      }], ['path', {\n        d: 'M10 9a3 3 0 0 0 0 6',\n        key: 'gv75dk'\n      }], ['path', {\n        d: 'm14 20 1.25-2.5L18 18',\n        key: '1chtki'\n      }], ['path', {\n        d: 'm14 4 1.25 2.5L18 6',\n        key: '1b4wsy'\n      }], ['path', {\n        d: 'm17 21-3-6 1.5-3H22',\n        key: 'o5qa3v'\n      }], ['path', {\n        d: 'm17 3-3 6 1.5 3',\n        key: '11697g'\n      }], ['path', {\n        d: 'M2 12h1',\n        key: '1uaihz'\n      }], ['path', {\n        d: 'm20 10-1.5 2 1.5 2',\n        key: '1swlpi'\n      }], ['path', {\n        d: 'm3.64 18.36.7-.7',\n        key: '105rm9'\n      }], ['path', {\n        d: 'm4.34 6.34-.7-.7',\n        key: 'd3unjp'\n      }]]\n    };\n    icon = signal(LucideSunSnow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSunSnow_BaseFactory;\n      return function LucideSunSnow_Factory(__ngFactoryType__) {\n        return (ɵLucideSunSnow_BaseFactory || (ɵLucideSunSnow_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSunSnow)))(__ngFactoryType__ || LucideSunSnow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSunSnow,\n      selectors: [[\"svg\", \"lucideSunSnow\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1468,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSunSnow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSunSnow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSunSnow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SunMoon\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0xNC44MzcgMTYuMzg1YTYgNiAwIDEgMS03LjIyMy03LjIyMmMuNjI0LS4xNDcuOTcuNjYuNzE1IDEuMjQ4YTQgNCAwIDAgMCA1LjI2IDUuMjU5Yy41ODktLjI1NSAxLjM5Ni4wOSAxLjI0OC43MTUiIC8+CiAgPHBhdGggZD0iTTE2IDEyYTQgNCAwIDAgMC00LTQiIC8+CiAgPHBhdGggZD0ibTE5IDUtMS4yNTYgMS4yNTYiIC8+CiAgPHBhdGggZD0iTTIwIDEyaDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/sun-moon\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSunMoon = /*#__PURE__*/(() => {\n  class LucideSunMoon extends LucideIconBase {\n    static icon = {\n      name: 'sun-moon',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v2',\n        key: 'tus03m'\n      }], ['path', {\n        d: 'M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715',\n        key: 'xlf6rm'\n      }], ['path', {\n        d: 'M16 12a4 4 0 0 0-4-4',\n        key: '6vsxu'\n      }], ['path', {\n        d: 'm19 5-1.256 1.256',\n        key: '1yg6a6'\n      }], ['path', {\n        d: 'M20 12h2',\n        key: '1q8mjw'\n      }]]\n    };\n    icon = signal(LucideSunMoon.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSunMoon_BaseFactory;\n      return function LucideSunMoon_Factory(__ngFactoryType__) {\n        return (ɵLucideSunMoon_BaseFactory || (ɵLucideSunMoon_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSunMoon)))(__ngFactoryType__ || LucideSunMoon);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSunMoon,\n      selectors: [[\"svg\", \"lucideSunMoon\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1469,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSunMoon_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSunMoon_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSunMoon;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SunMedium\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI0IiAvPgogIDxwYXRoIGQ9Ik0xMiAzdjEiIC8+CiAgPHBhdGggZD0iTTEyIDIwdjEiIC8+CiAgPHBhdGggZD0iTTMgMTJoMSIgLz4KICA8cGF0aCBkPSJNMjAgMTJoMSIgLz4KICA8cGF0aCBkPSJtMTguMzY0IDUuNjM2LS43MDcuNzA3IiAvPgogIDxwYXRoIGQ9Im02LjM0MyAxNy42NTctLjcwNy43MDciIC8+CiAgPHBhdGggZD0ibTUuNjM2IDUuNjM2LjcwNy43MDciIC8+CiAgPHBhdGggZD0ibTE3LjY1NyAxNy42NTcuNzA3LjcwNyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/sun-medium\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSunMedium = /*#__PURE__*/(() => {\n  class LucideSunMedium extends LucideIconBase {\n    static icon = {\n      name: 'sun-medium',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '4',\n        key: '4exip2'\n      }], ['path', {\n        d: 'M12 3v1',\n        key: '1asbbs'\n      }], ['path', {\n        d: 'M12 20v1',\n        key: '1wcdkc'\n      }], ['path', {\n        d: 'M3 12h1',\n        key: 'lp3yf2'\n      }], ['path', {\n        d: 'M20 12h1',\n        key: '1vloll'\n      }], ['path', {\n        d: 'm18.364 5.636-.707.707',\n        key: '1hakh0'\n      }], ['path', {\n        d: 'm6.343 17.657-.707.707',\n        key: '18m9nf'\n      }], ['path', {\n        d: 'm5.636 5.636.707.707',\n        key: '1xv1c5'\n      }], ['path', {\n        d: 'm17.657 17.657.707.707',\n        key: 'vl76zb'\n      }]]\n    };\n    icon = signal(LucideSunMedium.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSunMedium_BaseFactory;\n      return function LucideSunMedium_Factory(__ngFactoryType__) {\n        return (ɵLucideSunMedium_BaseFactory || (ɵLucideSunMedium_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSunMedium)))(__ngFactoryType__ || LucideSunMedium);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSunMedium,\n      selectors: [[\"svg\", \"lucideSunMedium\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1470,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSunMedium_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSunMedium_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSunMedium;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Sun\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI0IiAvPgogIDxwYXRoIGQ9Ik0xMiAydjIiIC8+CiAgPHBhdGggZD0iTTEyIDIwdjIiIC8+CiAgPHBhdGggZD0ibTQuOTMgNC45MyAxLjQxIDEuNDEiIC8+CiAgPHBhdGggZD0ibTE3LjY2IDE3LjY2IDEuNDEgMS40MSIgLz4KICA8cGF0aCBkPSJNMiAxMmgyIiAvPgogIDxwYXRoIGQ9Ik0yMCAxMmgyIiAvPgogIDxwYXRoIGQ9Im02LjM0IDE3LjY2LTEuNDEgMS40MSIgLz4KICA8cGF0aCBkPSJtMTkuMDcgNC45My0xLjQxIDEuNDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/sun\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSun = /*#__PURE__*/(() => {\n  class LucideSun extends LucideIconBase {\n    static icon = {\n      name: 'sun',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '4',\n        key: '4exip2'\n      }], ['path', {\n        d: 'M12 2v2',\n        key: 'tus03m'\n      }], ['path', {\n        d: 'M12 20v2',\n        key: '1lh1kg'\n      }], ['path', {\n        d: 'm4.93 4.93 1.41 1.41',\n        key: '149t6j'\n      }], ['path', {\n        d: 'm17.66 17.66 1.41 1.41',\n        key: 'ptbguv'\n      }], ['path', {\n        d: 'M2 12h2',\n        key: '1t8f8n'\n      }], ['path', {\n        d: 'M20 12h2',\n        key: '1q8mjw'\n      }], ['path', {\n        d: 'm6.34 17.66-1.41 1.41',\n        key: '1m8zz5'\n      }], ['path', {\n        d: 'm19.07 4.93-1.41 1.41',\n        key: '1shlcs'\n      }]]\n    };\n    icon = signal(LucideSun.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSun_BaseFactory;\n      return function LucideSun_Factory(__ngFactoryType__) {\n        return (ɵLucideSun_BaseFactory || (ɵLucideSun_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSun)))(__ngFactoryType__ || LucideSun);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSun,\n      selectors: [[\"svg\", \"lucideSun\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1471,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSun_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSun_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSun;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Sunrise\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnY4IiAvPgogIDxwYXRoIGQ9Im00LjkzIDEwLjkzIDEuNDEgMS40MSIgLz4KICA8cGF0aCBkPSJNMiAxOGgyIiAvPgogIDxwYXRoIGQ9Ik0yMCAxOGgyIiAvPgogIDxwYXRoIGQ9Im0xOS4wNyAxMC45My0xLjQxIDEuNDEiIC8+CiAgPHBhdGggZD0iTTIyIDIySDIiIC8+CiAgPHBhdGggZD0ibTggNiA0LTQgNCA0IiAvPgogIDxwYXRoIGQ9Ik0xNiAxOGE0IDQgMCAwIDAtOCAwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/sunrise\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSunrise = /*#__PURE__*/(() => {\n  class LucideSunrise extends LucideIconBase {\n    static icon = {\n      name: 'sunrise',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v8',\n        key: '1q4o3n'\n      }], ['path', {\n        d: 'm4.93 10.93 1.41 1.41',\n        key: '2a7f42'\n      }], ['path', {\n        d: 'M2 18h2',\n        key: 'j10viu'\n      }], ['path', {\n        d: 'M20 18h2',\n        key: 'wocana'\n      }], ['path', {\n        d: 'm19.07 10.93-1.41 1.41',\n        key: '15zs5n'\n      }], ['path', {\n        d: 'M22 22H2',\n        key: '19qnx5'\n      }], ['path', {\n        d: 'm8 6 4-4 4 4',\n        key: 'ybng9g'\n      }], ['path', {\n        d: 'M16 18a4 4 0 0 0-8 0',\n        key: '1lzouq'\n      }]]\n    };\n    icon = signal(LucideSunrise.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSunrise_BaseFactory;\n      return function LucideSunrise_Factory(__ngFactoryType__) {\n        return (ɵLucideSunrise_BaseFactory || (ɵLucideSunrise_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSunrise)))(__ngFactoryType__ || LucideSunrise);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSunrise,\n      selectors: [[\"svg\", \"lucideSunrise\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1472,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSunrise_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSunrise_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSunrise;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Superscript\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNCAxOSA4LTgiIC8+CiAgPHBhdGggZD0ibTEyIDE5LTgtOCIgLz4KICA8cGF0aCBkPSJNMjAgMTJoLTRjMC0xLjUuNDQyLTIgMS41LTIuNVMyMCA4LjMzNCAyMCA3LjAwMmMwLS40NzItLjE3LS45My0uNDg0LTEuMjlhMi4xMDUgMi4xMDUgMCAwIDAtMi42MTctLjQzNmMtLjQyLjIzOS0uNzM4LjYxNC0uODk5IDEuMDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/superscript\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSuperscript = /*#__PURE__*/(() => {\n  class LucideSuperscript extends LucideIconBase {\n    static icon = {\n      name: 'superscript',\n      size: 24,\n      node: [['path', {\n        d: 'm4 19 8-8',\n        key: 'hr47gm'\n      }], ['path', {\n        d: 'm12 19-8-8',\n        key: '1dhhmo'\n      }], ['path', {\n        d: 'M20 12h-4c0-1.5.442-2 1.5-2.5S20 8.334 20 7.002c0-.472-.17-.93-.484-1.29a2.105 2.105 0 0 0-2.617-.436c-.42.239-.738.614-.899 1.06',\n        key: '1dfcux'\n      }]]\n    };\n    icon = signal(LucideSuperscript.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSuperscript_BaseFactory;\n      return function LucideSuperscript_Factory(__ngFactoryType__) {\n        return (ɵLucideSuperscript_BaseFactory || (ɵLucideSuperscript_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSuperscript)))(__ngFactoryType__ || LucideSuperscript);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSuperscript,\n      selectors: [[\"svg\", \"lucideSuperscript\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1473,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSuperscript_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSuperscript_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSuperscript;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Sunset\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTBWMiIgLz4KICA8cGF0aCBkPSJtNC45MyAxMC45MyAxLjQxIDEuNDEiIC8+CiAgPHBhdGggZD0iTTIgMThoMiIgLz4KICA8cGF0aCBkPSJNMjAgMThoMiIgLz4KICA8cGF0aCBkPSJtMTkuMDcgMTAuOTMtMS40MSAxLjQxIiAvPgogIDxwYXRoIGQ9Ik0yMiAyMkgyIiAvPgogIDxwYXRoIGQ9Im0xNiA2LTQgNC00LTQiIC8+CiAgPHBhdGggZD0iTTE2IDE4YTQgNCAwIDAgMC04IDAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/sunset\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSunset = /*#__PURE__*/(() => {\n  class LucideSunset extends LucideIconBase {\n    static icon = {\n      name: 'sunset',\n      size: 24,\n      node: [['path', {\n        d: 'M12 10V2',\n        key: '16sf7g'\n      }], ['path', {\n        d: 'm4.93 10.93 1.41 1.41',\n        key: '2a7f42'\n      }], ['path', {\n        d: 'M2 18h2',\n        key: 'j10viu'\n      }], ['path', {\n        d: 'M20 18h2',\n        key: 'wocana'\n      }], ['path', {\n        d: 'm19.07 10.93-1.41 1.41',\n        key: '15zs5n'\n      }], ['path', {\n        d: 'M22 22H2',\n        key: '19qnx5'\n      }], ['path', {\n        d: 'm16 6-4 4-4-4',\n        key: '6wukr'\n      }], ['path', {\n        d: 'M16 18a4 4 0 0 0-8 0',\n        key: '1lzouq'\n      }]]\n    };\n    icon = signal(LucideSunset.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSunset_BaseFactory;\n      return function LucideSunset_Factory(__ngFactoryType__) {\n        return (ɵLucideSunset_BaseFactory || (ɵLucideSunset_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSunset)))(__ngFactoryType__ || LucideSunset);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSunset,\n      selectors: [[\"svg\", \"lucideSunset\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1474,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSunset_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSunset_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSunset;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SwatchBook\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTdhNCA0IDAgMCAxLTggMFY1YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAyWiIgLz4KICA8cGF0aCBkPSJNMTYuNyAxM0gxOWEyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMkg3IiAvPgogIDxwYXRoIGQ9Ik0gNyAxN2guMDEiIC8+CiAgPHBhdGggZD0ibTExIDggMi4zLTIuM2EyLjQgMi40IDAgMCAxIDMuNDA0LjAwNEwxOC42IDcuNmEyLjQgMi40IDAgMCAxIC4wMjYgMy40MzRMOS45IDE5LjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/swatch-book\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSwatchBook = /*#__PURE__*/(() => {\n  class LucideSwatchBook extends LucideIconBase {\n    static icon = {\n      name: 'swatch-book',\n      size: 24,\n      node: [['path', {\n        d: 'M11 17a4 4 0 0 1-8 0V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2Z',\n        key: '1ldrpk'\n      }], ['path', {\n        d: 'M16.7 13H19a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H7',\n        key: '11i5po'\n      }], ['path', {\n        d: 'M 7 17h.01',\n        key: '1euzgo'\n      }], ['path', {\n        d: 'm11 8 2.3-2.3a2.4 2.4 0 0 1 3.404.004L18.6 7.6a2.4 2.4 0 0 1 .026 3.434L9.9 19.8',\n        key: 'o2gii7'\n      }]]\n    };\n    icon = signal(LucideSwatchBook.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSwatchBook_BaseFactory;\n      return function LucideSwatchBook_Factory(__ngFactoryType__) {\n        return (ɵLucideSwatchBook_BaseFactory || (ɵLucideSwatchBook_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSwatchBook)))(__ngFactoryType__ || LucideSwatchBook);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSwatchBook,\n      selectors: [[\"svg\", \"lucideSwatchBook\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1475,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSwatchBook_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSwatchBook_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSwatchBook;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Sword\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTEgMTktNi02IiAvPgogIDxwYXRoIGQ9Im01IDIxLTItMiIgLz4KICA8cGF0aCBkPSJtOCAxNi00IDQiIC8+CiAgPHBhdGggZD0iTTkuNSAxNy41IDIxIDZWM2gtM0w2LjUgMTQuNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/sword\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSword = /*#__PURE__*/(() => {\n  class LucideSword extends LucideIconBase {\n    static icon = {\n      name: 'sword',\n      size: 24,\n      node: [['path', {\n        d: 'm11 19-6-6',\n        key: 's7kpr'\n      }], ['path', {\n        d: 'm5 21-2-2',\n        key: '1kw20b'\n      }], ['path', {\n        d: 'm8 16-4 4',\n        key: '1oqv8h'\n      }], ['path', {\n        d: 'M9.5 17.5 21 6V3h-3L6.5 14.5',\n        key: 'pkxemp'\n      }]]\n    };\n    icon = signal(LucideSword.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSword_BaseFactory;\n      return function LucideSword_Factory(__ngFactoryType__) {\n        return (ɵLucideSword_BaseFactory || (ɵLucideSword_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSword)))(__ngFactoryType__ || LucideSword);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSword,\n      selectors: [[\"svg\", \"lucideSword\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1476,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSword_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSword_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSword;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SwitchCamera\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMTlINGEyIDIgMCAwIDEtMi0yVjdhMiAyIDAgMCAxIDItMmg1IiAvPgogIDxwYXRoIGQ9Ik0xMyA1aDdhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAyaC01IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiIC8+CiAgPHBhdGggZD0ibTE4IDIyLTMtMyAzLTMiIC8+CiAgPHBhdGggZD0ibTYgMiAzIDMtMyAzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/switch-camera\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSwitchCamera = /*#__PURE__*/(() => {\n  class LucideSwitchCamera extends LucideIconBase {\n    static icon = {\n      name: 'switch-camera',\n      size: 24,\n      node: [['path', {\n        d: 'M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5',\n        key: 'mtk2lu'\n      }], ['path', {\n        d: 'M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5',\n        key: '120jsl'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '3',\n        key: '1v7zrd'\n      }], ['path', {\n        d: 'm18 22-3-3 3-3',\n        key: 'kgdoj7'\n      }], ['path', {\n        d: 'm6 2 3 3-3 3',\n        key: '1fnbkv'\n      }]]\n    };\n    icon = signal(LucideSwitchCamera.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSwitchCamera_BaseFactory;\n      return function LucideSwitchCamera_Factory(__ngFactoryType__) {\n        return (ɵLucideSwitchCamera_BaseFactory || (ɵLucideSwitchCamera_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSwitchCamera)))(__ngFactoryType__ || LucideSwitchCamera);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSwitchCamera,\n      selectors: [[\"svg\", \"lucideSwitchCamera\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1477,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSwitchCamera_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSwitchCamera_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSwitchCamera;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name SwissFranc\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMjFWM2g4IiAvPgogIDxwYXRoIGQ9Ik02IDE2aDkiIC8+CiAgPHBhdGggZD0iTTEwIDkuNWg3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/swiss-franc\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSwissFranc = /*#__PURE__*/(() => {\n  class LucideSwissFranc extends LucideIconBase {\n    static icon = {\n      name: 'swiss-franc',\n      size: 24,\n      node: [['path', {\n        d: 'M10 21V3h8',\n        key: 'br2l0g'\n      }], ['path', {\n        d: 'M6 16h9',\n        key: '2py0wn'\n      }], ['path', {\n        d: 'M10 9.5h7',\n        key: '13dmhz'\n      }]]\n    };\n    icon = signal(LucideSwissFranc.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSwissFranc_BaseFactory;\n      return function LucideSwissFranc_Factory(__ngFactoryType__) {\n        return (ɵLucideSwissFranc_BaseFactory || (ɵLucideSwissFranc_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSwissFranc)))(__ngFactoryType__ || LucideSwissFranc);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSwissFranc,\n      selectors: [[\"svg\", \"lucideSwissFranc\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1478,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSwissFranc_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSwissFranc_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSwissFranc;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Swords\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cG9seWxpbmUgcG9pbnRzPSIxNC41IDE3LjUgMyA2IDMgMyA2IDMgMTcuNSAxNC41IiAvPgogIDxsaW5lIHgxPSIxMyIgeDI9IjE5IiB5MT0iMTkiIHkyPSIxMyIgLz4KICA8bGluZSB4MT0iMTYiIHgyPSIyMCIgeTE9IjE2IiB5Mj0iMjAiIC8+CiAgPGxpbmUgeDE9IjE5IiB4Mj0iMjEiIHkxPSIyMSIgeTI9IjE5IiAvPgogIDxwb2x5bGluZSBwb2ludHM9IjE0LjUgNi41IDE4IDMgMjEgMyAyMSA2IDE3LjUgOS41IiAvPgogIDxsaW5lIHgxPSI1IiB4Mj0iOSIgeTE9IjE0IiB5Mj0iMTgiIC8+CiAgPGxpbmUgeDE9IjciIHgyPSI0IiB5MT0iMTciIHkyPSIyMCIgLz4KICA8bGluZSB4MT0iMyIgeDI9IjUiIHkxPSIxOSIgeTI9IjIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/swords\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSwords = /*#__PURE__*/(() => {\n  class LucideSwords extends LucideIconBase {\n    static icon = {\n      name: 'swords',\n      size: 24,\n      node: [['polyline', {\n        points: '14.5 17.5 3 6 3 3 6 3 17.5 14.5',\n        key: '1hfsw2'\n      }], ['line', {\n        x1: '13',\n        x2: '19',\n        y1: '19',\n        y2: '13',\n        key: '1vrmhu'\n      }], ['line', {\n        x1: '16',\n        x2: '20',\n        y1: '16',\n        y2: '20',\n        key: '1bron3'\n      }], ['line', {\n        x1: '19',\n        x2: '21',\n        y1: '21',\n        y2: '19',\n        key: '13pww6'\n      }], ['polyline', {\n        points: '14.5 6.5 18 3 21 3 21 6 17.5 9.5',\n        key: 'hbey2j'\n      }], ['line', {\n        x1: '5',\n        x2: '9',\n        y1: '14',\n        y2: '18',\n        key: '1hf58s'\n      }], ['line', {\n        x1: '7',\n        x2: '4',\n        y1: '17',\n        y2: '20',\n        key: 'pidxm4'\n      }], ['line', {\n        x1: '3',\n        x2: '5',\n        y1: '19',\n        y2: '21',\n        key: '1pehsh'\n      }]]\n    };\n    icon = signal(LucideSwords.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSwords_BaseFactory;\n      return function LucideSwords_Factory(__ngFactoryType__) {\n        return (ɵLucideSwords_BaseFactory || (ɵLucideSwords_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSwords)))(__ngFactoryType__ || LucideSwords);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSwords,\n      selectors: [[\"svg\", \"lucideSwords\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1479,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSwords_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSwords_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSwords;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Table2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSAzSDVhMiAyIDAgMCAwLTIgMnY0bTYtNmgxMGEyIDIgMCAwIDEgMiAydjRNOSAzdjE4bTAgMGgxMGEyIDIgMCAwIDAgMi0yVjlNOSAyMUg1YTIgMiAwIDAgMS0yLTJWOW0wIDBoMTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/table-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTable2 = /*#__PURE__*/(() => {\n  class LucideTable2 extends LucideIconBase {\n    static icon = {\n      name: 'table-2',\n      size: 24,\n      node: [['path', {\n        d: 'M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18',\n        key: 'gugj83'\n      }]]\n    };\n    icon = signal(LucideTable2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTable2_BaseFactory;\n      return function LucideTable2_Factory(__ngFactoryType__) {\n        return (ɵLucideTable2_BaseFactory || (ɵLucideTable2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTable2)))(__ngFactoryType__ || LucideTable2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTable2,\n      selectors: [[\"svg\", \"lucideTable2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1480,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTable2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTable2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTable2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Syringe\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTggMiA0IDQiIC8+CiAgPHBhdGggZD0ibTE3IDcgMy0zIiAvPgogIDxwYXRoIGQ9Ik0xOSA5IDguNyAxOS4zYy0xIDEtMi41IDEtMy40IDBsLS42LS42Yy0xLTEtMS0yLjUgMC0zLjRMMTUgNSIgLz4KICA8cGF0aCBkPSJtOSAxMSA0IDQiIC8+CiAgPHBhdGggZD0ibTUgMTktMyAzIiAvPgogIDxwYXRoIGQ9Im0xNCA0IDYgNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/syringe\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideSyringe = /*#__PURE__*/(() => {\n  class LucideSyringe extends LucideIconBase {\n    static icon = {\n      name: 'syringe',\n      size: 24,\n      node: [['path', {\n        d: 'm18 2 4 4',\n        key: '22kx64'\n      }], ['path', {\n        d: 'm17 7 3-3',\n        key: '1w1zoj'\n      }], ['path', {\n        d: 'M19 9 8.7 19.3c-1 1-2.5 1-3.4 0l-.6-.6c-1-1-1-2.5 0-3.4L15 5',\n        key: '1exhtz'\n      }], ['path', {\n        d: 'm9 11 4 4',\n        key: 'rovt3i'\n      }], ['path', {\n        d: 'm5 19-3 3',\n        key: '59f2uf'\n      }], ['path', {\n        d: 'm14 4 6 6',\n        key: 'yqp9t2'\n      }]]\n    };\n    icon = signal(LucideSyringe.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideSyringe_BaseFactory;\n      return function LucideSyringe_Factory(__ngFactoryType__) {\n        return (ɵLucideSyringe_BaseFactory || (ɵLucideSyringe_BaseFactory = i0.ɵɵgetInheritedFactory(LucideSyringe)))(__ngFactoryType__ || LucideSyringe);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideSyringe,\n      selectors: [[\"svg\", \"lucideSyringe\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1481,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideSyringe_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideSyringe_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideSyringe;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TableCellsMerge\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjF2LTYiIC8+CiAgPHBhdGggZD0iTTEyIDlWMyIgLz4KICA8cGF0aCBkPSJNMyAxNWgxOCIgLz4KICA8cGF0aCBkPSJNMyA5aDE4IiAvPgogIDxyZWN0IHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgeD0iMyIgeT0iMyIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/table-cells-merge\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTableCellsMerge = /*#__PURE__*/(() => {\n  class LucideTableCellsMerge extends LucideIconBase {\n    static icon = {\n      name: 'table-cells-merge',\n      size: 24,\n      node: [['path', {\n        d: 'M12 21v-6',\n        key: 'lihzve'\n      }], ['path', {\n        d: 'M12 9V3',\n        key: 'da5inc'\n      }], ['path', {\n        d: 'M3 15h18',\n        key: '5xshup'\n      }], ['path', {\n        d: 'M3 9h18',\n        key: '1pudct'\n      }], ['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }]]\n    };\n    icon = signal(LucideTableCellsMerge.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTableCellsMerge_BaseFactory;\n      return function LucideTableCellsMerge_Factory(__ngFactoryType__) {\n        return (ɵLucideTableCellsMerge_BaseFactory || (ɵLucideTableCellsMerge_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTableCellsMerge)))(__ngFactoryType__ || LucideTableCellsMerge);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTableCellsMerge,\n      selectors: [[\"svg\", \"lucideTableCellsMerge\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1482,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTableCellsMerge_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTableCellsMerge_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTableCellsMerge;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TableCellsSplit\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTVWOSIgLz4KICA8cGF0aCBkPSJNMyAxNWgxOCIgLz4KICA8cGF0aCBkPSJNMyA5aDE4IiAvPgogIDxyZWN0IHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgeD0iMyIgeT0iMyIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/table-cells-split\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTableCellsSplit = /*#__PURE__*/(() => {\n  class LucideTableCellsSplit extends LucideIconBase {\n    static icon = {\n      name: 'table-cells-split',\n      size: 24,\n      node: [['path', {\n        d: 'M12 15V9',\n        key: '8c7uyn'\n      }], ['path', {\n        d: 'M3 15h18',\n        key: '5xshup'\n      }], ['path', {\n        d: 'M3 9h18',\n        key: '1pudct'\n      }], ['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }]]\n    };\n    icon = signal(LucideTableCellsSplit.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTableCellsSplit_BaseFactory;\n      return function LucideTableCellsSplit_Factory(__ngFactoryType__) {\n        return (ɵLucideTableCellsSplit_BaseFactory || (ɵLucideTableCellsSplit_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTableCellsSplit)))(__ngFactoryType__ || LucideTableCellsSplit);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTableCellsSplit,\n      selectors: [[\"svg\", \"lucideTableCellsSplit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1483,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTableCellsSplit_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTableCellsSplit_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTableCellsSplit;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TableProperties\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgM3YxOCIgLz4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0yMSA5SDMiIC8+CiAgPHBhdGggZD0iTTIxIDE1SDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/table-properties\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTableProperties = /*#__PURE__*/(() => {\n  class LucideTableProperties extends LucideIconBase {\n    static icon = {\n      name: 'table-properties',\n      size: 24,\n      node: [['path', {\n        d: 'M15 3v18',\n        key: '14nvp0'\n      }], ['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M21 9H3',\n        key: '1338ky'\n      }], ['path', {\n        d: 'M21 15H3',\n        key: '9uk58r'\n      }]]\n    };\n    icon = signal(LucideTableProperties.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTableProperties_BaseFactory;\n      return function LucideTableProperties_Factory(__ngFactoryType__) {\n        return (ɵLucideTableProperties_BaseFactory || (ɵLucideTableProperties_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTableProperties)))(__ngFactoryType__ || LucideTableProperties);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTableProperties,\n      selectors: [[\"svg\", \"lucideTableProperties\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1484,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTableProperties_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTableProperties_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTableProperties;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TableOfContents\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgNUgzIiAvPgogIDxwYXRoIGQ9Ik0xNiAxMkgzIiAvPgogIDxwYXRoIGQ9Ik0xNiAxOUgzIiAvPgogIDxwYXRoIGQ9Ik0yMSA1aC4wMSIgLz4KICA8cGF0aCBkPSJNMjEgMTJoLjAxIiAvPgogIDxwYXRoIGQ9Ik0yMSAxOWguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/table-of-contents\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTableOfContents = /*#__PURE__*/(() => {\n  class LucideTableOfContents extends LucideIconBase {\n    static icon = {\n      name: 'table-of-contents',\n      size: 24,\n      node: [['path', {\n        d: 'M16 5H3',\n        key: 'm91uny'\n      }], ['path', {\n        d: 'M16 12H3',\n        key: '1a2rj7'\n      }], ['path', {\n        d: 'M16 19H3',\n        key: 'zzsher'\n      }], ['path', {\n        d: 'M21 5h.01',\n        key: 'wa75ra'\n      }], ['path', {\n        d: 'M21 12h.01',\n        key: 'msek7k'\n      }], ['path', {\n        d: 'M21 19h.01',\n        key: 'qvbq2j'\n      }]]\n    };\n    icon = signal(LucideTableOfContents.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTableOfContents_BaseFactory;\n      return function LucideTableOfContents_Factory(__ngFactoryType__) {\n        return (ɵLucideTableOfContents_BaseFactory || (ɵLucideTableOfContents_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTableOfContents)))(__ngFactoryType__ || LucideTableOfContents);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTableOfContents,\n      selectors: [[\"svg\", \"lucideTableOfContents\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1485,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTableOfContents_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTableOfContents_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTableOfContents;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TableColumnsSplit\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMTR2MiIgLz4KICA8cGF0aCBkPSJNMTQgMjB2MiIgLz4KICA8cGF0aCBkPSJNMTQgMnYyIiAvPgogIDxwYXRoIGQ9Ik0xNCA4djIiIC8+CiAgPHBhdGggZD0iTTIgMTVoOCIgLz4KICA8cGF0aCBkPSJNMiAzaDZhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDIiIC8+CiAgPHBhdGggZD0iTTIgOWg4IiAvPgogIDxwYXRoIGQ9Ik0yMiAxNWgtNCIgLz4KICA8cGF0aCBkPSJNMjIgM2gtMmEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMiIgLz4KICA8cGF0aCBkPSJNMjIgOWgtNCIgLz4KICA8cGF0aCBkPSJNNSAzdjE4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/table-columns-split\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTableColumnsSplit = /*#__PURE__*/(() => {\n  class LucideTableColumnsSplit extends LucideIconBase {\n    static icon = {\n      name: 'table-columns-split',\n      size: 24,\n      node: [['path', {\n        d: 'M14 14v2',\n        key: 'w2a1xv'\n      }], ['path', {\n        d: 'M14 20v2',\n        key: '1lq872'\n      }], ['path', {\n        d: 'M14 2v2',\n        key: '6buw04'\n      }], ['path', {\n        d: 'M14 8v2',\n        key: 'i67w9a'\n      }], ['path', {\n        d: 'M2 15h8',\n        key: '82wtch'\n      }], ['path', {\n        d: 'M2 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H2',\n        key: 'up0l64'\n      }], ['path', {\n        d: 'M2 9h8',\n        key: 'yelfik'\n      }], ['path', {\n        d: 'M22 15h-4',\n        key: '1es58f'\n      }], ['path', {\n        d: 'M22 3h-2a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2',\n        key: 'pdjoqf'\n      }], ['path', {\n        d: 'M22 9h-4',\n        key: '1luja7'\n      }], ['path', {\n        d: 'M5 3v18',\n        key: '14hmio'\n      }]]\n    };\n    icon = signal(LucideTableColumnsSplit.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTableColumnsSplit_BaseFactory;\n      return function LucideTableColumnsSplit_Factory(__ngFactoryType__) {\n        return (ɵLucideTableColumnsSplit_BaseFactory || (ɵLucideTableColumnsSplit_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTableColumnsSplit)))(__ngFactoryType__ || LucideTableColumnsSplit);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTableColumnsSplit,\n      selectors: [[\"svg\", \"lucideTableColumnsSplit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1486,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTableColumnsSplit_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTableColumnsSplit_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTableColumnsSplit;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TableRowsSplit\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMTBoMiIgLz4KICA8cGF0aCBkPSJNMTUgMjJ2LTgiIC8+CiAgPHBhdGggZD0iTTE1IDJ2NCIgLz4KICA8cGF0aCBkPSJNMiAxMGgyIiAvPgogIDxwYXRoIGQ9Ik0yMCAxMGgyIiAvPgogIDxwYXRoIGQ9Ik0zIDE5aDE4IiAvPgogIDxwYXRoIGQ9Ik0zIDIydi02YTIgMiAxMzUgMCAxIDItMmgxNGEyIDIgNDUgMCAxIDIgMnY2IiAvPgogIDxwYXRoIGQ9Ik0zIDJ2MmEyIDIgNDUgMCAwIDIgMmgxNGEyIDIgMTM1IDAgMCAyLTJWMiIgLz4KICA8cGF0aCBkPSJNOCAxMGgyIiAvPgogIDxwYXRoIGQ9Ik05IDIydi04IiAvPgogIDxwYXRoIGQ9Ik05IDJ2NCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/table-rows-split\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTableRowsSplit = /*#__PURE__*/(() => {\n  class LucideTableRowsSplit extends LucideIconBase {\n    static icon = {\n      name: 'table-rows-split',\n      size: 24,\n      node: [['path', {\n        d: 'M14 10h2',\n        key: '1lstlu'\n      }], ['path', {\n        d: 'M15 22v-8',\n        key: '1fwwgm'\n      }], ['path', {\n        d: 'M15 2v4',\n        key: '1044rn'\n      }], ['path', {\n        d: 'M2 10h2',\n        key: '1r8dkt'\n      }], ['path', {\n        d: 'M20 10h2',\n        key: '1ug425'\n      }], ['path', {\n        d: 'M3 19h18',\n        key: 'awlh7x'\n      }], ['path', {\n        d: 'M3 22v-6a2 2 135 0 1 2-2h14a2 2 45 0 1 2 2v6',\n        key: 'ibqhof'\n      }], ['path', {\n        d: 'M3 2v2a2 2 45 0 0 2 2h14a2 2 135 0 0 2-2V2',\n        key: '1uenja'\n      }], ['path', {\n        d: 'M8 10h2',\n        key: '66od0'\n      }], ['path', {\n        d: 'M9 22v-8',\n        key: 'fmnu31'\n      }], ['path', {\n        d: 'M9 2v4',\n        key: 'j1yeou'\n      }]]\n    };\n    icon = signal(LucideTableRowsSplit.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTableRowsSplit_BaseFactory;\n      return function LucideTableRowsSplit_Factory(__ngFactoryType__) {\n        return (ɵLucideTableRowsSplit_BaseFactory || (ɵLucideTableRowsSplit_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTableRowsSplit)))(__ngFactoryType__ || LucideTableRowsSplit);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTableRowsSplit,\n      selectors: [[\"svg\", \"lucideTableRowsSplit\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1487,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTableRowsSplit_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTableRowsSplit_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTableRowsSplit;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Table\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxOCIgLz4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDloMTgiIC8+CiAgPHBhdGggZD0iTTMgMTVoMTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/table\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTable = /*#__PURE__*/(() => {\n  class LucideTable extends LucideIconBase {\n    static icon = {\n      name: 'table',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3v18',\n        key: '108xh3'\n      }], ['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M3 9h18',\n        key: '1pudct'\n      }], ['path', {\n        d: 'M3 15h18',\n        key: '5xshup'\n      }]]\n    };\n    icon = signal(LucideTable.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTable_BaseFactory;\n      return function LucideTable_Factory(__ngFactoryType__) {\n        return (ɵLucideTable_BaseFactory || (ɵLucideTable_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTable)))(__ngFactoryType__ || LucideTable);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTable,\n      selectors: [[\"svg\", \"lucideTable\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1488,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTable_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTable_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTable;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Tablet\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTYiIGhlaWdodD0iMjAiIHg9IjQiIHk9IjIiIHJ4PSIyIiByeT0iMiIgLz4KICA8bGluZSB4MT0iMTIiIHgyPSIxMi4wMSIgeTE9IjE4IiB5Mj0iMTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/tablet\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTablet = /*#__PURE__*/(() => {\n  class LucideTablet extends LucideIconBase {\n    static icon = {\n      name: 'tablet',\n      size: 24,\n      node: [['rect', {\n        width: '16',\n        height: '20',\n        x: '4',\n        y: '2',\n        rx: '2',\n        ry: '2',\n        key: '76otgf'\n      }], ['line', {\n        x1: '12',\n        x2: '12.01',\n        y1: '18',\n        y2: '18',\n        key: '1dp563'\n      }]]\n    };\n    icon = signal(LucideTablet.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTablet_BaseFactory;\n      return function LucideTablet_Factory(__ngFactoryType__) {\n        return (ɵLucideTablet_BaseFactory || (ɵLucideTablet_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTablet)))(__ngFactoryType__ || LucideTablet);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTablet,\n      selectors: [[\"svg\", \"lucideTablet\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1489,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTablet_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTablet_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTablet;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TabletSmartphone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTAiIGhlaWdodD0iMTQiIHg9IjMiIHk9IjgiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik01IDRhMiAyIDAgMCAxIDItMmgxMmEyIDIgMCAwIDEgMiAydjE2YTIgMiAwIDAgMS0yIDJoLTIuNCIgLz4KICA8cGF0aCBkPSJNOCAxOGguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/tablet-smartphone\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTabletSmartphone = /*#__PURE__*/(() => {\n  class LucideTabletSmartphone extends LucideIconBase {\n    static icon = {\n      name: 'tablet-smartphone',\n      size: 24,\n      node: [['rect', {\n        width: '10',\n        height: '14',\n        x: '3',\n        y: '8',\n        rx: '2',\n        key: '1vrsiq'\n      }], ['path', {\n        d: 'M5 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2h-2.4',\n        key: '1j4zmg'\n      }], ['path', {\n        d: 'M8 18h.01',\n        key: 'lrp35t'\n      }]]\n    };\n    icon = signal(LucideTabletSmartphone.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTabletSmartphone_BaseFactory;\n      return function LucideTabletSmartphone_Factory(__ngFactoryType__) {\n        return (ɵLucideTabletSmartphone_BaseFactory || (ɵLucideTabletSmartphone_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTabletSmartphone)))(__ngFactoryType__ || LucideTabletSmartphone);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTabletSmartphone,\n      selectors: [[\"svg\", \"lucideTabletSmartphone\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1490,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTabletSmartphone_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTabletSmartphone_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTabletSmartphone;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Tablets\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI3IiBjeT0iNyIgcj0iNSIgLz4KICA8Y2lyY2xlIGN4PSIxNyIgY3k9IjE3IiByPSI1IiAvPgogIDxwYXRoIGQ9Ik0xMiAxN2gxMCIgLz4KICA8cGF0aCBkPSJtMy40NiAxMC41NCA3LjA4LTcuMDgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/tablets\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTablets = /*#__PURE__*/(() => {\n  class LucideTablets extends LucideIconBase {\n    static icon = {\n      name: 'tablets',\n      size: 24,\n      node: [['circle', {\n        cx: '7',\n        cy: '7',\n        r: '5',\n        key: 'x29byf'\n      }], ['circle', {\n        cx: '17',\n        cy: '17',\n        r: '5',\n        key: '1op1d2'\n      }], ['path', {\n        d: 'M12 17h10',\n        key: 'ls21zv'\n      }], ['path', {\n        d: 'm3.46 10.54 7.08-7.08',\n        key: '1rehiu'\n      }]]\n    };\n    icon = signal(LucideTablets.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTablets_BaseFactory;\n      return function LucideTablets_Factory(__ngFactoryType__) {\n        return (ɵLucideTablets_BaseFactory || (ɵLucideTablets_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTablets)))(__ngFactoryType__ || LucideTablets);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTablets,\n      selectors: [[\"svg\", \"lucideTablets\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1491,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTablets_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTablets_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTablets;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Tag\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuNTg2IDIuNTg2QTIgMiAwIDAgMCAxMS4xNzIgMkg0YTIgMiAwIDAgMC0yIDJ2Ny4xNzJhMiAyIDAgMCAwIC41ODYgMS40MTRsOC43MDQgOC43MDRhMi40MjYgMi40MjYgMCAwIDAgMy40MiAwbDYuNTgtNi41OGEyLjQyNiAyLjQyNiAwIDAgMCAwLTMuNDJ6IiAvPgogIDxjaXJjbGUgY3g9IjcuNSIgY3k9IjcuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/tag\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTag = /*#__PURE__*/(() => {\n  class LucideTag extends LucideIconBase {\n    static icon = {\n      name: 'tag',\n      size: 24,\n      node: [['path', {\n        d: 'M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z',\n        key: 'vktsd0'\n      }], ['circle', {\n        cx: '7.5',\n        cy: '7.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: 'kqv944'\n      }]]\n    };\n    icon = signal(LucideTag.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTag_BaseFactory;\n      return function LucideTag_Factory(__ngFactoryType__) {\n        return (ɵLucideTag_BaseFactory || (ɵLucideTag_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTag)))(__ngFactoryType__ || LucideTag);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTag,\n      selectors: [[\"svg\", \"lucideTag\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1492,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTag_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTag_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTag;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Tally1\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCA0djE2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/tally-1\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTally1 = /*#__PURE__*/(() => {\n  class LucideTally1 extends LucideIconBase {\n    static icon = {\n      name: 'tally-1',\n      size: 24,\n      node: [['path', {\n        d: 'M4 4v16',\n        key: '6qkkli'\n      }]]\n    };\n    icon = signal(LucideTally1.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTally1_BaseFactory;\n      return function LucideTally1_Factory(__ngFactoryType__) {\n        return (ɵLucideTally1_BaseFactory || (ɵLucideTally1_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTally1)))(__ngFactoryType__ || LucideTally1);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTally1,\n      selectors: [[\"svg\", \"lucideTally1\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1493,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTally1_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTally1_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTally1;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Tags\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuMTcyIDJhMiAyIDAgMCAxIDEuNDE0LjU4Nmw2LjcxIDYuNzFhMi40IDIuNCAwIDAgMSAwIDMuNDA4bC00LjU5MiA0LjU5MmEyLjQgMi40IDAgMCAxLTMuNDA4IDBsLTYuNzEtNi43MUEyIDIgMCAwIDEgNiA5LjE3MlYzYTEgMSAwIDAgMSAxLTF6IiAvPgogIDxwYXRoIGQ9Ik0yIDd2Ni4xNzJhMiAyIDAgMCAwIC41ODYgMS40MTRsNi43MSA2LjcxYTIuNCAyLjQgMCAwIDAgMy4xOTEuMTkzIiAvPgogIDxjaXJjbGUgY3g9IjEwLjUiIGN5PSI2LjUiIHI9Ii41IiBmaWxsPSJjdXJyZW50Q29sb3IiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/tags\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTags = /*#__PURE__*/(() => {\n  class LucideTags extends LucideIconBase {\n    static icon = {\n      name: 'tags',\n      size: 24,\n      node: [['path', {\n        d: 'M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z',\n        key: '16rjxf'\n      }], ['path', {\n        d: 'M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193',\n        key: '178nd4'\n      }], ['circle', {\n        cx: '10.5',\n        cy: '6.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: '12ikhr'\n      }]]\n    };\n    icon = signal(LucideTags.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTags_BaseFactory;\n      return function LucideTags_Factory(__ngFactoryType__) {\n        return (ɵLucideTags_BaseFactory || (ɵLucideTags_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTags)))(__ngFactoryType__ || LucideTags);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTags,\n      selectors: [[\"svg\", \"lucideTags\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1494,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTags_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTags_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTags;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Tally2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCA0djE2IiAvPgogIDxwYXRoIGQ9Ik05IDR2MTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/tally-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTally2 = /*#__PURE__*/(() => {\n  class LucideTally2 extends LucideIconBase {\n    static icon = {\n      name: 'tally-2',\n      size: 24,\n      node: [['path', {\n        d: 'M4 4v16',\n        key: '6qkkli'\n      }], ['path', {\n        d: 'M9 4v16',\n        key: '81ygyz'\n      }]]\n    };\n    icon = signal(LucideTally2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTally2_BaseFactory;\n      return function LucideTally2_Factory(__ngFactoryType__) {\n        return (ɵLucideTally2_BaseFactory || (ɵLucideTally2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTally2)))(__ngFactoryType__ || LucideTally2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTally2,\n      selectors: [[\"svg\", \"lucideTally2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1495,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTally2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTally2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTally2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Tally3\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCA0djE2IiAvPgogIDxwYXRoIGQ9Ik05IDR2MTYiIC8+CiAgPHBhdGggZD0iTTE0IDR2MTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/tally-3\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTally3 = /*#__PURE__*/(() => {\n  class LucideTally3 extends LucideIconBase {\n    static icon = {\n      name: 'tally-3',\n      size: 24,\n      node: [['path', {\n        d: 'M4 4v16',\n        key: '6qkkli'\n      }], ['path', {\n        d: 'M9 4v16',\n        key: '81ygyz'\n      }], ['path', {\n        d: 'M14 4v16',\n        key: '12vmem'\n      }]]\n    };\n    icon = signal(LucideTally3.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTally3_BaseFactory;\n      return function LucideTally3_Factory(__ngFactoryType__) {\n        return (ɵLucideTally3_BaseFactory || (ɵLucideTally3_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTally3)))(__ngFactoryType__ || LucideTally3);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTally3,\n      selectors: [[\"svg\", \"lucideTally3\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1496,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTally3_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTally3_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTally3;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Tally5\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCA0djE2IiAvPgogIDxwYXRoIGQ9Ik05IDR2MTYiIC8+CiAgPHBhdGggZD0iTTE0IDR2MTYiIC8+CiAgPHBhdGggZD0iTTE5IDR2MTYiIC8+CiAgPHBhdGggZD0iTTIyIDYgMiAxOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/tally-5\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTally5 = /*#__PURE__*/(() => {\n  class LucideTally5 extends LucideIconBase {\n    static icon = {\n      name: 'tally-5',\n      size: 24,\n      node: [['path', {\n        d: 'M4 4v16',\n        key: '6qkkli'\n      }], ['path', {\n        d: 'M9 4v16',\n        key: '81ygyz'\n      }], ['path', {\n        d: 'M14 4v16',\n        key: '12vmem'\n      }], ['path', {\n        d: 'M19 4v16',\n        key: '8ij5ei'\n      }], ['path', {\n        d: 'M22 6 2 18',\n        key: 'h9moai'\n      }]]\n    };\n    icon = signal(LucideTally5.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTally5_BaseFactory;\n      return function LucideTally5_Factory(__ngFactoryType__) {\n        return (ɵLucideTally5_BaseFactory || (ɵLucideTally5_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTally5)))(__ngFactoryType__ || LucideTally5);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTally5,\n      selectors: [[\"svg\", \"lucideTally5\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1497,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTally5_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTally5_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTally5;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Tally4\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCA0djE2IiAvPgogIDxwYXRoIGQ9Ik05IDR2MTYiIC8+CiAgPHBhdGggZD0iTTE0IDR2MTYiIC8+CiAgPHBhdGggZD0iTTE5IDR2MTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/tally-4\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTally4 = /*#__PURE__*/(() => {\n  class LucideTally4 extends LucideIconBase {\n    static icon = {\n      name: 'tally-4',\n      size: 24,\n      node: [['path', {\n        d: 'M4 4v16',\n        key: '6qkkli'\n      }], ['path', {\n        d: 'M9 4v16',\n        key: '81ygyz'\n      }], ['path', {\n        d: 'M14 4v16',\n        key: '12vmem'\n      }], ['path', {\n        d: 'M19 4v16',\n        key: '8ij5ei'\n      }]]\n    };\n    icon = signal(LucideTally4.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTally4_BaseFactory;\n      return function LucideTally4_Factory(__ngFactoryType__) {\n        return (ɵLucideTally4_BaseFactory || (ɵLucideTally4_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTally4)))(__ngFactoryType__ || LucideTally4);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTally4,\n      selectors: [[\"svg\", \"lucideTally4\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1498,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTally4_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTally4_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTally4;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Tangent\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxNyIgY3k9IjQiIHI9IjIiIC8+CiAgPHBhdGggZD0iTTE1LjU5IDUuNDEgNS40MSAxNS41OSIgLz4KICA8Y2lyY2xlIGN4PSI0IiBjeT0iMTciIHI9IjIiIC8+CiAgPHBhdGggZD0iTTEyIDIycy00LTktMS41LTExLjVTMjIgMTIgMjIgMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/tangent\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTangent = /*#__PURE__*/(() => {\n  class LucideTangent extends LucideIconBase {\n    static icon = {\n      name: 'tangent',\n      size: 24,\n      node: [['circle', {\n        cx: '17',\n        cy: '4',\n        r: '2',\n        key: 'y5j2s2'\n      }], ['path', {\n        d: 'M15.59 5.41 5.41 15.59',\n        key: 'l0vprr'\n      }], ['circle', {\n        cx: '4',\n        cy: '17',\n        r: '2',\n        key: '9p4efm'\n      }], ['path', {\n        d: 'M12 22s-4-9-1.5-11.5S22 12 22 12',\n        key: '1twk4o'\n      }]]\n    };\n    icon = signal(LucideTangent.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTangent_BaseFactory;\n      return function LucideTangent_Factory(__ngFactoryType__) {\n        return (ɵLucideTangent_BaseFactory || (ɵLucideTangent_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTangent)))(__ngFactoryType__ || LucideTangent);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTangent,\n      selectors: [[\"svg\", \"lucideTangent\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1499,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTangent_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTangent_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTangent;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Target\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI2IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/target\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTarget = /*#__PURE__*/(() => {\n  class LucideTarget extends LucideIconBase {\n    static icon = {\n      name: 'target',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '6',\n        key: '1vlfrh'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '2',\n        key: '1c9p78'\n      }]]\n    };\n    icon = signal(LucideTarget.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTarget_BaseFactory;\n      return function LucideTarget_Factory(__ngFactoryType__) {\n        return (ɵLucideTarget_BaseFactory || (ɵLucideTarget_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTarget)))(__ngFactoryType__ || LucideTarget);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTarget,\n      selectors: [[\"svg\", \"lucideTarget\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1500,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTarget_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTarget_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTarget;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Telescope\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAuMDY1IDEyLjQ5My02LjE4IDEuMzE4YS45MzQuOTM0IDAgMCAxLTEuMTA4LS43MDJsLS41MzctMi4xNWExLjA3IDEuMDcgMCAwIDEgLjY5MS0xLjI2NWwxMy41MDQtNC40NCIgLz4KICA8cGF0aCBkPSJtMTMuNTYgMTEuNzQ3IDQuMzMyLS45MjQiIC8+CiAgPHBhdGggZD0ibTE2IDIxLTMuMTA1LTYuMjEiIC8+CiAgPHBhdGggZD0iTTE2LjQ4NSA1Ljk0YTIgMiAwIDAgMSAxLjQ1NS0yLjQyNWwxLjA5LS4yNzJhMSAxIDAgMCAxIDEuMjEyLjcyN2wxLjUxNSA2LjA2YTEgMSAwIDAgMS0uNzI3IDEuMjEzbC0xLjA5LjI3MmEyIDIgMCAwIDEtMi40MjUtMS40NTV6IiAvPgogIDxwYXRoIGQ9Im02LjE1OCA4LjYzMyAxLjExNCA0LjQ1NiIgLz4KICA8cGF0aCBkPSJtOCAyMSAzLjEwNS02LjIxIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTMiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/telescope\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTelescope = /*#__PURE__*/(() => {\n  class LucideTelescope extends LucideIconBase {\n    static icon = {\n      name: 'telescope',\n      size: 24,\n      node: [['path', {\n        d: 'm10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44',\n        key: 'k4qptu'\n      }], ['path', {\n        d: 'm13.56 11.747 4.332-.924',\n        key: '19l80z'\n      }], ['path', {\n        d: 'm16 21-3.105-6.21',\n        key: '7oh9d'\n      }], ['path', {\n        d: 'M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z',\n        key: 'm7xp4m'\n      }], ['path', {\n        d: 'm6.158 8.633 1.114 4.456',\n        key: '74o979'\n      }], ['path', {\n        d: 'm8 21 3.105-6.21',\n        key: '1fvxut'\n      }], ['circle', {\n        cx: '12',\n        cy: '13',\n        r: '2',\n        key: '1c1ljs'\n      }]]\n    };\n    icon = signal(LucideTelescope.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTelescope_BaseFactory;\n      return function LucideTelescope_Factory(__ngFactoryType__) {\n        return (ɵLucideTelescope_BaseFactory || (ɵLucideTelescope_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTelescope)))(__ngFactoryType__ || LucideTelescope);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTelescope,\n      selectors: [[\"svg\", \"lucideTelescope\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1501,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTelescope_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTelescope_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTelescope;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TentTree\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI0IiBjeT0iNCIgcj0iMiIgLz4KICA8cGF0aCBkPSJtMTQgNSAzLTMgMyAzIiAvPgogIDxwYXRoIGQ9Im0xNCAxMCAzLTMgMyAzIiAvPgogIDxwYXRoIGQ9Ik0xNyAxNFYyIiAvPgogIDxwYXRoIGQ9Ik0xNyAxNEg3bC01IDhoMjBaIiAvPgogIDxwYXRoIGQ9Ik04IDE0djgiIC8+CiAgPHBhdGggZD0ibTkgMTQgNSA4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/tent-tree\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTentTree = /*#__PURE__*/(() => {\n  class LucideTentTree extends LucideIconBase {\n    static icon = {\n      name: 'tent-tree',\n      size: 24,\n      node: [['circle', {\n        cx: '4',\n        cy: '4',\n        r: '2',\n        key: 'bt5ra8'\n      }], ['path', {\n        d: 'm14 5 3-3 3 3',\n        key: '1sorif'\n      }], ['path', {\n        d: 'm14 10 3-3 3 3',\n        key: '1jyi9h'\n      }], ['path', {\n        d: 'M17 14V2',\n        key: '8ymqnk'\n      }], ['path', {\n        d: 'M17 14H7l-5 8h20Z',\n        key: '13ar7p'\n      }], ['path', {\n        d: 'M8 14v8',\n        key: '1ghmqk'\n      }], ['path', {\n        d: 'm9 14 5 8',\n        key: '13pgi6'\n      }]]\n    };\n    icon = signal(LucideTentTree.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTentTree_BaseFactory;\n      return function LucideTentTree_Factory(__ngFactoryType__) {\n        return (ɵLucideTentTree_BaseFactory || (ɵLucideTentTree_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTentTree)))(__ngFactoryType__ || LucideTentTree);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTentTree,\n      selectors: [[\"svg\", \"lucideTentTree\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1502,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTentTree_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTentTree_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTentTree;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Tent\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy41IDIxIDE0IDMiIC8+CiAgPHBhdGggZD0iTTIwLjUgMjEgMTAgMyIgLz4KICA8cGF0aCBkPSJNMTUuNSAyMSAxMiAxNWwtMy41IDYiIC8+CiAgPHBhdGggZD0iTTIgMjFoMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/tent\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTent = /*#__PURE__*/(() => {\n  class LucideTent extends LucideIconBase {\n    static icon = {\n      name: 'tent',\n      size: 24,\n      node: [['path', {\n        d: 'M3.5 21 14 3',\n        key: '1szst5'\n      }], ['path', {\n        d: 'M20.5 21 10 3',\n        key: '1310c3'\n      }], ['path', {\n        d: 'M15.5 21 12 15l-3.5 6',\n        key: '1ddtfw'\n      }], ['path', {\n        d: 'M2 21h20',\n        key: '1nyx9w'\n      }]]\n    };\n    icon = signal(LucideTent.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTent_BaseFactory;\n      return function LucideTent_Factory(__ngFactoryType__) {\n        return (ɵLucideTent_BaseFactory || (ɵLucideTent_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTent)))(__ngFactoryType__ || LucideTent);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTent,\n      selectors: [[\"svg\", \"lucideTent\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1503,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTent_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTent_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTent;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Terminal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTloOCIgLz4KICA8cGF0aCBkPSJtNCAxNyA2LTYtNi02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/terminal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTerminal = /*#__PURE__*/(() => {\n  class LucideTerminal extends LucideIconBase {\n    static icon = {\n      name: 'terminal',\n      size: 24,\n      node: [['path', {\n        d: 'M12 19h8',\n        key: 'baeox8'\n      }], ['path', {\n        d: 'm4 17 6-6-6-6',\n        key: '1yngyt'\n      }]]\n    };\n    icon = signal(LucideTerminal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTerminal_BaseFactory;\n      return function LucideTerminal_Factory(__ngFactoryType__) {\n        return (ɵLucideTerminal_BaseFactory || (ɵLucideTerminal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTerminal)))(__ngFactoryType__ || LucideTerminal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTerminal,\n      selectors: [[\"svg\", \"lucideTerminal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1504,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTerminal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTerminal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTerminal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TestTubeDiagonal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNyA2LjgyIDIxLjE4YTIuODMgMi44MyAwIDAgMS0zLjk5LS4wMWEyLjgzIDIuODMgMCAwIDEgMC00TDE3IDMiIC8+CiAgPHBhdGggZD0ibTE2IDIgNiA2IiAvPgogIDxwYXRoIGQ9Ik0xMiAxNkg0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/test-tube-diagonal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTestTubeDiagonal = /*#__PURE__*/(() => {\n  class LucideTestTubeDiagonal extends LucideIconBase {\n    static icon = {\n      name: 'test-tube-diagonal',\n      size: 24,\n      node: [['path', {\n        d: 'M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01a2.83 2.83 0 0 1 0-4L17 3',\n        key: '1ub6xw'\n      }], ['path', {\n        d: 'm16 2 6 6',\n        key: '1gw87d'\n      }], ['path', {\n        d: 'M12 16H4',\n        key: '1cjfip'\n      }]],\n      aliases: ['test-tube-2']\n    };\n    icon = signal(LucideTestTubeDiagonal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTestTubeDiagonal_BaseFactory;\n      return function LucideTestTubeDiagonal_Factory(__ngFactoryType__) {\n        return (ɵLucideTestTubeDiagonal_BaseFactory || (ɵLucideTestTubeDiagonal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTestTubeDiagonal)))(__ngFactoryType__ || LucideTestTubeDiagonal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTestTubeDiagonal,\n      selectors: [[\"svg\", \"lucideTestTubeDiagonal\", \"\"], [\"svg\", \"lucideTestTube2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1505,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTestTubeDiagonal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTestTubeDiagonal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTestTubeDiagonal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideTestTubeDiagonal\n */\nconst LucideTestTube2 = LucideTestTubeDiagonal;\n\n/**\n * @component @name TestTube\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQuNSAydjE3LjVjMCAxLjQtMS4xIDIuNS0yLjUgMi41Yy0xLjQgMC0yLjUtMS4xLTIuNS0yLjVWMiIgLz4KICA8cGF0aCBkPSJNOC41IDJoNyIgLz4KICA8cGF0aCBkPSJNMTQuNSAxNmgtNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/test-tube\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTestTube = /*#__PURE__*/(() => {\n  class LucideTestTube extends LucideIconBase {\n    static icon = {\n      name: 'test-tube',\n      size: 24,\n      node: [['path', {\n        d: 'M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2',\n        key: '125lnx'\n      }], ['path', {\n        d: 'M8.5 2h7',\n        key: 'csnxdl'\n      }], ['path', {\n        d: 'M14.5 16h-5',\n        key: '1ox875'\n      }]]\n    };\n    icon = signal(LucideTestTube.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTestTube_BaseFactory;\n      return function LucideTestTube_Factory(__ngFactoryType__) {\n        return (ɵLucideTestTube_BaseFactory || (ɵLucideTestTube_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTestTube)))(__ngFactoryType__ || LucideTestTube);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTestTube,\n      selectors: [[\"svg\", \"lucideTestTube\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1506,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTestTube_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTestTube_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTestTube;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TestTubes\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSAydjE3LjVBMi41IDIuNSAwIDAgMSA2LjUgMjJBMi41IDIuNSAwIDAgMSA0IDE5LjVWMiIgLz4KICA8cGF0aCBkPSJNMjAgMnYxNy41YTIuNSAyLjUgMCAwIDEtMi41IDIuNWEyLjUgMi41IDAgMCAxLTIuNS0yLjVWMiIgLz4KICA8cGF0aCBkPSJNMyAyaDciIC8+CiAgPHBhdGggZD0iTTE0IDJoNyIgLz4KICA8cGF0aCBkPSJNOSAxNkg0IiAvPgogIDxwYXRoIGQ9Ik0yMCAxNmgtNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/test-tubes\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTestTubes = /*#__PURE__*/(() => {\n  class LucideTestTubes extends LucideIconBase {\n    static icon = {\n      name: 'test-tubes',\n      size: 24,\n      node: [['path', {\n        d: 'M9 2v17.5A2.5 2.5 0 0 1 6.5 22A2.5 2.5 0 0 1 4 19.5V2',\n        key: '1hjrqt'\n      }], ['path', {\n        d: 'M20 2v17.5a2.5 2.5 0 0 1-2.5 2.5a2.5 2.5 0 0 1-2.5-2.5V2',\n        key: '16lc8n'\n      }], ['path', {\n        d: 'M3 2h7',\n        key: '7s29d5'\n      }], ['path', {\n        d: 'M14 2h7',\n        key: '7sicin'\n      }], ['path', {\n        d: 'M9 16H4',\n        key: '1bfye3'\n      }], ['path', {\n        d: 'M20 16h-5',\n        key: 'ddnjpe'\n      }]]\n    };\n    icon = signal(LucideTestTubes.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTestTubes_BaseFactory;\n      return function LucideTestTubes_Factory(__ngFactoryType__) {\n        return (ɵLucideTestTubes_BaseFactory || (ɵLucideTestTubes_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTestTubes)))(__ngFactoryType__ || LucideTestTubes);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTestTubes,\n      selectors: [[\"svg\", \"lucideTestTubes\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1507,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTestTubes_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTestTubes_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTestTubes;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TextAlignEnd\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNUgzIiAvPgogIDxwYXRoIGQ9Ik0yMSAxMkg5IiAvPgogIDxwYXRoIGQ9Ik0yMSAxOUg3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/text-align-end\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTextAlignEnd = /*#__PURE__*/(() => {\n  class LucideTextAlignEnd extends LucideIconBase {\n    static icon = {\n      name: 'text-align-end',\n      size: 24,\n      node: [['path', {\n        d: 'M21 5H3',\n        key: '1fi0y6'\n      }], ['path', {\n        d: 'M21 12H9',\n        key: 'dn1m92'\n      }], ['path', {\n        d: 'M21 19H7',\n        key: '4cu937'\n      }]],\n      aliases: ['align-right']\n    };\n    icon = signal(LucideTextAlignEnd.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTextAlignEnd_BaseFactory;\n      return function LucideTextAlignEnd_Factory(__ngFactoryType__) {\n        return (ɵLucideTextAlignEnd_BaseFactory || (ɵLucideTextAlignEnd_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTextAlignEnd)))(__ngFactoryType__ || LucideTextAlignEnd);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTextAlignEnd,\n      selectors: [[\"svg\", \"lucideTextAlignEnd\", \"\"], [\"svg\", \"lucideAlignRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1508,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTextAlignEnd_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTextAlignEnd_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTextAlignEnd;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideTextAlignEnd\n */\nconst LucideAlignRight = LucideTextAlignEnd;\n\n/**\n * @component @name TextAlignJustify\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA1aDE4IiAvPgogIDxwYXRoIGQ9Ik0zIDEyaDE4IiAvPgogIDxwYXRoIGQ9Ik0zIDE5aDE4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/text-align-justify\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTextAlignJustify = /*#__PURE__*/(() => {\n  class LucideTextAlignJustify extends LucideIconBase {\n    static icon = {\n      name: 'text-align-justify',\n      size: 24,\n      node: [['path', {\n        d: 'M3 5h18',\n        key: '1u36vt'\n      }], ['path', {\n        d: 'M3 12h18',\n        key: '1i2n21'\n      }], ['path', {\n        d: 'M3 19h18',\n        key: 'awlh7x'\n      }]],\n      aliases: ['align-justify']\n    };\n    icon = signal(LucideTextAlignJustify.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTextAlignJustify_BaseFactory;\n      return function LucideTextAlignJustify_Factory(__ngFactoryType__) {\n        return (ɵLucideTextAlignJustify_BaseFactory || (ɵLucideTextAlignJustify_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTextAlignJustify)))(__ngFactoryType__ || LucideTextAlignJustify);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTextAlignJustify,\n      selectors: [[\"svg\", \"lucideTextAlignJustify\", \"\"], [\"svg\", \"lucideAlignJustify\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1509,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTextAlignJustify_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTextAlignJustify_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTextAlignJustify;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideTextAlignJustify\n */\nconst LucideAlignJustify = LucideTextAlignJustify;\n\n/**\n * @component @name TextAlignCenter\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNUgzIiAvPgogIDxwYXRoIGQ9Ik0xNyAxMkg3IiAvPgogIDxwYXRoIGQ9Ik0xOSAxOUg1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/text-align-center\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTextAlignCenter = /*#__PURE__*/(() => {\n  class LucideTextAlignCenter extends LucideIconBase {\n    static icon = {\n      name: 'text-align-center',\n      size: 24,\n      node: [['path', {\n        d: 'M21 5H3',\n        key: '1fi0y6'\n      }], ['path', {\n        d: 'M17 12H7',\n        key: '16if0g'\n      }], ['path', {\n        d: 'M19 19H5',\n        key: 'vjpgq2'\n      }]],\n      aliases: ['align-center']\n    };\n    icon = signal(LucideTextAlignCenter.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTextAlignCenter_BaseFactory;\n      return function LucideTextAlignCenter_Factory(__ngFactoryType__) {\n        return (ɵLucideTextAlignCenter_BaseFactory || (ɵLucideTextAlignCenter_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTextAlignCenter)))(__ngFactoryType__ || LucideTextAlignCenter);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTextAlignCenter,\n      selectors: [[\"svg\", \"lucideTextAlignCenter\", \"\"], [\"svg\", \"lucideAlignCenter\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1510,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTextAlignCenter_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTextAlignCenter_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTextAlignCenter;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideTextAlignCenter\n */\nconst LucideAlignCenter = LucideTextAlignCenter;\n\n/**\n * @component @name TextAlignStart\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNUgzIiAvPgogIDxwYXRoIGQ9Ik0xNSAxMkgzIiAvPgogIDxwYXRoIGQ9Ik0xNyAxOUgzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/text-align-start\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTextAlignStart = /*#__PURE__*/(() => {\n  class LucideTextAlignStart extends LucideIconBase {\n    static icon = {\n      name: 'text-align-start',\n      size: 24,\n      node: [['path', {\n        d: 'M21 5H3',\n        key: '1fi0y6'\n      }], ['path', {\n        d: 'M15 12H3',\n        key: '6jk70r'\n      }], ['path', {\n        d: 'M17 19H3',\n        key: 'z6ezky'\n      }]],\n      aliases: ['text', 'align-left']\n    };\n    icon = signal(LucideTextAlignStart.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTextAlignStart_BaseFactory;\n      return function LucideTextAlignStart_Factory(__ngFactoryType__) {\n        return (ɵLucideTextAlignStart_BaseFactory || (ɵLucideTextAlignStart_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTextAlignStart)))(__ngFactoryType__ || LucideTextAlignStart);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTextAlignStart,\n      selectors: [[\"svg\", \"lucideTextAlignStart\", \"\"], [\"svg\", \"lucideText\", \"\"], [\"svg\", \"lucideAlignLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1511,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTextAlignStart_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTextAlignStart_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTextAlignStart;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideTextAlignStart\n */\nconst LucideText = LucideTextAlignStart;\n/**\n * @deprecated\n * @see LucideTextAlignStart\n */\nconst LucideAlignLeft = LucideTextAlignStart;\n\n/**\n * @component @name TextCursorInput\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjBoLTFhMiAyIDAgMCAxLTItMiAyIDIgMCAwIDEtMiAySDYiIC8+CiAgPHBhdGggZD0iTTEzIDhoN2EyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMmgtNyIgLz4KICA8cGF0aCBkPSJNNSAxNkg0YTIgMiAwIDAgMS0yLTJ2LTRhMiAyIDAgMCAxIDItMmgxIiAvPgogIDxwYXRoIGQ9Ik02IDRoMWEyIDIgMCAwIDEgMiAyIDIgMiAwIDAgMSAyLTJoMSIgLz4KICA8cGF0aCBkPSJNOSA2djEyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/text-cursor-input\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTextCursorInput = /*#__PURE__*/(() => {\n  class LucideTextCursorInput extends LucideIconBase {\n    static icon = {\n      name: 'text-cursor-input',\n      size: 24,\n      node: [['path', {\n        d: 'M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6',\n        key: '1528k5'\n      }], ['path', {\n        d: 'M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7',\n        key: '13ksps'\n      }], ['path', {\n        d: 'M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1',\n        key: '1n9rhb'\n      }], ['path', {\n        d: 'M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1',\n        key: '1mj8rg'\n      }], ['path', {\n        d: 'M9 6v12',\n        key: 'velyjx'\n      }]]\n    };\n    icon = signal(LucideTextCursorInput.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTextCursorInput_BaseFactory;\n      return function LucideTextCursorInput_Factory(__ngFactoryType__) {\n        return (ɵLucideTextCursorInput_BaseFactory || (ɵLucideTextCursorInput_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTextCursorInput)))(__ngFactoryType__ || LucideTextCursorInput);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTextCursorInput,\n      selectors: [[\"svg\", \"lucideTextCursorInput\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1512,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTextCursorInput_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTextCursorInput_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTextCursorInput;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TextCursor\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgMjJoLTFhNCA0IDAgMCAxLTQtNFY2YTQgNCAwIDAgMSA0LTRoMSIgLz4KICA8cGF0aCBkPSJNNyAyMmgxYTQgNCAwIDAgMCA0LTR2LTEiIC8+CiAgPHBhdGggZD0iTTcgMmgxYTQgNCAwIDAgMSA0IDR2MSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/text-cursor\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTextCursor = /*#__PURE__*/(() => {\n  class LucideTextCursor extends LucideIconBase {\n    static icon = {\n      name: 'text-cursor',\n      size: 24,\n      node: [['path', {\n        d: 'M17 22h-1a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h1',\n        key: 'uvaxm9'\n      }], ['path', {\n        d: 'M7 22h1a4 4 0 0 0 4-4v-1',\n        key: '11xy8d'\n      }], ['path', {\n        d: 'M7 2h1a4 4 0 0 1 4 4v1',\n        key: '1uw06m'\n      }]]\n    };\n    icon = signal(LucideTextCursor.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTextCursor_BaseFactory;\n      return function LucideTextCursor_Factory(__ngFactoryType__) {\n        return (ɵLucideTextCursor_BaseFactory || (ɵLucideTextCursor_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTextCursor)))(__ngFactoryType__ || LucideTextCursor);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTextCursor,\n      selectors: [[\"svg\", \"lucideTextCursor\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1513,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTextCursor_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTextCursor_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTextCursor;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TextInitial\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgNWg2IiAvPgogIDxwYXRoIGQ9Ik0xNSAxMmg2IiAvPgogIDxwYXRoIGQ9Ik0zIDE5aDE4IiAvPgogIDxwYXRoIGQ9Im0zIDEyIDMuNTUzLTcuNzI0YS41LjUgMCAwIDEgLjg5NCAwTDExIDEyIiAvPgogIDxwYXRoIGQ9Ik0zLjkyIDEwaDYuMTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/text-initial\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTextInitial = /*#__PURE__*/(() => {\n  class LucideTextInitial extends LucideIconBase {\n    static icon = {\n      name: 'text-initial',\n      size: 24,\n      node: [['path', {\n        d: 'M15 5h6',\n        key: '1pr8yx'\n      }], ['path', {\n        d: 'M15 12h6',\n        key: 'upa0zy'\n      }], ['path', {\n        d: 'M3 19h18',\n        key: 'awlh7x'\n      }], ['path', {\n        d: 'm3 12 3.553-7.724a.5.5 0 0 1 .894 0L11 12',\n        key: '6lvno8'\n      }], ['path', {\n        d: 'M3.92 10h6.16',\n        key: '1tl8ex'\n      }]],\n      aliases: ['letter-text']\n    };\n    icon = signal(LucideTextInitial.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTextInitial_BaseFactory;\n      return function LucideTextInitial_Factory(__ngFactoryType__) {\n        return (ɵLucideTextInitial_BaseFactory || (ɵLucideTextInitial_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTextInitial)))(__ngFactoryType__ || LucideTextInitial);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTextInitial,\n      selectors: [[\"svg\", \"lucideTextInitial\", \"\"], [\"svg\", \"lucideLetterText\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1514,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTextInitial_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTextInitial_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTextInitial;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideTextInitial\n */\nconst LucideLetterText = LucideTextInitial;\n\n/**\n * @component @name TextSearch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNUgzIiAvPgogIDxwYXRoIGQ9Ik0xMCAxMkgzIiAvPgogIDxwYXRoIGQ9Ik0xMCAxOUgzIiAvPgogIDxjaXJjbGUgY3g9IjE3IiBjeT0iMTUiIHI9IjMiIC8+CiAgPHBhdGggZD0ibTIxIDE5LTEuOS0xLjkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/text-search\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTextSearch = /*#__PURE__*/(() => {\n  class LucideTextSearch extends LucideIconBase {\n    static icon = {\n      name: 'text-search',\n      size: 24,\n      node: [['path', {\n        d: 'M21 5H3',\n        key: '1fi0y6'\n      }], ['path', {\n        d: 'M10 12H3',\n        key: '1ulcyk'\n      }], ['path', {\n        d: 'M10 19H3',\n        key: '108z41'\n      }], ['circle', {\n        cx: '17',\n        cy: '15',\n        r: '3',\n        key: '1upz2a'\n      }], ['path', {\n        d: 'm21 19-1.9-1.9',\n        key: 'dwi7p8'\n      }]]\n    };\n    icon = signal(LucideTextSearch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTextSearch_BaseFactory;\n      return function LucideTextSearch_Factory(__ngFactoryType__) {\n        return (ɵLucideTextSearch_BaseFactory || (ɵLucideTextSearch_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTextSearch)))(__ngFactoryType__ || LucideTextSearch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTextSearch,\n      selectors: [[\"svg\", \"lucideTextSearch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1515,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTextSearch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTextSearch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTextSearch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TextQuote\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgNUgzIiAvPgogIDxwYXRoIGQ9Ik0yMSAxMkg4IiAvPgogIDxwYXRoIGQ9Ik0yMSAxOUg4IiAvPgogIDxwYXRoIGQ9Ik0zIDEydjciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/text-quote\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTextQuote = /*#__PURE__*/(() => {\n  class LucideTextQuote extends LucideIconBase {\n    static icon = {\n      name: 'text-quote',\n      size: 24,\n      node: [['path', {\n        d: 'M17 5H3',\n        key: '1cn7zz'\n      }], ['path', {\n        d: 'M21 12H8',\n        key: 'scolzb'\n      }], ['path', {\n        d: 'M21 19H8',\n        key: '13qgcb'\n      }], ['path', {\n        d: 'M3 12v7',\n        key: '1ri8j3'\n      }]]\n    };\n    icon = signal(LucideTextQuote.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTextQuote_BaseFactory;\n      return function LucideTextQuote_Factory(__ngFactoryType__) {\n        return (ɵLucideTextQuote_BaseFactory || (ɵLucideTextQuote_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTextQuote)))(__ngFactoryType__ || LucideTextQuote);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTextQuote,\n      selectors: [[\"svg\", \"lucideTextQuote\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1516,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTextQuote_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTextQuote_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTextQuote;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TextWrap\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMTYtMyAzIDMgMyIgLz4KICA8cGF0aCBkPSJNMyAxMmgxNC41YTEgMSAwIDAgMSAwIDdIMTMiIC8+CiAgPHBhdGggZD0iTTMgMTloNiIgLz4KICA8cGF0aCBkPSJNMyA1aDE4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/text-wrap\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTextWrap = /*#__PURE__*/(() => {\n  class LucideTextWrap extends LucideIconBase {\n    static icon = {\n      name: 'text-wrap',\n      size: 24,\n      node: [['path', {\n        d: 'm16 16-3 3 3 3',\n        key: '117b85'\n      }], ['path', {\n        d: 'M3 12h14.5a1 1 0 0 1 0 7H13',\n        key: '18xa6z'\n      }], ['path', {\n        d: 'M3 19h6',\n        key: '1ygdsz'\n      }], ['path', {\n        d: 'M3 5h18',\n        key: '1u36vt'\n      }]],\n      aliases: ['wrap-text']\n    };\n    icon = signal(LucideTextWrap.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTextWrap_BaseFactory;\n      return function LucideTextWrap_Factory(__ngFactoryType__) {\n        return (ɵLucideTextWrap_BaseFactory || (ɵLucideTextWrap_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTextWrap)))(__ngFactoryType__ || LucideTextWrap);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTextWrap,\n      selectors: [[\"svg\", \"lucideTextWrap\", \"\"], [\"svg\", \"lucideWrapText\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1517,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTextWrap_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTextWrap_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTextWrap;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideTextWrap\n */\nconst LucideWrapText = LucideTextWrap;\n\n/**\n * @component @name TextSelect\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMjFoMSIgLz4KICA8cGF0aCBkPSJNMTQgM2gxIiAvPgogIDxwYXRoIGQ9Ik0xOSAzYTIgMiAwIDAgMSAyIDIiIC8+CiAgPHBhdGggZD0iTTIxIDE0djEiIC8+CiAgPHBhdGggZD0iTTIxIDE5YTIgMiAwIDAgMS0yIDIiIC8+CiAgPHBhdGggZD0iTTIxIDl2MSIgLz4KICA8cGF0aCBkPSJNMyAxNHYxIiAvPgogIDxwYXRoIGQ9Ik0zIDl2MSIgLz4KICA8cGF0aCBkPSJNNSAyMWEyIDIgMCAwIDEtMi0yIiAvPgogIDxwYXRoIGQ9Ik01IDNhMiAyIDAgMCAwLTIgMiIgLz4KICA8cGF0aCBkPSJNNyAxMmgxMCIgLz4KICA8cGF0aCBkPSJNNyAxNmg2IiAvPgogIDxwYXRoIGQ9Ik03IDhoOCIgLz4KICA8cGF0aCBkPSJNOSAyMWgxIiAvPgogIDxwYXRoIGQ9Ik05IDNoMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/text-select\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTextSelect = /*#__PURE__*/(() => {\n  class LucideTextSelect extends LucideIconBase {\n    static icon = {\n      name: 'text-select',\n      size: 24,\n      node: [['path', {\n        d: 'M14 21h1',\n        key: 'v9vybs'\n      }], ['path', {\n        d: 'M14 3h1',\n        key: '1ec4yj'\n      }], ['path', {\n        d: 'M19 3a2 2 0 0 1 2 2',\n        key: '18rm91'\n      }], ['path', {\n        d: 'M21 14v1',\n        key: '169vum'\n      }], ['path', {\n        d: 'M21 19a2 2 0 0 1-2 2',\n        key: '1j7049'\n      }], ['path', {\n        d: 'M21 9v1',\n        key: 'mxsmne'\n      }], ['path', {\n        d: 'M3 14v1',\n        key: 'vnatye'\n      }], ['path', {\n        d: 'M3 9v1',\n        key: '1r0deq'\n      }], ['path', {\n        d: 'M5 21a2 2 0 0 1-2-2',\n        key: 'sbafld'\n      }], ['path', {\n        d: 'M5 3a2 2 0 0 0-2 2',\n        key: 'y57alp'\n      }], ['path', {\n        d: 'M7 12h10',\n        key: 'b7w52i'\n      }], ['path', {\n        d: 'M7 16h6',\n        key: '1vyc9m'\n      }], ['path', {\n        d: 'M7 8h8',\n        key: '1jbsf9'\n      }], ['path', {\n        d: 'M9 21h1',\n        key: '15o7lz'\n      }], ['path', {\n        d: 'M9 3h1',\n        key: '1yesri'\n      }]],\n      aliases: ['text-selection']\n    };\n    icon = signal(LucideTextSelect.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTextSelect_BaseFactory;\n      return function LucideTextSelect_Factory(__ngFactoryType__) {\n        return (ɵLucideTextSelect_BaseFactory || (ɵLucideTextSelect_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTextSelect)))(__ngFactoryType__ || LucideTextSelect);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTextSelect,\n      selectors: [[\"svg\", \"lucideTextSelect\", \"\"], [\"svg\", \"lucideTextSelection\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1518,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTextSelect_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTextSelect_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTextSelect;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideTextSelect\n */\nconst LucideTextSelection = LucideTextSelect;\n\n/**\n * @component @name Theater\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxMHMzLTMgMy04IiAvPgogIDxwYXRoIGQ9Ik0yMiAxMHMtMy0zLTMtOCIgLz4KICA8cGF0aCBkPSJNMTAgMmMwIDQuNC0zLjYgOC04IDgiIC8+CiAgPHBhdGggZD0iTTE0IDJjMCA0LjQgMy42IDggOCA4IiAvPgogIDxwYXRoIGQ9Ik0yIDEwczIgMiAyIDUiIC8+CiAgPHBhdGggZD0iTTIyIDEwcy0yIDItMiA1IiAvPgogIDxwYXRoIGQ9Ik04IDE1aDgiIC8+CiAgPHBhdGggZD0iTTIgMjJ2LTFhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MSIgLz4KICA8cGF0aCBkPSJNMTQgMjJ2LTFhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/theater\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTheater = /*#__PURE__*/(() => {\n  class LucideTheater extends LucideIconBase {\n    static icon = {\n      name: 'theater',\n      size: 24,\n      node: [['path', {\n        d: 'M2 10s3-3 3-8',\n        key: '3xiif0'\n      }], ['path', {\n        d: 'M22 10s-3-3-3-8',\n        key: 'ioaa5q'\n      }], ['path', {\n        d: 'M10 2c0 4.4-3.6 8-8 8',\n        key: '16fkpi'\n      }], ['path', {\n        d: 'M14 2c0 4.4 3.6 8 8 8',\n        key: 'b9eulq'\n      }], ['path', {\n        d: 'M2 10s2 2 2 5',\n        key: '1au1lb'\n      }], ['path', {\n        d: 'M22 10s-2 2-2 5',\n        key: 'qi2y5e'\n      }], ['path', {\n        d: 'M8 15h8',\n        key: '45n4r'\n      }], ['path', {\n        d: 'M2 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1',\n        key: '1vsc2m'\n      }], ['path', {\n        d: 'M14 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1',\n        key: 'hrha4u'\n      }]]\n    };\n    icon = signal(LucideTheater.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTheater_BaseFactory;\n      return function LucideTheater_Factory(__ngFactoryType__) {\n        return (ɵLucideTheater_BaseFactory || (ɵLucideTheater_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTheater)))(__ngFactoryType__ || LucideTheater);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTheater,\n      selectors: [[\"svg\", \"lucideTheater\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1519,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTheater_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTheater_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTheater;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Thermometer\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgNHYxMC41NGE0IDQgMCAxIDEtNCAwVjRhMiAyIDAgMCAxIDQgMFoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/thermometer\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideThermometer = /*#__PURE__*/(() => {\n  class LucideThermometer extends LucideIconBase {\n    static icon = {\n      name: 'thermometer',\n      size: 24,\n      node: [['path', {\n        d: 'M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z',\n        key: '17jzev'\n      }]]\n    };\n    icon = signal(LucideThermometer.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideThermometer_BaseFactory;\n      return function LucideThermometer_Factory(__ngFactoryType__) {\n        return (ɵLucideThermometer_BaseFactory || (ɵLucideThermometer_BaseFactory = i0.ɵɵgetInheritedFactory(LucideThermometer)))(__ngFactoryType__ || LucideThermometer);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideThermometer,\n      selectors: [[\"svg\", \"lucideThermometer\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1520,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideThermometer_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideThermometer_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideThermometer;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ThermometerSun\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0xMiA4YTQgNCAwIDAgMC0xLjY0NSA3LjY0NyIgLz4KICA8cGF0aCBkPSJNMiAxMmgyIiAvPgogIDxwYXRoIGQ9Ik0yMCAxNC41NGE0IDQgMCAxIDEtNCAwVjRhMiAyIDAgMCAxIDQgMHoiIC8+CiAgPHBhdGggZD0ibTQuOTMgNC45MyAxLjQxIDEuNDEiIC8+CiAgPHBhdGggZD0ibTYuMzQgMTcuNjYtMS40MSAxLjQxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/thermometer-sun\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideThermometerSun = /*#__PURE__*/(() => {\n  class LucideThermometerSun extends LucideIconBase {\n    static icon = {\n      name: 'thermometer-sun',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v2',\n        key: 'tus03m'\n      }], ['path', {\n        d: 'M12 8a4 4 0 0 0-1.645 7.647',\n        key: 'wz5p04'\n      }], ['path', {\n        d: 'M2 12h2',\n        key: '1t8f8n'\n      }], ['path', {\n        d: 'M20 14.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z',\n        key: 'yu0u2z'\n      }], ['path', {\n        d: 'm4.93 4.93 1.41 1.41',\n        key: '149t6j'\n      }], ['path', {\n        d: 'm6.34 17.66-1.41 1.41',\n        key: '1m8zz5'\n      }]]\n    };\n    icon = signal(LucideThermometerSun.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideThermometerSun_BaseFactory;\n      return function LucideThermometerSun_Factory(__ngFactoryType__) {\n        return (ɵLucideThermometerSun_BaseFactory || (ɵLucideThermometerSun_BaseFactory = i0.ɵɵgetInheritedFactory(LucideThermometerSun)))(__ngFactoryType__ || LucideThermometerSun);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideThermometerSun,\n      selectors: [[\"svg\", \"lucideThermometerSun\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1521,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideThermometerSun_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideThermometerSun_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideThermometerSun;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ThermometerSnowflake\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAgMjAtMS4yNS0yLjVMNiAxOCIgLz4KICA8cGF0aCBkPSJNMTAgNCA4Ljc1IDYuNSA2IDYiIC8+CiAgPHBhdGggZD0iTTEwLjU4NSAxNUgxMCIgLz4KICA8cGF0aCBkPSJNMiAxMmg2LjVMMTAgOSIgLz4KICA8cGF0aCBkPSJNMjAgMTQuNTRhNCA0IDAgMSAxLTQgMFY0YTIgMiAwIDAgMSA0IDB6IiAvPgogIDxwYXRoIGQ9Im00IDEwIDEuNSAyTDQgMTQiIC8+CiAgPHBhdGggZD0ibTcgMjEgMy02LTEuNS0zIiAvPgogIDxwYXRoIGQ9Im03IDMgMyA2aDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/thermometer-snowflake\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideThermometerSnowflake = /*#__PURE__*/(() => {\n  class LucideThermometerSnowflake extends LucideIconBase {\n    static icon = {\n      name: 'thermometer-snowflake',\n      size: 24,\n      node: [['path', {\n        d: 'm10 20-1.25-2.5L6 18',\n        key: '18frcb'\n      }], ['path', {\n        d: 'M10 4 8.75 6.5 6 6',\n        key: '7mghy3'\n      }], ['path', {\n        d: 'M10.585 15H10',\n        key: '4nqulp'\n      }], ['path', {\n        d: 'M2 12h6.5L10 9',\n        key: 'kv9z4n'\n      }], ['path', {\n        d: 'M20 14.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z',\n        key: 'yu0u2z'\n      }], ['path', {\n        d: 'm4 10 1.5 2L4 14',\n        key: 'k9enpj'\n      }], ['path', {\n        d: 'm7 21 3-6-1.5-3',\n        key: 'j8hb9u'\n      }], ['path', {\n        d: 'm7 3 3 6h2',\n        key: '1bbqgq'\n      }]]\n    };\n    icon = signal(LucideThermometerSnowflake.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideThermometerSnowflake_BaseFactory;\n      return function LucideThermometerSnowflake_Factory(__ngFactoryType__) {\n        return (ɵLucideThermometerSnowflake_BaseFactory || (ɵLucideThermometerSnowflake_BaseFactory = i0.ɵɵgetInheritedFactory(LucideThermometerSnowflake)))(__ngFactoryType__ || LucideThermometerSnowflake);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideThermometerSnowflake,\n      selectors: [[\"svg\", \"lucideThermometerSnowflake\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1522,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideThermometerSnowflake_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideThermometerSnowflake_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideThermometerSnowflake;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ThumbsDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSAxOC4xMiAxMCAxNEg0LjE3YTIgMiAwIDAgMS0xLjkyLTIuNTZsMi4zMy04QTIgMiAwIDAgMSA2LjUgMkgyMGEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMmgtMi43NmEyIDIgMCAwIDAtMS43OSAxLjExTDEyIDIyYTMuMTMgMy4xMyAwIDAgMS0zLTMuODhaIiAvPgogIDxwYXRoIGQ9Ik0xNyAxNFYyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/thumbs-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideThumbsDown = /*#__PURE__*/(() => {\n  class LucideThumbsDown extends LucideIconBase {\n    static icon = {\n      name: 'thumbs-down',\n      size: 24,\n      node: [['path', {\n        d: 'M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z',\n        key: 'm61m77'\n      }], ['path', {\n        d: 'M17 14V2',\n        key: '8ymqnk'\n      }]]\n    };\n    icon = signal(LucideThumbsDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideThumbsDown_BaseFactory;\n      return function LucideThumbsDown_Factory(__ngFactoryType__) {\n        return (ɵLucideThumbsDown_BaseFactory || (ɵLucideThumbsDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideThumbsDown)))(__ngFactoryType__ || LucideThumbsDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideThumbsDown,\n      selectors: [[\"svg\", \"lucideThumbsDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1523,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideThumbsDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideThumbsDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideThumbsDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ThumbsUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgNS44OCAxNCAxMGg1LjgzYTIgMiAwIDAgMSAxLjkyIDIuNTZsLTIuMzMgOEEyIDIgMCAwIDEgMTcuNSAyMkg0YTIgMiAwIDAgMS0yLTJ2LThhMiAyIDAgMCAxIDItMmgyLjc2YTIgMiAwIDAgMCAxLjc5LTEuMTFMMTIgMmEzLjEzIDMuMTMgMCAwIDEgMyAzLjg4WiIgLz4KICA8cGF0aCBkPSJNNyAxMHYxMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/thumbs-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideThumbsUp = /*#__PURE__*/(() => {\n  class LucideThumbsUp extends LucideIconBase {\n    static icon = {\n      name: 'thumbs-up',\n      size: 24,\n      node: [['path', {\n        d: 'M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z',\n        key: 'emmmcr'\n      }], ['path', {\n        d: 'M7 10v12',\n        key: '1qc93n'\n      }]]\n    };\n    icon = signal(LucideThumbsUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideThumbsUp_BaseFactory;\n      return function LucideThumbsUp_Factory(__ngFactoryType__) {\n        return (ɵLucideThumbsUp_BaseFactory || (ɵLucideThumbsUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideThumbsUp)))(__ngFactoryType__ || LucideThumbsUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideThumbsUp,\n      selectors: [[\"svg\", \"lucideThumbsUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1524,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideThumbsUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideThumbsUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideThumbsUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TicketCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA5YTMgMyAwIDAgMSAwIDZ2MmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTJhMyAzIDAgMCAxIDAtNlY3YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAyWiIgLz4KICA8cGF0aCBkPSJtOSAxMiAyIDIgNC00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ticket-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTicketCheck = /*#__PURE__*/(() => {\n  class LucideTicketCheck extends LucideIconBase {\n    static icon = {\n      name: 'ticket-check',\n      size: 24,\n      node: [['path', {\n        d: 'M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z',\n        key: 'qn84l0'\n      }], ['path', {\n        d: 'm9 12 2 2 4-4',\n        key: 'dzmm74'\n      }]]\n    };\n    icon = signal(LucideTicketCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTicketCheck_BaseFactory;\n      return function LucideTicketCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideTicketCheck_BaseFactory || (ɵLucideTicketCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTicketCheck)))(__ngFactoryType__ || LucideTicketCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTicketCheck,\n      selectors: [[\"svg\", \"lucideTicketCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1525,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTicketCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTicketCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTicketCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TicketMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA5YTMgMyAwIDAgMSAwIDZ2MmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTJhMyAzIDAgMCAxIDAtNlY3YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAyWiIgLz4KICA8cGF0aCBkPSJNOSAxMmg2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ticket-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTicketMinus = /*#__PURE__*/(() => {\n  class LucideTicketMinus extends LucideIconBase {\n    static icon = {\n      name: 'ticket-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z',\n        key: 'qn84l0'\n      }], ['path', {\n        d: 'M9 12h6',\n        key: '1c52cq'\n      }]]\n    };\n    icon = signal(LucideTicketMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTicketMinus_BaseFactory;\n      return function LucideTicketMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideTicketMinus_BaseFactory || (ɵLucideTicketMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTicketMinus)))(__ngFactoryType__ || LucideTicketMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTicketMinus,\n      selectors: [[\"svg\", \"lucideTicketMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1526,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTicketMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTicketMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTicketMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TicketPercent\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA5YTMgMyAwIDEgMSAwIDZ2MmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTJhMyAzIDAgMSAxIDAtNlY3YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAyWiIgLz4KICA8cGF0aCBkPSJNOSA5aC4wMSIgLz4KICA8cGF0aCBkPSJtMTUgOS02IDYiIC8+CiAgPHBhdGggZD0iTTE1IDE1aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/ticket-percent\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTicketPercent = /*#__PURE__*/(() => {\n  class LucideTicketPercent extends LucideIconBase {\n    static icon = {\n      name: 'ticket-percent',\n      size: 24,\n      node: [['path', {\n        d: 'M2 9a3 3 0 1 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 1 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z',\n        key: '1l48ns'\n      }], ['path', {\n        d: 'M9 9h.01',\n        key: '1q5me6'\n      }], ['path', {\n        d: 'm15 9-6 6',\n        key: '1uzhvr'\n      }], ['path', {\n        d: 'M15 15h.01',\n        key: 'lqbp3k'\n      }]]\n    };\n    icon = signal(LucideTicketPercent.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTicketPercent_BaseFactory;\n      return function LucideTicketPercent_Factory(__ngFactoryType__) {\n        return (ɵLucideTicketPercent_BaseFactory || (ɵLucideTicketPercent_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTicketPercent)))(__ngFactoryType__ || LucideTicketPercent);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTicketPercent,\n      selectors: [[\"svg\", \"lucideTicketPercent\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1527,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTicketPercent_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTicketPercent_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTicketPercent;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TicketPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA5YTMgMyAwIDAgMSAwIDZ2MmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTJhMyAzIDAgMCAxIDAtNlY3YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAyWiIgLz4KICA8cGF0aCBkPSJNOSAxMmg2IiAvPgogIDxwYXRoIGQ9Ik0xMiA5djYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/ticket-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTicketPlus = /*#__PURE__*/(() => {\n  class LucideTicketPlus extends LucideIconBase {\n    static icon = {\n      name: 'ticket-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z',\n        key: 'qn84l0'\n      }], ['path', {\n        d: 'M9 12h6',\n        key: '1c52cq'\n      }], ['path', {\n        d: 'M12 9v6',\n        key: '199k2o'\n      }]]\n    };\n    icon = signal(LucideTicketPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTicketPlus_BaseFactory;\n      return function LucideTicketPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideTicketPlus_BaseFactory || (ɵLucideTicketPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTicketPlus)))(__ngFactoryType__ || LucideTicketPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTicketPlus,\n      selectors: [[\"svg\", \"lucideTicketPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1528,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTicketPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTicketPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTicketPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TicketX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA5YTMgMyAwIDAgMSAwIDZ2MmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTJhMyAzIDAgMCAxIDAtNlY3YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAyWiIgLz4KICA8cGF0aCBkPSJtOS41IDE0LjUgNS01IiAvPgogIDxwYXRoIGQ9Im05LjUgOS41IDUgNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/ticket-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTicketX = /*#__PURE__*/(() => {\n  class LucideTicketX extends LucideIconBase {\n    static icon = {\n      name: 'ticket-x',\n      size: 24,\n      node: [['path', {\n        d: 'M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z',\n        key: 'qn84l0'\n      }], ['path', {\n        d: 'm9.5 14.5 5-5',\n        key: 'qviqfa'\n      }], ['path', {\n        d: 'm9.5 9.5 5 5',\n        key: '18nt4w'\n      }]]\n    };\n    icon = signal(LucideTicketX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTicketX_BaseFactory;\n      return function LucideTicketX_Factory(__ngFactoryType__) {\n        return (ɵLucideTicketX_BaseFactory || (ɵLucideTicketX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTicketX)))(__ngFactoryType__ || LucideTicketX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTicketX,\n      selectors: [[\"svg\", \"lucideTicketX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1529,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTicketX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTicketX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTicketX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TicketSlash\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA5YTMgMyAwIDAgMSAwIDZ2MmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTJhMyAzIDAgMCAxIDAtNlY3YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAyWiIgLz4KICA8cGF0aCBkPSJtOS41IDE0LjUgNS01IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ticket-slash\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTicketSlash = /*#__PURE__*/(() => {\n  class LucideTicketSlash extends LucideIconBase {\n    static icon = {\n      name: 'ticket-slash',\n      size: 24,\n      node: [['path', {\n        d: 'M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z',\n        key: 'qn84l0'\n      }], ['path', {\n        d: 'm9.5 14.5 5-5',\n        key: 'qviqfa'\n      }]]\n    };\n    icon = signal(LucideTicketSlash.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTicketSlash_BaseFactory;\n      return function LucideTicketSlash_Factory(__ngFactoryType__) {\n        return (ɵLucideTicketSlash_BaseFactory || (ɵLucideTicketSlash_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTicketSlash)))(__ngFactoryType__ || LucideTicketSlash);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTicketSlash,\n      selectors: [[\"svg\", \"lucideTicketSlash\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1530,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTicketSlash_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTicketSlash_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTicketSlash;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TicketsPlane\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNSAxN2gxLjIyN2EyIDIgMCAwIDAgMS4zNDUtLjUyTDE4IDEyIiAvPgogIDxwYXRoIGQ9Im0xMiAxMy41IDMuNzk0LjUwNiIgLz4KICA8cGF0aCBkPSJtMy4xNzMgOC4xOCAxMS01YTIgMiAwIDAgMSAyLjY0Ny45OTNMMTguNTYgOCIgLz4KICA8cGF0aCBkPSJNNiAxMFY4IiAvPgogIDxwYXRoIGQ9Ik02IDE0djEiIC8+CiAgPHBhdGggZD0iTTYgMTl2MiIgLz4KICA8cmVjdCB4PSIyIiB5PSI4IiB3aWR0aD0iMjAiIGhlaWdodD0iMTMiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/tickets-plane\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTicketsPlane = /*#__PURE__*/(() => {\n  class LucideTicketsPlane extends LucideIconBase {\n    static icon = {\n      name: 'tickets-plane',\n      size: 24,\n      node: [['path', {\n        d: 'M10.5 17h1.227a2 2 0 0 0 1.345-.52L18 12',\n        key: '16muxl'\n      }], ['path', {\n        d: 'm12 13.5 3.794.506',\n        key: '6v5z87'\n      }], ['path', {\n        d: 'm3.173 8.18 11-5a2 2 0 0 1 2.647.993L18.56 8',\n        key: '15hfpj'\n      }], ['path', {\n        d: 'M6 10V8',\n        key: '1y41hn'\n      }], ['path', {\n        d: 'M6 14v1',\n        key: 'cao2tf'\n      }], ['path', {\n        d: 'M6 19v2',\n        key: '1loha6'\n      }], ['rect', {\n        x: '2',\n        y: '8',\n        width: '20',\n        height: '13',\n        rx: '2',\n        key: 'p3bz5l'\n      }]]\n    };\n    icon = signal(LucideTicketsPlane.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTicketsPlane_BaseFactory;\n      return function LucideTicketsPlane_Factory(__ngFactoryType__) {\n        return (ɵLucideTicketsPlane_BaseFactory || (ɵLucideTicketsPlane_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTicketsPlane)))(__ngFactoryType__ || LucideTicketsPlane);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTicketsPlane,\n      selectors: [[\"svg\", \"lucideTicketsPlane\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1531,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTicketsPlane_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTicketsPlane_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTicketsPlane;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ticket\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA5YTMgMyAwIDAgMSAwIDZ2MmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTJhMyAzIDAgMCAxIDAtNlY3YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAyWiIgLz4KICA8cGF0aCBkPSJNMTMgNXYyIiAvPgogIDxwYXRoIGQ9Ik0xMyAxN3YyIiAvPgogIDxwYXRoIGQ9Ik0xMyAxMXYyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ticket\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTicket = /*#__PURE__*/(() => {\n  class LucideTicket extends LucideIconBase {\n    static icon = {\n      name: 'ticket',\n      size: 24,\n      node: [['path', {\n        d: 'M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z',\n        key: 'qn84l0'\n      }], ['path', {\n        d: 'M13 5v2',\n        key: 'dyzc3o'\n      }], ['path', {\n        d: 'M13 17v2',\n        key: '1ont0d'\n      }], ['path', {\n        d: 'M13 11v2',\n        key: '1wjjxi'\n      }]]\n    };\n    icon = signal(LucideTicket.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTicket_BaseFactory;\n      return function LucideTicket_Factory(__ngFactoryType__) {\n        return (ɵLucideTicket_BaseFactory || (ɵLucideTicket_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTicket)))(__ngFactoryType__ || LucideTicket);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTicket,\n      selectors: [[\"svg\", \"lucideTicket\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1532,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTicket_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTicket_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTicket;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Tickets\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMy4xNzMgOC4xOCAxMS01YTIgMiAwIDAgMSAyLjY0Ny45OTNMMTguNTYgOCIgLz4KICA8cGF0aCBkPSJNNiAxMFY4IiAvPgogIDxwYXRoIGQ9Ik02IDE0djEiIC8+CiAgPHBhdGggZD0iTTYgMTl2MiIgLz4KICA8cmVjdCB4PSIyIiB5PSI4IiB3aWR0aD0iMjAiIGhlaWdodD0iMTMiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/tickets\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTickets = /*#__PURE__*/(() => {\n  class LucideTickets extends LucideIconBase {\n    static icon = {\n      name: 'tickets',\n      size: 24,\n      node: [['path', {\n        d: 'm3.173 8.18 11-5a2 2 0 0 1 2.647.993L18.56 8',\n        key: '15hfpj'\n      }], ['path', {\n        d: 'M6 10V8',\n        key: '1y41hn'\n      }], ['path', {\n        d: 'M6 14v1',\n        key: 'cao2tf'\n      }], ['path', {\n        d: 'M6 19v2',\n        key: '1loha6'\n      }], ['rect', {\n        x: '2',\n        y: '8',\n        width: '20',\n        height: '13',\n        rx: '2',\n        key: 'p3bz5l'\n      }]]\n    };\n    icon = signal(LucideTickets.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTickets_BaseFactory;\n      return function LucideTickets_Factory(__ngFactoryType__) {\n        return (ɵLucideTickets_BaseFactory || (ɵLucideTickets_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTickets)))(__ngFactoryType__ || LucideTickets);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTickets,\n      selectors: [[\"svg\", \"lucideTickets\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1533,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTickets_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTickets_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTickets;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TimerOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMmg0IiAvPgogIDxwYXRoIGQ9Ik00LjYgMTFhOCA4IDAgMCAwIDEuNyA4LjcgOCA4IDAgMCAwIDguNyAxLjciIC8+CiAgPHBhdGggZD0iTTcuNCA3LjRhOCA4IDAgMCAxIDEwLjMgMSA4IDggMCAwIDEgLjkgMTAuMiIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik0xMiAxMnYtMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/timer-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTimerOff = /*#__PURE__*/(() => {\n  class LucideTimerOff extends LucideIconBase {\n    static icon = {\n      name: 'timer-off',\n      size: 24,\n      node: [['path', {\n        d: 'M10 2h4',\n        key: 'n1abiw'\n      }], ['path', {\n        d: 'M4.6 11a8 8 0 0 0 1.7 8.7 8 8 0 0 0 8.7 1.7',\n        key: '10he05'\n      }], ['path', {\n        d: 'M7.4 7.4a8 8 0 0 1 10.3 1 8 8 0 0 1 .9 10.2',\n        key: '15f7sh'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M12 12v-2',\n        key: 'fwoke6'\n      }]]\n    };\n    icon = signal(LucideTimerOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTimerOff_BaseFactory;\n      return function LucideTimerOff_Factory(__ngFactoryType__) {\n        return (ɵLucideTimerOff_BaseFactory || (ɵLucideTimerOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTimerOff)))(__ngFactoryType__ || LucideTimerOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTimerOff,\n      selectors: [[\"svg\", \"lucideTimerOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1534,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTimerOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTimerOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTimerOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TimerReset\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMmg0IiAvPgogIDxwYXRoIGQ9Ik0xMiAxNHYtNCIgLz4KICA8cGF0aCBkPSJNNCAxM2E4IDggMCAwIDEgOC03IDggOCAwIDEgMS01LjMgMTRMNCAxNy42IiAvPgogIDxwYXRoIGQ9Ik05IDE3SDR2NSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/timer-reset\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTimerReset = /*#__PURE__*/(() => {\n  class LucideTimerReset extends LucideIconBase {\n    static icon = {\n      name: 'timer-reset',\n      size: 24,\n      node: [['path', {\n        d: 'M10 2h4',\n        key: 'n1abiw'\n      }], ['path', {\n        d: 'M12 14v-4',\n        key: '1evpnu'\n      }], ['path', {\n        d: 'M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6',\n        key: '1ts96g'\n      }], ['path', {\n        d: 'M9 17H4v5',\n        key: '8t5av'\n      }]]\n    };\n    icon = signal(LucideTimerReset.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTimerReset_BaseFactory;\n      return function LucideTimerReset_Factory(__ngFactoryType__) {\n        return (ɵLucideTimerReset_BaseFactory || (ɵLucideTimerReset_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTimerReset)))(__ngFactoryType__ || LucideTimerReset);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTimerReset,\n      selectors: [[\"svg\", \"lucideTimerReset\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1535,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTimerReset_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTimerReset_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTimerReset;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Timer\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMTAiIHgyPSIxNCIgeTE9IjIiIHkyPSIyIiAvPgogIDxsaW5lIHgxPSIxMiIgeDI9IjE1IiB5MT0iMTQiIHkyPSIxMSIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE0IiByPSI4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/timer\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTimer = /*#__PURE__*/(() => {\n  class LucideTimer extends LucideIconBase {\n    static icon = {\n      name: 'timer',\n      size: 24,\n      node: [['line', {\n        x1: '10',\n        x2: '14',\n        y1: '2',\n        y2: '2',\n        key: '14vaq8'\n      }], ['line', {\n        x1: '12',\n        x2: '15',\n        y1: '14',\n        y2: '11',\n        key: '17fdiu'\n      }], ['circle', {\n        cx: '12',\n        cy: '14',\n        r: '8',\n        key: '1e1u0o'\n      }]]\n    };\n    icon = signal(LucideTimer.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTimer_BaseFactory;\n      return function LucideTimer_Factory(__ngFactoryType__) {\n        return (ɵLucideTimer_BaseFactory || (ɵLucideTimer_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTimer)))(__ngFactoryType__ || LucideTimer);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTimer,\n      selectors: [[\"svg\", \"lucideTimer\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1536,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTimer_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTimer_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTimer;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ToggleLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iMTIiIHI9IjMiIC8+CiAgPHJlY3Qgd2lkdGg9IjIwIiBoZWlnaHQ9IjE0IiB4PSIyIiB5PSI1IiByeD0iNyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/toggle-left\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideToggleLeft = /*#__PURE__*/(() => {\n  class LucideToggleLeft extends LucideIconBase {\n    static icon = {\n      name: 'toggle-left',\n      size: 24,\n      node: [['circle', {\n        cx: '9',\n        cy: '12',\n        r: '3',\n        key: 'u3jwor'\n      }], ['rect', {\n        width: '20',\n        height: '14',\n        x: '2',\n        y: '5',\n        rx: '7',\n        key: 'g7kal2'\n      }]]\n    };\n    icon = signal(LucideToggleLeft.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideToggleLeft_BaseFactory;\n      return function LucideToggleLeft_Factory(__ngFactoryType__) {\n        return (ɵLucideToggleLeft_BaseFactory || (ɵLucideToggleLeft_BaseFactory = i0.ɵɵgetInheritedFactory(LucideToggleLeft)))(__ngFactoryType__ || LucideToggleLeft);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideToggleLeft,\n      selectors: [[\"svg\", \"lucideToggleLeft\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1537,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideToggleLeft_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideToggleLeft_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideToggleLeft;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ToggleRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxNSIgY3k9IjEyIiByPSIzIiAvPgogIDxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIxNCIgeD0iMiIgeT0iNSIgcng9IjciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/toggle-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideToggleRight = /*#__PURE__*/(() => {\n  class LucideToggleRight extends LucideIconBase {\n    static icon = {\n      name: 'toggle-right',\n      size: 24,\n      node: [['circle', {\n        cx: '15',\n        cy: '12',\n        r: '3',\n        key: '1afu0r'\n      }], ['rect', {\n        width: '20',\n        height: '14',\n        x: '2',\n        y: '5',\n        rx: '7',\n        key: 'g7kal2'\n      }]]\n    };\n    icon = signal(LucideToggleRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideToggleRight_BaseFactory;\n      return function LucideToggleRight_Factory(__ngFactoryType__) {\n        return (ɵLucideToggleRight_BaseFactory || (ɵLucideToggleRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideToggleRight)))(__ngFactoryType__ || LucideToggleRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideToggleRight,\n      selectors: [[\"svg\", \"lucideToggleRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1538,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideToggleRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideToggleRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideToggleRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ToolCase\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTVoNCIgLz4KICA8cGF0aCBkPSJtMTQuODE3IDEwLjk5NS0uOTcxLTEuNDUgMS4wMzQtMS4yMzJhMiAyIDAgMCAwLTIuMDI1LTMuMjM4bC0xLjgyLjM2NEw5LjkxIDMuODg1YTIgMiAwIDAgMC0zLjYyNS43NDhMNi4xNDEgNi41NWwtMS43MjUuNDI2YTIgMiAwIDAgMC0uMTkgMy43NTZsLjY1Ny4yNyIgLz4KICA8cGF0aCBkPSJtMTguODIyIDEwLjk5NSAyLjI2LTUuMzhhMSAxIDAgMCAwLS41NTctMS4zMThMMTYuOTU0IDIuOWExIDEgMCAwIDAtMS4yODEuNTMzbC0uOTI0IDIuMTIyIiAvPgogIDxwYXRoIGQ9Ik00IDEyLjAwNkExIDEgMCAwIDEgNC45OTQgMTFIMTlhMSAxIDAgMCAxIDEgMXY3YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/tool-case\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideToolCase = /*#__PURE__*/(() => {\n  class LucideToolCase extends LucideIconBase {\n    static icon = {\n      name: 'tool-case',\n      size: 24,\n      node: [['path', {\n        d: 'M10 15h4',\n        key: '192ueg'\n      }], ['path', {\n        d: 'm14.817 10.995-.971-1.45 1.034-1.232a2 2 0 0 0-2.025-3.238l-1.82.364L9.91 3.885a2 2 0 0 0-3.625.748L6.141 6.55l-1.725.426a2 2 0 0 0-.19 3.756l.657.27',\n        key: 'xbnumr'\n      }], ['path', {\n        d: 'm18.822 10.995 2.26-5.38a1 1 0 0 0-.557-1.318L16.954 2.9a1 1 0 0 0-1.281.533l-.924 2.122',\n        key: 'eaw7gc'\n      }], ['path', {\n        d: 'M4 12.006A1 1 0 0 1 4.994 11H19a1 1 0 0 1 1 1v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z',\n        key: '1vaooh'\n      }]]\n    };\n    icon = signal(LucideToolCase.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideToolCase_BaseFactory;\n      return function LucideToolCase_Factory(__ngFactoryType__) {\n        return (ɵLucideToolCase_BaseFactory || (ɵLucideToolCase_BaseFactory = i0.ɵɵgetInheritedFactory(LucideToolCase)))(__ngFactoryType__ || LucideToolCase);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideToolCase,\n      selectors: [[\"svg\", \"lucideToolCase\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1539,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideToolCase_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideToolCase_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideToolCase;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Toolbox\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTJ2NCIgLz4KICA8cGF0aCBkPSJNMTYgNmEyIDIgMCAwIDEgMS40MTQuNTg2bDQgNEEyIDIgMCAwIDEgMjIgMTJ2N2EyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMnYtN2EyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LTRBMiAyIDAgMCAxIDggNnoiIC8+CiAgPHBhdGggZD0iTTE2IDZWNGEyIDIgMCAwIDAtMi0yaC00YTIgMiAwIDAgMC0yIDJ2MiIgLz4KICA8cGF0aCBkPSJNMiAxNGgyMCIgLz4KICA8cGF0aCBkPSJNOCAxMnY0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/toolbox\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideToolbox = /*#__PURE__*/(() => {\n  class LucideToolbox extends LucideIconBase {\n    static icon = {\n      name: 'toolbox',\n      size: 24,\n      node: [['path', {\n        d: 'M16 12v4',\n        key: 'vf1vip'\n      }], ['path', {\n        d: 'M16 6a2 2 0 0 1 1.414.586l4 4A2 2 0 0 1 22 12v7a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 .586-1.414l4-4A2 2 0 0 1 8 6z',\n        key: '1h1rvn'\n      }], ['path', {\n        d: 'M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2',\n        key: '1ksdt3'\n      }], ['path', {\n        d: 'M2 14h20',\n        key: 'myj16y'\n      }], ['path', {\n        d: 'M8 12v4',\n        key: '1w4uao'\n      }]]\n    };\n    icon = signal(LucideToolbox.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideToolbox_BaseFactory;\n      return function LucideToolbox_Factory(__ngFactoryType__) {\n        return (ɵLucideToolbox_BaseFactory || (ɵLucideToolbox_BaseFactory = i0.ɵɵgetInheritedFactory(LucideToolbox)))(__ngFactoryType__ || LucideToolbox);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideToolbox,\n      selectors: [[\"svg\", \"lucideToolbox\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1540,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideToolbox_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideToolbox_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideToolbox;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Toilet\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAxMmgxM2ExIDEgMCAwIDEgMSAxIDUgNSAwIDAgMS01IDVoLS41OThhLjUuNSAwIDAgMC0uNDI0Ljc2NWwxLjU0NCAyLjQ3YS41LjUgMCAwIDEtLjQyNC43NjVINS40MDJhLjUuNSAwIDAgMS0uNDI0LS43NjVMNyAxOCIgLz4KICA8cGF0aCBkPSJNOCAxOGE1IDUgMCAwIDEtNS01VjRhMiAyIDAgMCAxIDItMmg4YTIgMiAwIDAgMSAyIDJ2OCIgLz4KPC9zdmc+) - https://lucide.dev/icons/toilet\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideToilet = /*#__PURE__*/(() => {\n  class LucideToilet extends LucideIconBase {\n    static icon = {\n      name: 'toilet',\n      size: 24,\n      node: [['path', {\n        d: 'M7 12h13a1 1 0 0 1 1 1 5 5 0 0 1-5 5h-.598a.5.5 0 0 0-.424.765l1.544 2.47a.5.5 0 0 1-.424.765H5.402a.5.5 0 0 1-.424-.765L7 18',\n        key: 'kc4kqr'\n      }], ['path', {\n        d: 'M8 18a5 5 0 0 1-5-5V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8',\n        key: '1tqs57'\n      }]]\n    };\n    icon = signal(LucideToilet.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideToilet_BaseFactory;\n      return function LucideToilet_Factory(__ngFactoryType__) {\n        return (ɵLucideToilet_BaseFactory || (ɵLucideToilet_BaseFactory = i0.ɵɵgetInheritedFactory(LucideToilet)))(__ngFactoryType__ || LucideToilet);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideToilet,\n      selectors: [[\"svg\", \"lucideToilet\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1541,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideToilet_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideToilet_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideToilet;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Tornado\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNEgzIiAvPgogIDxwYXRoIGQ9Ik0xOCA4SDYiIC8+CiAgPHBhdGggZD0iTTE5IDEySDkiIC8+CiAgPHBhdGggZD0iTTE2IDE2aC02IiAvPgogIDxwYXRoIGQ9Ik0xMSAyMEg5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/tornado\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTornado = /*#__PURE__*/(() => {\n  class LucideTornado extends LucideIconBase {\n    static icon = {\n      name: 'tornado',\n      size: 24,\n      node: [['path', {\n        d: 'M21 4H3',\n        key: '1hwok0'\n      }], ['path', {\n        d: 'M18 8H6',\n        key: '41n648'\n      }], ['path', {\n        d: 'M19 12H9',\n        key: '1g4lpz'\n      }], ['path', {\n        d: 'M16 16h-6',\n        key: '1j5d54'\n      }], ['path', {\n        d: 'M11 20H9',\n        key: '39obr8'\n      }]]\n    };\n    icon = signal(LucideTornado.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTornado_BaseFactory;\n      return function LucideTornado_Factory(__ngFactoryType__) {\n        return (ɵLucideTornado_BaseFactory || (ɵLucideTornado_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTornado)))(__ngFactoryType__ || LucideTornado);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTornado,\n      selectors: [[\"svg\", \"lucideTornado\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1542,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTornado_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTornado_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTornado;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Touchpad\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHg9IjIiIHk9IjQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0yIDE0aDIwIiAvPgogIDxwYXRoIGQ9Ik0xMiAyMHYtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/touchpad\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTouchpad = /*#__PURE__*/(() => {\n  class LucideTouchpad extends LucideIconBase {\n    static icon = {\n      name: 'touchpad',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '16',\n        x: '2',\n        y: '4',\n        rx: '2',\n        key: '18n3k1'\n      }], ['path', {\n        d: 'M2 14h20',\n        key: 'myj16y'\n      }], ['path', {\n        d: 'M12 20v-6',\n        key: '1rm09r'\n      }]]\n    };\n    icon = signal(LucideTouchpad.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTouchpad_BaseFactory;\n      return function LucideTouchpad_Factory(__ngFactoryType__) {\n        return (ɵLucideTouchpad_BaseFactory || (ɵLucideTouchpad_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTouchpad)))(__ngFactoryType__ || LucideTouchpad);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTouchpad,\n      selectors: [[\"svg\", \"lucideTouchpad\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1543,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTouchpad_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTouchpad_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTouchpad;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Torus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8ZWxsaXBzZSBjeD0iMTIiIGN5PSIxMSIgcng9IjMiIHJ5PSIyIiAvPgogIDxlbGxpcHNlIGN4PSIxMiIgY3k9IjEyLjUiIHJ4PSIxMCIgcnk9IjguNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/torus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTorus = /*#__PURE__*/(() => {\n  class LucideTorus extends LucideIconBase {\n    static icon = {\n      name: 'torus',\n      size: 24,\n      node: [['ellipse', {\n        cx: '12',\n        cy: '11',\n        rx: '3',\n        ry: '2',\n        key: '1b2qxu'\n      }], ['ellipse', {\n        cx: '12',\n        cy: '12.5',\n        rx: '10',\n        ry: '8.5',\n        key: 'h8emeu'\n      }]]\n    };\n    icon = signal(LucideTorus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTorus_BaseFactory;\n      return function LucideTorus_Factory(__ngFactoryType__) {\n        return (ɵLucideTorus_BaseFactory || (ɵLucideTorus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTorus)))(__ngFactoryType__ || LucideTorus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTorus,\n      selectors: [[\"svg\", \"lucideTorus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1544,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTorus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTorus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTorus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TowelRack\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgN2gtMiIgLz4KICA8cGF0aCBkPSJNNi41IDNoMTFBMi41IDIuNSAwIDAgMSAyMCA1LjVWMjBhMSAxIDAgMCAxLTEgMWgtOWExIDEgMCAwIDEtMS0xVjUuNWExIDEgMCAwIDAtNSAwVjE3YTEgMSAwIDAgMCAxIDFoNCIgLz4KICA8cGF0aCBkPSJNOSA3SDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/towel-rack\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTowelRack = /*#__PURE__*/(() => {\n  class LucideTowelRack extends LucideIconBase {\n    static icon = {\n      name: 'towel-rack',\n      size: 24,\n      node: [['path', {\n        d: 'M22 7h-2',\n        key: '1okbx2'\n      }], ['path', {\n        d: 'M6.5 3h11A2.5 2.5 0 0 1 20 5.5V20a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1V5.5a1 1 0 0 0-5 0V17a1 1 0 0 0 1 1h4',\n        key: 'kc32tg'\n      }], ['path', {\n        d: 'M9 7H2',\n        key: 'ahf7b7'\n      }]]\n    };\n    icon = signal(LucideTowelRack.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTowelRack_BaseFactory;\n      return function LucideTowelRack_Factory(__ngFactoryType__) {\n        return (ɵLucideTowelRack_BaseFactory || (ɵLucideTowelRack_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTowelRack)))(__ngFactoryType__ || LucideTowelRack);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTowelRack,\n      selectors: [[\"svg\", \"lucideTowelRack\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1545,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTowelRack_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTowelRack_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTowelRack;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TouchpadOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjB2LTYiIC8+CiAgPHBhdGggZD0iTTE5LjY1NiAxNEgyMiIgLz4KICA8cGF0aCBkPSJNMiAxNGgxMiIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik0yMCAyMEg0YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yIiAvPgogIDxwYXRoIGQ9Ik05LjY1NiA0SDIwYTIgMiAwIDAgMSAyIDJ2MTAuMzQ0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/touchpad-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTouchpadOff = /*#__PURE__*/(() => {\n  class LucideTouchpadOff extends LucideIconBase {\n    static icon = {\n      name: 'touchpad-off',\n      size: 24,\n      node: [['path', {\n        d: 'M12 20v-6',\n        key: '1rm09r'\n      }], ['path', {\n        d: 'M19.656 14H22',\n        key: '170xzr'\n      }], ['path', {\n        d: 'M2 14h12',\n        key: 'd8icqz'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M20 20H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2',\n        key: 's23sx2'\n      }], ['path', {\n        d: 'M9.656 4H20a2 2 0 0 1 2 2v10.344',\n        key: 'ovjcvl'\n      }]]\n    };\n    icon = signal(LucideTouchpadOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTouchpadOff_BaseFactory;\n      return function LucideTouchpadOff_Factory(__ngFactoryType__) {\n        return (ɵLucideTouchpadOff_BaseFactory || (ɵLucideTouchpadOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTouchpadOff)))(__ngFactoryType__ || LucideTouchpadOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTouchpadOff,\n      selectors: [[\"svg\", \"lucideTouchpadOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1546,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTouchpadOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTouchpadOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTouchpadOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TowerControl\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTguMiAxMi4yNyAyMCA2SDRsMS44IDYuMjdhMSAxIDAgMCAwIC45NS43M2gxMC41YTEgMSAwIDAgMCAuOTYtLjczWiIgLz4KICA8cGF0aCBkPSJNOCAxM3Y5IiAvPgogIDxwYXRoIGQ9Ik0xNiAyMnYtOSIgLz4KICA8cGF0aCBkPSJtOSA2IDEgNyIgLz4KICA8cGF0aCBkPSJtMTUgNi0xIDciIC8+CiAgPHBhdGggZD0iTTEyIDZWMiIgLz4KICA8cGF0aCBkPSJNMTMgMmgtMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/tower-control\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTowerControl = /*#__PURE__*/(() => {\n  class LucideTowerControl extends LucideIconBase {\n    static icon = {\n      name: 'tower-control',\n      size: 24,\n      node: [['path', {\n        d: 'M18.2 12.27 20 6H4l1.8 6.27a1 1 0 0 0 .95.73h10.5a1 1 0 0 0 .96-.73Z',\n        key: '1pledb'\n      }], ['path', {\n        d: 'M8 13v9',\n        key: 'hmv0ci'\n      }], ['path', {\n        d: 'M16 22v-9',\n        key: 'ylnf1u'\n      }], ['path', {\n        d: 'm9 6 1 7',\n        key: 'dpdgam'\n      }], ['path', {\n        d: 'm15 6-1 7',\n        key: 'ls7zgu'\n      }], ['path', {\n        d: 'M12 6V2',\n        key: '1pj48d'\n      }], ['path', {\n        d: 'M13 2h-2',\n        key: 'mj6ths'\n      }]]\n    };\n    icon = signal(LucideTowerControl.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTowerControl_BaseFactory;\n      return function LucideTowerControl_Factory(__ngFactoryType__) {\n        return (ɵLucideTowerControl_BaseFactory || (ɵLucideTowerControl_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTowerControl)))(__ngFactoryType__ || LucideTowerControl);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTowerControl,\n      selectors: [[\"svg\", \"lucideTowerControl\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1547,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTowerControl_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTowerControl_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTowerControl;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ToyBrick\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTIiIHg9IjMiIHk9IjgiIHJ4PSIxIiAvPgogIDxwYXRoIGQ9Ik0xMCA4VjVjMC0uNi0uNC0xLTEtMUg2YTEgMSAwIDAgMC0xIDF2MyIgLz4KICA8cGF0aCBkPSJNMTkgOFY1YzAtLjYtLjQtMS0xLTFoLTNhMSAxIDAgMCAwLTEgMXYzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/toy-brick\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideToyBrick = /*#__PURE__*/(() => {\n  class LucideToyBrick extends LucideIconBase {\n    static icon = {\n      name: 'toy-brick',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '12',\n        x: '3',\n        y: '8',\n        rx: '1',\n        key: '158fvp'\n      }], ['path', {\n        d: 'M10 8V5c0-.6-.4-1-1-1H6a1 1 0 0 0-1 1v3',\n        key: 's0042v'\n      }], ['path', {\n        d: 'M19 8V5c0-.6-.4-1-1-1h-3a1 1 0 0 0-1 1v3',\n        key: '9wmeh2'\n      }]]\n    };\n    icon = signal(LucideToyBrick.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideToyBrick_BaseFactory;\n      return function LucideToyBrick_Factory(__ngFactoryType__) {\n        return (ɵLucideToyBrick_BaseFactory || (ɵLucideToyBrick_BaseFactory = i0.ɵɵgetInheritedFactory(LucideToyBrick)))(__ngFactoryType__ || LucideToyBrick);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideToyBrick,\n      selectors: [[\"svg\", \"lucideToyBrick\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1548,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideToyBrick_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideToyBrick_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideToyBrick;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Tractor\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAgMTEgMTEgLjlhMSAxIDAgMCAxIC44IDEuMWwtLjY2NSA0LjE1OGExIDEgMCAwIDEtLjk4OC44NDJIMjAiIC8+CiAgPHBhdGggZD0iTTE2IDE4aC01IiAvPgogIDxwYXRoIGQ9Ik0xOCA1YTEgMSAwIDAgMC0xIDF2NS41NzMiIC8+CiAgPHBhdGggZD0iTTMgNGg4LjEyOWExIDEgMCAwIDEgLjk5Ljg2M0wxMyAxMS4yNDYiIC8+CiAgPHBhdGggZD0iTTQgMTFWNCIgLz4KICA8cGF0aCBkPSJNNyAxNWguMDEiIC8+CiAgPHBhdGggZD0iTTggMTAuMVY0IiAvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjIiIC8+CiAgPGNpcmNsZSBjeD0iNyIgY3k9IjE1IiByPSI1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/tractor\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTractor = /*#__PURE__*/(() => {\n  class LucideTractor extends LucideIconBase {\n    static icon = {\n      name: 'tractor',\n      size: 24,\n      node: [['path', {\n        d: 'm10 11 11 .9a1 1 0 0 1 .8 1.1l-.665 4.158a1 1 0 0 1-.988.842H20',\n        key: 'she1j9'\n      }], ['path', {\n        d: 'M16 18h-5',\n        key: 'bq60fd'\n      }], ['path', {\n        d: 'M18 5a1 1 0 0 0-1 1v5.573',\n        key: '1kv8ia'\n      }], ['path', {\n        d: 'M3 4h8.129a1 1 0 0 1 .99.863L13 11.246',\n        key: '1q1ert'\n      }], ['path', {\n        d: 'M4 11V4',\n        key: '9ft8pt'\n      }], ['path', {\n        d: 'M7 15h.01',\n        key: 'k5ht0j'\n      }], ['path', {\n        d: 'M8 10.1V4',\n        key: '1jgyzo'\n      }], ['circle', {\n        cx: '18',\n        cy: '18',\n        r: '2',\n        key: '1emm8v'\n      }], ['circle', {\n        cx: '7',\n        cy: '15',\n        r: '5',\n        key: 'ddtuc'\n      }]]\n    };\n    icon = signal(LucideTractor.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTractor_BaseFactory;\n      return function LucideTractor_Factory(__ngFactoryType__) {\n        return (ɵLucideTractor_BaseFactory || (ɵLucideTractor_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTractor)))(__ngFactoryType__ || LucideTractor);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTractor,\n      selectors: [[\"svg\", \"lucideTractor\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1549,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTractor_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTractor_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTractor;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TrainFront\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAzLjFWN2E0IDQgMCAwIDAgOCAwVjMuMSIgLz4KICA8cGF0aCBkPSJtOSAxNS0xLTEiIC8+CiAgPHBhdGggZD0ibTE1IDE1IDEtMSIgLz4KICA8cGF0aCBkPSJNOSAxOWMtMi44IDAtNS0yLjItNS01di00YTggOCAwIDAgMSAxNiAwdjRjMCAyLjgtMi4yIDUtNSA1WiIgLz4KICA8cGF0aCBkPSJtOCAxOS0yIDMiIC8+CiAgPHBhdGggZD0ibTE2IDE5IDIgMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/train-front\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTrainFront = /*#__PURE__*/(() => {\n  class LucideTrainFront extends LucideIconBase {\n    static icon = {\n      name: 'train-front',\n      size: 24,\n      node: [['path', {\n        d: 'M8 3.1V7a4 4 0 0 0 8 0V3.1',\n        key: '1v71zp'\n      }], ['path', {\n        d: 'm9 15-1-1',\n        key: '1yrq24'\n      }], ['path', {\n        d: 'm15 15 1-1',\n        key: '1t0d6s'\n      }], ['path', {\n        d: 'M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z',\n        key: '1p0hjs'\n      }], ['path', {\n        d: 'm8 19-2 3',\n        key: '13i0xs'\n      }], ['path', {\n        d: 'm16 19 2 3',\n        key: 'xo31yx'\n      }]]\n    };\n    icon = signal(LucideTrainFront.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTrainFront_BaseFactory;\n      return function LucideTrainFront_Factory(__ngFactoryType__) {\n        return (ɵLucideTrainFront_BaseFactory || (ɵLucideTrainFront_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTrainFront)))(__ngFactoryType__ || LucideTrainFront);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTrainFront,\n      selectors: [[\"svg\", \"lucideTrainFront\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1550,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTrainFront_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTrainFront_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTrainFront;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TrafficCone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYuMDUgMTAuOTY2YTUgMi41IDAgMCAxLTguMSAwIiAvPgogIDxwYXRoIGQ9Im0xNi45MjMgMTQuMDQ5IDQuNDggMi4wNGExIDEgMCAwIDEgLjAwMSAxLjgzMWwtOC41NzQgMy45YTIgMiAwIDAgMS0xLjY2IDBsLTguNTc0LTMuOTFhMSAxIDAgMCAxIDAtMS44M2w0LjQ4NC0yLjA0IiAvPgogIDxwYXRoIGQ9Ik0xNi45NDkgMTQuMTRhNSAyLjUgMCAxIDEtOS45IDBMMTAuMDYzIDMuNWEyIDIgMCAwIDEgMy44NzQgMHoiIC8+CiAgPHBhdGggZD0iTTkuMTk0IDYuNTdhNSAyLjUgMCAwIDAgNS42MSAwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/traffic-cone\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTrafficCone = /*#__PURE__*/(() => {\n  class LucideTrafficCone extends LucideIconBase {\n    static icon = {\n      name: 'traffic-cone',\n      size: 24,\n      node: [['path', {\n        d: 'M16.05 10.966a5 2.5 0 0 1-8.1 0',\n        key: 'm5jpwb'\n      }], ['path', {\n        d: 'm16.923 14.049 4.48 2.04a1 1 0 0 1 .001 1.831l-8.574 3.9a2 2 0 0 1-1.66 0l-8.574-3.91a1 1 0 0 1 0-1.83l4.484-2.04',\n        key: 'rbg3g8'\n      }], ['path', {\n        d: 'M16.949 14.14a5 2.5 0 1 1-9.9 0L10.063 3.5a2 2 0 0 1 3.874 0z',\n        key: 'vap8c8'\n      }], ['path', {\n        d: 'M9.194 6.57a5 2.5 0 0 0 5.61 0',\n        key: '15hn5c'\n      }]]\n    };\n    icon = signal(LucideTrafficCone.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTrafficCone_BaseFactory;\n      return function LucideTrafficCone_Factory(__ngFactoryType__) {\n        return (ɵLucideTrafficCone_BaseFactory || (ɵLucideTrafficCone_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTrafficCone)))(__ngFactoryType__ || LucideTrafficCone);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTrafficCone,\n      selectors: [[\"svg\", \"lucideTrafficCone\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1551,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTrafficCone_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTrafficCone_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTrafficCone;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TrainFrontTunnel\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMlYxMmExMCAxMCAwIDEgMSAyMCAwdjEwIiAvPgogIDxwYXRoIGQ9Ik0xNSA2Ljh2MS40YTMgMi44IDAgMSAxLTYgMFY2LjgiIC8+CiAgPHBhdGggZD0iTTEwIDE1aC4wMSIgLz4KICA8cGF0aCBkPSJNMTQgMTVoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xMCAxOWE0IDQgMCAwIDEtNC00di0zYTYgNiAwIDEgMSAxMiAwdjNhNCA0IDAgMCAxLTQgNFoiIC8+CiAgPHBhdGggZD0ibTkgMTktMiAzIiAvPgogIDxwYXRoIGQ9Im0xNSAxOSAyIDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/train-front-tunnel\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTrainFrontTunnel = /*#__PURE__*/(() => {\n  class LucideTrainFrontTunnel extends LucideIconBase {\n    static icon = {\n      name: 'train-front-tunnel',\n      size: 24,\n      node: [['path', {\n        d: 'M2 22V12a10 10 0 1 1 20 0v10',\n        key: 'o0fyp0'\n      }], ['path', {\n        d: 'M15 6.8v1.4a3 2.8 0 1 1-6 0V6.8',\n        key: 'm8q3n9'\n      }], ['path', {\n        d: 'M10 15h.01',\n        key: '44in9x'\n      }], ['path', {\n        d: 'M14 15h.01',\n        key: '5mohn5'\n      }], ['path', {\n        d: 'M10 19a4 4 0 0 1-4-4v-3a6 6 0 1 1 12 0v3a4 4 0 0 1-4 4Z',\n        key: 'hckbmu'\n      }], ['path', {\n        d: 'm9 19-2 3',\n        key: 'iij7hm'\n      }], ['path', {\n        d: 'm15 19 2 3',\n        key: 'npx8sa'\n      }]]\n    };\n    icon = signal(LucideTrainFrontTunnel.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTrainFrontTunnel_BaseFactory;\n      return function LucideTrainFrontTunnel_Factory(__ngFactoryType__) {\n        return (ɵLucideTrainFrontTunnel_BaseFactory || (ɵLucideTrainFrontTunnel_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTrainFrontTunnel)))(__ngFactoryType__ || LucideTrainFrontTunnel);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTrainFrontTunnel,\n      selectors: [[\"svg\", \"lucideTrainFrontTunnel\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1552,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTrainFrontTunnel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTrainFrontTunnel_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTrainFrontTunnel;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TrainTrack\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAxNyAxNyAyIiAvPgogIDxwYXRoIGQ9Im0yIDE0IDggOCIgLz4KICA8cGF0aCBkPSJtNSAxMSA4IDgiIC8+CiAgPHBhdGggZD0ibTggOCA4IDgiIC8+CiAgPHBhdGggZD0ibTExIDUgOCA4IiAvPgogIDxwYXRoIGQ9Im0xNCAyIDggOCIgLz4KICA8cGF0aCBkPSJNNyAyMiAyMiA3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/train-track\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTrainTrack = /*#__PURE__*/(() => {\n  class LucideTrainTrack extends LucideIconBase {\n    static icon = {\n      name: 'train-track',\n      size: 24,\n      node: [['path', {\n        d: 'M2 17 17 2',\n        key: '18b09t'\n      }], ['path', {\n        d: 'm2 14 8 8',\n        key: '1gv9hu'\n      }], ['path', {\n        d: 'm5 11 8 8',\n        key: '189pqp'\n      }], ['path', {\n        d: 'm8 8 8 8',\n        key: '1imecy'\n      }], ['path', {\n        d: 'm11 5 8 8',\n        key: 'ummqn6'\n      }], ['path', {\n        d: 'm14 2 8 8',\n        key: '1vk7dn'\n      }], ['path', {\n        d: 'M7 22 22 7',\n        key: '15mb1i'\n      }]]\n    };\n    icon = signal(LucideTrainTrack.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTrainTrack_BaseFactory;\n      return function LucideTrainTrack_Factory(__ngFactoryType__) {\n        return (ɵLucideTrainTrack_BaseFactory || (ɵLucideTrainTrack_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTrainTrack)))(__ngFactoryType__ || LucideTrainTrack);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTrainTrack,\n      selectors: [[\"svg\", \"lucideTrainTrack\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1553,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTrainTrack_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTrainTrack_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTrainTrack;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Trash2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTF2NiIgLz4KICA8cGF0aCBkPSJNMTQgMTF2NiIgLz4KICA8cGF0aCBkPSJNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2IiAvPgogIDxwYXRoIGQ9Ik0zIDZoMTgiIC8+CiAgPHBhdGggZD0iTTggNlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/trash-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTrash2 = /*#__PURE__*/(() => {\n  class LucideTrash2 extends LucideIconBase {\n    static icon = {\n      name: 'trash-2',\n      size: 24,\n      node: [['path', {\n        d: 'M10 11v6',\n        key: 'nco0om'\n      }], ['path', {\n        d: 'M14 11v6',\n        key: 'outv1u'\n      }], ['path', {\n        d: 'M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6',\n        key: 'miytrc'\n      }], ['path', {\n        d: 'M3 6h18',\n        key: 'd0wm0j'\n      }], ['path', {\n        d: 'M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2',\n        key: 'e791ji'\n      }]]\n    };\n    icon = signal(LucideTrash2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTrash2_BaseFactory;\n      return function LucideTrash2_Factory(__ngFactoryType__) {\n        return (ɵLucideTrash2_BaseFactory || (ɵLucideTrash2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTrash2)))(__ngFactoryType__ || LucideTrash2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTrash2,\n      selectors: [[\"svg\", \"lucideTrash2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1554,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTrash2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTrash2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTrash2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TramFront\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHg9IjQiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik00IDExaDE2IiAvPgogIDxwYXRoIGQ9Ik0xMiAzdjgiIC8+CiAgPHBhdGggZD0ibTggMTktMiAzIiAvPgogIDxwYXRoIGQ9Im0xOCAyMi0yLTMiIC8+CiAgPHBhdGggZD0iTTggMTVoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xNiAxNWguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/tram-front\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTramFront = /*#__PURE__*/(() => {\n  class LucideTramFront extends LucideIconBase {\n    static icon = {\n      name: 'tram-front',\n      size: 24,\n      node: [['rect', {\n        width: '16',\n        height: '16',\n        x: '4',\n        y: '3',\n        rx: '2',\n        key: '1wxw4b'\n      }], ['path', {\n        d: 'M4 11h16',\n        key: 'mpoxn0'\n      }], ['path', {\n        d: 'M12 3v8',\n        key: '1h2ygw'\n      }], ['path', {\n        d: 'm8 19-2 3',\n        key: '13i0xs'\n      }], ['path', {\n        d: 'm18 22-2-3',\n        key: '1p0ohu'\n      }], ['path', {\n        d: 'M8 15h.01',\n        key: 'a7atzg'\n      }], ['path', {\n        d: 'M16 15h.01',\n        key: 'rnfrdf'\n      }]],\n      aliases: ['train']\n    };\n    icon = signal(LucideTramFront.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTramFront_BaseFactory;\n      return function LucideTramFront_Factory(__ngFactoryType__) {\n        return (ɵLucideTramFront_BaseFactory || (ɵLucideTramFront_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTramFront)))(__ngFactoryType__ || LucideTramFront);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTramFront,\n      selectors: [[\"svg\", \"lucideTramFront\", \"\"], [\"svg\", \"lucideTrain\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1555,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTramFront_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTramFront_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTramFront;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideTramFront\n */\nconst LucideTrain = LucideTramFront;\n\n/**\n * @component @name Transgender\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTZ2NiIgLz4KICA8cGF0aCBkPSJNMTQgMjBoLTQiIC8+CiAgPHBhdGggZD0iTTE4IDJoNHY0IiAvPgogIDxwYXRoIGQ9Im0yIDIgNy4xNyA3LjE3IiAvPgogIDxwYXRoIGQ9Ik0yIDUuMzU1VjJoMy4zNTciIC8+CiAgPHBhdGggZD0ibTIyIDItNy4xNyA3LjE3IiAvPgogIDxwYXRoIGQ9Ik04IDUgNSA4IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/transgender\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTransgender = /*#__PURE__*/(() => {\n  class LucideTransgender extends LucideIconBase {\n    static icon = {\n      name: 'transgender',\n      size: 24,\n      node: [['path', {\n        d: 'M12 16v6',\n        key: 'c8a4gj'\n      }], ['path', {\n        d: 'M14 20h-4',\n        key: 'm8m19d'\n      }], ['path', {\n        d: 'M18 2h4v4',\n        key: '1341mj'\n      }], ['path', {\n        d: 'm2 2 7.17 7.17',\n        key: '13q8l2'\n      }], ['path', {\n        d: 'M2 5.355V2h3.357',\n        key: '18136r'\n      }], ['path', {\n        d: 'm22 2-7.17 7.17',\n        key: '1epvy4'\n      }], ['path', {\n        d: 'M8 5 5 8',\n        key: 'mgbjhz'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '4',\n        key: '4exip2'\n      }]]\n    };\n    icon = signal(LucideTransgender.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTransgender_BaseFactory;\n      return function LucideTransgender_Factory(__ngFactoryType__) {\n        return (ɵLucideTransgender_BaseFactory || (ɵLucideTransgender_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTransgender)))(__ngFactoryType__ || LucideTransgender);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTransgender,\n      selectors: [[\"svg\", \"lucideTransgender\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1556,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTransgender_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTransgender_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTransgender;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Trash\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2IiAvPgogIDxwYXRoIGQ9Ik0zIDZoMTgiIC8+CiAgPHBhdGggZD0iTTggNlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/trash\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTrash = /*#__PURE__*/(() => {\n  class LucideTrash extends LucideIconBase {\n    static icon = {\n      name: 'trash',\n      size: 24,\n      node: [['path', {\n        d: 'M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6',\n        key: 'miytrc'\n      }], ['path', {\n        d: 'M3 6h18',\n        key: 'd0wm0j'\n      }], ['path', {\n        d: 'M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2',\n        key: 'e791ji'\n      }]]\n    };\n    icon = signal(LucideTrash.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTrash_BaseFactory;\n      return function LucideTrash_Factory(__ngFactoryType__) {\n        return (ɵLucideTrash_BaseFactory || (ɵLucideTrash_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTrash)))(__ngFactoryType__ || LucideTrash);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTrash,\n      selectors: [[\"svg\", \"lucideTrash\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1557,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTrash_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTrash_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTrash;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TreePalm\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgOGMwLTIuNzYtMi40Ni01LTUuNS01UzIgNS4yNCAyIDhoMmwxLTEgMSAxaDQiIC8+CiAgPHBhdGggZD0iTTEzIDcuMTRBNS44MiA1LjgyIDAgMCAxIDE2LjUgNmMzLjA0IDAgNS41IDIuMjQgNS41IDVoLTNsLTEtMS0xIDFoLTMiIC8+CiAgPHBhdGggZD0iTTUuODkgOS43MWMtMi4xNSAyLjE1LTIuMyA1LjQ3LS4zNSA3LjQzbDQuMjQtNC4yNS43LS43LjcxLS43MSAyLjEyLTIuMTJjLTEuOTUtMS45Ni01LjI3LTEuOC03LjQyLjM1IiAvPgogIDxwYXRoIGQ9Ik0xMSAxNS41Yy41IDIuNS0uMTcgNC41LTEgNi41aDRjMi01LjUtLjUtMTItMS0xNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/tree-palm\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTreePalm = /*#__PURE__*/(() => {\n  class LucideTreePalm extends LucideIconBase {\n    static icon = {\n      name: 'tree-palm',\n      size: 24,\n      node: [['path', {\n        d: 'M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4',\n        key: 'foxbe7'\n      }], ['path', {\n        d: 'M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3',\n        key: '18arnh'\n      }], ['path', {\n        d: 'M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35',\n        key: 'ywahnh'\n      }], ['path', {\n        d: 'M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14',\n        key: 'ft0feo'\n      }]],\n      aliases: ['palmtree']\n    };\n    icon = signal(LucideTreePalm.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTreePalm_BaseFactory;\n      return function LucideTreePalm_Factory(__ngFactoryType__) {\n        return (ɵLucideTreePalm_BaseFactory || (ɵLucideTreePalm_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTreePalm)))(__ngFactoryType__ || LucideTreePalm);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTreePalm,\n      selectors: [[\"svg\", \"lucideTreePalm\", \"\"], [\"svg\", \"lucidePalmtree\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1558,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTreePalm_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTreePalm_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTreePalm;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideTreePalm\n */\nconst LucidePalmtree = LucideTreePalm;\n\n/**\n * @component @name TreeDeciduous\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAxOWE0IDQgMCAwIDEtMi4yNC03LjMyQTMuNSAzLjUgMCAwIDEgOSA2LjAzVjZhMyAzIDAgMSAxIDYgMHYuMDRhMy41IDMuNSAwIDAgMSAzLjI0IDUuNjVBNCA0IDAgMCAxIDE2IDE5WiIgLz4KICA8cGF0aCBkPSJNMTIgMTl2MyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/tree-deciduous\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTreeDeciduous = /*#__PURE__*/(() => {\n  class LucideTreeDeciduous extends LucideIconBase {\n    static icon = {\n      name: 'tree-deciduous',\n      size: 24,\n      node: [['path', {\n        d: 'M8 19a4 4 0 0 1-2.24-7.32A3.5 3.5 0 0 1 9 6.03V6a3 3 0 1 1 6 0v.04a3.5 3.5 0 0 1 3.24 5.65A4 4 0 0 1 16 19Z',\n        key: 'oadzkq'\n      }], ['path', {\n        d: 'M12 19v3',\n        key: 'npa21l'\n      }]]\n    };\n    icon = signal(LucideTreeDeciduous.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTreeDeciduous_BaseFactory;\n      return function LucideTreeDeciduous_Factory(__ngFactoryType__) {\n        return (ɵLucideTreeDeciduous_BaseFactory || (ɵLucideTreeDeciduous_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTreeDeciduous)))(__ngFactoryType__ || LucideTreeDeciduous);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTreeDeciduous,\n      selectors: [[\"svg\", \"lucideTreeDeciduous\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1559,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTreeDeciduous_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTreeDeciduous_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTreeDeciduous;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TreePine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTcgMTQgMyAzLjNhMSAxIDAgMCAxLS43IDEuN0g0LjdhMSAxIDAgMCAxLS43LTEuN0w3IDE0aC0uM2ExIDEgMCAwIDEtLjctMS43TDkgOWgtLjJBMSAxIDAgMCAxIDggNy4zTDEyIDNsNCA0LjNhMSAxIDAgMCAxLS44IDEuN0gxNWwzIDMuM2ExIDEgMCAwIDEtLjcgMS43SDE3WiIgLz4KICA8cGF0aCBkPSJNMTIgMjJ2LTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/tree-pine\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTreePine = /*#__PURE__*/(() => {\n  class LucideTreePine extends LucideIconBase {\n    static icon = {\n      name: 'tree-pine',\n      size: 24,\n      node: [['path', {\n        d: 'm17 14 3 3.3a1 1 0 0 1-.7 1.7H4.7a1 1 0 0 1-.7-1.7L7 14h-.3a1 1 0 0 1-.7-1.7L9 9h-.2A1 1 0 0 1 8 7.3L12 3l4 4.3a1 1 0 0 1-.8 1.7H15l3 3.3a1 1 0 0 1-.7 1.7H17Z',\n        key: 'cpyugq'\n      }], ['path', {\n        d: 'M12 22v-3',\n        key: 'kmzjlo'\n      }]]\n    };\n    icon = signal(LucideTreePine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTreePine_BaseFactory;\n      return function LucideTreePine_Factory(__ngFactoryType__) {\n        return (ɵLucideTreePine_BaseFactory || (ɵLucideTreePine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTreePine)))(__ngFactoryType__ || LucideTreePine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTreePine,\n      selectors: [[\"svg\", \"lucideTreePine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1560,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTreePine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTreePine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTreePine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Trees\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTB2LjJBMyAzIDAgMCAxIDguOSAxNkg1YTMgMyAwIDAgMS0xLTUuOFYxMGEzIDMgMCAwIDEgNiAwWiIgLz4KICA8cGF0aCBkPSJNNyAxNnY2IiAvPgogIDxwYXRoIGQ9Ik0xMyAxOXYzIiAvPgogIDxwYXRoIGQ9Ik0xMiAxOWg4LjNhMSAxIDAgMCAwIC43LTEuN0wxOCAxNGguM2ExIDEgMCAwIDAgLjctMS43TDE2IDloLjJhMSAxIDAgMCAwIC44LTEuN0wxMyAzbC0xLjQgMS41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/trees\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTrees = /*#__PURE__*/(() => {\n  class LucideTrees extends LucideIconBase {\n    static icon = {\n      name: 'trees',\n      size: 24,\n      node: [['path', {\n        d: 'M10 10v.2A3 3 0 0 1 8.9 16H5a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z',\n        key: '1l6gj6'\n      }], ['path', {\n        d: 'M7 16v6',\n        key: '1a82de'\n      }], ['path', {\n        d: 'M13 19v3',\n        key: '13sx9i'\n      }], ['path', {\n        d: 'M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5',\n        key: '1sj9kv'\n      }]]\n    };\n    icon = signal(LucideTrees.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTrees_BaseFactory;\n      return function LucideTrees_Factory(__ngFactoryType__) {\n        return (ɵLucideTrees_BaseFactory || (ɵLucideTrees_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTrees)))(__ngFactoryType__ || LucideTrees);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTrees,\n      selectors: [[\"svg\", \"lucideTrees\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1561,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTrees_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTrees_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTrees;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TrendingUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgN2g2djYiIC8+CiAgPHBhdGggZD0ibTIyIDctOC41IDguNS01LTVMMiAxNyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/trending-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTrendingUp = /*#__PURE__*/(() => {\n  class LucideTrendingUp extends LucideIconBase {\n    static icon = {\n      name: 'trending-up',\n      size: 24,\n      node: [['path', {\n        d: 'M16 7h6v6',\n        key: 'box55l'\n      }], ['path', {\n        d: 'm22 7-8.5 8.5-5-5L2 17',\n        key: '1t1m79'\n      }]]\n    };\n    icon = signal(LucideTrendingUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTrendingUp_BaseFactory;\n      return function LucideTrendingUp_Factory(__ngFactoryType__) {\n        return (ɵLucideTrendingUp_BaseFactory || (ɵLucideTrendingUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTrendingUp)))(__ngFactoryType__ || LucideTrendingUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTrendingUp,\n      selectors: [[\"svg\", \"lucideTrendingUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1562,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTrendingUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTrendingUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTrendingUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TrendingUpDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQuODI4IDE0LjgyOCAyMSAyMSIgLz4KICA8cGF0aCBkPSJNMjEgMTZ2NWgtNSIgLz4KICA8cGF0aCBkPSJtMjEgMy05IDktNC00LTYgNiIgLz4KICA8cGF0aCBkPSJNMjEgOFYzaC01IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/trending-up-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTrendingUpDown = /*#__PURE__*/(() => {\n  class LucideTrendingUpDown extends LucideIconBase {\n    static icon = {\n      name: 'trending-up-down',\n      size: 24,\n      node: [['path', {\n        d: 'M14.828 14.828 21 21',\n        key: 'ar5fw7'\n      }], ['path', {\n        d: 'M21 16v5h-5',\n        key: '1ck2sf'\n      }], ['path', {\n        d: 'm21 3-9 9-4-4-6 6',\n        key: '1h02xo'\n      }], ['path', {\n        d: 'M21 8V3h-5',\n        key: '1qoq8a'\n      }]]\n    };\n    icon = signal(LucideTrendingUpDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTrendingUpDown_BaseFactory;\n      return function LucideTrendingUpDown_Factory(__ngFactoryType__) {\n        return (ɵLucideTrendingUpDown_BaseFactory || (ɵLucideTrendingUpDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTrendingUpDown)))(__ngFactoryType__ || LucideTrendingUpDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTrendingUpDown,\n      selectors: [[\"svg\", \"lucideTrendingUpDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1563,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTrendingUpDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTrendingUpDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTrendingUpDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TrendingDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTdoNnYtNiIgLz4KICA8cGF0aCBkPSJtMjIgMTctOC41LTguNS01IDVMMiA3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/trending-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTrendingDown = /*#__PURE__*/(() => {\n  class LucideTrendingDown extends LucideIconBase {\n    static icon = {\n      name: 'trending-down',\n      size: 24,\n      node: [['path', {\n        d: 'M16 17h6v-6',\n        key: 't6n2it'\n      }], ['path', {\n        d: 'm22 17-8.5-8.5-5 5L2 7',\n        key: 'x473p'\n      }]]\n    };\n    icon = signal(LucideTrendingDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTrendingDown_BaseFactory;\n      return function LucideTrendingDown_Factory(__ngFactoryType__) {\n        return (ɵLucideTrendingDown_BaseFactory || (ɵLucideTrendingDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTrendingDown)))(__ngFactoryType__ || LucideTrendingDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTrendingDown,\n      selectors: [[\"svg\", \"lucideTrendingDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1564,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTrendingDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTrendingDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTrendingDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TriangleAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTMiIC8+CiAgPHBhdGggZD0iTTEyIDl2NCIgLz4KICA8cGF0aCBkPSJNMTIgMTdoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/triangle-alert\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTriangleAlert = /*#__PURE__*/(() => {\n  class LucideTriangleAlert extends LucideIconBase {\n    static icon = {\n      name: 'triangle-alert',\n      size: 24,\n      node: [['path', {\n        d: 'm21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3',\n        key: 'wmoenq'\n      }], ['path', {\n        d: 'M12 9v4',\n        key: 'juzpu7'\n      }], ['path', {\n        d: 'M12 17h.01',\n        key: 'p32p05'\n      }]],\n      aliases: ['alert-triangle']\n    };\n    icon = signal(LucideTriangleAlert.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTriangleAlert_BaseFactory;\n      return function LucideTriangleAlert_Factory(__ngFactoryType__) {\n        return (ɵLucideTriangleAlert_BaseFactory || (ɵLucideTriangleAlert_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTriangleAlert)))(__ngFactoryType__ || LucideTriangleAlert);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTriangleAlert,\n      selectors: [[\"svg\", \"lucideTriangleAlert\", \"\"], [\"svg\", \"lucideAlertTriangle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1565,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTriangleAlert_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTriangleAlert_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTriangleAlert;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideTriangleAlert\n */\nconst LucideAlertTriangle = LucideTriangleAlert;\n\n/**\n * @component @name TriangleDashed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMTcgNC4xOTNhMiAyIDAgMCAxIDMuNjY2LjAxMyIgLz4KICA8cGF0aCBkPSJNMTQgMjFoMiIgLz4KICA8cGF0aCBkPSJtMTUuODc0IDcuNzQzIDEgMS43MzIiIC8+CiAgPHBhdGggZD0ibTE4Ljg0OSAxMi45NTIgMSAxLjczMiIgLz4KICA8cGF0aCBkPSJNMjEuODI0IDE4LjE4YTIgMiAwIDAgMS0xLjgzNSAyLjgyNCIgLz4KICA8cGF0aCBkPSJNNC4wMjQgMjFhMiAyIDAgMCAxLTEuODM5LTIuODM5IiAvPgogIDxwYXRoIGQ9Im01LjEzNiAxMi45NTItMSAxLjczMiIgLz4KICA8cGF0aCBkPSJNOCAyMWgyIiAvPgogIDxwYXRoIGQ9Im04LjEwMiA3Ljc0My0xIDEuNzMyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/triangle-dashed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTriangleDashed = /*#__PURE__*/(() => {\n  class LucideTriangleDashed extends LucideIconBase {\n    static icon = {\n      name: 'triangle-dashed',\n      size: 24,\n      node: [['path', {\n        d: 'M10.17 4.193a2 2 0 0 1 3.666.013',\n        key: 'pltmmw'\n      }], ['path', {\n        d: 'M14 21h2',\n        key: 'v4qezv'\n      }], ['path', {\n        d: 'm15.874 7.743 1 1.732',\n        key: '10m0iw'\n      }], ['path', {\n        d: 'm18.849 12.952 1 1.732',\n        key: 'zadnam'\n      }], ['path', {\n        d: 'M21.824 18.18a2 2 0 0 1-1.835 2.824',\n        key: 'fvwuk4'\n      }], ['path', {\n        d: 'M4.024 21a2 2 0 0 1-1.839-2.839',\n        key: '1e1kah'\n      }], ['path', {\n        d: 'm5.136 12.952-1 1.732',\n        key: '1u4ldi'\n      }], ['path', {\n        d: 'M8 21h2',\n        key: 'i9zjee'\n      }], ['path', {\n        d: 'm8.102 7.743-1 1.732',\n        key: '1zzo4u'\n      }]]\n    };\n    icon = signal(LucideTriangleDashed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTriangleDashed_BaseFactory;\n      return function LucideTriangleDashed_Factory(__ngFactoryType__) {\n        return (ɵLucideTriangleDashed_BaseFactory || (ɵLucideTriangleDashed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTriangleDashed)))(__ngFactoryType__ || LucideTriangleDashed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTriangleDashed,\n      selectors: [[\"svg\", \"lucideTriangleDashed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1566,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTriangleDashed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTriangleDashed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTriangleDashed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TriangleRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMThhMiAyIDAgMCAxLTIgMkgzYy0xLjEgMC0xLjMtLjYtLjQtMS4zTDIwLjQgNC4zYy45LS43IDEuNi0uNCAxLjYuN1oiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/triangle-right\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTriangleRight = /*#__PURE__*/(() => {\n  class LucideTriangleRight extends LucideIconBase {\n    static icon = {\n      name: 'triangle-right',\n      size: 24,\n      node: [['path', {\n        d: 'M22 18a2 2 0 0 1-2 2H3c-1.1 0-1.3-.6-.4-1.3L20.4 4.3c.9-.7 1.6-.4 1.6.7Z',\n        key: '183wce'\n      }]]\n    };\n    icon = signal(LucideTriangleRight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTriangleRight_BaseFactory;\n      return function LucideTriangleRight_Factory(__ngFactoryType__) {\n        return (ɵLucideTriangleRight_BaseFactory || (ɵLucideTriangleRight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTriangleRight)))(__ngFactoryType__ || LucideTriangleRight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTriangleRight,\n      selectors: [[\"svg\", \"lucideTriangleRight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1567,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTriangleRight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTriangleRight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTriangleRight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Triangle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuNzMgNGEyIDIgMCAwIDAtMy40NiAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTNaIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/triangle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTriangle = /*#__PURE__*/(() => {\n  class LucideTriangle extends LucideIconBase {\n    static icon = {\n      name: 'triangle',\n      size: 24,\n      node: [['path', {\n        d: 'M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z',\n        key: '14u9p9'\n      }]]\n    };\n    icon = signal(LucideTriangle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTriangle_BaseFactory;\n      return function LucideTriangle_Factory(__ngFactoryType__) {\n        return (ɵLucideTriangle_BaseFactory || (ɵLucideTriangle_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTriangle)))(__ngFactoryType__ || LucideTriangle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTriangle,\n      selectors: [[\"svg\", \"lucideTriangle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1568,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTriangle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTriangle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTriangle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Trophy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTQuNjZ2MS42MjZhMiAyIDAgMCAxLS45NzYgMS42OTZBNSA1IDAgMCAwIDcgMjEuOTc4IiAvPgogIDxwYXRoIGQ9Ik0xNCAxNC42NnYxLjYyNmEyIDIgMCAwIDAgLjk3NiAxLjY5NkE1IDUgMCAwIDEgMTcgMjEuOTc4IiAvPgogIDxwYXRoIGQ9Ik0xOCA5aDEuNWExIDEgMCAwIDAgMC01SDE4IiAvPgogIDxwYXRoIGQ9Ik00IDIyaDE2IiAvPgogIDxwYXRoIGQ9Ik02IDlhNiA2IDAgMCAwIDEyIDBWM2ExIDEgMCAwIDAtMS0xSDdhMSAxIDAgMCAwLTEgMXoiIC8+CiAgPHBhdGggZD0iTTYgOUg0LjVhMSAxIDAgMCAxIDAtNUg2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/trophy\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTrophy = /*#__PURE__*/(() => {\n  class LucideTrophy extends LucideIconBase {\n    static icon = {\n      name: 'trophy',\n      size: 24,\n      node: [['path', {\n        d: 'M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978',\n        key: '1n3hpd'\n      }], ['path', {\n        d: 'M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978',\n        key: 'rfe1zi'\n      }], ['path', {\n        d: 'M18 9h1.5a1 1 0 0 0 0-5H18',\n        key: '7xy6bh'\n      }], ['path', {\n        d: 'M4 22h16',\n        key: '57wxv0'\n      }], ['path', {\n        d: 'M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z',\n        key: '1mhfuq'\n      }], ['path', {\n        d: 'M6 9H4.5a1 1 0 0 1 0-5H6',\n        key: 'tex48p'\n      }]]\n    };\n    icon = signal(LucideTrophy.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTrophy_BaseFactory;\n      return function LucideTrophy_Factory(__ngFactoryType__) {\n        return (ɵLucideTrophy_BaseFactory || (ɵLucideTrophy_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTrophy)))(__ngFactoryType__ || LucideTrophy);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTrophy,\n      selectors: [[\"svg\", \"lucideTrophy\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1569,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTrophy_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTrophy_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTrophy;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Truck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMThWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMWExIDEgMCAwIDAgMSAxaDIiIC8+CiAgPHBhdGggZD0iTTE1IDE4SDkiIC8+CiAgPHBhdGggZD0iTTE5IDE4aDJhMSAxIDAgMCAwIDEtMXYtMy42NWExIDEgMCAwIDAtLjIyLS42MjRsLTMuNDgtNC4zNUExIDEgMCAwIDAgMTcuNTIgOEgxNCIgLz4KICA8Y2lyY2xlIGN4PSIxNyIgY3k9IjE4IiByPSIyIiAvPgogIDxjaXJjbGUgY3g9IjciIGN5PSIxOCIgcj0iMiIgLz4KPC9zdmc+) - https://lucide.dev/icons/truck\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTruck = /*#__PURE__*/(() => {\n  class LucideTruck extends LucideIconBase {\n    static icon = {\n      name: 'truck',\n      size: 24,\n      node: [['path', {\n        d: 'M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2',\n        key: 'wrbu53'\n      }], ['path', {\n        d: 'M15 18H9',\n        key: '1lyqi6'\n      }], ['path', {\n        d: 'M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14',\n        key: 'lysw3i'\n      }], ['circle', {\n        cx: '17',\n        cy: '18',\n        r: '2',\n        key: '332jqn'\n      }], ['circle', {\n        cx: '7',\n        cy: '18',\n        r: '2',\n        key: '19iecd'\n      }]]\n    };\n    icon = signal(LucideTruck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTruck_BaseFactory;\n      return function LucideTruck_Factory(__ngFactoryType__) {\n        return (ɵLucideTruck_BaseFactory || (ɵLucideTruck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTruck)))(__ngFactoryType__ || LucideTruck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTruck,\n      selectors: [[\"svg\", \"lucideTruck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1570,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTruck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTruck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTruck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TruckElectric\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMTlWN2EyIDIgMCAwIDAtMi0ySDkiIC8+CiAgPHBhdGggZD0iTTE1IDE5SDkiIC8+CiAgPHBhdGggZD0iTTE5IDE5aDJhMSAxIDAgMCAwIDEtMXYtMy42NWExIDEgMCAwIDAtLjIyLS42MkwxOC4zIDkuMzhhMSAxIDAgMCAwLS43OC0uMzhIMTQiIC8+CiAgPHBhdGggZD0iTTIgMTN2NWExIDEgMCAwIDAgMSAxaDIiIC8+CiAgPHBhdGggZD0iTTQgMyAyLjE1IDUuMTVhLjQ5NS40OTUgMCAwIDAgLjM1Ljg2aDIuMTVhLjQ3LjQ3IDAgMCAxIC4zNS44NkwzIDkuMDIiIC8+CiAgPGNpcmNsZSBjeD0iMTciIGN5PSIxOSIgcj0iMiIgLz4KICA8Y2lyY2xlIGN4PSI3IiBjeT0iMTkiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/truck-electric\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTruckElectric = /*#__PURE__*/(() => {\n  class LucideTruckElectric extends LucideIconBase {\n    static icon = {\n      name: 'truck-electric',\n      size: 24,\n      node: [['path', {\n        d: 'M14 19V7a2 2 0 0 0-2-2H9',\n        key: '15peso'\n      }], ['path', {\n        d: 'M15 19H9',\n        key: '18q6dt'\n      }], ['path', {\n        d: 'M19 19h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.62L18.3 9.38a1 1 0 0 0-.78-.38H14',\n        key: '1dkp3j'\n      }], ['path', {\n        d: 'M2 13v5a1 1 0 0 0 1 1h2',\n        key: 'pkmmzz'\n      }], ['path', {\n        d: 'M4 3 2.15 5.15a.495.495 0 0 0 .35.86h2.15a.47.47 0 0 1 .35.86L3 9.02',\n        key: '1n26pd'\n      }], ['circle', {\n        cx: '17',\n        cy: '19',\n        r: '2',\n        key: '1nxcgd'\n      }], ['circle', {\n        cx: '7',\n        cy: '19',\n        r: '2',\n        key: 'gzo7y7'\n      }]]\n    };\n    icon = signal(LucideTruckElectric.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTruckElectric_BaseFactory;\n      return function LucideTruckElectric_Factory(__ngFactoryType__) {\n        return (ɵLucideTruckElectric_BaseFactory || (ɵLucideTruckElectric_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTruckElectric)))(__ngFactoryType__ || LucideTruckElectric);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTruckElectric,\n      selectors: [[\"svg\", \"lucideTruckElectric\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1571,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTruckElectric_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTruckElectric_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTruckElectric;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TurkishLira\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgNCA1IDkiIC8+CiAgPHBhdGggZD0ibTE1IDguNS0xMCA1IiAvPgogIDxwYXRoIGQ9Ik0xOCAxMmE5IDkgMCAwIDEtOSA5VjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/turkish-lira\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTurkishLira = /*#__PURE__*/(() => {\n  class LucideTurkishLira extends LucideIconBase {\n    static icon = {\n      name: 'turkish-lira',\n      size: 24,\n      node: [['path', {\n        d: 'M15 4 5 9',\n        key: '14bkc9'\n      }], ['path', {\n        d: 'm15 8.5-10 5',\n        key: '1grtsx'\n      }], ['path', {\n        d: 'M18 12a9 9 0 0 1-9 9V3',\n        key: '1sst7f'\n      }]]\n    };\n    icon = signal(LucideTurkishLira.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTurkishLira_BaseFactory;\n      return function LucideTurkishLira_Factory(__ngFactoryType__) {\n        return (ɵLucideTurkishLira_BaseFactory || (ɵLucideTurkishLira_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTurkishLira)))(__ngFactoryType__ || LucideTurkishLira);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTurkishLira,\n      selectors: [[\"svg\", \"lucideTurkishLira\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1572,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTurkishLira_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTurkishLira_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTurkishLira;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Turntable\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTIuMDFoLjAxIiAvPgogIDxwYXRoIGQ9Ik0xOCA4djRhOCA4IDAgMCAxLTEuMDcgNCIgLz4KICA8Y2lyY2xlIGN4PSIxMCIgY3k9IjEyIiByPSI0IiAvPgogIDxyZWN0IHg9IjIiIHk9IjQiIHdpZHRoPSIyMCIgaGVpZ2h0PSIxNiIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/turntable\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTurntable = /*#__PURE__*/(() => {\n  class LucideTurntable extends LucideIconBase {\n    static icon = {\n      name: 'turntable',\n      size: 24,\n      node: [['path', {\n        d: 'M10 12.01h.01',\n        key: '7rp0yl'\n      }], ['path', {\n        d: 'M18 8v4a8 8 0 0 1-1.07 4',\n        key: '1st48v'\n      }], ['circle', {\n        cx: '10',\n        cy: '12',\n        r: '4',\n        key: '19levz'\n      }], ['rect', {\n        x: '2',\n        y: '4',\n        width: '20',\n        height: '16',\n        rx: '2',\n        key: 'izxlao'\n      }]]\n    };\n    icon = signal(LucideTurntable.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTurntable_BaseFactory;\n      return function LucideTurntable_Factory(__ngFactoryType__) {\n        return (ɵLucideTurntable_BaseFactory || (ɵLucideTurntable_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTurntable)))(__ngFactoryType__ || LucideTurntable);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTurntable,\n      selectors: [[\"svg\", \"lucideTurntable\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1573,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTurntable_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTurntable_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTurntable;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TvMinimal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNyAyMWgxMCIgLz4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHg9IjIiIHk9IjMiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/tv-minimal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTvMinimal = /*#__PURE__*/(() => {\n  class LucideTvMinimal extends LucideIconBase {\n    static icon = {\n      name: 'tv-minimal',\n      size: 24,\n      node: [['path', {\n        d: 'M7 21h10',\n        key: '1b0cd5'\n      }], ['rect', {\n        width: '20',\n        height: '14',\n        x: '2',\n        y: '3',\n        rx: '2',\n        key: '48i651'\n      }]],\n      aliases: ['tv-2']\n    };\n    icon = signal(LucideTvMinimal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTvMinimal_BaseFactory;\n      return function LucideTvMinimal_Factory(__ngFactoryType__) {\n        return (ɵLucideTvMinimal_BaseFactory || (ɵLucideTvMinimal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTvMinimal)))(__ngFactoryType__ || LucideTvMinimal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTvMinimal,\n      selectors: [[\"svg\", \"lucideTvMinimal\", \"\"], [\"svg\", \"lucideTv2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1574,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTvMinimal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTvMinimal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTvMinimal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideTvMinimal\n */\nconst LucideTv2 = LucideTvMinimal;\n\n/**\n * @component @name TvMinimalPlay\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuMDMzIDkuNDRhLjY0Ny42NDcgMCAwIDEgMCAxLjEybC00LjA2NSAyLjM1MmEuNjQ1LjY0NSAwIDAgMS0uOTY4LS41NlY3LjY0OGEuNjQ1LjY0NSAwIDAgMSAuOTY3LS41NnoiIC8+CiAgPHBhdGggZD0iTTcgMjFoMTAiIC8+CiAgPHJlY3Qgd2lkdGg9IjIwIiBoZWlnaHQ9IjE0IiB4PSIyIiB5PSIzIiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/tv-minimal-play\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTvMinimalPlay = /*#__PURE__*/(() => {\n  class LucideTvMinimalPlay extends LucideIconBase {\n    static icon = {\n      name: 'tv-minimal-play',\n      size: 24,\n      node: [['path', {\n        d: 'M15.033 9.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56V7.648a.645.645 0 0 1 .967-.56z',\n        key: 'vbtd3f'\n      }], ['path', {\n        d: 'M7 21h10',\n        key: '1b0cd5'\n      }], ['rect', {\n        width: '20',\n        height: '14',\n        x: '2',\n        y: '3',\n        rx: '2',\n        key: '48i651'\n      }]]\n    };\n    icon = signal(LucideTvMinimalPlay.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTvMinimalPlay_BaseFactory;\n      return function LucideTvMinimalPlay_Factory(__ngFactoryType__) {\n        return (ɵLucideTvMinimalPlay_BaseFactory || (ɵLucideTvMinimalPlay_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTvMinimalPlay)))(__ngFactoryType__ || LucideTvMinimalPlay);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTvMinimalPlay,\n      selectors: [[\"svg\", \"lucideTvMinimalPlay\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1575,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTvMinimalPlay_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTvMinimalPlay_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTvMinimalPlay;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Tv\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTcgMi01IDUtNS01IiAvPgogIDxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIxNSIgeD0iMiIgeT0iNyIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/tv\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTv = /*#__PURE__*/(() => {\n  class LucideTv extends LucideIconBase {\n    static icon = {\n      name: 'tv',\n      size: 24,\n      node: [['path', {\n        d: 'm17 2-5 5-5-5',\n        key: '16satq'\n      }], ['rect', {\n        width: '20',\n        height: '15',\n        x: '2',\n        y: '7',\n        rx: '2',\n        key: '1e6viu'\n      }]]\n    };\n    icon = signal(LucideTv.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTv_BaseFactory;\n      return function LucideTv_Factory(__ngFactoryType__) {\n        return (ɵLucideTv_BaseFactory || (ɵLucideTv_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTv)))(__ngFactoryType__ || LucideTv);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTv,\n      selectors: [[\"svg\", \"lucideTv\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1576,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTv_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTv_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTv;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Turtle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIgMTAgMiA0djNhMSAxIDAgMCAwIDEgMWgyYTEgMSAwIDAgMCAxLTF2LTNhOCA4IDAgMSAwLTE2IDB2M2ExIDEgMCAwIDAgMSAxaDJhMSAxIDAgMCAwIDEtMXYtM2wyLTRoNFoiIC8+CiAgPHBhdGggZD0iTTQuODIgNy45IDggMTAiIC8+CiAgPHBhdGggZD0iTTE1LjE4IDcuOSAxMiAxMCIgLz4KICA8cGF0aCBkPSJNMTYuOTMgMTBIMjBhMiAyIDAgMCAxIDAgNEgyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/turtle\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTurtle = /*#__PURE__*/(() => {\n  class LucideTurtle extends LucideIconBase {\n    static icon = {\n      name: 'turtle',\n      size: 24,\n      node: [['path', {\n        d: 'm12 10 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a8 8 0 1 0-16 0v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3l2-4h4Z',\n        key: '1lbbv7'\n      }], ['path', {\n        d: 'M4.82 7.9 8 10',\n        key: 'm9wose'\n      }], ['path', {\n        d: 'M15.18 7.9 12 10',\n        key: 'p8dp2u'\n      }], ['path', {\n        d: 'M16.93 10H20a2 2 0 0 1 0 4H2',\n        key: '12nsm7'\n      }]]\n    };\n    icon = signal(LucideTurtle.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTurtle_BaseFactory;\n      return function LucideTurtle_Factory(__ngFactoryType__) {\n        return (ɵLucideTurtle_BaseFactory || (ɵLucideTurtle_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTurtle)))(__ngFactoryType__ || LucideTurtle);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTurtle,\n      selectors: [[\"svg\", \"lucideTurtle\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1577,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTurtle_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTurtle_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTurtle;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name TypeOutline\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMTYuNWEuNS41IDAgMCAwIC41LjVoLjVhMiAyIDAgMCAxIDAgNEg5YTIgMiAwIDAgMSAwLTRoLjVhLjUuNSAwIDAgMCAuNS0uNXYtOWEuNS41IDAgMCAwLS41LS41aC0zYS41LjUgMCAwIDAtLjUuNVY4YTIgMiAwIDAgMS00IDBWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtNCAwdi0uNWEuNS41IDAgMCAwLS41LS41aC0zYS41LjUgMCAwIDAtLjUuNVoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/type-outline\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideTypeOutline = /*#__PURE__*/(() => {\n  class LucideTypeOutline extends LucideIconBase {\n    static icon = {\n      name: 'type-outline',\n      size: 24,\n      node: [['path', {\n        d: 'M14 16.5a.5.5 0 0 0 .5.5h.5a2 2 0 0 1 0 4H9a2 2 0 0 1 0-4h.5a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V8a2 2 0 0 1-4 0V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v3a2 2 0 0 1-4 0v-.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5Z',\n        key: '1reda3'\n      }]]\n    };\n    icon = signal(LucideTypeOutline.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideTypeOutline_BaseFactory;\n      return function LucideTypeOutline_Factory(__ngFactoryType__) {\n        return (ɵLucideTypeOutline_BaseFactory || (ɵLucideTypeOutline_BaseFactory = i0.ɵɵgetInheritedFactory(LucideTypeOutline)))(__ngFactoryType__ || LucideTypeOutline);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideTypeOutline,\n      selectors: [[\"svg\", \"lucideTypeOutline\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1578,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideTypeOutline_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideTypeOutline_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideTypeOutline;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UmbrellaOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTN2N2EyIDIgMCAwIDAgNCAwIiAvPgogIDxwYXRoIGQ9Ik0xMiAydjIiIC8+CiAgPHBhdGggZD0iTTE4LjY1NiAxM2gyLjMzNmExIDEgMCAwIDAgLjk3LTEuMjc0IDEwLjI4NCAxMC4yODQgMCAwIDAtMTIuMDctNy41MSIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgogIDxwYXRoIGQ9Ik01Ljk2MSA1Ljk1N2ExMC4yOCAxMC4yOCAwIDAgMC0zLjkyMiA1Ljc2OUExIDEgMCAwIDAgMyAxM2gxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/umbrella-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUmbrellaOff = /*#__PURE__*/(() => {\n  class LucideUmbrellaOff extends LucideIconBase {\n    static icon = {\n      name: 'umbrella-off',\n      size: 24,\n      node: [['path', {\n        d: 'M12 13v7a2 2 0 0 0 4 0',\n        key: 'rpgb42'\n      }], ['path', {\n        d: 'M12 2v2',\n        key: 'tus03m'\n      }], ['path', {\n        d: 'M18.656 13h2.336a1 1 0 0 0 .97-1.274 10.284 10.284 0 0 0-12.07-7.51',\n        key: 'yawknk'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'M5.961 5.957a10.28 10.28 0 0 0-3.922 5.769A1 1 0 0 0 3 13h10',\n        key: '5sfalc'\n      }]]\n    };\n    icon = signal(LucideUmbrellaOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUmbrellaOff_BaseFactory;\n      return function LucideUmbrellaOff_Factory(__ngFactoryType__) {\n        return (ɵLucideUmbrellaOff_BaseFactory || (ɵLucideUmbrellaOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUmbrellaOff)))(__ngFactoryType__ || LucideUmbrellaOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUmbrellaOff,\n      selectors: [[\"svg\", \"lucideUmbrellaOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1579,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUmbrellaOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUmbrellaOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUmbrellaOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Type\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNHYxNiIgLz4KICA8cGF0aCBkPSJNNCA3VjVhMSAxIDAgMCAxIDEtMWgxNGExIDEgMCAwIDEgMSAxdjIiIC8+CiAgPHBhdGggZD0iTTkgMjBoNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/type\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideType = /*#__PURE__*/(() => {\n  class LucideType extends LucideIconBase {\n    static icon = {\n      name: 'type',\n      size: 24,\n      node: [['path', {\n        d: 'M12 4v16',\n        key: '1654pz'\n      }], ['path', {\n        d: 'M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2',\n        key: 'e0r10z'\n      }], ['path', {\n        d: 'M9 20h6',\n        key: 's66wpe'\n      }]]\n    };\n    icon = signal(LucideType.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideType_BaseFactory;\n      return function LucideType_Factory(__ngFactoryType__) {\n        return (ɵLucideType_BaseFactory || (ɵLucideType_BaseFactory = i0.ɵɵgetInheritedFactory(LucideType)))(__ngFactoryType__ || LucideType);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideType,\n      selectors: [[\"svg\", \"lucideType\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1580,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideType_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideType_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideType;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Umbrella\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTN2N2EyIDIgMCAwIDAgNCAwIiAvPgogIDxwYXRoIGQ9Ik0xMiAydjIiIC8+CiAgPHBhdGggZD0iTTIwLjk5MiAxM2ExIDEgMCAwIDAgLjk3LTEuMjc0IDEwLjI4NCAxMC4yODQgMCAwIDAtMTkuOTIzIDBBMSAxIDAgMCAwIDMgMTN6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/umbrella\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUmbrella = /*#__PURE__*/(() => {\n  class LucideUmbrella extends LucideIconBase {\n    static icon = {\n      name: 'umbrella',\n      size: 24,\n      node: [['path', {\n        d: 'M12 13v7a2 2 0 0 0 4 0',\n        key: 'rpgb42'\n      }], ['path', {\n        d: 'M12 2v2',\n        key: 'tus03m'\n      }], ['path', {\n        d: 'M20.992 13a1 1 0 0 0 .97-1.274 10.284 10.284 0 0 0-19.923 0A1 1 0 0 0 3 13z',\n        key: '124nyo'\n      }]]\n    };\n    icon = signal(LucideUmbrella.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUmbrella_BaseFactory;\n      return function LucideUmbrella_Factory(__ngFactoryType__) {\n        return (ɵLucideUmbrella_BaseFactory || (ɵLucideUmbrella_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUmbrella)))(__ngFactoryType__ || LucideUmbrella);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUmbrella,\n      selectors: [[\"svg\", \"lucideUmbrella\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1581,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUmbrella_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUmbrella_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUmbrella;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Underline\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiA0djZhNiA2IDAgMCAwIDEyIDBWNCIgLz4KICA8bGluZSB4MT0iNCIgeDI9IjIwIiB5MT0iMjAiIHkyPSIyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/underline\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUnderline = /*#__PURE__*/(() => {\n  class LucideUnderline extends LucideIconBase {\n    static icon = {\n      name: 'underline',\n      size: 24,\n      node: [['path', {\n        d: 'M6 4v6a6 6 0 0 0 12 0V4',\n        key: '9kb039'\n      }], ['line', {\n        x1: '4',\n        x2: '20',\n        y1: '20',\n        y2: '20',\n        key: 'nun2al'\n      }]]\n    };\n    icon = signal(LucideUnderline.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUnderline_BaseFactory;\n      return function LucideUnderline_Factory(__ngFactoryType__) {\n        return (ɵLucideUnderline_BaseFactory || (ɵLucideUnderline_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUnderline)))(__ngFactoryType__ || LucideUnderline);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUnderline,\n      selectors: [[\"svg\", \"lucideUnderline\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1582,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUnderline_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUnderline_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUnderline;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Undo2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOSAxNCA0IDlsNS01IiAvPgogIDxwYXRoIGQ9Ik00IDloMTAuNWE1LjUgNS41IDAgMCAxIDUuNSA1LjVhNS41IDUuNSAwIDAgMS01LjUgNS41SDExIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/undo-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUndo2 = /*#__PURE__*/(() => {\n  class LucideUndo2 extends LucideIconBase {\n    static icon = {\n      name: 'undo-2',\n      size: 24,\n      node: [['path', {\n        d: 'M9 14 4 9l5-5',\n        key: '102s5s'\n      }], ['path', {\n        d: 'M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11',\n        key: 'f3b9sd'\n      }]]\n    };\n    icon = signal(LucideUndo2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUndo2_BaseFactory;\n      return function LucideUndo2_Factory(__ngFactoryType__) {\n        return (ɵLucideUndo2_BaseFactory || (ɵLucideUndo2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUndo2)))(__ngFactoryType__ || LucideUndo2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUndo2,\n      selectors: [[\"svg\", \"lucideUndo2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1583,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUndo2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUndo2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUndo2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UndoDot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTdhOSA5IDAgMCAwLTE1LTYuN0wzIDEzIiAvPgogIDxwYXRoIGQ9Ik0zIDd2Nmg2IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTciIHI9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/undo-dot\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUndoDot = /*#__PURE__*/(() => {\n  class LucideUndoDot extends LucideIconBase {\n    static icon = {\n      name: 'undo-dot',\n      size: 24,\n      node: [['path', {\n        d: 'M21 17a9 9 0 0 0-15-6.7L3 13',\n        key: '8mp6z9'\n      }], ['path', {\n        d: 'M3 7v6h6',\n        key: '1v2h90'\n      }], ['circle', {\n        cx: '12',\n        cy: '17',\n        r: '1',\n        key: '1ixnty'\n      }]]\n    };\n    icon = signal(LucideUndoDot.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUndoDot_BaseFactory;\n      return function LucideUndoDot_Factory(__ngFactoryType__) {\n        return (ɵLucideUndoDot_BaseFactory || (ɵLucideUndoDot_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUndoDot)))(__ngFactoryType__ || LucideUndoDot);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUndoDot,\n      selectors: [[\"svg\", \"lucideUndoDot\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1584,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUndoDot_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUndoDot_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUndoDot;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UnfoldHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMTJoNiIgLz4KICA8cGF0aCBkPSJNOCAxMkgyIiAvPgogIDxwYXRoIGQ9Ik0xMiAydjIiIC8+CiAgPHBhdGggZD0iTTEyIDh2MiIgLz4KICA8cGF0aCBkPSJNMTIgMTR2MiIgLz4KICA8cGF0aCBkPSJNMTIgMjB2MiIgLz4KICA8cGF0aCBkPSJtMTkgMTUgMy0zLTMtMyIgLz4KICA8cGF0aCBkPSJtNSA5LTMgMyAzIDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/unfold-horizontal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUnfoldHorizontal = /*#__PURE__*/(() => {\n  class LucideUnfoldHorizontal extends LucideIconBase {\n    static icon = {\n      name: 'unfold-horizontal',\n      size: 24,\n      node: [['path', {\n        d: 'M16 12h6',\n        key: '15xry1'\n      }], ['path', {\n        d: 'M8 12H2',\n        key: '1jqql6'\n      }], ['path', {\n        d: 'M12 2v2',\n        key: 'tus03m'\n      }], ['path', {\n        d: 'M12 8v2',\n        key: '1woqiv'\n      }], ['path', {\n        d: 'M12 14v2',\n        key: '8jcxud'\n      }], ['path', {\n        d: 'M12 20v2',\n        key: '1lh1kg'\n      }], ['path', {\n        d: 'm19 15 3-3-3-3',\n        key: 'wjy7rq'\n      }], ['path', {\n        d: 'm5 9-3 3 3 3',\n        key: 'j64kie'\n      }]]\n    };\n    icon = signal(LucideUnfoldHorizontal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUnfoldHorizontal_BaseFactory;\n      return function LucideUnfoldHorizontal_Factory(__ngFactoryType__) {\n        return (ɵLucideUnfoldHorizontal_BaseFactory || (ɵLucideUnfoldHorizontal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUnfoldHorizontal)))(__ngFactoryType__ || LucideUnfoldHorizontal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUnfoldHorizontal,\n      selectors: [[\"svg\", \"lucideUnfoldHorizontal\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1585,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUnfoldHorizontal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUnfoldHorizontal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUnfoldHorizontal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Undo\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA3djZoNiIgLz4KICA8cGF0aCBkPSJNMjEgMTdhOSA5IDAgMCAwLTktOSA5IDkgMCAwIDAtNiAyLjNMMyAxMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/undo\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUndo = /*#__PURE__*/(() => {\n  class LucideUndo extends LucideIconBase {\n    static icon = {\n      name: 'undo',\n      size: 24,\n      node: [['path', {\n        d: 'M3 7v6h6',\n        key: '1v2h90'\n      }], ['path', {\n        d: 'M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13',\n        key: '1r6uu6'\n      }]]\n    };\n    icon = signal(LucideUndo.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUndo_BaseFactory;\n      return function LucideUndo_Factory(__ngFactoryType__) {\n        return (ɵLucideUndo_BaseFactory || (ɵLucideUndo_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUndo)))(__ngFactoryType__ || LucideUndo);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUndo,\n      selectors: [[\"svg\", \"lucideUndo\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1586,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUndo_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUndo_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUndo;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UnfoldVertical\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJ2LTYiIC8+CiAgPHBhdGggZD0iTTEyIDhWMiIgLz4KICA8cGF0aCBkPSJNNCAxMkgyIiAvPgogIDxwYXRoIGQ9Ik0xMCAxMkg4IiAvPgogIDxwYXRoIGQ9Ik0xNiAxMmgtMiIgLz4KICA8cGF0aCBkPSJNMjIgMTJoLTIiIC8+CiAgPHBhdGggZD0ibTE1IDE5LTMgMy0zLTMiIC8+CiAgPHBhdGggZD0ibTE1IDUtMy0zLTMgMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/unfold-vertical\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUnfoldVertical = /*#__PURE__*/(() => {\n  class LucideUnfoldVertical extends LucideIconBase {\n    static icon = {\n      name: 'unfold-vertical',\n      size: 24,\n      node: [['path', {\n        d: 'M12 22v-6',\n        key: '6o8u61'\n      }], ['path', {\n        d: 'M12 8V2',\n        key: '1wkif3'\n      }], ['path', {\n        d: 'M4 12H2',\n        key: 'rhcxmi'\n      }], ['path', {\n        d: 'M10 12H8',\n        key: 's88cx1'\n      }], ['path', {\n        d: 'M16 12h-2',\n        key: '10asgb'\n      }], ['path', {\n        d: 'M22 12h-2',\n        key: '14jgyd'\n      }], ['path', {\n        d: 'm15 19-3 3-3-3',\n        key: '11eu04'\n      }], ['path', {\n        d: 'm15 5-3-3-3 3',\n        key: 'itvq4r'\n      }]]\n    };\n    icon = signal(LucideUnfoldVertical.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUnfoldVertical_BaseFactory;\n      return function LucideUnfoldVertical_Factory(__ngFactoryType__) {\n        return (ɵLucideUnfoldVertical_BaseFactory || (ɵLucideUnfoldVertical_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUnfoldVertical)))(__ngFactoryType__ || LucideUnfoldVertical);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUnfoldVertical,\n      selectors: [[\"svg\", \"lucideUnfoldVertical\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1587,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUnfoldVertical_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUnfoldVertical_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUnfoldVertical;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Ungroup\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI2IiB4PSI1IiB5PSI0IiByeD0iMSIgLz4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI2IiB4PSIxMSIgeT0iMTQiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/ungroup\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUngroup = /*#__PURE__*/(() => {\n  class LucideUngroup extends LucideIconBase {\n    static icon = {\n      name: 'ungroup',\n      size: 24,\n      node: [['rect', {\n        width: '8',\n        height: '6',\n        x: '5',\n        y: '4',\n        rx: '1',\n        key: 'nzclkv'\n      }], ['rect', {\n        width: '8',\n        height: '6',\n        x: '11',\n        y: '14',\n        rx: '1',\n        key: '4tytwb'\n      }]]\n    };\n    icon = signal(LucideUngroup.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUngroup_BaseFactory;\n      return function LucideUngroup_Factory(__ngFactoryType__) {\n        return (ɵLucideUngroup_BaseFactory || (ɵLucideUngroup_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUngroup)))(__ngFactoryType__ || LucideUngroup);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUngroup,\n      selectors: [[\"svg\", \"lucideUngroup\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1588,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUngroup_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUngroup_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUngroup;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name University\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQgMjF2LTNhMiAyIDAgMCAwLTQgMHYzIiAvPgogIDxwYXRoIGQ9Ik0xOCAxMmguMDEiIC8+CiAgPHBhdGggZD0iTTE4IDE2aC4wMSIgLz4KICA8cGF0aCBkPSJNMjIgN2ExIDEgMCAwIDAtMS0xaC0yYTIgMiAwIDAgMS0xLjE0My0uMzU5TDEzLjE0MyAyLjM2YTIgMiAwIDAgMC0yLjI4Ni0uMDAxTDYuMTQzIDUuNjRBMiAyIDAgMCAxIDUgNkgzYTEgMSAwIDAgMC0xIDF2MTJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0yeiIgLz4KICA8cGF0aCBkPSJNNiAxMmguMDEiIC8+CiAgPHBhdGggZD0iTTYgMTZoLjAxIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTAiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/university\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUniversity = /*#__PURE__*/(() => {\n  class LucideUniversity extends LucideIconBase {\n    static icon = {\n      name: 'university',\n      size: 24,\n      node: [['path', {\n        d: 'M14 21v-3a2 2 0 0 0-4 0v3',\n        key: '1rgiei'\n      }], ['path', {\n        d: 'M18 12h.01',\n        key: 'yjnet6'\n      }], ['path', {\n        d: 'M18 16h.01',\n        key: 'plv8zi'\n      }], ['path', {\n        d: 'M22 7a1 1 0 0 0-1-1h-2a2 2 0 0 1-1.143-.359L13.143 2.36a2 2 0 0 0-2.286-.001L6.143 5.64A2 2 0 0 1 5 6H3a1 1 0 0 0-1 1v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2z',\n        key: '1ogmi3'\n      }], ['path', {\n        d: 'M6 12h.01',\n        key: 'c2rlol'\n      }], ['path', {\n        d: 'M6 16h.01',\n        key: '1pmjb7'\n      }], ['circle', {\n        cx: '12',\n        cy: '10',\n        r: '2',\n        key: '1yojzk'\n      }]],\n      aliases: ['school-2']\n    };\n    icon = signal(LucideUniversity.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUniversity_BaseFactory;\n      return function LucideUniversity_Factory(__ngFactoryType__) {\n        return (ɵLucideUniversity_BaseFactory || (ɵLucideUniversity_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUniversity)))(__ngFactoryType__ || LucideUniversity);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUniversity,\n      selectors: [[\"svg\", \"lucideUniversity\", \"\"], [\"svg\", \"lucideSchool2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1589,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUniversity_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUniversity_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUniversity;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideUniversity\n */\nconst LucideSchool2 = LucideUniversity;\n\n/**\n * @component @name Unlink2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgN2gyYTUgNSAwIDAgMSAwIDEwaC0ybS02IDBIN0E1IDUgMCAwIDEgNyA3aDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/unlink-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUnlink2 = /*#__PURE__*/(() => {\n  class LucideUnlink2 extends LucideIconBase {\n    static icon = {\n      name: 'unlink-2',\n      size: 24,\n      node: [['path', {\n        d: 'M15 7h2a5 5 0 0 1 0 10h-2m-6 0H7A5 5 0 0 1 7 7h2',\n        key: '1re2ne'\n      }]]\n    };\n    icon = signal(LucideUnlink2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUnlink2_BaseFactory;\n      return function LucideUnlink2_Factory(__ngFactoryType__) {\n        return (ɵLucideUnlink2_BaseFactory || (ɵLucideUnlink2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUnlink2)))(__ngFactoryType__ || LucideUnlink2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUnlink2,\n      selectors: [[\"svg\", \"lucideUnlink2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1590,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUnlink2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUnlink2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUnlink2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Unlink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTguODQgMTIuMjUgMS43Mi0xLjcxaC0uMDJhNS4wMDQgNS4wMDQgMCAwIDAtLjEyLTcuMDcgNS4wMDYgNS4wMDYgMCAwIDAtNi45NSAwbC0xLjcyIDEuNzEiIC8+CiAgPHBhdGggZD0ibTUuMTcgMTEuNzUtMS43MSAxLjcxYTUuMDA0IDUuMDA0IDAgMCAwIC4xMiA3LjA3IDUuMDA2IDUuMDA2IDAgMCAwIDYuOTUgMGwxLjcxLTEuNzEiIC8+CiAgPGxpbmUgeDE9IjgiIHgyPSI4IiB5MT0iMiIgeTI9IjUiIC8+CiAgPGxpbmUgeDE9IjIiIHgyPSI1IiB5MT0iOCIgeTI9IjgiIC8+CiAgPGxpbmUgeDE9IjE2IiB4Mj0iMTYiIHkxPSIxOSIgeTI9IjIyIiAvPgogIDxsaW5lIHgxPSIxOSIgeDI9IjIyIiB5MT0iMTYiIHkyPSIxNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/unlink\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUnlink = /*#__PURE__*/(() => {\n  class LucideUnlink extends LucideIconBase {\n    static icon = {\n      name: 'unlink',\n      size: 24,\n      node: [['path', {\n        d: 'm18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71',\n        key: 'yqzxt4'\n      }], ['path', {\n        d: 'm5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71',\n        key: '4qinb0'\n      }], ['line', {\n        x1: '8',\n        x2: '8',\n        y1: '2',\n        y2: '5',\n        key: '1041cp'\n      }], ['line', {\n        x1: '2',\n        x2: '5',\n        y1: '8',\n        y2: '8',\n        key: '14m1p5'\n      }], ['line', {\n        x1: '16',\n        x2: '16',\n        y1: '19',\n        y2: '22',\n        key: 'rzdirn'\n      }], ['line', {\n        x1: '19',\n        x2: '22',\n        y1: '16',\n        y2: '16',\n        key: 'ox905f'\n      }]]\n    };\n    icon = signal(LucideUnlink.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUnlink_BaseFactory;\n      return function LucideUnlink_Factory(__ngFactoryType__) {\n        return (ɵLucideUnlink_BaseFactory || (ɵLucideUnlink_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUnlink)))(__ngFactoryType__ || LucideUnlink);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUnlink,\n      selectors: [[\"svg\", \"lucideUnlink\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1591,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUnlink_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUnlink_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUnlink;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Upload\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxMiIgLz4KICA8cGF0aCBkPSJtMTcgOC01LTUtNSA1IiAvPgogIDxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/upload\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUpload = /*#__PURE__*/(() => {\n  class LucideUpload extends LucideIconBase {\n    static icon = {\n      name: 'upload',\n      size: 24,\n      node: [['path', {\n        d: 'M12 3v12',\n        key: '1x0j5s'\n      }], ['path', {\n        d: 'm17 8-5-5-5 5',\n        key: '7q97r8'\n      }], ['path', {\n        d: 'M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4',\n        key: 'ih7n3h'\n      }]]\n    };\n    icon = signal(LucideUpload.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUpload_BaseFactory;\n      return function LucideUpload_Factory(__ngFactoryType__) {\n        return (ɵLucideUpload_BaseFactory || (ɵLucideUpload_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUpload)))(__ngFactoryType__ || LucideUpload);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUpload,\n      selectors: [[\"svg\", \"lucideUpload\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1592,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUpload_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUpload_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUpload;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Usb\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMCIgY3k9IjciIHI9IjEiIC8+CiAgPGNpcmNsZSBjeD0iNCIgY3k9IjIwIiByPSIxIiAvPgogIDxwYXRoIGQ9Ik00LjcgMTkuMyAxOSA1IiAvPgogIDxwYXRoIGQ9Im0yMSAzLTMgMSAyIDJaIiAvPgogIDxwYXRoIGQ9Ik05LjI2IDcuNjggNSAxMmwyIDUiIC8+CiAgPHBhdGggZD0ibTEwIDE0IDUgMiAzLjUtMy41IiAvPgogIDxwYXRoIGQ9Im0xOCAxMiAxLTEgMSAxLTEgMVoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/usb\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUsb = /*#__PURE__*/(() => {\n  class LucideUsb extends LucideIconBase {\n    static icon = {\n      name: 'usb',\n      size: 24,\n      node: [['circle', {\n        cx: '10',\n        cy: '7',\n        r: '1',\n        key: 'dypaad'\n      }], ['circle', {\n        cx: '4',\n        cy: '20',\n        r: '1',\n        key: '22iqad'\n      }], ['path', {\n        d: 'M4.7 19.3 19 5',\n        key: '1enqfc'\n      }], ['path', {\n        d: 'm21 3-3 1 2 2Z',\n        key: 'd3ov82'\n      }], ['path', {\n        d: 'M9.26 7.68 5 12l2 5',\n        key: '1esawj'\n      }], ['path', {\n        d: 'm10 14 5 2 3.5-3.5',\n        key: 'v8oal5'\n      }], ['path', {\n        d: 'm18 12 1-1 1 1-1 1Z',\n        key: '1bh22v'\n      }]]\n    };\n    icon = signal(LucideUsb.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUsb_BaseFactory;\n      return function LucideUsb_Factory(__ngFactoryType__) {\n        return (ɵLucideUsb_BaseFactory || (ɵLucideUsb_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUsb)))(__ngFactoryType__ || LucideUsb);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUsb,\n      selectors: [[\"svg\", \"lucideUsb\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1593,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUsb_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUsb_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUsb;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Unplug\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTkgNSAzLTMiIC8+CiAgPHBhdGggZD0ibTIgMjIgMy0zIiAvPgogIDxwYXRoIGQ9Ik02LjMgMjAuM2EyLjQgMi40IDAgMCAwIDMuNCAwTDEyIDE4bC02LTYtMi4zIDIuM2EyLjQgMi40IDAgMCAwIDAgMy40WiIgLz4KICA8cGF0aCBkPSJNNy41IDEzLjUgMTAgMTEiIC8+CiAgPHBhdGggZD0iTTEwLjUgMTYuNSAxMyAxNCIgLz4KICA8cGF0aCBkPSJtMTIgNiA2IDYgMi4zLTIuM2EyLjQgMi40IDAgMCAwIDAtMy40bC0yLjYtMi42YTIuNCAyLjQgMCAwIDAtMy40IDBaIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/unplug\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUnplug = /*#__PURE__*/(() => {\n  class LucideUnplug extends LucideIconBase {\n    static icon = {\n      name: 'unplug',\n      size: 24,\n      node: [['path', {\n        d: 'm19 5 3-3',\n        key: 'yk6iyv'\n      }], ['path', {\n        d: 'm2 22 3-3',\n        key: '19mgm9'\n      }], ['path', {\n        d: 'M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z',\n        key: 'goz73y'\n      }], ['path', {\n        d: 'M7.5 13.5 10 11',\n        key: '7xgeeb'\n      }], ['path', {\n        d: 'M10.5 16.5 13 14',\n        key: '10btkg'\n      }], ['path', {\n        d: 'm12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z',\n        key: '1snsnr'\n      }]]\n    };\n    icon = signal(LucideUnplug.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUnplug_BaseFactory;\n      return function LucideUnplug_Factory(__ngFactoryType__) {\n        return (ɵLucideUnplug_BaseFactory || (ɵLucideUnplug_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUnplug)))(__ngFactoryType__ || LucideUnplug);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUnplug,\n      selectors: [[\"svg\", \"lucideUnplug\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1594,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUnplug_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUnplug_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUnplug;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UserCog\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTVINmE0IDQgMCAwIDAtNCA0djIiIC8+CiAgPHBhdGggZD0ibTE0LjMwNSAxNi41My45MjMtLjM4MiIgLz4KICA8cGF0aCBkPSJtMTUuMjI4IDEzLjg1Mi0uOTIzLS4zODMiIC8+CiAgPHBhdGggZD0ibTE2Ljg1MiAxMi4yMjgtLjM4My0uOTIzIiAvPgogIDxwYXRoIGQ9Im0xNi44NTIgMTcuNzcyLS4zODMuOTI0IiAvPgogIDxwYXRoIGQ9Im0xOS4xNDggMTIuMjI4LjM4My0uOTIzIiAvPgogIDxwYXRoIGQ9Im0xOS41MyAxOC42OTYtLjM4Mi0uOTI0IiAvPgogIDxwYXRoIGQ9Im0yMC43NzIgMTMuODUyLjkyNC0uMzgzIiAvPgogIDxwYXRoIGQ9Im0yMC43NzIgMTYuMTQ4LjkyNC4zODMiIC8+CiAgPGNpcmNsZSBjeD0iMTgiIGN5PSIxNSIgcj0iMyIgLz4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iNyIgcj0iNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/user-cog\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserCog = /*#__PURE__*/(() => {\n  class LucideUserCog extends LucideIconBase {\n    static icon = {\n      name: 'user-cog',\n      size: 24,\n      node: [['path', {\n        d: 'M10 15H6a4 4 0 0 0-4 4v2',\n        key: '1nfge6'\n      }], ['path', {\n        d: 'm14.305 16.53.923-.382',\n        key: '1itpsq'\n      }], ['path', {\n        d: 'm15.228 13.852-.923-.383',\n        key: 'eplpkm'\n      }], ['path', {\n        d: 'm16.852 12.228-.383-.923',\n        key: '13v3q0'\n      }], ['path', {\n        d: 'm16.852 17.772-.383.924',\n        key: '1i8mnm'\n      }], ['path', {\n        d: 'm19.148 12.228.383-.923',\n        key: '1q8j1v'\n      }], ['path', {\n        d: 'm19.53 18.696-.382-.924',\n        key: 'vk1qj3'\n      }], ['path', {\n        d: 'm20.772 13.852.924-.383',\n        key: 'n880s0'\n      }], ['path', {\n        d: 'm20.772 16.148.924.383',\n        key: '1g6xey'\n      }], ['circle', {\n        cx: '18',\n        cy: '15',\n        r: '3',\n        key: 'gjjjvw'\n      }], ['circle', {\n        cx: '9',\n        cy: '7',\n        r: '4',\n        key: 'nufk8'\n      }]]\n    };\n    icon = signal(LucideUserCog.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserCog_BaseFactory;\n      return function LucideUserCog_Factory(__ngFactoryType__) {\n        return (ɵLucideUserCog_BaseFactory || (ɵLucideUserCog_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserCog)))(__ngFactoryType__ || LucideUserCog);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserCog,\n      selectors: [[\"svg\", \"lucideUserCog\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1595,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserCog_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserCog_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserCog;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UserLock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgMTZ2LTJhMiAyIDAgMCAwLTQgMHYyIiAvPgogIDxwYXRoIGQ9Ik05LjUgMTVIN2E0IDQgMCAwIDAtNCA0djIiIC8+CiAgPGNpcmNsZSBjeD0iMTAiIGN5PSI3IiByPSI0IiAvPgogIDxyZWN0IHg9IjEzIiB5PSIxNiIgd2lkdGg9IjgiIGhlaWdodD0iNSIgcng9Ii44OTkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/user-lock\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserLock = /*#__PURE__*/(() => {\n  class LucideUserLock extends LucideIconBase {\n    static icon = {\n      name: 'user-lock',\n      size: 24,\n      node: [['path', {\n        d: 'M19 16v-2a2 2 0 0 0-4 0v2',\n        key: '17sujf'\n      }], ['path', {\n        d: 'M9.5 15H7a4 4 0 0 0-4 4v2',\n        key: '9it25y'\n      }], ['circle', {\n        cx: '10',\n        cy: '7',\n        r: '4',\n        key: 'e45bow'\n      }], ['rect', {\n        x: '13',\n        y: '16',\n        width: '8',\n        height: '5',\n        rx: '.899',\n        key: 'ur80nz'\n      }]]\n    };\n    icon = signal(LucideUserLock.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserLock_BaseFactory;\n      return function LucideUserLock_Factory(__ngFactoryType__) {\n        return (ɵLucideUserLock_BaseFactory || (ɵLucideUserLock_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserLock)))(__ngFactoryType__ || LucideUserLock);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserLock,\n      selectors: [[\"svg\", \"lucideUserLock\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1596,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserLock_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserLock_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserLock;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UserCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMTEgMiAyIDQtNCIgLz4KICA8cGF0aCBkPSJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiIgLz4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iNyIgcj0iNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/user-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserCheck = /*#__PURE__*/(() => {\n  class LucideUserCheck extends LucideIconBase {\n    static icon = {\n      name: 'user-check',\n      size: 24,\n      node: [['path', {\n        d: 'm16 11 2 2 4-4',\n        key: '9rsbq5'\n      }], ['path', {\n        d: 'M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2',\n        key: '1yyitq'\n      }], ['circle', {\n        cx: '9',\n        cy: '7',\n        r: '4',\n        key: 'nufk8'\n      }]]\n    };\n    icon = signal(LucideUserCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserCheck_BaseFactory;\n      return function LucideUserCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideUserCheck_BaseFactory || (ɵLucideUserCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserCheck)))(__ngFactoryType__ || LucideUserCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserCheck,\n      selectors: [[\"svg\", \"lucideUserCheck\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1597,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UserKey\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTF2NiIgLz4KICA8cGF0aCBkPSJNMjAgMTNoMiIgLz4KICA8cGF0aCBkPSJNMyAyMXYtMmE0IDQgMCAwIDEgNC00aDZhNCA0IDAgMCAxIDIuMDcyLjU3OCIgLz4KICA8Y2lyY2xlIGN4PSIxMCIgY3k9IjciIHI9IjQiIC8+CiAgPGNpcmNsZSBjeD0iMjAiIGN5PSIxOSIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/user-key\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserKey = /*#__PURE__*/(() => {\n  class LucideUserKey extends LucideIconBase {\n    static icon = {\n      name: 'user-key',\n      size: 24,\n      node: [['path', {\n        d: 'M20 11v6',\n        key: 'd77pzp'\n      }], ['path', {\n        d: 'M20 13h2',\n        key: '16rner'\n      }], ['path', {\n        d: 'M3 21v-2a4 4 0 0 1 4-4h6a4 4 0 0 1 2.072.578',\n        key: '1yxgtw'\n      }], ['circle', {\n        cx: '10',\n        cy: '7',\n        r: '4',\n        key: 'e45bow'\n      }], ['circle', {\n        cx: '20',\n        cy: '19',\n        r: '2',\n        key: '1obnsp'\n      }]]\n    };\n    icon = signal(LucideUserKey.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserKey_BaseFactory;\n      return function LucideUserKey_Factory(__ngFactoryType__) {\n        return (ɵLucideUserKey_BaseFactory || (ɵLucideUserKey_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserKey)))(__ngFactoryType__ || LucideUserKey);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserKey,\n      selectors: [[\"svg\", \"lucideUserKey\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1598,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserKey_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserKey_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserKey;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UserMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiIgLz4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iNyIgcj0iNCIgLz4KICA8bGluZSB4MT0iMjIiIHgyPSIxNiIgeTE9IjExIiB5Mj0iMTEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/user-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserMinus = /*#__PURE__*/(() => {\n  class LucideUserMinus extends LucideIconBase {\n    static icon = {\n      name: 'user-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2',\n        key: '1yyitq'\n      }], ['circle', {\n        cx: '9',\n        cy: '7',\n        r: '4',\n        key: 'nufk8'\n      }], ['line', {\n        x1: '22',\n        x2: '16',\n        y1: '11',\n        y2: '11',\n        key: '1shjgl'\n      }]]\n    };\n    icon = signal(LucideUserMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserMinus_BaseFactory;\n      return function LucideUserMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideUserMinus_BaseFactory || (ɵLucideUserMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserMinus)))(__ngFactoryType__ || LucideUserMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserMinus,\n      selectors: [[\"svg\", \"lucideUserMinus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1599,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UserPen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuNSAxNUg3YTQgNCAwIDAgMC00IDR2MiIgLz4KICA8cGF0aCBkPSJNMjEuMzc4IDE2LjYyNmExIDEgMCAwIDAtMy4wMDQtMy4wMDRsLTQuMDEgNC4wMTJhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZ6IiAvPgogIDxjaXJjbGUgY3g9IjEwIiBjeT0iNyIgcj0iNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/user-pen\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserPen = /*#__PURE__*/(() => {\n  class LucideUserPen extends LucideIconBase {\n    static icon = {\n      name: 'user-pen',\n      size: 24,\n      node: [['path', {\n        d: 'M11.5 15H7a4 4 0 0 0-4 4v2',\n        key: '15lzij'\n      }], ['path', {\n        d: 'M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z',\n        key: '1817ys'\n      }], ['circle', {\n        cx: '10',\n        cy: '7',\n        r: '4',\n        key: 'e45bow'\n      }]]\n    };\n    icon = signal(LucideUserPen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserPen_BaseFactory;\n      return function LucideUserPen_Factory(__ngFactoryType__) {\n        return (ɵLucideUserPen_BaseFactory || (ɵLucideUserPen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserPen)))(__ngFactoryType__ || LucideUserPen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserPen,\n      selectors: [[\"svg\", \"lucideUserPen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1600,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserPen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserPen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserPen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UserRoundCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMWE4IDggMCAwIDEgMTMuMjkyLTYiIC8+CiAgPGNpcmNsZSBjeD0iMTAiIGN5PSI4IiByPSI1IiAvPgogIDxwYXRoIGQ9Im0xNiAxOSAyIDIgNC00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/user-round-check\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserRoundCheck = /*#__PURE__*/(() => {\n  class LucideUserRoundCheck extends LucideIconBase {\n    static icon = {\n      name: 'user-round-check',\n      size: 24,\n      node: [['path', {\n        d: 'M2 21a8 8 0 0 1 13.292-6',\n        key: 'bjp14o'\n      }], ['circle', {\n        cx: '10',\n        cy: '8',\n        r: '5',\n        key: 'o932ke'\n      }], ['path', {\n        d: 'm16 19 2 2 4-4',\n        key: '1b14m6'\n      }]],\n      aliases: ['user-check-2']\n    };\n    icon = signal(LucideUserRoundCheck.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserRoundCheck_BaseFactory;\n      return function LucideUserRoundCheck_Factory(__ngFactoryType__) {\n        return (ɵLucideUserRoundCheck_BaseFactory || (ɵLucideUserRoundCheck_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserRoundCheck)))(__ngFactoryType__ || LucideUserRoundCheck);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserRoundCheck,\n      selectors: [[\"svg\", \"lucideUserRoundCheck\", \"\"], [\"svg\", \"lucideUserCheck2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1601,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserRoundCheck_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserRoundCheck_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserRoundCheck;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideUserRoundCheck\n */\nconst LucideUserCheck2 = LucideUserRoundCheck;\n\n/**\n * @component @name UserPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiIgLz4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iNyIgcj0iNCIgLz4KICA8bGluZSB4MT0iMTkiIHgyPSIxOSIgeTE9IjgiIHkyPSIxNCIgLz4KICA8bGluZSB4MT0iMjIiIHgyPSIxNiIgeTE9IjExIiB5Mj0iMTEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/user-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserPlus = /*#__PURE__*/(() => {\n  class LucideUserPlus extends LucideIconBase {\n    static icon = {\n      name: 'user-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2',\n        key: '1yyitq'\n      }], ['circle', {\n        cx: '9',\n        cy: '7',\n        r: '4',\n        key: 'nufk8'\n      }], ['line', {\n        x1: '19',\n        x2: '19',\n        y1: '8',\n        y2: '14',\n        key: '1bvyxn'\n      }], ['line', {\n        x1: '22',\n        x2: '16',\n        y1: '11',\n        y2: '11',\n        key: '1shjgl'\n      }]]\n    };\n    icon = signal(LucideUserPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserPlus_BaseFactory;\n      return function LucideUserPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideUserPlus_BaseFactory || (ɵLucideUserPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserPlus)))(__ngFactoryType__ || LucideUserPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserPlus,\n      selectors: [[\"svg\", \"lucideUserPlus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1602,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UserRoundCog\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQuMzA1IDE5LjUzLjkyMy0uMzgyIiAvPgogIDxwYXRoIGQ9Im0xNS4yMjggMTYuODUyLS45MjMtLjM4MyIgLz4KICA8cGF0aCBkPSJtMTYuODUyIDE1LjIyOC0uMzgzLS45MjMiIC8+CiAgPHBhdGggZD0ibTE2Ljg1MiAyMC43NzItLjM4My45MjQiIC8+CiAgPHBhdGggZD0ibTE5LjE0OCAxNS4yMjguMzgzLS45MjMiIC8+CiAgPHBhdGggZD0ibTE5LjUzIDIxLjY5Ni0uMzgyLS45MjQiIC8+CiAgPHBhdGggZD0iTTIgMjFhOCA4IDAgMCAxIDEwLjQzNC03LjYyIiAvPgogIDxwYXRoIGQ9Im0yMC43NzIgMTYuODUyLjkyNC0uMzgzIiAvPgogIDxwYXRoIGQ9Im0yMC43NzIgMTkuMTQ4LjkyNC4zODMiIC8+CiAgPGNpcmNsZSBjeD0iMTAiIGN5PSI4IiByPSI1IiAvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/user-round-cog\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserRoundCog = /*#__PURE__*/(() => {\n  class LucideUserRoundCog extends LucideIconBase {\n    static icon = {\n      name: 'user-round-cog',\n      size: 24,\n      node: [['path', {\n        d: 'm14.305 19.53.923-.382',\n        key: '3m78fa'\n      }], ['path', {\n        d: 'm15.228 16.852-.923-.383',\n        key: 'npixar'\n      }], ['path', {\n        d: 'm16.852 15.228-.383-.923',\n        key: '5xggr7'\n      }], ['path', {\n        d: 'm16.852 20.772-.383.924',\n        key: 'dpfhf9'\n      }], ['path', {\n        d: 'm19.148 15.228.383-.923',\n        key: '1reyyz'\n      }], ['path', {\n        d: 'm19.53 21.696-.382-.924',\n        key: '1goivc'\n      }], ['path', {\n        d: 'M2 21a8 8 0 0 1 10.434-7.62',\n        key: '1yezr2'\n      }], ['path', {\n        d: 'm20.772 16.852.924-.383',\n        key: 'htqkph'\n      }], ['path', {\n        d: 'm20.772 19.148.924.383',\n        key: '9w9pjp'\n      }], ['circle', {\n        cx: '10',\n        cy: '8',\n        r: '5',\n        key: 'o932ke'\n      }], ['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }]],\n      aliases: ['user-cog-2']\n    };\n    icon = signal(LucideUserRoundCog.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserRoundCog_BaseFactory;\n      return function LucideUserRoundCog_Factory(__ngFactoryType__) {\n        return (ɵLucideUserRoundCog_BaseFactory || (ɵLucideUserRoundCog_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserRoundCog)))(__ngFactoryType__ || LucideUserRoundCog);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserRoundCog,\n      selectors: [[\"svg\", \"lucideUserRoundCog\", \"\"], [\"svg\", \"lucideUserCog2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1603,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserRoundCog_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserRoundCog_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserRoundCog;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideUserRoundCog\n */\nconst LucideUserCog2 = LucideUserRoundCog;\n\n/**\n * @component @name UserRoundKey\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgMTF2NiIgLz4KICA8cGF0aCBkPSJNMTkgMTNoMiIgLz4KICA8cGF0aCBkPSJNMiAyMWE4IDggMCAwIDEgMTIuODY4LTYuMzQ5IiAvPgogIDxjaXJjbGUgY3g9IjEwIiBjeT0iOCIgcj0iNSIgLz4KICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjE5IiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/user-round-key\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserRoundKey = /*#__PURE__*/(() => {\n  class LucideUserRoundKey extends LucideIconBase {\n    static icon = {\n      name: 'user-round-key',\n      size: 24,\n      node: [['path', {\n        d: 'M19 11v6',\n        key: 'rcqigv'\n      }], ['path', {\n        d: 'M19 13h2',\n        key: '1gch44'\n      }], ['path', {\n        d: 'M2 21a8 8 0 0 1 12.868-6.349',\n        key: '1lryzn'\n      }], ['circle', {\n        cx: '10',\n        cy: '8',\n        r: '5',\n        key: 'o932ke'\n      }], ['circle', {\n        cx: '19',\n        cy: '19',\n        r: '2',\n        key: '17f5cg'\n      }]]\n    };\n    icon = signal(LucideUserRoundKey.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserRoundKey_BaseFactory;\n      return function LucideUserRoundKey_Factory(__ngFactoryType__) {\n        return (ɵLucideUserRoundKey_BaseFactory || (ɵLucideUserRoundKey_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserRoundKey)))(__ngFactoryType__ || LucideUserRoundKey);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserRoundKey,\n      selectors: [[\"svg\", \"lucideUserRoundKey\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1604,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserRoundKey_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserRoundKey_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserRoundKey;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UserRoundMinus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMWE4IDggMCAwIDEgMTMuMjkyLTYiIC8+CiAgPGNpcmNsZSBjeD0iMTAiIGN5PSI4IiByPSI1IiAvPgogIDxwYXRoIGQ9Ik0yMiAxOWgtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/user-round-minus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserRoundMinus = /*#__PURE__*/(() => {\n  class LucideUserRoundMinus extends LucideIconBase {\n    static icon = {\n      name: 'user-round-minus',\n      size: 24,\n      node: [['path', {\n        d: 'M2 21a8 8 0 0 1 13.292-6',\n        key: 'bjp14o'\n      }], ['circle', {\n        cx: '10',\n        cy: '8',\n        r: '5',\n        key: 'o932ke'\n      }], ['path', {\n        d: 'M22 19h-6',\n        key: 'vcuq98'\n      }]],\n      aliases: ['user-minus-2']\n    };\n    icon = signal(LucideUserRoundMinus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserRoundMinus_BaseFactory;\n      return function LucideUserRoundMinus_Factory(__ngFactoryType__) {\n        return (ɵLucideUserRoundMinus_BaseFactory || (ɵLucideUserRoundMinus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserRoundMinus)))(__ngFactoryType__ || LucideUserRoundMinus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserRoundMinus,\n      selectors: [[\"svg\", \"lucideUserRoundMinus\", \"\"], [\"svg\", \"lucideUserMinus2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1605,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserRoundMinus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserRoundMinus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserRoundMinus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideUserRoundMinus\n */\nconst LucideUserMinus2 = LucideUserRoundMinus;\n\n/**\n * @component @name UserRoundPen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMWE4IDggMCAwIDEgMTAuODIxLTcuNDg3IiAvPgogIDxwYXRoIGQ9Ik0yMS4zNzggMTYuNjI2YTEgMSAwIDAgMC0zLjAwNC0zLjAwNGwtNC4wMSA0LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoiIC8+CiAgPGNpcmNsZSBjeD0iMTAiIGN5PSI4IiByPSI1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/user-round-pen\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserRoundPen = /*#__PURE__*/(() => {\n  class LucideUserRoundPen extends LucideIconBase {\n    static icon = {\n      name: 'user-round-pen',\n      size: 24,\n      node: [['path', {\n        d: 'M2 21a8 8 0 0 1 10.821-7.487',\n        key: '1c8h7z'\n      }], ['path', {\n        d: 'M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z',\n        key: '1817ys'\n      }], ['circle', {\n        cx: '10',\n        cy: '8',\n        r: '5',\n        key: 'o932ke'\n      }]]\n    };\n    icon = signal(LucideUserRoundPen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserRoundPen_BaseFactory;\n      return function LucideUserRoundPen_Factory(__ngFactoryType__) {\n        return (ɵLucideUserRoundPen_BaseFactory || (ɵLucideUserRoundPen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserRoundPen)))(__ngFactoryType__ || LucideUserRoundPen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserRoundPen,\n      selectors: [[\"svg\", \"lucideUserRoundPen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1606,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserRoundPen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserRoundPen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserRoundPen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UserRoundPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMWE4IDggMCAwIDEgMTMuMjkyLTYiIC8+CiAgPGNpcmNsZSBjeD0iMTAiIGN5PSI4IiByPSI1IiAvPgogIDxwYXRoIGQ9Ik0xOSAxNnY2IiAvPgogIDxwYXRoIGQ9Ik0yMiAxOWgtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/user-round-plus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserRoundPlus = /*#__PURE__*/(() => {\n  class LucideUserRoundPlus extends LucideIconBase {\n    static icon = {\n      name: 'user-round-plus',\n      size: 24,\n      node: [['path', {\n        d: 'M2 21a8 8 0 0 1 13.292-6',\n        key: 'bjp14o'\n      }], ['circle', {\n        cx: '10',\n        cy: '8',\n        r: '5',\n        key: 'o932ke'\n      }], ['path', {\n        d: 'M19 16v6',\n        key: 'tddt3s'\n      }], ['path', {\n        d: 'M22 19h-6',\n        key: 'vcuq98'\n      }]],\n      aliases: ['user-plus-2']\n    };\n    icon = signal(LucideUserRoundPlus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserRoundPlus_BaseFactory;\n      return function LucideUserRoundPlus_Factory(__ngFactoryType__) {\n        return (ɵLucideUserRoundPlus_BaseFactory || (ɵLucideUserRoundPlus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserRoundPlus)))(__ngFactoryType__ || LucideUserRoundPlus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserRoundPlus,\n      selectors: [[\"svg\", \"lucideUserRoundPlus\", \"\"], [\"svg\", \"lucideUserPlus2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1607,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserRoundPlus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserRoundPlus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserRoundPlus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideUserRoundPlus\n */\nconst LucideUserPlus2 = LucideUserRoundPlus;\n\n/**\n * @component @name UserRoundSearch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMCIgY3k9IjgiIHI9IjUiIC8+CiAgPHBhdGggZD0iTTIgMjFhOCA4IDAgMCAxIDEwLjQzNC03LjYyIiAvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjMiIC8+CiAgPHBhdGggZD0ibTIyIDIyLTEuOS0xLjkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/user-round-search\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserRoundSearch = /*#__PURE__*/(() => {\n  class LucideUserRoundSearch extends LucideIconBase {\n    static icon = {\n      name: 'user-round-search',\n      size: 24,\n      node: [['circle', {\n        cx: '10',\n        cy: '8',\n        r: '5',\n        key: 'o932ke'\n      }], ['path', {\n        d: 'M2 21a8 8 0 0 1 10.434-7.62',\n        key: '1yezr2'\n      }], ['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }], ['path', {\n        d: 'm22 22-1.9-1.9',\n        key: '1e5ubv'\n      }]]\n    };\n    icon = signal(LucideUserRoundSearch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserRoundSearch_BaseFactory;\n      return function LucideUserRoundSearch_Factory(__ngFactoryType__) {\n        return (ɵLucideUserRoundSearch_BaseFactory || (ɵLucideUserRoundSearch_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserRoundSearch)))(__ngFactoryType__ || LucideUserRoundSearch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserRoundSearch,\n      selectors: [[\"svg\", \"lucideUserRoundSearch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1608,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserRoundSearch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserRoundSearch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserRoundSearch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UserRound\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjgiIHI9IjUiIC8+CiAgPHBhdGggZD0iTTIwIDIxYTggOCAwIDAgMC0xNiAwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/user-round\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserRound = /*#__PURE__*/(() => {\n  class LucideUserRound extends LucideIconBase {\n    static icon = {\n      name: 'user-round',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '8',\n        r: '5',\n        key: '1hypcn'\n      }], ['path', {\n        d: 'M20 21a8 8 0 0 0-16 0',\n        key: 'rfgkzh'\n      }]],\n      aliases: ['user-2']\n    };\n    icon = signal(LucideUserRound.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserRound_BaseFactory;\n      return function LucideUserRound_Factory(__ngFactoryType__) {\n        return (ɵLucideUserRound_BaseFactory || (ɵLucideUserRound_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserRound)))(__ngFactoryType__ || LucideUserRound);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserRound,\n      selectors: [[\"svg\", \"lucideUserRound\", \"\"], [\"svg\", \"lucideUser2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1609,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserRound_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserRound_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserRound;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideUserRound\n */\nconst LucideUser2 = LucideUserRound;\n\n/**\n * @component @name UserRoundX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMWE4IDggMCAwIDEgMTEuODczLTciIC8+CiAgPGNpcmNsZSBjeD0iMTAiIGN5PSI4IiByPSI1IiAvPgogIDxwYXRoIGQ9Im0xNyAxNyA1IDUiIC8+CiAgPHBhdGggZD0ibTIyIDE3LTUgNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/user-round-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserRoundX = /*#__PURE__*/(() => {\n  class LucideUserRoundX extends LucideIconBase {\n    static icon = {\n      name: 'user-round-x',\n      size: 24,\n      node: [['path', {\n        d: 'M2 21a8 8 0 0 1 11.873-7',\n        key: '74fkxq'\n      }], ['circle', {\n        cx: '10',\n        cy: '8',\n        r: '5',\n        key: 'o932ke'\n      }], ['path', {\n        d: 'm17 17 5 5',\n        key: 'p7ous7'\n      }], ['path', {\n        d: 'm22 17-5 5',\n        key: 'gqnmv0'\n      }]],\n      aliases: ['user-x-2']\n    };\n    icon = signal(LucideUserRoundX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserRoundX_BaseFactory;\n      return function LucideUserRoundX_Factory(__ngFactoryType__) {\n        return (ɵLucideUserRoundX_BaseFactory || (ɵLucideUserRoundX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserRoundX)))(__ngFactoryType__ || LucideUserRoundX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserRoundX,\n      selectors: [[\"svg\", \"lucideUserRoundX\", \"\"], [\"svg\", \"lucideUserX2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1610,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserRoundX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserRoundX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserRoundX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideUserRoundX\n */\nconst LucideUserX2 = LucideUserRoundX;\n\n/**\n * @component @name UserSearch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMCIgY3k9IjciIHI9IjQiIC8+CiAgPHBhdGggZD0iTTEwLjMgMTVIN2E0IDQgMCAwIDAtNCA0djIiIC8+CiAgPGNpcmNsZSBjeD0iMTciIGN5PSIxNyIgcj0iMyIgLz4KICA8cGF0aCBkPSJtMjEgMjEtMS45LTEuOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/user-search\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserSearch = /*#__PURE__*/(() => {\n  class LucideUserSearch extends LucideIconBase {\n    static icon = {\n      name: 'user-search',\n      size: 24,\n      node: [['circle', {\n        cx: '10',\n        cy: '7',\n        r: '4',\n        key: 'e45bow'\n      }], ['path', {\n        d: 'M10.3 15H7a4 4 0 0 0-4 4v2',\n        key: '3bnktk'\n      }], ['circle', {\n        cx: '17',\n        cy: '17',\n        r: '3',\n        key: '18b49y'\n      }], ['path', {\n        d: 'm21 21-1.9-1.9',\n        key: '1g2n9r'\n      }]]\n    };\n    icon = signal(LucideUserSearch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserSearch_BaseFactory;\n      return function LucideUserSearch_Factory(__ngFactoryType__) {\n        return (ɵLucideUserSearch_BaseFactory || (ɵLucideUserSearch_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserSearch)))(__ngFactoryType__ || LucideUserSearch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserSearch,\n      selectors: [[\"svg\", \"lucideUserSearch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1611,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserSearch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserSearch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserSearch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UserX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiIgLz4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iNyIgcj0iNCIgLz4KICA8bGluZSB4MT0iMTciIHgyPSIyMiIgeTE9IjgiIHkyPSIxMyIgLz4KICA8bGluZSB4MT0iMjIiIHgyPSIxNyIgeTE9IjgiIHkyPSIxMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/user-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserX = /*#__PURE__*/(() => {\n  class LucideUserX extends LucideIconBase {\n    static icon = {\n      name: 'user-x',\n      size: 24,\n      node: [['path', {\n        d: 'M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2',\n        key: '1yyitq'\n      }], ['circle', {\n        cx: '9',\n        cy: '7',\n        r: '4',\n        key: 'nufk8'\n      }], ['line', {\n        x1: '17',\n        x2: '22',\n        y1: '8',\n        y2: '13',\n        key: '3nzzx3'\n      }], ['line', {\n        x1: '22',\n        x2: '17',\n        y1: '8',\n        y2: '13',\n        key: '1swrse'\n      }]]\n    };\n    icon = signal(LucideUserX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserX_BaseFactory;\n      return function LucideUserX_Factory(__ngFactoryType__) {\n        return (ɵLucideUserX_BaseFactory || (ɵLucideUserX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserX)))(__ngFactoryType__ || LucideUserX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserX,\n      selectors: [[\"svg\", \"lucideUserX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1612,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name User\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgMjF2LTJhNCA0IDAgMCAwLTQtNEg5YTQgNCAwIDAgMC00IDR2MiIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjciIHI9IjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/user\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUser = /*#__PURE__*/(() => {\n  class LucideUser extends LucideIconBase {\n    static icon = {\n      name: 'user',\n      size: 24,\n      node: [['path', {\n        d: 'M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2',\n        key: '975kel'\n      }], ['circle', {\n        cx: '12',\n        cy: '7',\n        r: '4',\n        key: '17ys0d'\n      }]]\n    };\n    icon = signal(LucideUser.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUser_BaseFactory;\n      return function LucideUser_Factory(__ngFactoryType__) {\n        return (ɵLucideUser_BaseFactory || (ɵLucideUser_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUser)))(__ngFactoryType__ || LucideUser);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUser,\n      selectors: [[\"svg\", \"lucideUser\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1613,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUser_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUser_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUser;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UserStar\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYuMDUxIDEyLjYxNmExIDEgMCAwIDEgMS45MDkuMDI0bC43MzcgMS40NTJhMSAxIDAgMCAwIC43MzcuNTM1bDEuNjM0LjI1NmExIDEgMCAwIDEgLjU4OCAxLjgwNmwtMS4xNzIgMS4xNjhhMSAxIDAgMCAwLS4yODIuODY2bC4yNTkgMS42MTNhMSAxIDAgMCAxLTEuNTQxIDEuMTM0bC0xLjQ2NS0uNzVhMSAxIDAgMCAwLS45MTIgMGwtMS40NjUuNzVhMSAxIDAgMCAxLTEuNTM5LTEuMTMzbC4yNTgtMS42MTNhMSAxIDAgMCAwLS4yODItLjg2NmwtMS4xNTYtMS4xNTNhMSAxIDAgMCAxIC41NzItMS44MjJsMS42MzMtLjI1NmExIDEgMCAwIDAgLjczNy0uNTM1eiIgLz4KICA8cGF0aCBkPSJNOCAxNUg3YTQgNCAwIDAgMC00IDR2MiIgLz4KICA8Y2lyY2xlIGN4PSIxMCIgY3k9IjciIHI9IjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/user-star\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUserStar = /*#__PURE__*/(() => {\n  class LucideUserStar extends LucideIconBase {\n    static icon = {\n      name: 'user-star',\n      size: 24,\n      node: [['path', {\n        d: 'M16.051 12.616a1 1 0 0 1 1.909.024l.737 1.452a1 1 0 0 0 .737.535l1.634.256a1 1 0 0 1 .588 1.806l-1.172 1.168a1 1 0 0 0-.282.866l.259 1.613a1 1 0 0 1-1.541 1.134l-1.465-.75a1 1 0 0 0-.912 0l-1.465.75a1 1 0 0 1-1.539-1.133l.258-1.613a1 1 0 0 0-.282-.866l-1.156-1.153a1 1 0 0 1 .572-1.822l1.633-.256a1 1 0 0 0 .737-.535z',\n        key: '1m8t9f'\n      }], ['path', {\n        d: 'M8 15H7a4 4 0 0 0-4 4v2',\n        key: 'l9tmp8'\n      }], ['circle', {\n        cx: '10',\n        cy: '7',\n        r: '4',\n        key: 'e45bow'\n      }]]\n    };\n    icon = signal(LucideUserStar.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUserStar_BaseFactory;\n      return function LucideUserStar_Factory(__ngFactoryType__) {\n        return (ɵLucideUserStar_BaseFactory || (ɵLucideUserStar_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUserStar)))(__ngFactoryType__ || LucideUserStar);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUserStar,\n      selectors: [[\"svg\", \"lucideUserStar\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1614,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUserStar_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUserStar_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUserStar;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UsersRound\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggMjFhOCA4IDAgMCAwLTE2IDAiIC8+CiAgPGNpcmNsZSBjeD0iMTAiIGN5PSI4IiByPSI1IiAvPgogIDxwYXRoIGQ9Ik0yMiAyMGMwLTMuMzctMi02LjUtNC04YTUgNSAwIDAgMC0uNDUtOC4zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/users-round\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUsersRound = /*#__PURE__*/(() => {\n  class LucideUsersRound extends LucideIconBase {\n    static icon = {\n      name: 'users-round',\n      size: 24,\n      node: [['path', {\n        d: 'M18 21a8 8 0 0 0-16 0',\n        key: '3ypg7q'\n      }], ['circle', {\n        cx: '10',\n        cy: '8',\n        r: '5',\n        key: 'o932ke'\n      }], ['path', {\n        d: 'M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3',\n        key: '10s06x'\n      }]],\n      aliases: ['users-2']\n    };\n    icon = signal(LucideUsersRound.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUsersRound_BaseFactory;\n      return function LucideUsersRound_Factory(__ngFactoryType__) {\n        return (ɵLucideUsersRound_BaseFactory || (ɵLucideUsersRound_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUsersRound)))(__ngFactoryType__ || LucideUsersRound);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUsersRound,\n      selectors: [[\"svg\", \"lucideUsersRound\", \"\"], [\"svg\", \"lucideUsers2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1615,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUsersRound_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUsersRound_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUsersRound;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideUsersRound\n */\nconst LucideUsers2 = LucideUsersRound;\n\n/**\n * @component @name Utensils\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAydjdjMCAxLjEuOSAyIDIgMmg0YTIgMiAwIDAgMCAyLTJWMiIgLz4KICA8cGF0aCBkPSJNNyAydjIwIiAvPgogIDxwYXRoIGQ9Ik0yMSAxNVYyYTUgNSAwIDAgMC01IDV2NmMwIDEuMS45IDIgMiAyaDNabTAgMHY3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/utensils\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUtensils = /*#__PURE__*/(() => {\n  class LucideUtensils extends LucideIconBase {\n    static icon = {\n      name: 'utensils',\n      size: 24,\n      node: [['path', {\n        d: 'M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2',\n        key: 'cjf0a3'\n      }], ['path', {\n        d: 'M7 2v20',\n        key: '1473qp'\n      }], ['path', {\n        d: 'M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7',\n        key: 'j28e5'\n      }]],\n      aliases: ['fork-knife']\n    };\n    icon = signal(LucideUtensils.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUtensils_BaseFactory;\n      return function LucideUtensils_Factory(__ngFactoryType__) {\n        return (ɵLucideUtensils_BaseFactory || (ɵLucideUtensils_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUtensils)))(__ngFactoryType__ || LucideUtensils);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUtensils,\n      selectors: [[\"svg\", \"lucideUtensils\", \"\"], [\"svg\", \"lucideForkKnife\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1616,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUtensils_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUtensils_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUtensils;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideUtensils\n */\nconst LucideForkKnife = LucideUtensils;\n\n/**\n * @component @name Users\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiIgLz4KICA8cGF0aCBkPSJNMTYgMy4xMjhhNCA0IDAgMCAxIDAgNy43NDQiIC8+CiAgPHBhdGggZD0iTTIyIDIxdi0yYTQgNCAwIDAgMC0zLTMuODciIC8+CiAgPGNpcmNsZSBjeD0iOSIgY3k9IjciIHI9IjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/users\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUsers = /*#__PURE__*/(() => {\n  class LucideUsers extends LucideIconBase {\n    static icon = {\n      name: 'users',\n      size: 24,\n      node: [['path', {\n        d: 'M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2',\n        key: '1yyitq'\n      }], ['path', {\n        d: 'M16 3.128a4 4 0 0 1 0 7.744',\n        key: '16gr8j'\n      }], ['path', {\n        d: 'M22 21v-2a4 4 0 0 0-3-3.87',\n        key: 'kshegd'\n      }], ['circle', {\n        cx: '9',\n        cy: '7',\n        r: '4',\n        key: 'nufk8'\n      }]]\n    };\n    icon = signal(LucideUsers.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUsers_BaseFactory;\n      return function LucideUsers_Factory(__ngFactoryType__) {\n        return (ɵLucideUsers_BaseFactory || (ɵLucideUsers_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUsers)))(__ngFactoryType__ || LucideUsers);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUsers,\n      selectors: [[\"svg\", \"lucideUsers\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1617,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUsers_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUsers_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUsers;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UtensilsCrossed\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMi0yLjMgMi4zYTMgMyAwIDAgMCAwIDQuMmwxLjggMS44YTMgMyAwIDAgMCA0LjIgMEwyMiA4IiAvPgogIDxwYXRoIGQ9Ik0xNSAxNSAzLjMgMy4zYTQuMiA0LjIgMCAwIDAgMCA2bDcuMyA3LjNjLjcuNyAyIC43IDIuOCAwTDE1IDE1Wm0wIDAgNyA3IiAvPgogIDxwYXRoIGQ9Im0yLjEgMjEuOCA2LjQtNi4zIiAvPgogIDxwYXRoIGQ9Im0xOSA1LTcgNyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/utensils-crossed\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUtensilsCrossed = /*#__PURE__*/(() => {\n  class LucideUtensilsCrossed extends LucideIconBase {\n    static icon = {\n      name: 'utensils-crossed',\n      size: 24,\n      node: [['path', {\n        d: 'm16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8',\n        key: 'n7qcjb'\n      }], ['path', {\n        d: 'M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7',\n        key: 'd0u48b'\n      }], ['path', {\n        d: 'm2.1 21.8 6.4-6.3',\n        key: 'yn04lh'\n      }], ['path', {\n        d: 'm19 5-7 7',\n        key: '194lzd'\n      }]],\n      aliases: ['fork-knife-crossed']\n    };\n    icon = signal(LucideUtensilsCrossed.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUtensilsCrossed_BaseFactory;\n      return function LucideUtensilsCrossed_Factory(__ngFactoryType__) {\n        return (ɵLucideUtensilsCrossed_BaseFactory || (ɵLucideUtensilsCrossed_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUtensilsCrossed)))(__ngFactoryType__ || LucideUtensilsCrossed);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUtensilsCrossed,\n      selectors: [[\"svg\", \"lucideUtensilsCrossed\", \"\"], [\"svg\", \"lucideForkKnifeCrossed\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1618,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUtensilsCrossed_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUtensilsCrossed_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUtensilsCrossed;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideUtensilsCrossed\n */\nconst LucideForkKnifeCrossed = LucideUtensilsCrossed;\n\n/**\n * @component @name Van\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMgNnY1YTEgMSAwIDAgMCAxIDFoNi4xMDJhMSAxIDAgMCAxIC43MTIuMjk4bC44OTguOTFhMSAxIDAgMCAxIC4yODguNzAyVjE3YTEgMSAwIDAgMS0xIDFoLTMiIC8+CiAgPHBhdGggZD0iTTUgMThIM2ExIDEgMCAwIDEtMS0xVjhhMiAyIDAgMCAxIDItMmgxMmMxLjEgMCAyLjEuOCAyLjQgMS44bDEuMTc2IDQuMiIgLz4KICA8cGF0aCBkPSJNOSAxOGg1IiAvPgogIDxjaXJjbGUgY3g9IjE2IiBjeT0iMTgiIHI9IjIiIC8+CiAgPGNpcmNsZSBjeD0iNyIgY3k9IjE4IiByPSIyIiAvPgo8L3N2Zz4=) - https://lucide.dev/icons/van\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVan = /*#__PURE__*/(() => {\n  class LucideVan extends LucideIconBase {\n    static icon = {\n      name: 'van',\n      size: 24,\n      node: [['path', {\n        d: 'M13 6v5a1 1 0 0 0 1 1h6.102a1 1 0 0 1 .712.298l.898.91a1 1 0 0 1 .288.702V17a1 1 0 0 1-1 1h-3',\n        key: 'k3s650'\n      }], ['path', {\n        d: 'M5 18H3a1 1 0 0 1-1-1V8a2 2 0 0 1 2-2h12c1.1 0 2.1.8 2.4 1.8l1.176 4.2',\n        key: 'fnd93u'\n      }], ['path', {\n        d: 'M9 18h5',\n        key: 'lrx6i'\n      }], ['circle', {\n        cx: '16',\n        cy: '18',\n        r: '2',\n        key: '1v4tcr'\n      }], ['circle', {\n        cx: '7',\n        cy: '18',\n        r: '2',\n        key: '19iecd'\n      }]]\n    };\n    icon = signal(LucideVan.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVan_BaseFactory;\n      return function LucideVan_Factory(__ngFactoryType__) {\n        return (ɵLucideVan_BaseFactory || (ɵLucideVan_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVan)))(__ngFactoryType__ || LucideVan);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVan,\n      selectors: [[\"svg\", \"lucideVan\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1619,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVan_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVan_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVan;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name UtilityPole\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYyMCIgLz4KICA8cGF0aCBkPSJNMiA1aDIwIiAvPgogIDxwYXRoIGQ9Ik0zIDN2MiIgLz4KICA8cGF0aCBkPSJNNyAzdjIiIC8+CiAgPHBhdGggZD0iTTE3IDN2MiIgLz4KICA8cGF0aCBkPSJNMjEgM3YyIiAvPgogIDxwYXRoIGQ9Im0xOSA1LTcgNy03LTciIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/utility-pole\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideUtilityPole = /*#__PURE__*/(() => {\n  class LucideUtilityPole extends LucideIconBase {\n    static icon = {\n      name: 'utility-pole',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v20',\n        key: 't6zp3m'\n      }], ['path', {\n        d: 'M2 5h20',\n        key: '1fs1ex'\n      }], ['path', {\n        d: 'M3 3v2',\n        key: '9imdir'\n      }], ['path', {\n        d: 'M7 3v2',\n        key: 'n0os7'\n      }], ['path', {\n        d: 'M17 3v2',\n        key: '1l2re6'\n      }], ['path', {\n        d: 'M21 3v2',\n        key: '1duuac'\n      }], ['path', {\n        d: 'm19 5-7 7-7-7',\n        key: '133zxf'\n      }]]\n    };\n    icon = signal(LucideUtilityPole.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideUtilityPole_BaseFactory;\n      return function LucideUtilityPole_Factory(__ngFactoryType__) {\n        return (ɵLucideUtilityPole_BaseFactory || (ɵLucideUtilityPole_BaseFactory = i0.ɵɵgetInheritedFactory(LucideUtilityPole)))(__ngFactoryType__ || LucideUtilityPole);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideUtilityPole,\n      selectors: [[\"svg\", \"lucideUtilityPole\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1620,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideUtilityPole_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideUtilityPole_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideUtilityPole;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Variable\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAyMXMtNC0zLTQtOSA0LTkgNC05IiAvPgogIDxwYXRoIGQ9Ik0xNiAzczQgMyA0IDktNCA5LTQgOSIgLz4KICA8bGluZSB4MT0iMTUiIHgyPSI5IiB5MT0iOSIgeTI9IjE1IiAvPgogIDxsaW5lIHgxPSI5IiB4Mj0iMTUiIHkxPSI5IiB5Mj0iMTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/variable\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVariable = /*#__PURE__*/(() => {\n  class LucideVariable extends LucideIconBase {\n    static icon = {\n      name: 'variable',\n      size: 24,\n      node: [['path', {\n        d: 'M8 21s-4-3-4-9 4-9 4-9',\n        key: 'uto9ud'\n      }], ['path', {\n        d: 'M16 3s4 3 4 9-4 9-4 9',\n        key: '4w2vsq'\n      }], ['line', {\n        x1: '15',\n        x2: '9',\n        y1: '9',\n        y2: '15',\n        key: 'f7djnv'\n      }], ['line', {\n        x1: '9',\n        x2: '15',\n        y1: '9',\n        y2: '15',\n        key: '1shsy8'\n      }]]\n    };\n    icon = signal(LucideVariable.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVariable_BaseFactory;\n      return function LucideVariable_Factory(__ngFactoryType__) {\n        return (ɵLucideVariable_BaseFactory || (ɵLucideVariable_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVariable)))(__ngFactoryType__ || LucideVariable);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVariable,\n      selectors: [[\"svg\", \"lucideVariable\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1621,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVariable_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVariable_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVariable;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name VectorSquare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkuNSA3YTI0IDI0IDAgMCAxIDAgMTAiIC8+CiAgPHBhdGggZD0iTTQuNSA3YTI0IDI0IDAgMCAwIDAgMTAiIC8+CiAgPHBhdGggZD0iTTcgMTkuNWEyNCAyNCAwIDAgMCAxMCAwIiAvPgogIDxwYXRoIGQ9Ik03IDQuNWEyNCAyNCAwIDAgMSAxMCAwIiAvPgogIDxyZWN0IHg9IjE3IiB5PSIxNyIgd2lkdGg9IjUiIGhlaWdodD0iNSIgcng9IjEiIC8+CiAgPHJlY3QgeD0iMTciIHk9IjIiIHdpZHRoPSI1IiBoZWlnaHQ9IjUiIHJ4PSIxIiAvPgogIDxyZWN0IHg9IjIiIHk9IjE3IiB3aWR0aD0iNSIgaGVpZ2h0PSI1IiByeD0iMSIgLz4KICA8cmVjdCB4PSIyIiB5PSIyIiB3aWR0aD0iNSIgaGVpZ2h0PSI1IiByeD0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/vector-square\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVectorSquare = /*#__PURE__*/(() => {\n  class LucideVectorSquare extends LucideIconBase {\n    static icon = {\n      name: 'vector-square',\n      size: 24,\n      node: [['path', {\n        d: 'M19.5 7a24 24 0 0 1 0 10',\n        key: '8n60xe'\n      }], ['path', {\n        d: 'M4.5 7a24 24 0 0 0 0 10',\n        key: '2lmadr'\n      }], ['path', {\n        d: 'M7 19.5a24 24 0 0 0 10 0',\n        key: '1q94o2'\n      }], ['path', {\n        d: 'M7 4.5a24 24 0 0 1 10 0',\n        key: '2z8ypa'\n      }], ['rect', {\n        x: '17',\n        y: '17',\n        width: '5',\n        height: '5',\n        rx: '1',\n        key: '1ac74s'\n      }], ['rect', {\n        x: '17',\n        y: '2',\n        width: '5',\n        height: '5',\n        rx: '1',\n        key: '1e7h5j'\n      }], ['rect', {\n        x: '2',\n        y: '17',\n        width: '5',\n        height: '5',\n        rx: '1',\n        key: '1t4eah'\n      }], ['rect', {\n        x: '2',\n        y: '2',\n        width: '5',\n        height: '5',\n        rx: '1',\n        key: '940dhs'\n      }]]\n    };\n    icon = signal(LucideVectorSquare.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVectorSquare_BaseFactory;\n      return function LucideVectorSquare_Factory(__ngFactoryType__) {\n        return (ɵLucideVectorSquare_BaseFactory || (ɵLucideVectorSquare_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVectorSquare)))(__ngFactoryType__ || LucideVectorSquare);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVectorSquare,\n      selectors: [[\"svg\", \"lucideVectorSquare\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1622,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVectorSquare_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVectorSquare_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVectorSquare;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Vault\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxjaXJjbGUgY3g9IjcuNSIgY3k9IjcuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KICA8cGF0aCBkPSJtNy45IDcuOSAyLjcgMi43IiAvPgogIDxjaXJjbGUgY3g9IjE2LjUiIGN5PSI3LjUiIHI9Ii41IiBmaWxsPSJjdXJyZW50Q29sb3IiIC8+CiAgPHBhdGggZD0ibTEzLjQgMTAuNiAyLjctMi43IiAvPgogIDxjaXJjbGUgY3g9IjcuNSIgY3k9IjE2LjUiIHI9Ii41IiBmaWxsPSJjdXJyZW50Q29sb3IiIC8+CiAgPHBhdGggZD0ibTcuOSAxNi4xIDIuNy0yLjciIC8+CiAgPGNpcmNsZSBjeD0iMTYuNSIgY3k9IjE2LjUiIHI9Ii41IiBmaWxsPSJjdXJyZW50Q29sb3IiIC8+CiAgPHBhdGggZD0ibTEzLjQgMTMuNCAyLjcgMi43IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/vault\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVault = /*#__PURE__*/(() => {\n  class LucideVault extends LucideIconBase {\n    static icon = {\n      name: 'vault',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['circle', {\n        cx: '7.5',\n        cy: '7.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: 'kqv944'\n      }], ['path', {\n        d: 'm7.9 7.9 2.7 2.7',\n        key: 'hpeyl3'\n      }], ['circle', {\n        cx: '16.5',\n        cy: '7.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: 'w0ekpg'\n      }], ['path', {\n        d: 'm13.4 10.6 2.7-2.7',\n        key: '264c1n'\n      }], ['circle', {\n        cx: '7.5',\n        cy: '16.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: 'nkw3mc'\n      }], ['path', {\n        d: 'm7.9 16.1 2.7-2.7',\n        key: 'p81g5e'\n      }], ['circle', {\n        cx: '16.5',\n        cy: '16.5',\n        r: '.5',\n        fill: 'currentColor',\n        key: 'fubopw'\n      }], ['path', {\n        d: 'm13.4 13.4 2.7 2.7',\n        key: 'abhel3'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '2',\n        key: '1c9p78'\n      }]]\n    };\n    icon = signal(LucideVault.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVault_BaseFactory;\n      return function LucideVault_Factory(__ngFactoryType__) {\n        return (ɵLucideVault_BaseFactory || (ɵLucideVault_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVault)))(__ngFactoryType__ || LucideVault);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVault,\n      selectors: [[\"svg\", \"lucideVault\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1623,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVault_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVault_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVault;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Vegan\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgOHE2IDAgNi02LTYgMC02IDYiIC8+CiAgPHBhdGggZD0iTTE3LjQxIDMuNTlhMTAgMTAgMCAxIDAgMyAzIiAvPgogIDxwYXRoIGQ9Ik0yIDJhMjYuNiAyNi42IDAgMCAxIDEwIDIwYy45LTYuODIgMS41LTkuNSA0LTE0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/vegan\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVegan = /*#__PURE__*/(() => {\n  class LucideVegan extends LucideIconBase {\n    static icon = {\n      name: 'vegan',\n      size: 24,\n      node: [['path', {\n        d: 'M16 8q6 0 6-6-6 0-6 6',\n        key: 'qsyyc4'\n      }], ['path', {\n        d: 'M17.41 3.59a10 10 0 1 0 3 3',\n        key: '41m9h7'\n      }], ['path', {\n        d: 'M2 2a26.6 26.6 0 0 1 10 20c.9-6.82 1.5-9.5 4-14',\n        key: 'qiv7li'\n      }]]\n    };\n    icon = signal(LucideVegan.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVegan_BaseFactory;\n      return function LucideVegan_Factory(__ngFactoryType__) {\n        return (ɵLucideVegan_BaseFactory || (ɵLucideVegan_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVegan)))(__ngFactoryType__ || LucideVegan);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVegan,\n      selectors: [[\"svg\", \"lucideVegan\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1624,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVegan_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVegan_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVegan;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name VenusAndMars\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMjBoNCIgLz4KICA8cGF0aCBkPSJNMTIgMTZ2NiIgLz4KICA8cGF0aCBkPSJNMTcgMmg0djQiIC8+CiAgPHBhdGggZD0ibTIxIDItNS40NiA1LjQ2IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTEiIHI9IjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/venus-and-mars\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVenusAndMars = /*#__PURE__*/(() => {\n  class LucideVenusAndMars extends LucideIconBase {\n    static icon = {\n      name: 'venus-and-mars',\n      size: 24,\n      node: [['path', {\n        d: 'M10 20h4',\n        key: 'ni2waw'\n      }], ['path', {\n        d: 'M12 16v6',\n        key: 'c8a4gj'\n      }], ['path', {\n        d: 'M17 2h4v4',\n        key: 'vhe59'\n      }], ['path', {\n        d: 'm21 2-5.46 5.46',\n        key: '19kypf'\n      }], ['circle', {\n        cx: '12',\n        cy: '11',\n        r: '5',\n        key: '16gxyc'\n      }]]\n    };\n    icon = signal(LucideVenusAndMars.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVenusAndMars_BaseFactory;\n      return function LucideVenusAndMars_Factory(__ngFactoryType__) {\n        return (ɵLucideVenusAndMars_BaseFactory || (ɵLucideVenusAndMars_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVenusAndMars)))(__ngFactoryType__ || LucideVenusAndMars);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVenusAndMars,\n      selectors: [[\"svg\", \"lucideVenusAndMars\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1625,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVenusAndMars_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVenusAndMars_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVenusAndMars;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name VenetianMask\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggMTFjLTEuNSAwLTIuNS41LTMgMiIgLz4KICA8cGF0aCBkPSJNNCA2YTIgMiAwIDAgMC0yIDJ2NGE1IDUgMCAwIDAgNSA1IDggOCAwIDAgMSA1IDIgOCA4IDAgMCAxIDUtMiA1IDUgMCAwIDAgNS01VjhhMiAyIDAgMCAwLTItMmgtM2E4IDggMCAwIDAtNSAyIDggOCAwIDAgMC01LTJ6IiAvPgogIDxwYXRoIGQ9Ik02IDExYzEuNSAwIDIuNS41IDMgMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/venetian-mask\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVenetianMask = /*#__PURE__*/(() => {\n  class LucideVenetianMask extends LucideIconBase {\n    static icon = {\n      name: 'venetian-mask',\n      size: 24,\n      node: [['path', {\n        d: 'M18 11c-1.5 0-2.5.5-3 2',\n        key: '1fod00'\n      }], ['path', {\n        d: 'M4 6a2 2 0 0 0-2 2v4a5 5 0 0 0 5 5 8 8 0 0 1 5 2 8 8 0 0 1 5-2 5 5 0 0 0 5-5V8a2 2 0 0 0-2-2h-3a8 8 0 0 0-5 2 8 8 0 0 0-5-2z',\n        key: 'd70hit'\n      }], ['path', {\n        d: 'M6 11c1.5 0 2.5.5 3 2',\n        key: '136fht'\n      }]]\n    };\n    icon = signal(LucideVenetianMask.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVenetianMask_BaseFactory;\n      return function LucideVenetianMask_Factory(__ngFactoryType__) {\n        return (ɵLucideVenetianMask_BaseFactory || (ɵLucideVenetianMask_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVenetianMask)))(__ngFactoryType__ || LucideVenetianMask);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVenetianMask,\n      selectors: [[\"svg\", \"lucideVenetianMask\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1626,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVenetianMask_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVenetianMask_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVenetianMask;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Venus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTV2NyIgLz4KICA8cGF0aCBkPSJNOSAxOWg2IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iOSIgcj0iNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/venus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVenus = /*#__PURE__*/(() => {\n  class LucideVenus extends LucideIconBase {\n    static icon = {\n      name: 'venus',\n      size: 24,\n      node: [['path', {\n        d: 'M12 15v7',\n        key: 't2xh3l'\n      }], ['path', {\n        d: 'M9 19h6',\n        key: '456am0'\n      }], ['circle', {\n        cx: '12',\n        cy: '9',\n        r: '6',\n        key: '1nw4tq'\n      }]]\n    };\n    icon = signal(LucideVenus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVenus_BaseFactory;\n      return function LucideVenus_Factory(__ngFactoryType__) {\n        return (ɵLucideVenus_BaseFactory || (ɵLucideVenus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVenus)))(__ngFactoryType__ || LucideVenus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVenus,\n      selectors: [[\"svg\", \"lucideVenus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1627,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVenus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVenus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVenus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name VibrateOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMiA4IDIgMi0yIDIgMiAyLTIgMiIgLz4KICA8cGF0aCBkPSJtMjIgOC0yIDIgMiAyLTIgMiAyIDIiIC8+CiAgPHBhdGggZD0iTTggOHYxMGMwIC41NS40NSAxIDEgMWg2Yy41NSAwIDEtLjQ1IDEtMXYtMiIgLz4KICA8cGF0aCBkPSJNMTYgMTAuMzRWNmMwLS41NS0uNDUtMS0xLTFoLTQuMzQiIC8+CiAgPGxpbmUgeDE9IjIiIHgyPSIyMiIgeTE9IjIiIHkyPSIyMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/vibrate-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVibrateOff = /*#__PURE__*/(() => {\n  class LucideVibrateOff extends LucideIconBase {\n    static icon = {\n      name: 'vibrate-off',\n      size: 24,\n      node: [['path', {\n        d: 'm2 8 2 2-2 2 2 2-2 2',\n        key: 'sv1b1'\n      }], ['path', {\n        d: 'm22 8-2 2 2 2-2 2 2 2',\n        key: '101i4y'\n      }], ['path', {\n        d: 'M8 8v10c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2',\n        key: '1hbad5'\n      }], ['path', {\n        d: 'M16 10.34V6c0-.55-.45-1-1-1h-4.34',\n        key: '1x5tf0'\n      }], ['line', {\n        x1: '2',\n        x2: '22',\n        y1: '2',\n        y2: '22',\n        key: 'a6p6uj'\n      }]]\n    };\n    icon = signal(LucideVibrateOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVibrateOff_BaseFactory;\n      return function LucideVibrateOff_Factory(__ngFactoryType__) {\n        return (ɵLucideVibrateOff_BaseFactory || (ɵLucideVibrateOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVibrateOff)))(__ngFactoryType__ || LucideVibrateOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVibrateOff,\n      selectors: [[\"svg\", \"lucideVibrateOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1628,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVibrateOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVibrateOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVibrateOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Vibrate\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMiA4IDIgMi0yIDIgMiAyLTIgMiIgLz4KICA8cGF0aCBkPSJtMjIgOC0yIDIgMiAyLTIgMiAyIDIiIC8+CiAgPHJlY3Qgd2lkdGg9IjgiIGhlaWdodD0iMTQiIHg9IjgiIHk9IjUiIHJ4PSIxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/vibrate\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVibrate = /*#__PURE__*/(() => {\n  class LucideVibrate extends LucideIconBase {\n    static icon = {\n      name: 'vibrate',\n      size: 24,\n      node: [['path', {\n        d: 'm2 8 2 2-2 2 2 2-2 2',\n        key: 'sv1b1'\n      }], ['path', {\n        d: 'm22 8-2 2 2 2-2 2 2 2',\n        key: '101i4y'\n      }], ['rect', {\n        width: '8',\n        height: '14',\n        x: '8',\n        y: '5',\n        rx: '1',\n        key: '1oyrl4'\n      }]]\n    };\n    icon = signal(LucideVibrate.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVibrate_BaseFactory;\n      return function LucideVibrate_Factory(__ngFactoryType__) {\n        return (ɵLucideVibrate_BaseFactory || (ɵLucideVibrate_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVibrate)))(__ngFactoryType__ || LucideVibrate);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVibrate,\n      selectors: [[\"svg\", \"lucideVibrate\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1629,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVibrate_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVibrate_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVibrate;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name VideoOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNjYgNkgxNGEyIDIgMCAwIDEgMiAydjIuNWw1LjI0OC0zLjA2MkEuNS41IDAgMCAxIDIyIDcuODd2OC4xOTYiIC8+CiAgPHBhdGggZD0iTTE2IDE2YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Im0yIDIgMjAgMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/video-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVideoOff = /*#__PURE__*/(() => {\n  class LucideVideoOff extends LucideIconBase {\n    static icon = {\n      name: 'video-off',\n      size: 24,\n      node: [['path', {\n        d: 'M10.66 6H14a2 2 0 0 1 2 2v2.5l5.248-3.062A.5.5 0 0 1 22 7.87v8.196',\n        key: 'w8jjjt'\n      }], ['path', {\n        d: 'M16 16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2',\n        key: '1xawa7'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucideVideoOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVideoOff_BaseFactory;\n      return function LucideVideoOff_Factory(__ngFactoryType__) {\n        return (ɵLucideVideoOff_BaseFactory || (ɵLucideVideoOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVideoOff)))(__ngFactoryType__ || LucideVideoOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVideoOff,\n      selectors: [[\"svg\", \"lucideVideoOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1630,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVideoOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVideoOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVideoOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Videotape\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHg9IjIiIHk9IjQiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0yIDhoMjAiIC8+CiAgPGNpcmNsZSBjeD0iOCIgY3k9IjE0IiByPSIyIiAvPgogIDxwYXRoIGQ9Ik04IDEyaDgiIC8+CiAgPGNpcmNsZSBjeD0iMTYiIGN5PSIxNCIgcj0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/videotape\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVideotape = /*#__PURE__*/(() => {\n  class LucideVideotape extends LucideIconBase {\n    static icon = {\n      name: 'videotape',\n      size: 24,\n      node: [['rect', {\n        width: '20',\n        height: '16',\n        x: '2',\n        y: '4',\n        rx: '2',\n        key: '18n3k1'\n      }], ['path', {\n        d: 'M2 8h20',\n        key: 'd11cs7'\n      }], ['circle', {\n        cx: '8',\n        cy: '14',\n        r: '2',\n        key: '1k2qr5'\n      }], ['path', {\n        d: 'M8 12h8',\n        key: '1wcyev'\n      }], ['circle', {\n        cx: '16',\n        cy: '14',\n        r: '2',\n        key: '14k7lr'\n      }]]\n    };\n    icon = signal(LucideVideotape.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVideotape_BaseFactory;\n      return function LucideVideotape_Factory(__ngFactoryType__) {\n        return (ɵLucideVideotape_BaseFactory || (ɵLucideVideotape_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVideotape)))(__ngFactoryType__ || LucideVideotape);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVideotape,\n      selectors: [[\"svg\", \"lucideVideotape\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1631,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVideotape_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVideotape_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVideotape;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Video\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMTMgNS4yMjMgMy40ODJhLjUuNSAwIDAgMCAuNzc3LS40MTZWNy44N2EuNS41IDAgMCAwLS43NTItLjQzMkwxNiAxMC41IiAvPgogIDxyZWN0IHg9IjIiIHk9IjYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxMiIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/video\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVideo = /*#__PURE__*/(() => {\n  class LucideVideo extends LucideIconBase {\n    static icon = {\n      name: 'video',\n      size: 24,\n      node: [['path', {\n        d: 'm16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5',\n        key: 'ftymec'\n      }], ['rect', {\n        x: '2',\n        y: '6',\n        width: '14',\n        height: '12',\n        rx: '2',\n        key: '158x01'\n      }]]\n    };\n    icon = signal(LucideVideo.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVideo_BaseFactory;\n      return function LucideVideo_Factory(__ngFactoryType__) {\n        return (ɵLucideVideo_BaseFactory || (ɵLucideVideo_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVideo)))(__ngFactoryType__ || LucideVideo);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVideo,\n      selectors: [[\"svg\", \"lucideVideo\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1632,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVideo_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVideo_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVideo;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name View\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTd2MmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtMiIgLz4KICA8cGF0aCBkPSJNMjEgN1Y1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjIiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMSIgLz4KICA8cGF0aCBkPSJNMTguOTQ0IDEyLjMzYTEgMSAwIDAgMCAwLS42NiA3LjUgNy41IDAgMCAwLTEzLjg4OCAwIDEgMSAwIDAgMCAwIC42NiA3LjUgNy41IDAgMCAwIDEzLjg4OCAwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/view\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideView = /*#__PURE__*/(() => {\n  class LucideView extends LucideIconBase {\n    static icon = {\n      name: 'view',\n      size: 24,\n      node: [['path', {\n        d: 'M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2',\n        key: 'mrq65r'\n      }], ['path', {\n        d: 'M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2',\n        key: 'be3xqs'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '1',\n        key: '41hilf'\n      }], ['path', {\n        d: 'M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0',\n        key: '11ak4c'\n      }]]\n    };\n    icon = signal(LucideView.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideView_BaseFactory;\n      return function LucideView_Factory(__ngFactoryType__) {\n        return (ɵLucideView_BaseFactory || (ɵLucideView_BaseFactory = i0.ɵɵgetInheritedFactory(LucideView)))(__ngFactoryType__ || LucideView);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideView,\n      selectors: [[\"svg\", \"lucideView\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1633,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideView_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideView_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideView;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Volume1\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgNC43MDJhLjcwNS43MDUgMCAwIDAtMS4yMDMtLjQ5OEw2LjQxMyA3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OHoiIC8+CiAgPHBhdGggZD0iTTE2IDlhNSA1IDAgMCAxIDAgNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/volume-1\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVolume1 = /*#__PURE__*/(() => {\n  class LucideVolume1 extends LucideIconBase {\n    static icon = {\n      name: 'volume-1',\n      size: 24,\n      node: [['path', {\n        d: 'M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z',\n        key: 'uqj9uw'\n      }], ['path', {\n        d: 'M16 9a5 5 0 0 1 0 6',\n        key: '1q6k2b'\n      }]]\n    };\n    icon = signal(LucideVolume1.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVolume1_BaseFactory;\n      return function LucideVolume1_Factory(__ngFactoryType__) {\n        return (ɵLucideVolume1_BaseFactory || (ɵLucideVolume1_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVolume1)))(__ngFactoryType__ || LucideVolume1);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVolume1,\n      selectors: [[\"svg\", \"lucideVolume1\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1634,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVolume1_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVolume1_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVolume1;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Volleyball\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuMSA3LjFhMTYuNTUgMTYuNTUgMCAwIDEgMTAuOSA0IiAvPgogIDxwYXRoIGQ9Ik0xMiAxMmExMi42IDEyLjYgMCAwIDEtOC43IDUiIC8+CiAgPHBhdGggZD0iTTE2LjggMTMuNmExNi41NSAxNi41NSAwIDAgMS05IDcuNSIgLz4KICA8cGF0aCBkPSJNMjAuNyAxN2ExMi44IDEyLjggMCAwIDAtOC43LTUgMTMuMyAxMy4zIDAgMCAxIDAtMTAiIC8+CiAgPHBhdGggZD0iTTYuMyAzLjhhMTYuNTUgMTYuNTUgMCAwIDAgMS45IDExLjUiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/volleyball\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVolleyball = /*#__PURE__*/(() => {\n  class LucideVolleyball extends LucideIconBase {\n    static icon = {\n      name: 'volleyball',\n      size: 24,\n      node: [['path', {\n        d: 'M11.1 7.1a16.55 16.55 0 0 1 10.9 4',\n        key: '2880wi'\n      }], ['path', {\n        d: 'M12 12a12.6 12.6 0 0 1-8.7 5',\n        key: '113sja'\n      }], ['path', {\n        d: 'M16.8 13.6a16.55 16.55 0 0 1-9 7.5',\n        key: '1qmsgl'\n      }], ['path', {\n        d: 'M20.7 17a12.8 12.8 0 0 0-8.7-5 13.3 13.3 0 0 1 0-10',\n        key: '1bmeqp'\n      }], ['path', {\n        d: 'M6.3 3.8a16.55 16.55 0 0 0 1.9 11.5',\n        key: 'iekzv9'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '10',\n        key: '1mglay'\n      }]]\n    };\n    icon = signal(LucideVolleyball.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVolleyball_BaseFactory;\n      return function LucideVolleyball_Factory(__ngFactoryType__) {\n        return (ɵLucideVolleyball_BaseFactory || (ɵLucideVolleyball_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVolleyball)))(__ngFactoryType__ || LucideVolleyball);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVolleyball,\n      selectors: [[\"svg\", \"lucideVolleyball\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1635,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVolleyball_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVolleyball_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVolleyball;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Voicemail\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI2IiBjeT0iMTIiIHI9IjQiIC8+CiAgPGNpcmNsZSBjeD0iMTgiIGN5PSIxMiIgcj0iNCIgLz4KICA8bGluZSB4MT0iNiIgeDI9IjE4IiB5MT0iMTYiIHkyPSIxNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/voicemail\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVoicemail = /*#__PURE__*/(() => {\n  class LucideVoicemail extends LucideIconBase {\n    static icon = {\n      name: 'voicemail',\n      size: 24,\n      node: [['circle', {\n        cx: '6',\n        cy: '12',\n        r: '4',\n        key: '1ehtga'\n      }], ['circle', {\n        cx: '18',\n        cy: '12',\n        r: '4',\n        key: '4vafl8'\n      }], ['line', {\n        x1: '6',\n        x2: '18',\n        y1: '16',\n        y2: '16',\n        key: 'pmt8us'\n      }]]\n    };\n    icon = signal(LucideVoicemail.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVoicemail_BaseFactory;\n      return function LucideVoicemail_Factory(__ngFactoryType__) {\n        return (ɵLucideVoicemail_BaseFactory || (ɵLucideVoicemail_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVoicemail)))(__ngFactoryType__ || LucideVoicemail);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVoicemail,\n      selectors: [[\"svg\", \"lucideVoicemail\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1636,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVoicemail_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVoicemail_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVoicemail;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Volume2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgNC43MDJhLjcwNS43MDUgMCAwIDAtMS4yMDMtLjQ5OEw2LjQxMyA3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OHoiIC8+CiAgPHBhdGggZD0iTTE2IDlhNSA1IDAgMCAxIDAgNiIgLz4KICA8cGF0aCBkPSJNMTkuMzY0IDE4LjM2NGE5IDkgMCAwIDAgMC0xMi43MjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/volume-2\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVolume2 = /*#__PURE__*/(() => {\n  class LucideVolume2 extends LucideIconBase {\n    static icon = {\n      name: 'volume-2',\n      size: 24,\n      node: [['path', {\n        d: 'M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z',\n        key: 'uqj9uw'\n      }], ['path', {\n        d: 'M16 9a5 5 0 0 1 0 6',\n        key: '1q6k2b'\n      }], ['path', {\n        d: 'M19.364 18.364a9 9 0 0 0 0-12.728',\n        key: 'ijwkga'\n      }]]\n    };\n    icon = signal(LucideVolume2.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVolume2_BaseFactory;\n      return function LucideVolume2_Factory(__ngFactoryType__) {\n        return (ɵLucideVolume2_BaseFactory || (ɵLucideVolume2_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVolume2)))(__ngFactoryType__ || LucideVolume2);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVolume2,\n      selectors: [[\"svg\", \"lucideVolume2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1637,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVolume2_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVolume2_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVolume2;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name VolumeOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgOWE1IDUgMCAwIDEgLjk1IDIuMjkzIiAvPgogIDxwYXRoIGQ9Ik0xOS4zNjQgNS42MzZhOSA5IDAgMCAxIDEuODg5IDkuOTYiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJtNyA3LS41ODcuNTg3QTEuNCAxLjQgMCAwIDEgNS40MTYgOEgzYTEgMSAwIDAgMC0xIDF2NmExIDEgMCAwIDAgMSAxaDIuNDE2YTEuNCAxLjQgMCAwIDEgLjk5Ny40MTNsMy4zODMgMy4zODRBLjcwNS43MDUgMCAwIDAgMTEgMTkuMjk4VjExIiAvPgogIDxwYXRoIGQ9Ik05LjgyOCA0LjE3MkEuNjg2LjY4NiAwIDAgMSAxMSA0LjY1N3YuNjg2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/volume-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVolumeOff = /*#__PURE__*/(() => {\n  class LucideVolumeOff extends LucideIconBase {\n    static icon = {\n      name: 'volume-off',\n      size: 24,\n      node: [['path', {\n        d: 'M16 9a5 5 0 0 1 .95 2.293',\n        key: '1fgyg8'\n      }], ['path', {\n        d: 'M19.364 5.636a9 9 0 0 1 1.889 9.96',\n        key: 'l3zxae'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }], ['path', {\n        d: 'm7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11',\n        key: '1gbwow'\n      }], ['path', {\n        d: 'M9.828 4.172A.686.686 0 0 1 11 4.657v.686',\n        key: 's2je0y'\n      }]]\n    };\n    icon = signal(LucideVolumeOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVolumeOff_BaseFactory;\n      return function LucideVolumeOff_Factory(__ngFactoryType__) {\n        return (ɵLucideVolumeOff_BaseFactory || (ɵLucideVolumeOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVolumeOff)))(__ngFactoryType__ || LucideVolumeOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVolumeOff,\n      selectors: [[\"svg\", \"lucideVolumeOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1638,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVolumeOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVolumeOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVolumeOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name VolumeX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgNC43MDJhLjcwNS43MDUgMCAwIDAtMS4yMDMtLjQ5OEw2LjQxMyA3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OHoiIC8+CiAgPGxpbmUgeDE9IjIyIiB4Mj0iMTYiIHkxPSI5IiB5Mj0iMTUiIC8+CiAgPGxpbmUgeDE9IjE2IiB4Mj0iMjIiIHkxPSI5IiB5Mj0iMTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/volume-x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVolumeX = /*#__PURE__*/(() => {\n  class LucideVolumeX extends LucideIconBase {\n    static icon = {\n      name: 'volume-x',\n      size: 24,\n      node: [['path', {\n        d: 'M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z',\n        key: 'uqj9uw'\n      }], ['line', {\n        x1: '22',\n        x2: '16',\n        y1: '9',\n        y2: '15',\n        key: '1ewh16'\n      }], ['line', {\n        x1: '16',\n        x2: '22',\n        y1: '9',\n        y2: '15',\n        key: '5ykzw1'\n      }]]\n    };\n    icon = signal(LucideVolumeX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVolumeX_BaseFactory;\n      return function LucideVolumeX_Factory(__ngFactoryType__) {\n        return (ɵLucideVolumeX_BaseFactory || (ɵLucideVolumeX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVolumeX)))(__ngFactoryType__ || LucideVolumeX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVolumeX,\n      selectors: [[\"svg\", \"lucideVolumeX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1639,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVolumeX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVolumeX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVolumeX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Volume\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgNC43MDJhLjcwNS43MDUgMCAwIDAtMS4yMDMtLjQ5OEw2LjQxMyA3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OHoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/volume\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVolume = /*#__PURE__*/(() => {\n  class LucideVolume extends LucideIconBase {\n    static icon = {\n      name: 'volume',\n      size: 24,\n      node: [['path', {\n        d: 'M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z',\n        key: 'uqj9uw'\n      }]]\n    };\n    icon = signal(LucideVolume.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVolume_BaseFactory;\n      return function LucideVolume_Factory(__ngFactoryType__) {\n        return (ɵLucideVolume_BaseFactory || (ɵLucideVolume_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVolume)))(__ngFactoryType__ || LucideVolume);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVolume,\n      selectors: [[\"svg\", \"lucideVolume\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1640,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVolume_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVolume_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVolume;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Vote\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOSAxMiAyIDIgNC00IiAvPgogIDxwYXRoIGQ9Ik01IDdjMC0xLjEuOS0yIDItMmgxMGEyIDIgMCAwIDEgMiAydjEySDVWN1oiIC8+CiAgPHBhdGggZD0iTTIyIDE5SDIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/vote\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideVote = /*#__PURE__*/(() => {\n  class LucideVote extends LucideIconBase {\n    static icon = {\n      name: 'vote',\n      size: 24,\n      node: [['path', {\n        d: 'm9 12 2 2 4-4',\n        key: 'dzmm74'\n      }], ['path', {\n        d: 'M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z',\n        key: '1ezoue'\n      }], ['path', {\n        d: 'M22 19H2',\n        key: 'nuriw5'\n      }]]\n    };\n    icon = signal(LucideVote.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideVote_BaseFactory;\n      return function LucideVote_Factory(__ngFactoryType__) {\n        return (ɵLucideVote_BaseFactory || (ɵLucideVote_BaseFactory = i0.ɵɵgetInheritedFactory(LucideVote)))(__ngFactoryType__ || LucideVote);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideVote,\n      selectors: [[\"svg\", \"lucideVote\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1641,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideVote_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideVote_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideVote;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WalletMinimal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgMTRoLjAxIiAvPgogIDxwYXRoIGQ9Ik03IDdoMTJhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/wallet-minimal\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWalletMinimal = /*#__PURE__*/(() => {\n  class LucideWalletMinimal extends LucideIconBase {\n    static icon = {\n      name: 'wallet-minimal',\n      size: 24,\n      node: [['path', {\n        d: 'M17 14h.01',\n        key: '7oqj8z'\n      }], ['path', {\n        d: 'M7 7h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14',\n        key: 'u1rqew'\n      }]],\n      aliases: ['wallet-2']\n    };\n    icon = signal(LucideWalletMinimal.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWalletMinimal_BaseFactory;\n      return function LucideWalletMinimal_Factory(__ngFactoryType__) {\n        return (ɵLucideWalletMinimal_BaseFactory || (ɵLucideWalletMinimal_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWalletMinimal)))(__ngFactoryType__ || LucideWalletMinimal);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWalletMinimal,\n      selectors: [[\"svg\", \"lucideWalletMinimal\", \"\"], [\"svg\", \"lucideWallet2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1642,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWalletMinimal_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWalletMinimal_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWalletMinimal;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideWalletMinimal\n */\nconst LucideWallet2 = LucideWalletMinimal;\n\n/**\n * @component @name Wallet\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgN1Y0YTEgMSAwIDAgMC0xLTFINWEyIDIgMCAwIDAgMCA0aDE1YTEgMSAwIDAgMSAxIDF2NGgtM2EyIDIgMCAwIDAgMCA0aDNhMSAxIDAgMCAwIDEtMXYtMmExIDEgMCAwIDAtMS0xIiAvPgogIDxwYXRoIGQ9Ik0zIDV2MTRhMiAyIDAgMCAwIDIgMmgxNWExIDEgMCAwIDAgMS0xdi00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/wallet\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWallet = /*#__PURE__*/(() => {\n  class LucideWallet extends LucideIconBase {\n    static icon = {\n      name: 'wallet',\n      size: 24,\n      node: [['path', {\n        d: 'M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1',\n        key: '18etb6'\n      }], ['path', {\n        d: 'M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4',\n        key: 'xoc0q4'\n      }]]\n    };\n    icon = signal(LucideWallet.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWallet_BaseFactory;\n      return function LucideWallet_Factory(__ngFactoryType__) {\n        return (ɵLucideWallet_BaseFactory || (ɵLucideWallet_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWallet)))(__ngFactoryType__ || LucideWallet);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWallet,\n      selectors: [[\"svg\", \"lucideWallet\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1643,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWallet_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWallet_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWallet;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WalletCards\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDlhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAyIiAvPgogIDxwYXRoIGQ9Ik0zIDExaDNjLjggMCAxLjYuMyAyLjEuOWwxLjEuOWMxLjYgMS42IDQuMSAxLjYgNS43IDBsMS4xLS45Yy41LS41IDEuMy0uOSAyLjEtLjlIMjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/wallet-cards\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWalletCards = /*#__PURE__*/(() => {\n  class LucideWalletCards extends LucideIconBase {\n    static icon = {\n      name: 'wallet-cards',\n      size: 24,\n      node: [['rect', {\n        width: '18',\n        height: '18',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'afitv7'\n      }], ['path', {\n        d: 'M3 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2',\n        key: '4125el'\n      }], ['path', {\n        d: 'M3 11h3c.8 0 1.6.3 2.1.9l1.1.9c1.6 1.6 4.1 1.6 5.7 0l1.1-.9c.5-.5 1.3-.9 2.1-.9H21',\n        key: '1dpki6'\n      }]]\n    };\n    icon = signal(LucideWalletCards.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWalletCards_BaseFactory;\n      return function LucideWalletCards_Factory(__ngFactoryType__) {\n        return (ɵLucideWalletCards_BaseFactory || (ɵLucideWalletCards_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWalletCards)))(__ngFactoryType__ || LucideWalletCards);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWalletCards,\n      selectors: [[\"svg\", \"lucideWalletCards\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1644,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWalletCards_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWalletCards_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWalletCards;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Wallpaper\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTd2NCIgLz4KICA8cGF0aCBkPSJNOCAyMWg4IiAvPgogIDxwYXRoIGQ9Im05IDE3IDYuMS02LjFhMiAyIDAgMCAxIDIuODEuMDFMMjIgMTUiIC8+CiAgPGNpcmNsZSBjeD0iOCIgY3k9IjkiIHI9IjIiIC8+CiAgPHJlY3QgeD0iMiIgeT0iMyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjE0IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/wallpaper\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWallpaper = /*#__PURE__*/(() => {\n  class LucideWallpaper extends LucideIconBase {\n    static icon = {\n      name: 'wallpaper',\n      size: 24,\n      node: [['path', {\n        d: 'M12 17v4',\n        key: '1riwvh'\n      }], ['path', {\n        d: 'M8 21h8',\n        key: '1ev6f3'\n      }], ['path', {\n        d: 'm9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15',\n        key: '1sl52q'\n      }], ['circle', {\n        cx: '8',\n        cy: '9',\n        r: '2',\n        key: 'gjzl9d'\n      }], ['rect', {\n        x: '2',\n        y: '3',\n        width: '20',\n        height: '14',\n        rx: '2',\n        key: 'x3v2xh'\n      }]]\n    };\n    icon = signal(LucideWallpaper.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWallpaper_BaseFactory;\n      return function LucideWallpaper_Factory(__ngFactoryType__) {\n        return (ɵLucideWallpaper_BaseFactory || (ɵLucideWallpaper_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWallpaper)))(__ngFactoryType__ || LucideWallpaper);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWallpaper,\n      selectors: [[\"svg\", \"lucideWallpaper\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1645,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWallpaper_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWallpaper_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWallpaper;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WandSparkles\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjEuNjQgMy42NC0xLjI4LTEuMjhhMS4yMSAxLjIxIDAgMCAwLTEuNzIgMEwyLjM2IDE4LjY0YTEuMjEgMS4yMSAwIDAgMCAwIDEuNzJsMS4yOCAxLjI4YTEuMiAxLjIgMCAwIDAgMS43MiAwTDIxLjY0IDUuMzZhMS4yIDEuMiAwIDAgMCAwLTEuNzIiIC8+CiAgPHBhdGggZD0ibTE0IDcgMyAzIiAvPgogIDxwYXRoIGQ9Ik01IDZ2NCIgLz4KICA8cGF0aCBkPSJNMTkgMTR2NCIgLz4KICA8cGF0aCBkPSJNMTAgMnYyIiAvPgogIDxwYXRoIGQ9Ik03IDhIMyIgLz4KICA8cGF0aCBkPSJNMjEgMTZoLTQiIC8+CiAgPHBhdGggZD0iTTExIDNIOSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/wand-sparkles\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWandSparkles = /*#__PURE__*/(() => {\n  class LucideWandSparkles extends LucideIconBase {\n    static icon = {\n      name: 'wand-sparkles',\n      size: 24,\n      node: [['path', {\n        d: 'm21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72',\n        key: 'ul74o6'\n      }], ['path', {\n        d: 'm14 7 3 3',\n        key: '1r5n42'\n      }], ['path', {\n        d: 'M5 6v4',\n        key: 'ilb8ba'\n      }], ['path', {\n        d: 'M19 14v4',\n        key: 'blhpug'\n      }], ['path', {\n        d: 'M10 2v2',\n        key: '7u0qdc'\n      }], ['path', {\n        d: 'M7 8H3',\n        key: 'zfb6yr'\n      }], ['path', {\n        d: 'M21 16h-4',\n        key: '1cnmox'\n      }], ['path', {\n        d: 'M11 3H9',\n        key: '1obp7u'\n      }]],\n      aliases: ['wand-2']\n    };\n    icon = signal(LucideWandSparkles.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWandSparkles_BaseFactory;\n      return function LucideWandSparkles_Factory(__ngFactoryType__) {\n        return (ɵLucideWandSparkles_BaseFactory || (ɵLucideWandSparkles_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWandSparkles)))(__ngFactoryType__ || LucideWandSparkles);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWandSparkles,\n      selectors: [[\"svg\", \"lucideWandSparkles\", \"\"], [\"svg\", \"lucideWand2\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1646,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWandSparkles_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWandSparkles_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWandSparkles;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated\n * @see LucideWandSparkles\n */\nconst LucideWand2 = LucideWandSparkles;\n\n/**\n * @component @name Warehouse\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggMjFWMTBhMSAxIDAgMCAwLTEtMUg3YTEgMSAwIDAgMC0xIDF2MTEiIC8+CiAgPHBhdGggZD0iTTIyIDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDEuMTMyLTEuODAzbDcuOTUtMy45NzRhMiAyIDAgMCAxIDEuODM3IDBsNy45NDggMy45NzRBMiAyIDAgMCAxIDIyIDh6IiAvPgogIDxwYXRoIGQ9Ik02IDEzaDEyIiAvPgogIDxwYXRoIGQ9Ik02IDE3aDEyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/warehouse\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWarehouse = /*#__PURE__*/(() => {\n  class LucideWarehouse extends LucideIconBase {\n    static icon = {\n      name: 'warehouse',\n      size: 24,\n      node: [['path', {\n        d: 'M18 21V10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v11',\n        key: 'pb2vm6'\n      }], ['path', {\n        d: 'M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 1.132-1.803l7.95-3.974a2 2 0 0 1 1.837 0l7.948 3.974A2 2 0 0 1 22 8z',\n        key: 'doq5xv'\n      }], ['path', {\n        d: 'M6 13h12',\n        key: 'yf64js'\n      }], ['path', {\n        d: 'M6 17h12',\n        key: '1jwigz'\n      }]]\n    };\n    icon = signal(LucideWarehouse.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWarehouse_BaseFactory;\n      return function LucideWarehouse_Factory(__ngFactoryType__) {\n        return (ɵLucideWarehouse_BaseFactory || (ɵLucideWarehouse_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWarehouse)))(__ngFactoryType__ || LucideWarehouse);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWarehouse,\n      selectors: [[\"svg\", \"lucideWarehouse\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1647,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWarehouse_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWarehouse_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWarehouse;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Wand\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgNFYyIiAvPgogIDxwYXRoIGQ9Ik0xNSAxNnYtMiIgLz4KICA8cGF0aCBkPSJNOCA5aDIiIC8+CiAgPHBhdGggZD0iTTIwIDloMiIgLz4KICA8cGF0aCBkPSJNMTcuOCAxMS44IDE5IDEzIiAvPgogIDxwYXRoIGQ9Ik0xNSA5aC4wMSIgLz4KICA8cGF0aCBkPSJNMTcuOCA2LjIgMTkgNSIgLz4KICA8cGF0aCBkPSJtMyAyMSA5LTkiIC8+CiAgPHBhdGggZD0iTTEyLjIgNi4yIDExIDUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/wand\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWand = /*#__PURE__*/(() => {\n  class LucideWand extends LucideIconBase {\n    static icon = {\n      name: 'wand',\n      size: 24,\n      node: [['path', {\n        d: 'M15 4V2',\n        key: 'z1p9b7'\n      }], ['path', {\n        d: 'M15 16v-2',\n        key: 'px0unx'\n      }], ['path', {\n        d: 'M8 9h2',\n        key: '1g203m'\n      }], ['path', {\n        d: 'M20 9h2',\n        key: '19tzq7'\n      }], ['path', {\n        d: 'M17.8 11.8 19 13',\n        key: 'yihg8r'\n      }], ['path', {\n        d: 'M15 9h.01',\n        key: 'x1ddxp'\n      }], ['path', {\n        d: 'M17.8 6.2 19 5',\n        key: 'fd4us0'\n      }], ['path', {\n        d: 'm3 21 9-9',\n        key: '1jfql5'\n      }], ['path', {\n        d: 'M12.2 6.2 11 5',\n        key: 'i3da3b'\n      }]]\n    };\n    icon = signal(LucideWand.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWand_BaseFactory;\n      return function LucideWand_Factory(__ngFactoryType__) {\n        return (ɵLucideWand_BaseFactory || (ɵLucideWand_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWand)))(__ngFactoryType__ || LucideWand);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWand,\n      selectors: [[\"svg\", \"lucideWand\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1648,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWand_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWand_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWand;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WashingMachine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA2aDMiIC8+CiAgPHBhdGggZD0iTTE3IDZoLjAxIiAvPgogIDxyZWN0IHdpZHRoPSIxOCIgaGVpZ2h0PSIyMCIgeD0iMyIgeT0iMiIgcng9IjIiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMyIgcj0iNSIgLz4KICA8cGF0aCBkPSJNMTIgMThhMi41IDIuNSAwIDAgMCAwLTUgMi41IDIuNSAwIDAgMSAwLTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/washing-machine\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWashingMachine = /*#__PURE__*/(() => {\n  class LucideWashingMachine extends LucideIconBase {\n    static icon = {\n      name: 'washing-machine',\n      size: 24,\n      node: [['path', {\n        d: 'M3 6h3',\n        key: '155dbl'\n      }], ['path', {\n        d: 'M17 6h.01',\n        key: 'e2y6kg'\n      }], ['rect', {\n        width: '18',\n        height: '20',\n        x: '3',\n        y: '2',\n        rx: '2',\n        key: 'od3kk9'\n      }], ['circle', {\n        cx: '12',\n        cy: '13',\n        r: '5',\n        key: 'nlbqau'\n      }], ['path', {\n        d: 'M12 18a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 1 0-5',\n        key: '17lach'\n      }]]\n    };\n    icon = signal(LucideWashingMachine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWashingMachine_BaseFactory;\n      return function LucideWashingMachine_Factory(__ngFactoryType__) {\n        return (ɵLucideWashingMachine_BaseFactory || (ɵLucideWashingMachine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWashingMachine)))(__ngFactoryType__ || LucideWashingMachine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWashingMachine,\n      selectors: [[\"svg\", \"lucideWashingMachine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1649,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWashingMachine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWashingMachine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWashingMachine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Watch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTB2Mi4ybDEuNiAxIiAvPgogIDxwYXRoIGQ9Im0xNi4xMyA3LjY2LS44MS00LjA1YTIgMiAwIDAgMC0yLTEuNjFoLTIuNjhhMiAyIDAgMCAwLTIgMS42MWwtLjc4IDQuMDUiIC8+CiAgPHBhdGggZD0ibTcuODggMTYuMzYuOCA0YTIgMiAwIDAgMCAyIDEuNjFoMi43MmEyIDIgMCAwIDAgMi0xLjYxbC44MS00LjA1IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/watch\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWatch = /*#__PURE__*/(() => {\n  class LucideWatch extends LucideIconBase {\n    static icon = {\n      name: 'watch',\n      size: 24,\n      node: [['path', {\n        d: 'M12 10v2.2l1.6 1',\n        key: 'n3r21l'\n      }], ['path', {\n        d: 'm16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05',\n        key: '18k57s'\n      }], ['path', {\n        d: 'm7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05',\n        key: '16ny36'\n      }], ['circle', {\n        cx: '12',\n        cy: '12',\n        r: '6',\n        key: '1vlfrh'\n      }]]\n    };\n    icon = signal(LucideWatch.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWatch_BaseFactory;\n      return function LucideWatch_Factory(__ngFactoryType__) {\n        return (ɵLucideWatch_BaseFactory || (ɵLucideWatch_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWatch)))(__ngFactoryType__ || LucideWatch);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWatch,\n      selectors: [[\"svg\", \"lucideWatch\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1650,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWatch_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWatch_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWatch;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WavesArrowUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnY4IiAvPgogIDxwYXRoIGQ9Ik0yIDE1Yy42LjUgMS4yIDEgMi41IDEgMi41IDAgMi41LTIgNS0yIDIuNiAwIDIuNCAyIDUgMiAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEiIC8+CiAgPHBhdGggZD0iTTIgMjFjLjYuNSAxLjIgMSAyLjUgMSAyLjUgMCAyLjUtMiA1LTIgMi42IDAgMi40IDIgNSAyIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSIgLz4KICA8cGF0aCBkPSJtOCA2IDQtNCA0IDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/waves-arrow-up\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWavesArrowUp = /*#__PURE__*/(() => {\n  class LucideWavesArrowUp extends LucideIconBase {\n    static icon = {\n      name: 'waves-arrow-up',\n      size: 24,\n      node: [['path', {\n        d: 'M12 2v8',\n        key: '1q4o3n'\n      }], ['path', {\n        d: 'M2 15c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1',\n        key: '1p9f19'\n      }], ['path', {\n        d: 'M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1',\n        key: 'vbxynw'\n      }], ['path', {\n        d: 'm8 6 4-4 4 4',\n        key: 'ybng9g'\n      }]]\n    };\n    icon = signal(LucideWavesArrowUp.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWavesArrowUp_BaseFactory;\n      return function LucideWavesArrowUp_Factory(__ngFactoryType__) {\n        return (ɵLucideWavesArrowUp_BaseFactory || (ɵLucideWavesArrowUp_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWavesArrowUp)))(__ngFactoryType__ || LucideWavesArrowUp);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWavesArrowUp,\n      selectors: [[\"svg\", \"lucideWavesArrowUp\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1651,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWavesArrowUp_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWavesArrowUp_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWavesArrowUp;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WavesLadder\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgNWEyIDIgMCAwIDAtMiAydjExIiAvPgogIDxwYXRoIGQ9Ik0yIDE4Yy42LjUgMS4yIDEgMi41IDEgMi41IDAgMi41LTIgNS0yIDIuNiAwIDIuNCAyIDUgMiAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEiIC8+CiAgPHBhdGggZD0iTTcgMTNoMTAiIC8+CiAgPHBhdGggZD0iTTcgOWgxMCIgLz4KICA8cGF0aCBkPSJNOSA1YTIgMiAwIDAgMC0yIDJ2MTEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/waves-ladder\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWavesLadder = /*#__PURE__*/(() => {\n  class LucideWavesLadder extends LucideIconBase {\n    static icon = {\n      name: 'waves-ladder',\n      size: 24,\n      node: [['path', {\n        d: 'M19 5a2 2 0 0 0-2 2v11',\n        key: 's41o68'\n      }], ['path', {\n        d: 'M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1',\n        key: 'rd2r6e'\n      }], ['path', {\n        d: 'M7 13h10',\n        key: '1rwob1'\n      }], ['path', {\n        d: 'M7 9h10',\n        key: '12czzb'\n      }], ['path', {\n        d: 'M9 5a2 2 0 0 0-2 2v11',\n        key: 'x0q4gh'\n      }]]\n    };\n    icon = signal(LucideWavesLadder.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWavesLadder_BaseFactory;\n      return function LucideWavesLadder_Factory(__ngFactoryType__) {\n        return (ɵLucideWavesLadder_BaseFactory || (ɵLucideWavesLadder_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWavesLadder)))(__ngFactoryType__ || LucideWavesLadder);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWavesLadder,\n      selectors: [[\"svg\", \"lucideWavesLadder\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1652,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWavesLadder_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWavesLadder_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWavesLadder;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WavesArrowDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTBMMTIgMiIgLz4KICA8cGF0aCBkPSJNMTYgNkwxMiAxMEw4IDYiIC8+CiAgPHBhdGggZD0iTTIgMTVDMi42IDE1LjUgMy4yIDE2IDQuNSAxNkM3IDE2IDcgMTQgOS41IDE0QzEyLjEgMTQgMTEuOSAxNiAxNC41IDE2QzE3IDE2IDE3IDE0IDE5LjUgMTRDMjAuOCAxNCAyMS40IDE0LjUgMjIgMTUiIC8+CiAgPHBhdGggZD0iTTIgMjFDMi42IDIxLjUgMy4yIDIyIDQuNSAyMkM3IDIyIDcgMjAgOS41IDIwQzEyLjEgMjAgMTEuOSAyMiAxNC41IDIyQzE3IDIyIDE3IDIwIDE5LjUgMjBDMjAuOCAyMCAyMS40IDIwLjUgMjIgMjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/waves-arrow-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWavesArrowDown = /*#__PURE__*/(() => {\n  class LucideWavesArrowDown extends LucideIconBase {\n    static icon = {\n      name: 'waves-arrow-down',\n      size: 24,\n      node: [['path', {\n        d: 'M12 10L12 2',\n        key: 'jvb0aw'\n      }], ['path', {\n        d: 'M16 6L12 10L8 6',\n        key: '9j6vje'\n      }], ['path', {\n        d: 'M2 15C2.6 15.5 3.2 16 4.5 16C7 16 7 14 9.5 14C12.1 14 11.9 16 14.5 16C17 16 17 14 19.5 14C20.8 14 21.4 14.5 22 15',\n        key: 's2zepw'\n      }], ['path', {\n        d: 'M2 21C2.6 21.5 3.2 22 4.5 22C7 22 7 20 9.5 20C12.1 20 11.9 22 14.5 22C17 22 17 20 19.5 20C20.8 20 21.4 20.5 22 21',\n        key: 'u68omc'\n      }]]\n    };\n    icon = signal(LucideWavesArrowDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWavesArrowDown_BaseFactory;\n      return function LucideWavesArrowDown_Factory(__ngFactoryType__) {\n        return (ɵLucideWavesArrowDown_BaseFactory || (ɵLucideWavesArrowDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWavesArrowDown)))(__ngFactoryType__ || LucideWavesArrowDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWavesArrowDown,\n      selectors: [[\"svg\", \"lucideWavesArrowDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1653,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWavesArrowDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWavesArrowDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWavesArrowDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Waves\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA2Yy42LjUgMS4yIDEgMi41IDFDNyA3IDcgNSA5LjUgNWMyLjYgMCAyLjQgMiA1IDIgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIiAvPgogIDxwYXRoIGQ9Ik0yIDEyYy42LjUgMS4yIDEgMi41IDEgMi41IDAgMi41LTIgNS0yIDIuNiAwIDIuNCAyIDUgMiAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEiIC8+CiAgPHBhdGggZD0iTTIgMThjLjYuNSAxLjIgMSAyLjUgMSAyLjUgMCAyLjUtMiA1LTIgMi42IDAgMi40IDIgNSAyIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/waves\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWaves = /*#__PURE__*/(() => {\n  class LucideWaves extends LucideIconBase {\n    static icon = {\n      name: 'waves',\n      size: 24,\n      node: [['path', {\n        d: 'M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1',\n        key: 'knzxuh'\n      }], ['path', {\n        d: 'M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1',\n        key: '2jd2cc'\n      }], ['path', {\n        d: 'M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1',\n        key: 'rd2r6e'\n      }]]\n    };\n    icon = signal(LucideWaves.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWaves_BaseFactory;\n      return function LucideWaves_Factory(__ngFactoryType__) {\n        return (ɵLucideWaves_BaseFactory || (ɵLucideWaves_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWaves)))(__ngFactoryType__ || LucideWaves);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWaves,\n      selectors: [[\"svg\", \"lucideWaves\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1654,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWaves_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWaves_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWaves;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Waypoints\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAuNTg2IDUuNDE0LTUuMTcyIDUuMTcyIiAvPgogIDxwYXRoIGQ9Im0xOC41ODYgMTMuNDE0LTUuMTcyIDUuMTcyIiAvPgogIDxwYXRoIGQ9Ik02IDEyaDEyIiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMjAiIHI9IjIiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSI0IiByPSIyIiAvPgogIDxjaXJjbGUgY3g9IjIwIiBjeT0iMTIiIHI9IjIiIC8+CiAgPGNpcmNsZSBjeD0iNCIgY3k9IjEyIiByPSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/waypoints\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWaypoints = /*#__PURE__*/(() => {\n  class LucideWaypoints extends LucideIconBase {\n    static icon = {\n      name: 'waypoints',\n      size: 24,\n      node: [['path', {\n        d: 'm10.586 5.414-5.172 5.172',\n        key: '4mc350'\n      }], ['path', {\n        d: 'm18.586 13.414-5.172 5.172',\n        key: '8c96vv'\n      }], ['path', {\n        d: 'M6 12h12',\n        key: '8npq4p'\n      }], ['circle', {\n        cx: '12',\n        cy: '20',\n        r: '2',\n        key: '144qzu'\n      }], ['circle', {\n        cx: '12',\n        cy: '4',\n        r: '2',\n        key: 'muu5ef'\n      }], ['circle', {\n        cx: '20',\n        cy: '12',\n        r: '2',\n        key: '1xzzfp'\n      }], ['circle', {\n        cx: '4',\n        cy: '12',\n        r: '2',\n        key: '1hvhnz'\n      }]]\n    };\n    icon = signal(LucideWaypoints.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWaypoints_BaseFactory;\n      return function LucideWaypoints_Factory(__ngFactoryType__) {\n        return (ɵLucideWaypoints_BaseFactory || (ɵLucideWaypoints_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWaypoints)))(__ngFactoryType__ || LucideWaypoints);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWaypoints,\n      selectors: [[\"svg\", \"lucideWaypoints\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1655,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWaypoints_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWaypoints_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWaypoints;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WebhookOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgMTdoLTVjLTEuMDktLjAyLTEuOTQuOTItMi41IDEuOUEzIDMgMCAxIDEgMi41NyAxNSIgLz4KICA8cGF0aCBkPSJNOSAzLjRhNCA0IDAgMCAxIDYuNTIuNjYiIC8+CiAgPHBhdGggZD0ibTYgMTcgMy4xLTUuOGEyLjUgMi41IDAgMCAwIC4wNTctMi4wNSIgLz4KICA8cGF0aCBkPSJNMjAuMyAyMC4zYTQgNCAwIDAgMS0yLjMuNyIgLz4KICA8cGF0aCBkPSJNMTguNiAxM2E0IDQgMCAwIDEgMy4zNTcgMy40MTQiIC8+CiAgPHBhdGggZD0ibTEyIDYgLjYgMSIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/webhook-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWebhookOff = /*#__PURE__*/(() => {\n  class LucideWebhookOff extends LucideIconBase {\n    static icon = {\n      name: 'webhook-off',\n      size: 24,\n      node: [['path', {\n        d: 'M17 17h-5c-1.09-.02-1.94.92-2.5 1.9A3 3 0 1 1 2.57 15',\n        key: '1tvl6x'\n      }], ['path', {\n        d: 'M9 3.4a4 4 0 0 1 6.52.66',\n        key: 'q04jfq'\n      }], ['path', {\n        d: 'm6 17 3.1-5.8a2.5 2.5 0 0 0 .057-2.05',\n        key: 'azowf0'\n      }], ['path', {\n        d: 'M20.3 20.3a4 4 0 0 1-2.3.7',\n        key: '5joiws'\n      }], ['path', {\n        d: 'M18.6 13a4 4 0 0 1 3.357 3.414',\n        key: 'cangb8'\n      }], ['path', {\n        d: 'm12 6 .6 1',\n        key: 'tpjl1n'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucideWebhookOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWebhookOff_BaseFactory;\n      return function LucideWebhookOff_Factory(__ngFactoryType__) {\n        return (ɵLucideWebhookOff_BaseFactory || (ɵLucideWebhookOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWebhookOff)))(__ngFactoryType__ || LucideWebhookOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWebhookOff,\n      selectors: [[\"svg\", \"lucideWebhookOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1656,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWebhookOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWebhookOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWebhookOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Webcam\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEwIiByPSI4IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTAiIHI9IjMiIC8+CiAgPHBhdGggZD0iTTcgMjJoMTAiIC8+CiAgPHBhdGggZD0iTTEyIDIydi00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/webcam\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWebcam = /*#__PURE__*/(() => {\n  class LucideWebcam extends LucideIconBase {\n    static icon = {\n      name: 'webcam',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '10',\n        r: '8',\n        key: '1gshiw'\n      }], ['circle', {\n        cx: '12',\n        cy: '10',\n        r: '3',\n        key: 'ilqhr7'\n      }], ['path', {\n        d: 'M7 22h10',\n        key: '10w4w3'\n      }], ['path', {\n        d: 'M12 22v-4',\n        key: '1utk9m'\n      }]]\n    };\n    icon = signal(LucideWebcam.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWebcam_BaseFactory;\n      return function LucideWebcam_Factory(__ngFactoryType__) {\n        return (ɵLucideWebcam_BaseFactory || (ɵLucideWebcam_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWebcam)))(__ngFactoryType__ || LucideWebcam);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWebcam,\n      selectors: [[\"svg\", \"lucideWebcam\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1657,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWebcam_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWebcam_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWebcam;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Webhook\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggMTYuOThoLTUuOTljLTEuMSAwLTEuOTUuOTQtMi40OCAxLjlBNCA0IDAgMCAxIDIgMTdjLjAxLS43LjItMS40LjU3LTIiIC8+CiAgPHBhdGggZD0ibTYgMTcgMy4xMy01Ljc4Yy41My0uOTcuMS0yLjE4LS41LTMuMWE0IDQgMCAxIDEgNi44OS00LjA2IiAvPgogIDxwYXRoIGQ9Im0xMiA2IDMuMTMgNS43M0MxNS42NiAxMi43IDE2LjkgMTMgMTggMTNhNCA0IDAgMCAxIDAgOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/webhook\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWebhook = /*#__PURE__*/(() => {\n  class LucideWebhook extends LucideIconBase {\n    static icon = {\n      name: 'webhook',\n      size: 24,\n      node: [['path', {\n        d: 'M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2',\n        key: 'q3hayz'\n      }], ['path', {\n        d: 'm6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06',\n        key: '1go1hn'\n      }], ['path', {\n        d: 'm12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8',\n        key: 'qlwsc0'\n      }]]\n    };\n    icon = signal(LucideWebhook.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWebhook_BaseFactory;\n      return function LucideWebhook_Factory(__ngFactoryType__) {\n        return (ɵLucideWebhook_BaseFactory || (ɵLucideWebhook_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWebhook)))(__ngFactoryType__ || LucideWebhook);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWebhook,\n      selectors: [[\"svg\", \"lucideWebhook\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1658,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWebhook_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWebhook_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWebhook;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WeightTilde\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNi41IDhhMiAyIDAgMCAwLTEuOTA2IDEuNDZMMi4xIDE4LjVBMiAyIDAgMCAwIDQgMjFoMTZhMiAyIDAgMCAwIDEuOTI1LTIuNTRMMTkuNCA5LjVBMiAyIDAgMCAwIDE3LjQ4IDh6IiAvPgogIDxwYXRoIGQ9Ik03Ljk5OSAxNWEyLjUgMi41IDAgMCAxIDQgMCAyLjUgMi41IDAgMCAwIDQgMCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjUiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/weight-tilde\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWeightTilde = /*#__PURE__*/(() => {\n  class LucideWeightTilde extends LucideIconBase {\n    static icon = {\n      name: 'weight-tilde',\n      size: 24,\n      node: [['path', {\n        d: 'M6.5 8a2 2 0 0 0-1.906 1.46L2.1 18.5A2 2 0 0 0 4 21h16a2 2 0 0 0 1.925-2.54L19.4 9.5A2 2 0 0 0 17.48 8z',\n        key: '1wl739'\n      }], ['path', {\n        d: 'M7.999 15a2.5 2.5 0 0 1 4 0 2.5 2.5 0 0 0 4 0',\n        key: '1egezo'\n      }], ['circle', {\n        cx: '12',\n        cy: '5',\n        r: '3',\n        key: 'rqqgnr'\n      }]]\n    };\n    icon = signal(LucideWeightTilde.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWeightTilde_BaseFactory;\n      return function LucideWeightTilde_Factory(__ngFactoryType__) {\n        return (ɵLucideWeightTilde_BaseFactory || (ɵLucideWeightTilde_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWeightTilde)))(__ngFactoryType__ || LucideWeightTilde);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWeightTilde,\n      selectors: [[\"svg\", \"lucideWeightTilde\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1659,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWeightTilde_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWeightTilde_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWeightTilde;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Weight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjUiIHI9IjMiIC8+CiAgPHBhdGggZD0iTTYuNSA4YTIgMiAwIDAgMC0xLjkwNSAxLjQ2TDIuMSAxOC41QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjkyNS0yLjU0TDE5LjQgOS41QTIgMiAwIDAgMCAxNy40OCA4WiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/weight\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWeight = /*#__PURE__*/(() => {\n  class LucideWeight extends LucideIconBase {\n    static icon = {\n      name: 'weight',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '5',\n        r: '3',\n        key: 'rqqgnr'\n      }], ['path', {\n        d: 'M6.5 8a2 2 0 0 0-1.905 1.46L2.1 18.5A2 2 0 0 0 4 21h16a2 2 0 0 0 1.925-2.54L19.4 9.5A2 2 0 0 0 17.48 8Z',\n        key: '56o5sh'\n      }]]\n    };\n    icon = signal(LucideWeight.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWeight_BaseFactory;\n      return function LucideWeight_Factory(__ngFactoryType__) {\n        return (ɵLucideWeight_BaseFactory || (ɵLucideWeight_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWeight)))(__ngFactoryType__ || LucideWeight);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWeight,\n      selectors: [[\"svg\", \"lucideWeight\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1660,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWeight_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWeight_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWeight;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WholeWord\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSI3IiBjeT0iMTIiIHI9IjMiIC8+CiAgPHBhdGggZD0iTTEwIDl2NiIgLz4KICA8Y2lyY2xlIGN4PSIxNyIgY3k9IjEyIiByPSIzIiAvPgogIDxwYXRoIGQ9Ik0xNCA3djgiIC8+CiAgPHBhdGggZD0iTTIyIDE3djFjMCAuNS0uNSAxLTEgMUgzYy0uNSAwLTEtLjUtMS0xdi0xIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/whole-word\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWholeWord = /*#__PURE__*/(() => {\n  class LucideWholeWord extends LucideIconBase {\n    static icon = {\n      name: 'whole-word',\n      size: 24,\n      node: [['circle', {\n        cx: '7',\n        cy: '12',\n        r: '3',\n        key: '12clwm'\n      }], ['path', {\n        d: 'M10 9v6',\n        key: '17i7lo'\n      }], ['circle', {\n        cx: '17',\n        cy: '12',\n        r: '3',\n        key: 'gl7c2s'\n      }], ['path', {\n        d: 'M14 7v8',\n        key: 'dl84cr'\n      }], ['path', {\n        d: 'M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1',\n        key: 'lt2kga'\n      }]]\n    };\n    icon = signal(LucideWholeWord.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWholeWord_BaseFactory;\n      return function LucideWholeWord_Factory(__ngFactoryType__) {\n        return (ɵLucideWholeWord_BaseFactory || (ɵLucideWholeWord_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWholeWord)))(__ngFactoryType__ || LucideWholeWord);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWholeWord,\n      selectors: [[\"svg\", \"lucideWholeWord\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1661,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWholeWord_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWholeWord_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWholeWord;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Wheat\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiAyMiAxNiA4IiAvPgogIDxwYXRoIGQ9Ik0zLjQ3IDEyLjUzIDUgMTFsMS41MyAxLjUzYTMuNSAzLjUgMCAwIDEgMCA0Ljk0TDUgMTlsLTEuNTMtMS41M2EzLjUgMy41IDAgMCAxIDAtNC45NFoiIC8+CiAgPHBhdGggZD0iTTcuNDcgOC41MyA5IDdsMS41MyAxLjUzYTMuNSAzLjUgMCAwIDEgMCA0Ljk0TDkgMTVsLTEuNTMtMS41M2EzLjUgMy41IDAgMCAxIDAtNC45NFoiIC8+CiAgPHBhdGggZD0iTTExLjQ3IDQuNTMgMTMgM2wxLjUzIDEuNTNhMy41IDMuNSAwIDAgMSAwIDQuOTRMMTMgMTFsLTEuNTMtMS41M2EzLjUgMy41IDAgMCAxIDAtNC45NFoiIC8+CiAgPHBhdGggZD0iTTIwIDJoMnYyYTQgNCAwIDAgMS00IDRoLTJWNmE0IDQgMCAwIDEgNC00WiIgLz4KICA8cGF0aCBkPSJNMTEuNDcgMTcuNDcgMTMgMTlsLTEuNTMgMS41M2EzLjUgMy41IDAgMCAxLTQuOTQgMEw1IDE5bDEuNTMtMS41M2EzLjUgMy41IDAgMCAxIDQuOTQgMFoiIC8+CiAgPHBhdGggZD0iTTE1LjQ3IDEzLjQ3IDE3IDE1bC0xLjUzIDEuNTNhMy41IDMuNSAwIDAgMS00Ljk0IDBMOSAxNWwxLjUzLTEuNTNhMy41IDMuNSAwIDAgMSA0Ljk0IDBaIiAvPgogIDxwYXRoIGQ9Ik0xOS40NyA5LjQ3IDIxIDExbC0xLjUzIDEuNTNhMy41IDMuNSAwIDAgMS00Ljk0IDBMMTMgMTFsMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgNC45NCAwWiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/wheat\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWheat = /*#__PURE__*/(() => {\n  class LucideWheat extends LucideIconBase {\n    static icon = {\n      name: 'wheat',\n      size: 24,\n      node: [['path', {\n        d: 'M2 22 16 8',\n        key: '60hf96'\n      }], ['path', {\n        d: 'M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z',\n        key: '1rdhi6'\n      }], ['path', {\n        d: 'M7.47 8.53 9 7l1.53 1.53a3.5 3.5 0 0 1 0 4.94L9 15l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z',\n        key: '1sdzmb'\n      }], ['path', {\n        d: 'M11.47 4.53 13 3l1.53 1.53a3.5 3.5 0 0 1 0 4.94L13 11l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z',\n        key: 'eoatbi'\n      }], ['path', {\n        d: 'M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z',\n        key: '19rau1'\n      }], ['path', {\n        d: 'M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z',\n        key: 'tc8ph9'\n      }], ['path', {\n        d: 'M15.47 13.47 17 15l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z',\n        key: '2m8kc5'\n      }], ['path', {\n        d: 'M19.47 9.47 21 11l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L13 11l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z',\n        key: 'vex3ng'\n      }]]\n    };\n    icon = signal(LucideWheat.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWheat_BaseFactory;\n      return function LucideWheat_Factory(__ngFactoryType__) {\n        return (ɵLucideWheat_BaseFactory || (ɵLucideWheat_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWheat)))(__ngFactoryType__ || LucideWheat);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWheat,\n      selectors: [[\"svg\", \"lucideWheat\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1662,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWheat_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWheat_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWheat;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WheatOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMiAyMiAxMC0xMCIgLz4KICA8cGF0aCBkPSJtMTYgOC0xLjE3IDEuMTciIC8+CiAgPHBhdGggZD0iTTMuNDcgMTIuNTMgNSAxMWwxLjUzIDEuNTNhMy41IDMuNSAwIDAgMSAwIDQuOTRMNSAxOWwtMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgMC00Ljk0WiIgLz4KICA8cGF0aCBkPSJtOCA4LS41My41M2EzLjUgMy41IDAgMCAwIDAgNC45NEw5IDE1bDEuNTMtMS41M2MuNTUtLjU1Ljg4LTEuMjUuOTgtMS45NyIgLz4KICA8cGF0aCBkPSJNMTAuOTEgNS4yNmMuMTUtLjI2LjM0LS41MS41Ni0uNzNMMTMgM2wxLjUzIDEuNTNhMy41IDMuNSAwIDAgMSAuMjggNC42MiIgLz4KICA8cGF0aCBkPSJNMjAgMmgydjJhNCA0IDAgMCAxLTQgNGgtMlY2YTQgNCAwIDAgMSA0LTRaIiAvPgogIDxwYXRoIGQ9Ik0xMS40NyAxNy40NyAxMyAxOWwtMS41MyAxLjUzYTMuNSAzLjUgMCAwIDEtNC45NCAwTDUgMTlsMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgNC45NCAwWiIgLz4KICA8cGF0aCBkPSJtMTYgMTYtLjUzLjUzYTMuNSAzLjUgMCAwIDEtNC45NCAwTDkgMTVsMS41My0xLjUzYTMuNDkgMy40OSAwIDAgMSAxLjk3LS45OCIgLz4KICA8cGF0aCBkPSJNMTguNzQgMTMuMDljLjI2LS4xNS41MS0uMzQuNzMtLjU2TDIxIDExbC0xLjUzLTEuNTNhMy41IDMuNSAwIDAgMC00LjYyLS4yOCIgLz4KICA8bGluZSB4MT0iMiIgeDI9IjIyIiB5MT0iMiIgeTI9IjIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/wheat-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWheatOff = /*#__PURE__*/(() => {\n  class LucideWheatOff extends LucideIconBase {\n    static icon = {\n      name: 'wheat-off',\n      size: 24,\n      node: [['path', {\n        d: 'm2 22 10-10',\n        key: '28ilpk'\n      }], ['path', {\n        d: 'm16 8-1.17 1.17',\n        key: '1qqm82'\n      }], ['path', {\n        d: 'M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z',\n        key: '1rdhi6'\n      }], ['path', {\n        d: 'm8 8-.53.53a3.5 3.5 0 0 0 0 4.94L9 15l1.53-1.53c.55-.55.88-1.25.98-1.97',\n        key: '4wz8re'\n      }], ['path', {\n        d: 'M10.91 5.26c.15-.26.34-.51.56-.73L13 3l1.53 1.53a3.5 3.5 0 0 1 .28 4.62',\n        key: 'rves66'\n      }], ['path', {\n        d: 'M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z',\n        key: '19rau1'\n      }], ['path', {\n        d: 'M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z',\n        key: 'tc8ph9'\n      }], ['path', {\n        d: 'm16 16-.53.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.49 3.49 0 0 1 1.97-.98',\n        key: 'ak46r'\n      }], ['path', {\n        d: 'M18.74 13.09c.26-.15.51-.34.73-.56L21 11l-1.53-1.53a3.5 3.5 0 0 0-4.62-.28',\n        key: '1tw520'\n      }], ['line', {\n        x1: '2',\n        x2: '22',\n        y1: '2',\n        y2: '22',\n        key: 'a6p6uj'\n      }]]\n    };\n    icon = signal(LucideWheatOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWheatOff_BaseFactory;\n      return function LucideWheatOff_Factory(__ngFactoryType__) {\n        return (ɵLucideWheatOff_BaseFactory || (ɵLucideWheatOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWheatOff)))(__ngFactoryType__ || LucideWheatOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWheatOff,\n      selectors: [[\"svg\", \"lucideWheatOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1663,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWheatOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWheatOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWheatOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WifiCog\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQuMzA1IDE5LjUzLjkyMy0uMzgyIiAvPgogIDxwYXRoIGQ9Im0xNS4yMjggMTYuODUyLS45MjMtLjM4MyIgLz4KICA8cGF0aCBkPSJtMTYuODUyIDE1LjIyOC0uMzgzLS45MjMiIC8+CiAgPHBhdGggZD0ibTE2Ljg1MiAyMC43NzItLjM4My45MjQiIC8+CiAgPHBhdGggZD0ibTE5LjE0OCAxNS4yMjguMzgzLS45MjMiIC8+CiAgPHBhdGggZD0ibTE5LjUzIDIxLjY5Ni0uMzgyLS45MjQiIC8+CiAgPHBhdGggZD0iTTIgNy44MmExNSAxNSAwIDAgMSAyMCAwIiAvPgogIDxwYXRoIGQ9Im0yMC43NzIgMTYuODUyLjkyNC0uMzgzIiAvPgogIDxwYXRoIGQ9Im0yMC43NzIgMTkuMTQ4LjkyNC4zODMiIC8+CiAgPHBhdGggZD0iTTUgMTEuODU4YTEwIDEwIDAgMCAxIDExLjUtMS43ODUiIC8+CiAgPHBhdGggZD0iTTguNSAxNS40MjlhNSA1IDAgMCAxIDIuNDEzLTEuMzEiIC8+CiAgPGNpcmNsZSBjeD0iMTgiIGN5PSIxOCIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/wifi-cog\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWifiCog = /*#__PURE__*/(() => {\n  class LucideWifiCog extends LucideIconBase {\n    static icon = {\n      name: 'wifi-cog',\n      size: 24,\n      node: [['path', {\n        d: 'm14.305 19.53.923-.382',\n        key: '3m78fa'\n      }], ['path', {\n        d: 'm15.228 16.852-.923-.383',\n        key: 'npixar'\n      }], ['path', {\n        d: 'm16.852 15.228-.383-.923',\n        key: '5xggr7'\n      }], ['path', {\n        d: 'm16.852 20.772-.383.924',\n        key: 'dpfhf9'\n      }], ['path', {\n        d: 'm19.148 15.228.383-.923',\n        key: '1reyyz'\n      }], ['path', {\n        d: 'm19.53 21.696-.382-.924',\n        key: '1goivc'\n      }], ['path', {\n        d: 'M2 7.82a15 15 0 0 1 20 0',\n        key: '1ovjuk'\n      }], ['path', {\n        d: 'm20.772 16.852.924-.383',\n        key: 'htqkph'\n      }], ['path', {\n        d: 'm20.772 19.148.924.383',\n        key: '9w9pjp'\n      }], ['path', {\n        d: 'M5 11.858a10 10 0 0 1 11.5-1.785',\n        key: '3sn16i'\n      }], ['path', {\n        d: 'M8.5 15.429a5 5 0 0 1 2.413-1.31',\n        key: '1pxovh'\n      }], ['circle', {\n        cx: '18',\n        cy: '18',\n        r: '3',\n        key: '1xkwt0'\n      }]]\n    };\n    icon = signal(LucideWifiCog.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWifiCog_BaseFactory;\n      return function LucideWifiCog_Factory(__ngFactoryType__) {\n        return (ɵLucideWifiCog_BaseFactory || (ɵLucideWifiCog_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWifiCog)))(__ngFactoryType__ || LucideWifiCog);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWifiCog,\n      selectors: [[\"svg\", \"lucideWifiCog\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1664,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWifiCog_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWifiCog_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWifiCog;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WifiOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjBoLjAxIiAvPgogIDxwYXRoIGQ9Ik04LjUgMTYuNDI5YTUgNSAwIDAgMSA3IDAiIC8+CiAgPHBhdGggZD0iTTUgMTIuODU5YTEwIDEwIDAgMCAxIDUuMTctMi42OSIgLz4KICA8cGF0aCBkPSJNMTkgMTIuODU5YTEwIDEwIDAgMCAwLTIuMDA3LTEuNTIzIiAvPgogIDxwYXRoIGQ9Ik0yIDguODJhMTUgMTUgMCAwIDEgNC4xNzctMi42NDMiIC8+CiAgPHBhdGggZD0iTTIyIDguODJhMTUgMTUgMCAwIDAtMTEuMjg4LTMuNzY0IiAvPgogIDxwYXRoIGQ9Im0yIDIgMjAgMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/wifi-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWifiOff = /*#__PURE__*/(() => {\n  class LucideWifiOff extends LucideIconBase {\n    static icon = {\n      name: 'wifi-off',\n      size: 24,\n      node: [['path', {\n        d: 'M12 20h.01',\n        key: 'zekei9'\n      }], ['path', {\n        d: 'M8.5 16.429a5 5 0 0 1 7 0',\n        key: '1bycff'\n      }], ['path', {\n        d: 'M5 12.859a10 10 0 0 1 5.17-2.69',\n        key: '1dl1wf'\n      }], ['path', {\n        d: 'M19 12.859a10 10 0 0 0-2.007-1.523',\n        key: '4k23kn'\n      }], ['path', {\n        d: 'M2 8.82a15 15 0 0 1 4.177-2.643',\n        key: '1grhjp'\n      }], ['path', {\n        d: 'M22 8.82a15 15 0 0 0-11.288-3.764',\n        key: 'z3jwby'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucideWifiOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWifiOff_BaseFactory;\n      return function LucideWifiOff_Factory(__ngFactoryType__) {\n        return (ɵLucideWifiOff_BaseFactory || (ɵLucideWifiOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWifiOff)))(__ngFactoryType__ || LucideWifiOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWifiOff,\n      selectors: [[\"svg\", \"lucideWifiOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1665,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWifiOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWifiOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWifiOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WifiHigh\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjBoLjAxIiAvPgogIDxwYXRoIGQ9Ik01IDEyLjg1OWExMCAxMCAwIDAgMSAxNCAwIiAvPgogIDxwYXRoIGQ9Ik04LjUgMTYuNDI5YTUgNSAwIDAgMSA3IDAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/wifi-high\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWifiHigh = /*#__PURE__*/(() => {\n  class LucideWifiHigh extends LucideIconBase {\n    static icon = {\n      name: 'wifi-high',\n      size: 24,\n      node: [['path', {\n        d: 'M12 20h.01',\n        key: 'zekei9'\n      }], ['path', {\n        d: 'M5 12.859a10 10 0 0 1 14 0',\n        key: '1x1e6c'\n      }], ['path', {\n        d: 'M8.5 16.429a5 5 0 0 1 7 0',\n        key: '1bycff'\n      }]]\n    };\n    icon = signal(LucideWifiHigh.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWifiHigh_BaseFactory;\n      return function LucideWifiHigh_Factory(__ngFactoryType__) {\n        return (ɵLucideWifiHigh_BaseFactory || (ɵLucideWifiHigh_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWifiHigh)))(__ngFactoryType__ || LucideWifiHigh);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWifiHigh,\n      selectors: [[\"svg\", \"lucideWifiHigh\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1666,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWifiHigh_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWifiHigh_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWifiHigh;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WifiLow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjBoLjAxIiAvPgogIDxwYXRoIGQ9Ik04LjUgMTYuNDI5YTUgNSAwIDAgMSA3IDAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/wifi-low\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWifiLow = /*#__PURE__*/(() => {\n  class LucideWifiLow extends LucideIconBase {\n    static icon = {\n      name: 'wifi-low',\n      size: 24,\n      node: [['path', {\n        d: 'M12 20h.01',\n        key: 'zekei9'\n      }], ['path', {\n        d: 'M8.5 16.429a5 5 0 0 1 7 0',\n        key: '1bycff'\n      }]]\n    };\n    icon = signal(LucideWifiLow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWifiLow_BaseFactory;\n      return function LucideWifiLow_Factory(__ngFactoryType__) {\n        return (ɵLucideWifiLow_BaseFactory || (ɵLucideWifiLow_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWifiLow)))(__ngFactoryType__ || LucideWifiLow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWifiLow,\n      selectors: [[\"svg\", \"lucideWifiLow\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1667,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWifiLow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWifiLow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWifiLow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WifiPen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA4LjgyYTE1IDE1IDAgMCAxIDIwIDAiIC8+CiAgPHBhdGggZD0iTTIxLjM3OCAxNi42MjZhMSAxIDAgMCAwLTMuMDA0LTMuMDA0bC00LjAxIDQuMDEyYTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2eiIgLz4KICA8cGF0aCBkPSJNNSAxMi44NTlhMTAgMTAgMCAwIDEgMTAuNS0yLjIyMiIgLz4KICA8cGF0aCBkPSJNOC41IDE2LjQyOWE1IDUgMCAwIDEgMy0xLjQwNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/wifi-pen\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWifiPen = /*#__PURE__*/(() => {\n  class LucideWifiPen extends LucideIconBase {\n    static icon = {\n      name: 'wifi-pen',\n      size: 24,\n      node: [['path', {\n        d: 'M2 8.82a15 15 0 0 1 20 0',\n        key: 'dnpr2z'\n      }], ['path', {\n        d: 'M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z',\n        key: '1817ys'\n      }], ['path', {\n        d: 'M5 12.859a10 10 0 0 1 10.5-2.222',\n        key: 'rpb7oy'\n      }], ['path', {\n        d: 'M8.5 16.429a5 5 0 0 1 3-1.406',\n        key: 'r8bmzl'\n      }]]\n    };\n    icon = signal(LucideWifiPen.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWifiPen_BaseFactory;\n      return function LucideWifiPen_Factory(__ngFactoryType__) {\n        return (ɵLucideWifiPen_BaseFactory || (ɵLucideWifiPen_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWifiPen)))(__ngFactoryType__ || LucideWifiPen);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWifiPen,\n      selectors: [[\"svg\", \"lucideWifiPen\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1668,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWifiPen_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWifiPen_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWifiPen;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WifiSync\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEuOTY1IDEwLjEwNXY0TDEzLjUgMTIuNWE1IDUgMCAwIDEgOCAxLjUiIC8+CiAgPHBhdGggZD0iTTExLjk2NSAxNC4xMDVoNCIgLz4KICA8cGF0aCBkPSJNMTcuOTY1IDE4LjEwNWg0TDIwLjQzIDE5LjcxYTUgNSAwIDAgMS04LTEuNSIgLz4KICA8cGF0aCBkPSJNMiA4LjgyYTE1IDE1IDAgMCAxIDIwIDAiIC8+CiAgPHBhdGggZD0iTTIxLjk2NSAyMi4xMDV2LTQiIC8+CiAgPHBhdGggZD0iTTUgMTIuODZhMTAgMTAgMCAwIDEgMy0yLjAzMiIgLz4KICA8cGF0aCBkPSJNOC41IDE2LjQyOWguMDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/wifi-sync\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWifiSync = /*#__PURE__*/(() => {\n  class LucideWifiSync extends LucideIconBase {\n    static icon = {\n      name: 'wifi-sync',\n      size: 24,\n      node: [['path', {\n        d: 'M11.965 10.105v4L13.5 12.5a5 5 0 0 1 8 1.5',\n        key: '1immaq'\n      }], ['path', {\n        d: 'M11.965 14.105h4',\n        key: 'uejny8'\n      }], ['path', {\n        d: 'M17.965 18.105h4L20.43 19.71a5 5 0 0 1-8-1.5',\n        key: '1i3a7e'\n      }], ['path', {\n        d: 'M2 8.82a15 15 0 0 1 20 0',\n        key: 'dnpr2z'\n      }], ['path', {\n        d: 'M21.965 22.105v-4',\n        key: '1ku6vx'\n      }], ['path', {\n        d: 'M5 12.86a10 10 0 0 1 3-2.032',\n        key: 'pemdtu'\n      }], ['path', {\n        d: 'M8.5 16.429h.01',\n        key: '2bm739'\n      }]]\n    };\n    icon = signal(LucideWifiSync.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWifiSync_BaseFactory;\n      return function LucideWifiSync_Factory(__ngFactoryType__) {\n        return (ɵLucideWifiSync_BaseFactory || (ɵLucideWifiSync_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWifiSync)))(__ngFactoryType__ || LucideWifiSync);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWifiSync,\n      selectors: [[\"svg\", \"lucideWifiSync\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1669,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWifiSync_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWifiSync_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWifiSync;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Wifi\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjBoLjAxIiAvPgogIDxwYXRoIGQ9Ik0yIDguODJhMTUgMTUgMCAwIDEgMjAgMCIgLz4KICA8cGF0aCBkPSJNNSAxMi44NTlhMTAgMTAgMCAwIDEgMTQgMCIgLz4KICA8cGF0aCBkPSJNOC41IDE2LjQyOWE1IDUgMCAwIDEgNyAwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/wifi\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWifi = /*#__PURE__*/(() => {\n  class LucideWifi extends LucideIconBase {\n    static icon = {\n      name: 'wifi',\n      size: 24,\n      node: [['path', {\n        d: 'M12 20h.01',\n        key: 'zekei9'\n      }], ['path', {\n        d: 'M2 8.82a15 15 0 0 1 20 0',\n        key: 'dnpr2z'\n      }], ['path', {\n        d: 'M5 12.859a10 10 0 0 1 14 0',\n        key: '1x1e6c'\n      }], ['path', {\n        d: 'M8.5 16.429a5 5 0 0 1 7 0',\n        key: '1bycff'\n      }]]\n    };\n    icon = signal(LucideWifi.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWifi_BaseFactory;\n      return function LucideWifi_Factory(__ngFactoryType__) {\n        return (ɵLucideWifi_BaseFactory || (ɵLucideWifi_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWifi)))(__ngFactoryType__ || LucideWifi);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWifi,\n      selectors: [[\"svg\", \"lucideWifi\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1670,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWifi_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWifi_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWifi;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WifiZero\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjBoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/wifi-zero\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWifiZero = /*#__PURE__*/(() => {\n  class LucideWifiZero extends LucideIconBase {\n    static icon = {\n      name: 'wifi-zero',\n      size: 24,\n      node: [['path', {\n        d: 'M12 20h.01',\n        key: 'zekei9'\n      }]]\n    };\n    icon = signal(LucideWifiZero.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWifiZero_BaseFactory;\n      return function LucideWifiZero_Factory(__ngFactoryType__) {\n        return (ɵLucideWifiZero_BaseFactory || (ɵLucideWifiZero_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWifiZero)))(__ngFactoryType__ || LucideWifiZero);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWifiZero,\n      selectors: [[\"svg\", \"lucideWifiZero\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1671,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWifiZero_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWifiZero_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWifiZero;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WindArrowDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMnY4IiAvPgogIDxwYXRoIGQ9Ik0xMi44IDIxLjZBMiAyIDAgMSAwIDE0IDE4SDIiIC8+CiAgPHBhdGggZD0iTTE3LjUgMTBhMi41IDIuNSAwIDEgMSAyIDRIMiIgLz4KICA8cGF0aCBkPSJtNiA2IDQgNCA0LTQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/wind-arrow-down\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWindArrowDown = /*#__PURE__*/(() => {\n  class LucideWindArrowDown extends LucideIconBase {\n    static icon = {\n      name: 'wind-arrow-down',\n      size: 24,\n      node: [['path', {\n        d: 'M10 2v8',\n        key: 'd4bbey'\n      }], ['path', {\n        d: 'M12.8 21.6A2 2 0 1 0 14 18H2',\n        key: '19kp1d'\n      }], ['path', {\n        d: 'M17.5 10a2.5 2.5 0 1 1 2 4H2',\n        key: '19kpjc'\n      }], ['path', {\n        d: 'm6 6 4 4 4-4',\n        key: 'k13n16'\n      }]]\n    };\n    icon = signal(LucideWindArrowDown.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWindArrowDown_BaseFactory;\n      return function LucideWindArrowDown_Factory(__ngFactoryType__) {\n        return (ɵLucideWindArrowDown_BaseFactory || (ɵLucideWindArrowDown_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWindArrowDown)))(__ngFactoryType__ || LucideWindArrowDown);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWindArrowDown,\n      selectors: [[\"svg\", \"lucideWindArrowDown\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1672,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWindArrowDown_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWindArrowDown_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWindArrowDown;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Wind\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuOCAxOS42QTIgMiAwIDEgMCAxNCAxNkgyIiAvPgogIDxwYXRoIGQ9Ik0xNy41IDhhMi41IDIuNSAwIDEgMSAyIDRIMiIgLz4KICA8cGF0aCBkPSJNOS44IDQuNEEyIDIgMCAxIDEgMTEgOEgyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/wind\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWind = /*#__PURE__*/(() => {\n  class LucideWind extends LucideIconBase {\n    static icon = {\n      name: 'wind',\n      size: 24,\n      node: [['path', {\n        d: 'M12.8 19.6A2 2 0 1 0 14 16H2',\n        key: '148xed'\n      }], ['path', {\n        d: 'M17.5 8a2.5 2.5 0 1 1 2 4H2',\n        key: '1u4tom'\n      }], ['path', {\n        d: 'M9.8 4.4A2 2 0 1 1 11 8H2',\n        key: '75valh'\n      }]]\n    };\n    icon = signal(LucideWind.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWind_BaseFactory;\n      return function LucideWind_Factory(__ngFactoryType__) {\n        return (ɵLucideWind_BaseFactory || (ɵLucideWind_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWind)))(__ngFactoryType__ || LucideWind);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWind,\n      selectors: [[\"svg\", \"lucideWind\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1673,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWind_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWind_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWind;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name WineOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAyMmg4IiAvPgogIDxwYXRoIGQ9Ik03IDEwaDNtNyAwaC0xLjM0MyIgLz4KICA8cGF0aCBkPSJNMTIgMTV2NyIgLz4KICA8cGF0aCBkPSJNNy4zMDcgNy4zMDdBMTIuMzMgMTIuMzMgMCAwIDAgNyAxMGE1IDUgMCAwIDAgNy4zOTEgNC4zOTFNOC42MzggMi45ODFDOC43NSAyLjY2OCA4Ljg3MiAyLjM0IDkgMmg2YzEuNSA0IDIgNiAyIDggMCAuNDA3LS4wNS44MDktLjE0NSAxLjE5OCIgLz4KICA8bGluZSB4MT0iMiIgeDI9IjIyIiB5MT0iMiIgeTI9IjIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/wine-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWineOff = /*#__PURE__*/(() => {\n  class LucideWineOff extends LucideIconBase {\n    static icon = {\n      name: 'wine-off',\n      size: 24,\n      node: [['path', {\n        d: 'M8 22h8',\n        key: 'rmew8v'\n      }], ['path', {\n        d: 'M7 10h3m7 0h-1.343',\n        key: 'v48bem'\n      }], ['path', {\n        d: 'M12 15v7',\n        key: 't2xh3l'\n      }], ['path', {\n        d: 'M7.307 7.307A12.33 12.33 0 0 0 7 10a5 5 0 0 0 7.391 4.391M8.638 2.981C8.75 2.668 8.872 2.34 9 2h6c1.5 4 2 6 2 8 0 .407-.05.809-.145 1.198',\n        key: '1ymjlu'\n      }], ['line', {\n        x1: '2',\n        x2: '22',\n        y1: '2',\n        y2: '22',\n        key: 'a6p6uj'\n      }]]\n    };\n    icon = signal(LucideWineOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWineOff_BaseFactory;\n      return function LucideWineOff_Factory(__ngFactoryType__) {\n        return (ɵLucideWineOff_BaseFactory || (ɵLucideWineOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWineOff)))(__ngFactoryType__ || LucideWineOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWineOff,\n      selectors: [[\"svg\", \"lucideWineOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1674,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWineOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWineOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWineOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Wine\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOCAyMmg4IiAvPgogIDxwYXRoIGQ9Ik03IDEwaDEwIiAvPgogIDxwYXRoIGQ9Ik0xMiAxNXY3IiAvPgogIDxwYXRoIGQ9Ik0xMiAxNWE1IDUgMCAwIDAgNS01YzAtMi0uNS00LTItOEg5Yy0xLjUgNC0yIDYtMiA4YTUgNSAwIDAgMCA1IDVaIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/wine\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWine = /*#__PURE__*/(() => {\n  class LucideWine extends LucideIconBase {\n    static icon = {\n      name: 'wine',\n      size: 24,\n      node: [['path', {\n        d: 'M8 22h8',\n        key: 'rmew8v'\n      }], ['path', {\n        d: 'M7 10h10',\n        key: '1101jm'\n      }], ['path', {\n        d: 'M12 15v7',\n        key: 't2xh3l'\n      }], ['path', {\n        d: 'M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5Z',\n        key: '10ffi3'\n      }]]\n    };\n    icon = signal(LucideWine.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWine_BaseFactory;\n      return function LucideWine_Factory(__ngFactoryType__) {\n        return (ɵLucideWine_BaseFactory || (ɵLucideWine_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWine)))(__ngFactoryType__ || LucideWine);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWine,\n      selectors: [[\"svg\", \"lucideWine\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1675,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWine_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWine_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWine;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Workflow\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI4IiB4PSIzIiB5PSIzIiByeD0iMiIgLz4KICA8cGF0aCBkPSJNNyAxMXY0YTIgMiAwIDAgMCAyIDJoNCIgLz4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI4IiB4PSIxMyIgeT0iMTMiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/workflow\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWorkflow = /*#__PURE__*/(() => {\n  class LucideWorkflow extends LucideIconBase {\n    static icon = {\n      name: 'workflow',\n      size: 24,\n      node: [['rect', {\n        width: '8',\n        height: '8',\n        x: '3',\n        y: '3',\n        rx: '2',\n        key: 'by2w9f'\n      }], ['path', {\n        d: 'M7 11v4a2 2 0 0 0 2 2h4',\n        key: 'xkn7yn'\n      }], ['rect', {\n        width: '8',\n        height: '8',\n        x: '13',\n        y: '13',\n        rx: '2',\n        key: '1cgmvn'\n      }]]\n    };\n    icon = signal(LucideWorkflow.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWorkflow_BaseFactory;\n      return function LucideWorkflow_Factory(__ngFactoryType__) {\n        return (ɵLucideWorkflow_BaseFactory || (ɵLucideWorkflow_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWorkflow)))(__ngFactoryType__ || LucideWorkflow);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWorkflow,\n      selectors: [[\"svg\", \"lucideWorkflow\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1676,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWorkflow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWorkflow_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWorkflow;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Wrench\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQuNyA2LjNhMSAxIDAgMCAwIDAgMS40bDEuNiAxLjZhMSAxIDAgMCAwIDEuNCAwbDMuMTA2LTMuMTA1Yy4zMi0uMzIyLjg2My0uMjIuOTgzLjIxOGE2IDYgMCAwIDEtOC4yNTkgNy4wNTdsLTcuOTEgNy45MWExIDEgMCAwIDEtMi45OTktM2w3LjkxLTcuOTFhNiA2IDAgMCAxIDcuMDU3LTguMjU5Yy40MzguMTIuNTQuNjYyLjIxOS45ODR6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/wrench\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWrench = /*#__PURE__*/(() => {\n  class LucideWrench extends LucideIconBase {\n    static icon = {\n      name: 'wrench',\n      size: 24,\n      node: [['path', {\n        d: 'M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z',\n        key: '1ngwbx'\n      }]]\n    };\n    icon = signal(LucideWrench.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWrench_BaseFactory;\n      return function LucideWrench_Factory(__ngFactoryType__) {\n        return (ɵLucideWrench_BaseFactory || (ɵLucideWrench_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWrench)))(__ngFactoryType__ || LucideWrench);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWrench,\n      selectors: [[\"svg\", \"lucideWrench\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1677,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWrench_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWrench_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWrench;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Worm\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTkgMTItMS41IDMiIC8+CiAgPHBhdGggZD0iTTE5LjYzIDE4LjgxIDIyIDIwIiAvPgogIDxwYXRoIGQ9Ik02LjQ3IDguMjNhMS42OCAxLjY4IDAgMCAxIDIuNDQgMS45M2wtLjY0IDIuMDhhNi43NiA2Ljc2IDAgMCAwIDEwLjE2IDcuNjdsLjQyLS4yN2ExIDEgMCAxIDAtMi43My00LjIxbC0uNDIuMjdhMS43NiAxLjc2IDAgMCAxLTIuNjMtMS45OWwuNjQtMi4wOEE2LjY2IDYuNjYgMCAwIDAgMy45NCAzLjlsLS43LjRhMSAxIDAgMSAwIDIuNTUgNC4zNHoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/worm\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideWorm = /*#__PURE__*/(() => {\n  class LucideWorm extends LucideIconBase {\n    static icon = {\n      name: 'worm',\n      size: 24,\n      node: [['path', {\n        d: 'm19 12-1.5 3',\n        key: '9bcu4o'\n      }], ['path', {\n        d: 'M19.63 18.81 22 20',\n        key: '121v98'\n      }], ['path', {\n        d: 'M6.47 8.23a1.68 1.68 0 0 1 2.44 1.93l-.64 2.08a6.76 6.76 0 0 0 10.16 7.67l.42-.27a1 1 0 1 0-2.73-4.21l-.42.27a1.76 1.76 0 0 1-2.63-1.99l.64-2.08A6.66 6.66 0 0 0 3.94 3.9l-.7.4a1 1 0 1 0 2.55 4.34z',\n        key: '1tij6q'\n      }]]\n    };\n    icon = signal(LucideWorm.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideWorm_BaseFactory;\n      return function LucideWorm_Factory(__ngFactoryType__) {\n        return (ɵLucideWorm_BaseFactory || (ɵLucideWorm_BaseFactory = i0.ɵɵgetInheritedFactory(LucideWorm)))(__ngFactoryType__ || LucideWorm);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideWorm,\n      selectors: [[\"svg\", \"lucideWorm\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1678,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideWorm_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideWorm_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideWorm;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name XLineTop\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggNEg2IiAvPgogIDxwYXRoIGQ9Ik0xOCA4IDYgMjAiIC8+CiAgPHBhdGggZD0ibTYgOCAxMiAxMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/x-line-top\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideXLineTop = /*#__PURE__*/(() => {\n  class LucideXLineTop extends LucideIconBase {\n    static icon = {\n      name: 'x-line-top',\n      size: 24,\n      node: [['path', {\n        d: 'M18 4H6',\n        key: '1hsngl'\n      }], ['path', {\n        d: 'M18 8 6 20',\n        key: 'xspwia'\n      }], ['path', {\n        d: 'm6 8 12 12',\n        key: 'qb1veh'\n      }]]\n    };\n    icon = signal(LucideXLineTop.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideXLineTop_BaseFactory;\n      return function LucideXLineTop_Factory(__ngFactoryType__) {\n        return (ɵLucideXLineTop_BaseFactory || (ɵLucideXLineTop_BaseFactory = i0.ɵɵgetInheritedFactory(LucideXLineTop)))(__ngFactoryType__ || LucideXLineTop);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideXLineTop,\n      selectors: [[\"svg\", \"lucideXLineTop\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1679,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideXLineTop_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideXLineTop_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideXLineTop;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name X\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggNiA2IDE4IiAvPgogIDxwYXRoIGQ9Im02IDYgMTIgMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/x\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideX = /*#__PURE__*/(() => {\n  class LucideX extends LucideIconBase {\n    static icon = {\n      name: 'x',\n      size: 24,\n      node: [['path', {\n        d: 'M18 6 6 18',\n        key: '1bl5f8'\n      }], ['path', {\n        d: 'm6 6 12 12',\n        key: 'd8bk6v'\n      }]]\n    };\n    icon = signal(LucideX.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideX_BaseFactory;\n      return function LucideX_Factory(__ngFactoryType__) {\n        return (ɵLucideX_BaseFactory || (ɵLucideX_BaseFactory = i0.ɵɵgetInheritedFactory(LucideX)))(__ngFactoryType__ || LucideX);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideX,\n      selectors: [[\"svg\", \"lucideX\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1680,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideX_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideX_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideX;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZapOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNTEzIDQuODU2IDEzLjEyIDIuMTdhLjUuNSAwIDAgMSAuODYuNDZsLTEuMzc3IDQuMzE3IiAvPgogIDxwYXRoIGQ9Ik0xNS42NTYgMTBIMjBhMSAxIDAgMCAxIC43OCAxLjYzbC0xLjcyIDEuNzczIiAvPgogIDxwYXRoIGQ9Ik0xNi4yNzMgMTYuMjczIDEwLjg4IDIxLjgzYS41LjUgMCAwIDEtLjg2LS40NmwxLjkyLTYuMDJBMSAxIDAgMCAwIDExIDE0SDRhMSAxIDAgMCAxLS43OC0xLjYzbDQuNTA3LTQuNjQzIiAvPgogIDxwYXRoIGQ9Im0yIDIgMjAgMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/zap-off\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZapOff = /*#__PURE__*/(() => {\n  class LucideZapOff extends LucideIconBase {\n    static icon = {\n      name: 'zap-off',\n      size: 24,\n      node: [['path', {\n        d: 'M10.513 4.856 13.12 2.17a.5.5 0 0 1 .86.46l-1.377 4.317',\n        key: '193nxd'\n      }], ['path', {\n        d: 'M15.656 10H20a1 1 0 0 1 .78 1.63l-1.72 1.773',\n        key: '27a7lr'\n      }], ['path', {\n        d: 'M16.273 16.273 10.88 21.83a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14H4a1 1 0 0 1-.78-1.63l4.507-4.643',\n        key: '1e0qe9'\n      }], ['path', {\n        d: 'm2 2 20 20',\n        key: '1ooewy'\n      }]]\n    };\n    icon = signal(LucideZapOff.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZapOff_BaseFactory;\n      return function LucideZapOff_Factory(__ngFactoryType__) {\n        return (ɵLucideZapOff_BaseFactory || (ɵLucideZapOff_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZapOff)))(__ngFactoryType__ || LucideZapOff);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZapOff,\n      selectors: [[\"svg\", \"lucideZapOff\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1681,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZapOff_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZapOff_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZapOff;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name Zap\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxNGExIDEgMCAwIDEtLjc4LTEuNjNsOS45LTEwLjJhLjUuNSAwIDAgMSAuODYuNDZsLTEuOTIgNi4wMkExIDEgMCAwIDAgMTMgMTBoN2ExIDEgMCAwIDEgLjc4IDEuNjNsLTkuOSAxMC4yYS41LjUgMCAwIDEtLjg2LS40NmwxLjkyLTYuMDJBMSAxIDAgMCAwIDExIDE0eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zap\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZap = /*#__PURE__*/(() => {\n  class LucideZap extends LucideIconBase {\n    static icon = {\n      name: 'zap',\n      size: 24,\n      node: [['path', {\n        d: 'M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z',\n        key: '1xq2db'\n      }]]\n    };\n    icon = signal(LucideZap.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZap_BaseFactory;\n      return function LucideZap_Factory(__ngFactoryType__) {\n        return (ɵLucideZap_BaseFactory || (ɵLucideZap_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZap)))(__ngFactoryType__ || LucideZap);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZap,\n      selectors: [[\"svg\", \"lucideZap\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1682,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZap_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZap_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZap;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZodiacAquarius\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMiAxMCAyLjQ1Ni0zLjY4NGEuNy43IDAgMCAxIDEuMTA2LS4wMTNsMi4zOSAzLjQxM2EuNy43IDAgMCAwIDEuMDk2LS4wMDFsMi40MDItMy40MzJhLjcuNyAwIDAgMSAxLjA5OCAwbDIuNDAyIDMuNDMyYS43LjcgMCAwIDAgMS4wOTggMGwyLjM4OS0zLjQxM2EuNy43IDAgMCAxIDEuMTA2LjAxM0wyMiAxMCIgLz4KICA8cGF0aCBkPSJtMiAxOC4wMDIgMi40NTYtMy42ODRhLjcuNyAwIDAgMSAxLjEwNi0uMDEzbDIuMzkgMy40MTNhLjcuNyAwIDAgMCAxLjA5NyAwbDIuNDAyLTMuNDMyYS43LjcgMCAwIDEgMS4wOTggMGwyLjQwMiAzLjQzMmEuNy43IDAgMCAwIDEuMDk4IDBsMi4zODktMy40MTNhLjcuNyAwIDAgMSAxLjEwNi4wMTNMMjIgMTguMDAyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/zodiac-aquarius\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZodiacAquarius = /*#__PURE__*/(() => {\n  class LucideZodiacAquarius extends LucideIconBase {\n    static icon = {\n      name: 'zodiac-aquarius',\n      size: 24,\n      node: [['path', {\n        d: 'm2 10 2.456-3.684a.7.7 0 0 1 1.106-.013l2.39 3.413a.7.7 0 0 0 1.096-.001l2.402-3.432a.7.7 0 0 1 1.098 0l2.402 3.432a.7.7 0 0 0 1.098 0l2.389-3.413a.7.7 0 0 1 1.106.013L22 10',\n        key: '1o8iok'\n      }], ['path', {\n        d: 'm2 18.002 2.456-3.684a.7.7 0 0 1 1.106-.013l2.39 3.413a.7.7 0 0 0 1.097 0l2.402-3.432a.7.7 0 0 1 1.098 0l2.402 3.432a.7.7 0 0 0 1.098 0l2.389-3.413a.7.7 0 0 1 1.106.013L22 18.002',\n        key: '112qy7'\n      }]]\n    };\n    icon = signal(LucideZodiacAquarius.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZodiacAquarius_BaseFactory;\n      return function LucideZodiacAquarius_Factory(__ngFactoryType__) {\n        return (ɵLucideZodiacAquarius_BaseFactory || (ɵLucideZodiacAquarius_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZodiacAquarius)))(__ngFactoryType__ || LucideZodiacAquarius);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZodiacAquarius,\n      selectors: [[\"svg\", \"lucideZodiacAquarius\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1683,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZodiacAquarius_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZodiacAquarius_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZodiacAquarius;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZodiacAries\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNy41YTQuNSA0LjUgMCAxIDEgNSA0LjUiIC8+CiAgPHBhdGggZD0iTTcgMTJhNC41IDQuNSAwIDEgMSA1LTQuNVYyMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zodiac-aries\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZodiacAries = /*#__PURE__*/(() => {\n  class LucideZodiacAries extends LucideIconBase {\n    static icon = {\n      name: 'zodiac-aries',\n      size: 24,\n      node: [['path', {\n        d: 'M12 7.5a4.5 4.5 0 1 1 5 4.5',\n        key: 'k987hv'\n      }], ['path', {\n        d: 'M7 12a4.5 4.5 0 1 1 5-4.5V21',\n        key: 'mjup0w'\n      }]]\n    };\n    icon = signal(LucideZodiacAries.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZodiacAries_BaseFactory;\n      return function LucideZodiacAries_Factory(__ngFactoryType__) {\n        return (ɵLucideZodiacAries_BaseFactory || (ɵLucideZodiacAries_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZodiacAries)))(__ngFactoryType__ || LucideZodiacAries);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZodiacAries,\n      selectors: [[\"svg\", \"lucideZodiacAries\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1684,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZodiacAries_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZodiacAries_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZodiacAries;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZodiacCancer\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTQuNUE5IDYuNSAwIDAgMSA1LjUgMTkiIC8+CiAgPHBhdGggZD0iTTMgOS41QTkgNi41IDAgMCAxIDE4LjUgNSIgLz4KICA8Y2lyY2xlIGN4PSIxNy41IiBjeT0iMTQuNSIgcj0iMy41IiAvPgogIDxjaXJjbGUgY3g9IjYuNSIgY3k9IjkuNSIgcj0iMy41IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/zodiac-cancer\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZodiacCancer = /*#__PURE__*/(() => {\n  class LucideZodiacCancer extends LucideIconBase {\n    static icon = {\n      name: 'zodiac-cancer',\n      size: 24,\n      node: [['path', {\n        d: 'M21 14.5A9 6.5 0 0 1 5.5 19',\n        key: '1xj2o6'\n      }], ['path', {\n        d: 'M3 9.5A9 6.5 0 0 1 18.5 5',\n        key: '1gln3t'\n      }], ['circle', {\n        cx: '17.5',\n        cy: '14.5',\n        r: '3.5',\n        key: '1ccu1t'\n      }], ['circle', {\n        cx: '6.5',\n        cy: '9.5',\n        r: '3.5',\n        key: 'x5tc2d'\n      }]]\n    };\n    icon = signal(LucideZodiacCancer.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZodiacCancer_BaseFactory;\n      return function LucideZodiacCancer_Factory(__ngFactoryType__) {\n        return (ɵLucideZodiacCancer_BaseFactory || (ɵLucideZodiacCancer_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZodiacCancer)))(__ngFactoryType__ || LucideZodiacCancer);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZodiacCancer,\n      selectors: [[\"svg\", \"lucideZodiacCancer\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1685,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZodiacCancer_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZodiacCancer_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZodiacCancer;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZodiacGemini\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgNC41MjV2MTQuOTQ4IiAvPgogIDxwYXRoIGQ9Ik0yMCAzQTE3IDE3IDAgMCAxIDQgMyIgLz4KICA8cGF0aCBkPSJNNCAyMWExNyAxNyAwIDAgMSAxNiAwIiAvPgogIDxwYXRoIGQ9Ik04IDQuNTI1djE0Ljk0OCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zodiac-gemini\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZodiacGemini = /*#__PURE__*/(() => {\n  class LucideZodiacGemini extends LucideIconBase {\n    static icon = {\n      name: 'zodiac-gemini',\n      size: 24,\n      node: [['path', {\n        d: 'M16 4.525v14.948',\n        key: 'bgoxo0'\n      }], ['path', {\n        d: 'M20 3A17 17 0 0 1 4 3',\n        key: '1djemw'\n      }], ['path', {\n        d: 'M4 21a17 17 0 0 1 16 0',\n        key: 'onoyo7'\n      }], ['path', {\n        d: 'M8 4.525v14.948',\n        key: 'u5iyof'\n      }]]\n    };\n    icon = signal(LucideZodiacGemini.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZodiacGemini_BaseFactory;\n      return function LucideZodiacGemini_Factory(__ngFactoryType__) {\n        return (ɵLucideZodiacGemini_BaseFactory || (ɵLucideZodiacGemini_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZodiacGemini)))(__ngFactoryType__ || LucideZodiacGemini);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZodiacGemini,\n      selectors: [[\"svg\", \"lucideZodiacGemini\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1686,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZodiacGemini_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZodiacGemini_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZodiacGemini;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZodiacCapricorn\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMjFhMyAzIDAgMCAwIDMtM1Y2LjVhMSAxIDAgMCAwLTcgMCIgLz4KICA8cGF0aCBkPSJNNyAxOVY2YTMgMyAwIDAgMC0zLTNoMCIgLz4KICA8Y2lyY2xlIGN4PSIxNyIgY3k9IjE3IiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/zodiac-capricorn\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZodiacCapricorn = /*#__PURE__*/(() => {\n  class LucideZodiacCapricorn extends LucideIconBase {\n    static icon = {\n      name: 'zodiac-capricorn',\n      size: 24,\n      node: [['path', {\n        d: 'M11 21a3 3 0 0 0 3-3V6.5a1 1 0 0 0-7 0',\n        key: '1kkncs'\n      }], ['path', {\n        d: 'M7 19V6a3 3 0 0 0-3-3h0',\n        key: '1jg5y1'\n      }], ['circle', {\n        cx: '17',\n        cy: '17',\n        r: '3',\n        key: '18b49y'\n      }]]\n    };\n    icon = signal(LucideZodiacCapricorn.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZodiacCapricorn_BaseFactory;\n      return function LucideZodiacCapricorn_Factory(__ngFactoryType__) {\n        return (ɵLucideZodiacCapricorn_BaseFactory || (ɵLucideZodiacCapricorn_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZodiacCapricorn)))(__ngFactoryType__ || LucideZodiacCapricorn);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZodiacCapricorn,\n      selectors: [[\"svg\", \"lucideZodiacCapricorn\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1687,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZodiacCapricorn_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZodiacCapricorn_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZodiacCapricorn;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZodiacLeo\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTZjMC00LTMtNC41LTMtOGE1IDUgMCAwIDEgMTAgMGMwIDMuNDY2LTMgNi4xOTYtMyAxMGEzIDMgMCAwIDAgNiAwIiAvPgogIDxjaXJjbGUgY3g9IjciIGN5PSIxNiIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zodiac-leo\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZodiacLeo = /*#__PURE__*/(() => {\n  class LucideZodiacLeo extends LucideIconBase {\n    static icon = {\n      name: 'zodiac-leo',\n      size: 24,\n      node: [['path', {\n        d: 'M10 16c0-4-3-4.5-3-8a5 5 0 0 1 10 0c0 3.466-3 6.196-3 10a3 3 0 0 0 6 0',\n        key: '1qj6nb'\n      }], ['circle', {\n        cx: '7',\n        cy: '16',\n        r: '3',\n        key: 'yyv3zl'\n      }]]\n    };\n    icon = signal(LucideZodiacLeo.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZodiacLeo_BaseFactory;\n      return function LucideZodiacLeo_Factory(__ngFactoryType__) {\n        return (ɵLucideZodiacLeo_BaseFactory || (ɵLucideZodiacLeo_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZodiacLeo)))(__ngFactoryType__ || LucideZodiacLeo);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZodiacLeo,\n      selectors: [[\"svg\", \"lucideZodiacLeo\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1688,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZodiacLeo_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZodiacLeo_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZodiacLeo;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZodiacOphiuchus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAxMEE2LjA2IDYuMDYgMCAwIDEgMTIgMTAgQTYuMDYgNi4wNiAwIDAgMCAyMSAxMCIgLz4KICA8cGF0aCBkPSJNNiAzdjEyYTYgNiAwIDAgMCAxMiAwVjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/zodiac-ophiuchus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZodiacOphiuchus = /*#__PURE__*/(() => {\n  class LucideZodiacOphiuchus extends LucideIconBase {\n    static icon = {\n      name: 'zodiac-ophiuchus',\n      size: 24,\n      node: [['path', {\n        d: 'M3 10A6.06 6.06 0 0 1 12 10 A6.06 6.06 0 0 0 21 10',\n        key: '13lfmc'\n      }], ['path', {\n        d: 'M6 3v12a6 6 0 0 0 12 0V3',\n        key: '1jnivp'\n      }]]\n    };\n    icon = signal(LucideZodiacOphiuchus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZodiacOphiuchus_BaseFactory;\n      return function LucideZodiacOphiuchus_Factory(__ngFactoryType__) {\n        return (ɵLucideZodiacOphiuchus_BaseFactory || (ɵLucideZodiacOphiuchus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZodiacOphiuchus)))(__ngFactoryType__ || LucideZodiacOphiuchus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZodiacOphiuchus,\n      selectors: [[\"svg\", \"lucideZodiacOphiuchus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1689,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZodiacOphiuchus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZodiacOphiuchus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZodiacOphiuchus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZodiacLibra\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAxNmg2Ljg1N2MuMTYyLS4wMTIuMTktLjMyMy4wMzgtLjM4YTYgNiAwIDEgMSA0LjIxMiAwYy0uMTUzLjA1Ny0uMTI1LjM2OC4wMzguMzhIMjEiIC8+CiAgPHBhdGggZD0iTTMgMjBoMTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/zodiac-libra\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZodiacLibra = /*#__PURE__*/(() => {\n  class LucideZodiacLibra extends LucideIconBase {\n    static icon = {\n      name: 'zodiac-libra',\n      size: 24,\n      node: [['path', {\n        d: 'M3 16h6.857c.162-.012.19-.323.038-.38a6 6 0 1 1 4.212 0c-.153.057-.125.368.038.38H21',\n        key: '1novf0'\n      }], ['path', {\n        d: 'M3 20h18',\n        key: '1l19wn'\n      }]]\n    };\n    icon = signal(LucideZodiacLibra.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZodiacLibra_BaseFactory;\n      return function LucideZodiacLibra_Factory(__ngFactoryType__) {\n        return (ɵLucideZodiacLibra_BaseFactory || (ɵLucideZodiacLibra_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZodiacLibra)))(__ngFactoryType__ || LucideZodiacLibra);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZodiacLibra,\n      selectors: [[\"svg\", \"lucideZodiacLibra\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1690,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZodiacLibra_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZodiacLibra_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZodiacLibra;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZodiacPisces\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgMjFhMTUgMTUgMCAwIDEgMC0xOCIgLz4KICA8cGF0aCBkPSJNMjAgMTJINCIgLz4KICA8cGF0aCBkPSJNNSAzYTE1IDE1IDAgMCAxIDAgMTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/zodiac-pisces\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZodiacPisces = /*#__PURE__*/(() => {\n  class LucideZodiacPisces extends LucideIconBase {\n    static icon = {\n      name: 'zodiac-pisces',\n      size: 24,\n      node: [['path', {\n        d: 'M19 21a15 15 0 0 1 0-18',\n        key: 'br2vug'\n      }], ['path', {\n        d: 'M20 12H4',\n        key: '1mtusc'\n      }], ['path', {\n        d: 'M5 3a15 15 0 0 1 0 18',\n        key: '1w7hae'\n      }]]\n    };\n    icon = signal(LucideZodiacPisces.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZodiacPisces_BaseFactory;\n      return function LucideZodiacPisces_Factory(__ngFactoryType__) {\n        return (ɵLucideZodiacPisces_BaseFactory || (ɵLucideZodiacPisces_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZodiacPisces)))(__ngFactoryType__ || LucideZodiacPisces);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZodiacPisces,\n      selectors: [[\"svg\", \"lucideZodiacPisces\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1691,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZodiacPisces_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZodiacPisces_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZodiacPisces;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZodiacScorpio\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTlWNS41YTEgMSAwIDAgMSA1IDBWMTdhMiAyIDAgMCAwIDIgMmg1bC0zLTMiIC8+CiAgPHBhdGggZD0ibTIyIDE5LTMgMyIgLz4KICA8cGF0aCBkPSJNNSAxOVY1LjVhMSAxIDAgMCAxIDUgMCIgLz4KICA8cGF0aCBkPSJNNSA1LjVBMi41IDIuNSAwIDAgMCAyLjUgMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zodiac-scorpio\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZodiacScorpio = /*#__PURE__*/(() => {\n  class LucideZodiacScorpio extends LucideIconBase {\n    static icon = {\n      name: 'zodiac-scorpio',\n      size: 24,\n      node: [['path', {\n        d: 'M10 19V5.5a1 1 0 0 1 5 0V17a2 2 0 0 0 2 2h5l-3-3',\n        key: '1w8g0z'\n      }], ['path', {\n        d: 'm22 19-3 3',\n        key: '1ix4wq'\n      }], ['path', {\n        d: 'M5 19V5.5a1 1 0 0 1 5 0',\n        key: '1d4oa3'\n      }], ['path', {\n        d: 'M5 5.5A2.5 2.5 0 0 0 2.5 3',\n        key: 'gp646f'\n      }]]\n    };\n    icon = signal(LucideZodiacScorpio.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZodiacScorpio_BaseFactory;\n      return function LucideZodiacScorpio_Factory(__ngFactoryType__) {\n        return (ɵLucideZodiacScorpio_BaseFactory || (ɵLucideZodiacScorpio_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZodiacScorpio)))(__ngFactoryType__ || LucideZodiacScorpio);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZodiacScorpio,\n      selectors: [[\"svg\", \"lucideZodiacScorpio\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1692,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZodiacScorpio_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZodiacScorpio_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZodiacScorpio;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZodiacTaurus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE1IiByPSI2IiAvPgogIDxwYXRoIGQ9Ik0xOCAzQTYgNiAwIDAgMSA2IDMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/zodiac-taurus\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZodiacTaurus = /*#__PURE__*/(() => {\n  class LucideZodiacTaurus extends LucideIconBase {\n    static icon = {\n      name: 'zodiac-taurus',\n      size: 24,\n      node: [['circle', {\n        cx: '12',\n        cy: '15',\n        r: '6',\n        key: 'lhqcmb'\n      }], ['path', {\n        d: 'M18 3A6 6 0 0 1 6 3',\n        key: '1p399e'\n      }]]\n    };\n    icon = signal(LucideZodiacTaurus.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZodiacTaurus_BaseFactory;\n      return function LucideZodiacTaurus_Factory(__ngFactoryType__) {\n        return (ɵLucideZodiacTaurus_BaseFactory || (ɵLucideZodiacTaurus_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZodiacTaurus)))(__ngFactoryType__ || LucideZodiacTaurus);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZodiacTaurus,\n      selectors: [[\"svg\", \"lucideZodiacTaurus\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1693,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZodiacTaurus_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZodiacTaurus_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZodiacTaurus;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZodiacSagittarius\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgM2g2djYiIC8+CiAgPHBhdGggZD0iTTIxIDMgMyAyMSIgLz4KICA8cGF0aCBkPSJtOSA5IDYgNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zodiac-sagittarius\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZodiacSagittarius = /*#__PURE__*/(() => {\n  class LucideZodiacSagittarius extends LucideIconBase {\n    static icon = {\n      name: 'zodiac-sagittarius',\n      size: 24,\n      node: [['path', {\n        d: 'M15 3h6v6',\n        key: '1q9fwt'\n      }], ['path', {\n        d: 'M21 3 3 21',\n        key: '1011np'\n      }], ['path', {\n        d: 'm9 9 6 6',\n        key: 'z0biqf'\n      }]]\n    };\n    icon = signal(LucideZodiacSagittarius.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZodiacSagittarius_BaseFactory;\n      return function LucideZodiacSagittarius_Factory(__ngFactoryType__) {\n        return (ɵLucideZodiacSagittarius_BaseFactory || (ɵLucideZodiacSagittarius_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZodiacSagittarius)))(__ngFactoryType__ || LucideZodiacSagittarius);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZodiacSagittarius,\n      selectors: [[\"svg\", \"lucideZodiacSagittarius\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1694,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZodiacSagittarius_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZodiacSagittarius_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZodiacSagittarius;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZodiacVirgo\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgNS41YTEgMSAwIDAgMSA1IDBWMTZhNSA1IDAgMCAwIDUgNSIgLz4KICA8cGF0aCBkPSJNMTYgMTEuNWExIDEgMCAwIDEgNSAwVjE2YTUgNSAwIDAgMS01IDUiIC8+CiAgPHBhdGggZD0iTTYgMTlWNmEzIDMgMCAwIDAtMy0zaDAiIC8+CiAgPHBhdGggZD0iTTYgNS41YTEgMSAwIDAgMSA1IDBWMTkiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/zodiac-virgo\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZodiacVirgo = /*#__PURE__*/(() => {\n  class LucideZodiacVirgo extends LucideIconBase {\n    static icon = {\n      name: 'zodiac-virgo',\n      size: 24,\n      node: [['path', {\n        d: 'M11 5.5a1 1 0 0 1 5 0V16a5 5 0 0 0 5 5',\n        key: '1szkuh'\n      }], ['path', {\n        d: 'M16 11.5a1 1 0 0 1 5 0V16a5 5 0 0 1-5 5',\n        key: 'pyq0k2'\n      }], ['path', {\n        d: 'M6 19V6a3 3 0 0 0-3-3h0',\n        key: 'pvee4g'\n      }], ['path', {\n        d: 'M6 5.5a1 1 0 0 1 5 0V19',\n        key: 'vncctg'\n      }]]\n    };\n    icon = signal(LucideZodiacVirgo.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZodiacVirgo_BaseFactory;\n      return function LucideZodiacVirgo_Factory(__ngFactoryType__) {\n        return (ɵLucideZodiacVirgo_BaseFactory || (ɵLucideZodiacVirgo_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZodiacVirgo)))(__ngFactoryType__ || LucideZodiacVirgo);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZodiacVirgo,\n      selectors: [[\"svg\", \"lucideZodiacVirgo\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1695,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZodiacVirgo_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZodiacVirgo_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZodiacVirgo;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZoomIn\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4IiAvPgogIDxsaW5lIHgxPSIyMSIgeDI9IjE2LjY1IiB5MT0iMjEiIHkyPSIxNi42NSIgLz4KICA8bGluZSB4MT0iMTEiIHgyPSIxMSIgeTE9IjgiIHkyPSIxNCIgLz4KICA8bGluZSB4MT0iOCIgeDI9IjE0IiB5MT0iMTEiIHkyPSIxMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zoom-in\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZoomIn = /*#__PURE__*/(() => {\n  class LucideZoomIn extends LucideIconBase {\n    static icon = {\n      name: 'zoom-in',\n      size: 24,\n      node: [['circle', {\n        cx: '11',\n        cy: '11',\n        r: '8',\n        key: '4ej97u'\n      }], ['line', {\n        x1: '21',\n        x2: '16.65',\n        y1: '21',\n        y2: '16.65',\n        key: '13gj7c'\n      }], ['line', {\n        x1: '11',\n        x2: '11',\n        y1: '8',\n        y2: '14',\n        key: '1vmskp'\n      }], ['line', {\n        x1: '8',\n        x2: '14',\n        y1: '11',\n        y2: '11',\n        key: 'durymu'\n      }]]\n    };\n    icon = signal(LucideZoomIn.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZoomIn_BaseFactory;\n      return function LucideZoomIn_Factory(__ngFactoryType__) {\n        return (ɵLucideZoomIn_BaseFactory || (ɵLucideZoomIn_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZoomIn)))(__ngFactoryType__ || LucideZoomIn);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZoomIn,\n      selectors: [[\"svg\", \"lucideZoomIn\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1696,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZoomIn_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZoomIn_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZoomIn;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @component @name ZoomOut\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4IiAvPgogIDxsaW5lIHgxPSIyMSIgeDI9IjE2LjY1IiB5MT0iMjEiIHkyPSIxNi42NSIgLz4KICA8bGluZSB4MT0iOCIgeDI9IjE0IiB5MT0iMTEiIHkyPSIxMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zoom-out\n * @see https://lucide.dev/guide/packages/angular - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n *\n */\nlet LucideZoomOut = /*#__PURE__*/(() => {\n  class LucideZoomOut extends LucideIconBase {\n    static icon = {\n      name: 'zoom-out',\n      size: 24,\n      node: [['circle', {\n        cx: '11',\n        cy: '11',\n        r: '8',\n        key: '4ej97u'\n      }], ['line', {\n        x1: '21',\n        x2: '16.65',\n        y1: '21',\n        y2: '16.65',\n        key: '13gj7c'\n      }], ['line', {\n        x1: '8',\n        x2: '14',\n        y1: '11',\n        y2: '11',\n        key: 'durymu'\n      }]]\n    };\n    icon = signal(LucideZoomOut.icon, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideZoomOut_BaseFactory;\n      return function LucideZoomOut_Factory(__ngFactoryType__) {\n        return (ɵLucideZoomOut_BaseFactory || (ɵLucideZoomOut_BaseFactory = i0.ɵɵgetInheritedFactory(LucideZoomOut)))(__ngFactoryType__ || LucideZoomOut);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideZoomOut,\n      selectors: [[\"svg\", \"lucideZoomOut\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1697,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideZoomOut_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideZoomOut_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideZoomOut;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nvar lucideAngular = /*#__PURE__*/Object.freeze({\n  __proto__: null,\n  LucideAArrowDown: LucideAArrowDown,\n  LucideAArrowUp: LucideAArrowUp,\n  LucideALargeSmall: LucideALargeSmall,\n  LucideAccessibility: LucideAccessibility,\n  LucideActivity: LucideActivity,\n  LucideActivitySquare: LucideActivitySquare,\n  LucideAirVent: LucideAirVent,\n  LucideAirplay: LucideAirplay,\n  LucideAlarmCheck: LucideAlarmCheck,\n  LucideAlarmClock: LucideAlarmClock,\n  LucideAlarmClockCheck: LucideAlarmClockCheck,\n  LucideAlarmClockMinus: LucideAlarmClockMinus,\n  LucideAlarmClockOff: LucideAlarmClockOff,\n  LucideAlarmClockPlus: LucideAlarmClockPlus,\n  LucideAlarmMinus: LucideAlarmMinus,\n  LucideAlarmPlus: LucideAlarmPlus,\n  LucideAlarmSmoke: LucideAlarmSmoke,\n  LucideAlbum: LucideAlbum,\n  LucideAlertCircle: LucideAlertCircle,\n  LucideAlertOctagon: LucideAlertOctagon,\n  LucideAlertTriangle: LucideAlertTriangle,\n  LucideAlignCenter: LucideAlignCenter,\n  LucideAlignCenterHorizontal: LucideAlignCenterHorizontal,\n  LucideAlignCenterVertical: LucideAlignCenterVertical,\n  LucideAlignEndHorizontal: LucideAlignEndHorizontal,\n  LucideAlignEndVertical: LucideAlignEndVertical,\n  LucideAlignHorizontalDistributeCenter: LucideAlignHorizontalDistributeCenter,\n  LucideAlignHorizontalDistributeEnd: LucideAlignHorizontalDistributeEnd,\n  LucideAlignHorizontalDistributeStart: LucideAlignHorizontalDistributeStart,\n  LucideAlignHorizontalJustifyCenter: LucideAlignHorizontalJustifyCenter,\n  LucideAlignHorizontalJustifyEnd: LucideAlignHorizontalJustifyEnd,\n  LucideAlignHorizontalJustifyStart: LucideAlignHorizontalJustifyStart,\n  LucideAlignHorizontalSpaceAround: LucideAlignHorizontalSpaceAround,\n  LucideAlignHorizontalSpaceBetween: LucideAlignHorizontalSpaceBetween,\n  LucideAlignJustify: LucideAlignJustify,\n  LucideAlignLeft: LucideAlignLeft,\n  LucideAlignRight: LucideAlignRight,\n  LucideAlignStartHorizontal: LucideAlignStartHorizontal,\n  LucideAlignStartVertical: LucideAlignStartVertical,\n  LucideAlignVerticalDistributeCenter: LucideAlignVerticalDistributeCenter,\n  LucideAlignVerticalDistributeEnd: LucideAlignVerticalDistributeEnd,\n  LucideAlignVerticalDistributeStart: LucideAlignVerticalDistributeStart,\n  LucideAlignVerticalJustifyCenter: LucideAlignVerticalJustifyCenter,\n  LucideAlignVerticalJustifyEnd: LucideAlignVerticalJustifyEnd,\n  LucideAlignVerticalJustifyStart: LucideAlignVerticalJustifyStart,\n  LucideAlignVerticalSpaceAround: LucideAlignVerticalSpaceAround,\n  LucideAlignVerticalSpaceBetween: LucideAlignVerticalSpaceBetween,\n  LucideAmbulance: LucideAmbulance,\n  LucideAmpersand: LucideAmpersand,\n  LucideAmpersands: LucideAmpersands,\n  LucideAmphora: LucideAmphora,\n  LucideAnchor: LucideAnchor,\n  LucideAngry: LucideAngry,\n  LucideAnnoyed: LucideAnnoyed,\n  LucideAntenna: LucideAntenna,\n  LucideAnvil: LucideAnvil,\n  LucideAperture: LucideAperture,\n  LucideAppWindow: LucideAppWindow,\n  LucideAppWindowMac: LucideAppWindowMac,\n  LucideApple: LucideApple,\n  LucideArchive: LucideArchive,\n  LucideArchiveRestore: LucideArchiveRestore,\n  LucideArchiveX: LucideArchiveX,\n  LucideAreaChart: LucideAreaChart,\n  LucideArmchair: LucideArmchair,\n  LucideArrowBigDown: LucideArrowBigDown,\n  LucideArrowBigDownDash: LucideArrowBigDownDash,\n  LucideArrowBigLeft: LucideArrowBigLeft,\n  LucideArrowBigLeftDash: LucideArrowBigLeftDash,\n  LucideArrowBigRight: LucideArrowBigRight,\n  LucideArrowBigRightDash: LucideArrowBigRightDash,\n  LucideArrowBigUp: LucideArrowBigUp,\n  LucideArrowBigUpDash: LucideArrowBigUpDash,\n  LucideArrowDown: LucideArrowDown,\n  LucideArrowDown01: LucideArrowDown01,\n  LucideArrowDown10: LucideArrowDown10,\n  LucideArrowDownAZ: LucideArrowDownAZ,\n  LucideArrowDownAz: LucideArrowDownAz,\n  LucideArrowDownCircle: LucideArrowDownCircle,\n  LucideArrowDownFromLine: LucideArrowDownFromLine,\n  LucideArrowDownLeft: LucideArrowDownLeft,\n  LucideArrowDownLeftFromCircle: LucideArrowDownLeftFromCircle,\n  LucideArrowDownLeftFromSquare: LucideArrowDownLeftFromSquare,\n  LucideArrowDownLeftSquare: LucideArrowDownLeftSquare,\n  LucideArrowDownNarrowWide: LucideArrowDownNarrowWide,\n  LucideArrowDownRight: LucideArrowDownRight,\n  LucideArrowDownRightFromCircle: LucideArrowDownRightFromCircle,\n  LucideArrowDownRightFromSquare: LucideArrowDownRightFromSquare,\n  LucideArrowDownRightSquare: LucideArrowDownRightSquare,\n  LucideArrowDownSquare: LucideArrowDownSquare,\n  LucideArrowDownToDot: LucideArrowDownToDot,\n  LucideArrowDownToLine: LucideArrowDownToLine,\n  LucideArrowDownUp: LucideArrowDownUp,\n  LucideArrowDownWideNarrow: LucideArrowDownWideNarrow,\n  LucideArrowDownZA: LucideArrowDownZA,\n  LucideArrowDownZa: LucideArrowDownZa,\n  LucideArrowLeft: LucideArrowLeft,\n  LucideArrowLeftCircle: LucideArrowLeftCircle,\n  LucideArrowLeftFromLine: LucideArrowLeftFromLine,\n  LucideArrowLeftRight: LucideArrowLeftRight,\n  LucideArrowLeftSquare: LucideArrowLeftSquare,\n  LucideArrowLeftToLine: LucideArrowLeftToLine,\n  LucideArrowRight: LucideArrowRight,\n  LucideArrowRightCircle: LucideArrowRightCircle,\n  LucideArrowRightFromLine: LucideArrowRightFromLine,\n  LucideArrowRightLeft: LucideArrowRightLeft,\n  LucideArrowRightSquare: LucideArrowRightSquare,\n  LucideArrowRightToLine: LucideArrowRightToLine,\n  LucideArrowUp: LucideArrowUp,\n  LucideArrowUp01: LucideArrowUp01,\n  LucideArrowUp10: LucideArrowUp10,\n  LucideArrowUpAZ: LucideArrowUpAZ,\n  LucideArrowUpAz: LucideArrowUpAz,\n  LucideArrowUpCircle: LucideArrowUpCircle,\n  LucideArrowUpDown: LucideArrowUpDown,\n  LucideArrowUpFromDot: LucideArrowUpFromDot,\n  LucideArrowUpFromLine: LucideArrowUpFromLine,\n  LucideArrowUpLeft: LucideArrowUpLeft,\n  LucideArrowUpLeftFromCircle: LucideArrowUpLeftFromCircle,\n  LucideArrowUpLeftFromSquare: LucideArrowUpLeftFromSquare,\n  LucideArrowUpLeftSquare: LucideArrowUpLeftSquare,\n  LucideArrowUpNarrowWide: LucideArrowUpNarrowWide,\n  LucideArrowUpRight: LucideArrowUpRight,\n  LucideArrowUpRightFromCircle: LucideArrowUpRightFromCircle,\n  LucideArrowUpRightFromSquare: LucideArrowUpRightFromSquare,\n  LucideArrowUpRightSquare: LucideArrowUpRightSquare,\n  LucideArrowUpSquare: LucideArrowUpSquare,\n  LucideArrowUpToLine: LucideArrowUpToLine,\n  LucideArrowUpWideNarrow: LucideArrowUpWideNarrow,\n  LucideArrowUpZA: LucideArrowUpZA,\n  LucideArrowUpZa: LucideArrowUpZa,\n  LucideArrowsUpFromLine: LucideArrowsUpFromLine,\n  LucideAsterisk: LucideAsterisk,\n  LucideAsteriskSquare: LucideAsteriskSquare,\n  LucideAtSign: LucideAtSign,\n  LucideAtom: LucideAtom,\n  LucideAudioLines: LucideAudioLines,\n  LucideAudioWaveform: LucideAudioWaveform,\n  LucideAward: LucideAward,\n  LucideAxe: LucideAxe,\n  LucideAxis3D: LucideAxis3D,\n  LucideAxis3d: LucideAxis3d,\n  LucideBaby: LucideBaby,\n  LucideBackpack: LucideBackpack,\n  LucideBadge: LucideBadge,\n  LucideBadgeAlert: LucideBadgeAlert,\n  LucideBadgeCent: LucideBadgeCent,\n  LucideBadgeCheck: LucideBadgeCheck,\n  LucideBadgeDollarSign: LucideBadgeDollarSign,\n  LucideBadgeEuro: LucideBadgeEuro,\n  LucideBadgeHelp: LucideBadgeHelp,\n  LucideBadgeIndianRupee: LucideBadgeIndianRupee,\n  LucideBadgeInfo: LucideBadgeInfo,\n  LucideBadgeJapaneseYen: LucideBadgeJapaneseYen,\n  LucideBadgeMinus: LucideBadgeMinus,\n  LucideBadgePercent: LucideBadgePercent,\n  LucideBadgePlus: LucideBadgePlus,\n  LucideBadgePoundSterling: LucideBadgePoundSterling,\n  LucideBadgeQuestionMark: LucideBadgeQuestionMark,\n  LucideBadgeRussianRuble: LucideBadgeRussianRuble,\n  LucideBadgeSwissFranc: LucideBadgeSwissFranc,\n  LucideBadgeTurkishLira: LucideBadgeTurkishLira,\n  LucideBadgeX: LucideBadgeX,\n  LucideBaggageClaim: LucideBaggageClaim,\n  LucideBalloon: LucideBalloon,\n  LucideBan: LucideBan,\n  LucideBanana: LucideBanana,\n  LucideBandage: LucideBandage,\n  LucideBanknote: LucideBanknote,\n  LucideBanknoteArrowDown: LucideBanknoteArrowDown,\n  LucideBanknoteArrowUp: LucideBanknoteArrowUp,\n  LucideBanknoteX: LucideBanknoteX,\n  LucideBarChart: LucideBarChart,\n  LucideBarChart2: LucideBarChart2,\n  LucideBarChart3: LucideBarChart3,\n  LucideBarChart4: LucideBarChart4,\n  LucideBarChartBig: LucideBarChartBig,\n  LucideBarChartHorizontal: LucideBarChartHorizontal,\n  LucideBarChartHorizontalBig: LucideBarChartHorizontalBig,\n  LucideBarcode: LucideBarcode,\n  LucideBarrel: LucideBarrel,\n  LucideBaseline: LucideBaseline,\n  LucideBath: LucideBath,\n  LucideBattery: LucideBattery,\n  LucideBatteryCharging: LucideBatteryCharging,\n  LucideBatteryFull: LucideBatteryFull,\n  LucideBatteryLow: LucideBatteryLow,\n  LucideBatteryMedium: LucideBatteryMedium,\n  LucideBatteryPlus: LucideBatteryPlus,\n  LucideBatteryWarning: LucideBatteryWarning,\n  LucideBeaker: LucideBeaker,\n  LucideBean: LucideBean,\n  LucideBeanOff: LucideBeanOff,\n  LucideBed: LucideBed,\n  LucideBedDouble: LucideBedDouble,\n  LucideBedSingle: LucideBedSingle,\n  LucideBeef: LucideBeef,\n  LucideBeefOff: LucideBeefOff,\n  LucideBeer: LucideBeer,\n  LucideBeerOff: LucideBeerOff,\n  LucideBell: LucideBell,\n  LucideBellDot: LucideBellDot,\n  LucideBellElectric: LucideBellElectric,\n  LucideBellMinus: LucideBellMinus,\n  LucideBellOff: LucideBellOff,\n  LucideBellPlus: LucideBellPlus,\n  LucideBellRing: LucideBellRing,\n  LucideBetweenHorizonalEnd: LucideBetweenHorizonalEnd,\n  LucideBetweenHorizonalStart: LucideBetweenHorizonalStart,\n  LucideBetweenHorizontalEnd: LucideBetweenHorizontalEnd,\n  LucideBetweenHorizontalStart: LucideBetweenHorizontalStart,\n  LucideBetweenVerticalEnd: LucideBetweenVerticalEnd,\n  LucideBetweenVerticalStart: LucideBetweenVerticalStart,\n  LucideBicepsFlexed: LucideBicepsFlexed,\n  LucideBike: LucideBike,\n  LucideBinary: LucideBinary,\n  LucideBinoculars: LucideBinoculars,\n  LucideBiohazard: LucideBiohazard,\n  LucideBird: LucideBird,\n  LucideBirdhouse: LucideBirdhouse,\n  LucideBitcoin: LucideBitcoin,\n  LucideBlend: LucideBlend,\n  LucideBlinds: LucideBlinds,\n  LucideBlocks: LucideBlocks,\n  LucideBluetooth: LucideBluetooth,\n  LucideBluetoothConnected: LucideBluetoothConnected,\n  LucideBluetoothOff: LucideBluetoothOff,\n  LucideBluetoothSearching: LucideBluetoothSearching,\n  LucideBold: LucideBold,\n  LucideBolt: LucideBolt,\n  LucideBomb: LucideBomb,\n  LucideBone: LucideBone,\n  LucideBook: LucideBook,\n  LucideBookA: LucideBookA,\n  LucideBookAlert: LucideBookAlert,\n  LucideBookAudio: LucideBookAudio,\n  LucideBookCheck: LucideBookCheck,\n  LucideBookCopy: LucideBookCopy,\n  LucideBookDashed: LucideBookDashed,\n  LucideBookDown: LucideBookDown,\n  LucideBookHeadphones: LucideBookHeadphones,\n  LucideBookHeart: LucideBookHeart,\n  LucideBookImage: LucideBookImage,\n  LucideBookKey: LucideBookKey,\n  LucideBookLock: LucideBookLock,\n  LucideBookMarked: LucideBookMarked,\n  LucideBookMinus: LucideBookMinus,\n  LucideBookOpen: LucideBookOpen,\n  LucideBookOpenCheck: LucideBookOpenCheck,\n  LucideBookOpenText: LucideBookOpenText,\n  LucideBookPlus: LucideBookPlus,\n  LucideBookSearch: LucideBookSearch,\n  LucideBookTemplate: LucideBookTemplate,\n  LucideBookText: LucideBookText,\n  LucideBookType: LucideBookType,\n  LucideBookUp: LucideBookUp,\n  LucideBookUp2: LucideBookUp2,\n  LucideBookUser: LucideBookUser,\n  LucideBookX: LucideBookX,\n  LucideBookmark: LucideBookmark,\n  LucideBookmarkCheck: LucideBookmarkCheck,\n  LucideBookmarkMinus: LucideBookmarkMinus,\n  LucideBookmarkPlus: LucideBookmarkPlus,\n  LucideBookmarkX: LucideBookmarkX,\n  LucideBoomBox: LucideBoomBox,\n  LucideBot: LucideBot,\n  LucideBotMessageSquare: LucideBotMessageSquare,\n  LucideBotOff: LucideBotOff,\n  LucideBottleWine: LucideBottleWine,\n  LucideBowArrow: LucideBowArrow,\n  LucideBox: LucideBox,\n  LucideBoxSelect: LucideBoxSelect,\n  LucideBoxes: LucideBoxes,\n  LucideBraces: LucideBraces,\n  LucideBrackets: LucideBrackets,\n  LucideBrain: LucideBrain,\n  LucideBrainCircuit: LucideBrainCircuit,\n  LucideBrainCog: LucideBrainCog,\n  LucideBrickWall: LucideBrickWall,\n  LucideBrickWallFire: LucideBrickWallFire,\n  LucideBrickWallShield: LucideBrickWallShield,\n  LucideBriefcase: LucideBriefcase,\n  LucideBriefcaseBusiness: LucideBriefcaseBusiness,\n  LucideBriefcaseConveyorBelt: LucideBriefcaseConveyorBelt,\n  LucideBriefcaseMedical: LucideBriefcaseMedical,\n  LucideBringToFront: LucideBringToFront,\n  LucideBrush: LucideBrush,\n  LucideBrushCleaning: LucideBrushCleaning,\n  LucideBubbles: LucideBubbles,\n  LucideBug: LucideBug,\n  LucideBugOff: LucideBugOff,\n  LucideBugPlay: LucideBugPlay,\n  LucideBuilding: LucideBuilding,\n  LucideBuilding2: LucideBuilding2,\n  LucideBus: LucideBus,\n  LucideBusFront: LucideBusFront,\n  LucideCable: LucideCable,\n  LucideCableCar: LucideCableCar,\n  LucideCake: LucideCake,\n  LucideCakeSlice: LucideCakeSlice,\n  LucideCalculator: LucideCalculator,\n  LucideCalendar: LucideCalendar,\n  LucideCalendar1: LucideCalendar1,\n  LucideCalendarArrowDown: LucideCalendarArrowDown,\n  LucideCalendarArrowUp: LucideCalendarArrowUp,\n  LucideCalendarCheck: LucideCalendarCheck,\n  LucideCalendarCheck2: LucideCalendarCheck2,\n  LucideCalendarClock: LucideCalendarClock,\n  LucideCalendarCog: LucideCalendarCog,\n  LucideCalendarDays: LucideCalendarDays,\n  LucideCalendarFold: LucideCalendarFold,\n  LucideCalendarHeart: LucideCalendarHeart,\n  LucideCalendarMinus: LucideCalendarMinus,\n  LucideCalendarMinus2: LucideCalendarMinus2,\n  LucideCalendarOff: LucideCalendarOff,\n  LucideCalendarPlus: LucideCalendarPlus,\n  LucideCalendarPlus2: LucideCalendarPlus2,\n  LucideCalendarRange: LucideCalendarRange,\n  LucideCalendarSearch: LucideCalendarSearch,\n  LucideCalendarSync: LucideCalendarSync,\n  LucideCalendarX: LucideCalendarX,\n  LucideCalendarX2: LucideCalendarX2,\n  LucideCalendars: LucideCalendars,\n  LucideCamera: LucideCamera,\n  LucideCameraOff: LucideCameraOff,\n  LucideCandlestickChart: LucideCandlestickChart,\n  LucideCandy: LucideCandy,\n  LucideCandyCane: LucideCandyCane,\n  LucideCandyOff: LucideCandyOff,\n  LucideCannabis: LucideCannabis,\n  LucideCannabisOff: LucideCannabisOff,\n  LucideCaptions: LucideCaptions,\n  LucideCaptionsOff: LucideCaptionsOff,\n  LucideCar: LucideCar,\n  LucideCarFront: LucideCarFront,\n  LucideCarTaxiFront: LucideCarTaxiFront,\n  LucideCaravan: LucideCaravan,\n  LucideCardSim: LucideCardSim,\n  LucideCarrot: LucideCarrot,\n  LucideCaseLower: LucideCaseLower,\n  LucideCaseSensitive: LucideCaseSensitive,\n  LucideCaseUpper: LucideCaseUpper,\n  LucideCassetteTape: LucideCassetteTape,\n  LucideCast: LucideCast,\n  LucideCastle: LucideCastle,\n  LucideCat: LucideCat,\n  LucideCctv: LucideCctv,\n  LucideCctvOff: LucideCctvOff,\n  LucideChartArea: LucideChartArea,\n  LucideChartBar: LucideChartBar,\n  LucideChartBarBig: LucideChartBarBig,\n  LucideChartBarDecreasing: LucideChartBarDecreasing,\n  LucideChartBarIncreasing: LucideChartBarIncreasing,\n  LucideChartBarStacked: LucideChartBarStacked,\n  LucideChartCandlestick: LucideChartCandlestick,\n  LucideChartColumn: LucideChartColumn,\n  LucideChartColumnBig: LucideChartColumnBig,\n  LucideChartColumnDecreasing: LucideChartColumnDecreasing,\n  LucideChartColumnIncreasing: LucideChartColumnIncreasing,\n  LucideChartColumnStacked: LucideChartColumnStacked,\n  LucideChartGantt: LucideChartGantt,\n  LucideChartLine: LucideChartLine,\n  LucideChartNetwork: LucideChartNetwork,\n  LucideChartNoAxesColumn: LucideChartNoAxesColumn,\n  LucideChartNoAxesColumnDecreasing: LucideChartNoAxesColumnDecreasing,\n  LucideChartNoAxesColumnIncreasing: LucideChartNoAxesColumnIncreasing,\n  LucideChartNoAxesCombined: LucideChartNoAxesCombined,\n  LucideChartNoAxesGantt: LucideChartNoAxesGantt,\n  LucideChartPie: LucideChartPie,\n  LucideChartScatter: LucideChartScatter,\n  LucideChartSpline: LucideChartSpline,\n  LucideCheck: LucideCheck,\n  LucideCheckCheck: LucideCheckCheck,\n  LucideCheckCircle: LucideCheckCircle,\n  LucideCheckCircle2: LucideCheckCircle2,\n  LucideCheckLine: LucideCheckLine,\n  LucideCheckSquare: LucideCheckSquare,\n  LucideCheckSquare2: LucideCheckSquare2,\n  LucideChefHat: LucideChefHat,\n  LucideCherry: LucideCherry,\n  LucideChessBishop: LucideChessBishop,\n  LucideChessKing: LucideChessKing,\n  LucideChessKnight: LucideChessKnight,\n  LucideChessPawn: LucideChessPawn,\n  LucideChessQueen: LucideChessQueen,\n  LucideChessRook: LucideChessRook,\n  LucideChevronDown: LucideChevronDown,\n  LucideChevronDownCircle: LucideChevronDownCircle,\n  LucideChevronDownSquare: LucideChevronDownSquare,\n  LucideChevronFirst: LucideChevronFirst,\n  LucideChevronLast: LucideChevronLast,\n  LucideChevronLeft: LucideChevronLeft,\n  LucideChevronLeftCircle: LucideChevronLeftCircle,\n  LucideChevronLeftSquare: LucideChevronLeftSquare,\n  LucideChevronRight: LucideChevronRight,\n  LucideChevronRightCircle: LucideChevronRightCircle,\n  LucideChevronRightSquare: LucideChevronRightSquare,\n  LucideChevronUp: LucideChevronUp,\n  LucideChevronUpCircle: LucideChevronUpCircle,\n  LucideChevronUpSquare: LucideChevronUpSquare,\n  LucideChevronsDown: LucideChevronsDown,\n  LucideChevronsDownUp: LucideChevronsDownUp,\n  LucideChevronsLeft: LucideChevronsLeft,\n  LucideChevronsLeftRight: LucideChevronsLeftRight,\n  LucideChevronsLeftRightEllipsis: LucideChevronsLeftRightEllipsis,\n  LucideChevronsRight: LucideChevronsRight,\n  LucideChevronsRightLeft: LucideChevronsRightLeft,\n  LucideChevronsUp: LucideChevronsUp,\n  LucideChevronsUpDown: LucideChevronsUpDown,\n  LucideChurch: LucideChurch,\n  LucideCigarette: LucideCigarette,\n  LucideCigaretteOff: LucideCigaretteOff,\n  LucideCircle: LucideCircle,\n  LucideCircleAlert: LucideCircleAlert,\n  LucideCircleArrowDown: LucideCircleArrowDown,\n  LucideCircleArrowLeft: LucideCircleArrowLeft,\n  LucideCircleArrowOutDownLeft: LucideCircleArrowOutDownLeft,\n  LucideCircleArrowOutDownRight: LucideCircleArrowOutDownRight,\n  LucideCircleArrowOutUpLeft: LucideCircleArrowOutUpLeft,\n  LucideCircleArrowOutUpRight: LucideCircleArrowOutUpRight,\n  LucideCircleArrowRight: LucideCircleArrowRight,\n  LucideCircleArrowUp: LucideCircleArrowUp,\n  LucideCircleCheck: LucideCircleCheck,\n  LucideCircleCheckBig: LucideCircleCheckBig,\n  LucideCircleChevronDown: LucideCircleChevronDown,\n  LucideCircleChevronLeft: LucideCircleChevronLeft,\n  LucideCircleChevronRight: LucideCircleChevronRight,\n  LucideCircleChevronUp: LucideCircleChevronUp,\n  LucideCircleDashed: LucideCircleDashed,\n  LucideCircleDivide: LucideCircleDivide,\n  LucideCircleDollarSign: LucideCircleDollarSign,\n  LucideCircleDot: LucideCircleDot,\n  LucideCircleDotDashed: LucideCircleDotDashed,\n  LucideCircleEllipsis: LucideCircleEllipsis,\n  LucideCircleEqual: LucideCircleEqual,\n  LucideCircleFadingArrowUp: LucideCircleFadingArrowUp,\n  LucideCircleFadingPlus: LucideCircleFadingPlus,\n  LucideCircleGauge: LucideCircleGauge,\n  LucideCircleHelp: LucideCircleHelp,\n  LucideCircleMinus: LucideCircleMinus,\n  LucideCircleOff: LucideCircleOff,\n  LucideCircleParking: LucideCircleParking,\n  LucideCircleParkingOff: LucideCircleParkingOff,\n  LucideCirclePause: LucideCirclePause,\n  LucideCirclePercent: LucideCirclePercent,\n  LucideCirclePile: LucideCirclePile,\n  LucideCirclePlay: LucideCirclePlay,\n  LucideCirclePlus: LucideCirclePlus,\n  LucideCirclePoundSterling: LucideCirclePoundSterling,\n  LucideCirclePower: LucideCirclePower,\n  LucideCircleQuestionMark: LucideCircleQuestionMark,\n  LucideCircleSlash: LucideCircleSlash,\n  LucideCircleSlash2: LucideCircleSlash2,\n  LucideCircleSlashed: LucideCircleSlashed,\n  LucideCircleSmall: LucideCircleSmall,\n  LucideCircleStar: LucideCircleStar,\n  LucideCircleStop: LucideCircleStop,\n  LucideCircleUser: LucideCircleUser,\n  LucideCircleUserRound: LucideCircleUserRound,\n  LucideCircleX: LucideCircleX,\n  LucideCircuitBoard: LucideCircuitBoard,\n  LucideCitrus: LucideCitrus,\n  LucideClapperboard: LucideClapperboard,\n  LucideClipboard: LucideClipboard,\n  LucideClipboardCheck: LucideClipboardCheck,\n  LucideClipboardClock: LucideClipboardClock,\n  LucideClipboardCopy: LucideClipboardCopy,\n  LucideClipboardEdit: LucideClipboardEdit,\n  LucideClipboardList: LucideClipboardList,\n  LucideClipboardMinus: LucideClipboardMinus,\n  LucideClipboardPaste: LucideClipboardPaste,\n  LucideClipboardPen: LucideClipboardPen,\n  LucideClipboardPenLine: LucideClipboardPenLine,\n  LucideClipboardPlus: LucideClipboardPlus,\n  LucideClipboardSignature: LucideClipboardSignature,\n  LucideClipboardType: LucideClipboardType,\n  LucideClipboardX: LucideClipboardX,\n  LucideClock: LucideClock,\n  LucideClock1: LucideClock1,\n  LucideClock10: LucideClock10,\n  LucideClock11: LucideClock11,\n  LucideClock12: LucideClock12,\n  LucideClock2: LucideClock2,\n  LucideClock3: LucideClock3,\n  LucideClock4: LucideClock4,\n  LucideClock5: LucideClock5,\n  LucideClock6: LucideClock6,\n  LucideClock7: LucideClock7,\n  LucideClock8: LucideClock8,\n  LucideClock9: LucideClock9,\n  LucideClockAlert: LucideClockAlert,\n  LucideClockArrowDown: LucideClockArrowDown,\n  LucideClockArrowUp: LucideClockArrowUp,\n  LucideClockCheck: LucideClockCheck,\n  LucideClockFading: LucideClockFading,\n  LucideClockPlus: LucideClockPlus,\n  LucideClosedCaption: LucideClosedCaption,\n  LucideCloud: LucideCloud,\n  LucideCloudAlert: LucideCloudAlert,\n  LucideCloudBackup: LucideCloudBackup,\n  LucideCloudCheck: LucideCloudCheck,\n  LucideCloudCog: LucideCloudCog,\n  LucideCloudDownload: LucideCloudDownload,\n  LucideCloudDrizzle: LucideCloudDrizzle,\n  LucideCloudFog: LucideCloudFog,\n  LucideCloudHail: LucideCloudHail,\n  LucideCloudLightning: LucideCloudLightning,\n  LucideCloudMoon: LucideCloudMoon,\n  LucideCloudMoonRain: LucideCloudMoonRain,\n  LucideCloudOff: LucideCloudOff,\n  LucideCloudRain: LucideCloudRain,\n  LucideCloudRainWind: LucideCloudRainWind,\n  LucideCloudSnow: LucideCloudSnow,\n  LucideCloudSun: LucideCloudSun,\n  LucideCloudSunRain: LucideCloudSunRain,\n  LucideCloudSync: LucideCloudSync,\n  LucideCloudUpload: LucideCloudUpload,\n  LucideCloudy: LucideCloudy,\n  LucideClover: LucideClover,\n  LucideClub: LucideClub,\n  LucideCode: LucideCode,\n  LucideCode2: LucideCode2,\n  LucideCodeSquare: LucideCodeSquare,\n  LucideCodeXml: LucideCodeXml,\n  LucideCoffee: LucideCoffee,\n  LucideCog: LucideCog,\n  LucideCoins: LucideCoins,\n  LucideColumns: LucideColumns,\n  LucideColumns2: LucideColumns2,\n  LucideColumns3: LucideColumns3,\n  LucideColumns3Cog: LucideColumns3Cog,\n  LucideColumns4: LucideColumns4,\n  LucideColumnsSettings: LucideColumnsSettings,\n  LucideCombine: LucideCombine,\n  LucideCommand: LucideCommand,\n  LucideCompass: LucideCompass,\n  LucideComponent: LucideComponent,\n  LucideComputer: LucideComputer,\n  LucideConciergeBell: LucideConciergeBell,\n  LucideCone: LucideCone,\n  LucideConstruction: LucideConstruction,\n  LucideContact: LucideContact,\n  LucideContact2: LucideContact2,\n  LucideContactRound: LucideContactRound,\n  LucideContainer: LucideContainer,\n  LucideContrast: LucideContrast,\n  LucideCookie: LucideCookie,\n  LucideCookingPot: LucideCookingPot,\n  LucideCopy: LucideCopy,\n  LucideCopyCheck: LucideCopyCheck,\n  LucideCopyMinus: LucideCopyMinus,\n  LucideCopyPlus: LucideCopyPlus,\n  LucideCopySlash: LucideCopySlash,\n  LucideCopyX: LucideCopyX,\n  LucideCopyleft: LucideCopyleft,\n  LucideCopyright: LucideCopyright,\n  LucideCornerDownLeft: LucideCornerDownLeft,\n  LucideCornerDownRight: LucideCornerDownRight,\n  LucideCornerLeftDown: LucideCornerLeftDown,\n  LucideCornerLeftUp: LucideCornerLeftUp,\n  LucideCornerRightDown: LucideCornerRightDown,\n  LucideCornerRightUp: LucideCornerRightUp,\n  LucideCornerUpLeft: LucideCornerUpLeft,\n  LucideCornerUpRight: LucideCornerUpRight,\n  LucideCpu: LucideCpu,\n  LucideCreativeCommons: LucideCreativeCommons,\n  LucideCreditCard: LucideCreditCard,\n  LucideCroissant: LucideCroissant,\n  LucideCrop: LucideCrop,\n  LucideCross: LucideCross,\n  LucideCrosshair: LucideCrosshair,\n  LucideCrown: LucideCrown,\n  LucideCuboid: LucideCuboid,\n  LucideCupSoda: LucideCupSoda,\n  LucideCurlyBraces: LucideCurlyBraces,\n  LucideCurrency: LucideCurrency,\n  LucideCylinder: LucideCylinder,\n  LucideDam: LucideDam,\n  LucideDatabase: LucideDatabase,\n  LucideDatabaseBackup: LucideDatabaseBackup,\n  LucideDatabaseSearch: LucideDatabaseSearch,\n  LucideDatabaseZap: LucideDatabaseZap,\n  LucideDecimalsArrowLeft: LucideDecimalsArrowLeft,\n  LucideDecimalsArrowRight: LucideDecimalsArrowRight,\n  LucideDelete: LucideDelete,\n  LucideDessert: LucideDessert,\n  LucideDiameter: LucideDiameter,\n  LucideDiamond: LucideDiamond,\n  LucideDiamondMinus: LucideDiamondMinus,\n  LucideDiamondPercent: LucideDiamondPercent,\n  LucideDiamondPlus: LucideDiamondPlus,\n  LucideDice1: LucideDice1,\n  LucideDice2: LucideDice2,\n  LucideDice3: LucideDice3,\n  LucideDice4: LucideDice4,\n  LucideDice5: LucideDice5,\n  LucideDice6: LucideDice6,\n  LucideDices: LucideDices,\n  LucideDiff: LucideDiff,\n  LucideDisc: LucideDisc,\n  LucideDisc2: LucideDisc2,\n  LucideDisc3: LucideDisc3,\n  LucideDiscAlbum: LucideDiscAlbum,\n  LucideDivide: LucideDivide,\n  LucideDivideCircle: LucideDivideCircle,\n  LucideDivideSquare: LucideDivideSquare,\n  LucideDna: LucideDna,\n  LucideDnaOff: LucideDnaOff,\n  LucideDock: LucideDock,\n  LucideDog: LucideDog,\n  LucideDollarSign: LucideDollarSign,\n  LucideDonut: LucideDonut,\n  LucideDoorClosed: LucideDoorClosed,\n  LucideDoorClosedLocked: LucideDoorClosedLocked,\n  LucideDoorOpen: LucideDoorOpen,\n  LucideDot: LucideDot,\n  LucideDotSquare: LucideDotSquare,\n  LucideDownload: LucideDownload,\n  LucideDownloadCloud: LucideDownloadCloud,\n  LucideDraftingCompass: LucideDraftingCompass,\n  LucideDrama: LucideDrama,\n  LucideDrill: LucideDrill,\n  LucideDrone: LucideDrone,\n  LucideDroplet: LucideDroplet,\n  LucideDropletOff: LucideDropletOff,\n  LucideDroplets: LucideDroplets,\n  LucideDrum: LucideDrum,\n  LucideDrumstick: LucideDrumstick,\n  LucideDumbbell: LucideDumbbell,\n  LucideEar: LucideEar,\n  LucideEarOff: LucideEarOff,\n  LucideEarth: LucideEarth,\n  LucideEarthLock: LucideEarthLock,\n  LucideEclipse: LucideEclipse,\n  LucideEdit: LucideEdit,\n  LucideEdit2: LucideEdit2,\n  LucideEdit3: LucideEdit3,\n  LucideEgg: LucideEgg,\n  LucideEggFried: LucideEggFried,\n  LucideEggOff: LucideEggOff,\n  LucideEllipse: LucideEllipse,\n  LucideEllipsis: LucideEllipsis,\n  LucideEllipsisVertical: LucideEllipsisVertical,\n  LucideEqual: LucideEqual,\n  LucideEqualApproximately: LucideEqualApproximately,\n  LucideEqualNot: LucideEqualNot,\n  LucideEqualSquare: LucideEqualSquare,\n  LucideEraser: LucideEraser,\n  LucideEthernetPort: LucideEthernetPort,\n  LucideEuro: LucideEuro,\n  LucideEvCharger: LucideEvCharger,\n  LucideExpand: LucideExpand,\n  LucideExternalLink: LucideExternalLink,\n  LucideEye: LucideEye,\n  LucideEyeClosed: LucideEyeClosed,\n  LucideEyeOff: LucideEyeOff,\n  LucideFactory: LucideFactory,\n  LucideFan: LucideFan,\n  LucideFastForward: LucideFastForward,\n  LucideFeather: LucideFeather,\n  LucideFence: LucideFence,\n  LucideFerrisWheel: LucideFerrisWheel,\n  LucideFile: LucideFile,\n  LucideFileArchive: LucideFileArchive,\n  LucideFileAudio: LucideFileAudio,\n  LucideFileAudio2: LucideFileAudio2,\n  LucideFileAxis3D: LucideFileAxis3D,\n  LucideFileAxis3d: LucideFileAxis3d,\n  LucideFileBadge: LucideFileBadge,\n  LucideFileBadge2: LucideFileBadge2,\n  LucideFileBarChart: LucideFileBarChart,\n  LucideFileBarChart2: LucideFileBarChart2,\n  LucideFileBox: LucideFileBox,\n  LucideFileBraces: LucideFileBraces,\n  LucideFileBracesCorner: LucideFileBracesCorner,\n  LucideFileChartColumn: LucideFileChartColumn,\n  LucideFileChartColumnIncreasing: LucideFileChartColumnIncreasing,\n  LucideFileChartLine: LucideFileChartLine,\n  LucideFileChartPie: LucideFileChartPie,\n  LucideFileCheck: LucideFileCheck,\n  LucideFileCheck2: LucideFileCheck2,\n  LucideFileCheckCorner: LucideFileCheckCorner,\n  LucideFileClock: LucideFileClock,\n  LucideFileCode: LucideFileCode,\n  LucideFileCode2: LucideFileCode2,\n  LucideFileCodeCorner: LucideFileCodeCorner,\n  LucideFileCog: LucideFileCog,\n  LucideFileCog2: LucideFileCog2,\n  LucideFileDiff: LucideFileDiff,\n  LucideFileDigit: LucideFileDigit,\n  LucideFileDown: LucideFileDown,\n  LucideFileEdit: LucideFileEdit,\n  LucideFileExclamationPoint: LucideFileExclamationPoint,\n  LucideFileHeadphone: LucideFileHeadphone,\n  LucideFileHeart: LucideFileHeart,\n  LucideFileImage: LucideFileImage,\n  LucideFileInput: LucideFileInput,\n  LucideFileJson: LucideFileJson,\n  LucideFileJson2: LucideFileJson2,\n  LucideFileKey: LucideFileKey,\n  LucideFileKey2: LucideFileKey2,\n  LucideFileLineChart: LucideFileLineChart,\n  LucideFileLock: LucideFileLock,\n  LucideFileLock2: LucideFileLock2,\n  LucideFileMinus: LucideFileMinus,\n  LucideFileMinus2: LucideFileMinus2,\n  LucideFileMinusCorner: LucideFileMinusCorner,\n  LucideFileMusic: LucideFileMusic,\n  LucideFileOutput: LucideFileOutput,\n  LucideFilePen: LucideFilePen,\n  LucideFilePenLine: LucideFilePenLine,\n  LucideFilePieChart: LucideFilePieChart,\n  LucideFilePlay: LucideFilePlay,\n  LucideFilePlus: LucideFilePlus,\n  LucideFilePlus2: LucideFilePlus2,\n  LucideFilePlusCorner: LucideFilePlusCorner,\n  LucideFileQuestion: LucideFileQuestion,\n  LucideFileQuestionMark: LucideFileQuestionMark,\n  LucideFileScan: LucideFileScan,\n  LucideFileSearch: LucideFileSearch,\n  LucideFileSearch2: LucideFileSearch2,\n  LucideFileSearchCorner: LucideFileSearchCorner,\n  LucideFileSignal: LucideFileSignal,\n  LucideFileSignature: LucideFileSignature,\n  LucideFileSliders: LucideFileSliders,\n  LucideFileSpreadsheet: LucideFileSpreadsheet,\n  LucideFileStack: LucideFileStack,\n  LucideFileSymlink: LucideFileSymlink,\n  LucideFileTerminal: LucideFileTerminal,\n  LucideFileText: LucideFileText,\n  LucideFileType: LucideFileType,\n  LucideFileType2: LucideFileType2,\n  LucideFileTypeCorner: LucideFileTypeCorner,\n  LucideFileUp: LucideFileUp,\n  LucideFileUser: LucideFileUser,\n  LucideFileVideo: LucideFileVideo,\n  LucideFileVideo2: LucideFileVideo2,\n  LucideFileVideoCamera: LucideFileVideoCamera,\n  LucideFileVolume: LucideFileVolume,\n  LucideFileVolume2: LucideFileVolume2,\n  LucideFileWarning: LucideFileWarning,\n  LucideFileX: LucideFileX,\n  LucideFileX2: LucideFileX2,\n  LucideFileXCorner: LucideFileXCorner,\n  LucideFiles: LucideFiles,\n  LucideFilm: LucideFilm,\n  LucideFilter: LucideFilter,\n  LucideFilterX: LucideFilterX,\n  LucideFingerprint: LucideFingerprint,\n  LucideFingerprintPattern: LucideFingerprintPattern,\n  LucideFireExtinguisher: LucideFireExtinguisher,\n  LucideFish: LucideFish,\n  LucideFishOff: LucideFishOff,\n  LucideFishSymbol: LucideFishSymbol,\n  LucideFishingHook: LucideFishingHook,\n  LucideFishingRod: LucideFishingRod,\n  LucideFlag: LucideFlag,\n  LucideFlagOff: LucideFlagOff,\n  LucideFlagTriangleLeft: LucideFlagTriangleLeft,\n  LucideFlagTriangleRight: LucideFlagTriangleRight,\n  LucideFlame: LucideFlame,\n  LucideFlameKindling: LucideFlameKindling,\n  LucideFlashlight: LucideFlashlight,\n  LucideFlashlightOff: LucideFlashlightOff,\n  LucideFlaskConical: LucideFlaskConical,\n  LucideFlaskConicalOff: LucideFlaskConicalOff,\n  LucideFlaskRound: LucideFlaskRound,\n  LucideFlipHorizontal: LucideFlipHorizontal,\n  LucideFlipHorizontal2: LucideFlipHorizontal2,\n  LucideFlipVertical: LucideFlipVertical,\n  LucideFlipVertical2: LucideFlipVertical2,\n  LucideFlower: LucideFlower,\n  LucideFlower2: LucideFlower2,\n  LucideFocus: LucideFocus,\n  LucideFoldHorizontal: LucideFoldHorizontal,\n  LucideFoldVertical: LucideFoldVertical,\n  LucideFolder: LucideFolder,\n  LucideFolderArchive: LucideFolderArchive,\n  LucideFolderCheck: LucideFolderCheck,\n  LucideFolderClock: LucideFolderClock,\n  LucideFolderClosed: LucideFolderClosed,\n  LucideFolderCode: LucideFolderCode,\n  LucideFolderCog: LucideFolderCog,\n  LucideFolderCog2: LucideFolderCog2,\n  LucideFolderDot: LucideFolderDot,\n  LucideFolderDown: LucideFolderDown,\n  LucideFolderEdit: LucideFolderEdit,\n  LucideFolderGit: LucideFolderGit,\n  LucideFolderGit2: LucideFolderGit2,\n  LucideFolderHeart: LucideFolderHeart,\n  LucideFolderInput: LucideFolderInput,\n  LucideFolderKanban: LucideFolderKanban,\n  LucideFolderKey: LucideFolderKey,\n  LucideFolderLock: LucideFolderLock,\n  LucideFolderMinus: LucideFolderMinus,\n  LucideFolderOpen: LucideFolderOpen,\n  LucideFolderOpenDot: LucideFolderOpenDot,\n  LucideFolderOutput: LucideFolderOutput,\n  LucideFolderPen: LucideFolderPen,\n  LucideFolderPlus: LucideFolderPlus,\n  LucideFolderRoot: LucideFolderRoot,\n  LucideFolderSearch: LucideFolderSearch,\n  LucideFolderSearch2: LucideFolderSearch2,\n  LucideFolderSymlink: LucideFolderSymlink,\n  LucideFolderSync: LucideFolderSync,\n  LucideFolderTree: LucideFolderTree,\n  LucideFolderUp: LucideFolderUp,\n  LucideFolderX: LucideFolderX,\n  LucideFolders: LucideFolders,\n  LucideFootprints: LucideFootprints,\n  LucideForkKnife: LucideForkKnife,\n  LucideForkKnifeCrossed: LucideForkKnifeCrossed,\n  LucideForklift: LucideForklift,\n  LucideForm: LucideForm,\n  LucideFormInput: LucideFormInput,\n  LucideForward: LucideForward,\n  LucideFrame: LucideFrame,\n  LucideFrown: LucideFrown,\n  LucideFuel: LucideFuel,\n  LucideFullscreen: LucideFullscreen,\n  LucideFunctionSquare: LucideFunctionSquare,\n  LucideFunnel: LucideFunnel,\n  LucideFunnelPlus: LucideFunnelPlus,\n  LucideFunnelX: LucideFunnelX,\n  LucideGalleryHorizontal: LucideGalleryHorizontal,\n  LucideGalleryHorizontalEnd: LucideGalleryHorizontalEnd,\n  LucideGalleryThumbnails: LucideGalleryThumbnails,\n  LucideGalleryVertical: LucideGalleryVertical,\n  LucideGalleryVerticalEnd: LucideGalleryVerticalEnd,\n  LucideGamepad: LucideGamepad,\n  LucideGamepad2: LucideGamepad2,\n  LucideGamepadDirectional: LucideGamepadDirectional,\n  LucideGanttChart: LucideGanttChart,\n  LucideGanttChartSquare: LucideGanttChartSquare,\n  LucideGauge: LucideGauge,\n  LucideGaugeCircle: LucideGaugeCircle,\n  LucideGavel: LucideGavel,\n  LucideGem: LucideGem,\n  LucideGeorgianLari: LucideGeorgianLari,\n  LucideGhost: LucideGhost,\n  LucideGift: LucideGift,\n  LucideGitBranch: LucideGitBranch,\n  LucideGitBranchMinus: LucideGitBranchMinus,\n  LucideGitBranchPlus: LucideGitBranchPlus,\n  LucideGitCommit: LucideGitCommit,\n  LucideGitCommitHorizontal: LucideGitCommitHorizontal,\n  LucideGitCommitVertical: LucideGitCommitVertical,\n  LucideGitCompare: LucideGitCompare,\n  LucideGitCompareArrows: LucideGitCompareArrows,\n  LucideGitFork: LucideGitFork,\n  LucideGitGraph: LucideGitGraph,\n  LucideGitMerge: LucideGitMerge,\n  LucideGitMergeConflict: LucideGitMergeConflict,\n  LucideGitPullRequest: LucideGitPullRequest,\n  LucideGitPullRequestArrow: LucideGitPullRequestArrow,\n  LucideGitPullRequestClosed: LucideGitPullRequestClosed,\n  LucideGitPullRequestCreate: LucideGitPullRequestCreate,\n  LucideGitPullRequestCreateArrow: LucideGitPullRequestCreateArrow,\n  LucideGitPullRequestDraft: LucideGitPullRequestDraft,\n  LucideGlassWater: LucideGlassWater,\n  LucideGlasses: LucideGlasses,\n  LucideGlobe: LucideGlobe,\n  LucideGlobe2: LucideGlobe2,\n  LucideGlobeLock: LucideGlobeLock,\n  LucideGlobeOff: LucideGlobeOff,\n  LucideGlobeX: LucideGlobeX,\n  LucideGoal: LucideGoal,\n  LucideGpu: LucideGpu,\n  LucideGrab: LucideGrab,\n  LucideGraduationCap: LucideGraduationCap,\n  LucideGrape: LucideGrape,\n  LucideGrid: LucideGrid,\n  LucideGrid2X2: LucideGrid2X2,\n  LucideGrid2X2Check: LucideGrid2X2Check,\n  LucideGrid2X2Plus: LucideGrid2X2Plus,\n  LucideGrid2X2X: LucideGrid2X2X,\n  LucideGrid2x2: LucideGrid2x2,\n  LucideGrid2x2Check: LucideGrid2x2Check,\n  LucideGrid2x2Plus: LucideGrid2x2Plus,\n  LucideGrid2x2X: LucideGrid2x2X,\n  LucideGrid3X3: LucideGrid3X3,\n  LucideGrid3x2: LucideGrid3x2,\n  LucideGrid3x3: LucideGrid3x3,\n  LucideGrip: LucideGrip,\n  LucideGripHorizontal: LucideGripHorizontal,\n  LucideGripVertical: LucideGripVertical,\n  LucideGroup: LucideGroup,\n  LucideGuitar: LucideGuitar,\n  LucideHam: LucideHam,\n  LucideHamburger: LucideHamburger,\n  LucideHammer: LucideHammer,\n  LucideHand: LucideHand,\n  LucideHandCoins: LucideHandCoins,\n  LucideHandFist: LucideHandFist,\n  LucideHandGrab: LucideHandGrab,\n  LucideHandHeart: LucideHandHeart,\n  LucideHandHelping: LucideHandHelping,\n  LucideHandMetal: LucideHandMetal,\n  LucideHandPlatter: LucideHandPlatter,\n  LucideHandbag: LucideHandbag,\n  LucideHandshake: LucideHandshake,\n  LucideHardDrive: LucideHardDrive,\n  LucideHardDriveDownload: LucideHardDriveDownload,\n  LucideHardDriveUpload: LucideHardDriveUpload,\n  LucideHardHat: LucideHardHat,\n  LucideHash: LucideHash,\n  LucideHatGlasses: LucideHatGlasses,\n  LucideHaze: LucideHaze,\n  LucideHd: LucideHd,\n  LucideHdmiPort: LucideHdmiPort,\n  LucideHeading: LucideHeading,\n  LucideHeading1: LucideHeading1,\n  LucideHeading2: LucideHeading2,\n  LucideHeading3: LucideHeading3,\n  LucideHeading4: LucideHeading4,\n  LucideHeading5: LucideHeading5,\n  LucideHeading6: LucideHeading6,\n  LucideHeadphoneOff: LucideHeadphoneOff,\n  LucideHeadphones: LucideHeadphones,\n  LucideHeadset: LucideHeadset,\n  LucideHeart: LucideHeart,\n  LucideHeartCrack: LucideHeartCrack,\n  LucideHeartHandshake: LucideHeartHandshake,\n  LucideHeartMinus: LucideHeartMinus,\n  LucideHeartOff: LucideHeartOff,\n  LucideHeartPlus: LucideHeartPlus,\n  LucideHeartPulse: LucideHeartPulse,\n  LucideHeater: LucideHeater,\n  LucideHelicopter: LucideHelicopter,\n  LucideHelpCircle: LucideHelpCircle,\n  LucideHelpingHand: LucideHelpingHand,\n  LucideHexagon: LucideHexagon,\n  LucideHighlighter: LucideHighlighter,\n  LucideHistory: LucideHistory,\n  LucideHome: LucideHome,\n  LucideHop: LucideHop,\n  LucideHopOff: LucideHopOff,\n  LucideHospital: LucideHospital,\n  LucideHotel: LucideHotel,\n  LucideHourglass: LucideHourglass,\n  LucideHouse: LucideHouse,\n  LucideHouseHeart: LucideHouseHeart,\n  LucideHousePlug: LucideHousePlug,\n  LucideHousePlus: LucideHousePlus,\n  LucideHouseWifi: LucideHouseWifi,\n  LucideIceCream: LucideIceCream,\n  LucideIceCream2: LucideIceCream2,\n  LucideIceCreamBowl: LucideIceCreamBowl,\n  LucideIceCreamCone: LucideIceCreamCone,\n  LucideIdCard: LucideIdCard,\n  LucideIdCardLanyard: LucideIdCardLanyard,\n  LucideImage: LucideImage,\n  LucideImageDown: LucideImageDown,\n  LucideImageMinus: LucideImageMinus,\n  LucideImageOff: LucideImageOff,\n  LucideImagePlay: LucideImagePlay,\n  LucideImagePlus: LucideImagePlus,\n  LucideImageUp: LucideImageUp,\n  LucideImageUpscale: LucideImageUpscale,\n  LucideImages: LucideImages,\n  LucideImport: LucideImport,\n  LucideInbox: LucideInbox,\n  LucideIndent: LucideIndent,\n  LucideIndentDecrease: LucideIndentDecrease,\n  LucideIndentIncrease: LucideIndentIncrease,\n  LucideIndianRupee: LucideIndianRupee,\n  LucideInfinity: LucideInfinity,\n  LucideInfo: LucideInfo,\n  LucideInspect: LucideInspect,\n  LucideInspectionPanel: LucideInspectionPanel,\n  LucideItalic: LucideItalic,\n  LucideIterationCcw: LucideIterationCcw,\n  LucideIterationCw: LucideIterationCw,\n  LucideJapaneseYen: LucideJapaneseYen,\n  LucideJoystick: LucideJoystick,\n  LucideKanban: LucideKanban,\n  LucideKanbanSquare: LucideKanbanSquare,\n  LucideKanbanSquareDashed: LucideKanbanSquareDashed,\n  LucideKayak: LucideKayak,\n  LucideKey: LucideKey,\n  LucideKeyRound: LucideKeyRound,\n  LucideKeySquare: LucideKeySquare,\n  LucideKeyboard: LucideKeyboard,\n  LucideKeyboardMusic: LucideKeyboardMusic,\n  LucideKeyboardOff: LucideKeyboardOff,\n  LucideLamp: LucideLamp,\n  LucideLampCeiling: LucideLampCeiling,\n  LucideLampDesk: LucideLampDesk,\n  LucideLampFloor: LucideLampFloor,\n  LucideLampWallDown: LucideLampWallDown,\n  LucideLampWallUp: LucideLampWallUp,\n  LucideLandPlot: LucideLandPlot,\n  LucideLandmark: LucideLandmark,\n  LucideLanguages: LucideLanguages,\n  LucideLaptop: LucideLaptop,\n  LucideLaptop2: LucideLaptop2,\n  LucideLaptopMinimal: LucideLaptopMinimal,\n  LucideLaptopMinimalCheck: LucideLaptopMinimalCheck,\n  LucideLasso: LucideLasso,\n  LucideLassoSelect: LucideLassoSelect,\n  LucideLaugh: LucideLaugh,\n  LucideLayers: LucideLayers,\n  LucideLayers2: LucideLayers2,\n  LucideLayers3: LucideLayers3,\n  LucideLayersPlus: LucideLayersPlus,\n  LucideLayout: LucideLayout,\n  LucideLayoutDashboard: LucideLayoutDashboard,\n  LucideLayoutGrid: LucideLayoutGrid,\n  LucideLayoutList: LucideLayoutList,\n  LucideLayoutPanelLeft: LucideLayoutPanelLeft,\n  LucideLayoutPanelTop: LucideLayoutPanelTop,\n  LucideLayoutTemplate: LucideLayoutTemplate,\n  LucideLeaf: LucideLeaf,\n  LucideLeafyGreen: LucideLeafyGreen,\n  LucideLectern: LucideLectern,\n  LucideLensConcave: LucideLensConcave,\n  LucideLensConvex: LucideLensConvex,\n  LucideLetterText: LucideLetterText,\n  LucideLibrary: LucideLibrary,\n  LucideLibraryBig: LucideLibraryBig,\n  LucideLibrarySquare: LucideLibrarySquare,\n  LucideLifeBuoy: LucideLifeBuoy,\n  LucideLigature: LucideLigature,\n  LucideLightbulb: LucideLightbulb,\n  LucideLightbulbOff: LucideLightbulbOff,\n  LucideLineChart: LucideLineChart,\n  LucideLineDotRightHorizontal: LucideLineDotRightHorizontal,\n  LucideLineSquiggle: LucideLineSquiggle,\n  LucideLineStyle: LucideLineStyle,\n  LucideLink: LucideLink,\n  LucideLink2: LucideLink2,\n  LucideLink2Off: LucideLink2Off,\n  LucideList: LucideList,\n  LucideListCheck: LucideListCheck,\n  LucideListChecks: LucideListChecks,\n  LucideListChevronsDownUp: LucideListChevronsDownUp,\n  LucideListChevronsUpDown: LucideListChevronsUpDown,\n  LucideListCollapse: LucideListCollapse,\n  LucideListEnd: LucideListEnd,\n  LucideListFilter: LucideListFilter,\n  LucideListFilterPlus: LucideListFilterPlus,\n  LucideListIndentDecrease: LucideListIndentDecrease,\n  LucideListIndentIncrease: LucideListIndentIncrease,\n  LucideListMinus: LucideListMinus,\n  LucideListMusic: LucideListMusic,\n  LucideListOrdered: LucideListOrdered,\n  LucideListPlus: LucideListPlus,\n  LucideListRestart: LucideListRestart,\n  LucideListStart: LucideListStart,\n  LucideListTodo: LucideListTodo,\n  LucideListTree: LucideListTree,\n  LucideListVideo: LucideListVideo,\n  LucideListX: LucideListX,\n  LucideLoader: LucideLoader,\n  LucideLoader2: LucideLoader2,\n  LucideLoaderCircle: LucideLoaderCircle,\n  LucideLoaderPinwheel: LucideLoaderPinwheel,\n  LucideLocate: LucideLocate,\n  LucideLocateFixed: LucideLocateFixed,\n  LucideLocateOff: LucideLocateOff,\n  LucideLocationEdit: LucideLocationEdit,\n  LucideLock: LucideLock,\n  LucideLockKeyhole: LucideLockKeyhole,\n  LucideLockKeyholeOpen: LucideLockKeyholeOpen,\n  LucideLockOpen: LucideLockOpen,\n  LucideLogIn: LucideLogIn,\n  LucideLogOut: LucideLogOut,\n  LucideLogs: LucideLogs,\n  LucideLollipop: LucideLollipop,\n  LucideLuggage: LucideLuggage,\n  LucideMSquare: LucideMSquare,\n  LucideMagnet: LucideMagnet,\n  LucideMail: LucideMail,\n  LucideMailCheck: LucideMailCheck,\n  LucideMailMinus: LucideMailMinus,\n  LucideMailOpen: LucideMailOpen,\n  LucideMailPlus: LucideMailPlus,\n  LucideMailQuestion: LucideMailQuestion,\n  LucideMailQuestionMark: LucideMailQuestionMark,\n  LucideMailSearch: LucideMailSearch,\n  LucideMailWarning: LucideMailWarning,\n  LucideMailX: LucideMailX,\n  LucideMailbox: LucideMailbox,\n  LucideMails: LucideMails,\n  LucideMap: LucideMap,\n  LucideMapMinus: LucideMapMinus,\n  LucideMapPin: LucideMapPin,\n  LucideMapPinCheck: LucideMapPinCheck,\n  LucideMapPinCheckInside: LucideMapPinCheckInside,\n  LucideMapPinHouse: LucideMapPinHouse,\n  LucideMapPinMinus: LucideMapPinMinus,\n  LucideMapPinMinusInside: LucideMapPinMinusInside,\n  LucideMapPinOff: LucideMapPinOff,\n  LucideMapPinPen: LucideMapPinPen,\n  LucideMapPinPlus: LucideMapPinPlus,\n  LucideMapPinPlusInside: LucideMapPinPlusInside,\n  LucideMapPinSearch: LucideMapPinSearch,\n  LucideMapPinX: LucideMapPinX,\n  LucideMapPinXInside: LucideMapPinXInside,\n  LucideMapPinned: LucideMapPinned,\n  LucideMapPlus: LucideMapPlus,\n  LucideMars: LucideMars,\n  LucideMarsStroke: LucideMarsStroke,\n  LucideMartini: LucideMartini,\n  LucideMaximize: LucideMaximize,\n  LucideMaximize2: LucideMaximize2,\n  LucideMedal: LucideMedal,\n  LucideMegaphone: LucideMegaphone,\n  LucideMegaphoneOff: LucideMegaphoneOff,\n  LucideMeh: LucideMeh,\n  LucideMemoryStick: LucideMemoryStick,\n  LucideMenu: LucideMenu,\n  LucideMenuSquare: LucideMenuSquare,\n  LucideMerge: LucideMerge,\n  LucideMessageCircle: LucideMessageCircle,\n  LucideMessageCircleCheck: LucideMessageCircleCheck,\n  LucideMessageCircleCode: LucideMessageCircleCode,\n  LucideMessageCircleDashed: LucideMessageCircleDashed,\n  LucideMessageCircleHeart: LucideMessageCircleHeart,\n  LucideMessageCircleMore: LucideMessageCircleMore,\n  LucideMessageCircleOff: LucideMessageCircleOff,\n  LucideMessageCirclePlus: LucideMessageCirclePlus,\n  LucideMessageCircleQuestion: LucideMessageCircleQuestion,\n  LucideMessageCircleQuestionMark: LucideMessageCircleQuestionMark,\n  LucideMessageCircleReply: LucideMessageCircleReply,\n  LucideMessageCircleWarning: LucideMessageCircleWarning,\n  LucideMessageCircleX: LucideMessageCircleX,\n  LucideMessageSquare: LucideMessageSquare,\n  LucideMessageSquareCheck: LucideMessageSquareCheck,\n  LucideMessageSquareCode: LucideMessageSquareCode,\n  LucideMessageSquareDashed: LucideMessageSquareDashed,\n  LucideMessageSquareDiff: LucideMessageSquareDiff,\n  LucideMessageSquareDot: LucideMessageSquareDot,\n  LucideMessageSquareHeart: LucideMessageSquareHeart,\n  LucideMessageSquareLock: LucideMessageSquareLock,\n  LucideMessageSquareMore: LucideMessageSquareMore,\n  LucideMessageSquareOff: LucideMessageSquareOff,\n  LucideMessageSquarePlus: LucideMessageSquarePlus,\n  LucideMessageSquareQuote: LucideMessageSquareQuote,\n  LucideMessageSquareReply: LucideMessageSquareReply,\n  LucideMessageSquareShare: LucideMessageSquareShare,\n  LucideMessageSquareText: LucideMessageSquareText,\n  LucideMessageSquareWarning: LucideMessageSquareWarning,\n  LucideMessageSquareX: LucideMessageSquareX,\n  LucideMessagesSquare: LucideMessagesSquare,\n  LucideMetronome: LucideMetronome,\n  LucideMic: LucideMic,\n  LucideMic2: LucideMic2,\n  LucideMicOff: LucideMicOff,\n  LucideMicVocal: LucideMicVocal,\n  LucideMicrochip: LucideMicrochip,\n  LucideMicroscope: LucideMicroscope,\n  LucideMicrowave: LucideMicrowave,\n  LucideMilestone: LucideMilestone,\n  LucideMilk: LucideMilk,\n  LucideMilkOff: LucideMilkOff,\n  LucideMinimize: LucideMinimize,\n  LucideMinimize2: LucideMinimize2,\n  LucideMinus: LucideMinus,\n  LucideMinusCircle: LucideMinusCircle,\n  LucideMinusSquare: LucideMinusSquare,\n  LucideMirrorRectangular: LucideMirrorRectangular,\n  LucideMirrorRound: LucideMirrorRound,\n  LucideMonitor: LucideMonitor,\n  LucideMonitorCheck: LucideMonitorCheck,\n  LucideMonitorCloud: LucideMonitorCloud,\n  LucideMonitorCog: LucideMonitorCog,\n  LucideMonitorDot: LucideMonitorDot,\n  LucideMonitorDown: LucideMonitorDown,\n  LucideMonitorOff: LucideMonitorOff,\n  LucideMonitorPause: LucideMonitorPause,\n  LucideMonitorPlay: LucideMonitorPlay,\n  LucideMonitorSmartphone: LucideMonitorSmartphone,\n  LucideMonitorSpeaker: LucideMonitorSpeaker,\n  LucideMonitorStop: LucideMonitorStop,\n  LucideMonitorUp: LucideMonitorUp,\n  LucideMonitorX: LucideMonitorX,\n  LucideMoon: LucideMoon,\n  LucideMoonStar: LucideMoonStar,\n  LucideMoreHorizontal: LucideMoreHorizontal,\n  LucideMoreVertical: LucideMoreVertical,\n  LucideMotorbike: LucideMotorbike,\n  LucideMountain: LucideMountain,\n  LucideMountainSnow: LucideMountainSnow,\n  LucideMouse: LucideMouse,\n  LucideMouseLeft: LucideMouseLeft,\n  LucideMouseOff: LucideMouseOff,\n  LucideMousePointer: LucideMousePointer,\n  LucideMousePointer2: LucideMousePointer2,\n  LucideMousePointer2Off: LucideMousePointer2Off,\n  LucideMousePointerBan: LucideMousePointerBan,\n  LucideMousePointerClick: LucideMousePointerClick,\n  LucideMousePointerSquareDashed: LucideMousePointerSquareDashed,\n  LucideMouseRight: LucideMouseRight,\n  LucideMove: LucideMove,\n  LucideMove3D: LucideMove3D,\n  LucideMove3d: LucideMove3d,\n  LucideMoveDiagonal: LucideMoveDiagonal,\n  LucideMoveDiagonal2: LucideMoveDiagonal2,\n  LucideMoveDown: LucideMoveDown,\n  LucideMoveDownLeft: LucideMoveDownLeft,\n  LucideMoveDownRight: LucideMoveDownRight,\n  LucideMoveHorizontal: LucideMoveHorizontal,\n  LucideMoveLeft: LucideMoveLeft,\n  LucideMoveRight: LucideMoveRight,\n  LucideMoveUp: LucideMoveUp,\n  LucideMoveUpLeft: LucideMoveUpLeft,\n  LucideMoveUpRight: LucideMoveUpRight,\n  LucideMoveVertical: LucideMoveVertical,\n  LucideMusic: LucideMusic,\n  LucideMusic2: LucideMusic2,\n  LucideMusic3: LucideMusic3,\n  LucideMusic4: LucideMusic4,\n  LucideNavigation: LucideNavigation,\n  LucideNavigation2: LucideNavigation2,\n  LucideNavigation2Off: LucideNavigation2Off,\n  LucideNavigationOff: LucideNavigationOff,\n  LucideNetwork: LucideNetwork,\n  LucideNewspaper: LucideNewspaper,\n  LucideNfc: LucideNfc,\n  LucideNonBinary: LucideNonBinary,\n  LucideNotebook: LucideNotebook,\n  LucideNotebookPen: LucideNotebookPen,\n  LucideNotebookTabs: LucideNotebookTabs,\n  LucideNotebookText: LucideNotebookText,\n  LucideNotepadText: LucideNotepadText,\n  LucideNotepadTextDashed: LucideNotepadTextDashed,\n  LucideNut: LucideNut,\n  LucideNutOff: LucideNutOff,\n  LucideOctagon: LucideOctagon,\n  LucideOctagonAlert: LucideOctagonAlert,\n  LucideOctagonMinus: LucideOctagonMinus,\n  LucideOctagonPause: LucideOctagonPause,\n  LucideOctagonX: LucideOctagonX,\n  LucideOmega: LucideOmega,\n  LucideOption: LucideOption,\n  LucideOrbit: LucideOrbit,\n  LucideOrigami: LucideOrigami,\n  LucideOutdent: LucideOutdent,\n  LucidePackage: LucidePackage,\n  LucidePackage2: LucidePackage2,\n  LucidePackageCheck: LucidePackageCheck,\n  LucidePackageMinus: LucidePackageMinus,\n  LucidePackageOpen: LucidePackageOpen,\n  LucidePackagePlus: LucidePackagePlus,\n  LucidePackageSearch: LucidePackageSearch,\n  LucidePackageX: LucidePackageX,\n  LucidePaintBucket: LucidePaintBucket,\n  LucidePaintRoller: LucidePaintRoller,\n  LucidePaintbrush: LucidePaintbrush,\n  LucidePaintbrush2: LucidePaintbrush2,\n  LucidePaintbrushVertical: LucidePaintbrushVertical,\n  LucidePalette: LucidePalette,\n  LucidePalmtree: LucidePalmtree,\n  LucidePanda: LucidePanda,\n  LucidePanelBottom: LucidePanelBottom,\n  LucidePanelBottomClose: LucidePanelBottomClose,\n  LucidePanelBottomDashed: LucidePanelBottomDashed,\n  LucidePanelBottomInactive: LucidePanelBottomInactive,\n  LucidePanelBottomOpen: LucidePanelBottomOpen,\n  LucidePanelLeft: LucidePanelLeft,\n  LucidePanelLeftClose: LucidePanelLeftClose,\n  LucidePanelLeftDashed: LucidePanelLeftDashed,\n  LucidePanelLeftInactive: LucidePanelLeftInactive,\n  LucidePanelLeftOpen: LucidePanelLeftOpen,\n  LucidePanelLeftRightDashed: LucidePanelLeftRightDashed,\n  LucidePanelRight: LucidePanelRight,\n  LucidePanelRightClose: LucidePanelRightClose,\n  LucidePanelRightDashed: LucidePanelRightDashed,\n  LucidePanelRightInactive: LucidePanelRightInactive,\n  LucidePanelRightOpen: LucidePanelRightOpen,\n  LucidePanelTop: LucidePanelTop,\n  LucidePanelTopBottomDashed: LucidePanelTopBottomDashed,\n  LucidePanelTopClose: LucidePanelTopClose,\n  LucidePanelTopDashed: LucidePanelTopDashed,\n  LucidePanelTopInactive: LucidePanelTopInactive,\n  LucidePanelTopOpen: LucidePanelTopOpen,\n  LucidePanelsLeftBottom: LucidePanelsLeftBottom,\n  LucidePanelsLeftRight: LucidePanelsLeftRight,\n  LucidePanelsRightBottom: LucidePanelsRightBottom,\n  LucidePanelsTopBottom: LucidePanelsTopBottom,\n  LucidePanelsTopLeft: LucidePanelsTopLeft,\n  LucidePaperclip: LucidePaperclip,\n  LucideParentheses: LucideParentheses,\n  LucideParkingCircle: LucideParkingCircle,\n  LucideParkingCircleOff: LucideParkingCircleOff,\n  LucideParkingMeter: LucideParkingMeter,\n  LucideParkingSquare: LucideParkingSquare,\n  LucideParkingSquareOff: LucideParkingSquareOff,\n  LucidePartyPopper: LucidePartyPopper,\n  LucidePause: LucidePause,\n  LucidePauseCircle: LucidePauseCircle,\n  LucidePauseOctagon: LucidePauseOctagon,\n  LucidePawPrint: LucidePawPrint,\n  LucidePcCase: LucidePcCase,\n  LucidePen: LucidePen,\n  LucidePenBox: LucidePenBox,\n  LucidePenLine: LucidePenLine,\n  LucidePenOff: LucidePenOff,\n  LucidePenSquare: LucidePenSquare,\n  LucidePenTool: LucidePenTool,\n  LucidePencil: LucidePencil,\n  LucidePencilLine: LucidePencilLine,\n  LucidePencilOff: LucidePencilOff,\n  LucidePencilRuler: LucidePencilRuler,\n  LucidePentagon: LucidePentagon,\n  LucidePercent: LucidePercent,\n  LucidePercentCircle: LucidePercentCircle,\n  LucidePercentDiamond: LucidePercentDiamond,\n  LucidePercentSquare: LucidePercentSquare,\n  LucidePersonStanding: LucidePersonStanding,\n  LucidePhilippinePeso: LucidePhilippinePeso,\n  LucidePhone: LucidePhone,\n  LucidePhoneCall: LucidePhoneCall,\n  LucidePhoneForwarded: LucidePhoneForwarded,\n  LucidePhoneIncoming: LucidePhoneIncoming,\n  LucidePhoneMissed: LucidePhoneMissed,\n  LucidePhoneOff: LucidePhoneOff,\n  LucidePhoneOutgoing: LucidePhoneOutgoing,\n  LucidePi: LucidePi,\n  LucidePiSquare: LucidePiSquare,\n  LucidePiano: LucidePiano,\n  LucidePickaxe: LucidePickaxe,\n  LucidePictureInPicture: LucidePictureInPicture,\n  LucidePictureInPicture2: LucidePictureInPicture2,\n  LucidePieChart: LucidePieChart,\n  LucidePiggyBank: LucidePiggyBank,\n  LucidePilcrow: LucidePilcrow,\n  LucidePilcrowLeft: LucidePilcrowLeft,\n  LucidePilcrowRight: LucidePilcrowRight,\n  LucidePilcrowSquare: LucidePilcrowSquare,\n  LucidePill: LucidePill,\n  LucidePillBottle: LucidePillBottle,\n  LucidePin: LucidePin,\n  LucidePinOff: LucidePinOff,\n  LucidePipette: LucidePipette,\n  LucidePizza: LucidePizza,\n  LucidePlane: LucidePlane,\n  LucidePlaneLanding: LucidePlaneLanding,\n  LucidePlaneTakeoff: LucidePlaneTakeoff,\n  LucidePlay: LucidePlay,\n  LucidePlayCircle: LucidePlayCircle,\n  LucidePlaySquare: LucidePlaySquare,\n  LucidePlug: LucidePlug,\n  LucidePlug2: LucidePlug2,\n  LucidePlugZap: LucidePlugZap,\n  LucidePlugZap2: LucidePlugZap2,\n  LucidePlus: LucidePlus,\n  LucidePlusCircle: LucidePlusCircle,\n  LucidePlusSquare: LucidePlusSquare,\n  LucidePocketKnife: LucidePocketKnife,\n  LucidePodcast: LucidePodcast,\n  LucidePointer: LucidePointer,\n  LucidePointerOff: LucidePointerOff,\n  LucidePopcorn: LucidePopcorn,\n  LucidePopsicle: LucidePopsicle,\n  LucidePoundSterling: LucidePoundSterling,\n  LucidePower: LucidePower,\n  LucidePowerCircle: LucidePowerCircle,\n  LucidePowerOff: LucidePowerOff,\n  LucidePowerSquare: LucidePowerSquare,\n  LucidePresentation: LucidePresentation,\n  LucidePrinter: LucidePrinter,\n  LucidePrinterCheck: LucidePrinterCheck,\n  LucidePrinterX: LucidePrinterX,\n  LucideProjector: LucideProjector,\n  LucideProportions: LucideProportions,\n  LucidePuzzle: LucidePuzzle,\n  LucidePyramid: LucidePyramid,\n  LucideQrCode: LucideQrCode,\n  LucideQuote: LucideQuote,\n  LucideRabbit: LucideRabbit,\n  LucideRadar: LucideRadar,\n  LucideRadiation: LucideRadiation,\n  LucideRadical: LucideRadical,\n  LucideRadio: LucideRadio,\n  LucideRadioOff: LucideRadioOff,\n  LucideRadioReceiver: LucideRadioReceiver,\n  LucideRadioTower: LucideRadioTower,\n  LucideRadius: LucideRadius,\n  LucideRainbow: LucideRainbow,\n  LucideRat: LucideRat,\n  LucideRatio: LucideRatio,\n  LucideReceipt: LucideReceipt,\n  LucideReceiptCent: LucideReceiptCent,\n  LucideReceiptEuro: LucideReceiptEuro,\n  LucideReceiptIndianRupee: LucideReceiptIndianRupee,\n  LucideReceiptJapaneseYen: LucideReceiptJapaneseYen,\n  LucideReceiptPoundSterling: LucideReceiptPoundSterling,\n  LucideReceiptRussianRuble: LucideReceiptRussianRuble,\n  LucideReceiptSwissFranc: LucideReceiptSwissFranc,\n  LucideReceiptText: LucideReceiptText,\n  LucideReceiptTurkishLira: LucideReceiptTurkishLira,\n  LucideRectangleCircle: LucideRectangleCircle,\n  LucideRectangleEllipsis: LucideRectangleEllipsis,\n  LucideRectangleGoggles: LucideRectangleGoggles,\n  LucideRectangleHorizontal: LucideRectangleHorizontal,\n  LucideRectangleVertical: LucideRectangleVertical,\n  LucideRecycle: LucideRecycle,\n  LucideRedo: LucideRedo,\n  LucideRedo2: LucideRedo2,\n  LucideRedoDot: LucideRedoDot,\n  LucideRefreshCcw: LucideRefreshCcw,\n  LucideRefreshCcwDot: LucideRefreshCcwDot,\n  LucideRefreshCw: LucideRefreshCw,\n  LucideRefreshCwOff: LucideRefreshCwOff,\n  LucideRefrigerator: LucideRefrigerator,\n  LucideRegex: LucideRegex,\n  LucideRemoveFormatting: LucideRemoveFormatting,\n  LucideRepeat: LucideRepeat,\n  LucideRepeat1: LucideRepeat1,\n  LucideRepeat2: LucideRepeat2,\n  LucideReplace: LucideReplace,\n  LucideReplaceAll: LucideReplaceAll,\n  LucideReply: LucideReply,\n  LucideReplyAll: LucideReplyAll,\n  LucideRewind: LucideRewind,\n  LucideRibbon: LucideRibbon,\n  LucideRoad: LucideRoad,\n  LucideRocket: LucideRocket,\n  LucideRockingChair: LucideRockingChair,\n  LucideRollerCoaster: LucideRollerCoaster,\n  LucideRose: LucideRose,\n  LucideRotate3D: LucideRotate3D,\n  LucideRotate3d: LucideRotate3d,\n  LucideRotateCcw: LucideRotateCcw,\n  LucideRotateCcwKey: LucideRotateCcwKey,\n  LucideRotateCcwSquare: LucideRotateCcwSquare,\n  LucideRotateCw: LucideRotateCw,\n  LucideRotateCwSquare: LucideRotateCwSquare,\n  LucideRoute: LucideRoute,\n  LucideRouteOff: LucideRouteOff,\n  LucideRouter: LucideRouter,\n  LucideRows: LucideRows,\n  LucideRows2: LucideRows2,\n  LucideRows3: LucideRows3,\n  LucideRows4: LucideRows4,\n  LucideRss: LucideRss,\n  LucideRuler: LucideRuler,\n  LucideRulerDimensionLine: LucideRulerDimensionLine,\n  LucideRussianRuble: LucideRussianRuble,\n  LucideSailboat: LucideSailboat,\n  LucideSalad: LucideSalad,\n  LucideSandwich: LucideSandwich,\n  LucideSatellite: LucideSatellite,\n  LucideSatelliteDish: LucideSatelliteDish,\n  LucideSaudiRiyal: LucideSaudiRiyal,\n  LucideSave: LucideSave,\n  LucideSaveAll: LucideSaveAll,\n  LucideSaveOff: LucideSaveOff,\n  LucideScale: LucideScale,\n  LucideScale3D: LucideScale3D,\n  LucideScale3d: LucideScale3d,\n  LucideScaling: LucideScaling,\n  LucideScan: LucideScan,\n  LucideScanBarcode: LucideScanBarcode,\n  LucideScanEye: LucideScanEye,\n  LucideScanFace: LucideScanFace,\n  LucideScanHeart: LucideScanHeart,\n  LucideScanLine: LucideScanLine,\n  LucideScanQrCode: LucideScanQrCode,\n  LucideScanSearch: LucideScanSearch,\n  LucideScanText: LucideScanText,\n  LucideScatterChart: LucideScatterChart,\n  LucideSchool: LucideSchool,\n  LucideSchool2: LucideSchool2,\n  LucideScissors: LucideScissors,\n  LucideScissorsLineDashed: LucideScissorsLineDashed,\n  LucideScissorsSquare: LucideScissorsSquare,\n  LucideScissorsSquareDashedBottom: LucideScissorsSquareDashedBottom,\n  LucideScooter: LucideScooter,\n  LucideScreenShare: LucideScreenShare,\n  LucideScreenShareOff: LucideScreenShareOff,\n  LucideScroll: LucideScroll,\n  LucideScrollText: LucideScrollText,\n  LucideSearch: LucideSearch,\n  LucideSearchAlert: LucideSearchAlert,\n  LucideSearchCheck: LucideSearchCheck,\n  LucideSearchCode: LucideSearchCode,\n  LucideSearchSlash: LucideSearchSlash,\n  LucideSearchX: LucideSearchX,\n  LucideSection: LucideSection,\n  LucideSend: LucideSend,\n  LucideSendHorizonal: LucideSendHorizonal,\n  LucideSendHorizontal: LucideSendHorizontal,\n  LucideSendToBack: LucideSendToBack,\n  LucideSeparatorHorizontal: LucideSeparatorHorizontal,\n  LucideSeparatorVertical: LucideSeparatorVertical,\n  LucideServer: LucideServer,\n  LucideServerCog: LucideServerCog,\n  LucideServerCrash: LucideServerCrash,\n  LucideServerOff: LucideServerOff,\n  LucideSettings: LucideSettings,\n  LucideSettings2: LucideSettings2,\n  LucideShapes: LucideShapes,\n  LucideShare: LucideShare,\n  LucideShare2: LucideShare2,\n  LucideSheet: LucideSheet,\n  LucideShell: LucideShell,\n  LucideShelvingUnit: LucideShelvingUnit,\n  LucideShield: LucideShield,\n  LucideShieldAlert: LucideShieldAlert,\n  LucideShieldBan: LucideShieldBan,\n  LucideShieldCheck: LucideShieldCheck,\n  LucideShieldClose: LucideShieldClose,\n  LucideShieldCog: LucideShieldCog,\n  LucideShieldCogCorner: LucideShieldCogCorner,\n  LucideShieldEllipsis: LucideShieldEllipsis,\n  LucideShieldHalf: LucideShieldHalf,\n  LucideShieldMinus: LucideShieldMinus,\n  LucideShieldOff: LucideShieldOff,\n  LucideShieldPlus: LucideShieldPlus,\n  LucideShieldQuestion: LucideShieldQuestion,\n  LucideShieldQuestionMark: LucideShieldQuestionMark,\n  LucideShieldUser: LucideShieldUser,\n  LucideShieldX: LucideShieldX,\n  LucideShip: LucideShip,\n  LucideShipWheel: LucideShipWheel,\n  LucideShirt: LucideShirt,\n  LucideShoppingBag: LucideShoppingBag,\n  LucideShoppingBasket: LucideShoppingBasket,\n  LucideShoppingCart: LucideShoppingCart,\n  LucideShovel: LucideShovel,\n  LucideShowerHead: LucideShowerHead,\n  LucideShredder: LucideShredder,\n  LucideShrimp: LucideShrimp,\n  LucideShrink: LucideShrink,\n  LucideShrub: LucideShrub,\n  LucideShuffle: LucideShuffle,\n  LucideSidebar: LucideSidebar,\n  LucideSidebarClose: LucideSidebarClose,\n  LucideSidebarOpen: LucideSidebarOpen,\n  LucideSigma: LucideSigma,\n  LucideSigmaSquare: LucideSigmaSquare,\n  LucideSignal: LucideSignal,\n  LucideSignalHigh: LucideSignalHigh,\n  LucideSignalLow: LucideSignalLow,\n  LucideSignalMedium: LucideSignalMedium,\n  LucideSignalZero: LucideSignalZero,\n  LucideSignature: LucideSignature,\n  LucideSignpost: LucideSignpost,\n  LucideSignpostBig: LucideSignpostBig,\n  LucideSiren: LucideSiren,\n  LucideSkipBack: LucideSkipBack,\n  LucideSkipForward: LucideSkipForward,\n  LucideSkull: LucideSkull,\n  LucideSlash: LucideSlash,\n  LucideSlashSquare: LucideSlashSquare,\n  LucideSlice: LucideSlice,\n  LucideSliders: LucideSliders,\n  LucideSlidersHorizontal: LucideSlidersHorizontal,\n  LucideSlidersVertical: LucideSlidersVertical,\n  LucideSmartphone: LucideSmartphone,\n  LucideSmartphoneCharging: LucideSmartphoneCharging,\n  LucideSmartphoneNfc: LucideSmartphoneNfc,\n  LucideSmile: LucideSmile,\n  LucideSmilePlus: LucideSmilePlus,\n  LucideSnail: LucideSnail,\n  LucideSnowflake: LucideSnowflake,\n  LucideSoapDispenserDroplet: LucideSoapDispenserDroplet,\n  LucideSofa: LucideSofa,\n  LucideSolarPanel: LucideSolarPanel,\n  LucideSortAsc: LucideSortAsc,\n  LucideSortDesc: LucideSortDesc,\n  LucideSoup: LucideSoup,\n  LucideSpace: LucideSpace,\n  LucideSpade: LucideSpade,\n  LucideSparkle: LucideSparkle,\n  LucideSparkles: LucideSparkles,\n  LucideSpeaker: LucideSpeaker,\n  LucideSpeech: LucideSpeech,\n  LucideSpellCheck: LucideSpellCheck,\n  LucideSpellCheck2: LucideSpellCheck2,\n  LucideSpline: LucideSpline,\n  LucideSplinePointer: LucideSplinePointer,\n  LucideSplit: LucideSplit,\n  LucideSplitSquareHorizontal: LucideSplitSquareHorizontal,\n  LucideSplitSquareVertical: LucideSplitSquareVertical,\n  LucideSpool: LucideSpool,\n  LucideSportShoe: LucideSportShoe,\n  LucideSpotlight: LucideSpotlight,\n  LucideSprayCan: LucideSprayCan,\n  LucideSprout: LucideSprout,\n  LucideSquare: LucideSquare,\n  LucideSquareActivity: LucideSquareActivity,\n  LucideSquareArrowDown: LucideSquareArrowDown,\n  LucideSquareArrowDownLeft: LucideSquareArrowDownLeft,\n  LucideSquareArrowDownRight: LucideSquareArrowDownRight,\n  LucideSquareArrowLeft: LucideSquareArrowLeft,\n  LucideSquareArrowOutDownLeft: LucideSquareArrowOutDownLeft,\n  LucideSquareArrowOutDownRight: LucideSquareArrowOutDownRight,\n  LucideSquareArrowOutUpLeft: LucideSquareArrowOutUpLeft,\n  LucideSquareArrowOutUpRight: LucideSquareArrowOutUpRight,\n  LucideSquareArrowRight: LucideSquareArrowRight,\n  LucideSquareArrowRightEnter: LucideSquareArrowRightEnter,\n  LucideSquareArrowRightExit: LucideSquareArrowRightExit,\n  LucideSquareArrowUp: LucideSquareArrowUp,\n  LucideSquareArrowUpLeft: LucideSquareArrowUpLeft,\n  LucideSquareArrowUpRight: LucideSquareArrowUpRight,\n  LucideSquareAsterisk: LucideSquareAsterisk,\n  LucideSquareBottomDashedScissors: LucideSquareBottomDashedScissors,\n  LucideSquareCenterlineDashedHorizontal: LucideSquareCenterlineDashedHorizontal,\n  LucideSquareCenterlineDashedVertical: LucideSquareCenterlineDashedVertical,\n  LucideSquareChartGantt: LucideSquareChartGantt,\n  LucideSquareCheck: LucideSquareCheck,\n  LucideSquareCheckBig: LucideSquareCheckBig,\n  LucideSquareChevronDown: LucideSquareChevronDown,\n  LucideSquareChevronLeft: LucideSquareChevronLeft,\n  LucideSquareChevronRight: LucideSquareChevronRight,\n  LucideSquareChevronUp: LucideSquareChevronUp,\n  LucideSquareCode: LucideSquareCode,\n  LucideSquareDashed: LucideSquareDashed,\n  LucideSquareDashedBottom: LucideSquareDashedBottom,\n  LucideSquareDashedBottomCode: LucideSquareDashedBottomCode,\n  LucideSquareDashedKanban: LucideSquareDashedKanban,\n  LucideSquareDashedMousePointer: LucideSquareDashedMousePointer,\n  LucideSquareDashedTopSolid: LucideSquareDashedTopSolid,\n  LucideSquareDivide: LucideSquareDivide,\n  LucideSquareDot: LucideSquareDot,\n  LucideSquareEqual: LucideSquareEqual,\n  LucideSquareFunction: LucideSquareFunction,\n  LucideSquareGanttChart: LucideSquareGanttChart,\n  LucideSquareKanban: LucideSquareKanban,\n  LucideSquareLibrary: LucideSquareLibrary,\n  LucideSquareM: LucideSquareM,\n  LucideSquareMenu: LucideSquareMenu,\n  LucideSquareMinus: LucideSquareMinus,\n  LucideSquareMousePointer: LucideSquareMousePointer,\n  LucideSquareParking: LucideSquareParking,\n  LucideSquareParkingOff: LucideSquareParkingOff,\n  LucideSquarePause: LucideSquarePause,\n  LucideSquarePen: LucideSquarePen,\n  LucideSquarePercent: LucideSquarePercent,\n  LucideSquarePi: LucideSquarePi,\n  LucideSquarePilcrow: LucideSquarePilcrow,\n  LucideSquarePlay: LucideSquarePlay,\n  LucideSquarePlus: LucideSquarePlus,\n  LucideSquarePower: LucideSquarePower,\n  LucideSquareRadical: LucideSquareRadical,\n  LucideSquareRoundCorner: LucideSquareRoundCorner,\n  LucideSquareScissors: LucideSquareScissors,\n  LucideSquareSigma: LucideSquareSigma,\n  LucideSquareSlash: LucideSquareSlash,\n  LucideSquareSplitHorizontal: LucideSquareSplitHorizontal,\n  LucideSquareSplitVertical: LucideSquareSplitVertical,\n  LucideSquareSquare: LucideSquareSquare,\n  LucideSquareStack: LucideSquareStack,\n  LucideSquareStar: LucideSquareStar,\n  LucideSquareStop: LucideSquareStop,\n  LucideSquareTerminal: LucideSquareTerminal,\n  LucideSquareUser: LucideSquareUser,\n  LucideSquareUserRound: LucideSquareUserRound,\n  LucideSquareX: LucideSquareX,\n  LucideSquaresExclude: LucideSquaresExclude,\n  LucideSquaresIntersect: LucideSquaresIntersect,\n  LucideSquaresSubtract: LucideSquaresSubtract,\n  LucideSquaresUnite: LucideSquaresUnite,\n  LucideSquircle: LucideSquircle,\n  LucideSquircleDashed: LucideSquircleDashed,\n  LucideSquirrel: LucideSquirrel,\n  LucideStamp: LucideStamp,\n  LucideStar: LucideStar,\n  LucideStarHalf: LucideStarHalf,\n  LucideStarOff: LucideStarOff,\n  LucideStars: LucideStars,\n  LucideStepBack: LucideStepBack,\n  LucideStepForward: LucideStepForward,\n  LucideStethoscope: LucideStethoscope,\n  LucideSticker: LucideSticker,\n  LucideStickyNote: LucideStickyNote,\n  LucideStone: LucideStone,\n  LucideStopCircle: LucideStopCircle,\n  LucideStore: LucideStore,\n  LucideStretchHorizontal: LucideStretchHorizontal,\n  LucideStretchVertical: LucideStretchVertical,\n  LucideStrikethrough: LucideStrikethrough,\n  LucideSubscript: LucideSubscript,\n  LucideSubtitles: LucideSubtitles,\n  LucideSun: LucideSun,\n  LucideSunDim: LucideSunDim,\n  LucideSunMedium: LucideSunMedium,\n  LucideSunMoon: LucideSunMoon,\n  LucideSunSnow: LucideSunSnow,\n  LucideSunrise: LucideSunrise,\n  LucideSunset: LucideSunset,\n  LucideSuperscript: LucideSuperscript,\n  LucideSwatchBook: LucideSwatchBook,\n  LucideSwissFranc: LucideSwissFranc,\n  LucideSwitchCamera: LucideSwitchCamera,\n  LucideSword: LucideSword,\n  LucideSwords: LucideSwords,\n  LucideSyringe: LucideSyringe,\n  LucideTable: LucideTable,\n  LucideTable2: LucideTable2,\n  LucideTableCellsMerge: LucideTableCellsMerge,\n  LucideTableCellsSplit: LucideTableCellsSplit,\n  LucideTableColumnsSplit: LucideTableColumnsSplit,\n  LucideTableConfig: LucideTableConfig,\n  LucideTableOfContents: LucideTableOfContents,\n  LucideTableProperties: LucideTableProperties,\n  LucideTableRowsSplit: LucideTableRowsSplit,\n  LucideTablet: LucideTablet,\n  LucideTabletSmartphone: LucideTabletSmartphone,\n  LucideTablets: LucideTablets,\n  LucideTag: LucideTag,\n  LucideTags: LucideTags,\n  LucideTally1: LucideTally1,\n  LucideTally2: LucideTally2,\n  LucideTally3: LucideTally3,\n  LucideTally4: LucideTally4,\n  LucideTally5: LucideTally5,\n  LucideTangent: LucideTangent,\n  LucideTarget: LucideTarget,\n  LucideTelescope: LucideTelescope,\n  LucideTent: LucideTent,\n  LucideTentTree: LucideTentTree,\n  LucideTerminal: LucideTerminal,\n  LucideTerminalSquare: LucideTerminalSquare,\n  LucideTestTube: LucideTestTube,\n  LucideTestTube2: LucideTestTube2,\n  LucideTestTubeDiagonal: LucideTestTubeDiagonal,\n  LucideTestTubes: LucideTestTubes,\n  LucideText: LucideText,\n  LucideTextAlignCenter: LucideTextAlignCenter,\n  LucideTextAlignEnd: LucideTextAlignEnd,\n  LucideTextAlignJustify: LucideTextAlignJustify,\n  LucideTextAlignStart: LucideTextAlignStart,\n  LucideTextCursor: LucideTextCursor,\n  LucideTextCursorInput: LucideTextCursorInput,\n  LucideTextInitial: LucideTextInitial,\n  LucideTextQuote: LucideTextQuote,\n  LucideTextSearch: LucideTextSearch,\n  LucideTextSelect: LucideTextSelect,\n  LucideTextSelection: LucideTextSelection,\n  LucideTextWrap: LucideTextWrap,\n  LucideTheater: LucideTheater,\n  LucideThermometer: LucideThermometer,\n  LucideThermometerSnowflake: LucideThermometerSnowflake,\n  LucideThermometerSun: LucideThermometerSun,\n  LucideThumbsDown: LucideThumbsDown,\n  LucideThumbsUp: LucideThumbsUp,\n  LucideTicket: LucideTicket,\n  LucideTicketCheck: LucideTicketCheck,\n  LucideTicketMinus: LucideTicketMinus,\n  LucideTicketPercent: LucideTicketPercent,\n  LucideTicketPlus: LucideTicketPlus,\n  LucideTicketSlash: LucideTicketSlash,\n  LucideTicketX: LucideTicketX,\n  LucideTickets: LucideTickets,\n  LucideTicketsPlane: LucideTicketsPlane,\n  LucideTimer: LucideTimer,\n  LucideTimerOff: LucideTimerOff,\n  LucideTimerReset: LucideTimerReset,\n  LucideToggleLeft: LucideToggleLeft,\n  LucideToggleRight: LucideToggleRight,\n  LucideToilet: LucideToilet,\n  LucideToolCase: LucideToolCase,\n  LucideToolbox: LucideToolbox,\n  LucideTornado: LucideTornado,\n  LucideTorus: LucideTorus,\n  LucideTouchpad: LucideTouchpad,\n  LucideTouchpadOff: LucideTouchpadOff,\n  LucideTowelRack: LucideTowelRack,\n  LucideTowerControl: LucideTowerControl,\n  LucideToyBrick: LucideToyBrick,\n  LucideTractor: LucideTractor,\n  LucideTrafficCone: LucideTrafficCone,\n  LucideTrain: LucideTrain,\n  LucideTrainFront: LucideTrainFront,\n  LucideTrainFrontTunnel: LucideTrainFrontTunnel,\n  LucideTrainTrack: LucideTrainTrack,\n  LucideTramFront: LucideTramFront,\n  LucideTransgender: LucideTransgender,\n  LucideTrash: LucideTrash,\n  LucideTrash2: LucideTrash2,\n  LucideTreeDeciduous: LucideTreeDeciduous,\n  LucideTreePalm: LucideTreePalm,\n  LucideTreePine: LucideTreePine,\n  LucideTrees: LucideTrees,\n  LucideTrendingDown: LucideTrendingDown,\n  LucideTrendingUp: LucideTrendingUp,\n  LucideTrendingUpDown: LucideTrendingUpDown,\n  LucideTriangle: LucideTriangle,\n  LucideTriangleAlert: LucideTriangleAlert,\n  LucideTriangleDashed: LucideTriangleDashed,\n  LucideTriangleRight: LucideTriangleRight,\n  LucideTrophy: LucideTrophy,\n  LucideTruck: LucideTruck,\n  LucideTruckElectric: LucideTruckElectric,\n  LucideTurkishLira: LucideTurkishLira,\n  LucideTurntable: LucideTurntable,\n  LucideTurtle: LucideTurtle,\n  LucideTv: LucideTv,\n  LucideTv2: LucideTv2,\n  LucideTvMinimal: LucideTvMinimal,\n  LucideTvMinimalPlay: LucideTvMinimalPlay,\n  LucideType: LucideType,\n  LucideTypeOutline: LucideTypeOutline,\n  LucideUmbrella: LucideUmbrella,\n  LucideUmbrellaOff: LucideUmbrellaOff,\n  LucideUnderline: LucideUnderline,\n  LucideUndo: LucideUndo,\n  LucideUndo2: LucideUndo2,\n  LucideUndoDot: LucideUndoDot,\n  LucideUnfoldHorizontal: LucideUnfoldHorizontal,\n  LucideUnfoldVertical: LucideUnfoldVertical,\n  LucideUngroup: LucideUngroup,\n  LucideUniversity: LucideUniversity,\n  LucideUnlink: LucideUnlink,\n  LucideUnlink2: LucideUnlink2,\n  LucideUnlock: LucideUnlock,\n  LucideUnlockKeyhole: LucideUnlockKeyhole,\n  LucideUnplug: LucideUnplug,\n  LucideUpload: LucideUpload,\n  LucideUploadCloud: LucideUploadCloud,\n  LucideUsb: LucideUsb,\n  LucideUser: LucideUser,\n  LucideUser2: LucideUser2,\n  LucideUserCheck: LucideUserCheck,\n  LucideUserCheck2: LucideUserCheck2,\n  LucideUserCircle: LucideUserCircle,\n  LucideUserCircle2: LucideUserCircle2,\n  LucideUserCog: LucideUserCog,\n  LucideUserCog2: LucideUserCog2,\n  LucideUserKey: LucideUserKey,\n  LucideUserLock: LucideUserLock,\n  LucideUserMinus: LucideUserMinus,\n  LucideUserMinus2: LucideUserMinus2,\n  LucideUserPen: LucideUserPen,\n  LucideUserPlus: LucideUserPlus,\n  LucideUserPlus2: LucideUserPlus2,\n  LucideUserRound: LucideUserRound,\n  LucideUserRoundCheck: LucideUserRoundCheck,\n  LucideUserRoundCog: LucideUserRoundCog,\n  LucideUserRoundKey: LucideUserRoundKey,\n  LucideUserRoundMinus: LucideUserRoundMinus,\n  LucideUserRoundPen: LucideUserRoundPen,\n  LucideUserRoundPlus: LucideUserRoundPlus,\n  LucideUserRoundSearch: LucideUserRoundSearch,\n  LucideUserRoundX: LucideUserRoundX,\n  LucideUserSearch: LucideUserSearch,\n  LucideUserSquare: LucideUserSquare,\n  LucideUserSquare2: LucideUserSquare2,\n  LucideUserStar: LucideUserStar,\n  LucideUserX: LucideUserX,\n  LucideUserX2: LucideUserX2,\n  LucideUsers: LucideUsers,\n  LucideUsers2: LucideUsers2,\n  LucideUsersRound: LucideUsersRound,\n  LucideUtensils: LucideUtensils,\n  LucideUtensilsCrossed: LucideUtensilsCrossed,\n  LucideUtilityPole: LucideUtilityPole,\n  LucideVan: LucideVan,\n  LucideVariable: LucideVariable,\n  LucideVault: LucideVault,\n  LucideVectorSquare: LucideVectorSquare,\n  LucideVegan: LucideVegan,\n  LucideVenetianMask: LucideVenetianMask,\n  LucideVenus: LucideVenus,\n  LucideVenusAndMars: LucideVenusAndMars,\n  LucideVerified: LucideVerified,\n  LucideVibrate: LucideVibrate,\n  LucideVibrateOff: LucideVibrateOff,\n  LucideVideo: LucideVideo,\n  LucideVideoOff: LucideVideoOff,\n  LucideVideotape: LucideVideotape,\n  LucideView: LucideView,\n  LucideVoicemail: LucideVoicemail,\n  LucideVolleyball: LucideVolleyball,\n  LucideVolume: LucideVolume,\n  LucideVolume1: LucideVolume1,\n  LucideVolume2: LucideVolume2,\n  LucideVolumeOff: LucideVolumeOff,\n  LucideVolumeX: LucideVolumeX,\n  LucideVote: LucideVote,\n  LucideWallet: LucideWallet,\n  LucideWallet2: LucideWallet2,\n  LucideWalletCards: LucideWalletCards,\n  LucideWalletMinimal: LucideWalletMinimal,\n  LucideWallpaper: LucideWallpaper,\n  LucideWand: LucideWand,\n  LucideWand2: LucideWand2,\n  LucideWandSparkles: LucideWandSparkles,\n  LucideWarehouse: LucideWarehouse,\n  LucideWashingMachine: LucideWashingMachine,\n  LucideWatch: LucideWatch,\n  LucideWaves: LucideWaves,\n  LucideWavesArrowDown: LucideWavesArrowDown,\n  LucideWavesArrowUp: LucideWavesArrowUp,\n  LucideWavesLadder: LucideWavesLadder,\n  LucideWaypoints: LucideWaypoints,\n  LucideWebcam: LucideWebcam,\n  LucideWebhook: LucideWebhook,\n  LucideWebhookOff: LucideWebhookOff,\n  LucideWeight: LucideWeight,\n  LucideWeightTilde: LucideWeightTilde,\n  LucideWheat: LucideWheat,\n  LucideWheatOff: LucideWheatOff,\n  LucideWholeWord: LucideWholeWord,\n  LucideWifi: LucideWifi,\n  LucideWifiCog: LucideWifiCog,\n  LucideWifiHigh: LucideWifiHigh,\n  LucideWifiLow: LucideWifiLow,\n  LucideWifiOff: LucideWifiOff,\n  LucideWifiPen: LucideWifiPen,\n  LucideWifiSync: LucideWifiSync,\n  LucideWifiZero: LucideWifiZero,\n  LucideWind: LucideWind,\n  LucideWindArrowDown: LucideWindArrowDown,\n  LucideWine: LucideWine,\n  LucideWineOff: LucideWineOff,\n  LucideWorkflow: LucideWorkflow,\n  LucideWorm: LucideWorm,\n  LucideWrapText: LucideWrapText,\n  LucideWrench: LucideWrench,\n  LucideX: LucideX,\n  LucideXCircle: LucideXCircle,\n  LucideXLineTop: LucideXLineTop,\n  LucideXOctagon: LucideXOctagon,\n  LucideXSquare: LucideXSquare,\n  LucideZap: LucideZap,\n  LucideZapOff: LucideZapOff,\n  LucideZodiacAquarius: LucideZodiacAquarius,\n  LucideZodiacAries: LucideZodiacAries,\n  LucideZodiacCancer: LucideZodiacCancer,\n  LucideZodiacCapricorn: LucideZodiacCapricorn,\n  LucideZodiacGemini: LucideZodiacGemini,\n  LucideZodiacLeo: LucideZodiacLeo,\n  LucideZodiacLibra: LucideZodiacLibra,\n  LucideZodiacOphiuchus: LucideZodiacOphiuchus,\n  LucideZodiacPisces: LucideZodiacPisces,\n  LucideZodiacSagittarius: LucideZodiacSagittarius,\n  LucideZodiacScorpio: LucideZodiacScorpio,\n  LucideZodiacTaurus: LucideZodiacTaurus,\n  LucideZodiacVirgo: LucideZodiacVirgo,\n  LucideZoomIn: LucideZoomIn,\n  LucideZoomOut: LucideZoomOut\n});\n\n/**\n * Type guard for {@link LucideIconData}\n */\nfunction isLucideIconData(icon) {\n  return !!icon && typeof icon === 'object' && 'name' in icon && typeof icon.name === 'string' && 'node' in icon && Array.isArray(icon.node);\n}\n/**\n * Type guard for {@link LucideIcon}\n */\nfunction isLucideIconComponent(icon) {\n  return icon instanceof Type && 'icon' in icon && isLucideIconData(icon.icon);\n}\n\n/**\n * Injection token for providing Lucide icons by name.\n *\n * @internal Use {@link provideLucideIcons}\n */\nconst LUCIDE_ICONS = new InjectionToken('Lucide icons', {\n  factory: () => ({})\n});\n/**\n * Provide Lucide icons by name.\n *\n * @remarks\n * Warning! This provider will convert dictionary keys to lower-kebab-case.\n *\n * @param icons Either a dictionary of icons or a list of Angular icon components.\n *\n * @usage\n * ```ts\n * import { provideLucideIcons, SquareCheck } from '@lucide/angular';\n * import { MyCustomIcon } from './custom-icons/my-custom-icon';\n *\n * providers: [\n *   provideLucideIcons({\n *     SquareCheck,\n *     MyCustomIcon, // LucideIconData\n *   }),\n * ]\n * ```\n *\n * ```html\n * <svg lucideIcon=\"my-custom-icon\" />\n * ```\n */\nfunction provideLucideIcons(...icons) {\n  return {\n    provide: LUCIDE_ICONS,\n    useValue: icons.reduce((acc, icon) => {\n      const iconData = isLucideIconComponent(icon) ? icon.icon : icon;\n      acc[iconData.name] = iconData;\n      for (const alias of iconData.aliases ?? []) {\n        acc[alias] = iconData;\n      }\n      return acc;\n    }, {})\n  };\n}\n/**\n * Converts a legacy icon node to the new format, for custom icon (e.g. `@lucide/lab`) support.\n *\n * @usage\n * ```ts\n * import { provideLucideIcons, lucideLegacyIcon } from '@lucide/angular';\n * import { UserRoundX } from 'lucide-angular';\n * import { burger } from '@lucide/lab';\n *\n * provideLucideIcons(\n *   lucideLegacyIcon('user-round-x', UserRoundX, ['user-circle-x']),\n *   lucideLegacyIcon('burger', burger, ['hamburger']),\n * ),\n * ```\n */\nfunction lucideLegacyIcon(name, node, aliases = []) {\n  return {\n    name,\n    node,\n    aliases\n  };\n}\n/**\n * Converts a map of legacy icon nodes to a list of icon data objects.\n *\n * @usage\n * ```ts\n * import { provideLucideIcons, lucideLegacyIconMap, LucideCircle } from '@lucide/angular';\n * import { UserRoundX } from 'lucide-angular';\n * import { burger } from '@lucide/lab';\n *\n * provideLucideIcons(\n *   LucideCircle,\n *   ...lucideLegacyIconMap({ UserRoundX, burger }),\n * ),\n * ```\n */\nfunction lucideLegacyIconMap(icons) {\n  return Object.entries(icons).map(([pascalName, node]) => {\n    const name = pascalName.replaceAll(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n    return {\n      name,\n      node,\n      aliases: [pascalName]\n    };\n  });\n}\n\n/**\n * Generic icon component for rendering LucideIconData.\n */\nlet LucideDynamicIcon = /*#__PURE__*/(() => {\n  class LucideDynamicIcon extends LucideIconBase {\n    icons = inject(LUCIDE_ICONS);\n    lucideIcon = input.required(...(ngDevMode ? [{\n      debugName: \"lucideIcon\"\n    }] : /* istanbul ignore next */[]));\n    icon = computed(() => {\n      const icon = this.lucideIcon();\n      if (isLucideIconData(icon)) {\n        return icon;\n      } else if (isLucideIconComponent(icon)) {\n        return icon.icon;\n      } else if (typeof icon === 'string') {\n        if (icon in this.icons) {\n          return this.icons[icon];\n        } else {\n          throw new Error(`Unable to resolve icon '${icon}'`);\n        }\n      }\n      return null;\n    }, ...(ngDevMode ? [{\n      debugName: \"icon\"\n    }] : /* istanbul ignore next */[]));\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵLucideDynamicIcon_BaseFactory;\n      return function LucideDynamicIcon_Factory(__ngFactoryType__) {\n        return (ɵLucideDynamicIcon_BaseFactory || (ɵLucideDynamicIcon_BaseFactory = i0.ɵɵgetInheritedFactory(LucideDynamicIcon)))(__ngFactoryType__ || LucideDynamicIcon);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: LucideDynamicIcon,\n      selectors: [[\"svg\", \"lucideIcon\", \"\"]],\n      inputs: {\n        lucideIcon: [1, \"lucideIcon\"]\n      },\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c1,\n      ngContentSelectors: _c3,\n      decls: 5,\n      vars: 1,\n      consts: [[\"contentRef\", \"\"]],\n      template: function LucideDynamicIcon_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵtemplate(0, LucideDynamicIcon_Conditional_0_Template, 2, 1, \"title\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementContainer(2, null, 0);\n          i0.ɵɵprojection(4, 1);\n        }\n        if (rf & 2) {\n          let tmp_1_0;\n          i0.ɵɵconditional((tmp_1_0 = ctx.title()) ? 0 : -1, tmp_1_0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return LucideDynamicIcon;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { LUCIDE_CONFIG, LUCIDE_ICONS, LucideAArrowDown, LucideAArrowUp, LucideALargeSmall, LucideAccessibility, LucideActivity, LucideActivitySquare, LucideAirVent, LucideAirplay, LucideAlarmCheck, LucideAlarmClock, LucideAlarmClockCheck, LucideAlarmClockMinus, LucideAlarmClockOff, LucideAlarmClockPlus, LucideAlarmMinus, LucideAlarmPlus, LucideAlarmSmoke, LucideAlbum, LucideAlertCircle, LucideAlertOctagon, LucideAlertTriangle, LucideAlignCenter, LucideAlignCenterHorizontal, LucideAlignCenterVertical, LucideAlignEndHorizontal, LucideAlignEndVertical, LucideAlignHorizontalDistributeCenter, LucideAlignHorizontalDistributeEnd, LucideAlignHorizontalDistributeStart, LucideAlignHorizontalJustifyCenter, LucideAlignHorizontalJustifyEnd, LucideAlignHorizontalJustifyStart, LucideAlignHorizontalSpaceAround, LucideAlignHorizontalSpaceBetween, LucideAlignJustify, LucideAlignLeft, LucideAlignRight, LucideAlignStartHorizontal, LucideAlignStartVertical, LucideAlignVerticalDistributeCenter, LucideAlignVerticalDistributeEnd, LucideAlignVerticalDistributeStart, LucideAlignVerticalJustifyCenter, LucideAlignVerticalJustifyEnd, LucideAlignVerticalJustifyStart, LucideAlignVerticalSpaceAround, LucideAlignVerticalSpaceBetween, LucideAmbulance, LucideAmpersand, LucideAmpersands, LucideAmphora, LucideAnchor, LucideAngry, LucideAnnoyed, LucideAntenna, LucideAnvil, LucideAperture, LucideAppWindow, LucideAppWindowMac, LucideApple, LucideArchive, LucideArchiveRestore, LucideArchiveX, LucideAreaChart, LucideArmchair, LucideArrowBigDown, LucideArrowBigDownDash, LucideArrowBigLeft, LucideArrowBigLeftDash, LucideArrowBigRight, LucideArrowBigRightDash, LucideArrowBigUp, LucideArrowBigUpDash, LucideArrowDown, LucideArrowDown01, LucideArrowDown10, LucideArrowDownAZ, LucideArrowDownAz, LucideArrowDownCircle, LucideArrowDownFromLine, LucideArrowDownLeft, LucideArrowDownLeftFromCircle, LucideArrowDownLeftFromSquare, LucideArrowDownLeftSquare, LucideArrowDownNarrowWide, LucideArrowDownRight, LucideArrowDownRightFromCircle, LucideArrowDownRightFromSquare, LucideArrowDownRightSquare, LucideArrowDownSquare, LucideArrowDownToDot, LucideArrowDownToLine, LucideArrowDownUp, LucideArrowDownWideNarrow, LucideArrowDownZA, LucideArrowDownZa, LucideArrowLeft, LucideArrowLeftCircle, LucideArrowLeftFromLine, LucideArrowLeftRight, LucideArrowLeftSquare, LucideArrowLeftToLine, LucideArrowRight, LucideArrowRightCircle, LucideArrowRightFromLine, LucideArrowRightLeft, LucideArrowRightSquare, LucideArrowRightToLine, LucideArrowUp, LucideArrowUp01, LucideArrowUp10, LucideArrowUpAZ, LucideArrowUpAz, LucideArrowUpCircle, LucideArrowUpDown, LucideArrowUpFromDot, LucideArrowUpFromLine, LucideArrowUpLeft, LucideArrowUpLeftFromCircle, LucideArrowUpLeftFromSquare, LucideArrowUpLeftSquare, LucideArrowUpNarrowWide, LucideArrowUpRight, LucideArrowUpRightFromCircle, LucideArrowUpRightFromSquare, LucideArrowUpRightSquare, LucideArrowUpSquare, LucideArrowUpToLine, LucideArrowUpWideNarrow, LucideArrowUpZA, LucideArrowUpZa, LucideArrowsUpFromLine, LucideAsterisk, LucideAsteriskSquare, LucideAtSign, LucideAtom, LucideAudioLines, LucideAudioWaveform, LucideAward, LucideAxe, LucideAxis3D, LucideAxis3d, LucideBaby, LucideBackpack, LucideBadge, LucideBadgeAlert, LucideBadgeCent, LucideBadgeCheck, LucideBadgeDollarSign, LucideBadgeEuro, LucideBadgeHelp, LucideBadgeIndianRupee, LucideBadgeInfo, LucideBadgeJapaneseYen, LucideBadgeMinus, LucideBadgePercent, LucideBadgePlus, LucideBadgePoundSterling, LucideBadgeQuestionMark, LucideBadgeRussianRuble, LucideBadgeSwissFranc, LucideBadgeTurkishLira, LucideBadgeX, LucideBaggageClaim, LucideBalloon, LucideBan, LucideBanana, LucideBandage, LucideBanknote, LucideBanknoteArrowDown, LucideBanknoteArrowUp, LucideBanknoteX, LucideBarChart, LucideBarChart2, LucideBarChart3, LucideBarChart4, LucideBarChartBig, LucideBarChartHorizontal, LucideBarChartHorizontalBig, LucideBarcode, LucideBarrel, LucideBaseline, LucideBath, LucideBattery, LucideBatteryCharging, LucideBatteryFull, LucideBatteryLow, LucideBatteryMedium, LucideBatteryPlus, LucideBatteryWarning, LucideBeaker, LucideBean, LucideBeanOff, LucideBed, LucideBedDouble, LucideBedSingle, LucideBeef, LucideBeefOff, LucideBeer, LucideBeerOff, LucideBell, LucideBellDot, LucideBellElectric, LucideBellMinus, LucideBellOff, LucideBellPlus, LucideBellRing, LucideBetweenHorizonalEnd, LucideBetweenHorizonalStart, LucideBetweenHorizontalEnd, LucideBetweenHorizontalStart, LucideBetweenVerticalEnd, LucideBetweenVerticalStart, LucideBicepsFlexed, LucideBike, LucideBinary, LucideBinoculars, LucideBiohazard, LucideBird, LucideBirdhouse, LucideBitcoin, LucideBlend, LucideBlinds, LucideBlocks, LucideBluetooth, LucideBluetoothConnected, LucideBluetoothOff, LucideBluetoothSearching, LucideBold, LucideBolt, LucideBomb, LucideBone, LucideBook, LucideBookA, LucideBookAlert, LucideBookAudio, LucideBookCheck, LucideBookCopy, LucideBookDashed, LucideBookDown, LucideBookHeadphones, LucideBookHeart, LucideBookImage, LucideBookKey, LucideBookLock, LucideBookMarked, LucideBookMinus, LucideBookOpen, LucideBookOpenCheck, LucideBookOpenText, LucideBookPlus, LucideBookSearch, LucideBookTemplate, LucideBookText, LucideBookType, LucideBookUp, LucideBookUp2, LucideBookUser, LucideBookX, LucideBookmark, LucideBookmarkCheck, LucideBookmarkMinus, LucideBookmarkPlus, LucideBookmarkX, LucideBoomBox, LucideBot, LucideBotMessageSquare, LucideBotOff, LucideBottleWine, LucideBowArrow, LucideBox, LucideBoxSelect, LucideBoxes, LucideBraces, LucideBrackets, LucideBrain, LucideBrainCircuit, LucideBrainCog, LucideBrickWall, LucideBrickWallFire, LucideBrickWallShield, LucideBriefcase, LucideBriefcaseBusiness, LucideBriefcaseConveyorBelt, LucideBriefcaseMedical, LucideBringToFront, LucideBrush, LucideBrushCleaning, LucideBubbles, LucideBug, LucideBugOff, LucideBugPlay, LucideBuilding, LucideBuilding2, LucideBus, LucideBusFront, LucideCable, LucideCableCar, LucideCake, LucideCakeSlice, LucideCalculator, LucideCalendar, LucideCalendar1, LucideCalendarArrowDown, LucideCalendarArrowUp, LucideCalendarCheck, LucideCalendarCheck2, LucideCalendarClock, LucideCalendarCog, LucideCalendarDays, LucideCalendarFold, LucideCalendarHeart, LucideCalendarMinus, LucideCalendarMinus2, LucideCalendarOff, LucideCalendarPlus, LucideCalendarPlus2, LucideCalendarRange, LucideCalendarSearch, LucideCalendarSync, LucideCalendarX, LucideCalendarX2, LucideCalendars, LucideCamera, LucideCameraOff, LucideCandlestickChart, LucideCandy, LucideCandyCane, LucideCandyOff, LucideCannabis, LucideCannabisOff, LucideCaptions, LucideCaptionsOff, LucideCar, LucideCarFront, LucideCarTaxiFront, LucideCaravan, LucideCardSim, LucideCarrot, LucideCaseLower, LucideCaseSensitive, LucideCaseUpper, LucideCassetteTape, LucideCast, LucideCastle, LucideCat, LucideCctv, LucideCctvOff, LucideChartArea, LucideChartBar, LucideChartBarBig, LucideChartBarDecreasing, LucideChartBarIncreasing, LucideChartBarStacked, LucideChartCandlestick, LucideChartColumn, LucideChartColumnBig, LucideChartColumnDecreasing, LucideChartColumnIncreasing, LucideChartColumnStacked, LucideChartGantt, LucideChartLine, LucideChartNetwork, LucideChartNoAxesColumn, LucideChartNoAxesColumnDecreasing, LucideChartNoAxesColumnIncreasing, LucideChartNoAxesCombined, LucideChartNoAxesGantt, LucideChartPie, LucideChartScatter, LucideChartSpline, LucideCheck, LucideCheckCheck, LucideCheckCircle, LucideCheckCircle2, LucideCheckLine, LucideCheckSquare, LucideCheckSquare2, LucideChefHat, LucideCherry, LucideChessBishop, LucideChessKing, LucideChessKnight, LucideChessPawn, LucideChessQueen, LucideChessRook, LucideChevronDown, LucideChevronDownCircle, LucideChevronDownSquare, LucideChevronFirst, LucideChevronLast, LucideChevronLeft, LucideChevronLeftCircle, LucideChevronLeftSquare, LucideChevronRight, LucideChevronRightCircle, LucideChevronRightSquare, LucideChevronUp, LucideChevronUpCircle, LucideChevronUpSquare, LucideChevronsDown, LucideChevronsDownUp, LucideChevronsLeft, LucideChevronsLeftRight, LucideChevronsLeftRightEllipsis, LucideChevronsRight, LucideChevronsRightLeft, LucideChevronsUp, LucideChevronsUpDown, LucideChurch, LucideCigarette, LucideCigaretteOff, LucideCircle, LucideCircleAlert, LucideCircleArrowDown, LucideCircleArrowLeft, LucideCircleArrowOutDownLeft, LucideCircleArrowOutDownRight, LucideCircleArrowOutUpLeft, LucideCircleArrowOutUpRight, LucideCircleArrowRight, LucideCircleArrowUp, LucideCircleCheck, LucideCircleCheckBig, LucideCircleChevronDown, LucideCircleChevronLeft, LucideCircleChevronRight, LucideCircleChevronUp, LucideCircleDashed, LucideCircleDivide, LucideCircleDollarSign, LucideCircleDot, LucideCircleDotDashed, LucideCircleEllipsis, LucideCircleEqual, LucideCircleFadingArrowUp, LucideCircleFadingPlus, LucideCircleGauge, LucideCircleHelp, LucideCircleMinus, LucideCircleOff, LucideCircleParking, LucideCircleParkingOff, LucideCirclePause, LucideCirclePercent, LucideCirclePile, LucideCirclePlay, LucideCirclePlus, LucideCirclePoundSterling, LucideCirclePower, LucideCircleQuestionMark, LucideCircleSlash, LucideCircleSlash2, LucideCircleSlashed, LucideCircleSmall, LucideCircleStar, LucideCircleStop, LucideCircleUser, LucideCircleUserRound, LucideCircleX, LucideCircuitBoard, LucideCitrus, LucideClapperboard, LucideClipboard, LucideClipboardCheck, LucideClipboardClock, LucideClipboardCopy, LucideClipboardEdit, LucideClipboardList, LucideClipboardMinus, LucideClipboardPaste, LucideClipboardPen, LucideClipboardPenLine, LucideClipboardPlus, LucideClipboardSignature, LucideClipboardType, LucideClipboardX, LucideClock, LucideClock1, LucideClock10, LucideClock11, LucideClock12, LucideClock2, LucideClock3, LucideClock4, LucideClock5, LucideClock6, LucideClock7, LucideClock8, LucideClock9, LucideClockAlert, LucideClockArrowDown, LucideClockArrowUp, LucideClockCheck, LucideClockFading, LucideClockPlus, LucideClosedCaption, LucideCloud, LucideCloudAlert, LucideCloudBackup, LucideCloudCheck, LucideCloudCog, LucideCloudDownload, LucideCloudDrizzle, LucideCloudFog, LucideCloudHail, LucideCloudLightning, LucideCloudMoon, LucideCloudMoonRain, LucideCloudOff, LucideCloudRain, LucideCloudRainWind, LucideCloudSnow, LucideCloudSun, LucideCloudSunRain, LucideCloudSync, LucideCloudUpload, LucideCloudy, LucideClover, LucideClub, LucideCode, LucideCode2, LucideCodeSquare, LucideCodeXml, LucideCoffee, LucideCog, LucideCoins, LucideColumns, LucideColumns2, LucideColumns3, LucideColumns3Cog, LucideColumns4, LucideColumnsSettings, LucideCombine, LucideCommand, LucideCompass, LucideComponent, LucideComputer, LucideConciergeBell, LucideCone, LucideConstruction, LucideContact, LucideContact2, LucideContactRound, LucideContainer, LucideContrast, LucideCookie, LucideCookingPot, LucideCopy, LucideCopyCheck, LucideCopyMinus, LucideCopyPlus, LucideCopySlash, LucideCopyX, LucideCopyleft, LucideCopyright, LucideCornerDownLeft, LucideCornerDownRight, LucideCornerLeftDown, LucideCornerLeftUp, LucideCornerRightDown, LucideCornerRightUp, LucideCornerUpLeft, LucideCornerUpRight, LucideCpu, LucideCreativeCommons, LucideCreditCard, LucideCroissant, LucideCrop, LucideCross, LucideCrosshair, LucideCrown, LucideCuboid, LucideCupSoda, LucideCurlyBraces, LucideCurrency, LucideCylinder, LucideDam, LucideDatabase, LucideDatabaseBackup, LucideDatabaseSearch, LucideDatabaseZap, LucideDecimalsArrowLeft, LucideDecimalsArrowRight, LucideDelete, LucideDessert, LucideDiameter, LucideDiamond, LucideDiamondMinus, LucideDiamondPercent, LucideDiamondPlus, LucideDice1, LucideDice2, LucideDice3, LucideDice4, LucideDice5, LucideDice6, LucideDices, LucideDiff, LucideDisc, LucideDisc2, LucideDisc3, LucideDiscAlbum, LucideDivide, LucideDivideCircle, LucideDivideSquare, LucideDna, LucideDnaOff, LucideDock, LucideDog, LucideDollarSign, LucideDonut, LucideDoorClosed, LucideDoorClosedLocked, LucideDoorOpen, LucideDot, LucideDotSquare, LucideDownload, LucideDownloadCloud, LucideDraftingCompass, LucideDrama, LucideDrill, LucideDrone, LucideDroplet, LucideDropletOff, LucideDroplets, LucideDrum, LucideDrumstick, LucideDumbbell, LucideDynamicIcon, LucideEar, LucideEarOff, LucideEarth, LucideEarthLock, LucideEclipse, LucideEdit, LucideEdit2, LucideEdit3, LucideEgg, LucideEggFried, LucideEggOff, LucideEllipse, LucideEllipsis, LucideEllipsisVertical, LucideEqual, LucideEqualApproximately, LucideEqualNot, LucideEqualSquare, LucideEraser, LucideEthernetPort, LucideEuro, LucideEvCharger, LucideExpand, LucideExternalLink, LucideEye, LucideEyeClosed, LucideEyeOff, LucideFactory, LucideFan, LucideFastForward, LucideFeather, LucideFence, LucideFerrisWheel, LucideFile, LucideFileArchive, LucideFileAudio, LucideFileAudio2, LucideFileAxis3D, LucideFileAxis3d, LucideFileBadge, LucideFileBadge2, LucideFileBarChart, LucideFileBarChart2, LucideFileBox, LucideFileBraces, LucideFileBracesCorner, LucideFileChartColumn, LucideFileChartColumnIncreasing, LucideFileChartLine, LucideFileChartPie, LucideFileCheck, LucideFileCheck2, LucideFileCheckCorner, LucideFileClock, LucideFileCode, LucideFileCode2, LucideFileCodeCorner, LucideFileCog, LucideFileCog2, LucideFileDiff, LucideFileDigit, LucideFileDown, LucideFileEdit, LucideFileExclamationPoint, LucideFileHeadphone, LucideFileHeart, LucideFileImage, LucideFileInput, LucideFileJson, LucideFileJson2, LucideFileKey, LucideFileKey2, LucideFileLineChart, LucideFileLock, LucideFileLock2, LucideFileMinus, LucideFileMinus2, LucideFileMinusCorner, LucideFileMusic, LucideFileOutput, LucideFilePen, LucideFilePenLine, LucideFilePieChart, LucideFilePlay, LucideFilePlus, LucideFilePlus2, LucideFilePlusCorner, LucideFileQuestion, LucideFileQuestionMark, LucideFileScan, LucideFileSearch, LucideFileSearch2, LucideFileSearchCorner, LucideFileSignal, LucideFileSignature, LucideFileSliders, LucideFileSpreadsheet, LucideFileStack, LucideFileSymlink, LucideFileTerminal, LucideFileText, LucideFileType, LucideFileType2, LucideFileTypeCorner, LucideFileUp, LucideFileUser, LucideFileVideo, LucideFileVideo2, LucideFileVideoCamera, LucideFileVolume, LucideFileVolume2, LucideFileWarning, LucideFileX, LucideFileX2, LucideFileXCorner, LucideFiles, LucideFilm, LucideFilter, LucideFilterX, LucideFingerprint, LucideFingerprintPattern, LucideFireExtinguisher, LucideFish, LucideFishOff, LucideFishSymbol, LucideFishingHook, LucideFishingRod, LucideFlag, LucideFlagOff, LucideFlagTriangleLeft, LucideFlagTriangleRight, LucideFlame, LucideFlameKindling, LucideFlashlight, LucideFlashlightOff, LucideFlaskConical, LucideFlaskConicalOff, LucideFlaskRound, LucideFlipHorizontal, LucideFlipHorizontal2, LucideFlipVertical, LucideFlipVertical2, LucideFlower, LucideFlower2, LucideFocus, LucideFoldHorizontal, LucideFoldVertical, LucideFolder, LucideFolderArchive, LucideFolderCheck, LucideFolderClock, LucideFolderClosed, LucideFolderCode, LucideFolderCog, LucideFolderCog2, LucideFolderDot, LucideFolderDown, LucideFolderEdit, LucideFolderGit, LucideFolderGit2, LucideFolderHeart, LucideFolderInput, LucideFolderKanban, LucideFolderKey, LucideFolderLock, LucideFolderMinus, LucideFolderOpen, LucideFolderOpenDot, LucideFolderOutput, LucideFolderPen, LucideFolderPlus, LucideFolderRoot, LucideFolderSearch, LucideFolderSearch2, LucideFolderSymlink, LucideFolderSync, LucideFolderTree, LucideFolderUp, LucideFolderX, LucideFolders, LucideFootprints, LucideForkKnife, LucideForkKnifeCrossed, LucideForklift, LucideForm, LucideFormInput, LucideForward, LucideFrame, LucideFrown, LucideFuel, LucideFullscreen, LucideFunctionSquare, LucideFunnel, LucideFunnelPlus, LucideFunnelX, LucideGalleryHorizontal, LucideGalleryHorizontalEnd, LucideGalleryThumbnails, LucideGalleryVertical, LucideGalleryVerticalEnd, LucideGamepad, LucideGamepad2, LucideGamepadDirectional, LucideGanttChart, LucideGanttChartSquare, LucideGauge, LucideGaugeCircle, LucideGavel, LucideGem, LucideGeorgianLari, LucideGhost, LucideGift, LucideGitBranch, LucideGitBranchMinus, LucideGitBranchPlus, LucideGitCommit, LucideGitCommitHorizontal, LucideGitCommitVertical, LucideGitCompare, LucideGitCompareArrows, LucideGitFork, LucideGitGraph, LucideGitMerge, LucideGitMergeConflict, LucideGitPullRequest, LucideGitPullRequestArrow, LucideGitPullRequestClosed, LucideGitPullRequestCreate, LucideGitPullRequestCreateArrow, LucideGitPullRequestDraft, LucideGlassWater, LucideGlasses, LucideGlobe, LucideGlobe2, LucideGlobeLock, LucideGlobeOff, LucideGlobeX, LucideGoal, LucideGpu, LucideGrab, LucideGraduationCap, LucideGrape, LucideGrid, LucideGrid2X2, LucideGrid2X2Check, LucideGrid2X2Plus, LucideGrid2X2X, LucideGrid2x2, LucideGrid2x2Check, LucideGrid2x2Plus, LucideGrid2x2X, LucideGrid3X3, LucideGrid3x2, LucideGrid3x3, LucideGrip, LucideGripHorizontal, LucideGripVertical, LucideGroup, LucideGuitar, LucideHam, LucideHamburger, LucideHammer, LucideHand, LucideHandCoins, LucideHandFist, LucideHandGrab, LucideHandHeart, LucideHandHelping, LucideHandMetal, LucideHandPlatter, LucideHandbag, LucideHandshake, LucideHardDrive, LucideHardDriveDownload, LucideHardDriveUpload, LucideHardHat, LucideHash, LucideHatGlasses, LucideHaze, LucideHd, LucideHdmiPort, LucideHeading, LucideHeading1, LucideHeading2, LucideHeading3, LucideHeading4, LucideHeading5, LucideHeading6, LucideHeadphoneOff, LucideHeadphones, LucideHeadset, LucideHeart, LucideHeartCrack, LucideHeartHandshake, LucideHeartMinus, LucideHeartOff, LucideHeartPlus, LucideHeartPulse, LucideHeater, LucideHelicopter, LucideHelpCircle, LucideHelpingHand, LucideHexagon, LucideHighlighter, LucideHistory, LucideHome, LucideHop, LucideHopOff, LucideHospital, LucideHotel, LucideHourglass, LucideHouse, LucideHouseHeart, LucideHousePlug, LucideHousePlus, LucideHouseWifi, LucideIceCream, LucideIceCream2, LucideIceCreamBowl, LucideIceCreamCone, LucideIconBase, LucideIdCard, LucideIdCardLanyard, LucideImage, LucideImageDown, LucideImageMinus, LucideImageOff, LucideImagePlay, LucideImagePlus, LucideImageUp, LucideImageUpscale, LucideImages, LucideImport, LucideInbox, LucideIndent, LucideIndentDecrease, LucideIndentIncrease, LucideIndianRupee, LucideInfinity, LucideInfo, LucideInspect, LucideInspectionPanel, LucideItalic, LucideIterationCcw, LucideIterationCw, LucideJapaneseYen, LucideJoystick, LucideKanban, LucideKanbanSquare, LucideKanbanSquareDashed, LucideKayak, LucideKey, LucideKeyRound, LucideKeySquare, LucideKeyboard, LucideKeyboardMusic, LucideKeyboardOff, LucideLamp, LucideLampCeiling, LucideLampDesk, LucideLampFloor, LucideLampWallDown, LucideLampWallUp, LucideLandPlot, LucideLandmark, LucideLanguages, LucideLaptop, LucideLaptop2, LucideLaptopMinimal, LucideLaptopMinimalCheck, LucideLasso, LucideLassoSelect, LucideLaugh, LucideLayers, LucideLayers2, LucideLayers3, LucideLayersPlus, LucideLayout, LucideLayoutDashboard, LucideLayoutGrid, LucideLayoutList, LucideLayoutPanelLeft, LucideLayoutPanelTop, LucideLayoutTemplate, LucideLeaf, LucideLeafyGreen, LucideLectern, LucideLensConcave, LucideLensConvex, LucideLetterText, LucideLibrary, LucideLibraryBig, LucideLibrarySquare, LucideLifeBuoy, LucideLigature, LucideLightbulb, LucideLightbulbOff, LucideLineChart, LucideLineDotRightHorizontal, LucideLineSquiggle, LucideLineStyle, LucideLink, LucideLink2, LucideLink2Off, LucideList, LucideListCheck, LucideListChecks, LucideListChevronsDownUp, LucideListChevronsUpDown, LucideListCollapse, LucideListEnd, LucideListFilter, LucideListFilterPlus, LucideListIndentDecrease, LucideListIndentIncrease, LucideListMinus, LucideListMusic, LucideListOrdered, LucideListPlus, LucideListRestart, LucideListStart, LucideListTodo, LucideListTree, LucideListVideo, LucideListX, LucideLoader, LucideLoader2, LucideLoaderCircle, LucideLoaderPinwheel, LucideLocate, LucideLocateFixed, LucideLocateOff, LucideLocationEdit, LucideLock, LucideLockKeyhole, LucideLockKeyholeOpen, LucideLockOpen, LucideLogIn, LucideLogOut, LucideLogs, LucideLollipop, LucideLuggage, LucideMSquare, LucideMagnet, LucideMail, LucideMailCheck, LucideMailMinus, LucideMailOpen, LucideMailPlus, LucideMailQuestion, LucideMailQuestionMark, LucideMailSearch, LucideMailWarning, LucideMailX, LucideMailbox, LucideMails, LucideMap, LucideMapMinus, LucideMapPin, LucideMapPinCheck, LucideMapPinCheckInside, LucideMapPinHouse, LucideMapPinMinus, LucideMapPinMinusInside, LucideMapPinOff, LucideMapPinPen, LucideMapPinPlus, LucideMapPinPlusInside, LucideMapPinSearch, LucideMapPinX, LucideMapPinXInside, LucideMapPinned, LucideMapPlus, LucideMars, LucideMarsStroke, LucideMartini, LucideMaximize, LucideMaximize2, LucideMedal, LucideMegaphone, LucideMegaphoneOff, LucideMeh, LucideMemoryStick, LucideMenu, LucideMenuSquare, LucideMerge, LucideMessageCircle, LucideMessageCircleCheck, LucideMessageCircleCode, LucideMessageCircleDashed, LucideMessageCircleHeart, LucideMessageCircleMore, LucideMessageCircleOff, LucideMessageCirclePlus, LucideMessageCircleQuestion, LucideMessageCircleQuestionMark, LucideMessageCircleReply, LucideMessageCircleWarning, LucideMessageCircleX, LucideMessageSquare, LucideMessageSquareCheck, LucideMessageSquareCode, LucideMessageSquareDashed, LucideMessageSquareDiff, LucideMessageSquareDot, LucideMessageSquareHeart, LucideMessageSquareLock, LucideMessageSquareMore, LucideMessageSquareOff, LucideMessageSquarePlus, LucideMessageSquareQuote, LucideMessageSquareReply, LucideMessageSquareShare, LucideMessageSquareText, LucideMessageSquareWarning, LucideMessageSquareX, LucideMessagesSquare, LucideMetronome, LucideMic, LucideMic2, LucideMicOff, LucideMicVocal, LucideMicrochip, LucideMicroscope, LucideMicrowave, LucideMilestone, LucideMilk, LucideMilkOff, LucideMinimize, LucideMinimize2, LucideMinus, LucideMinusCircle, LucideMinusSquare, LucideMirrorRectangular, LucideMirrorRound, LucideMonitor, LucideMonitorCheck, LucideMonitorCloud, LucideMonitorCog, LucideMonitorDot, LucideMonitorDown, LucideMonitorOff, LucideMonitorPause, LucideMonitorPlay, LucideMonitorSmartphone, LucideMonitorSpeaker, LucideMonitorStop, LucideMonitorUp, LucideMonitorX, LucideMoon, LucideMoonStar, LucideMoreHorizontal, LucideMoreVertical, LucideMotorbike, LucideMountain, LucideMountainSnow, LucideMouse, LucideMouseLeft, LucideMouseOff, LucideMousePointer, LucideMousePointer2, LucideMousePointer2Off, LucideMousePointerBan, LucideMousePointerClick, LucideMousePointerSquareDashed, LucideMouseRight, LucideMove, LucideMove3D, LucideMove3d, LucideMoveDiagonal, LucideMoveDiagonal2, LucideMoveDown, LucideMoveDownLeft, LucideMoveDownRight, LucideMoveHorizontal, LucideMoveLeft, LucideMoveRight, LucideMoveUp, LucideMoveUpLeft, LucideMoveUpRight, LucideMoveVertical, LucideMusic, LucideMusic2, LucideMusic3, LucideMusic4, LucideNavigation, LucideNavigation2, LucideNavigation2Off, LucideNavigationOff, LucideNetwork, LucideNewspaper, LucideNfc, LucideNonBinary, LucideNotebook, LucideNotebookPen, LucideNotebookTabs, LucideNotebookText, LucideNotepadText, LucideNotepadTextDashed, LucideNut, LucideNutOff, LucideOctagon, LucideOctagonAlert, LucideOctagonMinus, LucideOctagonPause, LucideOctagonX, LucideOmega, LucideOption, LucideOrbit, LucideOrigami, LucideOutdent, LucidePackage, LucidePackage2, LucidePackageCheck, LucidePackageMinus, LucidePackageOpen, LucidePackagePlus, LucidePackageSearch, LucidePackageX, LucidePaintBucket, LucidePaintRoller, LucidePaintbrush, LucidePaintbrush2, LucidePaintbrushVertical, LucidePalette, LucidePalmtree, LucidePanda, LucidePanelBottom, LucidePanelBottomClose, LucidePanelBottomDashed, LucidePanelBottomInactive, LucidePanelBottomOpen, LucidePanelLeft, LucidePanelLeftClose, LucidePanelLeftDashed, LucidePanelLeftInactive, LucidePanelLeftOpen, LucidePanelLeftRightDashed, LucidePanelRight, LucidePanelRightClose, LucidePanelRightDashed, LucidePanelRightInactive, LucidePanelRightOpen, LucidePanelTop, LucidePanelTopBottomDashed, LucidePanelTopClose, LucidePanelTopDashed, LucidePanelTopInactive, LucidePanelTopOpen, LucidePanelsLeftBottom, LucidePanelsLeftRight, LucidePanelsRightBottom, LucidePanelsTopBottom, LucidePanelsTopLeft, LucidePaperclip, LucideParentheses, LucideParkingCircle, LucideParkingCircleOff, LucideParkingMeter, LucideParkingSquare, LucideParkingSquareOff, LucidePartyPopper, LucidePause, LucidePauseCircle, LucidePauseOctagon, LucidePawPrint, LucidePcCase, LucidePen, LucidePenBox, LucidePenLine, LucidePenOff, LucidePenSquare, LucidePenTool, LucidePencil, LucidePencilLine, LucidePencilOff, LucidePencilRuler, LucidePentagon, LucidePercent, LucidePercentCircle, LucidePercentDiamond, LucidePercentSquare, LucidePersonStanding, LucidePhilippinePeso, LucidePhone, LucidePhoneCall, LucidePhoneForwarded, LucidePhoneIncoming, LucidePhoneMissed, LucidePhoneOff, LucidePhoneOutgoing, LucidePi, LucidePiSquare, LucidePiano, LucidePickaxe, LucidePictureInPicture, LucidePictureInPicture2, LucidePieChart, LucidePiggyBank, LucidePilcrow, LucidePilcrowLeft, LucidePilcrowRight, LucidePilcrowSquare, LucidePill, LucidePillBottle, LucidePin, LucidePinOff, LucidePipette, LucidePizza, LucidePlane, LucidePlaneLanding, LucidePlaneTakeoff, LucidePlay, LucidePlayCircle, LucidePlaySquare, LucidePlug, LucidePlug2, LucidePlugZap, LucidePlugZap2, LucidePlus, LucidePlusCircle, LucidePlusSquare, LucidePocketKnife, LucidePodcast, LucidePointer, LucidePointerOff, LucidePopcorn, LucidePopsicle, LucidePoundSterling, LucidePower, LucidePowerCircle, LucidePowerOff, LucidePowerSquare, LucidePresentation, LucidePrinter, LucidePrinterCheck, LucidePrinterX, LucideProjector, LucideProportions, LucidePuzzle, LucidePyramid, LucideQrCode, LucideQuote, LucideRabbit, LucideRadar, LucideRadiation, LucideRadical, LucideRadio, LucideRadioOff, LucideRadioReceiver, LucideRadioTower, LucideRadius, LucideRainbow, LucideRat, LucideRatio, LucideReceipt, LucideReceiptCent, LucideReceiptEuro, LucideReceiptIndianRupee, LucideReceiptJapaneseYen, LucideReceiptPoundSterling, LucideReceiptRussianRuble, LucideReceiptSwissFranc, LucideReceiptText, LucideReceiptTurkishLira, LucideRectangleCircle, LucideRectangleEllipsis, LucideRectangleGoggles, LucideRectangleHorizontal, LucideRectangleVertical, LucideRecycle, LucideRedo, LucideRedo2, LucideRedoDot, LucideRefreshCcw, LucideRefreshCcwDot, LucideRefreshCw, LucideRefreshCwOff, LucideRefrigerator, LucideRegex, LucideRemoveFormatting, LucideRepeat, LucideRepeat1, LucideRepeat2, LucideReplace, LucideReplaceAll, LucideReply, LucideReplyAll, LucideRewind, LucideRibbon, LucideRoad, LucideRocket, LucideRockingChair, LucideRollerCoaster, LucideRose, LucideRotate3D, LucideRotate3d, LucideRotateCcw, LucideRotateCcwKey, LucideRotateCcwSquare, LucideRotateCw, LucideRotateCwSquare, LucideRoute, LucideRouteOff, LucideRouter, LucideRows, LucideRows2, LucideRows3, LucideRows4, LucideRss, LucideRuler, LucideRulerDimensionLine, LucideRussianRuble, LucideSailboat, LucideSalad, LucideSandwich, LucideSatellite, LucideSatelliteDish, LucideSaudiRiyal, LucideSave, LucideSaveAll, LucideSaveOff, LucideScale, LucideScale3D, LucideScale3d, LucideScaling, LucideScan, LucideScanBarcode, LucideScanEye, LucideScanFace, LucideScanHeart, LucideScanLine, LucideScanQrCode, LucideScanSearch, LucideScanText, LucideScatterChart, LucideSchool, LucideSchool2, LucideScissors, LucideScissorsLineDashed, LucideScissorsSquare, LucideScissorsSquareDashedBottom, LucideScooter, LucideScreenShare, LucideScreenShareOff, LucideScroll, LucideScrollText, LucideSearch, LucideSearchAlert, LucideSearchCheck, LucideSearchCode, LucideSearchSlash, LucideSearchX, LucideSection, LucideSend, LucideSendHorizonal, LucideSendHorizontal, LucideSendToBack, LucideSeparatorHorizontal, LucideSeparatorVertical, LucideServer, LucideServerCog, LucideServerCrash, LucideServerOff, LucideSettings, LucideSettings2, LucideShapes, LucideShare, LucideShare2, LucideSheet, LucideShell, LucideShelvingUnit, LucideShield, LucideShieldAlert, LucideShieldBan, LucideShieldCheck, LucideShieldClose, LucideShieldCog, LucideShieldCogCorner, LucideShieldEllipsis, LucideShieldHalf, LucideShieldMinus, LucideShieldOff, LucideShieldPlus, LucideShieldQuestion, LucideShieldQuestionMark, LucideShieldUser, LucideShieldX, LucideShip, LucideShipWheel, LucideShirt, LucideShoppingBag, LucideShoppingBasket, LucideShoppingCart, LucideShovel, LucideShowerHead, LucideShredder, LucideShrimp, LucideShrink, LucideShrub, LucideShuffle, LucideSidebar, LucideSidebarClose, LucideSidebarOpen, LucideSigma, LucideSigmaSquare, LucideSignal, LucideSignalHigh, LucideSignalLow, LucideSignalMedium, LucideSignalZero, LucideSignature, LucideSignpost, LucideSignpostBig, LucideSiren, LucideSkipBack, LucideSkipForward, LucideSkull, LucideSlash, LucideSlashSquare, LucideSlice, LucideSliders, LucideSlidersHorizontal, LucideSlidersVertical, LucideSmartphone, LucideSmartphoneCharging, LucideSmartphoneNfc, LucideSmile, LucideSmilePlus, LucideSnail, LucideSnowflake, LucideSoapDispenserDroplet, LucideSofa, LucideSolarPanel, LucideSortAsc, LucideSortDesc, LucideSoup, LucideSpace, LucideSpade, LucideSparkle, LucideSparkles, LucideSpeaker, LucideSpeech, LucideSpellCheck, LucideSpellCheck2, LucideSpline, LucideSplinePointer, LucideSplit, LucideSplitSquareHorizontal, LucideSplitSquareVertical, LucideSpool, LucideSportShoe, LucideSpotlight, LucideSprayCan, LucideSprout, LucideSquare, LucideSquareActivity, LucideSquareArrowDown, LucideSquareArrowDownLeft, LucideSquareArrowDownRight, LucideSquareArrowLeft, LucideSquareArrowOutDownLeft, LucideSquareArrowOutDownRight, LucideSquareArrowOutUpLeft, LucideSquareArrowOutUpRight, LucideSquareArrowRight, LucideSquareArrowRightEnter, LucideSquareArrowRightExit, LucideSquareArrowUp, LucideSquareArrowUpLeft, LucideSquareArrowUpRight, LucideSquareAsterisk, LucideSquareBottomDashedScissors, LucideSquareCenterlineDashedHorizontal, LucideSquareCenterlineDashedVertical, LucideSquareChartGantt, LucideSquareCheck, LucideSquareCheckBig, LucideSquareChevronDown, LucideSquareChevronLeft, LucideSquareChevronRight, LucideSquareChevronUp, LucideSquareCode, LucideSquareDashed, LucideSquareDashedBottom, LucideSquareDashedBottomCode, LucideSquareDashedKanban, LucideSquareDashedMousePointer, LucideSquareDashedTopSolid, LucideSquareDivide, LucideSquareDot, LucideSquareEqual, LucideSquareFunction, LucideSquareGanttChart, LucideSquareKanban, LucideSquareLibrary, LucideSquareM, LucideSquareMenu, LucideSquareMinus, LucideSquareMousePointer, LucideSquareParking, LucideSquareParkingOff, LucideSquarePause, LucideSquarePen, LucideSquarePercent, LucideSquarePi, LucideSquarePilcrow, LucideSquarePlay, LucideSquarePlus, LucideSquarePower, LucideSquareRadical, LucideSquareRoundCorner, LucideSquareScissors, LucideSquareSigma, LucideSquareSlash, LucideSquareSplitHorizontal, LucideSquareSplitVertical, LucideSquareSquare, LucideSquareStack, LucideSquareStar, LucideSquareStop, LucideSquareTerminal, LucideSquareUser, LucideSquareUserRound, LucideSquareX, LucideSquaresExclude, LucideSquaresIntersect, LucideSquaresSubtract, LucideSquaresUnite, LucideSquircle, LucideSquircleDashed, LucideSquirrel, LucideStamp, LucideStar, LucideStarHalf, LucideStarOff, LucideStars, LucideStepBack, LucideStepForward, LucideStethoscope, LucideSticker, LucideStickyNote, LucideStone, LucideStopCircle, LucideStore, LucideStretchHorizontal, LucideStretchVertical, LucideStrikethrough, LucideSubscript, LucideSubtitles, LucideSun, LucideSunDim, LucideSunMedium, LucideSunMoon, LucideSunSnow, LucideSunrise, LucideSunset, LucideSuperscript, LucideSwatchBook, LucideSwissFranc, LucideSwitchCamera, LucideSword, LucideSwords, LucideSyringe, LucideTable, LucideTable2, LucideTableCellsMerge, LucideTableCellsSplit, LucideTableColumnsSplit, LucideTableConfig, LucideTableOfContents, LucideTableProperties, LucideTableRowsSplit, LucideTablet, LucideTabletSmartphone, LucideTablets, LucideTag, LucideTags, LucideTally1, LucideTally2, LucideTally3, LucideTally4, LucideTally5, LucideTangent, LucideTarget, LucideTelescope, LucideTent, LucideTentTree, LucideTerminal, LucideTerminalSquare, LucideTestTube, LucideTestTube2, LucideTestTubeDiagonal, LucideTestTubes, LucideText, LucideTextAlignCenter, LucideTextAlignEnd, LucideTextAlignJustify, LucideTextAlignStart, LucideTextCursor, LucideTextCursorInput, LucideTextInitial, LucideTextQuote, LucideTextSearch, LucideTextSelect, LucideTextSelection, LucideTextWrap, LucideTheater, LucideThermometer, LucideThermometerSnowflake, LucideThermometerSun, LucideThumbsDown, LucideThumbsUp, LucideTicket, LucideTicketCheck, LucideTicketMinus, LucideTicketPercent, LucideTicketPlus, LucideTicketSlash, LucideTicketX, LucideTickets, LucideTicketsPlane, LucideTimer, LucideTimerOff, LucideTimerReset, LucideToggleLeft, LucideToggleRight, LucideToilet, LucideToolCase, LucideToolbox, LucideTornado, LucideTorus, LucideTouchpad, LucideTouchpadOff, LucideTowelRack, LucideTowerControl, LucideToyBrick, LucideTractor, LucideTrafficCone, LucideTrain, LucideTrainFront, LucideTrainFrontTunnel, LucideTrainTrack, LucideTramFront, LucideTransgender, LucideTrash, LucideTrash2, LucideTreeDeciduous, LucideTreePalm, LucideTreePine, LucideTrees, LucideTrendingDown, LucideTrendingUp, LucideTrendingUpDown, LucideTriangle, LucideTriangleAlert, LucideTriangleDashed, LucideTriangleRight, LucideTrophy, LucideTruck, LucideTruckElectric, LucideTurkishLira, LucideTurntable, LucideTurtle, LucideTv, LucideTv2, LucideTvMinimal, LucideTvMinimalPlay, LucideType, LucideTypeOutline, LucideUmbrella, LucideUmbrellaOff, LucideUnderline, LucideUndo, LucideUndo2, LucideUndoDot, LucideUnfoldHorizontal, LucideUnfoldVertical, LucideUngroup, LucideUniversity, LucideUnlink, LucideUnlink2, LucideUnlock, LucideUnlockKeyhole, LucideUnplug, LucideUpload, LucideUploadCloud, LucideUsb, LucideUser, LucideUser2, LucideUserCheck, LucideUserCheck2, LucideUserCircle, LucideUserCircle2, LucideUserCog, LucideUserCog2, LucideUserKey, LucideUserLock, LucideUserMinus, LucideUserMinus2, LucideUserPen, LucideUserPlus, LucideUserPlus2, LucideUserRound, LucideUserRoundCheck, LucideUserRoundCog, LucideUserRoundKey, LucideUserRoundMinus, LucideUserRoundPen, LucideUserRoundPlus, LucideUserRoundSearch, LucideUserRoundX, LucideUserSearch, LucideUserSquare, LucideUserSquare2, LucideUserStar, LucideUserX, LucideUserX2, LucideUsers, LucideUsers2, LucideUsersRound, LucideUtensils, LucideUtensilsCrossed, LucideUtilityPole, LucideVan, LucideVariable, LucideVault, LucideVectorSquare, LucideVegan, LucideVenetianMask, LucideVenus, LucideVenusAndMars, LucideVerified, LucideVibrate, LucideVibrateOff, LucideVideo, LucideVideoOff, LucideVideotape, LucideView, LucideVoicemail, LucideVolleyball, LucideVolume, LucideVolume1, LucideVolume2, LucideVolumeOff, LucideVolumeX, LucideVote, LucideWallet, LucideWallet2, LucideWalletCards, LucideWalletMinimal, LucideWallpaper, LucideWand, LucideWand2, LucideWandSparkles, LucideWarehouse, LucideWashingMachine, LucideWatch, LucideWaves, LucideWavesArrowDown, LucideWavesArrowUp, LucideWavesLadder, LucideWaypoints, LucideWebcam, LucideWebhook, LucideWebhookOff, LucideWeight, LucideWeightTilde, LucideWheat, LucideWheatOff, LucideWholeWord, LucideWifi, LucideWifiCog, LucideWifiHigh, LucideWifiLow, LucideWifiOff, LucideWifiPen, LucideWifiSync, LucideWifiZero, LucideWind, LucideWindArrowDown, LucideWine, LucideWineOff, LucideWorkflow, LucideWorm, LucideWrapText, LucideWrench, LucideX, LucideXCircle, LucideXLineTop, LucideXOctagon, LucideXSquare, LucideZap, LucideZapOff, LucideZodiacAquarius, LucideZodiacAries, LucideZodiacCancer, LucideZodiacCapricorn, LucideZodiacGemini, LucideZodiacLeo, LucideZodiacLibra, LucideZodiacOphiuchus, LucideZodiacPisces, LucideZodiacSagittarius, LucideZodiacScorpio, LucideZodiacTaurus, LucideZodiacVirgo, LucideZoomIn, LucideZoomOut, lucideAngular as icons, isLucideIconComponent, isLucideIconData, lucideDefaultConfig, lucideIconTemplate, lucideLegacyIcon, lucideLegacyIconMap, provideLucideConfig, provideLucideIcons };\n","import { Component, ElementRef, HostListener, ViewChild } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\nimport {Router, RouterLink} from '@angular/router';\r\nimport { ViewportScroller } from '@angular/common';\r\nimport {LucideArrowRight, LucideLogs, LucideMenu} from '@lucide/angular';\r\n\r\n@Component({\r\n  selector: 'app-header',\r\n  imports: [NgClass, LucideMenu, RouterLink],\r\n  templateUrl: './header.component.html',\r\n  styleUrl: './header.component.sass'\r\n})\r\nexport class HeaderComponent {\r\n  isScrolled = false;\r\n  activeLink: string = 'home';\r\n\r\n  @ViewChild('navbarNav') navbarNav?: ElementRef;\r\n\r\n  navLinks = [\r\n    {\r\n      label: 'Prestations',\r\n      route: '/',\r\n      fragment: 'services'\r\n    },\r\n    {\r\n      label: 'Réalisations',\r\n      route: '/',\r\n      fragment: 'portfolio'\r\n    },\r\n    {\r\n      label: 'Tarifs',\r\n      route: '/',\r\n      fragment: 'tarifs'\r\n    },\r\n    {\r\n      label: 'Blog',\r\n      route: '/blog'\r\n    }\r\n  ];\r\n\r\n  constructor(\r\n    private router: Router,\r\n    private viewportScroller: ViewportScroller\r\n  ) {}\r\n\r\n  @HostListener('window:scroll', [])\r\n  onWindowScroll() {\r\n    this.isScrolled = window.scrollY > 50;\r\n  }\r\n\r\n  setActive(linkId: string) {\r\n    this.activeLink = linkId;\r\n    this.navbarNav?.nativeElement.classList.remove('show');\r\n  }\r\n\r\n  scrollToSection(sectionTitle: string): void {\r\n    if (this.router.url === '/') {\r\n      const section = document.getElementById('contact') as HTMLElement;\r\n      section.scrollIntoView({\r\n        behavior: 'smooth',\r\n        block: 'center'\r\n      });\r\n    }\r\n    this.router.navigate(['/'], {\r\n      fragment: 'contact'\r\n    });\r\n\r\n\r\n  }\r\n}\r\n","<nav class=\"navbar navbar-expand-lg\" [ngClass]=\"{'scrolled' : isScrolled}\">\r\n  <div class=\"container-fluid nav-container\">\r\n    <!--    <div class=\"wrapper-logo\"></div>-->\r\n    <a href=\"/home\" class=\"navbar-brand\" aria-label=\"Retour en haut de la page\">\r\n      <img src=\"/assets/img/logo.webp\" alt=\"Logo TGC Studios\" width=\"150\" height=\"100\" class=\"logo\">\r\n\r\n    </a>\r\n    <button class=\"navbar-toggler\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbarNav\"\r\n            aria-controls=\"navbarNav\" aria-expanded=\"false\" aria-label=\"Toggle navigation\">\r\n      <span> <svg lucideMenu class=\"icon icon--right\"></svg></span>\r\n    </button>\r\n    <div class=\"collapse navbar-collapse\" #navbarNav id=\"navbarNav\">\r\n      <div class=\"container-center\">\r\n        <a href=\"/home\" class=\"navbar-brand\" aria-label=\"Retour en haut de la page\">\r\n\r\n          <img src=\"/assets/img/logo.webp\" alt=\"Logo TGC Studios\" width=\"150\" height=\"100\" class=\"logo__dropdown\">\r\n        </a>\r\n\r\n        <ul class=\"navbar-nav\">\r\n          @for (link of navLinks; track $index) {\r\n            <li class=\"nav-item\">\r\n              <a\r\n                class=\"nav-link\"\r\n                [routerLink]=\"link.route\"\r\n                [fragment]=\"link.fragment\"\r\n              >\r\n                {{ link.label }}\r\n              </a>\r\n\r\n            </li>\r\n          }\r\n        </ul>\r\n        <button (click)=\"scrollToSection('contact-landing-page')\" class=\"nav__cta__dropdown\">\r\n          Discutons de votre projet\r\n        </button>\r\n      </div>\r\n    </div>\r\n    <button (click)=\"scrollToSection('contact-landing-page')\" class=\"nav__cta\">\r\n      Discutons de votre projet\r\n    </button>\r\n  </div>\r\n</nav>\r\n","import {Inject, Injectable, PLATFORM_ID} from '@angular/core';\r\nimport {isPlatformBrowser} from '@angular/common';\r\n\r\ndeclare global {\r\n  interface Window {\r\n    gtag?: (...args: any[]) => void;\r\n  }\r\n}\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class GoogleAnalyticsService {\r\n  private isBrowser: boolean;\r\n\r\n  constructor(@Inject(PLATFORM_ID) private platformId: Object) {\r\n    this.isBrowser = isPlatformBrowser(this.platformId);\r\n  }\r\n\r\n  sendPageView(url: string) {\r\n    if (this.isBrowser && window.gtag) {\r\n      window.gtag('event', 'page_view', { page_path: url });\r\n    }\r\n  }\r\n\r\n  sendEvent(eventName: string, params: Record<string, any> = {}) {\r\n    if (this.isBrowser && window.gtag) {\r\n      window.gtag('event', eventName, params);\r\n    }\r\n  }\r\n}\r\n","export const myInfo: any =\r\n  {\r\n    lastName: 'TUDOROIU',\r\n    firstName: 'Cristian',\r\n    location: 'Pau,Nouvelle-Aquitaine',\r\n    email: 'contact@cristian-tudoroiu.fr',\r\n    phone : \"+33764357352\",\r\n    portfolioLink:\"https://portfolio.cristian-tudoroiu.fr\",\r\n    githubLink: 'https://github.com/FifthYonko',\r\n    linkedinLink: 'https://www.linkedin.com/in/cristian-tudoroiu-developpeur-web',\r\n    googleLink: 'https://share.google/cyEO04HsW5B81z2aK',\r\n    cvLink: 'assets/ressources/CV_TGC.pdf',\r\n\r\n    currentAge: (() => {\r\n      const actualDate = new Date();\r\n      let age = actualDate.getFullYear() - 1996;\r\n      if (actualDate.getMonth() < 12) {\r\n        age -= 1;\r\n      }\r\n      return age;\r\n    })(),\r\n    yearsOfExperience: (() => {\r\n      const actualDate = new Date();\r\n      return actualDate.getFullYear() - 2022;\r\n    })(),\r\n    technologies: [\r\n      {\r\n        category: \"Front-End\",\r\n        technologies: [\r\n          \"HTML5\", \"CSS3\", \"JavaScript (ES6+)\", \"TypeScript\",\r\n          \"Angular\",\"Tailwind CSS\", \"Bootstrap\", \"Angular Material\", \"SASS / SCSS\", \"RxJS\"\r\n        ]\r\n      },\r\n      {\r\n        category: \"Back-End\",\r\n        technologies: [\r\n           \"PHP\", \"Laravel\", \"Symfony\",\r\n          \"MySQL\", \"MariaDB\", \"PostgreSQL\", \"MongoDB\", \"Firebase\",\r\n          \"RESTful APIs\", \"JWT\", \"OAuth 2.0\"\r\n        ]\r\n      },\r\n      {\r\n        category: \"DevOps & Outils\",\r\n        technologies: [\r\n          \"Git\", \"GitHub\", \"GitLab\",\r\n          \"Docker\",\"Apache\" ,\"AWS\", \"Google Cloud\", \"Firebase\"\r\n        ]\r\n      },\r\n      {\r\n        category: \"Mobile & Desktop\",\r\n        technologies: [\r\n         \"Flutter\", \"Electron.js\"\r\n        ]\r\n      },\r\n      {\r\n        category: \"Outils & Autres\",\r\n        technologies: [\r\n          \"Linux\", \"Bash\", \"VS Code\", \"WebStorm\",\"PhpStorm\",\r\n          \"Postman\", \"Figma\",\r\n          \"Responsive Design\", \"SEO\", \"Accessibilité (A11Y)\",\r\n          \"Méthodes Agiles (Scrum, Kanban)\"\r\n        ]\r\n      }\r\n    ],\r\n\r\n\r\n  }\r\n\r\n","export function loadScriptOnce(src: string): Promise<void> {\r\n  return new Promise((resolve, reject) => {\r\n    // si déjà chargé\r\n    if (typeof document !== 'undefined' && document.querySelector(`script[src=\"${src}\"]`)) {\r\n      resolve();\r\n      return;\r\n    }\r\n\r\n    // sécurité (SSR)\r\n    if (typeof document === 'undefined') {\r\n      resolve(); // côté serveur: on skip\r\n      return;\r\n    }\r\n\r\n    const s = document.createElement('script');\r\n    s.src = src;\r\n    s.async = true;\r\n    s.onload = () => resolve();\r\n    s.onerror = () => reject(new Error(`Failed to load script: ${src}`));\r\n    document.head.appendChild(s);\r\n  });\r\n}\r\n","export const environment = {\r\n  production: true,\r\n  apiURL: 'https://api.cristian-tudoroiu.fr',\r\n  baseUrl : 'https://www.cristiantudoroiu.fr',\r\n  recaptchaSiteKey: '6LfyH30sAAAAABmmQ3xV_Mb2daWeFJq9jwBV_7l4',\r\n  ga4MeasurementId: 'G-NMSTXZR7N4'\r\n}\r\n","import { Injectable, PLATFORM_ID, inject } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { loadScriptOnce } from '../load-script';\r\nimport {environment} from '../../../environment/environment';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TarteaucitronService {\r\n  private booted = false;\r\n  private enabledJobs = new Set<string>();\r\n\r\n  private platformId = inject(PLATFORM_ID);\r\n  private get isBrowser(): boolean {\r\n    return isPlatformBrowser(this.platformId);\r\n  }\r\n\r\n  private get tac(): any {\r\n    return (window as any).tarteaucitron;\r\n  }\r\n\r\n  async boot(): Promise<void> {\r\n    // ✅ En SSR : on fait rien\r\n    if (!this.isBrowser) return;\r\n\r\n    if (this.booted) return;\r\n\r\n    await loadScriptOnce('/tac/tarteaucitron.min.js');\r\n\r\n    this.tac.cdn = '/tac/';\r\n    this.tac.lang = 'fr';\r\n    (window as any).tarteaucitronForceLanguage = 'fr';\r\n\r\n    this.tac.user = this.tac.user || {};\r\n    this.tac.user.gtagUa = environment.ga4MeasurementId;\r\n\r\n    this.tac.init({\r\n      lang: 'fr',\r\n      language: 'fr',\r\n      privacyUrl: '/politique-de-confidentialite',\r\n      hashtag: '#tarteaucitron',\r\n      cookieName: 'tarteaucitron',\r\n      orientation: 'bottom',\r\n      showAlertSmall: false,\r\n      showIcon: false,\r\n      cookieslist: true,\r\n      AcceptAllCta: true,\r\n      DenyAllCta: true,\r\n      highPrivacy: true,\r\n      removeCredit: true\r\n    });\r\n\r\n    this.tac.job = this.tac.job || [];\r\n    this.tac.job.push('gtag');\r\n\r\n    this.booted = true;\r\n  }\r\n\r\n  openPanel(): void {\r\n    if (!this.isBrowser) return;\r\n    window.location.hash = '#tarteaucitron';\r\n  }\r\n\r\n  enableJob(job: string): void {\r\n    if (!this.isBrowser || !this.booted) return;\r\n    if (this.enabledJobs.has(job)) return;\r\n    this.tac.job = this.tac.job || [];\r\n    this.tac.job.push(job);\r\n    this.enabledJobs.add(job);\r\n  }\r\n\r\n  /** vrai si le service TAC est autorisé */\r\n  isServiceAllowed(service: string): boolean {\r\n    if (!this.isBrowser || !this.booted) return false;\r\n\r\n    // Selon versions: tac.state / tac.services / tac.cookie\r\n    // Le plus courant: tac.state[service] = true/false\r\n    return !!this.tac?.state?.[service];\r\n  }\r\n  enableRecaptchaV3(siteKey: string): void {\r\n    if (!this.isBrowser || !this.booted) return;\r\n    this.tac.user = this.tac.user || {};\r\n    this.tac.user.recaptchaapi = siteKey;\r\n    this.enableJob('recaptcha');\r\n  }\r\n\r\n  enableGA4(measurementId: string): void {\r\n    if (!this.isBrowser || !this.booted) return;\r\n    this.tac.user = this.tac.user || {};\r\n    this.tac.user.gtagUa = measurementId;\r\n    this.enableJob('gtag');\r\n  }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport {myInfo} from '../../data/my-data';\r\nimport {RouterLink} from '@angular/router';\r\nimport {TarteaucitronService} from '../../services/tarteaucitron.service';\r\nimport {LucideCodeXml, LucideMail, LucideMapPin} from '@lucide/angular';\r\n\r\n@Component({\r\n  selector: 'app-footer',\r\n  imports: [\r\n    RouterLink,\r\n    LucideMapPin,\r\n    LucideCodeXml,\r\n    LucideMail\r\n  ],\r\n  templateUrl: './footer.component.html',\r\n  styleUrl: './footer.component.sass'\r\n})\r\nexport class FooterComponent {\r\n  constructor(private tac:TarteaucitronService) {\r\n  }\r\n\r\n  openTacPanel() {\r\n    this.tac.openPanel();\r\n  }\r\n   protected readonly myData = myInfo;\r\n  readonly currentYear = new Date().getFullYear();\r\n}\r\n","<!-- shared/components/footer/footer.component.html -->\r\n<footer class=\"footer\">\r\n  <div class=\"footer__top-gradient\" aria-hidden=\"true\"></div>\r\n\r\n  <div class=\"footer__container\">\r\n    <div class=\"footer__grid\">\r\n      <!-- Col 1 : À propos -->\r\n      <div class=\"footer__col footer__about\">\r\n        <div class=\"footer__brand\" aria-label=\"Cristian TUDOROIU , Développeur Web Freelance\">\r\n          <span class=\"highlight\">Cristian</span> TUDOROIU<span class=\"footer__brand-dot\">.</span>\r\n        </div>\r\n\r\n        <p class=\"footer__text\">\r\n          Développeur web freelance passionné, spécialisé dans la création de\r\n          sites web performants, esthétiques et sur mesure pour les entreprises\r\n          ambitieuses.\r\n        </p>\r\n\r\n        <div class=\"footer__socials\">\r\n          <a\r\n            class=\"footer__social\"\r\n            [href]=\"myData.linkedinLink\"\r\n            aria-label=\"LinkedIn\"\r\n          >\r\n            <!-- Remplace par ton système d’icônes (lucide/angular-material/svg) -->\r\n            <span class=\"footer__icon\" aria-hidden=\"true\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 640 640\" fill=\"currentColor\"><path d=\"M196.3 512L103.4 512L103.4 212.9L196.3 212.9L196.3 512zM149.8 172.1C120.1 172.1 96 147.5 96 117.8C96 103.5 101.7 89.9 111.8 79.8C121.9 69.7 135.6 64 149.8 64C164 64 177.7 69.7 187.8 79.8C197.9 89.9 203.6 103.6 203.6 117.8C203.6 147.5 179.5 172.1 149.8 172.1zM543.9 512L451.2 512L451.2 366.4C451.2 331.7 450.5 287.2 402.9 287.2C354.6 287.2 347.2 324.9 347.2 363.9L347.2 512L254.4 512L254.4 212.9L343.5 212.9L343.5 253.7L344.8 253.7C357.2 230.2 387.5 205.4 432.7 205.4C526.7 205.4 544 267.3 544 347.7L544 512L543.9 512z\"/></svg></span>\r\n          </a>\r\n\r\n          <a\r\n            class=\"footer__social\"\r\n            [href]=\"myData.githubLink\"\r\n            aria-label=\"GitHub\"\r\n          >\r\n            <span class=\"footer__icon\" aria-hidden=\"true\"><svg xmlns=\"http://www.w3.org/2000/svg\"  width=\"24\" height=\"24\" viewBox=\"0 0 640 640\" fill=\"currentColor\"><path d=\"M237.9 461.4C237.9 463.4 235.6 465 232.7 465C229.4 465.3 227.1 463.7 227.1 461.4C227.1 459.4 229.4 457.8 232.3 457.8C235.3 457.5 237.9 459.1 237.9 461.4zM206.8 456.9C206.1 458.9 208.1 461.2 211.1 461.8C213.7 462.8 216.7 461.8 217.3 459.8C217.9 457.8 216 455.5 213 454.6C210.4 453.9 207.5 454.9 206.8 456.9zM251 455.2C248.1 455.9 246.1 457.8 246.4 460.1C246.7 462.1 249.3 463.4 252.3 462.7C255.2 462 257.2 460.1 256.9 458.1C256.6 456.2 253.9 454.9 251 455.2zM316.8 72C178.1 72 72 177.3 72 316C72 426.9 141.8 521.8 241.5 555.2C254.3 557.5 258.8 549.6 258.8 543.1C258.8 536.9 258.5 502.7 258.5 481.7C258.5 481.7 188.5 496.7 173.8 451.9C173.8 451.9 162.4 422.8 146 415.3C146 415.3 123.1 399.6 147.6 399.9C147.6 399.9 172.5 401.9 186.2 425.7C208.1 464.3 244.8 453.2 259.1 446.6C261.4 430.6 267.9 419.5 275.1 412.9C219.2 406.7 162.8 398.6 162.8 302.4C162.8 274.9 170.4 261.1 186.4 243.5C183.8 237 175.3 210.2 189 175.6C209.9 169.1 258 202.6 258 202.6C278 197 299.5 194.1 320.8 194.1C342.1 194.1 363.6 197 383.6 202.6C383.6 202.6 431.7 169 452.6 175.6C466.3 210.3 457.8 237 455.2 243.5C471.2 261.2 481 275 481 302.4C481 398.9 422.1 406.6 366.2 412.9C375.4 420.8 383.2 435.8 383.2 459.3C383.2 493 382.9 534.7 382.9 542.9C382.9 549.4 387.5 557.3 400.2 555C500.2 521.8 568 426.9 568 316C568 177.3 455.5 72 316.8 72zM169.2 416.9C167.9 417.9 168.2 420.2 169.9 422.1C171.5 423.7 173.8 424.4 175.1 423.1C176.4 422.1 176.1 419.8 174.4 417.9C172.8 416.3 170.5 415.6 169.2 416.9zM158.4 408.8C157.7 410.1 158.7 411.7 160.7 412.7C162.3 413.7 164.3 413.4 165 412C165.7 410.7 164.7 409.1 162.7 408.1C160.7 407.5 159.1 407.8 158.4 408.8zM190.8 444.4C189.2 445.7 189.8 448.7 192.1 450.6C194.4 452.9 197.3 453.2 198.6 451.6C199.9 450.3 199.3 447.3 197.3 445.4C195.1 443.1 192.1 442.8 190.8 444.4zM179.4 429.7C177.8 430.7 177.8 433.3 179.4 435.6C181 437.9 183.7 438.9 185 437.9C186.6 436.6 186.6 434 185 431.7C183.6 429.4 181 428.4 179.4 429.7z\"/></svg></span>\r\n          </a>\r\n          <a href=\"{{myData.googleLink}}\" target=\"_blank\" rel=\"noopener\" class=\"footer__social\"\r\n             aria-label=\"Mon Linkedin\"><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\" width=\"24\" height=\"24\" fill=\"currentColor\"><path d=\"M564 325.8C564 467.3 467.1 568 324 568C186.8 568 76 457.2 76 320C76 182.8 186.8 72 324 72C390.8 72 447 96.5 490.3 136.9L422.8 201.8C334.5 116.6 170.3 180.6 170.3 320C170.3 406.5 239.4 476.6 324 476.6C422.2 476.6 459 406.2 464.8 369.7L324 369.7L324 284.4L560.1 284.4C562.4 297.1 564 309.3 564 325.8z\"/></svg></a>\r\n        </div>\r\n      </div>\r\n\r\n      <!-- Col 2 : Services -->\r\n      <div class=\"footer__col\">\r\n        <h3 class=\"footer__title\">Services</h3>\r\n\r\n        <ul class=\"footer__list\">\r\n          <li class=\"footer__item\">\r\n            <a class=\"footer__link\" href=\"#\">\r\n              <span class=\"footer__link-line\" aria-hidden=\"true\"></span>\r\n              Création de site vitrine\r\n            </a>\r\n          </li>\r\n\r\n          <li class=\"footer__item\">\r\n            <a class=\"footer__link\" href=\"#\">\r\n              <span class=\"footer__link-line\" aria-hidden=\"true\"></span>\r\n              Boutique E-commerce\r\n            </a>\r\n          </li>\r\n\r\n          <li class=\"footer__item\">\r\n            <a class=\"footer__link\" href=\"#\">\r\n              <span class=\"footer__link-line\" aria-hidden=\"true\"></span>\r\n              Refonte de site web\r\n            </a>\r\n          </li>\r\n\r\n          <li class=\"footer__item\">\r\n            <a class=\"footer__link\" href=\"#\">\r\n              <span class=\"footer__link-line\" aria-hidden=\"true\"></span>\r\n              Maintenance &amp; Sécurité\r\n            </a>\r\n          </li>\r\n\r\n          <li class=\"footer__item\">\r\n            <a class=\"footer__link\" href=\"#\">\r\n              <span class=\"footer__link-line\" aria-hidden=\"true\"></span>\r\n              Optimisation SEO\r\n            </a>\r\n          </li>\r\n        </ul>\r\n      </div>\r\n\r\n      <!-- Col 3 : Zone d'intervention -->\r\n      <div class=\"footer__col\">\r\n        <h3 class=\"footer__title\">Zone d'intervention</h3>\r\n\r\n        <ul class=\"footer__list footer__list--plain\">\r\n          <li class=\"footer__place\">\r\n            <span class=\"footer__pin\" aria-hidden=\"true\"><svg lucideMapPin></svg></span>\r\n            <span>Pau &amp; Béarn (Présentiel)</span>\r\n          </li>\r\n          <li class=\"footer__place\">\r\n            <span class=\"footer__pin\" aria-hidden=\"true\"><svg lucideMapPin></svg></span>\r\n            <span>Nouvelle-Aquitaine</span>\r\n          </li>\r\n          <li class=\"footer__place\">\r\n            <span class=\"footer__pin\" aria-hidden=\"true\"><svg lucideMapPin></svg></span>\r\n            <span>France entière (100% Remote)</span>\r\n          </li>\r\n          <li class=\"footer__place\">\r\n            <span class=\"footer__pin\" aria-hidden=\"true\"><svg lucideMapPin></svg></span>\r\n            <span>International (Anglophone)</span>\r\n          </li>\r\n        </ul>\r\n      </div>\r\n\r\n      <!-- Col 4 : Contact & légal -->\r\n      <div class=\"footer__col\">\r\n        <h3 class=\"footer__title\">Contact &amp; Légal</h3>\r\n\r\n        <ul class=\"footer__list footer__list--plain\">\r\n          <li class=\"footer__item\">\r\n            <a class=\"footer__mail\" [href]=\"'mailto:' + myData.email\">\r\n              <span class=\"footer__mail-icon\" aria-hidden=\"true\"><svg lucideMail></svg></span>\r\n              {{ myData.email }}\r\n            </a>\r\n          </li>\r\n\r\n          <li class=\"footer__legal\">\r\n\r\n            <a class=\"footer__legal-link\"  routerLink=\"/mentions-legales\" target=\"_blank\">\r\n              Mentions légales\r\n            </a>\r\n          </li>\r\n          <li>\r\n            <a class=\"footer__legal-link\" routerLink=\"/politique-de-confidentialite\" target=\"_blank\">Politique de\r\n              confidentialité</a>\r\n          </li>\r\n          <li>\r\n            <a  class=\"footer__legal-link\" routerLink=\"/conditions-generales-prestation\" target=\"_blank\">CGP</a>\r\n          </li>\r\n          <li>\r\n            <a class=\"footer__legal-link\" (click)=\"openTacPanel()\">\r\n              Gérer mes cookies\r\n            </a>\r\n          </li>\r\n        </ul>\r\n      </div>\r\n    </div>\r\n\r\n    <!-- Barre du bas -->\r\n    <div class=\"footer__bottom\">\r\n      <p class=\"footer__copyright\">\r\n        &copy; {{ currentYear }} Développeur Web Freelance. Tous droits réservés.\r\n      </p>\r\n\r\n      <div class=\"footer__signature\">\r\n        <span>Fait avec passion à Pau</span>\r\n        <span class=\"footer__heart\" aria-hidden=\"true\"><svg lucideCodeXml></svg></span>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</footer>\r\n","import { Component, HostListener, Inject, OnInit, PLATFORM_ID } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { isPlatformBrowser, ViewportScroller } from '@angular/common';\r\nimport {LucideArrowRight} from '@lucide/angular';\r\n\r\n@Component({\r\n  selector: 'app-floating-helper',\r\n  standalone: true,\r\n  templateUrl: './floating-helper.component.html',\r\n  imports: [\r\n    LucideArrowRight\r\n  ],\r\n  styleUrl: './floating-helper.component.sass'\r\n})\r\nexport class FloatingHelperComponent implements OnInit {\r\n\r\n  isVisible = false;\r\n  private isBrowser: boolean;\r\n  private ticking = false;\r\n  private canShow = true;\r\n\r\n  constructor(\r\n    private router: Router,\r\n    private viewPortScroller: ViewportScroller,\r\n    @Inject(PLATFORM_ID) private platformId: Object\r\n  ) {\r\n    this.isBrowser = isPlatformBrowser(this.platformId);\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    if (!this.isBrowser) return;\r\n\r\n    this.canShow = this.shouldShowHelper();\r\n  }\r\n\r\n  @HostListener('window:scroll', [])\r\n  onScroll(): void {\r\n    if (!this.isBrowser || this.ticking || !this.canShow) return;\r\n\r\n    this.ticking = true;\r\n\r\n    requestAnimationFrame(() => {\r\n      try {\r\n        const scrollPosition = window.scrollY;\r\n        const triggerPoint = window.innerHeight * 0.2;\r\n\r\n        this.isVisible = scrollPosition > triggerPoint && !this.isContactVisible();  // ← ajouter ça\r\n\r\n      } finally {\r\n        this.ticking = false;\r\n      }\r\n    });\r\n  }\r\n\r\n  private isContactVisible(): boolean {\r\n    const anchor = this.router.url.startsWith('/landing-page') ? 'contact-landing-page' : 'contact';\r\n    const el = document.getElementById(anchor);\r\n    if (!el) return false;\r\n\r\n    const rect = el.getBoundingClientRect();\r\n    return rect.top < window.innerHeight && rect.bottom > 0;  // section dans le viewport\r\n  }\r\n\r\n  contact(): void {\r\n    if (!this.isBrowser) return;\r\n\r\n    const anchor = this.router.url.startsWith('/landing-page')\r\n      ? 'contact-landing-page'\r\n      : 'contact';\r\n\r\n    this.viewPortScroller.scrollToAnchor(anchor);\r\n  }\r\n\r\n  close(): void {\r\n    this.isVisible = false;\r\n    this.canShow = false;\r\n    if (this.isBrowser) {\r\n      localStorage.setItem('helperClosed', JSON.stringify({\r\n        closedAt: Date.now()\r\n      }));\r\n    }\r\n  }\r\n\r\n  shouldShowHelper(): boolean {\r\n    if (!this.isBrowser) return false;\r\n\r\n    const raw = localStorage.getItem('helperClosed');\r\n    if (!raw) return true;\r\n\r\n    try {\r\n      const data = JSON.parse(raw);\r\n\r\n      const now = Date.now();\r\n      const delay = 1000; // 24\r\n\r\n      return (now - data.closedAt) > delay;\r\n\r\n    } catch {\r\n      return true; // fallback safe\r\n    }\r\n  }\r\n}\r\n","<div class=\"helper-container\" [class.visible]=\"isVisible\">\r\n  <div class=\"bubble\">\r\n    <button class=\"close-btn\" (click)=\"close()\" aria-label=\"Fermer l'assistant\">\r\n      <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\">\r\n        <path d=\"M6 6L18 18M6 18L18 6\" stroke=\"currentColor\" stroke-width=\"2\" />\r\n      </svg>\r\n    </button>\r\n\r\n    <p class=\"title\">\r\n      Un projet en tête ?\r\n\r\n    </p>\r\n\r\n    <button class=\"contact-button\" (click)=\"contact()\">On en parle <svg lucideArrowRight></svg></button>\r\n  </div>\r\n\r\n  <img src=\"assets/img/helper-no-bg-resized.webp\" alt=\"Assistant\" class=\"avatar\" width=\"256\" height=\"256\" />\r\n</div>\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n// THIS CODE IS GENERATED - DO NOT MODIFY.\nconst u = undefined;\nfunction plural(val) {\n  const n = val,\n    i = Math.floor(Math.abs(val)),\n    v = val.toString().replace(/^[^.]*\\.?/, '').length,\n    e = parseInt(val.toString().replace(/^[^e]*(e([-+]?\\d+))?/, '$2')) || 0;\n  if (i === 0 || i === 1) return 1;\n  if (e === 0 && !(i === 0) && i % 1000000 === 0 && v === 0 || !(e >= 0 && e <= 5)) return 4;\n  return 5;\n}\nexport default [\"fr\", [[\"AM\", \"PM\"], u, u], u, [[\"D\", \"L\", \"M\", \"M\", \"J\", \"V\", \"S\"], [\"dim.\", \"lun.\", \"mar.\", \"mer.\", \"jeu.\", \"ven.\", \"sam.\"], [\"dimanche\", \"lundi\", \"mardi\", \"mercredi\", \"jeudi\", \"vendredi\", \"samedi\"], [\"di\", \"lu\", \"ma\", \"me\", \"je\", \"ve\", \"sa\"]], u, [[\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"], [\"janv.\", \"févr.\", \"mars\", \"avr.\", \"mai\", \"juin\", \"juil.\", \"août\", \"sept.\", \"oct.\", \"nov.\", \"déc.\"], [\"janvier\", \"février\", \"mars\", \"avril\", \"mai\", \"juin\", \"juillet\", \"août\", \"septembre\", \"octobre\", \"novembre\", \"décembre\"]], u, [[\"av. J.-C.\", \"ap. J.-C.\"], u, [\"avant Jésus-Christ\", \"après Jésus-Christ\"]], 1, [6, 0], [\"dd/MM/y\", \"d MMM y\", \"d MMMM y\", \"EEEE d MMMM y\"], [\"HH:mm\", \"HH:mm:ss\", \"HH:mm:ss z\", \"HH:mm:ss zzzz\"], [\"{1} {0}\", \"{1}, {0}\", \"{1} 'à' {0}\", u], [\",\", \" \", \";\", \"%\", \"+\", \"-\", \"E\", \"×\", \"‰\", \"∞\", \"NaN\", \":\"], [\"#,##0.###\", \"#,##0 %\", \"#,##0.00 ¤\", \"#E0\"], \"EUR\", \"€\", \"euro\", {\n  \"ARS\": [\"$AR\", \"$\"],\n  \"AUD\": [\"$AU\", \"$\"],\n  \"BEF\": [\"FB\"],\n  \"BMD\": [\"$BM\", \"$\"],\n  \"BND\": [\"$BN\", \"$\"],\n  \"BYN\": [u, \"р.\"],\n  \"BZD\": [\"$BZ\", \"$\"],\n  \"CAD\": [\"$CA\", \"$\"],\n  \"CLP\": [\"$CL\", \"$\"],\n  \"CNY\": [u, \"¥\"],\n  \"COP\": [\"$CO\", \"$\"],\n  \"CYP\": [\"£CY\"],\n  \"EGP\": [u, \"£E\"],\n  \"FJD\": [\"$FJ\", \"$\"],\n  \"FKP\": [\"£FK\", \"£\"],\n  \"FRF\": [\"F\"],\n  \"GBP\": [\"£GB\", \"£\"],\n  \"GIP\": [\"£GI\", \"£\"],\n  \"HKD\": [u, \"$\"],\n  \"IEP\": [\"£IE\"],\n  \"ILP\": [\"£IL\"],\n  \"ITL\": [\"₤IT\"],\n  \"JPY\": [u, \"¥\"],\n  \"KMF\": [u, \"FC\"],\n  \"LBP\": [\"£LB\", \"£L\"],\n  \"MTP\": [\"£MT\"],\n  \"MXN\": [\"$MX\", \"$\"],\n  \"NAD\": [\"$NA\", \"$\"],\n  \"NIO\": [u, \"$C\"],\n  \"NZD\": [\"$NZ\", \"$\"],\n  \"PHP\": [u, \"₱\"],\n  \"RHD\": [\"$RH\"],\n  \"RON\": [u, \"L\"],\n  \"RWF\": [u, \"FR\"],\n  \"SBD\": [\"$SB\", \"$\"],\n  \"SGD\": [\"$SG\", \"$\"],\n  \"SRD\": [\"$SR\", \"$\"],\n  \"TOP\": [u, \"$T\"],\n  \"TTD\": [\"$TT\", \"$\"],\n  \"TWD\": [u, \"NT$\"],\n  \"USD\": [\"$US\", \"$\"],\n  \"UYU\": [\"$UY\", \"$\"],\n  \"WST\": [\"$WS\"],\n  \"XCD\": [u, \"$\"],\n  \"XPF\": [\"FCFP\"],\n  \"ZMW\": [u, \"Kw\"]\n}, \"ltr\", plural];\n","import {AfterViewInit, Component, HostListener, Inject, inject, OnInit, PLATFORM_ID} from '@angular/core';\r\nimport {NavigationEnd, NavigationStart, Router, RouterOutlet} from '@angular/router';\r\nimport {HeaderComponent} from './core/components/header/header.component';\r\nimport {GoogleAnalyticsService} from './core/services/google-analytics.service';\r\nimport {filter} from 'rxjs';\r\nimport {FooterComponent} from './core/components/footer/footer.component';\r\nimport {TarteaucitronService} from './core/services/tarteaucitron.service';\r\nimport {environment} from '../environment/environment';\r\nimport {FloatingHelperComponent} from './core/components/floating-helper/floating-helper.component';\r\nimport {isPlatformBrowser, registerLocaleData} from '@angular/common';\r\nimport localeFr from '@angular/common/locales/fr';\r\n\r\nregisterLocaleData(localeFr);\r\n\r\n@Component({\r\n  selector: 'app-root',\r\n  imports: [RouterOutlet, HeaderComponent, FooterComponent, FloatingHelperComponent],\r\n  templateUrl: './app.component.html',\r\n  styleUrl: './app.component.sass'\r\n})\r\nexport class AppComponent implements OnInit,AfterViewInit {\r\n\r\n  private router = inject(Router);\r\n  private gaService = inject(GoogleAnalyticsService);\r\n  private tacService = inject(TarteaucitronService);\r\n  private platformId = inject(PLATFORM_ID);\r\n\r\n  title = 'codecraft';\r\n  readingProgress = 0;\r\n  showReadingProgress = false;\r\n\r\n  constructor() {\r\n    this.router.events.subscribe(event => {\r\n\r\n      if (event instanceof NavigationStart) {\r\n        console.log('START', event.url);\r\n      }\r\n\r\n      if (event instanceof NavigationEnd) {\r\n        console.log('END', event.url);\r\n      }\r\n\r\n    });\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.router.events\r\n      .pipe(filter((event): event is NavigationEnd => event instanceof NavigationEnd))\r\n      .subscribe((event) => {\r\n        const url = event.urlAfterRedirects;\r\n        this.gaService.sendPageView(url);\r\n        this.showReadingProgress =\r\n          url.startsWith('/blog/') &&\r\n          url !== '/blog';\r\n\r\n        this.readingProgress = 0;\r\n\r\n        setTimeout(() => this.updateReadingProgress());\r\n      });\r\n\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    if (!isPlatformBrowser(this.platformId)) {\r\n      return;\r\n    }\r\n    requestIdleCallback(() => {\r\n      this.tacService.boot();\r\n    });\r\n  }\r\n\r\n  @HostListener('window:scroll')\r\n  onScroll() {\r\n    this.updateReadingProgress();\r\n  }\r\n\r\n  private updateReadingProgress(): void {\r\n\r\n    if (!this.showReadingProgress) {\r\n      return;\r\n    }\r\n    if (!isPlatformBrowser(this.platformId)) return;\r\n\r\n    const article =\r\n      document.querySelector('.article-content');\r\n\r\n    if (!article) {\r\n      return;\r\n    }\r\n\r\n    const scrollTop =\r\n      window.scrollY;\r\n\r\n    const documentHeight =\r\n      document.documentElement.scrollHeight -\r\n      window.innerHeight;\r\n\r\n    this.readingProgress =\r\n      (scrollTop / documentHeight) * 100;\r\n  }\r\n\r\n  isLandingPage() {\r\n    return this.router.url.startsWith('/landing-page') ;\r\n  }\r\n\r\n  isBlog() {\r\n    return this.router.url === '/blog' || this.router.url.startsWith('/blog/');\r\n  }\r\n\r\n  isBlogArticle() {\r\n    return this.router.url.startsWith('/blog/');\r\n  }\r\n\r\n}\r\n","@if (isBlogArticle()) {\r\n  <div\r\n    class=\"reading-progress\"\r\n    [style.width.%]=\"readingProgress\"\r\n  >\r\n  </div>\r\n}\r\n@if (!isLandingPage()) {\r\n  <app-header></app-header>\r\n}\r\n@if (!isBlog()) {\r\n  <app-floating-helper></app-floating-helper>\r\n}\r\n\r\n<main id=\"main-content\">\r\n  <router-outlet></router-outlet>\r\n</main>\r\n@if (!isLandingPage()) {\r\n  <app-footer></app-footer>\r\n}\r\n","/** Gets whether an event could be a faked `mousedown` event dispatched by a screen reader. */\nfunction isFakeMousedownFromScreenReader(event) {\n  // Some screen readers will dispatch a fake `mousedown` event when pressing enter or space on\n  // a clickable element. We can distinguish these events when `event.buttons` is zero, or\n  // `event.detail` is zero depending on the browser:\n  // - `event.buttons` works on Firefox, but fails on Chrome.\n  // - `detail` works on Chrome, but fails on Firefox.\n  return event.buttons === 0 || event.detail === 0;\n}\n/** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */\nfunction isFakeTouchstartFromScreenReader(event) {\n  const touch = event.touches && event.touches[0] || event.changedTouches && event.changedTouches[0];\n  // A fake `touchstart` can be distinguished from a real one by looking at the `identifier`\n  // which is typically >= 0 on a real device versus -1 from a screen reader. Just to be safe,\n  // we can also look at `radiusX` and `radiusY`. This behavior was observed against a Windows 10\n  // device with a touch screen running NVDA v2020.4 and Firefox 85 or Chrome 88.\n  return !!touch && touch.identifier === -1 && (touch.radiusX == null || touch.radiusX === 1) && (touch.radiusY == null || touch.radiusY === 1);\n}\nexport { isFakeTouchstartFromScreenReader as a, isFakeMousedownFromScreenReader as i };\n","let shadowDomIsSupported;\n/** Checks whether the user's browser support Shadow DOM. */\nfunction _supportsShadowDom() {\n  if (shadowDomIsSupported == null) {\n    const head = typeof document !== 'undefined' ? document.head : null;\n    shadowDomIsSupported = !!(head && (head.createShadowRoot || head.attachShadow));\n  }\n  return shadowDomIsSupported;\n}\n/** Gets the shadow root of an element, if supported and the element is inside the Shadow DOM. */\nfunction _getShadowRoot(element) {\n  if (_supportsShadowDom()) {\n    const rootNode = element.getRootNode ? element.getRootNode() : null;\n    // Note that this should be caught by `_supportsShadowDom`, but some\n    // teams have been able to hit this code path on unsupported browsers.\n    if (typeof ShadowRoot !== 'undefined' && ShadowRoot && rootNode instanceof ShadowRoot) {\n      return rootNode;\n    }\n  }\n  return null;\n}\n/**\n * Gets the currently-focused element on the page while\n * also piercing through Shadow DOM boundaries.\n */\nfunction _getFocusedElementPierceShadowDom() {\n  let activeElement = typeof document !== 'undefined' && document ? document.activeElement : null;\n  while (activeElement && activeElement.shadowRoot) {\n    const newActiveElement = activeElement.shadowRoot.activeElement;\n    if (newActiveElement === activeElement) {\n      break;\n    } else {\n      activeElement = newActiveElement;\n    }\n  }\n  return activeElement;\n}\n/** Gets the target of an event while accounting for Shadow DOM. */\nfunction _getEventTarget(event) {\n  // If an event is bound outside the Shadow DOM, the `event.target` will\n  // point to the shadow root so we have to use `composedPath` instead.\n  return event.composedPath ? event.composedPath()[0] : event.target;\n}\nexport { _getEventTarget as _, _getShadowRoot as a, _supportsShadowDom as b, _getFocusedElementPierceShadowDom as c };\n","import { VERSION } from '@angular/core';\n\n// TODO(crisbeto): remove this function when making breaking changes for v20.\n/**\n * Binds an event listener with specific options in a backwards-compatible way.\n * This function is necessary, because `Renderer2.listen` only supports listener options\n * after 19.1 and during the v19 period we support any 19.x version.\n * @docs-private\n */\nfunction _bindEventWithOptions(renderer, target, eventName, callback, options) {\n  const major = parseInt(VERSION.major);\n  const minor = parseInt(VERSION.minor);\n  // Event options in `listen` are only supported in 19.1 and beyond.\n  // We also allow 0.0.x, because that indicates a build at HEAD.\n  if (major > 19 || major === 19 && minor > 0 || major === 0 && minor === 0) {\n    return renderer.listen(target, eventName, callback, options);\n  }\n  target.addEventListener(eventName, callback, options);\n  return () => {\n    target.removeEventListener(eventName, callback, options);\n  };\n}\nexport { _bindEventWithOptions as _ };\n","import * as i0 from '@angular/core';\nimport { inject, PLATFORM_ID, Injectable } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nlet hasV8BreakIterator;\n// We need a try/catch around the reference to `Intl`, because accessing it in some cases can\n// cause IE to throw. These cases are tied to particular versions of Windows and can happen if\n// the consumer is providing a polyfilled `Map`. See:\n// https://github.com/Microsoft/ChakraCore/issues/3189\n// https://github.com/angular/components/issues/15687\ntry {\n  hasV8BreakIterator = typeof Intl !== 'undefined' && Intl.v8BreakIterator;\n} catch {\n  hasV8BreakIterator = false;\n}\n/**\n * Service to detect the current platform by comparing the userAgent strings and\n * checking browser-specific global properties.\n */\nlet Platform = /*#__PURE__*/(() => {\n  class Platform {\n    _platformId = inject(PLATFORM_ID);\n    // We want to use the Angular platform check because if the Document is shimmed\n    // without the navigator, the following checks will fail. This is preferred because\n    // sometimes the Document may be shimmed without the user's knowledge or intention\n    /** Whether the Angular application is being rendered in the browser. */\n    isBrowser = this._platformId ? isPlatformBrowser(this._platformId) : typeof document === 'object' && !!document;\n    /** Whether the current browser is Microsoft Edge. */\n    EDGE = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n    /** Whether the current rendering engine is Microsoft Trident. */\n    TRIDENT = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n    // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n    /** Whether the current rendering engine is Blink. */\n    BLINK = this.isBrowser && !!(window.chrome || hasV8BreakIterator) && typeof CSS !== 'undefined' && !this.EDGE && !this.TRIDENT;\n    // Webkit is part of the userAgent in EdgeHTML, Blink and Trident. Therefore we need to\n    // ensure that Webkit runs standalone and is not used as another engine's base.\n    /** Whether the current rendering engine is WebKit. */\n    WEBKIT = this.isBrowser && /AppleWebKit/i.test(navigator.userAgent) && !this.BLINK && !this.EDGE && !this.TRIDENT;\n    /** Whether the current platform is Apple iOS. */\n    IOS = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) && !('MSStream' in window);\n    // It's difficult to detect the plain Gecko engine, because most of the browsers identify\n    // them self as Gecko-like browsers and modify the userAgent's according to that.\n    // Since we only cover one explicit Firefox case, we can simply check for Firefox\n    // instead of having an unstable check for Gecko.\n    /** Whether the current browser is Firefox. */\n    FIREFOX = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n    /** Whether the current platform is Android. */\n    // Trident on mobile adds the android platform to the userAgent to trick detections.\n    ANDROID = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;\n    // Safari browsers will include the Safari keyword in their userAgent. Some browsers may fake\n    // this and just place the Safari keyword in the userAgent. To be more safe about Safari every\n    // Safari browser should also use Webkit as its layout engine.\n    /** Whether the current browser is Safari. */\n    SAFARI = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n    constructor() {}\n    static ɵfac = function Platform_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || Platform)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: Platform,\n      factory: Platform.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return Platform;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { Platform as P };\n","/** Cached result of whether the user's browser supports passive event listeners. */\nlet supportsPassiveEvents;\n/**\n * Checks whether the user's browser supports passive event listeners.\n * See: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n */\nfunction supportsPassiveEventListeners() {\n  if (supportsPassiveEvents == null && typeof window !== 'undefined') {\n    try {\n      window.addEventListener('test', null, Object.defineProperty({}, 'passive', {\n        get: () => supportsPassiveEvents = true\n      }));\n    } finally {\n      supportsPassiveEvents = supportsPassiveEvents || false;\n    }\n  }\n  return supportsPassiveEvents;\n}\n/**\n * Normalizes an `AddEventListener` object to something that can be passed\n * to `addEventListener` on any browser, no matter whether it supports the\n * `options` parameter.\n * @param options Object to be normalized.\n */\nfunction normalizePassiveListenerOptions(options) {\n  return supportsPassiveEventListeners() ? options : !!options.capture;\n}\nexport { normalizePassiveListenerOptions as n, supportsPassiveEventListeners as s };\n","import { ElementRef } from '@angular/core';\nfunction coerceNumberProperty(value, fallbackValue = 0) {\n  if (_isNumberValue(value)) {\n    return Number(value);\n  }\n  return arguments.length === 2 ? fallbackValue : 0;\n}\n/**\n * Whether the provided value is considered a number.\n * @docs-private\n */\nfunction _isNumberValue(value) {\n  // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,\n  // and other non-number values as NaN, where Number just uses 0) but it considers the string\n  // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.\n  return !isNaN(parseFloat(value)) && !isNaN(Number(value));\n}\n\n/**\n * Coerces an ElementRef or an Element into an element.\n * Useful for APIs that can accept either a ref or the native element itself.\n */\nfunction coerceElement(elementOrRef) {\n  return elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\n}\nexport { _isNumberValue as _, coerceElement as a, coerceNumberProperty as c };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, NgZone, RendererFactory2, Injectable, ElementRef, EventEmitter, Directive, Output } from '@angular/core';\nimport { BehaviorSubject, Subject, of } from 'rxjs';\nimport { skip, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { DOCUMENT } from '@angular/common';\nimport { i as isFakeMousedownFromScreenReader, a as isFakeTouchstartFromScreenReader } from './fake-event-detection-DWOdFTFz.mjs';\nimport { d as ALT, C as CONTROL, M as MAC_META, e as META, f as SHIFT } from './keycodes-CpHkExLC.mjs';\nimport { _ as _getEventTarget, a as _getShadowRoot } from './shadow-dom-B0oHn41l.mjs';\nimport { _ as _bindEventWithOptions } from './backwards-compatibility-DHR38MsD.mjs';\nimport { P as Platform } from './platform-DmdVEw_C.mjs';\nimport { n as normalizePassiveListenerOptions } from './passive-listeners-esHZRgIN.mjs';\nimport { a as coerceElement } from './element-x4z00URv.mjs';\n\n/**\n * Injectable options for the InputModalityDetector. These are shallowly merged with the default\n * options.\n */\nconst INPUT_MODALITY_DETECTOR_OPTIONS = /*#__PURE__*/new InjectionToken('cdk-input-modality-detector-options');\n/**\n * Default options for the InputModalityDetector.\n *\n * Modifier keys are ignored by default (i.e. when pressed won't cause the service to detect\n * keyboard input modality) for two reasons:\n *\n * 1. Modifier keys are commonly used with mouse to perform actions such as 'right click' or 'open\n *    in new tab', and are thus less representative of actual keyboard interaction.\n * 2. VoiceOver triggers some keyboard events when linearly navigating with Control + Option (but\n *    confusingly not with Caps Lock). Thus, to have parity with other screen readers, we ignore\n *    these keys so as to not update the input modality.\n *\n * Note that we do not by default ignore the right Meta key on Safari because it has the same key\n * code as the ContextMenu key on other browsers. When we switch to using event.key, we can\n * distinguish between the two.\n */\nconst INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS = {\n  ignoreKeys: [ALT, CONTROL, MAC_META, META, SHIFT]\n};\n/**\n * The amount of time needed to pass after a touchstart event in order for a subsequent mousedown\n * event to be attributed as mouse and not touch.\n *\n * This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found\n * that a value of around 650ms seems appropriate.\n */\nconst TOUCH_BUFFER_MS = 650;\n/**\n * Event listener options that enable capturing and also mark the listener as passive if the browser\n * supports it.\n */\nconst modalityEventListenerOptions = {\n  passive: true,\n  capture: true\n};\n/**\n * Service that detects the user's input modality.\n *\n * This service does not update the input modality when a user navigates with a screen reader\n * (e.g. linear navigation with VoiceOver, object navigation / browse mode with NVDA, virtual PC\n * cursor mode with JAWS). This is in part due to technical limitations (i.e. keyboard events do not\n * fire as expected in these modes) but is also arguably the correct behavior. Navigating with a\n * screen reader is akin to visually scanning a page, and should not be interpreted as actual user\n * input interaction.\n *\n * When a user is not navigating but *interacting* with a screen reader, this service attempts to\n * update the input modality to keyboard, but in general this service's behavior is largely\n * undefined.\n */\nlet InputModalityDetector = /*#__PURE__*/(() => {\n  class InputModalityDetector {\n    _platform = inject(Platform);\n    _listenerCleanups;\n    /** Emits whenever an input modality is detected. */\n    modalityDetected;\n    /** Emits when the input modality changes. */\n    modalityChanged;\n    /** The most recently detected input modality. */\n    get mostRecentModality() {\n      return this._modality.value;\n    }\n    /**\n     * The most recently detected input modality event target. Is null if no input modality has been\n     * detected or if the associated event target is null for some unknown reason.\n     */\n    _mostRecentTarget = null;\n    /** The underlying BehaviorSubject that emits whenever an input modality is detected. */\n    _modality = new BehaviorSubject(null);\n    /** Options for this InputModalityDetector. */\n    _options;\n    /**\n     * The timestamp of the last touch input modality. Used to determine whether mousedown events\n     * should be attributed to mouse or touch.\n     */\n    _lastTouchMs = 0;\n    /**\n     * Handles keydown events. Must be an arrow function in order to preserve the context when it gets\n     * bound.\n     */\n    _onKeydown = event => {\n      // If this is one of the keys we should ignore, then ignore it and don't update the input\n      // modality to keyboard.\n      if (this._options?.ignoreKeys?.some(keyCode => keyCode === event.keyCode)) {\n        return;\n      }\n      this._modality.next('keyboard');\n      this._mostRecentTarget = _getEventTarget(event);\n    };\n    /**\n     * Handles mousedown events. Must be an arrow function in order to preserve the context when it\n     * gets bound.\n     */\n    _onMousedown = event => {\n      // Touches trigger both touch and mouse events, so we need to distinguish between mouse events\n      // that were triggered via mouse vs touch. To do so, check if the mouse event occurs closely\n      // after the previous touch event.\n      if (Date.now() - this._lastTouchMs < TOUCH_BUFFER_MS) {\n        return;\n      }\n      // Fake mousedown events are fired by some screen readers when controls are activated by the\n      // screen reader. Attribute them to keyboard input modality.\n      this._modality.next(isFakeMousedownFromScreenReader(event) ? 'keyboard' : 'mouse');\n      this._mostRecentTarget = _getEventTarget(event);\n    };\n    /**\n     * Handles touchstart events. Must be an arrow function in order to preserve the context when it\n     * gets bound.\n     */\n    _onTouchstart = event => {\n      // Same scenario as mentioned in _onMousedown, but on touch screen devices, fake touchstart\n      // events are fired. Again, attribute to keyboard input modality.\n      if (isFakeTouchstartFromScreenReader(event)) {\n        this._modality.next('keyboard');\n        return;\n      }\n      // Store the timestamp of this touch event, as it's used to distinguish between mouse events\n      // triggered via mouse vs touch.\n      this._lastTouchMs = Date.now();\n      this._modality.next('touch');\n      this._mostRecentTarget = _getEventTarget(event);\n    };\n    constructor() {\n      const ngZone = inject(NgZone);\n      const document = inject(DOCUMENT);\n      const options = inject(INPUT_MODALITY_DETECTOR_OPTIONS, {\n        optional: true\n      });\n      this._options = {\n        ...INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS,\n        ...options\n      };\n      // Skip the first emission as it's null.\n      this.modalityDetected = this._modality.pipe(skip(1));\n      this.modalityChanged = this.modalityDetected.pipe(distinctUntilChanged());\n      // If we're not in a browser, this service should do nothing, as there's no relevant input\n      // modality to detect.\n      if (this._platform.isBrowser) {\n        const renderer = inject(RendererFactory2).createRenderer(null, null);\n        this._listenerCleanups = ngZone.runOutsideAngular(() => {\n          return [_bindEventWithOptions(renderer, document, 'keydown', this._onKeydown, modalityEventListenerOptions), _bindEventWithOptions(renderer, document, 'mousedown', this._onMousedown, modalityEventListenerOptions), _bindEventWithOptions(renderer, document, 'touchstart', this._onTouchstart, modalityEventListenerOptions)];\n        });\n      }\n    }\n    ngOnDestroy() {\n      this._modality.complete();\n      this._listenerCleanups?.forEach(cleanup => cleanup());\n    }\n    static ɵfac = function InputModalityDetector_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || InputModalityDetector)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: InputModalityDetector,\n      factory: InputModalityDetector.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return InputModalityDetector;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Detection mode used for attributing the origin of a focus event. */\nvar FocusMonitorDetectionMode = /*#__PURE__*/function (FocusMonitorDetectionMode) {\n  /**\n   * Any mousedown, keydown, or touchstart event that happened in the previous\n   * tick or the current tick will be used to assign a focus event's origin (to\n   * either mouse, keyboard, or touch). This is the default option.\n   */\n  FocusMonitorDetectionMode[FocusMonitorDetectionMode[\"IMMEDIATE\"] = 0] = \"IMMEDIATE\";\n  /**\n   * A focus event's origin is always attributed to the last corresponding\n   * mousedown, keydown, or touchstart event, no matter how long ago it occurred.\n   */\n  FocusMonitorDetectionMode[FocusMonitorDetectionMode[\"EVENTUAL\"] = 1] = \"EVENTUAL\";\n  return FocusMonitorDetectionMode;\n}(FocusMonitorDetectionMode || {});\n/** InjectionToken for FocusMonitorOptions. */\nconst FOCUS_MONITOR_DEFAULT_OPTIONS = /*#__PURE__*/new InjectionToken('cdk-focus-monitor-default-options');\n/**\n * Event listener options that enable capturing and also\n * mark the listener as passive if the browser supports it.\n */\nconst captureEventListenerOptions = /*#__PURE__*/normalizePassiveListenerOptions({\n  passive: true,\n  capture: true\n});\n/** Monitors mouse and keyboard events to determine the cause of focus events. */\nlet FocusMonitor = /*#__PURE__*/(() => {\n  class FocusMonitor {\n    _ngZone = inject(NgZone);\n    _platform = inject(Platform);\n    _inputModalityDetector = inject(InputModalityDetector);\n    /** The focus origin that the next focus event is a result of. */\n    _origin = null;\n    /** The FocusOrigin of the last focus event tracked by the FocusMonitor. */\n    _lastFocusOrigin;\n    /** Whether the window has just been focused. */\n    _windowFocused = false;\n    /** The timeout id of the window focus timeout. */\n    _windowFocusTimeoutId;\n    /** The timeout id of the origin clearing timeout. */\n    _originTimeoutId;\n    /**\n     * Whether the origin was determined via a touch interaction. Necessary as properly attributing\n     * focus events to touch interactions requires special logic.\n     */\n    _originFromTouchInteraction = false;\n    /** Map of elements being monitored to their info. */\n    _elementInfo = new Map();\n    /** The number of elements currently being monitored. */\n    _monitoredElementCount = 0;\n    /**\n     * Keeps track of the root nodes to which we've currently bound a focus/blur handler,\n     * as well as the number of monitored elements that they contain. We have to treat focus/blur\n     * handlers differently from the rest of the events, because the browser won't emit events\n     * to the document when focus moves inside of a shadow root.\n     */\n    _rootNodeFocusListenerCount = new Map();\n    /**\n     * The specified detection mode, used for attributing the origin of a focus\n     * event.\n     */\n    _detectionMode;\n    /**\n     * Event listener for `focus` events on the window.\n     * Needs to be an arrow function in order to preserve the context when it gets bound.\n     */\n    _windowFocusListener = () => {\n      // Make a note of when the window regains focus, so we can\n      // restore the origin info for the focused element.\n      this._windowFocused = true;\n      this._windowFocusTimeoutId = setTimeout(() => this._windowFocused = false);\n    };\n    /** Used to reference correct document/window */\n    _document = inject(DOCUMENT, {\n      optional: true\n    });\n    /** Subject for stopping our InputModalityDetector subscription. */\n    _stopInputModalityDetector = new Subject();\n    constructor() {\n      const options = inject(FOCUS_MONITOR_DEFAULT_OPTIONS, {\n        optional: true\n      });\n      this._detectionMode = options?.detectionMode || FocusMonitorDetectionMode.IMMEDIATE;\n    }\n    /**\n     * Event listener for `focus` and 'blur' events on the document.\n     * Needs to be an arrow function in order to preserve the context when it gets bound.\n     */\n    _rootNodeFocusAndBlurListener = event => {\n      const target = _getEventTarget(event);\n      // We need to walk up the ancestor chain in order to support `checkChildren`.\n      for (let element = target; element; element = element.parentElement) {\n        if (event.type === 'focus') {\n          this._onFocus(event, element);\n        } else {\n          this._onBlur(event, element);\n        }\n      }\n    };\n    monitor(element, checkChildren = false) {\n      const nativeElement = coerceElement(element);\n      // Do nothing if we're not on the browser platform or the passed in node isn't an element.\n      if (!this._platform.isBrowser || nativeElement.nodeType !== 1) {\n        // Note: we don't want the observable to emit at all so we don't pass any parameters.\n        return of();\n      }\n      // If the element is inside the shadow DOM, we need to bind our focus/blur listeners to\n      // the shadow root, rather than the `document`, because the browser won't emit focus events\n      // to the `document`, if focus is moving within the same shadow root.\n      const rootNode = _getShadowRoot(nativeElement) || this._getDocument();\n      const cachedInfo = this._elementInfo.get(nativeElement);\n      // Check if we're already monitoring this element.\n      if (cachedInfo) {\n        if (checkChildren) {\n          // TODO(COMP-318): this can be problematic, because it'll turn all non-checkChildren\n          // observers into ones that behave as if `checkChildren` was turned on. We need a more\n          // robust solution.\n          cachedInfo.checkChildren = true;\n        }\n        return cachedInfo.subject;\n      }\n      // Create monitored element info.\n      const info = {\n        checkChildren: checkChildren,\n        subject: new Subject(),\n        rootNode\n      };\n      this._elementInfo.set(nativeElement, info);\n      this._registerGlobalListeners(info);\n      return info.subject;\n    }\n    stopMonitoring(element) {\n      const nativeElement = coerceElement(element);\n      const elementInfo = this._elementInfo.get(nativeElement);\n      if (elementInfo) {\n        elementInfo.subject.complete();\n        this._setClasses(nativeElement);\n        this._elementInfo.delete(nativeElement);\n        this._removeGlobalListeners(elementInfo);\n      }\n    }\n    focusVia(element, origin, options) {\n      const nativeElement = coerceElement(element);\n      const focusedElement = this._getDocument().activeElement;\n      // If the element is focused already, calling `focus` again won't trigger the event listener\n      // which means that the focus classes won't be updated. If that's the case, update the classes\n      // directly without waiting for an event.\n      if (nativeElement === focusedElement) {\n        this._getClosestElementsInfo(nativeElement).forEach(([currentElement, info]) => this._originChanged(currentElement, origin, info));\n      } else {\n        this._setOrigin(origin);\n        // `focus` isn't available on the server\n        if (typeof nativeElement.focus === 'function') {\n          nativeElement.focus(options);\n        }\n      }\n    }\n    ngOnDestroy() {\n      this._elementInfo.forEach((_info, element) => this.stopMonitoring(element));\n    }\n    /** Access injected document if available or fallback to global document reference */\n    _getDocument() {\n      return this._document || document;\n    }\n    /** Use defaultView of injected document if available or fallback to global window reference */\n    _getWindow() {\n      const doc = this._getDocument();\n      return doc.defaultView || window;\n    }\n    _getFocusOrigin(focusEventTarget) {\n      if (this._origin) {\n        // If the origin was realized via a touch interaction, we need to perform additional checks\n        // to determine whether the focus origin should be attributed to touch or program.\n        if (this._originFromTouchInteraction) {\n          return this._shouldBeAttributedToTouch(focusEventTarget) ? 'touch' : 'program';\n        } else {\n          return this._origin;\n        }\n      }\n      // If the window has just regained focus, we can restore the most recent origin from before the\n      // window blurred. Otherwise, we've reached the point where we can't identify the source of the\n      // focus. This typically means one of two things happened:\n      //\n      // 1) The element was programmatically focused, or\n      // 2) The element was focused via screen reader navigation (which generally doesn't fire\n      //    events).\n      //\n      // Because we can't distinguish between these two cases, we default to setting `program`.\n      if (this._windowFocused && this._lastFocusOrigin) {\n        return this._lastFocusOrigin;\n      }\n      // If the interaction is coming from an input label, we consider it a mouse interactions.\n      // This is a special case where focus moves on `click`, rather than `mousedown` which breaks\n      // our detection, because all our assumptions are for `mousedown`. We need to handle this\n      // special case, because it's very common for checkboxes and radio buttons.\n      if (focusEventTarget && this._isLastInteractionFromInputLabel(focusEventTarget)) {\n        return 'mouse';\n      }\n      return 'program';\n    }\n    /**\n     * Returns whether the focus event should be attributed to touch. Recall that in IMMEDIATE mode, a\n     * touch origin isn't immediately reset at the next tick (see _setOrigin). This means that when we\n     * handle a focus event following a touch interaction, we need to determine whether (1) the focus\n     * event was directly caused by the touch interaction or (2) the focus event was caused by a\n     * subsequent programmatic focus call triggered by the touch interaction.\n     * @param focusEventTarget The target of the focus event under examination.\n     */\n    _shouldBeAttributedToTouch(focusEventTarget) {\n      // Please note that this check is not perfect. Consider the following edge case:\n      //\n      // <div #parent tabindex=\"0\">\n      //   <div #child tabindex=\"0\" (click)=\"#parent.focus()\"></div>\n      // </div>\n      //\n      // Suppose there is a FocusMonitor in IMMEDIATE mode attached to #parent. When the user touches\n      // #child, #parent is programmatically focused. This code will attribute the focus to touch\n      // instead of program. This is a relatively minor edge-case that can be worked around by using\n      // focusVia(parent, 'program') to focus #parent.\n      return this._detectionMode === FocusMonitorDetectionMode.EVENTUAL || !!focusEventTarget?.contains(this._inputModalityDetector._mostRecentTarget);\n    }\n    /**\n     * Sets the focus classes on the element based on the given focus origin.\n     * @param element The element to update the classes on.\n     * @param origin The focus origin.\n     */\n    _setClasses(element, origin) {\n      element.classList.toggle('cdk-focused', !!origin);\n      element.classList.toggle('cdk-touch-focused', origin === 'touch');\n      element.classList.toggle('cdk-keyboard-focused', origin === 'keyboard');\n      element.classList.toggle('cdk-mouse-focused', origin === 'mouse');\n      element.classList.toggle('cdk-program-focused', origin === 'program');\n    }\n    /**\n     * Updates the focus origin. If we're using immediate detection mode, we schedule an async\n     * function to clear the origin at the end of a timeout. The duration of the timeout depends on\n     * the origin being set.\n     * @param origin The origin to set.\n     * @param isFromInteraction Whether we are setting the origin from an interaction event.\n     */\n    _setOrigin(origin, isFromInteraction = false) {\n      this._ngZone.runOutsideAngular(() => {\n        this._origin = origin;\n        this._originFromTouchInteraction = origin === 'touch' && isFromInteraction;\n        // If we're in IMMEDIATE mode, reset the origin at the next tick (or in `TOUCH_BUFFER_MS` ms\n        // for a touch event). We reset the origin at the next tick because Firefox focuses one tick\n        // after the interaction event. We wait `TOUCH_BUFFER_MS` ms before resetting the origin for\n        // a touch event because when a touch event is fired, the associated focus event isn't yet in\n        // the event queue. Before doing so, clear any pending timeouts.\n        if (this._detectionMode === FocusMonitorDetectionMode.IMMEDIATE) {\n          clearTimeout(this._originTimeoutId);\n          const ms = this._originFromTouchInteraction ? TOUCH_BUFFER_MS : 1;\n          this._originTimeoutId = setTimeout(() => this._origin = null, ms);\n        }\n      });\n    }\n    /**\n     * Handles focus events on a registered element.\n     * @param event The focus event.\n     * @param element The monitored element.\n     */\n    _onFocus(event, element) {\n      // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent\n      // focus event affecting the monitored element. If we want to use the origin of the first event\n      // instead we should check for the cdk-focused class here and return if the element already has\n      // it. (This only matters for elements that have includesChildren = true).\n      // If we are not counting child-element-focus as focused, make sure that the event target is the\n      // monitored element itself.\n      const elementInfo = this._elementInfo.get(element);\n      const focusEventTarget = _getEventTarget(event);\n      if (!elementInfo || !elementInfo.checkChildren && element !== focusEventTarget) {\n        return;\n      }\n      this._originChanged(element, this._getFocusOrigin(focusEventTarget), elementInfo);\n    }\n    /**\n     * Handles blur events on a registered element.\n     * @param event The blur event.\n     * @param element The monitored element.\n     */\n    _onBlur(event, element) {\n      // If we are counting child-element-focus as focused, make sure that we aren't just blurring in\n      // order to focus another child of the monitored element.\n      const elementInfo = this._elementInfo.get(element);\n      if (!elementInfo || elementInfo.checkChildren && event.relatedTarget instanceof Node && element.contains(event.relatedTarget)) {\n        return;\n      }\n      this._setClasses(element);\n      this._emitOrigin(elementInfo, null);\n    }\n    _emitOrigin(info, origin) {\n      if (info.subject.observers.length) {\n        this._ngZone.run(() => info.subject.next(origin));\n      }\n    }\n    _registerGlobalListeners(elementInfo) {\n      if (!this._platform.isBrowser) {\n        return;\n      }\n      const rootNode = elementInfo.rootNode;\n      const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode) || 0;\n      if (!rootNodeFocusListeners) {\n        this._ngZone.runOutsideAngular(() => {\n          rootNode.addEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n          rootNode.addEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n        });\n      }\n      this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners + 1);\n      // Register global listeners when first element is monitored.\n      if (++this._monitoredElementCount === 1) {\n        // Note: we listen to events in the capture phase so we\n        // can detect them even if the user stops propagation.\n        this._ngZone.runOutsideAngular(() => {\n          const window = this._getWindow();\n          window.addEventListener('focus', this._windowFocusListener);\n        });\n        // The InputModalityDetector is also just a collection of global listeners.\n        this._inputModalityDetector.modalityDetected.pipe(takeUntil(this._stopInputModalityDetector)).subscribe(modality => {\n          this._setOrigin(modality, true /* isFromInteraction */);\n        });\n      }\n    }\n    _removeGlobalListeners(elementInfo) {\n      const rootNode = elementInfo.rootNode;\n      if (this._rootNodeFocusListenerCount.has(rootNode)) {\n        const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode);\n        if (rootNodeFocusListeners > 1) {\n          this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners - 1);\n        } else {\n          rootNode.removeEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n          rootNode.removeEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n          this._rootNodeFocusListenerCount.delete(rootNode);\n        }\n      }\n      // Unregister global listeners when last element is unmonitored.\n      if (! --this._monitoredElementCount) {\n        const window = this._getWindow();\n        window.removeEventListener('focus', this._windowFocusListener);\n        // Equivalently, stop our InputModalityDetector subscription.\n        this._stopInputModalityDetector.next();\n        // Clear timeouts for all potentially pending timeouts to prevent the leaks.\n        clearTimeout(this._windowFocusTimeoutId);\n        clearTimeout(this._originTimeoutId);\n      }\n    }\n    /** Updates all the state on an element once its focus origin has changed. */\n    _originChanged(element, origin, elementInfo) {\n      this._setClasses(element, origin);\n      this._emitOrigin(elementInfo, origin);\n      this._lastFocusOrigin = origin;\n    }\n    /**\n     * Collects the `MonitoredElementInfo` of a particular element and\n     * all of its ancestors that have enabled `checkChildren`.\n     * @param element Element from which to start the search.\n     */\n    _getClosestElementsInfo(element) {\n      const results = [];\n      this._elementInfo.forEach((info, currentElement) => {\n        if (currentElement === element || info.checkChildren && currentElement.contains(element)) {\n          results.push([currentElement, info]);\n        }\n      });\n      return results;\n    }\n    /**\n     * Returns whether an interaction is likely to have come from the user clicking the `label` of\n     * an `input` or `textarea` in order to focus it.\n     * @param focusEventTarget Target currently receiving focus.\n     */\n    _isLastInteractionFromInputLabel(focusEventTarget) {\n      const {\n        _mostRecentTarget: mostRecentTarget,\n        mostRecentModality\n      } = this._inputModalityDetector;\n      // If the last interaction used the mouse on an element contained by one of the labels\n      // of an `input`/`textarea` that is currently focused, it is very likely that the\n      // user redirected focus using the label.\n      if (mostRecentModality !== 'mouse' || !mostRecentTarget || mostRecentTarget === focusEventTarget || focusEventTarget.nodeName !== 'INPUT' && focusEventTarget.nodeName !== 'TEXTAREA' || focusEventTarget.disabled) {\n        return false;\n      }\n      const labels = focusEventTarget.labels;\n      if (labels) {\n        for (let i = 0; i < labels.length; i++) {\n          if (labels[i].contains(mostRecentTarget)) {\n            return true;\n          }\n        }\n      }\n      return false;\n    }\n    static ɵfac = function FocusMonitor_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || FocusMonitor)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: FocusMonitor,\n      factory: FocusMonitor.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return FocusMonitor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Directive that determines how a particular element was focused (via keyboard, mouse, touch, or\n * programmatically) and adds corresponding classes to the element.\n *\n * There are two variants of this directive:\n * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is\n *    focused.\n * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.\n */\nlet CdkMonitorFocus = /*#__PURE__*/(() => {\n  class CdkMonitorFocus {\n    _elementRef = inject(ElementRef);\n    _focusMonitor = inject(FocusMonitor);\n    _monitorSubscription;\n    _focusOrigin = null;\n    cdkFocusChange = new EventEmitter();\n    constructor() {}\n    get focusOrigin() {\n      return this._focusOrigin;\n    }\n    ngAfterViewInit() {\n      const element = this._elementRef.nativeElement;\n      this._monitorSubscription = this._focusMonitor.monitor(element, element.nodeType === 1 && element.hasAttribute('cdkMonitorSubtreeFocus')).subscribe(origin => {\n        this._focusOrigin = origin;\n        this.cdkFocusChange.emit(origin);\n      });\n    }\n    ngOnDestroy() {\n      this._focusMonitor.stopMonitoring(this._elementRef);\n      if (this._monitorSubscription) {\n        this._monitorSubscription.unsubscribe();\n      }\n    }\n    static ɵfac = function CdkMonitorFocus_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkMonitorFocus)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkMonitorFocus,\n      selectors: [[\"\", \"cdkMonitorElementFocus\", \"\"], [\"\", \"cdkMonitorSubtreeFocus\", \"\"]],\n      outputs: {\n        cdkFocusChange: \"cdkFocusChange\"\n      },\n      exportAs: [\"cdkMonitorFocus\"]\n    });\n  }\n  return CdkMonitorFocus;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { CdkMonitorFocus as C, FocusMonitor as F, InputModalityDetector as I, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS as a, INPUT_MODALITY_DETECTOR_OPTIONS as b, FocusMonitorDetectionMode as c, FOCUS_MONITOR_DEFAULT_OPTIONS as d };\n","import * as i0 from '@angular/core';\nimport { inject, Injector, EnvironmentInjector, ApplicationRef, createComponent, Injectable } from '@angular/core';\n\n/** Apps in which we've loaded styles. */\nconst appsWithLoaders = /*#__PURE__*/new WeakMap();\n/**\n * Service that loads structural styles dynamically\n * and ensures that they're only loaded once per app.\n */\nlet _CdkPrivateStyleLoader = /*#__PURE__*/(() => {\n  class _CdkPrivateStyleLoader {\n    _appRef;\n    _injector = inject(Injector);\n    _environmentInjector = inject(EnvironmentInjector);\n    /**\n     * Loads a set of styles.\n     * @param loader Component which will be instantiated to load the styles.\n     */\n    load(loader) {\n      // Resolve the app ref lazily to avoid circular dependency errors if this is called too early.\n      const appRef = this._appRef = this._appRef || this._injector.get(ApplicationRef);\n      let data = appsWithLoaders.get(appRef);\n      // If we haven't loaded for this app before, we have to initialize it.\n      if (!data) {\n        data = {\n          loaders: new Set(),\n          refs: []\n        };\n        appsWithLoaders.set(appRef, data);\n        // When the app is destroyed, we need to clean up all the related loaders.\n        appRef.onDestroy(() => {\n          appsWithLoaders.get(appRef)?.refs.forEach(ref => ref.destroy());\n          appsWithLoaders.delete(appRef);\n        });\n      }\n      // If the loader hasn't been loaded before, we need to instatiate it.\n      if (!data.loaders.has(loader)) {\n        data.loaders.add(loader);\n        data.refs.push(createComponent(loader, {\n          environmentInjector: this._environmentInjector\n        }));\n      }\n    }\n    static ɵfac = function _CdkPrivateStyleLoader_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || _CdkPrivateStyleLoader)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: _CdkPrivateStyleLoader,\n      factory: _CdkPrivateStyleLoader.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return _CdkPrivateStyleLoader;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { _CdkPrivateStyleLoader as _ };\n","export { _ as _CdkPrivateStyleLoader } from './style-loader-Cu9AvjH9.mjs';\nimport * as i0 from '@angular/core';\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * Component used to load the .cdk-visually-hidden styles.\n * @docs-private\n */\nlet _VisuallyHiddenLoader = /*#__PURE__*/(() => {\n  class _VisuallyHiddenLoader {\n    static ɵfac = function _VisuallyHiddenLoader_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || _VisuallyHiddenLoader)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: _VisuallyHiddenLoader,\n      selectors: [[\"ng-component\"]],\n      exportAs: [\"cdkVisuallyHidden\"],\n      decls: 0,\n      vars: 0,\n      template: function _VisuallyHiddenLoader_Template(rf, ctx) {},\n      styles: [\".cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return _VisuallyHiddenLoader;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { _VisuallyHiddenLoader };\n","function coerceArray(value) {\n  return Array.isArray(value) ? value : [value];\n}\nexport { coerceArray as c };\n","import * as i0 from '@angular/core';\nimport { inject, CSP_NONCE, Injectable, NgZone } from '@angular/core';\nimport { Subject, combineLatest, concat, Observable } from 'rxjs';\nimport { take, skip, debounceTime, map, startWith, takeUntil } from 'rxjs/operators';\nimport { P as Platform } from './platform-DmdVEw_C.mjs';\nimport { c as coerceArray } from './array-I1yfCXUO.mjs';\n\n/** Global registry for all dynamically-created, injected media queries. */\nconst mediaQueriesForWebkitCompatibility = /*#__PURE__*/new Set();\n/** Style tag that holds all of the dynamically-created media queries. */\nlet mediaQueryStyleNode;\n/** A utility for calling matchMedia queries. */\nlet MediaMatcher = /*#__PURE__*/(() => {\n  class MediaMatcher {\n    _platform = inject(Platform);\n    _nonce = inject(CSP_NONCE, {\n      optional: true\n    });\n    /** The internal matchMedia method to return back a MediaQueryList like object. */\n    _matchMedia;\n    constructor() {\n      this._matchMedia = this._platform.isBrowser && window.matchMedia ?\n      // matchMedia is bound to the window scope intentionally as it is an illegal invocation to\n      // call it from a different scope.\n      window.matchMedia.bind(window) : noopMatchMedia;\n    }\n    /**\n     * Evaluates the given media query and returns the native MediaQueryList from which results\n     * can be retrieved.\n     * Confirms the layout engine will trigger for the selector query provided and returns the\n     * MediaQueryList for the query provided.\n     */\n    matchMedia(query) {\n      if (this._platform.WEBKIT || this._platform.BLINK) {\n        createEmptyStyleRule(query, this._nonce);\n      }\n      return this._matchMedia(query);\n    }\n    static ɵfac = function MediaMatcher_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MediaMatcher)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: MediaMatcher,\n      factory: MediaMatcher.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return MediaMatcher;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Creates an empty stylesheet that is used to work around browser inconsistencies related to\n * `matchMedia`. At the time of writing, it handles the following cases:\n * 1. On WebKit browsers, a media query has to have at least one rule in order for `matchMedia`\n * to fire. We work around it by declaring a dummy stylesheet with a `@media` declaration.\n * 2. In some cases Blink browsers will stop firing the `matchMedia` listener if none of the rules\n * inside the `@media` match existing elements on the page. We work around it by having one rule\n * targeting the `body`. See https://github.com/angular/components/issues/23546.\n */\nfunction createEmptyStyleRule(query, nonce) {\n  if (mediaQueriesForWebkitCompatibility.has(query)) {\n    return;\n  }\n  try {\n    if (!mediaQueryStyleNode) {\n      mediaQueryStyleNode = document.createElement('style');\n      if (nonce) {\n        mediaQueryStyleNode.setAttribute('nonce', nonce);\n      }\n      mediaQueryStyleNode.setAttribute('type', 'text/css');\n      document.head.appendChild(mediaQueryStyleNode);\n    }\n    if (mediaQueryStyleNode.sheet) {\n      mediaQueryStyleNode.sheet.insertRule(`@media ${query} {body{ }}`, 0);\n      mediaQueriesForWebkitCompatibility.add(query);\n    }\n  } catch (e) {\n    console.error(e);\n  }\n}\n/** No-op matchMedia replacement for non-browser platforms. */\nfunction noopMatchMedia(query) {\n  // Use `as any` here to avoid adding additional necessary properties for\n  // the noop matcher.\n  return {\n    matches: query === 'all' || query === '',\n    media: query,\n    addListener: () => {},\n    removeListener: () => {}\n  };\n}\n\n/** Utility for checking the matching state of `@media` queries. */\nlet BreakpointObserver = /*#__PURE__*/(() => {\n  class BreakpointObserver {\n    _mediaMatcher = inject(MediaMatcher);\n    _zone = inject(NgZone);\n    /**  A map of all media queries currently being listened for. */\n    _queries = new Map();\n    /** A subject for all other observables to takeUntil based on. */\n    _destroySubject = new Subject();\n    constructor() {}\n    /** Completes the active subject, signalling to all other observables to complete. */\n    ngOnDestroy() {\n      this._destroySubject.next();\n      this._destroySubject.complete();\n    }\n    /**\n     * Whether one or more media queries match the current viewport size.\n     * @param value One or more media queries to check.\n     * @returns Whether any of the media queries match.\n     */\n    isMatched(value) {\n      const queries = splitQueries(coerceArray(value));\n      return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\n    }\n    /**\n     * Gets an observable of results for the given queries that will emit new results for any changes\n     * in matching of the given queries.\n     * @param value One or more media queries to check.\n     * @returns A stream of matches for the given queries.\n     */\n    observe(value) {\n      const queries = splitQueries(coerceArray(value));\n      const observables = queries.map(query => this._registerQuery(query).observable);\n      let stateObservable = combineLatest(observables);\n      // Emit the first state immediately, and then debounce the subsequent emissions.\n      stateObservable = concat(stateObservable.pipe(take(1)), stateObservable.pipe(skip(1), debounceTime(0)));\n      return stateObservable.pipe(map(breakpointStates => {\n        const response = {\n          matches: false,\n          breakpoints: {}\n        };\n        breakpointStates.forEach(({\n          matches,\n          query\n        }) => {\n          response.matches = response.matches || matches;\n          response.breakpoints[query] = matches;\n        });\n        return response;\n      }));\n    }\n    /** Registers a specific query to be listened for. */\n    _registerQuery(query) {\n      // Only set up a new MediaQueryList if it is not already being listened for.\n      if (this._queries.has(query)) {\n        return this._queries.get(query);\n      }\n      const mql = this._mediaMatcher.matchMedia(query);\n      // Create callback for match changes and add it is as a listener.\n      const queryObservable = new Observable(observer => {\n        // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed\n        // back into the zone because matchMedia is only included in Zone.js by loading the\n        // webapis-media-query.js file alongside the zone.js file.  Additionally, some browsers do not\n        // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js\n        // patches it.\n        const handler = e => this._zone.run(() => observer.next(e));\n        mql.addListener(handler);\n        return () => {\n          mql.removeListener(handler);\n        };\n      }).pipe(startWith(mql), map(({\n        matches\n      }) => ({\n        query,\n        matches\n      })), takeUntil(this._destroySubject));\n      // Add the MediaQueryList to the set of queries.\n      const output = {\n        observable: queryObservable,\n        mql\n      };\n      this._queries.set(query, output);\n      return output;\n    }\n    static ɵfac = function BreakpointObserver_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || BreakpointObserver)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: BreakpointObserver,\n      factory: BreakpointObserver.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return BreakpointObserver;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Split each query string into separate query strings if two queries are provided as comma\n * separated.\n */\nfunction splitQueries(queries) {\n  return queries.map(query => query.split(',')).reduce((a1, a2) => a1.concat(a2)).map(query => query.trim());\n}\nexport { BreakpointObserver as B, MediaMatcher as M };\n","import * as i0 from '@angular/core';\nimport { Injectable, inject, NgZone, ElementRef, EventEmitter, booleanAttribute, Directive, Output, Input, NgModule } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { map, filter, debounceTime } from 'rxjs/operators';\nimport { c as coerceNumberProperty, a as coerceElement } from './element-x4z00URv.mjs';\n\n// Angular may add, remove, or edit comment nodes during change detection. We don't care about\n// these changes because they don't affect the user-preceived content, and worse it can cause\n// infinite change detection cycles where the change detection updates a comment, triggering the\n// MutationObserver, triggering another change detection and kicking the cycle off again.\nfunction shouldIgnoreRecord(record) {\n  // Ignore changes to comment text.\n  if (record.type === 'characterData' && record.target instanceof Comment) {\n    return true;\n  }\n  // Ignore addition / removal of comments.\n  if (record.type === 'childList') {\n    for (let i = 0; i < record.addedNodes.length; i++) {\n      if (!(record.addedNodes[i] instanceof Comment)) {\n        return false;\n      }\n    }\n    for (let i = 0; i < record.removedNodes.length; i++) {\n      if (!(record.removedNodes[i] instanceof Comment)) {\n        return false;\n      }\n    }\n    return true;\n  }\n  // Observe everything else.\n  return false;\n}\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\nlet MutationObserverFactory = /*#__PURE__*/(() => {\n  class MutationObserverFactory {\n    create(callback) {\n      return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n    }\n    static ɵfac = function MutationObserverFactory_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MutationObserverFactory)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: MutationObserverFactory,\n      factory: MutationObserverFactory.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return MutationObserverFactory;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** An injectable service that allows watching elements for changes to their content. */\nlet ContentObserver = /*#__PURE__*/(() => {\n  class ContentObserver {\n    _mutationObserverFactory = inject(MutationObserverFactory);\n    /** Keeps track of the existing MutationObservers so they can be reused. */\n    _observedElements = new Map();\n    _ngZone = inject(NgZone);\n    constructor() {}\n    ngOnDestroy() {\n      this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n    }\n    observe(elementOrRef) {\n      const element = coerceElement(elementOrRef);\n      return new Observable(observer => {\n        const stream = this._observeElement(element);\n        const subscription = stream.pipe(map(records => records.filter(record => !shouldIgnoreRecord(record))), filter(records => !!records.length)).subscribe(records => {\n          this._ngZone.run(() => {\n            observer.next(records);\n          });\n        });\n        return () => {\n          subscription.unsubscribe();\n          this._unobserveElement(element);\n        };\n      });\n    }\n    /**\n     * Observes the given element by using the existing MutationObserver if available, or creating a\n     * new one if not.\n     */\n    _observeElement(element) {\n      return this._ngZone.runOutsideAngular(() => {\n        if (!this._observedElements.has(element)) {\n          const stream = new Subject();\n          const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n          if (observer) {\n            observer.observe(element, {\n              characterData: true,\n              childList: true,\n              subtree: true\n            });\n          }\n          this._observedElements.set(element, {\n            observer,\n            stream,\n            count: 1\n          });\n        } else {\n          this._observedElements.get(element).count++;\n        }\n        return this._observedElements.get(element).stream;\n      });\n    }\n    /**\n     * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n     * observing this element.\n     */\n    _unobserveElement(element) {\n      if (this._observedElements.has(element)) {\n        this._observedElements.get(element).count--;\n        if (!this._observedElements.get(element).count) {\n          this._cleanupObserver(element);\n        }\n      }\n    }\n    /** Clean up the underlying MutationObserver for the specified element. */\n    _cleanupObserver(element) {\n      if (this._observedElements.has(element)) {\n        const {\n          observer,\n          stream\n        } = this._observedElements.get(element);\n        if (observer) {\n          observer.disconnect();\n        }\n        stream.complete();\n        this._observedElements.delete(element);\n      }\n    }\n    static ɵfac = function ContentObserver_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ContentObserver)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: ContentObserver,\n      factory: ContentObserver.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return ContentObserver;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\nlet CdkObserveContent = /*#__PURE__*/(() => {\n  class CdkObserveContent {\n    _contentObserver = inject(ContentObserver);\n    _elementRef = inject(ElementRef);\n    /** Event emitted for each change in the element's content. */\n    event = new EventEmitter();\n    /**\n     * Whether observing content is disabled. This option can be used\n     * to disconnect the underlying MutationObserver until it is needed.\n     */\n    get disabled() {\n      return this._disabled;\n    }\n    set disabled(value) {\n      this._disabled = value;\n      this._disabled ? this._unsubscribe() : this._subscribe();\n    }\n    _disabled = false;\n    /** Debounce interval for emitting the changes. */\n    get debounce() {\n      return this._debounce;\n    }\n    set debounce(value) {\n      this._debounce = coerceNumberProperty(value);\n      this._subscribe();\n    }\n    _debounce;\n    _currentSubscription = null;\n    constructor() {}\n    ngAfterContentInit() {\n      if (!this._currentSubscription && !this.disabled) {\n        this._subscribe();\n      }\n    }\n    ngOnDestroy() {\n      this._unsubscribe();\n    }\n    _subscribe() {\n      this._unsubscribe();\n      const stream = this._contentObserver.observe(this._elementRef);\n      this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);\n    }\n    _unsubscribe() {\n      this._currentSubscription?.unsubscribe();\n    }\n    static ɵfac = function CdkObserveContent_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkObserveContent)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkObserveContent,\n      selectors: [[\"\", \"cdkObserveContent\", \"\"]],\n      inputs: {\n        disabled: [2, \"cdkObserveContentDisabled\", \"disabled\", booleanAttribute],\n        debounce: \"debounce\"\n      },\n      outputs: {\n        event: \"cdkObserveContent\"\n      },\n      exportAs: [\"cdkObserveContent\"]\n    });\n  }\n  return CdkObserveContent;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet ObserversModule = /*#__PURE__*/(() => {\n  class ObserversModule {\n    static ɵfac = function ObserversModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ObserversModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: ObserversModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      providers: [MutationObserverFactory]\n    });\n  }\n  return ObserversModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { CdkObserveContent, ContentObserver, MutationObserverFactory, ObserversModule };\n","import * as i0 from '@angular/core';\nimport { inject, Injectable, afterNextRender, NgZone, Injector, ElementRef, booleanAttribute, Directive, Input, InjectionToken, NgModule } from '@angular/core';\nimport { C as CdkMonitorFocus } from './focus-monitor-e2l_RpN3.mjs';\nimport { DOCUMENT } from '@angular/common';\nimport { P as Platform } from './platform-DmdVEw_C.mjs';\nimport { c as _getFocusedElementPierceShadowDom } from './shadow-dom-B0oHn41l.mjs';\nimport { _ as _CdkPrivateStyleLoader } from './style-loader-Cu9AvjH9.mjs';\nimport { _VisuallyHiddenLoader } from './private.mjs';\nimport { B as BreakpointObserver } from './breakpoints-observer-CljOfYGy.mjs';\nimport { ContentObserver, ObserversModule } from './observers.mjs';\n\n/**\n * Configuration for the isFocusable method.\n */\nclass IsFocusableConfig {\n  /**\n   * Whether to count an element as focusable even if it is not currently visible.\n   */\n  ignoreVisibility = false;\n}\n// The InteractivityChecker leans heavily on the ally.js accessibility utilities.\n// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are\n// supported.\n/**\n * Utility for checking the interactivity of an element, such as whether it is focusable or\n * tabbable.\n */\nlet InteractivityChecker = /*#__PURE__*/(() => {\n  class InteractivityChecker {\n    _platform = inject(Platform);\n    constructor() {}\n    /**\n     * Gets whether an element is disabled.\n     *\n     * @param element Element to be checked.\n     * @returns Whether the element is disabled.\n     */\n    isDisabled(element) {\n      // This does not capture some cases, such as a non-form control with a disabled attribute or\n      // a form control inside of a disabled form, but should capture the most common cases.\n      return element.hasAttribute('disabled');\n    }\n    /**\n     * Gets whether an element is visible for the purposes of interactivity.\n     *\n     * This will capture states like `display: none` and `visibility: hidden`, but not things like\n     * being clipped by an `overflow: hidden` parent or being outside the viewport.\n     *\n     * @returns Whether the element is visible.\n     */\n    isVisible(element) {\n      return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';\n    }\n    /**\n     * Gets whether an element can be reached via Tab key.\n     * Assumes that the element has already been checked with isFocusable.\n     *\n     * @param element Element to be checked.\n     * @returns Whether the element is tabbable.\n     */\n    isTabbable(element) {\n      // Nothing is tabbable on the server 😎\n      if (!this._platform.isBrowser) {\n        return false;\n      }\n      const frameElement = getFrameElement(getWindow(element));\n      if (frameElement) {\n        // Frame elements inherit their tabindex onto all child elements.\n        if (getTabIndexValue(frameElement) === -1) {\n          return false;\n        }\n        // Browsers disable tabbing to an element inside of an invisible frame.\n        if (!this.isVisible(frameElement)) {\n          return false;\n        }\n      }\n      let nodeName = element.nodeName.toLowerCase();\n      let tabIndexValue = getTabIndexValue(element);\n      if (element.hasAttribute('contenteditable')) {\n        return tabIndexValue !== -1;\n      }\n      if (nodeName === 'iframe' || nodeName === 'object') {\n        // The frame or object's content may be tabbable depending on the content, but it's\n        // not possibly to reliably detect the content of the frames. We always consider such\n        // elements as non-tabbable.\n        return false;\n      }\n      // In iOS, the browser only considers some specific elements as tabbable.\n      if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {\n        return false;\n      }\n      if (nodeName === 'audio') {\n        // Audio elements without controls enabled are never tabbable, regardless\n        // of the tabindex attribute explicitly being set.\n        if (!element.hasAttribute('controls')) {\n          return false;\n        }\n        // Audio elements with controls are by default tabbable unless the\n        // tabindex attribute is set to `-1` explicitly.\n        return tabIndexValue !== -1;\n      }\n      if (nodeName === 'video') {\n        // For all video elements, if the tabindex attribute is set to `-1`, the video\n        // is not tabbable. Note: We cannot rely on the default `HTMLElement.tabIndex`\n        // property as that one is set to `-1` in Chrome, Edge and Safari v13.1. The\n        // tabindex attribute is the source of truth here.\n        if (tabIndexValue === -1) {\n          return false;\n        }\n        // If the tabindex is explicitly set, and not `-1` (as per check before), the\n        // video element is always tabbable (regardless of whether it has controls or not).\n        if (tabIndexValue !== null) {\n          return true;\n        }\n        // Otherwise (when no explicit tabindex is set), a video is only tabbable if it\n        // has controls enabled. Firefox is special as videos are always tabbable regardless\n        // of whether there are controls or not.\n        return this._platform.FIREFOX || element.hasAttribute('controls');\n      }\n      return element.tabIndex >= 0;\n    }\n    /**\n     * Gets whether an element can be focused by the user.\n     *\n     * @param element Element to be checked.\n     * @param config The config object with options to customize this method's behavior\n     * @returns Whether the element is focusable.\n     */\n    isFocusable(element, config) {\n      // Perform checks in order of left to most expensive.\n      // Again, naive approach that does not capture many edge cases and browser quirks.\n      return isPotentiallyFocusable(element) && !this.isDisabled(element) && (config?.ignoreVisibility || this.isVisible(element));\n    }\n    static ɵfac = function InteractivityChecker_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || InteractivityChecker)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: InteractivityChecker,\n      factory: InteractivityChecker.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return InteractivityChecker;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Returns the frame element from a window object. Since browsers like MS Edge throw errors if\n * the frameElement property is being accessed from a different host address, this property\n * should be accessed carefully.\n */\nfunction getFrameElement(window) {\n  try {\n    return window.frameElement;\n  } catch {\n    return null;\n  }\n}\n/** Checks whether the specified element has any geometry / rectangles. */\nfunction hasGeometry(element) {\n  // Use logic from jQuery to check for an invisible element.\n  // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12\n  return !!(element.offsetWidth || element.offsetHeight || typeof element.getClientRects === 'function' && element.getClientRects().length);\n}\n/** Gets whether an element's  */\nfunction isNativeFormElement(element) {\n  let nodeName = element.nodeName.toLowerCase();\n  return nodeName === 'input' || nodeName === 'select' || nodeName === 'button' || nodeName === 'textarea';\n}\n/** Gets whether an element is an `<input type=\"hidden\">`. */\nfunction isHiddenInput(element) {\n  return isInputElement(element) && element.type == 'hidden';\n}\n/** Gets whether an element is an anchor that has an href attribute. */\nfunction isAnchorWithHref(element) {\n  return isAnchorElement(element) && element.hasAttribute('href');\n}\n/** Gets whether an element is an input element. */\nfunction isInputElement(element) {\n  return element.nodeName.toLowerCase() == 'input';\n}\n/** Gets whether an element is an anchor element. */\nfunction isAnchorElement(element) {\n  return element.nodeName.toLowerCase() == 'a';\n}\n/** Gets whether an element has a valid tabindex. */\nfunction hasValidTabIndex(element) {\n  if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {\n    return false;\n  }\n  let tabIndex = element.getAttribute('tabindex');\n  return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));\n}\n/**\n * Returns the parsed tabindex from the element attributes instead of returning the\n * evaluated tabindex from the browsers defaults.\n */\nfunction getTabIndexValue(element) {\n  if (!hasValidTabIndex(element)) {\n    return null;\n  }\n  // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n  const tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);\n  return isNaN(tabIndex) ? -1 : tabIndex;\n}\n/** Checks whether the specified element is potentially tabbable on iOS */\nfunction isPotentiallyTabbableIOS(element) {\n  let nodeName = element.nodeName.toLowerCase();\n  let inputType = nodeName === 'input' && element.type;\n  return inputType === 'text' || inputType === 'password' || nodeName === 'select' || nodeName === 'textarea';\n}\n/**\n * Gets whether an element is potentially focusable without taking current visible/disabled state\n * into account.\n */\nfunction isPotentiallyFocusable(element) {\n  // Inputs are potentially focusable *unless* they're type=\"hidden\".\n  if (isHiddenInput(element)) {\n    return false;\n  }\n  return isNativeFormElement(element) || isAnchorWithHref(element) || element.hasAttribute('contenteditable') || hasValidTabIndex(element);\n}\n/** Gets the parent window of a DOM node with regards of being inside of an iframe. */\nfunction getWindow(node) {\n  // ownerDocument is null if `node` itself *is* a document.\n  return node.ownerDocument && node.ownerDocument.defaultView || window;\n}\n\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class currently uses a relatively simple approach to focus trapping.\n * It assumes that the tab order is the same as DOM order, which is not necessarily true.\n * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause the two to be misaligned.\n */\nclass FocusTrap {\n  _element;\n  _checker;\n  _ngZone;\n  _document;\n  _injector;\n  _startAnchor;\n  _endAnchor;\n  _hasAttached = false;\n  // Event listeners for the anchors. Need to be regular functions so that we can unbind them later.\n  startAnchorListener = () => this.focusLastTabbableElement();\n  endAnchorListener = () => this.focusFirstTabbableElement();\n  /** Whether the focus trap is active. */\n  get enabled() {\n    return this._enabled;\n  }\n  set enabled(value) {\n    this._enabled = value;\n    if (this._startAnchor && this._endAnchor) {\n      this._toggleAnchorTabIndex(value, this._startAnchor);\n      this._toggleAnchorTabIndex(value, this._endAnchor);\n    }\n  }\n  _enabled = true;\n  constructor(_element, _checker, _ngZone, _document, deferAnchors = false, /** @breaking-change 20.0.0 param to become required */\n  _injector) {\n    this._element = _element;\n    this._checker = _checker;\n    this._ngZone = _ngZone;\n    this._document = _document;\n    this._injector = _injector;\n    if (!deferAnchors) {\n      this.attachAnchors();\n    }\n  }\n  /** Destroys the focus trap by cleaning up the anchors. */\n  destroy() {\n    const startAnchor = this._startAnchor;\n    const endAnchor = this._endAnchor;\n    if (startAnchor) {\n      startAnchor.removeEventListener('focus', this.startAnchorListener);\n      startAnchor.remove();\n    }\n    if (endAnchor) {\n      endAnchor.removeEventListener('focus', this.endAnchorListener);\n      endAnchor.remove();\n    }\n    this._startAnchor = this._endAnchor = null;\n    this._hasAttached = false;\n  }\n  /**\n   * Inserts the anchors into the DOM. This is usually done automatically\n   * in the constructor, but can be deferred for cases like directives with `*ngIf`.\n   * @returns Whether the focus trap managed to attach successfully. This may not be the case\n   * if the target element isn't currently in the DOM.\n   */\n  attachAnchors() {\n    // If we're not on the browser, there can be no focus to trap.\n    if (this._hasAttached) {\n      return true;\n    }\n    this._ngZone.runOutsideAngular(() => {\n      if (!this._startAnchor) {\n        this._startAnchor = this._createAnchor();\n        this._startAnchor.addEventListener('focus', this.startAnchorListener);\n      }\n      if (!this._endAnchor) {\n        this._endAnchor = this._createAnchor();\n        this._endAnchor.addEventListener('focus', this.endAnchorListener);\n      }\n    });\n    if (this._element.parentNode) {\n      this._element.parentNode.insertBefore(this._startAnchor, this._element);\n      this._element.parentNode.insertBefore(this._endAnchor, this._element.nextSibling);\n      this._hasAttached = true;\n    }\n    return this._hasAttached;\n  }\n  /**\n   * Waits for the zone to stabilize, then focuses the first tabbable element.\n   * @returns Returns a promise that resolves with a boolean, depending\n   * on whether focus was moved successfully.\n   */\n  focusInitialElementWhenReady(options) {\n    return new Promise(resolve => {\n      this._executeOnStable(() => resolve(this.focusInitialElement(options)));\n    });\n  }\n  /**\n   * Waits for the zone to stabilize, then focuses\n   * the first tabbable element within the focus trap region.\n   * @returns Returns a promise that resolves with a boolean, depending\n   * on whether focus was moved successfully.\n   */\n  focusFirstTabbableElementWhenReady(options) {\n    return new Promise(resolve => {\n      this._executeOnStable(() => resolve(this.focusFirstTabbableElement(options)));\n    });\n  }\n  /**\n   * Waits for the zone to stabilize, then focuses\n   * the last tabbable element within the focus trap region.\n   * @returns Returns a promise that resolves with a boolean, depending\n   * on whether focus was moved successfully.\n   */\n  focusLastTabbableElementWhenReady(options) {\n    return new Promise(resolve => {\n      this._executeOnStable(() => resolve(this.focusLastTabbableElement(options)));\n    });\n  }\n  /**\n   * Get the specified boundary element of the trapped region.\n   * @param bound The boundary to get (start or end of trapped region).\n   * @returns The boundary element.\n   */\n  _getRegionBoundary(bound) {\n    // Contains the deprecated version of selector, for temporary backwards comparability.\n    const markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` + `[cdkFocusRegion${bound}], ` + `[cdk-focus-${bound}]`);\n    if (typeof ngDevMode === 'undefined' || ngDevMode) {\n      for (let i = 0; i < markers.length; i++) {\n        // @breaking-change 8.0.0\n        if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {\n          console.warn(`Found use of deprecated attribute 'cdk-focus-${bound}', ` + `use 'cdkFocusRegion${bound}' instead. The deprecated ` + `attribute will be removed in 8.0.0.`, markers[i]);\n        } else if (markers[i].hasAttribute(`cdk-focus-region-${bound}`)) {\n          console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}', ` + `use 'cdkFocusRegion${bound}' instead. The deprecated attribute ` + `will be removed in 8.0.0.`, markers[i]);\n        }\n      }\n    }\n    if (bound == 'start') {\n      return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);\n    }\n    return markers.length ? markers[markers.length - 1] : this._getLastTabbableElement(this._element);\n  }\n  /**\n   * Focuses the element that should be focused when the focus trap is initialized.\n   * @returns Whether focus was moved successfully.\n   */\n  focusInitialElement(options) {\n    // Contains the deprecated version of selector, for temporary backwards comparability.\n    const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` + `[cdkFocusInitial]`);\n    if (redirectToElement) {\n      // @breaking-change 8.0.0\n      if ((typeof ngDevMode === 'undefined' || ngDevMode) && redirectToElement.hasAttribute(`cdk-focus-initial`)) {\n        console.warn(`Found use of deprecated attribute 'cdk-focus-initial', ` + `use 'cdkFocusInitial' instead. The deprecated attribute ` + `will be removed in 8.0.0`, redirectToElement);\n      }\n      // Warn the consumer if the element they've pointed to\n      // isn't focusable, when not in production mode.\n      if ((typeof ngDevMode === 'undefined' || ngDevMode) && !this._checker.isFocusable(redirectToElement)) {\n        console.warn(`Element matching '[cdkFocusInitial]' is not focusable.`, redirectToElement);\n      }\n      if (!this._checker.isFocusable(redirectToElement)) {\n        const focusableChild = this._getFirstTabbableElement(redirectToElement);\n        focusableChild?.focus(options);\n        return !!focusableChild;\n      }\n      redirectToElement.focus(options);\n      return true;\n    }\n    return this.focusFirstTabbableElement(options);\n  }\n  /**\n   * Focuses the first tabbable element within the focus trap region.\n   * @returns Whether focus was moved successfully.\n   */\n  focusFirstTabbableElement(options) {\n    const redirectToElement = this._getRegionBoundary('start');\n    if (redirectToElement) {\n      redirectToElement.focus(options);\n    }\n    return !!redirectToElement;\n  }\n  /**\n   * Focuses the last tabbable element within the focus trap region.\n   * @returns Whether focus was moved successfully.\n   */\n  focusLastTabbableElement(options) {\n    const redirectToElement = this._getRegionBoundary('end');\n    if (redirectToElement) {\n      redirectToElement.focus(options);\n    }\n    return !!redirectToElement;\n  }\n  /**\n   * Checks whether the focus trap has successfully been attached.\n   */\n  hasAttached() {\n    return this._hasAttached;\n  }\n  /** Get the first tabbable element from a DOM subtree (inclusive). */\n  _getFirstTabbableElement(root) {\n    if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n      return root;\n    }\n    const children = root.children;\n    for (let i = 0; i < children.length; i++) {\n      const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ? this._getFirstTabbableElement(children[i]) : null;\n      if (tabbableChild) {\n        return tabbableChild;\n      }\n    }\n    return null;\n  }\n  /** Get the last tabbable element from a DOM subtree (inclusive). */\n  _getLastTabbableElement(root) {\n    if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n      return root;\n    }\n    // Iterate in reverse DOM order.\n    const children = root.children;\n    for (let i = children.length - 1; i >= 0; i--) {\n      const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ? this._getLastTabbableElement(children[i]) : null;\n      if (tabbableChild) {\n        return tabbableChild;\n      }\n    }\n    return null;\n  }\n  /** Creates an anchor element. */\n  _createAnchor() {\n    const anchor = this._document.createElement('div');\n    this._toggleAnchorTabIndex(this._enabled, anchor);\n    anchor.classList.add('cdk-visually-hidden');\n    anchor.classList.add('cdk-focus-trap-anchor');\n    anchor.setAttribute('aria-hidden', 'true');\n    return anchor;\n  }\n  /**\n   * Toggles the `tabindex` of an anchor, based on the enabled state of the focus trap.\n   * @param isEnabled Whether the focus trap is enabled.\n   * @param anchor Anchor on which to toggle the tabindex.\n   */\n  _toggleAnchorTabIndex(isEnabled, anchor) {\n    // Remove the tabindex completely, rather than setting it to -1, because if the\n    // element has a tabindex, the user might still hit it when navigating with the arrow keys.\n    isEnabled ? anchor.setAttribute('tabindex', '0') : anchor.removeAttribute('tabindex');\n  }\n  /**\n   * Toggles the`tabindex` of both anchors to either trap Tab focus or allow it to escape.\n   * @param enabled: Whether the anchors should trap Tab.\n   */\n  toggleAnchors(enabled) {\n    if (this._startAnchor && this._endAnchor) {\n      this._toggleAnchorTabIndex(enabled, this._startAnchor);\n      this._toggleAnchorTabIndex(enabled, this._endAnchor);\n    }\n  }\n  /** Executes a function when the zone is stable. */\n  _executeOnStable(fn) {\n    // TODO: remove this conditional when injector is required in the constructor.\n    if (this._injector) {\n      afterNextRender(fn, {\n        injector: this._injector\n      });\n    } else {\n      setTimeout(fn);\n    }\n  }\n}\n/**\n * Factory that allows easy instantiation of focus traps.\n */\nlet FocusTrapFactory = /*#__PURE__*/(() => {\n  class FocusTrapFactory {\n    _checker = inject(InteractivityChecker);\n    _ngZone = inject(NgZone);\n    _document = inject(DOCUMENT);\n    _injector = inject(Injector);\n    constructor() {\n      inject(_CdkPrivateStyleLoader).load(_VisuallyHiddenLoader);\n    }\n    /**\n     * Creates a focus-trapped region around the given element.\n     * @param element The element around which focus will be trapped.\n     * @param deferCaptureElements Defers the creation of focus-capturing elements to be done\n     *     manually by the user.\n     * @returns The created focus trap instance.\n     */\n    create(element, deferCaptureElements = false) {\n      return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements, this._injector);\n    }\n    static ɵfac = function FocusTrapFactory_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || FocusTrapFactory)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: FocusTrapFactory,\n      factory: FocusTrapFactory.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return FocusTrapFactory;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Directive for trapping focus within a region. */\nlet CdkTrapFocus = /*#__PURE__*/(() => {\n  class CdkTrapFocus {\n    _elementRef = inject(ElementRef);\n    _focusTrapFactory = inject(FocusTrapFactory);\n    /** Underlying FocusTrap instance. */\n    focusTrap;\n    /** Previously focused element to restore focus to upon destroy when using autoCapture. */\n    _previouslyFocusedElement = null;\n    /** Whether the focus trap is active. */\n    get enabled() {\n      return this.focusTrap?.enabled || false;\n    }\n    set enabled(value) {\n      if (this.focusTrap) {\n        this.focusTrap.enabled = value;\n      }\n    }\n    /**\n     * Whether the directive should automatically move focus into the trapped region upon\n     * initialization and return focus to the previous activeElement upon destruction.\n     */\n    autoCapture;\n    constructor() {\n      const platform = inject(Platform);\n      if (platform.isBrowser) {\n        this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n      }\n    }\n    ngOnDestroy() {\n      this.focusTrap?.destroy();\n      // If we stored a previously focused element when using autoCapture, return focus to that\n      // element now that the trapped region is being destroyed.\n      if (this._previouslyFocusedElement) {\n        this._previouslyFocusedElement.focus();\n        this._previouslyFocusedElement = null;\n      }\n    }\n    ngAfterContentInit() {\n      this.focusTrap?.attachAnchors();\n      if (this.autoCapture) {\n        this._captureFocus();\n      }\n    }\n    ngDoCheck() {\n      if (this.focusTrap && !this.focusTrap.hasAttached()) {\n        this.focusTrap.attachAnchors();\n      }\n    }\n    ngOnChanges(changes) {\n      const autoCaptureChange = changes['autoCapture'];\n      if (autoCaptureChange && !autoCaptureChange.firstChange && this.autoCapture && this.focusTrap?.hasAttached()) {\n        this._captureFocus();\n      }\n    }\n    _captureFocus() {\n      this._previouslyFocusedElement = _getFocusedElementPierceShadowDom();\n      this.focusTrap?.focusInitialElementWhenReady();\n    }\n    static ɵfac = function CdkTrapFocus_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkTrapFocus)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkTrapFocus,\n      selectors: [[\"\", \"cdkTrapFocus\", \"\"]],\n      inputs: {\n        enabled: [2, \"cdkTrapFocus\", \"enabled\", booleanAttribute],\n        autoCapture: [2, \"cdkTrapFocusAutoCapture\", \"autoCapture\", booleanAttribute]\n      },\n      exportAs: [\"cdkTrapFocus\"],\n      features: [i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return CdkTrapFocus;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst LIVE_ANNOUNCER_ELEMENT_TOKEN = /*#__PURE__*/new InjectionToken('liveAnnouncerElement', {\n  providedIn: 'root',\n  factory: LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY\n});\n/**\n * @docs-private\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0\n */\nfunction LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY() {\n  return null;\n}\n/** Injection token that can be used to configure the default options for the LiveAnnouncer. */\nconst LIVE_ANNOUNCER_DEFAULT_OPTIONS = /*#__PURE__*/new InjectionToken('LIVE_ANNOUNCER_DEFAULT_OPTIONS');\nlet uniqueIds = 0;\nlet LiveAnnouncer = /*#__PURE__*/(() => {\n  class LiveAnnouncer {\n    _ngZone = inject(NgZone);\n    _defaultOptions = inject(LIVE_ANNOUNCER_DEFAULT_OPTIONS, {\n      optional: true\n    });\n    _liveElement;\n    _document = inject(DOCUMENT);\n    _previousTimeout;\n    _currentPromise;\n    _currentResolve;\n    constructor() {\n      const elementToken = inject(LIVE_ANNOUNCER_ELEMENT_TOKEN, {\n        optional: true\n      });\n      this._liveElement = elementToken || this._createLiveElement();\n    }\n    announce(message, ...args) {\n      const defaultOptions = this._defaultOptions;\n      let politeness;\n      let duration;\n      if (args.length === 1 && typeof args[0] === 'number') {\n        duration = args[0];\n      } else {\n        [politeness, duration] = args;\n      }\n      this.clear();\n      clearTimeout(this._previousTimeout);\n      if (!politeness) {\n        politeness = defaultOptions && defaultOptions.politeness ? defaultOptions.politeness : 'polite';\n      }\n      if (duration == null && defaultOptions) {\n        duration = defaultOptions.duration;\n      }\n      // TODO: ensure changing the politeness works on all environments we support.\n      this._liveElement.setAttribute('aria-live', politeness);\n      if (this._liveElement.id) {\n        this._exposeAnnouncerToModals(this._liveElement.id);\n      }\n      // This 100ms timeout is necessary for some browser + screen-reader combinations:\n      // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\n      // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\n      //   second time without clearing and then using a non-zero delay.\n      // (using JAWS 17 at time of this writing).\n      return this._ngZone.runOutsideAngular(() => {\n        if (!this._currentPromise) {\n          this._currentPromise = new Promise(resolve => this._currentResolve = resolve);\n        }\n        clearTimeout(this._previousTimeout);\n        this._previousTimeout = setTimeout(() => {\n          this._liveElement.textContent = message;\n          if (typeof duration === 'number') {\n            this._previousTimeout = setTimeout(() => this.clear(), duration);\n          }\n          // For some reason in tests this can be undefined\n          // Probably related to ZoneJS and every other thing that patches browser APIs in tests\n          this._currentResolve?.();\n          this._currentPromise = this._currentResolve = undefined;\n        }, 100);\n        return this._currentPromise;\n      });\n    }\n    /**\n     * Clears the current text from the announcer element. Can be used to prevent\n     * screen readers from reading the text out again while the user is going\n     * through the page landmarks.\n     */\n    clear() {\n      if (this._liveElement) {\n        this._liveElement.textContent = '';\n      }\n    }\n    ngOnDestroy() {\n      clearTimeout(this._previousTimeout);\n      this._liveElement?.remove();\n      this._liveElement = null;\n      this._currentResolve?.();\n      this._currentPromise = this._currentResolve = undefined;\n    }\n    _createLiveElement() {\n      const elementClass = 'cdk-live-announcer-element';\n      const previousElements = this._document.getElementsByClassName(elementClass);\n      const liveEl = this._document.createElement('div');\n      // Remove any old containers. This can happen when coming in from a server-side-rendered page.\n      for (let i = 0; i < previousElements.length; i++) {\n        previousElements[i].remove();\n      }\n      liveEl.classList.add(elementClass);\n      liveEl.classList.add('cdk-visually-hidden');\n      liveEl.setAttribute('aria-atomic', 'true');\n      liveEl.setAttribute('aria-live', 'polite');\n      liveEl.id = `cdk-live-announcer-${uniqueIds++}`;\n      this._document.body.appendChild(liveEl);\n      return liveEl;\n    }\n    /**\n     * Some browsers won't expose the accessibility node of the live announcer element if there is an\n     * `aria-modal` and the live announcer is outside of it. This method works around the issue by\n     * pointing the `aria-owns` of all modals to the live announcer element.\n     */\n    _exposeAnnouncerToModals(id) {\n      // TODO(http://github.com/angular/components/issues/26853): consider de-duplicating this with\n      // the `SnakBarContainer` and other usages.\n      //\n      // Note that the selector here is limited to CDK overlays at the moment in order to reduce the\n      // section of the DOM we need to look through. This should cover all the cases we support, but\n      // the selector can be expanded if it turns out to be too narrow.\n      const modals = this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal=\"true\"]');\n      for (let i = 0; i < modals.length; i++) {\n        const modal = modals[i];\n        const ariaOwns = modal.getAttribute('aria-owns');\n        if (!ariaOwns) {\n          modal.setAttribute('aria-owns', id);\n        } else if (ariaOwns.indexOf(id) === -1) {\n          modal.setAttribute('aria-owns', ariaOwns + ' ' + id);\n        }\n      }\n    }\n    static ɵfac = function LiveAnnouncer_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || LiveAnnouncer)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: LiveAnnouncer,\n      factory: LiveAnnouncer.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return LiveAnnouncer;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * A directive that works similarly to aria-live, but uses the LiveAnnouncer to ensure compatibility\n * with a wider range of browsers and screen readers.\n */\nlet CdkAriaLive = /*#__PURE__*/(() => {\n  class CdkAriaLive {\n    _elementRef = inject(ElementRef);\n    _liveAnnouncer = inject(LiveAnnouncer);\n    _contentObserver = inject(ContentObserver);\n    _ngZone = inject(NgZone);\n    /** The aria-live politeness level to use when announcing messages. */\n    get politeness() {\n      return this._politeness;\n    }\n    set politeness(value) {\n      this._politeness = value === 'off' || value === 'assertive' ? value : 'polite';\n      if (this._politeness === 'off') {\n        if (this._subscription) {\n          this._subscription.unsubscribe();\n          this._subscription = null;\n        }\n      } else if (!this._subscription) {\n        this._subscription = this._ngZone.runOutsideAngular(() => {\n          return this._contentObserver.observe(this._elementRef).subscribe(() => {\n            // Note that we use textContent here, rather than innerText, in order to avoid a reflow.\n            const elementText = this._elementRef.nativeElement.textContent;\n            // The `MutationObserver` fires also for attribute\n            // changes which we don't want to announce.\n            if (elementText !== this._previousAnnouncedText) {\n              this._liveAnnouncer.announce(elementText, this._politeness, this.duration);\n              this._previousAnnouncedText = elementText;\n            }\n          });\n        });\n      }\n    }\n    _politeness = 'polite';\n    /** Time in milliseconds after which to clear out the announcer element. */\n    duration;\n    _previousAnnouncedText;\n    _subscription;\n    constructor() {\n      inject(_CdkPrivateStyleLoader).load(_VisuallyHiddenLoader);\n    }\n    ngOnDestroy() {\n      if (this._subscription) {\n        this._subscription.unsubscribe();\n      }\n    }\n    static ɵfac = function CdkAriaLive_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkAriaLive)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkAriaLive,\n      selectors: [[\"\", \"cdkAriaLive\", \"\"]],\n      inputs: {\n        politeness: [0, \"cdkAriaLive\", \"politeness\"],\n        duration: [0, \"cdkAriaLiveDuration\", \"duration\"]\n      },\n      exportAs: [\"cdkAriaLive\"]\n    });\n  }\n  return CdkAriaLive;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Set of possible high-contrast mode backgrounds. */\nvar HighContrastMode = /*#__PURE__*/function (HighContrastMode) {\n  HighContrastMode[HighContrastMode[\"NONE\"] = 0] = \"NONE\";\n  HighContrastMode[HighContrastMode[\"BLACK_ON_WHITE\"] = 1] = \"BLACK_ON_WHITE\";\n  HighContrastMode[HighContrastMode[\"WHITE_ON_BLACK\"] = 2] = \"WHITE_ON_BLACK\";\n  return HighContrastMode;\n}(HighContrastMode || {});\n/** CSS class applied to the document body when in black-on-white high-contrast mode. */\nconst BLACK_ON_WHITE_CSS_CLASS = 'cdk-high-contrast-black-on-white';\n/** CSS class applied to the document body when in white-on-black high-contrast mode. */\nconst WHITE_ON_BLACK_CSS_CLASS = 'cdk-high-contrast-white-on-black';\n/** CSS class applied to the document body when in high-contrast mode. */\nconst HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS = 'cdk-high-contrast-active';\n/**\n * Service to determine whether the browser is currently in a high-contrast-mode environment.\n *\n * Microsoft Windows supports an accessibility feature called \"High Contrast Mode\". This mode\n * changes the appearance of all applications, including web applications, to dramatically increase\n * contrast.\n *\n * IE, Edge, and Firefox currently support this mode. Chrome does not support Windows High Contrast\n * Mode. This service does not detect high-contrast mode as added by the Chrome \"High Contrast\"\n * browser extension.\n */\nlet HighContrastModeDetector = /*#__PURE__*/(() => {\n  class HighContrastModeDetector {\n    _platform = inject(Platform);\n    /**\n     * Figuring out the high contrast mode and adding the body classes can cause\n     * some expensive layouts. This flag is used to ensure that we only do it once.\n     */\n    _hasCheckedHighContrastMode;\n    _document = inject(DOCUMENT);\n    _breakpointSubscription;\n    constructor() {\n      this._breakpointSubscription = inject(BreakpointObserver).observe('(forced-colors: active)').subscribe(() => {\n        if (this._hasCheckedHighContrastMode) {\n          this._hasCheckedHighContrastMode = false;\n          this._applyBodyHighContrastModeCssClasses();\n        }\n      });\n    }\n    /** Gets the current high-contrast-mode for the page. */\n    getHighContrastMode() {\n      if (!this._platform.isBrowser) {\n        return HighContrastMode.NONE;\n      }\n      // Create a test element with an arbitrary background-color that is neither black nor\n      // white; high-contrast mode will coerce the color to either black or white. Also ensure that\n      // appending the test element to the DOM does not affect layout by absolutely positioning it\n      const testElement = this._document.createElement('div');\n      testElement.style.backgroundColor = 'rgb(1,2,3)';\n      testElement.style.position = 'absolute';\n      this._document.body.appendChild(testElement);\n      // Get the computed style for the background color, collapsing spaces to normalize between\n      // browsers. Once we get this color, we no longer need the test element. Access the `window`\n      // via the document so we can fake it in tests. Note that we have extra null checks, because\n      // this logic will likely run during app bootstrap and throwing can break the entire app.\n      const documentWindow = this._document.defaultView || window;\n      const computedStyle = documentWindow && documentWindow.getComputedStyle ? documentWindow.getComputedStyle(testElement) : null;\n      const computedColor = (computedStyle && computedStyle.backgroundColor || '').replace(/ /g, '');\n      testElement.remove();\n      switch (computedColor) {\n        // Pre Windows 11 dark theme.\n        case 'rgb(0,0,0)':\n        // Windows 11 dark themes.\n        case 'rgb(45,50,54)':\n        case 'rgb(32,32,32)':\n          return HighContrastMode.WHITE_ON_BLACK;\n        // Pre Windows 11 light theme.\n        case 'rgb(255,255,255)':\n        // Windows 11 light theme.\n        case 'rgb(255,250,239)':\n          return HighContrastMode.BLACK_ON_WHITE;\n      }\n      return HighContrastMode.NONE;\n    }\n    ngOnDestroy() {\n      this._breakpointSubscription.unsubscribe();\n    }\n    /** Applies CSS classes indicating high-contrast mode to document body (browser-only). */\n    _applyBodyHighContrastModeCssClasses() {\n      if (!this._hasCheckedHighContrastMode && this._platform.isBrowser && this._document.body) {\n        const bodyClasses = this._document.body.classList;\n        bodyClasses.remove(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS, BLACK_ON_WHITE_CSS_CLASS, WHITE_ON_BLACK_CSS_CLASS);\n        this._hasCheckedHighContrastMode = true;\n        const mode = this.getHighContrastMode();\n        if (mode === HighContrastMode.BLACK_ON_WHITE) {\n          bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS, BLACK_ON_WHITE_CSS_CLASS);\n        } else if (mode === HighContrastMode.WHITE_ON_BLACK) {\n          bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS, WHITE_ON_BLACK_CSS_CLASS);\n        }\n      }\n    }\n    static ɵfac = function HighContrastModeDetector_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || HighContrastModeDetector)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: HighContrastModeDetector,\n      factory: HighContrastModeDetector.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return HighContrastModeDetector;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet A11yModule = /*#__PURE__*/(() => {\n  class A11yModule {\n    constructor() {\n      inject(HighContrastModeDetector)._applyBodyHighContrastModeCssClasses();\n    }\n    static ɵfac = function A11yModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || A11yModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: A11yModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [ObserversModule]\n    });\n  }\n  return A11yModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { A11yModule as A, CdkTrapFocus as C, FocusTrapFactory as F, HighContrastModeDetector as H, InteractivityChecker as I, LiveAnnouncer as L, FocusTrap as a, HighContrastMode as b, IsFocusableConfig as c, CdkAriaLive as d, LIVE_ANNOUNCER_ELEMENT_TOKEN as e, LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY as f, LIVE_ANNOUNCER_DEFAULT_OPTIONS as g };\n","import * as i0 from '@angular/core';\nimport { inject, APP_ID, Injectable } from '@angular/core';\n\n/**\n * Keeps track of the ID count per prefix. This helps us make the IDs a bit more deterministic\n * like they were before the service was introduced. Note that ideally we wouldn't have to do\n * this, but there are some internal tests that rely on the IDs.\n */\nconst counters = {};\n/** Service that generates unique IDs for DOM nodes. */\nlet _IdGenerator = /*#__PURE__*/(() => {\n  class _IdGenerator {\n    _appId = inject(APP_ID);\n    /**\n     * Generates a unique ID with a specific prefix.\n     * @param prefix Prefix to add to the ID.\n     */\n    getId(prefix) {\n      // Omit the app ID if it's the default `ng`. Since the vast majority of pages have one\n      // Angular app on them, we can reduce the amount of breakages by not adding it.\n      if (this._appId !== 'ng') {\n        prefix += this._appId;\n      }\n      if (!counters.hasOwnProperty(prefix)) {\n        counters[prefix] = 0;\n      }\n      return `${prefix}${counters[prefix]++}`;\n    }\n    static ɵfac = function _IdGenerator_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || _IdGenerator)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: _IdGenerator,\n      factory: _IdGenerator.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return _IdGenerator;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { _IdGenerator as _ };\n","import { Subject } from 'rxjs';\nimport { tap, debounceTime, filter, map } from 'rxjs/operators';\nimport { A, Z, b as ZERO, N as NINE } from './keycodes-CpHkExLC.mjs';\nconst DEFAULT_TYPEAHEAD_DEBOUNCE_INTERVAL_MS = 200;\n/**\n * Selects items based on keyboard inputs. Implements the typeahead functionality of\n * `role=\"listbox\"` or `role=\"tree\"` and other related roles.\n */\nclass Typeahead {\n  _letterKeyStream = /*#__PURE__*/new Subject();\n  _items = [];\n  _selectedItemIndex = -1;\n  /** Buffer for the letters that the user has pressed */\n  _pressedLetters = [];\n  _skipPredicateFn;\n  _selectedItem = /*#__PURE__*/new Subject();\n  selectedItem = this._selectedItem;\n  constructor(initialItems, config) {\n    const typeAheadInterval = typeof config?.debounceInterval === 'number' ? config.debounceInterval : DEFAULT_TYPEAHEAD_DEBOUNCE_INTERVAL_MS;\n    if (config?.skipPredicate) {\n      this._skipPredicateFn = config.skipPredicate;\n    }\n    if ((typeof ngDevMode === 'undefined' || ngDevMode) && initialItems.length && initialItems.some(item => typeof item.getLabel !== 'function')) {\n      throw new Error('KeyManager items in typeahead mode must implement the `getLabel` method.');\n    }\n    this.setItems(initialItems);\n    this._setupKeyHandler(typeAheadInterval);\n  }\n  destroy() {\n    this._pressedLetters = [];\n    this._letterKeyStream.complete();\n    this._selectedItem.complete();\n  }\n  setCurrentSelectedItemIndex(index) {\n    this._selectedItemIndex = index;\n  }\n  setItems(items) {\n    this._items = items;\n  }\n  handleKey(event) {\n    const keyCode = event.keyCode;\n    // Attempt to use the `event.key` which also maps it to the user's keyboard language,\n    // otherwise fall back to resolving alphanumeric characters via the keyCode.\n    if (event.key && event.key.length === 1) {\n      this._letterKeyStream.next(event.key.toLocaleUpperCase());\n    } else if (keyCode >= A && keyCode <= Z || keyCode >= ZERO && keyCode <= NINE) {\n      this._letterKeyStream.next(String.fromCharCode(keyCode));\n    }\n  }\n  /** Gets whether the user is currently typing into the manager using the typeahead feature. */\n  isTyping() {\n    return this._pressedLetters.length > 0;\n  }\n  /** Resets the currently stored sequence of typed letters. */\n  reset() {\n    this._pressedLetters = [];\n  }\n  _setupKeyHandler(typeAheadInterval) {\n    // Debounce the presses of non-navigational keys, collect the ones that correspond to letters\n    // and convert those letters back into a string. Afterwards find the first item that starts\n    // with that string and select it.\n    this._letterKeyStream.pipe(tap(letter => this._pressedLetters.push(letter)), debounceTime(typeAheadInterval), filter(() => this._pressedLetters.length > 0), map(() => this._pressedLetters.join('').toLocaleUpperCase())).subscribe(inputString => {\n      // Start at 1 because we want to start searching at the item immediately\n      // following the current active item.\n      for (let i = 1; i < this._items.length + 1; i++) {\n        const index = (this._selectedItemIndex + i) % this._items.length;\n        const item = this._items[index];\n        if (!this._skipPredicateFn?.(item) && item.getLabel?.().toLocaleUpperCase().trim().indexOf(inputString) === 0) {\n          this._selectedItem.next(item);\n          break;\n        }\n      }\n      this._pressedLetters = [];\n    });\n  }\n}\nexport { Typeahead as T };\n","export { A, d as ALT, aX as APOSTROPHE, a1 as AT_SIGN, a2 as B, a_ as BACKSLASH, B as BACKSPACE, a3 as C, y as CAPS_LOCK, a$ as CLOSE_SQUARE_BRACKET, u as COMMA, as as CONTEXT_MENU, C as CONTROL, a4 as D, aV as DASH, i as DELETE, D as DOWN_ARROW, a5 as E, Y as EIGHT, E as END, c as ENTER, aU as EQUALS, g as ESCAPE, a6 as F, F as F1, r as F10, s as F11, t as F12, j as F2, k as F3, l as F4, m as F5, n as F6, o as F7, p as F8, q as F9, $ as FF_EQUALS, aL as FF_MINUS, aP as FF_MUTE, _ as FF_SEMICOLON, aQ as FF_VOLUME_DOWN, aS as FF_VOLUME_UP, aK as FIRST_MEDIA, V as FIVE, Q as FOUR, a7 as G, a8 as H, H as HOME, a9 as I, I as INSERT, aa as J, ab as K, ac as L, aR as LAST_MEDIA, L as LEFT_ARROW, ad as M, v as MAC_ENTER, M as MAC_META, aq as MAC_WK_CMD_LEFT, ar as MAC_WK_CMD_RIGHT, e as META, aM as MUTE, ae as N, N as NINE, aH as NUMPAD_DIVIDE, aB as NUMPAD_EIGHT, ay as NUMPAD_FIVE, ax as NUMPAD_FOUR, aF as NUMPAD_MINUS, aD as NUMPAD_MULTIPLY, aC as NUMPAD_NINE, au as NUMPAD_ONE, aG as NUMPAD_PERIOD, aE as NUMPAD_PLUS, aA as NUMPAD_SEVEN, az as NUMPAD_SIX, aw as NUMPAD_THREE, av as NUMPAD_TWO, at as NUMPAD_ZERO, w as NUM_CENTER, aI as NUM_LOCK, af as O, O as ONE, aZ as OPEN_SQUARE_BRACKET, ag as P, P as PAGE_DOWN, a as PAGE_UP, x as PAUSE, h as PERIOD, z as PLUS_SIGN, G as PRINT_SCREEN, ah as Q, a0 as QUESTION_MARK, ai as R, R as RIGHT_ARROW, aj as S, aJ as SCROLL_LOCK, aT as SEMICOLON, X as SEVEN, f as SHIFT, b0 as SINGLE_QUOTE, W as SIX, aW as SLASH, S as SPACE, ak as T, T as TAB, K as THREE, aY as TILDE, J as TWO, al as U, U as UP_ARROW, am as V, aN as VOLUME_DOWN, aO as VOLUME_UP, an as W, ao as X, ap as Y, Z, b as ZERO } from './keycodes-CpHkExLC.mjs';\n\n/**\n * Checks whether a modifier key is pressed.\n * @param event Event to be checked.\n */\nfunction hasModifierKey(event, ...modifiers) {\n  if (modifiers.length) {\n    return modifiers.some(modifier => event[modifier]);\n  }\n  return event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;\n}\nexport { hasModifierKey };\n","import { signal, QueryList, isSignal, effect } from '@angular/core';\nimport { Subscription, Subject } from 'rxjs';\nimport { T as Typeahead } from './typeahead-9ZW4Dtsf.mjs';\nimport { hasModifierKey } from './keycodes.mjs';\nimport { P as PAGE_DOWN, a as PAGE_UP, E as END, H as HOME, L as LEFT_ARROW, R as RIGHT_ARROW, U as UP_ARROW, D as DOWN_ARROW, T as TAB } from './keycodes-CpHkExLC.mjs';\n\n/**\n * This class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nclass ListKeyManager {\n  _items;\n  _activeItemIndex = -1;\n  _activeItem = /*#__PURE__*/signal(null);\n  _wrap = false;\n  _typeaheadSubscription = Subscription.EMPTY;\n  _itemChangesSubscription;\n  _vertical = true;\n  _horizontal;\n  _allowedModifierKeys = [];\n  _homeAndEnd = false;\n  _pageUpAndDown = {\n    enabled: false,\n    delta: 10\n  };\n  _effectRef;\n  _typeahead;\n  /**\n   * Predicate function that can be used to check whether an item should be skipped\n   * by the key manager. By default, disabled items are skipped.\n   */\n  _skipPredicateFn = item => item.disabled;\n  constructor(_items, injector) {\n    this._items = _items;\n    // We allow for the items to be an array because, in some cases, the consumer may\n    // not have access to a QueryList of the items they want to manage (e.g. when the\n    // items aren't being collected via `ViewChildren` or `ContentChildren`).\n    if (_items instanceof QueryList) {\n      this._itemChangesSubscription = _items.changes.subscribe(newItems => this._itemsChanged(newItems.toArray()));\n    } else if (isSignal(_items)) {\n      if (!injector && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw new Error('ListKeyManager constructed with a signal must receive an injector');\n      }\n      this._effectRef = effect(() => this._itemsChanged(_items()), {\n        injector\n      });\n    }\n  }\n  /**\n   * Stream that emits any time the TAB key is pressed, so components can react\n   * when focus is shifted off of the list.\n   */\n  tabOut = /*#__PURE__*/new Subject();\n  /** Stream that emits whenever the active item of the list manager changes. */\n  change = /*#__PURE__*/new Subject();\n  /**\n   * Sets the predicate function that determines which items should be skipped by the\n   * list key manager.\n   * @param predicate Function that determines whether the given item should be skipped.\n   */\n  skipPredicate(predicate) {\n    this._skipPredicateFn = predicate;\n    return this;\n  }\n  /**\n   * Configures wrapping mode, which determines whether the active item will wrap to\n   * the other end of list when there are no more items in the given direction.\n   * @param shouldWrap Whether the list should wrap when reaching the end.\n   */\n  withWrap(shouldWrap = true) {\n    this._wrap = shouldWrap;\n    return this;\n  }\n  /**\n   * Configures whether the key manager should be able to move the selection vertically.\n   * @param enabled Whether vertical selection should be enabled.\n   */\n  withVerticalOrientation(enabled = true) {\n    this._vertical = enabled;\n    return this;\n  }\n  /**\n   * Configures the key manager to move the selection horizontally.\n   * Passing in `null` will disable horizontal movement.\n   * @param direction Direction in which the selection can be moved.\n   */\n  withHorizontalOrientation(direction) {\n    this._horizontal = direction;\n    return this;\n  }\n  /**\n   * Modifier keys which are allowed to be held down and whose default actions will be prevented\n   * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.\n   */\n  withAllowedModifierKeys(keys) {\n    this._allowedModifierKeys = keys;\n    return this;\n  }\n  /**\n   * Turns on typeahead mode which allows users to set the active item by typing.\n   * @param debounceInterval Time to wait after the last keystroke before setting the active item.\n   */\n  withTypeAhead(debounceInterval = 200) {\n    if (typeof ngDevMode === 'undefined' || ngDevMode) {\n      const items = this._getItemsArray();\n      if (items.length > 0 && items.some(item => typeof item.getLabel !== 'function')) {\n        throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n      }\n    }\n    this._typeaheadSubscription.unsubscribe();\n    const items = this._getItemsArray();\n    this._typeahead = new Typeahead(items, {\n      debounceInterval: typeof debounceInterval === 'number' ? debounceInterval : undefined,\n      skipPredicate: item => this._skipPredicateFn(item)\n    });\n    this._typeaheadSubscription = this._typeahead.selectedItem.subscribe(item => {\n      this.setActiveItem(item);\n    });\n    return this;\n  }\n  /** Cancels the current typeahead sequence. */\n  cancelTypeahead() {\n    this._typeahead?.reset();\n    return this;\n  }\n  /**\n   * Configures the key manager to activate the first and last items\n   * respectively when the Home or End key is pressed.\n   * @param enabled Whether pressing the Home or End key activates the first/last item.\n   */\n  withHomeAndEnd(enabled = true) {\n    this._homeAndEnd = enabled;\n    return this;\n  }\n  /**\n   * Configures the key manager to activate every 10th, configured or first/last element in up/down direction\n   * respectively when the Page-Up or Page-Down key is pressed.\n   * @param enabled Whether pressing the Page-Up or Page-Down key activates the first/last item.\n   * @param delta Whether pressing the Home or End key activates the first/last item.\n   */\n  withPageUpDown(enabled = true, delta = 10) {\n    this._pageUpAndDown = {\n      enabled,\n      delta\n    };\n    return this;\n  }\n  setActiveItem(item) {\n    const previousActiveItem = this._activeItem();\n    this.updateActiveItem(item);\n    if (this._activeItem() !== previousActiveItem) {\n      this.change.next(this._activeItemIndex);\n    }\n  }\n  /**\n   * Sets the active item depending on the key event passed in.\n   * @param event Keyboard event to be used for determining which element should be active.\n   */\n  onKeydown(event) {\n    const keyCode = event.keyCode;\n    const modifiers = ['altKey', 'ctrlKey', 'metaKey', 'shiftKey'];\n    const isModifierAllowed = modifiers.every(modifier => {\n      return !event[modifier] || this._allowedModifierKeys.indexOf(modifier) > -1;\n    });\n    switch (keyCode) {\n      case TAB:\n        this.tabOut.next();\n        return;\n      case DOWN_ARROW:\n        if (this._vertical && isModifierAllowed) {\n          this.setNextItemActive();\n          break;\n        } else {\n          return;\n        }\n      case UP_ARROW:\n        if (this._vertical && isModifierAllowed) {\n          this.setPreviousItemActive();\n          break;\n        } else {\n          return;\n        }\n      case RIGHT_ARROW:\n        if (this._horizontal && isModifierAllowed) {\n          this._horizontal === 'rtl' ? this.setPreviousItemActive() : this.setNextItemActive();\n          break;\n        } else {\n          return;\n        }\n      case LEFT_ARROW:\n        if (this._horizontal && isModifierAllowed) {\n          this._horizontal === 'rtl' ? this.setNextItemActive() : this.setPreviousItemActive();\n          break;\n        } else {\n          return;\n        }\n      case HOME:\n        if (this._homeAndEnd && isModifierAllowed) {\n          this.setFirstItemActive();\n          break;\n        } else {\n          return;\n        }\n      case END:\n        if (this._homeAndEnd && isModifierAllowed) {\n          this.setLastItemActive();\n          break;\n        } else {\n          return;\n        }\n      case PAGE_UP:\n        if (this._pageUpAndDown.enabled && isModifierAllowed) {\n          const targetIndex = this._activeItemIndex - this._pageUpAndDown.delta;\n          this._setActiveItemByIndex(targetIndex > 0 ? targetIndex : 0, 1);\n          break;\n        } else {\n          return;\n        }\n      case PAGE_DOWN:\n        if (this._pageUpAndDown.enabled && isModifierAllowed) {\n          const targetIndex = this._activeItemIndex + this._pageUpAndDown.delta;\n          const itemsLength = this._getItemsArray().length;\n          this._setActiveItemByIndex(targetIndex < itemsLength ? targetIndex : itemsLength - 1, -1);\n          break;\n        } else {\n          return;\n        }\n      default:\n        if (isModifierAllowed || hasModifierKey(event, 'shiftKey')) {\n          this._typeahead?.handleKey(event);\n        }\n        // Note that we return here, in order to avoid preventing\n        // the default action of non-navigational keys.\n        return;\n    }\n    this._typeahead?.reset();\n    event.preventDefault();\n  }\n  /** Index of the currently active item. */\n  get activeItemIndex() {\n    return this._activeItemIndex;\n  }\n  /** The active item. */\n  get activeItem() {\n    return this._activeItem();\n  }\n  /** Gets whether the user is currently typing into the manager using the typeahead feature. */\n  isTyping() {\n    return !!this._typeahead && this._typeahead.isTyping();\n  }\n  /** Sets the active item to the first enabled item in the list. */\n  setFirstItemActive() {\n    this._setActiveItemByIndex(0, 1);\n  }\n  /** Sets the active item to the last enabled item in the list. */\n  setLastItemActive() {\n    this._setActiveItemByIndex(this._getItemsArray().length - 1, -1);\n  }\n  /** Sets the active item to the next enabled item in the list. */\n  setNextItemActive() {\n    this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n  }\n  /** Sets the active item to a previous enabled item in the list. */\n  setPreviousItemActive() {\n    this._activeItemIndex < 0 && this._wrap ? this.setLastItemActive() : this._setActiveItemByDelta(-1);\n  }\n  updateActiveItem(item) {\n    const itemArray = this._getItemsArray();\n    const index = typeof item === 'number' ? item : itemArray.indexOf(item);\n    const activeItem = itemArray[index];\n    // Explicitly check for `null` and `undefined` because other falsy values are valid.\n    this._activeItem.set(activeItem == null ? null : activeItem);\n    this._activeItemIndex = index;\n    this._typeahead?.setCurrentSelectedItemIndex(index);\n  }\n  /** Cleans up the key manager. */\n  destroy() {\n    this._typeaheadSubscription.unsubscribe();\n    this._itemChangesSubscription?.unsubscribe();\n    this._effectRef?.destroy();\n    this._typeahead?.destroy();\n    this.tabOut.complete();\n    this.change.complete();\n  }\n  /**\n   * This method sets the active item, given a list of items and the delta between the\n   * currently active item and the new active item. It will calculate differently\n   * depending on whether wrap mode is turned on.\n   */\n  _setActiveItemByDelta(delta) {\n    this._wrap ? this._setActiveInWrapMode(delta) : this._setActiveInDefaultMode(delta);\n  }\n  /**\n   * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n   * down the list until it finds an item that is not disabled, and it will wrap if it\n   * encounters either end of the list.\n   */\n  _setActiveInWrapMode(delta) {\n    const items = this._getItemsArray();\n    for (let i = 1; i <= items.length; i++) {\n      const index = (this._activeItemIndex + delta * i + items.length) % items.length;\n      const item = items[index];\n      if (!this._skipPredicateFn(item)) {\n        this.setActiveItem(index);\n        return;\n      }\n    }\n  }\n  /**\n   * Sets the active item properly given the default mode. In other words, it will\n   * continue to move down the list until it finds an item that is not disabled. If\n   * it encounters either end of the list, it will stop and not wrap.\n   */\n  _setActiveInDefaultMode(delta) {\n    this._setActiveItemByIndex(this._activeItemIndex + delta, delta);\n  }\n  /**\n   * Sets the active item to the first enabled item starting at the index specified. If the\n   * item is disabled, it will move in the fallbackDelta direction until it either\n   * finds an enabled item or encounters the end of the list.\n   */\n  _setActiveItemByIndex(index, fallbackDelta) {\n    const items = this._getItemsArray();\n    if (!items[index]) {\n      return;\n    }\n    while (this._skipPredicateFn(items[index])) {\n      index += fallbackDelta;\n      if (!items[index]) {\n        return;\n      }\n    }\n    this.setActiveItem(index);\n  }\n  /** Returns the items as an array. */\n  _getItemsArray() {\n    if (isSignal(this._items)) {\n      return this._items();\n    }\n    return this._items instanceof QueryList ? this._items.toArray() : this._items;\n  }\n  /** Callback for when the items have changed. */\n  _itemsChanged(newItems) {\n    this._typeahead?.setItems(newItems);\n    const activeItem = this._activeItem();\n    if (activeItem) {\n      const newIndex = newItems.indexOf(activeItem);\n      if (newIndex > -1 && newIndex !== this._activeItemIndex) {\n        this._activeItemIndex = newIndex;\n        this._typeahead?.setCurrentSelectedItemIndex(newIndex);\n      }\n    }\n  }\n}\nexport { ListKeyManager as L };\n","import { L as ListKeyManager } from './list-key-manager-CyOIXo8P.mjs';\nclass FocusKeyManager extends ListKeyManager {\n  _origin = 'program';\n  /**\n   * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.\n   * @param origin Focus origin to be used when focusing items.\n   */\n  setFocusOrigin(origin) {\n    this._origin = origin;\n    return this;\n  }\n  setActiveItem(item) {\n    super.setActiveItem(item);\n    if (this.activeItem) {\n      this.activeItem.focus(this._origin);\n    }\n  }\n}\nexport { FocusKeyManager as F };\n","export { C as CdkMonitorFocus, d as FOCUS_MONITOR_DEFAULT_OPTIONS, F as FocusMonitor, c as FocusMonitorDetectionMode, a as INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS, b as INPUT_MODALITY_DETECTOR_OPTIONS, I as InputModalityDetector } from './focus-monitor-e2l_RpN3.mjs';\nimport { a as FocusTrap, I as InteractivityChecker } from './a11y-module-BYox5gpI.mjs';\nexport { A as A11yModule, d as CdkAriaLive, C as CdkTrapFocus, F as FocusTrapFactory, b as HighContrastMode, H as HighContrastModeDetector, c as IsFocusableConfig, g as LIVE_ANNOUNCER_DEFAULT_OPTIONS, e as LIVE_ANNOUNCER_ELEMENT_TOKEN, f as LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY, L as LiveAnnouncer } from './a11y-module-BYox5gpI.mjs';\nexport { _ as _IdGenerator } from './id-generator-Dw_9dSDu.mjs';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { inject, APP_ID, Injectable, InjectionToken, NgZone, Injector } from '@angular/core';\nimport { P as Platform } from './platform-DmdVEw_C.mjs';\nimport { _ as _CdkPrivateStyleLoader } from './style-loader-Cu9AvjH9.mjs';\nimport { _VisuallyHiddenLoader } from './private.mjs';\nexport { A as ActiveDescendantKeyManager } from './activedescendant-key-manager-DC3-fwQI.mjs';\nexport { F as FocusKeyManager } from './focus-key-manager-C1rAQJ5z.mjs';\nexport { L as ListKeyManager } from './list-key-manager-CyOIXo8P.mjs';\nimport { Subject } from 'rxjs';\nimport { T as TREE_KEY_MANAGER } from './tree-key-manager-KnCoIkIC.mjs';\nexport { b as TREE_KEY_MANAGER_FACTORY, c as TREE_KEY_MANAGER_FACTORY_PROVIDER, a as TreeKeyManager } from './tree-key-manager-KnCoIkIC.mjs';\nexport { i as isFakeMousedownFromScreenReader, a as isFakeTouchstartFromScreenReader } from './fake-event-detection-DWOdFTFz.mjs';\nimport 'rxjs/operators';\nimport './keycodes-CpHkExLC.mjs';\nimport './shadow-dom-B0oHn41l.mjs';\nimport './backwards-compatibility-DHR38MsD.mjs';\nimport './passive-listeners-esHZRgIN.mjs';\nimport './element-x4z00URv.mjs';\nimport './breakpoints-observer-CljOfYGy.mjs';\nimport './array-I1yfCXUO.mjs';\nimport './observers.mjs';\nimport './typeahead-9ZW4Dtsf.mjs';\nimport './keycodes.mjs';\nimport './coercion/private.mjs';\n\n/** IDs are delimited by an empty space, as per the spec. */\nconst ID_DELIMITER = ' ';\n/**\n * Adds the given ID to the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction addAriaReferencedId(el, attr, id) {\n  const ids = getAriaReferenceIds(el, attr);\n  id = id.trim();\n  if (ids.some(existingId => existingId.trim() === id)) {\n    return;\n  }\n  ids.push(id);\n  el.setAttribute(attr, ids.join(ID_DELIMITER));\n}\n/**\n * Removes the given ID from the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction removeAriaReferencedId(el, attr, id) {\n  const ids = getAriaReferenceIds(el, attr);\n  id = id.trim();\n  const filteredIds = ids.filter(val => val !== id);\n  if (filteredIds.length) {\n    el.setAttribute(attr, filteredIds.join(ID_DELIMITER));\n  } else {\n    el.removeAttribute(attr);\n  }\n}\n/**\n * Gets the list of IDs referenced by the given ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction getAriaReferenceIds(el, attr) {\n  // Get string array of all individual ids (whitespace delimited) in the attribute value\n  const attrValue = el.getAttribute(attr);\n  return attrValue?.match(/\\S+/g) ?? [];\n}\n\n/**\n * ID used for the body container where all messages are appended.\n * @deprecated No longer being used. To be removed.\n * @breaking-change 14.0.0\n */\nconst MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';\n/**\n * ID prefix used for each created message element.\n * @deprecated To be turned into a private variable.\n * @breaking-change 14.0.0\n */\nconst CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';\n/**\n * Attribute given to each host element that is described by a message element.\n * @deprecated To be turned into a private variable.\n * @breaking-change 14.0.0\n */\nconst CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';\n/** Global incremental identifier for each registered message element. */\nlet nextId = 0;\n/**\n * Utility that creates visually hidden elements with a message content. Useful for elements that\n * want to use aria-describedby to further describe themselves without adding additional visual\n * content.\n */\nlet AriaDescriber = /*#__PURE__*/(() => {\n  class AriaDescriber {\n    _platform = inject(Platform);\n    _document = inject(DOCUMENT);\n    /** Map of all registered message elements that have been placed into the document. */\n    _messageRegistry = new Map();\n    /** Container for all registered messages. */\n    _messagesContainer = null;\n    /** Unique ID for the service. */\n    _id = `${nextId++}`;\n    constructor() {\n      inject(_CdkPrivateStyleLoader).load(_VisuallyHiddenLoader);\n      this._id = inject(APP_ID) + '-' + nextId++;\n    }\n    describe(hostElement, message, role) {\n      if (!this._canBeDescribed(hostElement, message)) {\n        return;\n      }\n      const key = getKey(message, role);\n      if (typeof message !== 'string') {\n        // We need to ensure that the element has an ID.\n        setMessageId(message, this._id);\n        this._messageRegistry.set(key, {\n          messageElement: message,\n          referenceCount: 0\n        });\n      } else if (!this._messageRegistry.has(key)) {\n        this._createMessageElement(message, role);\n      }\n      if (!this._isElementDescribedByMessage(hostElement, key)) {\n        this._addMessageReference(hostElement, key);\n      }\n    }\n    removeDescription(hostElement, message, role) {\n      if (!message || !this._isElementNode(hostElement)) {\n        return;\n      }\n      const key = getKey(message, role);\n      if (this._isElementDescribedByMessage(hostElement, key)) {\n        this._removeMessageReference(hostElement, key);\n      }\n      // If the message is a string, it means that it's one that we created for the\n      // consumer so we can remove it safely, otherwise we should leave it in place.\n      if (typeof message === 'string') {\n        const registeredMessage = this._messageRegistry.get(key);\n        if (registeredMessage && registeredMessage.referenceCount === 0) {\n          this._deleteMessageElement(key);\n        }\n      }\n      if (this._messagesContainer?.childNodes.length === 0) {\n        this._messagesContainer.remove();\n        this._messagesContainer = null;\n      }\n    }\n    /** Unregisters all created message elements and removes the message container. */\n    ngOnDestroy() {\n      const describedElements = this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}=\"${this._id}\"]`);\n      for (let i = 0; i < describedElements.length; i++) {\n        this._removeCdkDescribedByReferenceIds(describedElements[i]);\n        describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n      }\n      this._messagesContainer?.remove();\n      this._messagesContainer = null;\n      this._messageRegistry.clear();\n    }\n    /**\n     * Creates a new element in the visually hidden message container element with the message\n     * as its content and adds it to the message registry.\n     */\n    _createMessageElement(message, role) {\n      const messageElement = this._document.createElement('div');\n      setMessageId(messageElement, this._id);\n      messageElement.textContent = message;\n      if (role) {\n        messageElement.setAttribute('role', role);\n      }\n      this._createMessagesContainer();\n      this._messagesContainer.appendChild(messageElement);\n      this._messageRegistry.set(getKey(message, role), {\n        messageElement,\n        referenceCount: 0\n      });\n    }\n    /** Deletes the message element from the global messages container. */\n    _deleteMessageElement(key) {\n      this._messageRegistry.get(key)?.messageElement?.remove();\n      this._messageRegistry.delete(key);\n    }\n    /** Creates the global container for all aria-describedby messages. */\n    _createMessagesContainer() {\n      if (this._messagesContainer) {\n        return;\n      }\n      const containerClassName = 'cdk-describedby-message-container';\n      const serverContainers = this._document.querySelectorAll(`.${containerClassName}[platform=\"server\"]`);\n      for (let i = 0; i < serverContainers.length; i++) {\n        // When going from the server to the client, we may end up in a situation where there's\n        // already a container on the page, but we don't have a reference to it. Clear the\n        // old container so we don't get duplicates. Doing this, instead of emptying the previous\n        // container, should be slightly faster.\n        serverContainers[i].remove();\n      }\n      const messagesContainer = this._document.createElement('div');\n      // We add `visibility: hidden` in order to prevent text in this container from\n      // being searchable by the browser's Ctrl + F functionality.\n      // Screen-readers will still read the description for elements with aria-describedby even\n      // when the description element is not visible.\n      messagesContainer.style.visibility = 'hidden';\n      // Even though we use `visibility: hidden`, we still apply `cdk-visually-hidden` so that\n      // the description element doesn't impact page layout.\n      messagesContainer.classList.add(containerClassName);\n      messagesContainer.classList.add('cdk-visually-hidden');\n      if (!this._platform.isBrowser) {\n        messagesContainer.setAttribute('platform', 'server');\n      }\n      this._document.body.appendChild(messagesContainer);\n      this._messagesContainer = messagesContainer;\n    }\n    /** Removes all cdk-describedby messages that are hosted through the element. */\n    _removeCdkDescribedByReferenceIds(element) {\n      // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX\n      const originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby').filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);\n      element.setAttribute('aria-describedby', originalReferenceIds.join(' '));\n    }\n    /**\n     * Adds a message reference to the element using aria-describedby and increments the registered\n     * message's reference count.\n     */\n    _addMessageReference(element, key) {\n      const registeredMessage = this._messageRegistry.get(key);\n      // Add the aria-describedby reference and set the\n      // describedby_host attribute to mark the element.\n      addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n      element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, this._id);\n      registeredMessage.referenceCount++;\n    }\n    /**\n     * Removes a message reference from the element using aria-describedby\n     * and decrements the registered message's reference count.\n     */\n    _removeMessageReference(element, key) {\n      const registeredMessage = this._messageRegistry.get(key);\n      registeredMessage.referenceCount--;\n      removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n      element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n    }\n    /** Returns true if the element has been described by the provided message ID. */\n    _isElementDescribedByMessage(element, key) {\n      const referenceIds = getAriaReferenceIds(element, 'aria-describedby');\n      const registeredMessage = this._messageRegistry.get(key);\n      const messageId = registeredMessage && registeredMessage.messageElement.id;\n      return !!messageId && referenceIds.indexOf(messageId) != -1;\n    }\n    /** Determines whether a message can be described on a particular element. */\n    _canBeDescribed(element, message) {\n      if (!this._isElementNode(element)) {\n        return false;\n      }\n      if (message && typeof message === 'object') {\n        // We'd have to make some assumptions about the description element's text, if the consumer\n        // passed in an element. Assume that if an element is passed in, the consumer has verified\n        // that it can be used as a description.\n        return true;\n      }\n      const trimmedMessage = message == null ? '' : `${message}`.trim();\n      const ariaLabel = element.getAttribute('aria-label');\n      // We shouldn't set descriptions if they're exactly the same as the `aria-label` of the\n      // element, because screen readers will end up reading out the same text twice in a row.\n      return trimmedMessage ? !ariaLabel || ariaLabel.trim() !== trimmedMessage : false;\n    }\n    /** Checks whether a node is an Element node. */\n    _isElementNode(element) {\n      return element.nodeType === this._document.ELEMENT_NODE;\n    }\n    static ɵfac = function AriaDescriber_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || AriaDescriber)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: AriaDescriber,\n      factory: AriaDescriber.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return AriaDescriber;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Gets a key that can be used to look messages up in the registry. */\nfunction getKey(message, role) {\n  return typeof message === 'string' ? `${role || ''}/${message}` : message;\n}\n/** Assigns a unique ID to an element, if it doesn't have one already. */\nfunction setMessageId(element, serviceId) {\n  if (!element.id) {\n    element.id = `${CDK_DESCRIBEDBY_ID_PREFIX}-${serviceId}-${nextId++}`;\n  }\n}\n\n// NoopTreeKeyManager is a \"noop\" implementation of TreeKeyMangerStrategy. Methods are noops. Does\n// not emit to streams.\n//\n// Used for applications built before TreeKeyManager to opt-out of TreeKeyManager and revert to\n// legacy behavior.\n/**\n * @docs-private\n *\n * Opt-out of Tree of key manager behavior.\n *\n * When provided, Tree has same focus management behavior as before TreeKeyManager was introduced.\n *  - Tree does not respond to keyboard interaction\n *  - Tree node allows tabindex to be set by Input binding\n *  - Tree node allows tabindex to be set by attribute binding\n *\n * @deprecated NoopTreeKeyManager deprecated. Use TreeKeyManager or inject a\n * TreeKeyManagerStrategy instead. To be removed in a future version.\n *\n * @breaking-change 21.0.0\n */\nclass NoopTreeKeyManager {\n  _isNoopTreeKeyManager = true;\n  // Provide change as required by TreeKeyManagerStrategy. NoopTreeKeyManager is a \"noop\"\n  // implementation that does not emit to streams.\n  change = /*#__PURE__*/new Subject();\n  destroy() {\n    this.change.complete();\n  }\n  onKeydown() {\n    // noop\n  }\n  getActiveItemIndex() {\n    // Always return null. NoopTreeKeyManager is a \"noop\" implementation that does not maintain\n    // the active item.\n    return null;\n  }\n  getActiveItem() {\n    // Always return null. NoopTreeKeyManager is a \"noop\" implementation that does not maintain\n    // the active item.\n    return null;\n  }\n  focusItem() {\n    // noop\n  }\n}\n/**\n * @docs-private\n *\n * Opt-out of Tree of key manager behavior.\n *\n * When provided, Tree has same focus management behavior as before TreeKeyManager was introduced.\n *  - Tree does not respond to keyboard interaction\n *  - Tree node allows tabindex to be set by Input binding\n *  - Tree node allows tabindex to be set by attribute binding\n *\n * @deprecated NoopTreeKeyManager deprecated. Use TreeKeyManager or inject a\n * TreeKeyManagerStrategy instead. To be removed in a future version.\n *\n * @breaking-change 21.0.0\n */\nfunction NOOP_TREE_KEY_MANAGER_FACTORY() {\n  return () => new NoopTreeKeyManager();\n}\n/**\n * @docs-private\n *\n * Opt-out of Tree of key manager behavior.\n *\n * When provided, Tree has same focus management behavior as before TreeKeyManager was introduced.\n *  - Tree does not respond to keyboard interaction\n *  - Tree node allows tabindex to be set by Input binding\n *  - Tree node allows tabindex to be set by attribute binding\n *\n * @deprecated NoopTreeKeyManager deprecated. Use TreeKeyManager or inject a\n * TreeKeyManagerStrategy instead. To be removed in a future version.\n *\n * @breaking-change 21.0.0\n */\nconst NOOP_TREE_KEY_MANAGER_FACTORY_PROVIDER = {\n  provide: TREE_KEY_MANAGER,\n  useFactory: NOOP_TREE_KEY_MANAGER_FACTORY\n};\n\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class uses a strategy pattern that determines how it traps focus.\n * See FocusTrapInertStrategy.\n */\nclass ConfigurableFocusTrap extends FocusTrap {\n  _focusTrapManager;\n  _inertStrategy;\n  /** Whether the FocusTrap is enabled. */\n  get enabled() {\n    return this._enabled;\n  }\n  set enabled(value) {\n    this._enabled = value;\n    if (this._enabled) {\n      this._focusTrapManager.register(this);\n    } else {\n      this._focusTrapManager.deregister(this);\n    }\n  }\n  constructor(_element, _checker, _ngZone, _document, _focusTrapManager, _inertStrategy, config, injector) {\n    super(_element, _checker, _ngZone, _document, config.defer, injector);\n    this._focusTrapManager = _focusTrapManager;\n    this._inertStrategy = _inertStrategy;\n    this._focusTrapManager.register(this);\n  }\n  /** Notifies the FocusTrapManager that this FocusTrap will be destroyed. */\n  destroy() {\n    this._focusTrapManager.deregister(this);\n    super.destroy();\n  }\n  /** @docs-private Implemented as part of ManagedFocusTrap. */\n  _enable() {\n    this._inertStrategy.preventFocus(this);\n    this.toggleAnchors(true);\n  }\n  /** @docs-private Implemented as part of ManagedFocusTrap. */\n  _disable() {\n    this._inertStrategy.allowFocus(this);\n    this.toggleAnchors(false);\n  }\n}\n\n/**\n * Lightweight FocusTrapInertStrategy that adds a document focus event\n * listener to redirect focus back inside the FocusTrap.\n */\nclass EventListenerFocusTrapInertStrategy {\n  /** Focus event handler. */\n  _listener = null;\n  /** Adds a document event listener that keeps focus inside the FocusTrap. */\n  preventFocus(focusTrap) {\n    // Ensure there's only one listener per document\n    if (this._listener) {\n      focusTrap._document.removeEventListener('focus', this._listener, true);\n    }\n    this._listener = e => this._trapFocus(focusTrap, e);\n    focusTrap._ngZone.runOutsideAngular(() => {\n      focusTrap._document.addEventListener('focus', this._listener, true);\n    });\n  }\n  /** Removes the event listener added in preventFocus. */\n  allowFocus(focusTrap) {\n    if (!this._listener) {\n      return;\n    }\n    focusTrap._document.removeEventListener('focus', this._listener, true);\n    this._listener = null;\n  }\n  /**\n   * Refocuses the first element in the FocusTrap if the focus event target was outside\n   * the FocusTrap.\n   *\n   * This is an event listener callback. The event listener is added in runOutsideAngular,\n   * so all this code runs outside Angular as well.\n   */\n  _trapFocus(focusTrap, event) {\n    const target = event.target;\n    const focusTrapRoot = focusTrap._element;\n    // Don't refocus if target was in an overlay, because the overlay might be associated\n    // with an element inside the FocusTrap, ex. mat-select.\n    if (target && !focusTrapRoot.contains(target) && !target.closest?.('div.cdk-overlay-pane')) {\n      // Some legacy FocusTrap usages have logic that focuses some element on the page\n      // just before FocusTrap is destroyed. For backwards compatibility, wait\n      // to be sure FocusTrap is still enabled before refocusing.\n      setTimeout(() => {\n        // Check whether focus wasn't put back into the focus trap while the timeout was pending.\n        if (focusTrap.enabled && !focusTrapRoot.contains(focusTrap._document.activeElement)) {\n          focusTrap.focusFirstTabbableElement();\n        }\n      });\n    }\n  }\n}\n\n/** The injection token used to specify the inert strategy. */\nconst FOCUS_TRAP_INERT_STRATEGY = /*#__PURE__*/new InjectionToken('FOCUS_TRAP_INERT_STRATEGY');\n\n/** Injectable that ensures only the most recently enabled FocusTrap is active. */\nlet FocusTrapManager = /*#__PURE__*/(() => {\n  class FocusTrapManager {\n    // A stack of the FocusTraps on the page. Only the FocusTrap at the\n    // top of the stack is active.\n    _focusTrapStack = [];\n    /**\n     * Disables the FocusTrap at the top of the stack, and then pushes\n     * the new FocusTrap onto the stack.\n     */\n    register(focusTrap) {\n      // Dedupe focusTraps that register multiple times.\n      this._focusTrapStack = this._focusTrapStack.filter(ft => ft !== focusTrap);\n      let stack = this._focusTrapStack;\n      if (stack.length) {\n        stack[stack.length - 1]._disable();\n      }\n      stack.push(focusTrap);\n      focusTrap._enable();\n    }\n    /**\n     * Removes the FocusTrap from the stack, and activates the\n     * FocusTrap that is the new top of the stack.\n     */\n    deregister(focusTrap) {\n      focusTrap._disable();\n      const stack = this._focusTrapStack;\n      const i = stack.indexOf(focusTrap);\n      if (i !== -1) {\n        stack.splice(i, 1);\n        if (stack.length) {\n          stack[stack.length - 1]._enable();\n        }\n      }\n    }\n    static ɵfac = function FocusTrapManager_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || FocusTrapManager)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: FocusTrapManager,\n      factory: FocusTrapManager.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return FocusTrapManager;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Factory that allows easy instantiation of configurable focus traps. */\nlet ConfigurableFocusTrapFactory = /*#__PURE__*/(() => {\n  class ConfigurableFocusTrapFactory {\n    _checker = inject(InteractivityChecker);\n    _ngZone = inject(NgZone);\n    _focusTrapManager = inject(FocusTrapManager);\n    _document = inject(DOCUMENT);\n    _inertStrategy;\n    _injector = inject(Injector);\n    constructor() {\n      const inertStrategy = inject(FOCUS_TRAP_INERT_STRATEGY, {\n        optional: true\n      });\n      // TODO split up the strategies into different modules, similar to DateAdapter.\n      this._inertStrategy = inertStrategy || new EventListenerFocusTrapInertStrategy();\n    }\n    create(element, config = {\n      defer: false\n    }) {\n      let configObject;\n      if (typeof config === 'boolean') {\n        configObject = {\n          defer: config\n        };\n      } else {\n        configObject = config;\n      }\n      return new ConfigurableFocusTrap(element, this._checker, this._ngZone, this._document, this._focusTrapManager, this._inertStrategy, configObject, this._injector);\n    }\n    static ɵfac = function ConfigurableFocusTrapFactory_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ConfigurableFocusTrapFactory)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: ConfigurableFocusTrapFactory,\n      factory: ConfigurableFocusTrapFactory.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return ConfigurableFocusTrapFactory;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { AriaDescriber, CDK_DESCRIBEDBY_HOST_ATTRIBUTE, CDK_DESCRIBEDBY_ID_PREFIX, ConfigurableFocusTrap, ConfigurableFocusTrapFactory, EventListenerFocusTrapInertStrategy, FOCUS_TRAP_INERT_STRATEGY, FocusTrap, InteractivityChecker, MESSAGES_CONTAINER_ID, NOOP_TREE_KEY_MANAGER_FACTORY, NOOP_TREE_KEY_MANAGER_FACTORY_PROVIDER, NoopTreeKeyManager, TREE_KEY_MANAGER, addAriaReferencedId, getAriaReferenceIds, removeAriaReferencedId };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, EventEmitter, Injectable } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * Injection token used to inject the document into Directionality.\n * This is used so that the value can be faked in tests.\n *\n * We can't use the real document in tests because changing the real `dir` causes geometry-based\n * tests in Safari to fail.\n *\n * We also can't re-provide the DOCUMENT token from platform-browser because the unit tests\n * themselves use things like `querySelector` in test code.\n *\n * This token is defined in a separate file from Directionality as a workaround for\n * https://github.com/angular/angular/issues/22559\n *\n * @docs-private\n */\nconst DIR_DOCUMENT = /*#__PURE__*/new InjectionToken('cdk-dir-doc', {\n  providedIn: 'root',\n  factory: DIR_DOCUMENT_FACTORY\n});\n/**\n * @docs-private\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0\n */\nfunction DIR_DOCUMENT_FACTORY() {\n  return inject(DOCUMENT);\n}\n\n/** Regex that matches locales with an RTL script. Taken from `goog.i18n.bidi.isRtlLanguage`. */\nconst RTL_LOCALE_PATTERN = /^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;\n/** Resolves a string value to a specific direction. */\nfunction _resolveDirectionality(rawValue) {\n  const value = rawValue?.toLowerCase() || '';\n  if (value === 'auto' && typeof navigator !== 'undefined' && navigator?.language) {\n    return RTL_LOCALE_PATTERN.test(navigator.language) ? 'rtl' : 'ltr';\n  }\n  return value === 'rtl' ? 'rtl' : 'ltr';\n}\n/**\n * The directionality (LTR / RTL) context for the application (or a subtree of it).\n * Exposes the current direction and a stream of direction changes.\n */\nlet Directionality = /*#__PURE__*/(() => {\n  class Directionality {\n    /** The current 'ltr' or 'rtl' value. */\n    value = 'ltr';\n    /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */\n    change = new EventEmitter();\n    constructor() {\n      const _document = inject(DIR_DOCUMENT, {\n        optional: true\n      });\n      if (_document) {\n        const bodyDir = _document.body ? _document.body.dir : null;\n        const htmlDir = _document.documentElement ? _document.documentElement.dir : null;\n        this.value = _resolveDirectionality(bodyDir || htmlDir || 'ltr');\n      }\n    }\n    ngOnDestroy() {\n      this.change.complete();\n    }\n    static ɵfac = function Directionality_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || Directionality)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: Directionality,\n      factory: Directionality.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return Directionality;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { Directionality as D, _resolveDirectionality as _, DIR_DOCUMENT as a };\n","import { _ as _resolveDirectionality, D as Directionality } from './directionality-CBXD4hga.mjs';\nexport { a as DIR_DOCUMENT } from './directionality-CBXD4hga.mjs';\nimport * as i0 from '@angular/core';\nimport { EventEmitter, Directive, Output, Input, NgModule } from '@angular/core';\nimport '@angular/common';\n\n/**\n * Directive to listen for changes of direction of part of the DOM.\n *\n * Provides itself as Directionality such that descendant directives only need to ever inject\n * Directionality to get the closest direction.\n */\nlet Dir = /*#__PURE__*/(() => {\n  class Dir {\n    /** Normalized direction that accounts for invalid/unsupported values. */\n    _dir = 'ltr';\n    /** Whether the `value` has been set to its initial value. */\n    _isInitialized = false;\n    /** Direction as passed in by the consumer. */\n    _rawDir;\n    /** Event emitted when the direction changes. */\n    change = new EventEmitter();\n    /** @docs-private */\n    get dir() {\n      return this._dir;\n    }\n    set dir(value) {\n      const previousValue = this._dir;\n      // Note: `_resolveDirectionality` resolves the language based on the browser's language,\n      // whereas the browser does it based on the content of the element. Since doing so based\n      // on the content can be expensive, for now we're doing the simpler matching.\n      this._dir = _resolveDirectionality(value);\n      this._rawDir = value;\n      if (previousValue !== this._dir && this._isInitialized) {\n        this.change.emit(this._dir);\n      }\n    }\n    /** Current layout direction of the element. */\n    get value() {\n      return this.dir;\n    }\n    /** Initialize once default value has been set. */\n    ngAfterContentInit() {\n      this._isInitialized = true;\n    }\n    ngOnDestroy() {\n      this.change.complete();\n    }\n    static ɵfac = function Dir_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || Dir)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: Dir,\n      selectors: [[\"\", \"dir\", \"\"]],\n      hostVars: 1,\n      hostBindings: function Dir_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"dir\", ctx._rawDir);\n        }\n      },\n      inputs: {\n        dir: \"dir\"\n      },\n      outputs: {\n        change: \"dirChange\"\n      },\n      exportAs: [\"dir\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: Directionality,\n        useExisting: Dir\n      }])]\n    });\n  }\n  return Dir;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BidiModule = /*#__PURE__*/(() => {\n  class BidiModule {\n    static ɵfac = function BidiModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || BidiModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: BidiModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n  }\n  return BidiModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { BidiModule, Dir, Directionality };\n","import { HighContrastModeDetector } from '@angular/cdk/a11y';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, inject, NgModule } from '@angular/core';\n\n/**\n * Injection token that configures whether the Material sanity checks are enabled.\n * @deprecated No longer used and will be removed.\n * @breaking-change 21.0.0\n */\nconst MATERIAL_SANITY_CHECKS = /*#__PURE__*/new InjectionToken('mat-sanity-checks', {\n  providedIn: 'root',\n  factory: () => true\n});\n/**\n * Module that captures anything that should be loaded and/or run for *all* Angular Material\n * components. This includes Bidi, etc.\n *\n * This module should be imported to each top-level component module (e.g., MatTabsModule).\n * @deprecated No longer used and will be removed.\n * @breaking-change 21.0.0\n */\nlet MatCommonModule = /*#__PURE__*/(() => {\n  class MatCommonModule {\n    constructor() {\n      // While A11yModule also does this, we repeat it here to avoid importing A11yModule\n      // in MatCommonModule.\n      inject(HighContrastModeDetector)._applyBodyHighContrastModeCssClasses();\n    }\n    static ɵfac = function MatCommonModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCommonModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: MatCommonModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [BidiModule, BidiModule]\n    });\n  }\n  return MatCommonModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { MatCommonModule as M, MATERIAL_SANITY_CHECKS as a };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Directive, NgModule } from '@angular/core';\nimport { M as MatCommonModule } from './common-module-WayjW0Pb.mjs';\nimport '@angular/cdk/a11y';\nimport '@angular/cdk/bidi';\n\n/** Injection token that can be used to provide the default options the card module. */\nconst _c0 = [\"*\"];\nconst _c1 = [[[\"mat-card-title\"], [\"mat-card-subtitle\"], [\"\", \"mat-card-title\", \"\"], [\"\", \"mat-card-subtitle\", \"\"], [\"\", \"matCardTitle\", \"\"], [\"\", \"matCardSubtitle\", \"\"]], [[\"\", \"mat-card-image\", \"\"], [\"\", \"matCardImage\", \"\"], [\"\", \"mat-card-sm-image\", \"\"], [\"\", \"matCardImageSmall\", \"\"], [\"\", \"mat-card-md-image\", \"\"], [\"\", \"matCardImageMedium\", \"\"], [\"\", \"mat-card-lg-image\", \"\"], [\"\", \"matCardImageLarge\", \"\"], [\"\", \"mat-card-xl-image\", \"\"], [\"\", \"matCardImageXLarge\", \"\"]], \"*\"];\nconst _c2 = [\"mat-card-title, mat-card-subtitle,\\n      [mat-card-title], [mat-card-subtitle],\\n      [matCardTitle], [matCardSubtitle]\", \"[mat-card-image], [matCardImage],\\n                    [mat-card-sm-image], [matCardImageSmall],\\n                    [mat-card-md-image], [matCardImageMedium],\\n                    [mat-card-lg-image], [matCardImageLarge],\\n                    [mat-card-xl-image], [matCardImageXLarge]\", \"*\"];\nconst _c3 = [[[\"\", \"mat-card-avatar\", \"\"], [\"\", \"matCardAvatar\", \"\"]], [[\"mat-card-title\"], [\"mat-card-subtitle\"], [\"\", \"mat-card-title\", \"\"], [\"\", \"mat-card-subtitle\", \"\"], [\"\", \"matCardTitle\", \"\"], [\"\", \"matCardSubtitle\", \"\"]], \"*\"];\nconst _c4 = [\"[mat-card-avatar], [matCardAvatar]\", \"mat-card-title, mat-card-subtitle,\\n      [mat-card-title], [mat-card-subtitle],\\n      [matCardTitle], [matCardSubtitle]\", \"*\"];\nconst MAT_CARD_CONFIG = /*#__PURE__*/new InjectionToken('MAT_CARD_CONFIG');\n/**\n * Material Design card component. Cards contain content and actions about a single subject.\n * See https://material.io/design/components/cards.html\n *\n * MatCard provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCard = /*#__PURE__*/(() => {\n  class MatCard {\n    appearance;\n    constructor() {\n      const config = inject(MAT_CARD_CONFIG, {\n        optional: true\n      });\n      this.appearance = config?.appearance || 'raised';\n    }\n    static ɵfac = function MatCard_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCard)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatCard,\n      selectors: [[\"mat-card\"]],\n      hostAttrs: [1, \"mat-mdc-card\", \"mdc-card\"],\n      hostVars: 4,\n      hostBindings: function MatCard_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mat-mdc-card-outlined\", ctx.appearance === \"outlined\")(\"mdc-card--outlined\", ctx.appearance === \"outlined\");\n        }\n      },\n      inputs: {\n        appearance: \"appearance\"\n      },\n      exportAs: [\"matCard\"],\n      ngContentSelectors: _c0,\n      decls: 1,\n      vars: 0,\n      template: function MatCard_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef();\n          i0.ɵɵprojection(0);\n        }\n      },\n      styles: [\".mat-mdc-card{display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-style:solid;border-width:0;background-color:var(--mdc-elevated-card-container-color, var(--mat-sys-surface-container-low));border-color:var(--mdc-elevated-card-container-color, var(--mat-sys-surface-container-low));border-radius:var(--mdc-elevated-card-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mdc-elevated-card-container-elevation, var(--mat-sys-level1))}.mat-mdc-card::after{position:absolute;top:0;left:0;width:100%;height:100%;border:solid 1px rgba(0,0,0,0);content:\\\"\\\";display:block;pointer-events:none;box-sizing:border-box;border-radius:var(--mdc-elevated-card-container-shape, var(--mat-sys-corner-medium))}.mat-mdc-card-outlined{background-color:var(--mdc-outlined-card-container-color, var(--mat-sys-surface));border-radius:var(--mdc-outlined-card-container-shape, var(--mat-sys-corner-medium));border-width:var(--mdc-outlined-card-outline-width, 1px);border-color:var(--mdc-outlined-card-outline-color, var(--mat-sys-outline-variant));box-shadow:var(--mdc-outlined-card-container-elevation, var(--mat-sys-level0))}.mat-mdc-card-outlined::after{border:none}.mdc-card__media{position:relative;box-sizing:border-box;background-repeat:no-repeat;background-position:center;background-size:cover}.mdc-card__media::before{display:block;content:\\\"\\\"}.mdc-card__media:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__media:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mat-mdc-card-actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:52px;padding:8px}.mat-mdc-card-title{font-family:var(--mat-card-title-text-font, var(--mat-sys-title-large-font));line-height:var(--mat-card-title-text-line-height, var(--mat-sys-title-large-line-height));font-size:var(--mat-card-title-text-size, var(--mat-sys-title-large-size));letter-spacing:var(--mat-card-title-text-tracking, var(--mat-sys-title-large-tracking));font-weight:var(--mat-card-title-text-weight, var(--mat-sys-title-large-weight))}.mat-mdc-card-subtitle{color:var(--mat-card-subtitle-text-color, var(--mat-sys-on-surface));font-family:var(--mat-card-subtitle-text-font, var(--mat-sys-title-medium-font));line-height:var(--mat-card-subtitle-text-line-height, var(--mat-sys-title-medium-line-height));font-size:var(--mat-card-subtitle-text-size, var(--mat-sys-title-medium-size));letter-spacing:var(--mat-card-subtitle-text-tracking, var(--mat-sys-title-medium-tracking));font-weight:var(--mat-card-subtitle-text-weight, var(--mat-sys-title-medium-weight))}.mat-mdc-card-title,.mat-mdc-card-subtitle{display:block;margin:0}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle{padding:16px 16px 0}.mat-mdc-card-header{display:flex;padding:16px 16px 0}.mat-mdc-card-content{display:block;padding:0 16px}.mat-mdc-card-content:first-child{padding-top:16px}.mat-mdc-card-content:last-child{padding-bottom:16px}.mat-mdc-card-title-group{display:flex;justify-content:space-between;width:100%}.mat-mdc-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;margin-bottom:16px;object-fit:cover}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title{line-height:normal}.mat-mdc-card-sm-image{width:80px;height:80px}.mat-mdc-card-md-image{width:112px;height:112px}.mat-mdc-card-lg-image{width:152px;height:152px}.mat-mdc-card-xl-image{width:240px;height:240px}.mat-mdc-card-subtitle~.mat-mdc-card-title,.mat-mdc-card-title~.mat-mdc-card-subtitle,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-title-group .mat-mdc-card-title,.mat-mdc-card-title-group .mat-mdc-card-subtitle{padding-top:0}.mat-mdc-card-content>:last-child:not(.mat-mdc-card-footer){margin-bottom:0}.mat-mdc-card-actions-align-end{justify-content:flex-end}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatCard;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n// TODO(jelbourn): add `MatActionCard`, which is a card that acts like a button (and has a ripple).\n// Supported in MDC with `.mdc-card__primary-action`. Will require additional a11y docs for users.\n/**\n * Title of a card, intended for use within `<mat-card>`. This component is an optional\n * convenience for one variety of card title; any custom title element may be used in its place.\n *\n * MatCardTitle provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardTitle = /*#__PURE__*/(() => {\n  class MatCardTitle {\n    static ɵfac = function MatCardTitle_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCardTitle)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatCardTitle,\n      selectors: [[\"mat-card-title\"], [\"\", \"mat-card-title\", \"\"], [\"\", \"matCardTitle\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-card-title\"]\n    });\n  }\n  return MatCardTitle;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Container intended to be used within the `<mat-card>` component. Can contain exactly one\n * `<mat-card-title>`, one `<mat-card-subtitle>` and one content image of any size\n * (e.g. `<img matCardLgImage>`).\n */\nlet MatCardTitleGroup = /*#__PURE__*/(() => {\n  class MatCardTitleGroup {\n    static ɵfac = function MatCardTitleGroup_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCardTitleGroup)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatCardTitleGroup,\n      selectors: [[\"mat-card-title-group\"]],\n      hostAttrs: [1, \"mat-mdc-card-title-group\"],\n      ngContentSelectors: _c2,\n      decls: 4,\n      vars: 0,\n      template: function MatCardTitleGroup_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c1);\n          i0.ɵɵelementStart(0, \"div\");\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementEnd();\n          i0.ɵɵprojection(2, 1);\n          i0.ɵɵprojection(3, 2);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatCardTitleGroup;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Content of a card, intended for use within `<mat-card>`. This component is an optional\n * convenience for use with other convenience elements, such as `<mat-card-title>`; any custom\n * content block element may be used in its place.\n *\n * MatCardContent provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardContent = /*#__PURE__*/(() => {\n  class MatCardContent {\n    static ɵfac = function MatCardContent_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCardContent)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatCardContent,\n      selectors: [[\"mat-card-content\"]],\n      hostAttrs: [1, \"mat-mdc-card-content\"]\n    });\n  }\n  return MatCardContent;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Sub-title of a card, intended for use within `<mat-card>` beneath a `<mat-card-title>`. This\n * component is an optional convenience for use with other convenience elements, such as\n * `<mat-card-title>`.\n *\n * MatCardSubtitle provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardSubtitle = /*#__PURE__*/(() => {\n  class MatCardSubtitle {\n    static ɵfac = function MatCardSubtitle_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCardSubtitle)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatCardSubtitle,\n      selectors: [[\"mat-card-subtitle\"], [\"\", \"mat-card-subtitle\", \"\"], [\"\", \"matCardSubtitle\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-card-subtitle\"]\n    });\n  }\n  return MatCardSubtitle;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Bottom area of a card that contains action buttons, intended for use within `<mat-card>`.\n * This component is an optional convenience for use with other convenience elements, such as\n * `<mat-card-content>`; any custom action block element may be used in its place.\n *\n * MatCardActions provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardActions = /*#__PURE__*/(() => {\n  class MatCardActions {\n    // TODO(jelbourn): deprecate `align` in favor of `actionPosition` or `actionAlignment`\n    // as to not conflict with the native `align` attribute.\n    /** Position of the actions inside the card. */\n    align = 'start';\n    static ɵfac = function MatCardActions_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCardActions)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatCardActions,\n      selectors: [[\"mat-card-actions\"]],\n      hostAttrs: [1, \"mat-mdc-card-actions\", \"mdc-card__actions\"],\n      hostVars: 2,\n      hostBindings: function MatCardActions_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mat-mdc-card-actions-align-end\", ctx.align === \"end\");\n        }\n      },\n      inputs: {\n        align: \"align\"\n      },\n      exportAs: [\"matCardActions\"]\n    });\n  }\n  return MatCardActions;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Header region of a card, intended for use within `<mat-card>`. This header captures\n * a card title, subtitle, and avatar.  This component is an optional convenience for use with\n * other convenience elements, such as `<mat-card-footer>`; any custom header block element may be\n * used in its place.\n *\n * MatCardHeader provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardHeader = /*#__PURE__*/(() => {\n  class MatCardHeader {\n    static ɵfac = function MatCardHeader_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCardHeader)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatCardHeader,\n      selectors: [[\"mat-card-header\"]],\n      hostAttrs: [1, \"mat-mdc-card-header\"],\n      ngContentSelectors: _c4,\n      decls: 4,\n      vars: 0,\n      consts: [[1, \"mat-mdc-card-header-text\"]],\n      template: function MatCardHeader_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c3);\n          i0.ɵɵprojection(0);\n          i0.ɵɵelementStart(1, \"div\", 0);\n          i0.ɵɵprojection(2, 1);\n          i0.ɵɵelementEnd();\n          i0.ɵɵprojection(3, 2);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatCardHeader;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Footer area a card, intended for use within `<mat-card>`.\n * This component is an optional convenience for use with other convenience elements, such as\n * `<mat-card-content>`; any custom footer block element may be used in its place.\n *\n * MatCardFooter provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardFooter = /*#__PURE__*/(() => {\n  class MatCardFooter {\n    static ɵfac = function MatCardFooter_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCardFooter)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatCardFooter,\n      selectors: [[\"mat-card-footer\"]],\n      hostAttrs: [1, \"mat-mdc-card-footer\"]\n    });\n  }\n  return MatCardFooter;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n// TODO(jelbourn): deprecate the \"image\" selectors to replace with \"media\".\n// TODO(jelbourn): support `.mdc-card__media-content`.\n/**\n * Primary image content for a card, intended for use within `<mat-card>`. Can be applied to\n * any media element, such as `<img>` or `<picture>`.\n *\n * This component is an optional convenience for use with other convenience elements, such as\n * `<mat-card-content>`; any custom media element may be used in its place.\n *\n * MatCardImage provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardImage = /*#__PURE__*/(() => {\n  class MatCardImage {\n    static ɵfac = function MatCardImage_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCardImage)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatCardImage,\n      selectors: [[\"\", \"mat-card-image\", \"\"], [\"\", \"matCardImage\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-card-image\", \"mdc-card__media\"]\n    });\n  }\n  return MatCardImage;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Same as `MatCardImage`, but small. */\nlet MatCardSmImage = /*#__PURE__*/(() => {\n  class MatCardSmImage {\n    static ɵfac = function MatCardSmImage_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCardSmImage)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatCardSmImage,\n      selectors: [[\"\", \"mat-card-sm-image\", \"\"], [\"\", \"matCardImageSmall\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-card-sm-image\", \"mdc-card__media\"]\n    });\n  }\n  return MatCardSmImage;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Same as `MatCardImage`, but medium. */\nlet MatCardMdImage = /*#__PURE__*/(() => {\n  class MatCardMdImage {\n    static ɵfac = function MatCardMdImage_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCardMdImage)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatCardMdImage,\n      selectors: [[\"\", \"mat-card-md-image\", \"\"], [\"\", \"matCardImageMedium\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-card-md-image\", \"mdc-card__media\"]\n    });\n  }\n  return MatCardMdImage;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Same as `MatCardImage`, but large. */\nlet MatCardLgImage = /*#__PURE__*/(() => {\n  class MatCardLgImage {\n    static ɵfac = function MatCardLgImage_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCardLgImage)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatCardLgImage,\n      selectors: [[\"\", \"mat-card-lg-image\", \"\"], [\"\", \"matCardImageLarge\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-card-lg-image\", \"mdc-card__media\"]\n    });\n  }\n  return MatCardLgImage;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Same as `MatCardImage`, but extra-large. */\nlet MatCardXlImage = /*#__PURE__*/(() => {\n  class MatCardXlImage {\n    static ɵfac = function MatCardXlImage_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCardXlImage)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatCardXlImage,\n      selectors: [[\"\", \"mat-card-xl-image\", \"\"], [\"\", \"matCardImageXLarge\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-card-xl-image\", \"mdc-card__media\"]\n    });\n  }\n  return MatCardXlImage;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Avatar image content for a card, intended for use within `<mat-card>`. Can be applied to\n * any media element, such as `<img>` or `<picture>`.\n *\n * This component is an optional convenience for use with other convenience elements, such as\n * `<mat-card-title>`; any custom media element may be used in its place.\n *\n * MatCardAvatar provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardAvatar = /*#__PURE__*/(() => {\n  class MatCardAvatar {\n    static ɵfac = function MatCardAvatar_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCardAvatar)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatCardAvatar,\n      selectors: [[\"\", \"mat-card-avatar\", \"\"], [\"\", \"matCardAvatar\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-card-avatar\"]\n    });\n  }\n  return MatCardAvatar;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst CARD_DIRECTIVES = [MatCard, MatCardActions, MatCardAvatar, MatCardContent, MatCardFooter, MatCardHeader, MatCardImage, MatCardLgImage, MatCardMdImage, MatCardSmImage, MatCardSubtitle, MatCardTitle, MatCardTitleGroup, MatCardXlImage];\nlet MatCardModule = /*#__PURE__*/(() => {\n  class MatCardModule {\n    static ɵfac = function MatCardModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatCardModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: MatCardModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [MatCommonModule, MatCommonModule]\n    });\n  }\n  return MatCardModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { MAT_CARD_CONFIG, MatCard, MatCardActions, MatCardAvatar, MatCardContent, MatCardFooter, MatCardHeader, MatCardImage, MatCardLgImage, MatCardMdImage, MatCardModule, MatCardSmImage, MatCardSubtitle, MatCardTitle, MatCardTitleGroup, MatCardXlImage };\n","/** Gets whether the code is currently running in a test environment. */\nfunction _isTestEnvironment() {\n  // We can't use `declare const` because it causes conflicts inside Google with the real typings\n  // for these symbols and we can't read them off the global object, because they don't appear to\n  // be attached there for some runners like Jest.\n  // (see: https://github.com/angular/components/issues/23365#issuecomment-938146643)\n  return (\n    // @ts-ignore\n    typeof __karma__ !== 'undefined' && !!__karma__ ||\n    // @ts-ignore\n    typeof jasmine !== 'undefined' && !!jasmine ||\n    // @ts-ignore\n    typeof jest !== 'undefined' && !!jest ||\n    // @ts-ignore\n    typeof Mocha !== 'undefined' && !!Mocha\n  );\n}\nexport { _isTestEnvironment as _ };\n","/** Coerces a value to a CSS pixel value. */\nfunction coerceCssPixelValue(value) {\n  if (value == null) {\n    return '';\n  }\n  return typeof value === 'string' ? value : `${value}px`;\n}\nexport { coerceCssPixelValue as c };\n","/** The possible ways the browser may handle the horizontal scroll axis in RTL languages. */\nvar RtlScrollAxisType = /*#__PURE__*/function (RtlScrollAxisType) {\n  /**\n   * scrollLeft is 0 when scrolled all the way left and (scrollWidth - clientWidth) when scrolled\n   * all the way right.\n   */\n  RtlScrollAxisType[RtlScrollAxisType[\"NORMAL\"] = 0] = \"NORMAL\";\n  /**\n   * scrollLeft is -(scrollWidth - clientWidth) when scrolled all the way left and 0 when scrolled\n   * all the way right.\n   */\n  RtlScrollAxisType[RtlScrollAxisType[\"NEGATED\"] = 1] = \"NEGATED\";\n  /**\n   * scrollLeft is (scrollWidth - clientWidth) when scrolled all the way left and 0 when scrolled\n   * all the way right.\n   */\n  RtlScrollAxisType[RtlScrollAxisType[\"INVERTED\"] = 2] = \"INVERTED\";\n  return RtlScrollAxisType;\n}(RtlScrollAxisType || {});\n/** Cached result of the way the browser handles the horizontal scroll axis in RTL mode. */\nlet rtlScrollAxisType;\n/** Cached result of the check that indicates whether the browser supports scroll behaviors. */\nlet scrollBehaviorSupported;\n/** Check whether the browser supports scroll behaviors. */\nfunction supportsScrollBehavior() {\n  if (scrollBehaviorSupported == null) {\n    // If we're not in the browser, it can't be supported. Also check for `Element`, because\n    // some projects stub out the global `document` during SSR which can throw us off.\n    if (typeof document !== 'object' || !document || typeof Element !== 'function' || !Element) {\n      scrollBehaviorSupported = false;\n      return scrollBehaviorSupported;\n    }\n    // If the element can have a `scrollBehavior` style, we can be sure that it's supported.\n    if ('scrollBehavior' in document.documentElement.style) {\n      scrollBehaviorSupported = true;\n    } else {\n      // At this point we have 3 possibilities: `scrollTo` isn't supported at all, it's\n      // supported but it doesn't handle scroll behavior, or it has been polyfilled.\n      const scrollToFunction = Element.prototype.scrollTo;\n      if (scrollToFunction) {\n        // We can detect if the function has been polyfilled by calling `toString` on it. Native\n        // functions are obfuscated using `[native code]`, whereas if it was overwritten we'd get\n        // the actual function source. Via https://davidwalsh.name/detect-native-function. Consider\n        // polyfilled functions as supporting scroll behavior.\n        scrollBehaviorSupported = !/\\{\\s*\\[native code\\]\\s*\\}/.test(scrollToFunction.toString());\n      } else {\n        scrollBehaviorSupported = false;\n      }\n    }\n  }\n  return scrollBehaviorSupported;\n}\n/**\n * Checks the type of RTL scroll axis used by this browser. As of time of writing, Chrome is NORMAL,\n * Firefox & Safari are NEGATED, and IE & Edge are INVERTED.\n */\nfunction getRtlScrollAxisType() {\n  // We can't check unless we're on the browser. Just assume 'normal' if we're not.\n  if (typeof document !== 'object' || !document) {\n    return RtlScrollAxisType.NORMAL;\n  }\n  if (rtlScrollAxisType == null) {\n    // Create a 1px wide scrolling container and a 2px wide content element.\n    const scrollContainer = document.createElement('div');\n    const containerStyle = scrollContainer.style;\n    scrollContainer.dir = 'rtl';\n    containerStyle.width = '1px';\n    containerStyle.overflow = 'auto';\n    containerStyle.visibility = 'hidden';\n    containerStyle.pointerEvents = 'none';\n    containerStyle.position = 'absolute';\n    const content = document.createElement('div');\n    const contentStyle = content.style;\n    contentStyle.width = '2px';\n    contentStyle.height = '1px';\n    scrollContainer.appendChild(content);\n    document.body.appendChild(scrollContainer);\n    rtlScrollAxisType = RtlScrollAxisType.NORMAL;\n    // The viewport starts scrolled all the way to the right in RTL mode. If we are in a NORMAL\n    // browser this would mean that the scrollLeft should be 1. If it's zero instead we know we're\n    // dealing with one of the other two types of browsers.\n    if (scrollContainer.scrollLeft === 0) {\n      // In a NEGATED browser the scrollLeft is always somewhere in [-maxScrollAmount, 0]. For an\n      // INVERTED browser it is always somewhere in [0, maxScrollAmount]. We can determine which by\n      // setting to the scrollLeft to 1. This is past the max for a NEGATED browser, so it will\n      // return 0 when we read it again.\n      scrollContainer.scrollLeft = 1;\n      rtlScrollAxisType = scrollContainer.scrollLeft === 0 ? RtlScrollAxisType.NEGATED : RtlScrollAxisType.INVERTED;\n    }\n    scrollContainer.remove();\n  }\n  return rtlScrollAxisType;\n}\nexport { RtlScrollAxisType as R, getRtlScrollAxisType as g, supportsScrollBehavior as s };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, forwardRef, Directive, Input, inject, NgZone, RendererFactory2, Injectable, ElementRef, Renderer2, ChangeDetectorRef, Injector, afterNextRender, booleanAttribute, Optional, Inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, ViewChild, ViewContainerRef, TemplateRef, IterableDiffers, NgModule } from '@angular/core';\nimport { Subject, of, Observable, Subscription, animationFrameScheduler, asapScheduler, isObservable } from 'rxjs';\nimport { distinctUntilChanged, auditTime, filter, startWith, takeUntil, pairwise, switchMap, shareReplay } from 'rxjs/operators';\nimport { c as coerceNumberProperty, a as coerceElement } from './element-x4z00URv.mjs';\nimport { P as Platform } from './platform-DmdVEw_C.mjs';\nimport { D as Directionality } from './directionality-CBXD4hga.mjs';\nimport { g as getRtlScrollAxisType, R as RtlScrollAxisType, s as supportsScrollBehavior } from './scrolling-BkvA05C8.mjs';\nimport { BidiModule } from './bidi.mjs';\nconst _c0 = [\"contentWrapper\"];\nconst _c1 = [\"*\"];\nexport { Dir as ɵɵDir } from './bidi.mjs';\nimport { DOCUMENT } from '@angular/common';\nimport { b as _VIEW_REPEATER_STRATEGY, A as ArrayDataSource, _ as _RecycleViewRepeaterStrategy } from './recycle-view-repeater-strategy-DoWdPqVw.mjs';\nimport { i as isDataSource } from './data-source-D34wiQZj.mjs';\n\n/** The injection token used to specify the virtual scrolling strategy. */\nconst VIRTUAL_SCROLL_STRATEGY = /*#__PURE__*/new InjectionToken('VIRTUAL_SCROLL_STRATEGY');\n\n/** Virtual scrolling strategy for lists with items of known fixed size. */\nclass FixedSizeVirtualScrollStrategy {\n  _scrolledIndexChange = /*#__PURE__*/new Subject();\n  /** @docs-private Implemented as part of VirtualScrollStrategy. */\n  scrolledIndexChange = /*#__PURE__*/this._scrolledIndexChange.pipe(/*#__PURE__*/distinctUntilChanged());\n  /** The attached viewport. */\n  _viewport = null;\n  /** The size of the items in the virtually scrolling list. */\n  _itemSize;\n  /** The minimum amount of buffer rendered beyond the viewport (in pixels). */\n  _minBufferPx;\n  /** The number of buffer items to render beyond the edge of the viewport (in pixels). */\n  _maxBufferPx;\n  /**\n   * @param itemSize The size of the items in the virtually scrolling list.\n   * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n   * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n   */\n  constructor(itemSize, minBufferPx, maxBufferPx) {\n    this._itemSize = itemSize;\n    this._minBufferPx = minBufferPx;\n    this._maxBufferPx = maxBufferPx;\n  }\n  /**\n   * Attaches this scroll strategy to a viewport.\n   * @param viewport The viewport to attach this strategy to.\n   */\n  attach(viewport) {\n    this._viewport = viewport;\n    this._updateTotalContentSize();\n    this._updateRenderedRange();\n  }\n  /** Detaches this scroll strategy from the currently attached viewport. */\n  detach() {\n    this._scrolledIndexChange.complete();\n    this._viewport = null;\n  }\n  /**\n   * Update the item size and buffer size.\n   * @param itemSize The size of the items in the virtually scrolling list.\n   * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n   * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n   */\n  updateItemAndBufferSize(itemSize, minBufferPx, maxBufferPx) {\n    if (maxBufferPx < minBufferPx && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n      throw Error('CDK virtual scroll: maxBufferPx must be greater than or equal to minBufferPx');\n    }\n    this._itemSize = itemSize;\n    this._minBufferPx = minBufferPx;\n    this._maxBufferPx = maxBufferPx;\n    this._updateTotalContentSize();\n    this._updateRenderedRange();\n  }\n  /** @docs-private Implemented as part of VirtualScrollStrategy. */\n  onContentScrolled() {\n    this._updateRenderedRange();\n  }\n  /** @docs-private Implemented as part of VirtualScrollStrategy. */\n  onDataLengthChanged() {\n    this._updateTotalContentSize();\n    this._updateRenderedRange();\n  }\n  /** @docs-private Implemented as part of VirtualScrollStrategy. */\n  onContentRendered() {\n    /* no-op */\n  }\n  /** @docs-private Implemented as part of VirtualScrollStrategy. */\n  onRenderedOffsetChanged() {\n    /* no-op */\n  }\n  /**\n   * Scroll to the offset for the given index.\n   * @param index The index of the element to scroll to.\n   * @param behavior The ScrollBehavior to use when scrolling.\n   */\n  scrollToIndex(index, behavior) {\n    if (this._viewport) {\n      this._viewport.scrollToOffset(index * this._itemSize, behavior);\n    }\n  }\n  /** Update the viewport's total content size. */\n  _updateTotalContentSize() {\n    if (!this._viewport) {\n      return;\n    }\n    this._viewport.setTotalContentSize(this._viewport.getDataLength() * this._itemSize);\n  }\n  /** Update the viewport's rendered range. */\n  _updateRenderedRange() {\n    if (!this._viewport) {\n      return;\n    }\n    const renderedRange = this._viewport.getRenderedRange();\n    const newRange = {\n      start: renderedRange.start,\n      end: renderedRange.end\n    };\n    const viewportSize = this._viewport.getViewportSize();\n    const dataLength = this._viewport.getDataLength();\n    let scrollOffset = this._viewport.measureScrollOffset();\n    // Prevent NaN as result when dividing by zero.\n    let firstVisibleIndex = this._itemSize > 0 ? scrollOffset / this._itemSize : 0;\n    // If user scrolls to the bottom of the list and data changes to a smaller list\n    if (newRange.end > dataLength) {\n      // We have to recalculate the first visible index based on new data length and viewport size.\n      const maxVisibleItems = Math.ceil(viewportSize / this._itemSize);\n      const newVisibleIndex = Math.max(0, Math.min(firstVisibleIndex, dataLength - maxVisibleItems));\n      // If first visible index changed we must update scroll offset to handle start/end buffers\n      // Current range must also be adjusted to cover the new position (bottom of new list).\n      if (firstVisibleIndex != newVisibleIndex) {\n        firstVisibleIndex = newVisibleIndex;\n        scrollOffset = newVisibleIndex * this._itemSize;\n        newRange.start = Math.floor(firstVisibleIndex);\n      }\n      newRange.end = Math.max(0, Math.min(dataLength, newRange.start + maxVisibleItems));\n    }\n    const startBuffer = scrollOffset - newRange.start * this._itemSize;\n    if (startBuffer < this._minBufferPx && newRange.start != 0) {\n      const expandStart = Math.ceil((this._maxBufferPx - startBuffer) / this._itemSize);\n      newRange.start = Math.max(0, newRange.start - expandStart);\n      newRange.end = Math.min(dataLength, Math.ceil(firstVisibleIndex + (viewportSize + this._minBufferPx) / this._itemSize));\n    } else {\n      const endBuffer = newRange.end * this._itemSize - (scrollOffset + viewportSize);\n      if (endBuffer < this._minBufferPx && newRange.end != dataLength) {\n        const expandEnd = Math.ceil((this._maxBufferPx - endBuffer) / this._itemSize);\n        if (expandEnd > 0) {\n          newRange.end = Math.min(dataLength, newRange.end + expandEnd);\n          newRange.start = Math.max(0, Math.floor(firstVisibleIndex - this._minBufferPx / this._itemSize));\n        }\n      }\n    }\n    this._viewport.setRenderedRange(newRange);\n    this._viewport.setRenderedContentOffset(this._itemSize * newRange.start);\n    this._scrolledIndexChange.next(Math.floor(firstVisibleIndex));\n  }\n}\n/**\n * Provider factory for `FixedSizeVirtualScrollStrategy` that simply extracts the already created\n * `FixedSizeVirtualScrollStrategy` from the given directive.\n * @param fixedSizeDir The instance of `CdkFixedSizeVirtualScroll` to extract the\n *     `FixedSizeVirtualScrollStrategy` from.\n */\nfunction _fixedSizeVirtualScrollStrategyFactory(fixedSizeDir) {\n  return fixedSizeDir._scrollStrategy;\n}\n/** A virtual scroll strategy that supports fixed-size items. */\nlet CdkFixedSizeVirtualScroll = /*#__PURE__*/(() => {\n  class CdkFixedSizeVirtualScroll {\n    /** The size of the items in the list (in pixels). */\n    get itemSize() {\n      return this._itemSize;\n    }\n    set itemSize(value) {\n      this._itemSize = coerceNumberProperty(value);\n    }\n    _itemSize = 20;\n    /**\n     * The minimum amount of buffer rendered beyond the viewport (in pixels).\n     * If the amount of buffer dips below this number, more items will be rendered. Defaults to 100px.\n     */\n    get minBufferPx() {\n      return this._minBufferPx;\n    }\n    set minBufferPx(value) {\n      this._minBufferPx = coerceNumberProperty(value);\n    }\n    _minBufferPx = 100;\n    /**\n     * The number of pixels worth of buffer to render for when rendering new items. Defaults to 200px.\n     */\n    get maxBufferPx() {\n      return this._maxBufferPx;\n    }\n    set maxBufferPx(value) {\n      this._maxBufferPx = coerceNumberProperty(value);\n    }\n    _maxBufferPx = 200;\n    /** The scroll strategy used by this directive. */\n    _scrollStrategy = new FixedSizeVirtualScrollStrategy(this.itemSize, this.minBufferPx, this.maxBufferPx);\n    ngOnChanges() {\n      this._scrollStrategy.updateItemAndBufferSize(this.itemSize, this.minBufferPx, this.maxBufferPx);\n    }\n    static ɵfac = function CdkFixedSizeVirtualScroll_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkFixedSizeVirtualScroll)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkFixedSizeVirtualScroll,\n      selectors: [[\"cdk-virtual-scroll-viewport\", \"itemSize\", \"\"]],\n      inputs: {\n        itemSize: \"itemSize\",\n        minBufferPx: \"minBufferPx\",\n        maxBufferPx: \"maxBufferPx\"\n      },\n      features: [i0.ɵɵProvidersFeature([{\n        provide: VIRTUAL_SCROLL_STRATEGY,\n        useFactory: _fixedSizeVirtualScrollStrategyFactory,\n        deps: [forwardRef(() => CdkFixedSizeVirtualScroll)]\n      }]), i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return CdkFixedSizeVirtualScroll;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Time in ms to throttle the scrolling events by default. */\nconst DEFAULT_SCROLL_TIME = 20;\n/**\n * Service contained all registered Scrollable references and emits an event when any one of the\n * Scrollable references emit a scrolled event.\n */\nlet ScrollDispatcher = /*#__PURE__*/(() => {\n  class ScrollDispatcher {\n    _ngZone = inject(NgZone);\n    _platform = inject(Platform);\n    _renderer = inject(RendererFactory2).createRenderer(null, null);\n    _cleanupGlobalListener;\n    constructor() {}\n    /** Subject for notifying that a registered scrollable reference element has been scrolled. */\n    _scrolled = new Subject();\n    /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */\n    _scrolledCount = 0;\n    /**\n     * Map of all the scrollable references that are registered with the service and their\n     * scroll event subscriptions.\n     */\n    scrollContainers = new Map();\n    /**\n     * Registers a scrollable instance with the service and listens for its scrolled events. When the\n     * scrollable is scrolled, the service emits the event to its scrolled observable.\n     * @param scrollable Scrollable instance to be registered.\n     */\n    register(scrollable) {\n      if (!this.scrollContainers.has(scrollable)) {\n        this.scrollContainers.set(scrollable, scrollable.elementScrolled().subscribe(() => this._scrolled.next(scrollable)));\n      }\n    }\n    /**\n     * De-registers a Scrollable reference and unsubscribes from its scroll event observable.\n     * @param scrollable Scrollable instance to be deregistered.\n     */\n    deregister(scrollable) {\n      const scrollableReference = this.scrollContainers.get(scrollable);\n      if (scrollableReference) {\n        scrollableReference.unsubscribe();\n        this.scrollContainers.delete(scrollable);\n      }\n    }\n    /**\n     * Returns an observable that emits an event whenever any of the registered Scrollable\n     * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\n     * to override the default \"throttle\" time.\n     *\n     * **Note:** in order to avoid hitting change detection for every scroll event,\n     * all of the events emitted from this stream will be run outside the Angular zone.\n     * If you need to update any data bindings as a result of a scroll event, you have\n     * to run the callback using `NgZone.run`.\n     */\n    scrolled(auditTimeInMs = DEFAULT_SCROLL_TIME) {\n      if (!this._platform.isBrowser) {\n        return of();\n      }\n      return new Observable(observer => {\n        if (!this._cleanupGlobalListener) {\n          this._cleanupGlobalListener = this._ngZone.runOutsideAngular(() => this._renderer.listen('document', 'scroll', () => this._scrolled.next()));\n        }\n        // In the case of a 0ms delay, use an observable without auditTime\n        // since it does add a perceptible delay in processing overhead.\n        const subscription = auditTimeInMs > 0 ? this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer) : this._scrolled.subscribe(observer);\n        this._scrolledCount++;\n        return () => {\n          subscription.unsubscribe();\n          this._scrolledCount--;\n          if (!this._scrolledCount) {\n            this._cleanupGlobalListener?.();\n            this._cleanupGlobalListener = undefined;\n          }\n        };\n      });\n    }\n    ngOnDestroy() {\n      this._cleanupGlobalListener?.();\n      this._cleanupGlobalListener = undefined;\n      this.scrollContainers.forEach((_, container) => this.deregister(container));\n      this._scrolled.complete();\n    }\n    /**\n     * Returns an observable that emits whenever any of the\n     * scrollable ancestors of an element are scrolled.\n     * @param elementOrElementRef Element whose ancestors to listen for.\n     * @param auditTimeInMs Time to throttle the scroll events.\n     */\n    ancestorScrolled(elementOrElementRef, auditTimeInMs) {\n      const ancestors = this.getAncestorScrollContainers(elementOrElementRef);\n      return this.scrolled(auditTimeInMs).pipe(filter(target => !target || ancestors.indexOf(target) > -1));\n    }\n    /** Returns all registered Scrollables that contain the provided element. */\n    getAncestorScrollContainers(elementOrElementRef) {\n      const scrollingContainers = [];\n      this.scrollContainers.forEach((_subscription, scrollable) => {\n        if (this._scrollableContainsElement(scrollable, elementOrElementRef)) {\n          scrollingContainers.push(scrollable);\n        }\n      });\n      return scrollingContainers;\n    }\n    /** Returns true if the element is contained within the provided Scrollable. */\n    _scrollableContainsElement(scrollable, elementOrElementRef) {\n      let element = coerceElement(elementOrElementRef);\n      let scrollableElement = scrollable.getElementRef().nativeElement;\n      // Traverse through the element parents until we reach null, checking if any of the elements\n      // are the scrollable's element.\n      do {\n        if (element == scrollableElement) {\n          return true;\n        }\n      } while (element = element.parentElement);\n      return false;\n    }\n    static ɵfac = function ScrollDispatcher_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ScrollDispatcher)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: ScrollDispatcher,\n      factory: ScrollDispatcher.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return ScrollDispatcher;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Sends an event when the directive's element is scrolled. Registers itself with the\n * ScrollDispatcher service to include itself as part of its collection of scrolling events that it\n * can be listened to through the service.\n */\nlet CdkScrollable = /*#__PURE__*/(() => {\n  class CdkScrollable {\n    elementRef = inject(ElementRef);\n    scrollDispatcher = inject(ScrollDispatcher);\n    ngZone = inject(NgZone);\n    dir = inject(Directionality, {\n      optional: true\n    });\n    _scrollElement = this.elementRef.nativeElement;\n    _destroyed = new Subject();\n    _renderer = inject(Renderer2);\n    _cleanupScroll;\n    _elementScrolled = new Subject();\n    constructor() {}\n    ngOnInit() {\n      this._cleanupScroll = this.ngZone.runOutsideAngular(() => this._renderer.listen(this._scrollElement, 'scroll', event => this._elementScrolled.next(event)));\n      this.scrollDispatcher.register(this);\n    }\n    ngOnDestroy() {\n      this._cleanupScroll?.();\n      this._elementScrolled.complete();\n      this.scrollDispatcher.deregister(this);\n      this._destroyed.next();\n      this._destroyed.complete();\n    }\n    /** Returns observable that emits when a scroll event is fired on the host element. */\n    elementScrolled() {\n      return this._elementScrolled;\n    }\n    /** Gets the ElementRef for the viewport. */\n    getElementRef() {\n      return this.elementRef;\n    }\n    /**\n     * Scrolls to the specified offsets. This is a normalized version of the browser's native scrollTo\n     * method, since browsers are not consistent about what scrollLeft means in RTL. For this method\n     * left and right always refer to the left and right side of the scrolling container irrespective\n     * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n     * in an RTL context.\n     * @param options specified the offsets to scroll to.\n     */\n    scrollTo(options) {\n      const el = this.elementRef.nativeElement;\n      const isRtl = this.dir && this.dir.value == 'rtl';\n      // Rewrite start & end offsets as right or left offsets.\n      if (options.left == null) {\n        options.left = isRtl ? options.end : options.start;\n      }\n      if (options.right == null) {\n        options.right = isRtl ? options.start : options.end;\n      }\n      // Rewrite the bottom offset as a top offset.\n      if (options.bottom != null) {\n        options.top = el.scrollHeight - el.clientHeight - options.bottom;\n      }\n      // Rewrite the right offset as a left offset.\n      if (isRtl && getRtlScrollAxisType() != RtlScrollAxisType.NORMAL) {\n        if (options.left != null) {\n          options.right = el.scrollWidth - el.clientWidth - options.left;\n        }\n        if (getRtlScrollAxisType() == RtlScrollAxisType.INVERTED) {\n          options.left = options.right;\n        } else if (getRtlScrollAxisType() == RtlScrollAxisType.NEGATED) {\n          options.left = options.right ? -options.right : options.right;\n        }\n      } else {\n        if (options.right != null) {\n          options.left = el.scrollWidth - el.clientWidth - options.right;\n        }\n      }\n      this._applyScrollToOptions(options);\n    }\n    _applyScrollToOptions(options) {\n      const el = this.elementRef.nativeElement;\n      if (supportsScrollBehavior()) {\n        el.scrollTo(options);\n      } else {\n        if (options.top != null) {\n          el.scrollTop = options.top;\n        }\n        if (options.left != null) {\n          el.scrollLeft = options.left;\n        }\n      }\n    }\n    /**\n     * Measures the scroll offset relative to the specified edge of the viewport. This method can be\n     * used instead of directly checking scrollLeft or scrollTop, since browsers are not consistent\n     * about what scrollLeft means in RTL. The values returned by this method are normalized such that\n     * left and right always refer to the left and right side of the scrolling container irrespective\n     * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n     * in an RTL context.\n     * @param from The edge to measure from.\n     */\n    measureScrollOffset(from) {\n      const LEFT = 'left';\n      const RIGHT = 'right';\n      const el = this.elementRef.nativeElement;\n      if (from == 'top') {\n        return el.scrollTop;\n      }\n      if (from == 'bottom') {\n        return el.scrollHeight - el.clientHeight - el.scrollTop;\n      }\n      // Rewrite start & end as left or right offsets.\n      const isRtl = this.dir && this.dir.value == 'rtl';\n      if (from == 'start') {\n        from = isRtl ? RIGHT : LEFT;\n      } else if (from == 'end') {\n        from = isRtl ? LEFT : RIGHT;\n      }\n      if (isRtl && getRtlScrollAxisType() == RtlScrollAxisType.INVERTED) {\n        // For INVERTED, scrollLeft is (scrollWidth - clientWidth) when scrolled all the way left and\n        // 0 when scrolled all the way right.\n        if (from == LEFT) {\n          return el.scrollWidth - el.clientWidth - el.scrollLeft;\n        } else {\n          return el.scrollLeft;\n        }\n      } else if (isRtl && getRtlScrollAxisType() == RtlScrollAxisType.NEGATED) {\n        // For NEGATED, scrollLeft is -(scrollWidth - clientWidth) when scrolled all the way left and\n        // 0 when scrolled all the way right.\n        if (from == LEFT) {\n          return el.scrollLeft + el.scrollWidth - el.clientWidth;\n        } else {\n          return -el.scrollLeft;\n        }\n      } else {\n        // For NORMAL, as well as non-RTL contexts, scrollLeft is 0 when scrolled all the way left and\n        // (scrollWidth - clientWidth) when scrolled all the way right.\n        if (from == LEFT) {\n          return el.scrollLeft;\n        } else {\n          return el.scrollWidth - el.clientWidth - el.scrollLeft;\n        }\n      }\n    }\n    static ɵfac = function CdkScrollable_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkScrollable)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkScrollable,\n      selectors: [[\"\", \"cdk-scrollable\", \"\"], [\"\", \"cdkScrollable\", \"\"]]\n    });\n  }\n  return CdkScrollable;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Time in ms to throttle the resize events by default. */\nconst DEFAULT_RESIZE_TIME = 20;\n/**\n * Simple utility for getting the bounds of the browser viewport.\n * @docs-private\n */\nlet ViewportRuler = /*#__PURE__*/(() => {\n  class ViewportRuler {\n    _platform = inject(Platform);\n    _listeners;\n    /** Cached viewport dimensions. */\n    _viewportSize;\n    /** Stream of viewport change events. */\n    _change = new Subject();\n    /** Used to reference correct document/window */\n    _document = inject(DOCUMENT, {\n      optional: true\n    });\n    constructor() {\n      const ngZone = inject(NgZone);\n      const renderer = inject(RendererFactory2).createRenderer(null, null);\n      ngZone.runOutsideAngular(() => {\n        if (this._platform.isBrowser) {\n          const changeListener = event => this._change.next(event);\n          this._listeners = [renderer.listen('window', 'resize', changeListener), renderer.listen('window', 'orientationchange', changeListener)];\n        }\n        // Clear the cached position so that the viewport is re-measured next time it is required.\n        // We don't need to keep track of the subscription, because it is completed on destroy.\n        this.change().subscribe(() => this._viewportSize = null);\n      });\n    }\n    ngOnDestroy() {\n      this._listeners?.forEach(cleanup => cleanup());\n      this._change.complete();\n    }\n    /** Returns the viewport's width and height. */\n    getViewportSize() {\n      if (!this._viewportSize) {\n        this._updateViewportSize();\n      }\n      const output = {\n        width: this._viewportSize.width,\n        height: this._viewportSize.height\n      };\n      // If we're not on a browser, don't cache the size since it'll be mocked out anyway.\n      if (!this._platform.isBrowser) {\n        this._viewportSize = null;\n      }\n      return output;\n    }\n    /** Gets a DOMRect for the viewport's bounds. */\n    getViewportRect() {\n      // Use the document element's bounding rect rather than the window scroll properties\n      // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll\n      // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different\n      // conceptual viewports. Under most circumstances these viewports are equivalent, but they\n      // can disagree when the page is pinch-zoomed (on devices that support touch).\n      // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4\n      // We use the documentElement instead of the body because, by default (without a css reset)\n      // browsers typically give the document body an 8px margin, which is not included in\n      // getBoundingClientRect().\n      const scrollPosition = this.getViewportScrollPosition();\n      const {\n        width,\n        height\n      } = this.getViewportSize();\n      return {\n        top: scrollPosition.top,\n        left: scrollPosition.left,\n        bottom: scrollPosition.top + height,\n        right: scrollPosition.left + width,\n        height,\n        width\n      };\n    }\n    /** Gets the (top, left) scroll position of the viewport. */\n    getViewportScrollPosition() {\n      // While we can get a reference to the fake document\n      // during SSR, it doesn't have getBoundingClientRect.\n      if (!this._platform.isBrowser) {\n        return {\n          top: 0,\n          left: 0\n        };\n      }\n      // The top-left-corner of the viewport is determined by the scroll position of the document\n      // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about\n      // whether `document.body` or `document.documentElement` is the scrolled element, so reading\n      // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of\n      // `document.documentElement` works consistently, where the `top` and `left` values will\n      // equal negative the scroll position.\n      const document = this._document;\n      const window = this._getWindow();\n      const documentElement = document.documentElement;\n      const documentRect = documentElement.getBoundingClientRect();\n      const top = -documentRect.top || document.body.scrollTop || window.scrollY || documentElement.scrollTop || 0;\n      const left = -documentRect.left || document.body.scrollLeft || window.scrollX || documentElement.scrollLeft || 0;\n      return {\n        top,\n        left\n      };\n    }\n    /**\n     * Returns a stream that emits whenever the size of the viewport changes.\n     * This stream emits outside of the Angular zone.\n     * @param throttleTime Time in milliseconds to throttle the stream.\n     */\n    change(throttleTime = DEFAULT_RESIZE_TIME) {\n      return throttleTime > 0 ? this._change.pipe(auditTime(throttleTime)) : this._change;\n    }\n    /** Use defaultView of injected document if available or fallback to global window reference */\n    _getWindow() {\n      return this._document.defaultView || window;\n    }\n    /** Updates the cached viewport size. */\n    _updateViewportSize() {\n      const window = this._getWindow();\n      this._viewportSize = this._platform.isBrowser ? {\n        width: window.innerWidth,\n        height: window.innerHeight\n      } : {\n        width: 0,\n        height: 0\n      };\n    }\n    static ɵfac = function ViewportRuler_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ViewportRuler)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: ViewportRuler,\n      factory: ViewportRuler.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return ViewportRuler;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst VIRTUAL_SCROLLABLE = /*#__PURE__*/new InjectionToken('VIRTUAL_SCROLLABLE');\n/**\n * Extending the {@link CdkScrollable} to be used as scrolling container for virtual scrolling.\n */\nlet CdkVirtualScrollable = /*#__PURE__*/(() => {\n  class CdkVirtualScrollable extends CdkScrollable {\n    constructor() {\n      super();\n    }\n    /**\n     * Measure the viewport size for the provided orientation.\n     *\n     * @param orientation The orientation to measure the size from.\n     */\n    measureViewportSize(orientation) {\n      const viewportEl = this.elementRef.nativeElement;\n      return orientation === 'horizontal' ? viewportEl.clientWidth : viewportEl.clientHeight;\n    }\n    static ɵfac = function CdkVirtualScrollable_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkVirtualScrollable)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkVirtualScrollable,\n      features: [i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return CdkVirtualScrollable;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Checks if the given ranges are equal. */\nfunction rangesEqual(r1, r2) {\n  return r1.start == r2.start && r1.end == r2.end;\n}\n/**\n * Scheduler to be used for scroll events. Needs to fall back to\n * something that doesn't rely on requestAnimationFrame on environments\n * that don't support it (e.g. server-side rendering).\n */\nconst SCROLL_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\n/** A viewport that virtualizes its scrolling with the help of `CdkVirtualForOf`. */\nlet CdkVirtualScrollViewport = /*#__PURE__*/(() => {\n  class CdkVirtualScrollViewport extends CdkVirtualScrollable {\n    elementRef = inject(ElementRef);\n    _changeDetectorRef = inject(ChangeDetectorRef);\n    _scrollStrategy = inject(VIRTUAL_SCROLL_STRATEGY, {\n      optional: true\n    });\n    scrollable = inject(VIRTUAL_SCROLLABLE, {\n      optional: true\n    });\n    _platform = inject(Platform);\n    /** Emits when the viewport is detached from a CdkVirtualForOf. */\n    _detachedSubject = new Subject();\n    /** Emits when the rendered range changes. */\n    _renderedRangeSubject = new Subject();\n    /** The direction the viewport scrolls. */\n    get orientation() {\n      return this._orientation;\n    }\n    set orientation(orientation) {\n      if (this._orientation !== orientation) {\n        this._orientation = orientation;\n        this._calculateSpacerSize();\n      }\n    }\n    _orientation = 'vertical';\n    /**\n     * Whether rendered items should persist in the DOM after scrolling out of view. By default, items\n     * will be removed.\n     */\n    appendOnly = false;\n    // Note: we don't use the typical EventEmitter here because we need to subscribe to the scroll\n    // strategy lazily (i.e. only if the user is actually listening to the events). We do this because\n    // depending on how the strategy calculates the scrolled index, it may come at a cost to\n    // performance.\n    /** Emits when the index of the first element visible in the viewport changes. */\n    scrolledIndexChange = new Observable(observer => this._scrollStrategy.scrolledIndexChange.subscribe(index => Promise.resolve().then(() => this.ngZone.run(() => observer.next(index)))));\n    /** The element that wraps the rendered content. */\n    _contentWrapper;\n    /** A stream that emits whenever the rendered range changes. */\n    renderedRangeStream = this._renderedRangeSubject;\n    /**\n     * The total size of all content (in pixels), including content that is not currently rendered.\n     */\n    _totalContentSize = 0;\n    /** A string representing the `style.width` property value to be used for the spacer element. */\n    _totalContentWidth = '';\n    /** A string representing the `style.height` property value to be used for the spacer element. */\n    _totalContentHeight = '';\n    /**\n     * The CSS transform applied to the rendered subset of items so that they appear within the bounds\n     * of the visible viewport.\n     */\n    _renderedContentTransform;\n    /** The currently rendered range of indices. */\n    _renderedRange = {\n      start: 0,\n      end: 0\n    };\n    /** The length of the data bound to this viewport (in number of items). */\n    _dataLength = 0;\n    /** The size of the viewport (in pixels). */\n    _viewportSize = 0;\n    /** the currently attached CdkVirtualScrollRepeater. */\n    _forOf;\n    /** The last rendered content offset that was set. */\n    _renderedContentOffset = 0;\n    /**\n     * Whether the last rendered content offset was to the end of the content (and therefore needs to\n     * be rewritten as an offset to the start of the content).\n     */\n    _renderedContentOffsetNeedsRewrite = false;\n    /** Whether there is a pending change detection cycle. */\n    _isChangeDetectionPending = false;\n    /** A list of functions to run after the next change detection cycle. */\n    _runAfterChangeDetection = [];\n    /** Subscription to changes in the viewport size. */\n    _viewportChanges = Subscription.EMPTY;\n    _injector = inject(Injector);\n    _isDestroyed = false;\n    constructor() {\n      super();\n      const viewportRuler = inject(ViewportRuler);\n      if (!this._scrollStrategy && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw Error('Error: cdk-virtual-scroll-viewport requires the \"itemSize\" property to be set.');\n      }\n      this._viewportChanges = viewportRuler.change().subscribe(() => {\n        this.checkViewportSize();\n      });\n      if (!this.scrollable) {\n        // No scrollable is provided, so the virtual-scroll-viewport needs to become a scrollable\n        this.elementRef.nativeElement.classList.add('cdk-virtual-scrollable');\n        this.scrollable = this;\n      }\n    }\n    ngOnInit() {\n      // Scrolling depends on the element dimensions which we can't get during SSR.\n      if (!this._platform.isBrowser) {\n        return;\n      }\n      if (this.scrollable === this) {\n        super.ngOnInit();\n      }\n      // It's still too early to measure the viewport at this point. Deferring with a promise allows\n      // the Viewport to be rendered with the correct size before we measure. We run this outside the\n      // zone to avoid causing more change detection cycles. We handle the change detection loop\n      // ourselves instead.\n      this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n        this._measureViewportSize();\n        this._scrollStrategy.attach(this);\n        this.scrollable.elementScrolled().pipe(\n        // Start off with a fake scroll event so we properly detect our initial position.\n        startWith(null),\n        // Collect multiple events into one until the next animation frame. This way if\n        // there are multiple scroll events in the same frame we only need to recheck\n        // our layout once.\n        auditTime(0, SCROLL_SCHEDULER),\n        // Usually `elementScrolled` is completed when the scrollable is destroyed, but\n        // that may not be the case if a `CdkVirtualScrollableElement` is used so we have\n        // to unsubscribe here just in case.\n        takeUntil(this._destroyed)).subscribe(() => this._scrollStrategy.onContentScrolled());\n        this._markChangeDetectionNeeded();\n      }));\n    }\n    ngOnDestroy() {\n      this.detach();\n      this._scrollStrategy.detach();\n      // Complete all subjects\n      this._renderedRangeSubject.complete();\n      this._detachedSubject.complete();\n      this._viewportChanges.unsubscribe();\n      this._isDestroyed = true;\n      super.ngOnDestroy();\n    }\n    /** Attaches a `CdkVirtualScrollRepeater` to this viewport. */\n    attach(forOf) {\n      if (this._forOf && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw Error('CdkVirtualScrollViewport is already attached.');\n      }\n      // Subscribe to the data stream of the CdkVirtualForOf to keep track of when the data length\n      // changes. Run outside the zone to avoid triggering change detection, since we're managing the\n      // change detection loop ourselves.\n      this.ngZone.runOutsideAngular(() => {\n        this._forOf = forOf;\n        this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe(data => {\n          const newLength = data.length;\n          if (newLength !== this._dataLength) {\n            this._dataLength = newLength;\n            this._scrollStrategy.onDataLengthChanged();\n          }\n          this._doChangeDetection();\n        });\n      });\n    }\n    /** Detaches the current `CdkVirtualForOf`. */\n    detach() {\n      this._forOf = null;\n      this._detachedSubject.next();\n    }\n    /** Gets the length of the data bound to this viewport (in number of items). */\n    getDataLength() {\n      return this._dataLength;\n    }\n    /** Gets the size of the viewport (in pixels). */\n    getViewportSize() {\n      return this._viewportSize;\n    }\n    // TODO(mmalerba): This is technically out of sync with what's really rendered until a render\n    // cycle happens. I'm being careful to only call it after the render cycle is complete and before\n    // setting it to something else, but its error prone and should probably be split into\n    // `pendingRange` and `renderedRange`, the latter reflecting whats actually in the DOM.\n    /** Get the current rendered range of items. */\n    getRenderedRange() {\n      return this._renderedRange;\n    }\n    measureBoundingClientRectWithScrollOffset(from) {\n      return this.getElementRef().nativeElement.getBoundingClientRect()[from];\n    }\n    /**\n     * Sets the total size of all content (in pixels), including content that is not currently\n     * rendered.\n     */\n    setTotalContentSize(size) {\n      if (this._totalContentSize !== size) {\n        this._totalContentSize = size;\n        this._calculateSpacerSize();\n        this._markChangeDetectionNeeded();\n      }\n    }\n    /** Sets the currently rendered range of indices. */\n    setRenderedRange(range) {\n      if (!rangesEqual(this._renderedRange, range)) {\n        if (this.appendOnly) {\n          range = {\n            start: 0,\n            end: Math.max(this._renderedRange.end, range.end)\n          };\n        }\n        this._renderedRangeSubject.next(this._renderedRange = range);\n        this._markChangeDetectionNeeded(() => this._scrollStrategy.onContentRendered());\n      }\n    }\n    /**\n     * Gets the offset from the start of the viewport to the start of the rendered data (in pixels).\n     */\n    getOffsetToRenderedContentStart() {\n      return this._renderedContentOffsetNeedsRewrite ? null : this._renderedContentOffset;\n    }\n    /**\n     * Sets the offset from the start of the viewport to either the start or end of the rendered data\n     * (in pixels).\n     */\n    setRenderedContentOffset(offset, to = 'to-start') {\n      // In appendOnly, we always start from the top\n      offset = this.appendOnly && to === 'to-start' ? 0 : offset;\n      // For a horizontal viewport in a right-to-left language we need to translate along the x-axis\n      // in the negative direction.\n      const isRtl = this.dir && this.dir.value == 'rtl';\n      const isHorizontal = this.orientation == 'horizontal';\n      const axis = isHorizontal ? 'X' : 'Y';\n      const axisDirection = isHorizontal && isRtl ? -1 : 1;\n      let transform = `translate${axis}(${Number(axisDirection * offset)}px)`;\n      this._renderedContentOffset = offset;\n      if (to === 'to-end') {\n        transform += ` translate${axis}(-100%)`;\n        // The viewport should rewrite this as a `to-start` offset on the next render cycle. Otherwise\n        // elements will appear to expand in the wrong direction (e.g. `mat-expansion-panel` would\n        // expand upward).\n        this._renderedContentOffsetNeedsRewrite = true;\n      }\n      if (this._renderedContentTransform != transform) {\n        // We know this value is safe because we parse `offset` with `Number()` before passing it\n        // into the string.\n        this._renderedContentTransform = transform;\n        this._markChangeDetectionNeeded(() => {\n          if (this._renderedContentOffsetNeedsRewrite) {\n            this._renderedContentOffset -= this.measureRenderedContentSize();\n            this._renderedContentOffsetNeedsRewrite = false;\n            this.setRenderedContentOffset(this._renderedContentOffset);\n          } else {\n            this._scrollStrategy.onRenderedOffsetChanged();\n          }\n        });\n      }\n    }\n    /**\n     * Scrolls to the given offset from the start of the viewport. Please note that this is not always\n     * the same as setting `scrollTop` or `scrollLeft`. In a horizontal viewport with right-to-left\n     * direction, this would be the equivalent of setting a fictional `scrollRight` property.\n     * @param offset The offset to scroll to.\n     * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n     */\n    scrollToOffset(offset, behavior = 'auto') {\n      const options = {\n        behavior\n      };\n      if (this.orientation === 'horizontal') {\n        options.start = offset;\n      } else {\n        options.top = offset;\n      }\n      this.scrollable.scrollTo(options);\n    }\n    /**\n     * Scrolls to the offset for the given index.\n     * @param index The index of the element to scroll to.\n     * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n     */\n    scrollToIndex(index, behavior = 'auto') {\n      this._scrollStrategy.scrollToIndex(index, behavior);\n    }\n    /**\n     * Gets the current scroll offset from the start of the scrollable (in pixels).\n     * @param from The edge to measure the offset from. Defaults to 'top' in vertical mode and 'start'\n     *     in horizontal mode.\n     */\n    measureScrollOffset(from) {\n      // This is to break the call cycle\n      let measureScrollOffset;\n      if (this.scrollable == this) {\n        measureScrollOffset = _from => super.measureScrollOffset(_from);\n      } else {\n        measureScrollOffset = _from => this.scrollable.measureScrollOffset(_from);\n      }\n      return Math.max(0, measureScrollOffset(from ?? (this.orientation === 'horizontal' ? 'start' : 'top')) - this.measureViewportOffset());\n    }\n    /**\n     * Measures the offset of the viewport from the scrolling container\n     * @param from The edge to measure from.\n     */\n    measureViewportOffset(from) {\n      let fromRect;\n      const LEFT = 'left';\n      const RIGHT = 'right';\n      const isRtl = this.dir?.value == 'rtl';\n      if (from == 'start') {\n        fromRect = isRtl ? RIGHT : LEFT;\n      } else if (from == 'end') {\n        fromRect = isRtl ? LEFT : RIGHT;\n      } else if (from) {\n        fromRect = from;\n      } else {\n        fromRect = this.orientation === 'horizontal' ? 'left' : 'top';\n      }\n      const scrollerClientRect = this.scrollable.measureBoundingClientRectWithScrollOffset(fromRect);\n      const viewportClientRect = this.elementRef.nativeElement.getBoundingClientRect()[fromRect];\n      return viewportClientRect - scrollerClientRect;\n    }\n    /** Measure the combined size of all of the rendered items. */\n    measureRenderedContentSize() {\n      const contentEl = this._contentWrapper.nativeElement;\n      return this.orientation === 'horizontal' ? contentEl.offsetWidth : contentEl.offsetHeight;\n    }\n    /**\n     * Measure the total combined size of the given range. Throws if the range includes items that are\n     * not rendered.\n     */\n    measureRangeSize(range) {\n      if (!this._forOf) {\n        return 0;\n      }\n      return this._forOf.measureRangeSize(range, this.orientation);\n    }\n    /** Update the viewport dimensions and re-render. */\n    checkViewportSize() {\n      // TODO: Cleanup later when add logic for handling content resize\n      this._measureViewportSize();\n      this._scrollStrategy.onDataLengthChanged();\n    }\n    /** Measure the viewport size. */\n    _measureViewportSize() {\n      this._viewportSize = this.scrollable.measureViewportSize(this.orientation);\n    }\n    /** Queue up change detection to run. */\n    _markChangeDetectionNeeded(runAfter) {\n      if (runAfter) {\n        this._runAfterChangeDetection.push(runAfter);\n      }\n      // Use a Promise to batch together calls to `_doChangeDetection`. This way if we set a bunch of\n      // properties sequentially we only have to run `_doChangeDetection` once at the end.\n      if (!this._isChangeDetectionPending) {\n        this._isChangeDetectionPending = true;\n        this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n          this._doChangeDetection();\n        }));\n      }\n    }\n    /** Run change detection. */\n    _doChangeDetection() {\n      if (this._isDestroyed) {\n        return;\n      }\n      this.ngZone.run(() => {\n        // Apply changes to Angular bindings. Note: We must call `markForCheck` to run change detection\n        // from the root, since the repeated items are content projected in. Calling `detectChanges`\n        // instead does not properly check the projected content.\n        this._changeDetectorRef.markForCheck();\n        // Apply the content transform. The transform can't be set via an Angular binding because\n        // bypassSecurityTrustStyle is banned in Google. However the value is safe, it's composed of\n        // string literals, a variable that can only be 'X' or 'Y', and user input that is run through\n        // the `Number` function first to coerce it to a numeric value.\n        this._contentWrapper.nativeElement.style.transform = this._renderedContentTransform;\n        afterNextRender(() => {\n          this._isChangeDetectionPending = false;\n          const runAfterChangeDetection = this._runAfterChangeDetection;\n          this._runAfterChangeDetection = [];\n          for (const fn of runAfterChangeDetection) {\n            fn();\n          }\n        }, {\n          injector: this._injector\n        });\n      });\n    }\n    /** Calculates the `style.width` and `style.height` for the spacer element. */\n    _calculateSpacerSize() {\n      this._totalContentHeight = this.orientation === 'horizontal' ? '' : `${this._totalContentSize}px`;\n      this._totalContentWidth = this.orientation === 'horizontal' ? `${this._totalContentSize}px` : '';\n    }\n    static ɵfac = function CdkVirtualScrollViewport_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkVirtualScrollViewport)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: CdkVirtualScrollViewport,\n      selectors: [[\"cdk-virtual-scroll-viewport\"]],\n      viewQuery: function CdkVirtualScrollViewport_Query(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵviewQuery(_c0, 7);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._contentWrapper = _t.first);\n        }\n      },\n      hostAttrs: [1, \"cdk-virtual-scroll-viewport\"],\n      hostVars: 4,\n      hostBindings: function CdkVirtualScrollViewport_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"cdk-virtual-scroll-orientation-horizontal\", ctx.orientation === \"horizontal\")(\"cdk-virtual-scroll-orientation-vertical\", ctx.orientation !== \"horizontal\");\n        }\n      },\n      inputs: {\n        orientation: \"orientation\",\n        appendOnly: [2, \"appendOnly\", \"appendOnly\", booleanAttribute]\n      },\n      outputs: {\n        scrolledIndexChange: \"scrolledIndexChange\"\n      },\n      features: [i0.ɵɵProvidersFeature([{\n        provide: CdkScrollable,\n        useFactory: (virtualScrollable, viewport) => virtualScrollable || viewport,\n        deps: [[new Optional(), new Inject(VIRTUAL_SCROLLABLE)], CdkVirtualScrollViewport]\n      }]), i0.ɵɵInheritDefinitionFeature],\n      ngContentSelectors: _c1,\n      decls: 4,\n      vars: 4,\n      consts: [[\"contentWrapper\", \"\"], [1, \"cdk-virtual-scroll-content-wrapper\"], [1, \"cdk-virtual-scroll-spacer\"]],\n      template: function CdkVirtualScrollViewport_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef();\n          i0.ɵɵelementStart(0, \"div\", 1, 0);\n          i0.ɵɵprojection(2);\n          i0.ɵɵelementEnd();\n          i0.ɵɵelement(3, \"div\", 2);\n        }\n        if (rf & 2) {\n          i0.ɵɵadvance(3);\n          i0.ɵɵstyleProp(\"width\", ctx._totalContentWidth)(\"height\", ctx._totalContentHeight);\n        }\n      },\n      styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return CdkVirtualScrollViewport;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Helper to extract the offset of a DOM Node in a certain direction. */\nfunction getOffset(orientation, direction, node) {\n  const el = node;\n  if (!el.getBoundingClientRect) {\n    return 0;\n  }\n  const rect = el.getBoundingClientRect();\n  if (orientation === 'horizontal') {\n    return direction === 'start' ? rect.left : rect.right;\n  }\n  return direction === 'start' ? rect.top : rect.bottom;\n}\n/**\n * A directive similar to `ngForOf` to be used for rendering data inside a virtual scrolling\n * container.\n */\nlet CdkVirtualForOf = /*#__PURE__*/(() => {\n  class CdkVirtualForOf {\n    _viewContainerRef = inject(ViewContainerRef);\n    _template = inject(TemplateRef);\n    _differs = inject(IterableDiffers);\n    _viewRepeater = inject(_VIEW_REPEATER_STRATEGY);\n    _viewport = inject(CdkVirtualScrollViewport, {\n      skipSelf: true\n    });\n    /** Emits when the rendered view of the data changes. */\n    viewChange = new Subject();\n    /** Subject that emits when a new DataSource instance is given. */\n    _dataSourceChanges = new Subject();\n    /** The DataSource to display. */\n    get cdkVirtualForOf() {\n      return this._cdkVirtualForOf;\n    }\n    set cdkVirtualForOf(value) {\n      this._cdkVirtualForOf = value;\n      if (isDataSource(value)) {\n        this._dataSourceChanges.next(value);\n      } else {\n        // If value is an an NgIterable, convert it to an array.\n        this._dataSourceChanges.next(new ArrayDataSource(isObservable(value) ? value : Array.from(value || [])));\n      }\n    }\n    _cdkVirtualForOf;\n    /**\n     * The `TrackByFunction` to use for tracking changes. The `TrackByFunction` takes the index and\n     * the item and produces a value to be used as the item's identity when tracking changes.\n     */\n    get cdkVirtualForTrackBy() {\n      return this._cdkVirtualForTrackBy;\n    }\n    set cdkVirtualForTrackBy(fn) {\n      this._needsUpdate = true;\n      this._cdkVirtualForTrackBy = fn ? (index, item) => fn(index + (this._renderedRange ? this._renderedRange.start : 0), item) : undefined;\n    }\n    _cdkVirtualForTrackBy;\n    /** The template used to stamp out new elements. */\n    set cdkVirtualForTemplate(value) {\n      if (value) {\n        this._needsUpdate = true;\n        this._template = value;\n      }\n    }\n    /**\n     * The size of the cache used to store templates that are not being used for re-use later.\n     * Setting the cache size to `0` will disable caching. Defaults to 20 templates.\n     */\n    get cdkVirtualForTemplateCacheSize() {\n      return this._viewRepeater.viewCacheSize;\n    }\n    set cdkVirtualForTemplateCacheSize(size) {\n      this._viewRepeater.viewCacheSize = coerceNumberProperty(size);\n    }\n    /** Emits whenever the data in the current DataSource changes. */\n    dataStream = this._dataSourceChanges.pipe(\n    // Start off with null `DataSource`.\n    startWith(null),\n    // Bundle up the previous and current data sources so we can work with both.\n    pairwise(),\n    // Use `_changeDataSource` to disconnect from the previous data source and connect to the\n    // new one, passing back a stream of data changes which we run through `switchMap` to give\n    // us a data stream that emits the latest data from whatever the current `DataSource` is.\n    switchMap(([prev, cur]) => this._changeDataSource(prev, cur)),\n    // Replay the last emitted data when someone subscribes.\n    shareReplay(1));\n    /** The differ used to calculate changes to the data. */\n    _differ = null;\n    /** The most recent data emitted from the DataSource. */\n    _data;\n    /** The currently rendered items. */\n    _renderedItems;\n    /** The currently rendered range of indices. */\n    _renderedRange;\n    /** Whether the rendered data should be updated during the next ngDoCheck cycle. */\n    _needsUpdate = false;\n    _destroyed = new Subject();\n    constructor() {\n      const ngZone = inject(NgZone);\n      this.dataStream.subscribe(data => {\n        this._data = data;\n        this._onRenderedDataChange();\n      });\n      this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe(range => {\n        this._renderedRange = range;\n        if (this.viewChange.observers.length) {\n          ngZone.run(() => this.viewChange.next(this._renderedRange));\n        }\n        this._onRenderedDataChange();\n      });\n      this._viewport.attach(this);\n    }\n    /**\n     * Measures the combined size (width for horizontal orientation, height for vertical) of all items\n     * in the specified range. Throws an error if the range includes items that are not currently\n     * rendered.\n     */\n    measureRangeSize(range, orientation) {\n      if (range.start >= range.end) {\n        return 0;\n      }\n      if ((range.start < this._renderedRange.start || range.end > this._renderedRange.end) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw Error(`Error: attempted to measure an item that isn't rendered.`);\n      }\n      // The index into the list of rendered views for the first item in the range.\n      const renderedStartIndex = range.start - this._renderedRange.start;\n      // The length of the range we're measuring.\n      const rangeLen = range.end - range.start;\n      // Loop over all the views, find the first and land node and compute the size by subtracting\n      // the top of the first node from the bottom of the last one.\n      let firstNode;\n      let lastNode;\n      // Find the first node by starting from the beginning and going forwards.\n      for (let i = 0; i < rangeLen; i++) {\n        const view = this._viewContainerRef.get(i + renderedStartIndex);\n        if (view && view.rootNodes.length) {\n          firstNode = lastNode = view.rootNodes[0];\n          break;\n        }\n      }\n      // Find the last node by starting from the end and going backwards.\n      for (let i = rangeLen - 1; i > -1; i--) {\n        const view = this._viewContainerRef.get(i + renderedStartIndex);\n        if (view && view.rootNodes.length) {\n          lastNode = view.rootNodes[view.rootNodes.length - 1];\n          break;\n        }\n      }\n      return firstNode && lastNode ? getOffset(orientation, 'end', lastNode) - getOffset(orientation, 'start', firstNode) : 0;\n    }\n    ngDoCheck() {\n      if (this._differ && this._needsUpdate) {\n        // TODO(mmalerba): We should differentiate needs update due to scrolling and a new portion of\n        // this list being rendered (can use simpler algorithm) vs needs update due to data actually\n        // changing (need to do this diff).\n        const changes = this._differ.diff(this._renderedItems);\n        if (!changes) {\n          this._updateContext();\n        } else {\n          this._applyChanges(changes);\n        }\n        this._needsUpdate = false;\n      }\n    }\n    ngOnDestroy() {\n      this._viewport.detach();\n      this._dataSourceChanges.next(undefined);\n      this._dataSourceChanges.complete();\n      this.viewChange.complete();\n      this._destroyed.next();\n      this._destroyed.complete();\n      this._viewRepeater.detach();\n    }\n    /** React to scroll state changes in the viewport. */\n    _onRenderedDataChange() {\n      if (!this._renderedRange) {\n        return;\n      }\n      this._renderedItems = this._data.slice(this._renderedRange.start, this._renderedRange.end);\n      if (!this._differ) {\n        // Use a wrapper function for the `trackBy` so any new values are\n        // picked up automatically without having to recreate the differ.\n        this._differ = this._differs.find(this._renderedItems).create((index, item) => {\n          return this.cdkVirtualForTrackBy ? this.cdkVirtualForTrackBy(index, item) : item;\n        });\n      }\n      this._needsUpdate = true;\n    }\n    /** Swap out one `DataSource` for another. */\n    _changeDataSource(oldDs, newDs) {\n      if (oldDs) {\n        oldDs.disconnect(this);\n      }\n      this._needsUpdate = true;\n      return newDs ? newDs.connect(this) : of();\n    }\n    /** Update the `CdkVirtualForOfContext` for all views. */\n    _updateContext() {\n      const count = this._data.length;\n      let i = this._viewContainerRef.length;\n      while (i--) {\n        const view = this._viewContainerRef.get(i);\n        view.context.index = this._renderedRange.start + i;\n        view.context.count = count;\n        this._updateComputedContextProperties(view.context);\n        view.detectChanges();\n      }\n    }\n    /** Apply changes to the DOM. */\n    _applyChanges(changes) {\n      this._viewRepeater.applyChanges(changes, this._viewContainerRef, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record, currentIndex), record => record.item);\n      // Update $implicit for any items that had an identity change.\n      changes.forEachIdentityChange(record => {\n        const view = this._viewContainerRef.get(record.currentIndex);\n        view.context.$implicit = record.item;\n      });\n      // Update the context variables on all items.\n      const count = this._data.length;\n      let i = this._viewContainerRef.length;\n      while (i--) {\n        const view = this._viewContainerRef.get(i);\n        view.context.index = this._renderedRange.start + i;\n        view.context.count = count;\n        this._updateComputedContextProperties(view.context);\n      }\n    }\n    /** Update the computed properties on the `CdkVirtualForOfContext`. */\n    _updateComputedContextProperties(context) {\n      context.first = context.index === 0;\n      context.last = context.index === context.count - 1;\n      context.even = context.index % 2 === 0;\n      context.odd = !context.even;\n    }\n    _getEmbeddedViewArgs(record, index) {\n      // Note that it's important that we insert the item directly at the proper index,\n      // rather than inserting it and the moving it in place, because if there's a directive\n      // on the same node that injects the `ViewContainerRef`, Angular will insert another\n      // comment node which can throw off the move when it's being repeated for all items.\n      return {\n        templateRef: this._template,\n        context: {\n          $implicit: record.item,\n          // It's guaranteed that the iterable is not \"undefined\" or \"null\" because we only\n          // generate views for elements if the \"cdkVirtualForOf\" iterable has elements.\n          cdkVirtualForOf: this._cdkVirtualForOf,\n          index: -1,\n          count: -1,\n          first: false,\n          last: false,\n          odd: false,\n          even: false\n        },\n        index\n      };\n    }\n    static ngTemplateContextGuard(directive, context) {\n      return true;\n    }\n    static ɵfac = function CdkVirtualForOf_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkVirtualForOf)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkVirtualForOf,\n      selectors: [[\"\", \"cdkVirtualFor\", \"\", \"cdkVirtualForOf\", \"\"]],\n      inputs: {\n        cdkVirtualForOf: \"cdkVirtualForOf\",\n        cdkVirtualForTrackBy: \"cdkVirtualForTrackBy\",\n        cdkVirtualForTemplate: \"cdkVirtualForTemplate\",\n        cdkVirtualForTemplateCacheSize: \"cdkVirtualForTemplateCacheSize\"\n      },\n      features: [i0.ɵɵProvidersFeature([{\n        provide: _VIEW_REPEATER_STRATEGY,\n        useClass: _RecycleViewRepeaterStrategy\n      }])]\n    });\n  }\n  return CdkVirtualForOf;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Provides a virtual scrollable for the element it is attached to.\n */\nlet CdkVirtualScrollableElement = /*#__PURE__*/(() => {\n  class CdkVirtualScrollableElement extends CdkVirtualScrollable {\n    constructor() {\n      super();\n    }\n    measureBoundingClientRectWithScrollOffset(from) {\n      return this.getElementRef().nativeElement.getBoundingClientRect()[from] - this.measureScrollOffset(from);\n    }\n    static ɵfac = function CdkVirtualScrollableElement_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkVirtualScrollableElement)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkVirtualScrollableElement,\n      selectors: [[\"\", \"cdkVirtualScrollingElement\", \"\"]],\n      hostAttrs: [1, \"cdk-virtual-scrollable\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: VIRTUAL_SCROLLABLE,\n        useExisting: CdkVirtualScrollableElement\n      }]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return CdkVirtualScrollableElement;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Provides as virtual scrollable for the global / window scrollbar.\n */\nlet CdkVirtualScrollableWindow = /*#__PURE__*/(() => {\n  class CdkVirtualScrollableWindow extends CdkVirtualScrollable {\n    constructor() {\n      super();\n      const document = inject(DOCUMENT);\n      this.elementRef = new ElementRef(document.documentElement);\n      this._scrollElement = document;\n    }\n    measureBoundingClientRectWithScrollOffset(from) {\n      return this.getElementRef().nativeElement.getBoundingClientRect()[from];\n    }\n    static ɵfac = function CdkVirtualScrollableWindow_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkVirtualScrollableWindow)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkVirtualScrollableWindow,\n      selectors: [[\"cdk-virtual-scroll-viewport\", \"scrollWindow\", \"\"]],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: VIRTUAL_SCROLLABLE,\n        useExisting: CdkVirtualScrollableWindow\n      }]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return CdkVirtualScrollableWindow;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet CdkScrollableModule = /*#__PURE__*/(() => {\n  class CdkScrollableModule {\n    static ɵfac = function CdkScrollableModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkScrollableModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: CdkScrollableModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n  }\n  return CdkScrollableModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @docs-primary-export\n */\nlet ScrollingModule = /*#__PURE__*/(() => {\n  class ScrollingModule {\n    static ɵfac = function ScrollingModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ScrollingModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: ScrollingModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [BidiModule, CdkScrollableModule, BidiModule, CdkScrollableModule]\n    });\n  }\n  return ScrollingModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { CdkFixedSizeVirtualScroll, CdkScrollable, CdkScrollableModule, CdkVirtualForOf, CdkVirtualScrollViewport, CdkVirtualScrollable, CdkVirtualScrollableElement, CdkVirtualScrollableWindow, DEFAULT_RESIZE_TIME, DEFAULT_SCROLL_TIME, FixedSizeVirtualScrollStrategy, ScrollDispatcher, ScrollingModule, VIRTUAL_SCROLLABLE, VIRTUAL_SCROLL_STRATEGY, ViewportRuler, _fixedSizeVirtualScrollStrategyFactory };\n","import * as i0 from '@angular/core';\nimport { ElementRef, NgModuleRef, EnvironmentInjector, createComponent, Injector, inject, TemplateRef, ViewContainerRef, Directive, EventEmitter, Input, Output, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * Throws an exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nfunction throwNullPortalError() {\n  throw Error('Must provide a portal to attach');\n}\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nfunction throwPortalAlreadyAttachedError() {\n  throw Error('Host already has a portal attached');\n}\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nfunction throwPortalOutletAlreadyDisposedError() {\n  throw Error('This PortalOutlet has already been disposed');\n}\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nfunction throwUnknownPortalTypeError() {\n  throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' + 'a ComponentPortal or a TemplatePortal.');\n}\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * @docs-private\n */\nfunction throwNullPortalOutletError() {\n  throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nfunction throwNoPortalAttachedError() {\n  throw Error('Attempting to detach a portal that is not attached to a host');\n}\n\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nclass Portal {\n  _attachedHost;\n  /** Attach this portal to a host. */\n  attach(host) {\n    if (typeof ngDevMode === 'undefined' || ngDevMode) {\n      if (host == null) {\n        throwNullPortalOutletError();\n      }\n      if (host.hasAttached()) {\n        throwPortalAlreadyAttachedError();\n      }\n    }\n    this._attachedHost = host;\n    return host.attach(this);\n  }\n  /** Detach this portal from its host */\n  detach() {\n    let host = this._attachedHost;\n    if (host != null) {\n      this._attachedHost = null;\n      host.detach();\n    } else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n      throwNoPortalAttachedError();\n    }\n  }\n  /** Whether this portal is attached to a host. */\n  get isAttached() {\n    return this._attachedHost != null;\n  }\n  /**\n   * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n   * the PortalOutlet when it is performing an `attach()` or `detach()`.\n   */\n  setAttachedHost(host) {\n    this._attachedHost = host;\n  }\n}\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nclass ComponentPortal extends Portal {\n  /** The type of the component that will be instantiated for attachment. */\n  component;\n  /**\n   * Where the attached component should live in Angular's *logical* component tree.\n   * This is different from where the component *renders*, which is determined by the PortalOutlet.\n   * The origin is necessary when the host is outside of the Angular application context.\n   */\n  viewContainerRef;\n  /** Injector used for the instantiation of the component. */\n  injector;\n  /**\n   * @deprecated No longer in use. To be removed.\n   * @breaking-change 18.0.0\n   */\n  componentFactoryResolver;\n  /**\n   * List of DOM nodes that should be projected through `<ng-content>` of the attached component.\n   */\n  projectableNodes;\n  constructor(component, viewContainerRef, injector,\n  /**\n   * @deprecated No longer in use. To be removed.\n   * @breaking-change 18.0.0\n   */\n  _componentFactoryResolver, projectableNodes) {\n    super();\n    this.component = component;\n    this.viewContainerRef = viewContainerRef;\n    this.injector = injector;\n    this.projectableNodes = projectableNodes;\n  }\n}\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nclass TemplatePortal extends Portal {\n  templateRef;\n  viewContainerRef;\n  context;\n  injector;\n  constructor(/** The embedded template that will be used to instantiate an embedded View in the host. */\n  templateRef, /** Reference to the ViewContainer into which the template will be stamped out. */\n  viewContainerRef, /** Contextual data to be passed in to the embedded view. */\n  context, /** The injector to use for the embedded view. */\n  injector) {\n    super();\n    this.templateRef = templateRef;\n    this.viewContainerRef = viewContainerRef;\n    this.context = context;\n    this.injector = injector;\n  }\n  get origin() {\n    return this.templateRef.elementRef;\n  }\n  /**\n   * Attach the portal to the provided `PortalOutlet`.\n   * When a context is provided it will override the `context` property of the `TemplatePortal`\n   * instance.\n   */\n  attach(host, context = this.context) {\n    this.context = context;\n    return super.attach(host);\n  }\n  detach() {\n    this.context = undefined;\n    return super.detach();\n  }\n}\n/**\n * A `DomPortal` is a portal whose DOM element will be taken from its current position\n * in the DOM and moved into a portal outlet, when it is attached. On detach, the content\n * will be restored to its original position.\n */\nclass DomPortal extends Portal {\n  /** DOM node hosting the portal's content. */\n  element;\n  constructor(element) {\n    super();\n    this.element = element instanceof ElementRef ? element.nativeElement : element;\n  }\n}\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nclass BasePortalOutlet {\n  /** The portal currently attached to the host. */\n  _attachedPortal;\n  /** A function that will permanently dispose this host. */\n  _disposeFn;\n  /** Whether this host has already been permanently disposed. */\n  _isDisposed = false;\n  /** Whether this host has an attached portal. */\n  hasAttached() {\n    return !!this._attachedPortal;\n  }\n  /** Attaches a portal. */\n  attach(portal) {\n    if (typeof ngDevMode === 'undefined' || ngDevMode) {\n      if (!portal) {\n        throwNullPortalError();\n      }\n      if (this.hasAttached()) {\n        throwPortalAlreadyAttachedError();\n      }\n      if (this._isDisposed) {\n        throwPortalOutletAlreadyDisposedError();\n      }\n    }\n    if (portal instanceof ComponentPortal) {\n      this._attachedPortal = portal;\n      return this.attachComponentPortal(portal);\n    } else if (portal instanceof TemplatePortal) {\n      this._attachedPortal = portal;\n      return this.attachTemplatePortal(portal);\n      // @breaking-change 10.0.0 remove null check for `this.attachDomPortal`.\n    } else if (this.attachDomPortal && portal instanceof DomPortal) {\n      this._attachedPortal = portal;\n      return this.attachDomPortal(portal);\n    }\n    if (typeof ngDevMode === 'undefined' || ngDevMode) {\n      throwUnknownPortalTypeError();\n    }\n  }\n  // @breaking-change 10.0.0 `attachDomPortal` to become a required abstract method.\n  attachDomPortal = null;\n  /** Detaches a previously attached portal. */\n  detach() {\n    if (this._attachedPortal) {\n      this._attachedPortal.setAttachedHost(null);\n      this._attachedPortal = null;\n    }\n    this._invokeDisposeFn();\n  }\n  /** Permanently dispose of this portal host. */\n  dispose() {\n    if (this.hasAttached()) {\n      this.detach();\n    }\n    this._invokeDisposeFn();\n    this._isDisposed = true;\n  }\n  /** @docs-private */\n  setDisposeFn(fn) {\n    this._disposeFn = fn;\n  }\n  _invokeDisposeFn() {\n    if (this._disposeFn) {\n      this._disposeFn();\n      this._disposeFn = null;\n    }\n  }\n}\n/**\n * @deprecated Use `BasePortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass BasePortalHost extends BasePortalOutlet {}\n\n/**\n * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nclass DomPortalOutlet extends BasePortalOutlet {\n  outletElement;\n  _appRef;\n  _defaultInjector;\n  _document;\n  /**\n   * @param outletElement Element into which the content is projected.\n   * @param _unusedComponentFactoryResolver Used to resolve the component factory.\n   *   Only required when attaching component portals.\n   * @param _appRef Reference to the application. Only used in component portals when there\n   *   is no `ViewContainerRef` available.\n   * @param _defaultInjector Injector to use as a fallback when the portal being attached doesn't\n   *   have one. Only used for component portals.\n   * @param _document Reference to the document. Used when attaching a DOM portal. Will eventually\n   *   become a required parameter.\n   */\n  constructor(/** Element into which the content is projected. */\n  outletElement,\n  /**\n   * @deprecated No longer in use. To be removed.\n   * @breaking-change 18.0.0\n   */\n  _unusedComponentFactoryResolver, _appRef, _defaultInjector,\n  /**\n   * @deprecated `_document` Parameter to be made required.\n   * @breaking-change 10.0.0\n   */\n  _document) {\n    super();\n    this.outletElement = outletElement;\n    this._appRef = _appRef;\n    this._defaultInjector = _defaultInjector;\n    this._document = _document;\n  }\n  /**\n   * Attach the given ComponentPortal to DOM element.\n   * @param portal Portal to be attached\n   * @returns Reference to the created component.\n   */\n  attachComponentPortal(portal) {\n    let componentRef;\n    // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n    // for the component (in terms of Angular's component tree, not rendering).\n    // When the ViewContainerRef is missing, we use the factory to create the component directly\n    // and then manually attach the view to the application.\n    if (portal.viewContainerRef) {\n      const injector = portal.injector || portal.viewContainerRef.injector;\n      const ngModuleRef = injector.get(NgModuleRef, null, {\n        optional: true\n      }) || undefined;\n      componentRef = portal.viewContainerRef.createComponent(portal.component, {\n        index: portal.viewContainerRef.length,\n        injector,\n        ngModuleRef,\n        projectableNodes: portal.projectableNodes || undefined\n      });\n      this.setDisposeFn(() => componentRef.destroy());\n    } else {\n      if ((typeof ngDevMode === 'undefined' || ngDevMode) && !this._appRef) {\n        throw Error('Cannot attach component portal to outlet without an ApplicationRef.');\n      }\n      const appRef = this._appRef;\n      const elementInjector = portal.injector || this._defaultInjector || Injector.NULL;\n      const environmentInjector = elementInjector.get(EnvironmentInjector, appRef.injector);\n      componentRef = createComponent(portal.component, {\n        elementInjector,\n        environmentInjector,\n        projectableNodes: portal.projectableNodes || undefined\n      });\n      appRef.attachView(componentRef.hostView);\n      this.setDisposeFn(() => {\n        // Verify that the ApplicationRef has registered views before trying to detach a host view.\n        // This check also protects the `detachView` from being called on a destroyed ApplicationRef.\n        if (appRef.viewCount > 0) {\n          appRef.detachView(componentRef.hostView);\n        }\n        componentRef.destroy();\n      });\n    }\n    // At this point the component has been instantiated, so we move it to the location in the DOM\n    // where we want it to be rendered.\n    this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n    this._attachedPortal = portal;\n    return componentRef;\n  }\n  /**\n   * Attaches a template portal to the DOM as an embedded view.\n   * @param portal Portal to be attached.\n   * @returns Reference to the created embedded view.\n   */\n  attachTemplatePortal(portal) {\n    let viewContainer = portal.viewContainerRef;\n    let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context, {\n      injector: portal.injector\n    });\n    // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n    // But for the DomPortalOutlet the view can be added everywhere in the DOM\n    // (e.g Overlay Container) To move the view to the specified host element. We just\n    // re-append the existing root nodes.\n    viewRef.rootNodes.forEach(rootNode => this.outletElement.appendChild(rootNode));\n    // Note that we want to detect changes after the nodes have been moved so that\n    // any directives inside the portal that are looking at the DOM inside a lifecycle\n    // hook won't be invoked too early.\n    viewRef.detectChanges();\n    this.setDisposeFn(() => {\n      let index = viewContainer.indexOf(viewRef);\n      if (index !== -1) {\n        viewContainer.remove(index);\n      }\n    });\n    this._attachedPortal = portal;\n    // TODO(jelbourn): Return locals from view.\n    return viewRef;\n  }\n  /**\n   * Attaches a DOM portal by transferring its content into the outlet.\n   * @param portal Portal to be attached.\n   * @deprecated To be turned into a method.\n   * @breaking-change 10.0.0\n   */\n  attachDomPortal = portal => {\n    const element = portal.element;\n    if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n      throw Error('DOM portal content must be attached to a parent node.');\n    }\n    // Anchor used to save the element's previous position so\n    // that we can restore it when the portal is detached.\n    const anchorNode = this._document.createComment('dom-portal');\n    element.parentNode.insertBefore(anchorNode, element);\n    this.outletElement.appendChild(element);\n    this._attachedPortal = portal;\n    super.setDisposeFn(() => {\n      // We can't use `replaceWith` here because IE doesn't support it.\n      if (anchorNode.parentNode) {\n        anchorNode.parentNode.replaceChild(element, anchorNode);\n      }\n    });\n  };\n  /**\n   * Clears out a portal from the DOM.\n   */\n  dispose() {\n    super.dispose();\n    this.outletElement.remove();\n  }\n  /** Gets the root HTMLElement for an instantiated component. */\n  _getComponentRootNode(componentRef) {\n    return componentRef.hostView.rootNodes[0];\n  }\n}\n/**\n * @deprecated Use `DomPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass DomPortalHost extends DomPortalOutlet {}\n\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n */\nlet CdkPortal = /*#__PURE__*/(() => {\n  class CdkPortal extends TemplatePortal {\n    constructor() {\n      const templateRef = inject(TemplateRef);\n      const viewContainerRef = inject(ViewContainerRef);\n      super(templateRef, viewContainerRef);\n    }\n    static ɵfac = function CdkPortal_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkPortal)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkPortal,\n      selectors: [[\"\", \"cdkPortal\", \"\"]],\n      exportAs: [\"cdkPortal\"],\n      features: [i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return CdkPortal;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated Use `CdkPortal` instead.\n * @breaking-change 9.0.0\n */\nlet TemplatePortalDirective = /*#__PURE__*/(() => {\n  class TemplatePortalDirective extends CdkPortal {\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵTemplatePortalDirective_BaseFactory;\n      return function TemplatePortalDirective_Factory(__ngFactoryType__) {\n        return (ɵTemplatePortalDirective_BaseFactory || (ɵTemplatePortalDirective_BaseFactory = i0.ɵɵgetInheritedFactory(TemplatePortalDirective)))(__ngFactoryType__ || TemplatePortalDirective);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: TemplatePortalDirective,\n      selectors: [[\"\", \"cdk-portal\", \"\"], [\"\", \"portal\", \"\"]],\n      exportAs: [\"cdkPortal\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: CdkPortal,\n        useExisting: TemplatePortalDirective\n      }]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return TemplatePortalDirective;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * `<ng-template [cdkPortalOutlet]=\"greeting\"></ng-template>`\n */\nlet CdkPortalOutlet = /*#__PURE__*/(() => {\n  class CdkPortalOutlet extends BasePortalOutlet {\n    _moduleRef = inject(NgModuleRef, {\n      optional: true\n    });\n    _document = inject(DOCUMENT);\n    _viewContainerRef = inject(ViewContainerRef);\n    /** Whether the portal component is initialized. */\n    _isInitialized = false;\n    /** Reference to the currently-attached component/view ref. */\n    _attachedRef;\n    constructor() {\n      super();\n    }\n    /** Portal associated with the Portal outlet. */\n    get portal() {\n      return this._attachedPortal;\n    }\n    set portal(portal) {\n      // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n      // run. This handles the cases where the user might do something like `<div cdkPortalOutlet>`\n      // and attach a portal programmatically in the parent component. When Angular does the first CD\n      // round, it will fire the setter with empty string, causing the user's content to be cleared.\n      if (this.hasAttached() && !portal && !this._isInitialized) {\n        return;\n      }\n      if (this.hasAttached()) {\n        super.detach();\n      }\n      if (portal) {\n        super.attach(portal);\n      }\n      this._attachedPortal = portal || null;\n    }\n    /** Emits when a portal is attached to the outlet. */\n    attached = new EventEmitter();\n    /** Component or view reference that is attached to the portal. */\n    get attachedRef() {\n      return this._attachedRef;\n    }\n    ngOnInit() {\n      this._isInitialized = true;\n    }\n    ngOnDestroy() {\n      super.dispose();\n      this._attachedRef = this._attachedPortal = null;\n    }\n    /**\n     * Attach the given ComponentPortal to this PortalOutlet.\n     *\n     * @param portal Portal to be attached to the portal outlet.\n     * @returns Reference to the created component.\n     */\n    attachComponentPortal(portal) {\n      portal.setAttachedHost(this);\n      // If the portal specifies an origin, use that as the logical location of the component\n      // in the application tree. Otherwise use the location of this PortalOutlet.\n      const viewContainerRef = portal.viewContainerRef != null ? portal.viewContainerRef : this._viewContainerRef;\n      const ref = viewContainerRef.createComponent(portal.component, {\n        index: viewContainerRef.length,\n        injector: portal.injector || viewContainerRef.injector,\n        projectableNodes: portal.projectableNodes || undefined,\n        ngModuleRef: this._moduleRef || undefined\n      });\n      // If we're using a view container that's different from the injected one (e.g. when the portal\n      // specifies its own) we need to move the component into the outlet, otherwise it'll be rendered\n      // inside of the alternate view container.\n      if (viewContainerRef !== this._viewContainerRef) {\n        this._getRootNode().appendChild(ref.hostView.rootNodes[0]);\n      }\n      super.setDisposeFn(() => ref.destroy());\n      this._attachedPortal = portal;\n      this._attachedRef = ref;\n      this.attached.emit(ref);\n      return ref;\n    }\n    /**\n     * Attach the given TemplatePortal to this PortalHost as an embedded View.\n     * @param portal Portal to be attached.\n     * @returns Reference to the created embedded view.\n     */\n    attachTemplatePortal(portal) {\n      portal.setAttachedHost(this);\n      const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context, {\n        injector: portal.injector\n      });\n      super.setDisposeFn(() => this._viewContainerRef.clear());\n      this._attachedPortal = portal;\n      this._attachedRef = viewRef;\n      this.attached.emit(viewRef);\n      return viewRef;\n    }\n    /**\n     * Attaches the given DomPortal to this PortalHost by moving all of the portal content into it.\n     * @param portal Portal to be attached.\n     * @deprecated To be turned into a method.\n     * @breaking-change 10.0.0\n     */\n    attachDomPortal = portal => {\n      const element = portal.element;\n      if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw Error('DOM portal content must be attached to a parent node.');\n      }\n      // Anchor used to save the element's previous position so\n      // that we can restore it when the portal is detached.\n      const anchorNode = this._document.createComment('dom-portal');\n      portal.setAttachedHost(this);\n      element.parentNode.insertBefore(anchorNode, element);\n      this._getRootNode().appendChild(element);\n      this._attachedPortal = portal;\n      super.setDisposeFn(() => {\n        if (anchorNode.parentNode) {\n          anchorNode.parentNode.replaceChild(element, anchorNode);\n        }\n      });\n    };\n    /** Gets the root node of the portal outlet. */\n    _getRootNode() {\n      const nativeElement = this._viewContainerRef.element.nativeElement;\n      // The directive could be set on a template which will result in a comment\n      // node being the root. Use the comment's parent node if that is the case.\n      return nativeElement.nodeType === nativeElement.ELEMENT_NODE ? nativeElement : nativeElement.parentNode;\n    }\n    static ɵfac = function CdkPortalOutlet_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkPortalOutlet)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkPortalOutlet,\n      selectors: [[\"\", \"cdkPortalOutlet\", \"\"]],\n      inputs: {\n        portal: [0, \"cdkPortalOutlet\", \"portal\"]\n      },\n      outputs: {\n        attached: \"attached\"\n      },\n      exportAs: [\"cdkPortalOutlet\"],\n      features: [i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return CdkPortalOutlet;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @deprecated Use `CdkPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nlet PortalHostDirective = /*#__PURE__*/(() => {\n  class PortalHostDirective extends CdkPortalOutlet {\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵPortalHostDirective_BaseFactory;\n      return function PortalHostDirective_Factory(__ngFactoryType__) {\n        return (ɵPortalHostDirective_BaseFactory || (ɵPortalHostDirective_BaseFactory = i0.ɵɵgetInheritedFactory(PortalHostDirective)))(__ngFactoryType__ || PortalHostDirective);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: PortalHostDirective,\n      selectors: [[\"\", \"cdkPortalHost\", \"\"], [\"\", \"portalHost\", \"\"]],\n      inputs: {\n        portal: [0, \"cdkPortalHost\", \"portal\"]\n      },\n      exportAs: [\"cdkPortalHost\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: CdkPortalOutlet,\n        useExisting: PortalHostDirective\n      }]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return PortalHostDirective;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet PortalModule = /*#__PURE__*/(() => {\n  class PortalModule {\n    static ɵfac = function PortalModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || PortalModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: PortalModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n  }\n  return PortalModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { BasePortalOutlet as B, ComponentPortal as C, DomPortal as D, Portal as P, TemplatePortal as T, BasePortalHost as a, DomPortalOutlet as b, DomPortalHost as c, CdkPortal as d, TemplatePortalDirective as e, CdkPortalOutlet as f, PortalHostDirective as g, PortalModule as h };\n","import * as i0 from '@angular/core';\nimport { inject, NgZone, Injectable, RendererFactory2, Component, ChangeDetectionStrategy, ViewEncapsulation, untracked, afterRender, afterNextRender, ElementRef, Injector, ANIMATION_MODULE_TYPE, EnvironmentInjector, ApplicationRef, InjectionToken, Directive, EventEmitter, TemplateRef, ViewContainerRef, booleanAttribute, Input, Output, NgModule } from '@angular/core';\nimport { DOCUMENT, Location } from '@angular/common';\nimport { P as Platform } from './platform-DmdVEw_C.mjs';\nimport { _ as _bindEventWithOptions } from './backwards-compatibility-DHR38MsD.mjs';\nimport { _ as _getEventTarget } from './shadow-dom-B0oHn41l.mjs';\nimport { _ as _isTestEnvironment } from './test-environment-CT0XxPyp.mjs';\nimport { _ as _CdkPrivateStyleLoader } from './style-loader-Cu9AvjH9.mjs';\nimport { Subject, Subscription, merge } from 'rxjs';\nimport { filter, takeUntil, takeWhile } from 'rxjs/operators';\nimport { c as coerceCssPixelValue } from './css-pixel-value-C_HEqLhI.mjs';\nimport { c as coerceArray } from './array-I1yfCXUO.mjs';\nimport { ScrollDispatcher, ViewportRuler, ScrollingModule } from './scrolling.mjs';\nimport { s as supportsScrollBehavior } from './scrolling-BkvA05C8.mjs';\nimport { b as DomPortalOutlet, T as TemplatePortal, h as PortalModule } from './portal-directives-Bw5woq8I.mjs';\nimport { D as Directionality } from './directionality-CBXD4hga.mjs';\nimport { _ as _IdGenerator } from './id-generator-Dw_9dSDu.mjs';\nimport { g as ESCAPE } from './keycodes-CpHkExLC.mjs';\nimport { hasModifierKey } from './keycodes.mjs';\nimport { BidiModule } from './bidi.mjs';\nconst scrollBehaviorSupported = /*#__PURE__*/supportsScrollBehavior();\n/**\n * Strategy that will prevent the user from scrolling while the overlay is visible.\n */\nclass BlockScrollStrategy {\n  _viewportRuler;\n  _previousHTMLStyles = {\n    top: '',\n    left: ''\n  };\n  _previousScrollPosition;\n  _isEnabled = false;\n  _document;\n  constructor(_viewportRuler, document) {\n    this._viewportRuler = _viewportRuler;\n    this._document = document;\n  }\n  /** Attaches this scroll strategy to an overlay. */\n  attach() {}\n  /** Blocks page-level scroll while the attached overlay is open. */\n  enable() {\n    if (this._canBeEnabled()) {\n      const root = this._document.documentElement;\n      this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();\n      // Cache the previous inline styles in case the user had set them.\n      this._previousHTMLStyles.left = root.style.left || '';\n      this._previousHTMLStyles.top = root.style.top || '';\n      // Note: we're using the `html` node, instead of the `body`, because the `body` may\n      // have the user agent margin, whereas the `html` is guaranteed not to have one.\n      root.style.left = coerceCssPixelValue(-this._previousScrollPosition.left);\n      root.style.top = coerceCssPixelValue(-this._previousScrollPosition.top);\n      root.classList.add('cdk-global-scrollblock');\n      this._isEnabled = true;\n    }\n  }\n  /** Unblocks page-level scroll while the attached overlay is open. */\n  disable() {\n    if (this._isEnabled) {\n      const html = this._document.documentElement;\n      const body = this._document.body;\n      const htmlStyle = html.style;\n      const bodyStyle = body.style;\n      const previousHtmlScrollBehavior = htmlStyle.scrollBehavior || '';\n      const previousBodyScrollBehavior = bodyStyle.scrollBehavior || '';\n      this._isEnabled = false;\n      htmlStyle.left = this._previousHTMLStyles.left;\n      htmlStyle.top = this._previousHTMLStyles.top;\n      html.classList.remove('cdk-global-scrollblock');\n      // Disable user-defined smooth scrolling temporarily while we restore the scroll position.\n      // See https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior\n      // Note that we don't mutate the property if the browser doesn't support `scroll-behavior`,\n      // because it can throw off feature detections in `supportsScrollBehavior` which\n      // checks for `'scrollBehavior' in documentElement.style`.\n      if (scrollBehaviorSupported) {\n        htmlStyle.scrollBehavior = bodyStyle.scrollBehavior = 'auto';\n      }\n      window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);\n      if (scrollBehaviorSupported) {\n        htmlStyle.scrollBehavior = previousHtmlScrollBehavior;\n        bodyStyle.scrollBehavior = previousBodyScrollBehavior;\n      }\n    }\n  }\n  _canBeEnabled() {\n    // Since the scroll strategies can't be singletons, we have to use a global CSS class\n    // (`cdk-global-scrollblock`) to make sure that we don't try to disable global\n    // scrolling multiple times.\n    const html = this._document.documentElement;\n    if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {\n      return false;\n    }\n    const rootElement = this._document.documentElement;\n    const viewport = this._viewportRuler.getViewportSize();\n    return rootElement.scrollHeight > viewport.height || rootElement.scrollWidth > viewport.width;\n  }\n}\n\n/**\n * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.\n */\nfunction getMatScrollStrategyAlreadyAttachedError() {\n  return Error(`Scroll strategy has already been attached.`);\n}\n\n/**\n * Strategy that will close the overlay as soon as the user starts scrolling.\n */\nclass CloseScrollStrategy {\n  _scrollDispatcher;\n  _ngZone;\n  _viewportRuler;\n  _config;\n  _scrollSubscription = null;\n  _overlayRef;\n  _initialScrollPosition;\n  constructor(_scrollDispatcher, _ngZone, _viewportRuler, _config) {\n    this._scrollDispatcher = _scrollDispatcher;\n    this._ngZone = _ngZone;\n    this._viewportRuler = _viewportRuler;\n    this._config = _config;\n  }\n  /** Attaches this scroll strategy to an overlay. */\n  attach(overlayRef) {\n    if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n      throw getMatScrollStrategyAlreadyAttachedError();\n    }\n    this._overlayRef = overlayRef;\n  }\n  /** Enables the closing of the attached overlay on scroll. */\n  enable() {\n    if (this._scrollSubscription) {\n      return;\n    }\n    const stream = this._scrollDispatcher.scrolled(0).pipe(filter(scrollable => {\n      return !scrollable || !this._overlayRef.overlayElement.contains(scrollable.getElementRef().nativeElement);\n    }));\n    if (this._config && this._config.threshold && this._config.threshold > 1) {\n      this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n      this._scrollSubscription = stream.subscribe(() => {\n        const scrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n        if (Math.abs(scrollPosition - this._initialScrollPosition) > this._config.threshold) {\n          this._detach();\n        } else {\n          this._overlayRef.updatePosition();\n        }\n      });\n    } else {\n      this._scrollSubscription = stream.subscribe(this._detach);\n    }\n  }\n  /** Disables the closing the attached overlay on scroll. */\n  disable() {\n    if (this._scrollSubscription) {\n      this._scrollSubscription.unsubscribe();\n      this._scrollSubscription = null;\n    }\n  }\n  detach() {\n    this.disable();\n    this._overlayRef = null;\n  }\n  /** Detaches the overlay ref and disables the scroll strategy. */\n  _detach = () => {\n    this.disable();\n    if (this._overlayRef.hasAttached()) {\n      this._ngZone.run(() => this._overlayRef.detach());\n    }\n  };\n}\n\n/** Scroll strategy that doesn't do anything. */\nclass NoopScrollStrategy {\n  /** Does nothing, as this scroll strategy is a no-op. */\n  enable() {}\n  /** Does nothing, as this scroll strategy is a no-op. */\n  disable() {}\n  /** Does nothing, as this scroll strategy is a no-op. */\n  attach() {}\n}\n\n/**\n * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is scrolled out of view\n * @docs-private\n */\nfunction isElementScrolledOutsideView(element, scrollContainers) {\n  return scrollContainers.some(containerBounds => {\n    const outsideAbove = element.bottom < containerBounds.top;\n    const outsideBelow = element.top > containerBounds.bottom;\n    const outsideLeft = element.right < containerBounds.left;\n    const outsideRight = element.left > containerBounds.right;\n    return outsideAbove || outsideBelow || outsideLeft || outsideRight;\n  });\n}\n/**\n * Gets whether an element is clipped by any of its scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is clipped\n * @docs-private\n */\nfunction isElementClippedByScrolling(element, scrollContainers) {\n  return scrollContainers.some(scrollContainerRect => {\n    const clippedAbove = element.top < scrollContainerRect.top;\n    const clippedBelow = element.bottom > scrollContainerRect.bottom;\n    const clippedLeft = element.left < scrollContainerRect.left;\n    const clippedRight = element.right > scrollContainerRect.right;\n    return clippedAbove || clippedBelow || clippedLeft || clippedRight;\n  });\n}\n\n/**\n * Strategy that will update the element position as the user is scrolling.\n */\nclass RepositionScrollStrategy {\n  _scrollDispatcher;\n  _viewportRuler;\n  _ngZone;\n  _config;\n  _scrollSubscription = null;\n  _overlayRef;\n  constructor(_scrollDispatcher, _viewportRuler, _ngZone, _config) {\n    this._scrollDispatcher = _scrollDispatcher;\n    this._viewportRuler = _viewportRuler;\n    this._ngZone = _ngZone;\n    this._config = _config;\n  }\n  /** Attaches this scroll strategy to an overlay. */\n  attach(overlayRef) {\n    if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n      throw getMatScrollStrategyAlreadyAttachedError();\n    }\n    this._overlayRef = overlayRef;\n  }\n  /** Enables repositioning of the attached overlay on scroll. */\n  enable() {\n    if (!this._scrollSubscription) {\n      const throttle = this._config ? this._config.scrollThrottle : 0;\n      this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(() => {\n        this._overlayRef.updatePosition();\n        // TODO(crisbeto): make `close` on by default once all components can handle it.\n        if (this._config && this._config.autoClose) {\n          const overlayRect = this._overlayRef.overlayElement.getBoundingClientRect();\n          const {\n            width,\n            height\n          } = this._viewportRuler.getViewportSize();\n          // TODO(crisbeto): include all ancestor scroll containers here once\n          // we have a way of exposing the trigger element to the scroll strategy.\n          const parentRects = [{\n            width,\n            height,\n            bottom: height,\n            right: width,\n            top: 0,\n            left: 0\n          }];\n          if (isElementScrolledOutsideView(overlayRect, parentRects)) {\n            this.disable();\n            this._ngZone.run(() => this._overlayRef.detach());\n          }\n        }\n      });\n    }\n  }\n  /** Disables repositioning of the attached overlay on scroll. */\n  disable() {\n    if (this._scrollSubscription) {\n      this._scrollSubscription.unsubscribe();\n      this._scrollSubscription = null;\n    }\n  }\n  detach() {\n    this.disable();\n    this._overlayRef = null;\n  }\n}\n\n/**\n * Options for how an overlay will handle scrolling.\n *\n * Users can provide a custom value for `ScrollStrategyOptions` to replace the default\n * behaviors. This class primarily acts as a factory for ScrollStrategy instances.\n */\nlet ScrollStrategyOptions = /*#__PURE__*/(() => {\n  class ScrollStrategyOptions {\n    _scrollDispatcher = inject(ScrollDispatcher);\n    _viewportRuler = inject(ViewportRuler);\n    _ngZone = inject(NgZone);\n    _document = inject(DOCUMENT);\n    constructor() {}\n    /** Do nothing on scroll. */\n    noop = () => new NoopScrollStrategy();\n    /**\n     * Close the overlay as soon as the user scrolls.\n     * @param config Configuration to be used inside the scroll strategy.\n     */\n    close = config => new CloseScrollStrategy(this._scrollDispatcher, this._ngZone, this._viewportRuler, config);\n    /** Block scrolling. */\n    block = () => new BlockScrollStrategy(this._viewportRuler, this._document);\n    /**\n     * Update the overlay's position on scroll.\n     * @param config Configuration to be used inside the scroll strategy.\n     * Allows debouncing the reposition calls.\n     */\n    reposition = config => new RepositionScrollStrategy(this._scrollDispatcher, this._viewportRuler, this._ngZone, config);\n    static ɵfac = function ScrollStrategyOptions_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ScrollStrategyOptions)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: ScrollStrategyOptions,\n      factory: ScrollStrategyOptions.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return ScrollStrategyOptions;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Initial configuration used when creating an overlay. */\nclass OverlayConfig {\n  /** Strategy with which to position the overlay. */\n  positionStrategy;\n  /** Strategy to be used when handling scroll events while the overlay is open. */\n  scrollStrategy = /*#__PURE__*/new NoopScrollStrategy();\n  /** Custom class to add to the overlay pane. */\n  panelClass = '';\n  /** Whether the overlay has a backdrop. */\n  hasBackdrop = false;\n  /** Custom class to add to the backdrop */\n  backdropClass = 'cdk-overlay-dark-backdrop';\n  /** The width of the overlay panel. If a number is provided, pixel units are assumed. */\n  width;\n  /** The height of the overlay panel. If a number is provided, pixel units are assumed. */\n  height;\n  /** The min-width of the overlay panel. If a number is provided, pixel units are assumed. */\n  minWidth;\n  /** The min-height of the overlay panel. If a number is provided, pixel units are assumed. */\n  minHeight;\n  /** The max-width of the overlay panel. If a number is provided, pixel units are assumed. */\n  maxWidth;\n  /** The max-height of the overlay panel. If a number is provided, pixel units are assumed. */\n  maxHeight;\n  /**\n   * Direction of the text in the overlay panel. If a `Directionality` instance\n   * is passed in, the overlay will handle changes to its value automatically.\n   */\n  direction;\n  /**\n   * Whether the overlay should be disposed of when the user goes backwards/forwards in history.\n   * Note that this usually doesn't include clicking on links (unless the user is using\n   * the `HashLocationStrategy`).\n   */\n  disposeOnNavigation = false;\n  constructor(config) {\n    if (config) {\n      // Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,\n      // loses the array generic type in the `for of`. But we *also* have to use `Array` because\n      // typescript won't iterate over an `Iterable` unless you compile with `--downlevelIteration`\n      const configKeys = Object.keys(config);\n      for (const key of configKeys) {\n        if (config[key] !== undefined) {\n          // TypeScript, as of version 3.5, sees the left-hand-side of this expression\n          // as \"I don't know *which* key this is, so the only valid value is the intersection\n          // of all the possible values.\" In this case, that happens to be `undefined`. TypeScript\n          // is not smart enough to see that the right-hand-side is actually an access of the same\n          // exact type with the same exact key, meaning that the value type must be identical.\n          // So we use `any` to work around this.\n          this[key] = config[key];\n        }\n      }\n    }\n  }\n}\n\n/** The points of the origin element and the overlay element to connect. */\nclass ConnectionPositionPair {\n  offsetX;\n  offsetY;\n  panelClass;\n  /** X-axis attachment point for connected overlay origin. Can be 'start', 'end', or 'center'. */\n  originX;\n  /** Y-axis attachment point for connected overlay origin. Can be 'top', 'bottom', or 'center'. */\n  originY;\n  /** X-axis attachment point for connected overlay. Can be 'start', 'end', or 'center'. */\n  overlayX;\n  /** Y-axis attachment point for connected overlay. Can be 'top', 'bottom', or 'center'. */\n  overlayY;\n  constructor(origin, overlay, /** Offset along the X axis. */\n  offsetX, /** Offset along the Y axis. */\n  offsetY, /** Class(es) to be applied to the panel while this position is active. */\n  panelClass) {\n    this.offsetX = offsetX;\n    this.offsetY = offsetY;\n    this.panelClass = panelClass;\n    this.originX = origin.originX;\n    this.originY = origin.originY;\n    this.overlayX = overlay.overlayX;\n    this.overlayY = overlay.overlayY;\n  }\n}\n/**\n * Set of properties regarding the position of the origin and overlay relative to the viewport\n * with respect to the containing Scrollable elements.\n *\n * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the\n * bounds of any one of the strategy's Scrollable's bounding client rectangle.\n *\n * The overlay and origin are outside view if there is no overlap between their bounding client\n * rectangle and any one of the strategy's Scrollable's bounding client rectangle.\n *\n *       -----------                    -----------\n *       | outside |                    | clipped |\n *       |  view   |              --------------------------\n *       |         |              |     |         |        |\n *       ----------               |     -----------        |\n *  --------------------------    |                        |\n *  |                        |    |      Scrollable        |\n *  |                        |    |                        |\n *  |                        |     --------------------------\n *  |      Scrollable        |\n *  |                        |\n *  --------------------------\n *\n *  @docs-private\n */\nclass ScrollingVisibility {\n  isOriginClipped;\n  isOriginOutsideView;\n  isOverlayClipped;\n  isOverlayOutsideView;\n}\n/** The change event emitted by the strategy when a fallback position is used. */\nclass ConnectedOverlayPositionChange {\n  connectionPair;\n  scrollableViewProperties;\n  constructor(/** The position used as a result of this change. */\n  connectionPair, /** @docs-private */\n  scrollableViewProperties) {\n    this.connectionPair = connectionPair;\n    this.scrollableViewProperties = scrollableViewProperties;\n  }\n}\n/**\n * Validates whether a vertical position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateVerticalPosition(property, value) {\n  if (value !== 'top' && value !== 'bottom' && value !== 'center') {\n    throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` + `Expected \"top\", \"bottom\" or \"center\".`);\n  }\n}\n/**\n * Validates whether a horizontal position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateHorizontalPosition(property, value) {\n  if (value !== 'start' && value !== 'end' && value !== 'center') {\n    throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` + `Expected \"start\", \"end\" or \"center\".`);\n  }\n}\n\n/**\n * Service for dispatching events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nlet BaseOverlayDispatcher = /*#__PURE__*/(() => {\n  class BaseOverlayDispatcher {\n    /** Currently attached overlays in the order they were attached. */\n    _attachedOverlays = [];\n    _document = inject(DOCUMENT);\n    _isAttached;\n    constructor() {}\n    ngOnDestroy() {\n      this.detach();\n    }\n    /** Add a new overlay to the list of attached overlay refs. */\n    add(overlayRef) {\n      // Ensure that we don't get the same overlay multiple times.\n      this.remove(overlayRef);\n      this._attachedOverlays.push(overlayRef);\n    }\n    /** Remove an overlay from the list of attached overlay refs. */\n    remove(overlayRef) {\n      const index = this._attachedOverlays.indexOf(overlayRef);\n      if (index > -1) {\n        this._attachedOverlays.splice(index, 1);\n      }\n      // Remove the global listener once there are no more overlays.\n      if (this._attachedOverlays.length === 0) {\n        this.detach();\n      }\n    }\n    static ɵfac = function BaseOverlayDispatcher_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || BaseOverlayDispatcher)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: BaseOverlayDispatcher,\n      factory: BaseOverlayDispatcher.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return BaseOverlayDispatcher;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Service for dispatching keyboard events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nlet OverlayKeyboardDispatcher = /*#__PURE__*/(() => {\n  class OverlayKeyboardDispatcher extends BaseOverlayDispatcher {\n    _ngZone = inject(NgZone);\n    _renderer = inject(RendererFactory2).createRenderer(null, null);\n    _cleanupKeydown;\n    /** Add a new overlay to the list of attached overlay refs. */\n    add(overlayRef) {\n      super.add(overlayRef);\n      // Lazily start dispatcher once first overlay is added\n      if (!this._isAttached) {\n        this._ngZone.runOutsideAngular(() => {\n          this._cleanupKeydown = this._renderer.listen('body', 'keydown', this._keydownListener);\n        });\n        this._isAttached = true;\n      }\n    }\n    /** Detaches the global keyboard event listener. */\n    detach() {\n      if (this._isAttached) {\n        this._cleanupKeydown?.();\n        this._isAttached = false;\n      }\n    }\n    /** Keyboard event listener that will be attached to the body. */\n    _keydownListener = event => {\n      const overlays = this._attachedOverlays;\n      for (let i = overlays.length - 1; i > -1; i--) {\n        // Dispatch the keydown event to the top overlay which has subscribers to its keydown events.\n        // We want to target the most recent overlay, rather than trying to match where the event came\n        // from, because some components might open an overlay, but keep focus on a trigger element\n        // (e.g. for select and autocomplete). We skip overlays without keydown event subscriptions,\n        // because we don't want overlays that don't handle keyboard events to block the ones below\n        // them that do.\n        if (overlays[i]._keydownEvents.observers.length > 0) {\n          this._ngZone.run(() => overlays[i]._keydownEvents.next(event));\n          break;\n        }\n      }\n    };\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵOverlayKeyboardDispatcher_BaseFactory;\n      return function OverlayKeyboardDispatcher_Factory(__ngFactoryType__) {\n        return (ɵOverlayKeyboardDispatcher_BaseFactory || (ɵOverlayKeyboardDispatcher_BaseFactory = i0.ɵɵgetInheritedFactory(OverlayKeyboardDispatcher)))(__ngFactoryType__ || OverlayKeyboardDispatcher);\n      };\n    })();\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: OverlayKeyboardDispatcher,\n      factory: OverlayKeyboardDispatcher.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return OverlayKeyboardDispatcher;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Service for dispatching mouse click events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nlet OverlayOutsideClickDispatcher = /*#__PURE__*/(() => {\n  class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {\n    _platform = inject(Platform);\n    _ngZone = inject(NgZone);\n    _renderer = inject(RendererFactory2).createRenderer(null, null);\n    _cursorOriginalValue;\n    _cursorStyleIsSet = false;\n    _pointerDownEventTarget;\n    _cleanups;\n    /** Add a new overlay to the list of attached overlay refs. */\n    add(overlayRef) {\n      super.add(overlayRef);\n      // Safari on iOS does not generate click events for non-interactive\n      // elements. However, we want to receive a click for any element outside\n      // the overlay. We can force a \"clickable\" state by setting\n      // `cursor: pointer` on the document body. See:\n      // https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event#Safari_Mobile\n      // https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n      if (!this._isAttached) {\n        const body = this._document.body;\n        const eventOptions = {\n          capture: true\n        };\n        this._cleanups = this._ngZone.runOutsideAngular(() => [_bindEventWithOptions(this._renderer, body, 'pointerdown', this._pointerDownListener, eventOptions), _bindEventWithOptions(this._renderer, body, 'click', this._clickListener, eventOptions), _bindEventWithOptions(this._renderer, body, 'auxclick', this._clickListener, eventOptions), _bindEventWithOptions(this._renderer, body, 'contextmenu', this._clickListener, eventOptions)]);\n        // click event is not fired on iOS. To make element \"clickable\" we are\n        // setting the cursor to pointer\n        if (this._platform.IOS && !this._cursorStyleIsSet) {\n          this._cursorOriginalValue = body.style.cursor;\n          body.style.cursor = 'pointer';\n          this._cursorStyleIsSet = true;\n        }\n        this._isAttached = true;\n      }\n    }\n    /** Detaches the global keyboard event listener. */\n    detach() {\n      if (this._isAttached) {\n        this._cleanups?.forEach(cleanup => cleanup());\n        this._cleanups = undefined;\n        if (this._platform.IOS && this._cursorStyleIsSet) {\n          this._document.body.style.cursor = this._cursorOriginalValue;\n          this._cursorStyleIsSet = false;\n        }\n        this._isAttached = false;\n      }\n    }\n    /** Store pointerdown event target to track origin of click. */\n    _pointerDownListener = event => {\n      this._pointerDownEventTarget = _getEventTarget(event);\n    };\n    /** Click event listener that will be attached to the body propagate phase. */\n    _clickListener = event => {\n      const target = _getEventTarget(event);\n      // In case of a click event, we want to check the origin of the click\n      // (e.g. in case where a user starts a click inside the overlay and\n      // releases the click outside of it).\n      // This is done by using the event target of the preceding pointerdown event.\n      // Every click event caused by a pointer device has a preceding pointerdown\n      // event, unless the click was programmatically triggered (e.g. in a unit test).\n      const origin = event.type === 'click' && this._pointerDownEventTarget ? this._pointerDownEventTarget : target;\n      // Reset the stored pointerdown event target, to avoid having it interfere\n      // in subsequent events.\n      this._pointerDownEventTarget = null;\n      // We copy the array because the original may be modified asynchronously if the\n      // outsidePointerEvents listener decides to detach overlays resulting in index errors inside\n      // the for loop.\n      const overlays = this._attachedOverlays.slice();\n      // Dispatch the mouse event to the top overlay which has subscribers to its mouse events.\n      // We want to target all overlays for which the click could be considered as outside click.\n      // As soon as we reach an overlay for which the click is not outside click we break off\n      // the loop.\n      for (let i = overlays.length - 1; i > -1; i--) {\n        const overlayRef = overlays[i];\n        if (overlayRef._outsidePointerEvents.observers.length < 1 || !overlayRef.hasAttached()) {\n          continue;\n        }\n        // If it's a click inside the overlay, just break - we should do nothing\n        // If it's an outside click (both origin and target of the click) dispatch the mouse event,\n        // and proceed with the next overlay\n        if (containsPierceShadowDom(overlayRef.overlayElement, target) || containsPierceShadowDom(overlayRef.overlayElement, origin)) {\n          break;\n        }\n        const outsidePointerEvents = overlayRef._outsidePointerEvents;\n        /** @breaking-change 14.0.0 _ngZone will be required. */\n        if (this._ngZone) {\n          this._ngZone.run(() => outsidePointerEvents.next(event));\n        } else {\n          outsidePointerEvents.next(event);\n        }\n      }\n    };\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵOverlayOutsideClickDispatcher_BaseFactory;\n      return function OverlayOutsideClickDispatcher_Factory(__ngFactoryType__) {\n        return (ɵOverlayOutsideClickDispatcher_BaseFactory || (ɵOverlayOutsideClickDispatcher_BaseFactory = i0.ɵɵgetInheritedFactory(OverlayOutsideClickDispatcher)))(__ngFactoryType__ || OverlayOutsideClickDispatcher);\n      };\n    })();\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: OverlayOutsideClickDispatcher,\n      factory: OverlayOutsideClickDispatcher.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return OverlayOutsideClickDispatcher;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Version of `Element.contains` that transcends shadow DOM boundaries. */\nfunction containsPierceShadowDom(parent, child) {\n  const supportsShadowRoot = typeof ShadowRoot !== 'undefined' && ShadowRoot;\n  let current = child;\n  while (current) {\n    if (current === parent) {\n      return true;\n    }\n    current = supportsShadowRoot && current instanceof ShadowRoot ? current.host : current.parentNode;\n  }\n  return false;\n}\nlet _CdkOverlayStyleLoader = /*#__PURE__*/(() => {\n  class _CdkOverlayStyleLoader {\n    static ɵfac = function _CdkOverlayStyleLoader_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || _CdkOverlayStyleLoader)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: _CdkOverlayStyleLoader,\n      selectors: [[\"ng-component\"]],\n      hostAttrs: [\"cdk-overlay-style-loader\", \"\"],\n      decls: 0,\n      vars: 0,\n      template: function _CdkOverlayStyleLoader_Template(rf, ctx) {},\n      styles: [\".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return _CdkOverlayStyleLoader;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Container inside which all overlays will render. */\nlet OverlayContainer = /*#__PURE__*/(() => {\n  class OverlayContainer {\n    _platform = inject(Platform);\n    _containerElement;\n    _document = inject(DOCUMENT);\n    _styleLoader = inject(_CdkPrivateStyleLoader);\n    constructor() {}\n    ngOnDestroy() {\n      this._containerElement?.remove();\n    }\n    /**\n     * This method returns the overlay container element. It will lazily\n     * create the element the first time it is called to facilitate using\n     * the container in non-browser environments.\n     * @returns the container element\n     */\n    getContainerElement() {\n      this._loadStyles();\n      if (!this._containerElement) {\n        this._createContainer();\n      }\n      return this._containerElement;\n    }\n    /**\n     * Create the overlay container element, which is simply a div\n     * with the 'cdk-overlay-container' class on the document body.\n     */\n    _createContainer() {\n      const containerClass = 'cdk-overlay-container';\n      // TODO(crisbeto): remove the testing check once we have an overlay testing\n      // module or Angular starts tearing down the testing `NgModule`. See:\n      // https://github.com/angular/angular/issues/18831\n      if (this._platform.isBrowser || _isTestEnvironment()) {\n        const oppositePlatformContainers = this._document.querySelectorAll(`.${containerClass}[platform=\"server\"], ` + `.${containerClass}[platform=\"test\"]`);\n        // Remove any old containers from the opposite platform.\n        // This can happen when transitioning from the server to the client.\n        for (let i = 0; i < oppositePlatformContainers.length; i++) {\n          oppositePlatformContainers[i].remove();\n        }\n      }\n      const container = this._document.createElement('div');\n      container.classList.add(containerClass);\n      // A long time ago we kept adding new overlay containers whenever a new app was instantiated,\n      // but at some point we added logic which clears the duplicate ones in order to avoid leaks.\n      // The new logic was a little too aggressive since it was breaking some legitimate use cases.\n      // To mitigate the problem we made it so that only containers from a different platform are\n      // cleared, but the side-effect was that people started depending on the overly-aggressive\n      // logic to clean up their tests for them. Until we can introduce an overlay-specific testing\n      // module which does the cleanup, we try to detect that we're in a test environment and we\n      // always clear the container. See #17006.\n      // TODO(crisbeto): remove the test environment check once we have an overlay testing module.\n      if (_isTestEnvironment()) {\n        container.setAttribute('platform', 'test');\n      } else if (!this._platform.isBrowser) {\n        container.setAttribute('platform', 'server');\n      }\n      this._document.body.appendChild(container);\n      this._containerElement = container;\n    }\n    /** Loads the structural styles necessary for the overlay to work. */\n    _loadStyles() {\n      this._styleLoader.load(_CdkOverlayStyleLoader);\n    }\n    static ɵfac = function OverlayContainer_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || OverlayContainer)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: OverlayContainer,\n      factory: OverlayContainer.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return OverlayContainer;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Encapsulates the logic for attaching and detaching a backdrop. */\nclass BackdropRef {\n  _renderer;\n  _ngZone;\n  element;\n  _cleanupClick;\n  _cleanupTransitionEnd;\n  _fallbackTimeout;\n  constructor(document, _renderer, _ngZone, onClick) {\n    this._renderer = _renderer;\n    this._ngZone = _ngZone;\n    this.element = document.createElement('div');\n    this.element.classList.add('cdk-overlay-backdrop');\n    this._cleanupClick = _renderer.listen(this.element, 'click', onClick);\n  }\n  detach() {\n    this._ngZone.runOutsideAngular(() => {\n      const element = this.element;\n      clearTimeout(this._fallbackTimeout);\n      this._cleanupTransitionEnd?.();\n      this._cleanupTransitionEnd = this._renderer.listen(element, 'transitionend', this.dispose);\n      this._fallbackTimeout = setTimeout(this.dispose, 500);\n      // If the backdrop doesn't have a transition, the `transitionend` event won't fire.\n      // In this case we make it unclickable and we try to remove it after a delay.\n      element.style.pointerEvents = 'none';\n      element.classList.remove('cdk-overlay-backdrop-showing');\n    });\n  }\n  dispose = () => {\n    clearTimeout(this._fallbackTimeout);\n    this._cleanupClick?.();\n    this._cleanupTransitionEnd?.();\n    this._cleanupClick = this._cleanupTransitionEnd = this._fallbackTimeout = undefined;\n    this.element.remove();\n  };\n}\n\n/**\n * Reference to an overlay that has been created with the Overlay service.\n * Used to manipulate or dispose of said overlay.\n */\nclass OverlayRef {\n  _portalOutlet;\n  _host;\n  _pane;\n  _config;\n  _ngZone;\n  _keyboardDispatcher;\n  _document;\n  _location;\n  _outsideClickDispatcher;\n  _animationsDisabled;\n  _injector;\n  _renderer;\n  _backdropClick = /*#__PURE__*/new Subject();\n  _attachments = /*#__PURE__*/new Subject();\n  _detachments = /*#__PURE__*/new Subject();\n  _positionStrategy;\n  _scrollStrategy;\n  _locationChanges = Subscription.EMPTY;\n  _backdropRef = null;\n  /**\n   * Reference to the parent of the `_host` at the time it was detached. Used to restore\n   * the `_host` to its original position in the DOM when it gets re-attached.\n   */\n  _previousHostParent;\n  /** Stream of keydown events dispatched to this overlay. */\n  _keydownEvents = /*#__PURE__*/new Subject();\n  /** Stream of mouse outside events dispatched to this overlay. */\n  _outsidePointerEvents = /*#__PURE__*/new Subject();\n  _renders = /*#__PURE__*/new Subject();\n  _afterRenderRef;\n  /** Reference to the currently-running `afterNextRender` call. */\n  _afterNextRenderRef;\n  constructor(_portalOutlet, _host, _pane, _config, _ngZone, _keyboardDispatcher, _document, _location, _outsideClickDispatcher, _animationsDisabled = false, _injector, _renderer) {\n    this._portalOutlet = _portalOutlet;\n    this._host = _host;\n    this._pane = _pane;\n    this._config = _config;\n    this._ngZone = _ngZone;\n    this._keyboardDispatcher = _keyboardDispatcher;\n    this._document = _document;\n    this._location = _location;\n    this._outsideClickDispatcher = _outsideClickDispatcher;\n    this._animationsDisabled = _animationsDisabled;\n    this._injector = _injector;\n    this._renderer = _renderer;\n    if (_config.scrollStrategy) {\n      this._scrollStrategy = _config.scrollStrategy;\n      this._scrollStrategy.attach(this);\n    }\n    this._positionStrategy = _config.positionStrategy;\n    // Users could open the overlay from an `effect`, in which case we need to\n    // run the `afterRender` as `untracked`. We don't recommend that users do\n    // this, but we also don't want to break users who are doing it.\n    this._afterRenderRef = untracked(() => afterRender(() => {\n      this._renders.next();\n    }, {\n      injector: this._injector\n    }));\n  }\n  /** The overlay's HTML element */\n  get overlayElement() {\n    return this._pane;\n  }\n  /** The overlay's backdrop HTML element. */\n  get backdropElement() {\n    return this._backdropRef?.element || null;\n  }\n  /**\n   * Wrapper around the panel element. Can be used for advanced\n   * positioning where a wrapper with specific styling is\n   * required around the overlay pane.\n   */\n  get hostElement() {\n    return this._host;\n  }\n  /**\n   * Attaches content, given via a Portal, to the overlay.\n   * If the overlay is configured to have a backdrop, it will be created.\n   *\n   * @param portal Portal instance to which to attach the overlay.\n   * @returns The portal attachment result.\n   */\n  attach(portal) {\n    // Insert the host into the DOM before attaching the portal, otherwise\n    // the animations module will skip animations on repeat attachments.\n    if (!this._host.parentElement && this._previousHostParent) {\n      this._previousHostParent.appendChild(this._host);\n    }\n    const attachResult = this._portalOutlet.attach(portal);\n    if (this._positionStrategy) {\n      this._positionStrategy.attach(this);\n    }\n    this._updateStackingOrder();\n    this._updateElementSize();\n    this._updateElementDirection();\n    if (this._scrollStrategy) {\n      this._scrollStrategy.enable();\n    }\n    // We need to clean this up ourselves, because we're passing in an\n    // `EnvironmentInjector` below which won't ever be destroyed.\n    // Otherwise it causes some callbacks to be retained (see #29696).\n    this._afterNextRenderRef?.destroy();\n    // Update the position once the overlay is fully rendered before attempting to position it,\n    // as the position may depend on the size of the rendered content.\n    this._afterNextRenderRef = afterNextRender(() => {\n      // The overlay could've been detached before the callback executed.\n      if (this.hasAttached()) {\n        this.updatePosition();\n      }\n    }, {\n      injector: this._injector\n    });\n    // Enable pointer events for the overlay pane element.\n    this._togglePointerEvents(true);\n    if (this._config.hasBackdrop) {\n      this._attachBackdrop();\n    }\n    if (this._config.panelClass) {\n      this._toggleClasses(this._pane, this._config.panelClass, true);\n    }\n    // Only emit the `attachments` event once all other setup is done.\n    this._attachments.next();\n    // Track this overlay by the keyboard dispatcher\n    this._keyboardDispatcher.add(this);\n    if (this._config.disposeOnNavigation) {\n      this._locationChanges = this._location.subscribe(() => this.dispose());\n    }\n    this._outsideClickDispatcher.add(this);\n    // TODO(crisbeto): the null check is here, because the portal outlet returns `any`.\n    // We should be guaranteed for the result to be `ComponentRef | EmbeddedViewRef`, but\n    // `instanceof EmbeddedViewRef` doesn't appear to work at the moment.\n    if (typeof attachResult?.onDestroy === 'function') {\n      // In most cases we control the portal and we know when it is being detached so that\n      // we can finish the disposal process. The exception is if the user passes in a custom\n      // `ViewContainerRef` that isn't destroyed through the overlay API. Note that we use\n      // `detach` here instead of `dispose`, because we don't know if the user intends to\n      // reattach the overlay at a later point. It also has the advantage of waiting for animations.\n      attachResult.onDestroy(() => {\n        if (this.hasAttached()) {\n          // We have to delay the `detach` call, because detaching immediately prevents\n          // other destroy hooks from running. This is likely a framework bug similar to\n          // https://github.com/angular/angular/issues/46119\n          this._ngZone.runOutsideAngular(() => Promise.resolve().then(() => this.detach()));\n        }\n      });\n    }\n    return attachResult;\n  }\n  /**\n   * Detaches an overlay from a portal.\n   * @returns The portal detachment result.\n   */\n  detach() {\n    if (!this.hasAttached()) {\n      return;\n    }\n    this.detachBackdrop();\n    // When the overlay is detached, the pane element should disable pointer events.\n    // This is necessary because otherwise the pane element will cover the page and disable\n    // pointer events therefore. Depends on the position strategy and the applied pane boundaries.\n    this._togglePointerEvents(false);\n    if (this._positionStrategy && this._positionStrategy.detach) {\n      this._positionStrategy.detach();\n    }\n    if (this._scrollStrategy) {\n      this._scrollStrategy.disable();\n    }\n    const detachmentResult = this._portalOutlet.detach();\n    // Only emit after everything is detached.\n    this._detachments.next();\n    // Remove this overlay from keyboard dispatcher tracking.\n    this._keyboardDispatcher.remove(this);\n    // Keeping the host element in the DOM can cause scroll jank, because it still gets\n    // rendered, even though it's transparent and unclickable which is why we remove it.\n    this._detachContentWhenEmpty();\n    this._locationChanges.unsubscribe();\n    this._outsideClickDispatcher.remove(this);\n    return detachmentResult;\n  }\n  /** Cleans up the overlay from the DOM. */\n  dispose() {\n    const isAttached = this.hasAttached();\n    if (this._positionStrategy) {\n      this._positionStrategy.dispose();\n    }\n    this._disposeScrollStrategy();\n    this._backdropRef?.dispose();\n    this._locationChanges.unsubscribe();\n    this._keyboardDispatcher.remove(this);\n    this._portalOutlet.dispose();\n    this._attachments.complete();\n    this._backdropClick.complete();\n    this._keydownEvents.complete();\n    this._outsidePointerEvents.complete();\n    this._outsideClickDispatcher.remove(this);\n    this._host?.remove();\n    this._afterNextRenderRef?.destroy();\n    this._previousHostParent = this._pane = this._host = this._backdropRef = null;\n    if (isAttached) {\n      this._detachments.next();\n    }\n    this._detachments.complete();\n    this._afterRenderRef.destroy();\n    this._renders.complete();\n  }\n  /** Whether the overlay has attached content. */\n  hasAttached() {\n    return this._portalOutlet.hasAttached();\n  }\n  /** Gets an observable that emits when the backdrop has been clicked. */\n  backdropClick() {\n    return this._backdropClick;\n  }\n  /** Gets an observable that emits when the overlay has been attached. */\n  attachments() {\n    return this._attachments;\n  }\n  /** Gets an observable that emits when the overlay has been detached. */\n  detachments() {\n    return this._detachments;\n  }\n  /** Gets an observable of keydown events targeted to this overlay. */\n  keydownEvents() {\n    return this._keydownEvents;\n  }\n  /** Gets an observable of pointer events targeted outside this overlay. */\n  outsidePointerEvents() {\n    return this._outsidePointerEvents;\n  }\n  /** Gets the current overlay configuration, which is immutable. */\n  getConfig() {\n    return this._config;\n  }\n  /** Updates the position of the overlay based on the position strategy. */\n  updatePosition() {\n    if (this._positionStrategy) {\n      this._positionStrategy.apply();\n    }\n  }\n  /** Switches to a new position strategy and updates the overlay position. */\n  updatePositionStrategy(strategy) {\n    if (strategy === this._positionStrategy) {\n      return;\n    }\n    if (this._positionStrategy) {\n      this._positionStrategy.dispose();\n    }\n    this._positionStrategy = strategy;\n    if (this.hasAttached()) {\n      strategy.attach(this);\n      this.updatePosition();\n    }\n  }\n  /** Update the size properties of the overlay. */\n  updateSize(sizeConfig) {\n    this._config = {\n      ...this._config,\n      ...sizeConfig\n    };\n    this._updateElementSize();\n  }\n  /** Sets the LTR/RTL direction for the overlay. */\n  setDirection(dir) {\n    this._config = {\n      ...this._config,\n      direction: dir\n    };\n    this._updateElementDirection();\n  }\n  /** Add a CSS class or an array of classes to the overlay pane. */\n  addPanelClass(classes) {\n    if (this._pane) {\n      this._toggleClasses(this._pane, classes, true);\n    }\n  }\n  /** Remove a CSS class or an array of classes from the overlay pane. */\n  removePanelClass(classes) {\n    if (this._pane) {\n      this._toggleClasses(this._pane, classes, false);\n    }\n  }\n  /**\n   * Returns the layout direction of the overlay panel.\n   */\n  getDirection() {\n    const direction = this._config.direction;\n    if (!direction) {\n      return 'ltr';\n    }\n    return typeof direction === 'string' ? direction : direction.value;\n  }\n  /** Switches to a new scroll strategy. */\n  updateScrollStrategy(strategy) {\n    if (strategy === this._scrollStrategy) {\n      return;\n    }\n    this._disposeScrollStrategy();\n    this._scrollStrategy = strategy;\n    if (this.hasAttached()) {\n      strategy.attach(this);\n      strategy.enable();\n    }\n  }\n  /** Updates the text direction of the overlay panel. */\n  _updateElementDirection() {\n    this._host.setAttribute('dir', this.getDirection());\n  }\n  /** Updates the size of the overlay element based on the overlay config. */\n  _updateElementSize() {\n    if (!this._pane) {\n      return;\n    }\n    const style = this._pane.style;\n    style.width = coerceCssPixelValue(this._config.width);\n    style.height = coerceCssPixelValue(this._config.height);\n    style.minWidth = coerceCssPixelValue(this._config.minWidth);\n    style.minHeight = coerceCssPixelValue(this._config.minHeight);\n    style.maxWidth = coerceCssPixelValue(this._config.maxWidth);\n    style.maxHeight = coerceCssPixelValue(this._config.maxHeight);\n  }\n  /** Toggles the pointer events for the overlay pane element. */\n  _togglePointerEvents(enablePointer) {\n    this._pane.style.pointerEvents = enablePointer ? '' : 'none';\n  }\n  /** Attaches a backdrop for this overlay. */\n  _attachBackdrop() {\n    const showingClass = 'cdk-overlay-backdrop-showing';\n    this._backdropRef?.dispose();\n    this._backdropRef = new BackdropRef(this._document, this._renderer, this._ngZone, event => {\n      this._backdropClick.next(event);\n    });\n    if (this._animationsDisabled) {\n      this._backdropRef.element.classList.add('cdk-overlay-backdrop-noop-animation');\n    }\n    if (this._config.backdropClass) {\n      this._toggleClasses(this._backdropRef.element, this._config.backdropClass, true);\n    }\n    // Insert the backdrop before the pane in the DOM order,\n    // in order to handle stacked overlays properly.\n    this._host.parentElement.insertBefore(this._backdropRef.element, this._host);\n    // Add class to fade-in the backdrop after one frame.\n    if (!this._animationsDisabled && typeof requestAnimationFrame !== 'undefined') {\n      this._ngZone.runOutsideAngular(() => {\n        requestAnimationFrame(() => this._backdropRef?.element.classList.add(showingClass));\n      });\n    } else {\n      this._backdropRef.element.classList.add(showingClass);\n    }\n  }\n  /**\n   * Updates the stacking order of the element, moving it to the top if necessary.\n   * This is required in cases where one overlay was detached, while another one,\n   * that should be behind it, was destroyed. The next time both of them are opened,\n   * the stacking will be wrong, because the detached element's pane will still be\n   * in its original DOM position.\n   */\n  _updateStackingOrder() {\n    if (this._host.nextSibling) {\n      this._host.parentNode.appendChild(this._host);\n    }\n  }\n  /** Detaches the backdrop (if any) associated with the overlay. */\n  detachBackdrop() {\n    if (this._animationsDisabled) {\n      this._backdropRef?.dispose();\n      this._backdropRef = null;\n    } else {\n      this._backdropRef?.detach();\n    }\n  }\n  /** Toggles a single CSS class or an array of classes on an element. */\n  _toggleClasses(element, cssClasses, isAdd) {\n    const classes = coerceArray(cssClasses || []).filter(c => !!c);\n    if (classes.length) {\n      isAdd ? element.classList.add(...classes) : element.classList.remove(...classes);\n    }\n  }\n  /** Detaches the overlay content next time the zone stabilizes. */\n  _detachContentWhenEmpty() {\n    // Normally we wouldn't have to explicitly run this outside the `NgZone`, however\n    // if the consumer is using `zone-patch-rxjs`, the `Subscription.unsubscribe` call will\n    // be patched to run inside the zone, which will throw us into an infinite loop.\n    this._ngZone.runOutsideAngular(() => {\n      // We can't remove the host here immediately, because the overlay pane's content\n      // might still be animating. This stream helps us avoid interrupting the animation\n      // by waiting for the pane to become empty.\n      const subscription = this._renders.pipe(takeUntil(merge(this._attachments, this._detachments))).subscribe(() => {\n        // Needs a couple of checks for the pane and host, because\n        // they may have been removed by the time the zone stabilizes.\n        if (!this._pane || !this._host || this._pane.children.length === 0) {\n          if (this._pane && this._config.panelClass) {\n            this._toggleClasses(this._pane, this._config.panelClass, false);\n          }\n          if (this._host && this._host.parentElement) {\n            this._previousHostParent = this._host.parentElement;\n            this._host.remove();\n          }\n          subscription.unsubscribe();\n        }\n      });\n    });\n  }\n  /** Disposes of a scroll strategy. */\n  _disposeScrollStrategy() {\n    const scrollStrategy = this._scrollStrategy;\n    scrollStrategy?.disable();\n    scrollStrategy?.detach?.();\n  }\n}\n\n// TODO: refactor clipping detection into a separate thing (part of scrolling module)\n// TODO: doesn't handle both flexible width and height when it has to scroll along both axis.\n/** Class to be added to the overlay bounding box. */\nconst boundingBoxClass = 'cdk-overlay-connected-position-bounding-box';\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n */\nclass FlexibleConnectedPositionStrategy {\n  _viewportRuler;\n  _document;\n  _platform;\n  _overlayContainer;\n  /** The overlay to which this strategy is attached. */\n  _overlayRef;\n  /** Whether we're performing the very first positioning of the overlay. */\n  _isInitialRender;\n  /** Last size used for the bounding box. Used to avoid resizing the overlay after open. */\n  _lastBoundingBoxSize = {\n    width: 0,\n    height: 0\n  };\n  /** Whether the overlay was pushed in a previous positioning. */\n  _isPushed = false;\n  /** Whether the overlay can be pushed on-screen on the initial open. */\n  _canPush = true;\n  /** Whether the overlay can grow via flexible width/height after the initial open. */\n  _growAfterOpen = false;\n  /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n  _hasFlexibleDimensions = true;\n  /** Whether the overlay position is locked. */\n  _positionLocked = false;\n  /** Cached origin dimensions */\n  _originRect;\n  /** Cached overlay dimensions */\n  _overlayRect;\n  /** Cached viewport dimensions */\n  _viewportRect;\n  /** Cached container dimensions */\n  _containerRect;\n  /** Amount of space that must be maintained between the overlay and the edge of the viewport. */\n  _viewportMargin = 0;\n  /** The Scrollable containers used to check scrollable view properties on position change. */\n  _scrollables = [];\n  /** Ordered list of preferred positions, from most to least desirable. */\n  _preferredPositions = [];\n  /** The origin element against which the overlay will be positioned. */\n  _origin;\n  /** The overlay pane element. */\n  _pane;\n  /** Whether the strategy has been disposed of already. */\n  _isDisposed;\n  /**\n   * Parent element for the overlay panel used to constrain the overlay panel's size to fit\n   * within the viewport.\n   */\n  _boundingBox;\n  /** The last position to have been calculated as the best fit position. */\n  _lastPosition;\n  /** The last calculated scroll visibility. Only tracked  */\n  _lastScrollVisibility;\n  /** Subject that emits whenever the position changes. */\n  _positionChanges = /*#__PURE__*/new Subject();\n  /** Subscription to viewport size changes. */\n  _resizeSubscription = Subscription.EMPTY;\n  /** Default offset for the overlay along the x axis. */\n  _offsetX = 0;\n  /** Default offset for the overlay along the y axis. */\n  _offsetY = 0;\n  /** Selector to be used when finding the elements on which to set the transform origin. */\n  _transformOriginSelector;\n  /** Keeps track of the CSS classes that the position strategy has applied on the overlay panel. */\n  _appliedPanelClasses = [];\n  /** Amount by which the overlay was pushed in each axis during the last time it was positioned. */\n  _previousPushAmount;\n  /** Observable sequence of position changes. */\n  positionChanges = this._positionChanges;\n  /** Ordered list of preferred positions, from most to least desirable. */\n  get positions() {\n    return this._preferredPositions;\n  }\n  constructor(connectedTo, _viewportRuler, _document, _platform, _overlayContainer) {\n    this._viewportRuler = _viewportRuler;\n    this._document = _document;\n    this._platform = _platform;\n    this._overlayContainer = _overlayContainer;\n    this.setOrigin(connectedTo);\n  }\n  /** Attaches this position strategy to an overlay. */\n  attach(overlayRef) {\n    if (this._overlayRef && overlayRef !== this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n      throw Error('This position strategy is already attached to an overlay');\n    }\n    this._validatePositions();\n    overlayRef.hostElement.classList.add(boundingBoxClass);\n    this._overlayRef = overlayRef;\n    this._boundingBox = overlayRef.hostElement;\n    this._pane = overlayRef.overlayElement;\n    this._isDisposed = false;\n    this._isInitialRender = true;\n    this._lastPosition = null;\n    this._resizeSubscription.unsubscribe();\n    this._resizeSubscription = this._viewportRuler.change().subscribe(() => {\n      // When the window is resized, we want to trigger the next reposition as if it\n      // was an initial render, in order for the strategy to pick a new optimal position,\n      // otherwise position locking will cause it to stay at the old one.\n      this._isInitialRender = true;\n      this.apply();\n    });\n  }\n  /**\n   * Updates the position of the overlay element, using whichever preferred position relative\n   * to the origin best fits on-screen.\n   *\n   * The selection of a position goes as follows:\n   *  - If any positions fit completely within the viewport as-is,\n   *      choose the first position that does so.\n   *  - If flexible dimensions are enabled and at least one satisfies the given minimum width/height,\n   *      choose the position with the greatest available size modified by the positions' weight.\n   *  - If pushing is enabled, take the position that went off-screen the least and push it\n   *      on-screen.\n   *  - If none of the previous criteria were met, use the position that goes off-screen the least.\n   * @docs-private\n   */\n  apply() {\n    // We shouldn't do anything if the strategy was disposed or we're on the server.\n    if (this._isDisposed || !this._platform.isBrowser) {\n      return;\n    }\n    // If the position has been applied already (e.g. when the overlay was opened) and the\n    // consumer opted into locking in the position, re-use the old position, in order to\n    // prevent the overlay from jumping around.\n    if (!this._isInitialRender && this._positionLocked && this._lastPosition) {\n      this.reapplyLastPosition();\n      return;\n    }\n    this._clearPanelClasses();\n    this._resetOverlayElementStyles();\n    this._resetBoundingBoxStyles();\n    // We need the bounding rects for the origin, the overlay and the container to determine how to position\n    // the overlay relative to the origin.\n    // We use the viewport rect to determine whether a position would go off-screen.\n    this._viewportRect = this._getNarrowedViewportRect();\n    this._originRect = this._getOriginRect();\n    this._overlayRect = this._pane.getBoundingClientRect();\n    this._containerRect = this._overlayContainer.getContainerElement().getBoundingClientRect();\n    const originRect = this._originRect;\n    const overlayRect = this._overlayRect;\n    const viewportRect = this._viewportRect;\n    const containerRect = this._containerRect;\n    // Positions where the overlay will fit with flexible dimensions.\n    const flexibleFits = [];\n    // Fallback if none of the preferred positions fit within the viewport.\n    let fallback;\n    // Go through each of the preferred positions looking for a good fit.\n    // If a good fit is found, it will be applied immediately.\n    for (let pos of this._preferredPositions) {\n      // Get the exact (x, y) coordinate for the point-of-origin on the origin element.\n      let originPoint = this._getOriginPoint(originRect, containerRect, pos);\n      // From that point-of-origin, get the exact (x, y) coordinate for the top-left corner of the\n      // overlay in this position. We use the top-left corner for calculations and later translate\n      // this into an appropriate (top, left, bottom, right) style.\n      let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, pos);\n      // Calculate how well the overlay would fit into the viewport with this point.\n      let overlayFit = this._getOverlayFit(overlayPoint, overlayRect, viewportRect, pos);\n      // If the overlay, without any further work, fits into the viewport, use this position.\n      if (overlayFit.isCompletelyWithinViewport) {\n        this._isPushed = false;\n        this._applyPosition(pos, originPoint);\n        return;\n      }\n      // If the overlay has flexible dimensions, we can use this position\n      // so long as there's enough space for the minimum dimensions.\n      if (this._canFitWithFlexibleDimensions(overlayFit, overlayPoint, viewportRect)) {\n        // Save positions where the overlay will fit with flexible dimensions. We will use these\n        // if none of the positions fit *without* flexible dimensions.\n        flexibleFits.push({\n          position: pos,\n          origin: originPoint,\n          overlayRect,\n          boundingBoxRect: this._calculateBoundingBoxRect(originPoint, pos)\n        });\n        continue;\n      }\n      // If the current preferred position does not fit on the screen, remember the position\n      // if it has more visible area on-screen than we've seen and move onto the next preferred\n      // position.\n      if (!fallback || fallback.overlayFit.visibleArea < overlayFit.visibleArea) {\n        fallback = {\n          overlayFit,\n          overlayPoint,\n          originPoint,\n          position: pos,\n          overlayRect\n        };\n      }\n    }\n    // If there are any positions where the overlay would fit with flexible dimensions, choose the\n    // one that has the greatest area available modified by the position's weight\n    if (flexibleFits.length) {\n      let bestFit = null;\n      let bestScore = -1;\n      for (const fit of flexibleFits) {\n        const score = fit.boundingBoxRect.width * fit.boundingBoxRect.height * (fit.position.weight || 1);\n        if (score > bestScore) {\n          bestScore = score;\n          bestFit = fit;\n        }\n      }\n      this._isPushed = false;\n      this._applyPosition(bestFit.position, bestFit.origin);\n      return;\n    }\n    // When none of the preferred positions fit within the viewport, take the position\n    // that went off-screen the least and attempt to push it on-screen.\n    if (this._canPush) {\n      // TODO(jelbourn): after pushing, the opening \"direction\" of the overlay might not make sense.\n      this._isPushed = true;\n      this._applyPosition(fallback.position, fallback.originPoint);\n      return;\n    }\n    // All options for getting the overlay within the viewport have been exhausted, so go with the\n    // position that went off-screen the least.\n    this._applyPosition(fallback.position, fallback.originPoint);\n  }\n  detach() {\n    this._clearPanelClasses();\n    this._lastPosition = null;\n    this._previousPushAmount = null;\n    this._resizeSubscription.unsubscribe();\n  }\n  /** Cleanup after the element gets destroyed. */\n  dispose() {\n    if (this._isDisposed) {\n      return;\n    }\n    // We can't use `_resetBoundingBoxStyles` here, because it resets\n    // some properties to zero, rather than removing them.\n    if (this._boundingBox) {\n      extendStyles(this._boundingBox.style, {\n        top: '',\n        left: '',\n        right: '',\n        bottom: '',\n        height: '',\n        width: '',\n        alignItems: '',\n        justifyContent: ''\n      });\n    }\n    if (this._pane) {\n      this._resetOverlayElementStyles();\n    }\n    if (this._overlayRef) {\n      this._overlayRef.hostElement.classList.remove(boundingBoxClass);\n    }\n    this.detach();\n    this._positionChanges.complete();\n    this._overlayRef = this._boundingBox = null;\n    this._isDisposed = true;\n  }\n  /**\n   * This re-aligns the overlay element with the trigger in its last calculated position,\n   * even if a position higher in the \"preferred positions\" list would now fit. This\n   * allows one to re-align the panel without changing the orientation of the panel.\n   */\n  reapplyLastPosition() {\n    if (this._isDisposed || !this._platform.isBrowser) {\n      return;\n    }\n    const lastPosition = this._lastPosition;\n    if (lastPosition) {\n      this._originRect = this._getOriginRect();\n      this._overlayRect = this._pane.getBoundingClientRect();\n      this._viewportRect = this._getNarrowedViewportRect();\n      this._containerRect = this._overlayContainer.getContainerElement().getBoundingClientRect();\n      const originPoint = this._getOriginPoint(this._originRect, this._containerRect, lastPosition);\n      this._applyPosition(lastPosition, originPoint);\n    } else {\n      this.apply();\n    }\n  }\n  /**\n   * Sets the list of Scrollable containers that host the origin element so that\n   * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n   * Scrollable must be an ancestor element of the strategy's origin element.\n   */\n  withScrollableContainers(scrollables) {\n    this._scrollables = scrollables;\n    return this;\n  }\n  /**\n   * Adds new preferred positions.\n   * @param positions List of positions options for this overlay.\n   */\n  withPositions(positions) {\n    this._preferredPositions = positions;\n    // If the last calculated position object isn't part of the positions anymore, clear\n    // it in order to avoid it being picked up if the consumer tries to re-apply.\n    if (positions.indexOf(this._lastPosition) === -1) {\n      this._lastPosition = null;\n    }\n    this._validatePositions();\n    return this;\n  }\n  /**\n   * Sets a minimum distance the overlay may be positioned to the edge of the viewport.\n   * @param margin Required margin between the overlay and the viewport edge in pixels.\n   */\n  withViewportMargin(margin) {\n    this._viewportMargin = margin;\n    return this;\n  }\n  /** Sets whether the overlay's width and height can be constrained to fit within the viewport. */\n  withFlexibleDimensions(flexibleDimensions = true) {\n    this._hasFlexibleDimensions = flexibleDimensions;\n    return this;\n  }\n  /** Sets whether the overlay can grow after the initial open via flexible width/height. */\n  withGrowAfterOpen(growAfterOpen = true) {\n    this._growAfterOpen = growAfterOpen;\n    return this;\n  }\n  /** Sets whether the overlay can be pushed on-screen if none of the provided positions fit. */\n  withPush(canPush = true) {\n    this._canPush = canPush;\n    return this;\n  }\n  /**\n   * Sets whether the overlay's position should be locked in after it is positioned\n   * initially. When an overlay is locked in, it won't attempt to reposition itself\n   * when the position is re-applied (e.g. when the user scrolls away).\n   * @param isLocked Whether the overlay should locked in.\n   */\n  withLockedPosition(isLocked = true) {\n    this._positionLocked = isLocked;\n    return this;\n  }\n  /**\n   * Sets the origin, relative to which to position the overlay.\n   * Using an element origin is useful for building components that need to be positioned\n   * relatively to a trigger (e.g. dropdown menus or tooltips), whereas using a point can be\n   * used for cases like contextual menus which open relative to the user's pointer.\n   * @param origin Reference to the new origin.\n   */\n  setOrigin(origin) {\n    this._origin = origin;\n    return this;\n  }\n  /**\n   * Sets the default offset for the overlay's connection point on the x-axis.\n   * @param offset New offset in the X axis.\n   */\n  withDefaultOffsetX(offset) {\n    this._offsetX = offset;\n    return this;\n  }\n  /**\n   * Sets the default offset for the overlay's connection point on the y-axis.\n   * @param offset New offset in the Y axis.\n   */\n  withDefaultOffsetY(offset) {\n    this._offsetY = offset;\n    return this;\n  }\n  /**\n   * Configures that the position strategy should set a `transform-origin` on some elements\n   * inside the overlay, depending on the current position that is being applied. This is\n   * useful for the cases where the origin of an animation can change depending on the\n   * alignment of the overlay.\n   * @param selector CSS selector that will be used to find the target\n   *    elements onto which to set the transform origin.\n   */\n  withTransformOriginOn(selector) {\n    this._transformOriginSelector = selector;\n    return this;\n  }\n  /**\n   * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.\n   */\n  _getOriginPoint(originRect, containerRect, pos) {\n    let x;\n    if (pos.originX == 'center') {\n      // Note: when centering we should always use the `left`\n      // offset, otherwise the position will be wrong in RTL.\n      x = originRect.left + originRect.width / 2;\n    } else {\n      const startX = this._isRtl() ? originRect.right : originRect.left;\n      const endX = this._isRtl() ? originRect.left : originRect.right;\n      x = pos.originX == 'start' ? startX : endX;\n    }\n    // When zooming in Safari the container rectangle contains negative values for the position\n    // and we need to re-add them to the calculated coordinates.\n    if (containerRect.left < 0) {\n      x -= containerRect.left;\n    }\n    let y;\n    if (pos.originY == 'center') {\n      y = originRect.top + originRect.height / 2;\n    } else {\n      y = pos.originY == 'top' ? originRect.top : originRect.bottom;\n    }\n    // Normally the containerRect's top value would be zero, however when the overlay is attached to an input\n    // (e.g. in an autocomplete), mobile browsers will shift everything in order to put the input in the middle\n    // of the screen and to make space for the virtual keyboard. We need to account for this offset,\n    // otherwise our positioning will be thrown off.\n    // Additionally, when zooming in Safari this fixes the vertical position.\n    if (containerRect.top < 0) {\n      y -= containerRect.top;\n    }\n    return {\n      x,\n      y\n    };\n  }\n  /**\n   * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and\n   * origin point to which the overlay should be connected.\n   */\n  _getOverlayPoint(originPoint, overlayRect, pos) {\n    // Calculate the (overlayStartX, overlayStartY), the start of the\n    // potential overlay position relative to the origin point.\n    let overlayStartX;\n    if (pos.overlayX == 'center') {\n      overlayStartX = -overlayRect.width / 2;\n    } else if (pos.overlayX === 'start') {\n      overlayStartX = this._isRtl() ? -overlayRect.width : 0;\n    } else {\n      overlayStartX = this._isRtl() ? 0 : -overlayRect.width;\n    }\n    let overlayStartY;\n    if (pos.overlayY == 'center') {\n      overlayStartY = -overlayRect.height / 2;\n    } else {\n      overlayStartY = pos.overlayY == 'top' ? 0 : -overlayRect.height;\n    }\n    // The (x, y) coordinates of the overlay.\n    return {\n      x: originPoint.x + overlayStartX,\n      y: originPoint.y + overlayStartY\n    };\n  }\n  /** Gets how well an overlay at the given point will fit within the viewport. */\n  _getOverlayFit(point, rawOverlayRect, viewport, position) {\n    // Round the overlay rect when comparing against the\n    // viewport, because the viewport is always rounded.\n    const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n    let {\n      x,\n      y\n    } = point;\n    let offsetX = this._getOffset(position, 'x');\n    let offsetY = this._getOffset(position, 'y');\n    // Account for the offsets since they could push the overlay out of the viewport.\n    if (offsetX) {\n      x += offsetX;\n    }\n    if (offsetY) {\n      y += offsetY;\n    }\n    // How much the overlay would overflow at this position, on each side.\n    let leftOverflow = 0 - x;\n    let rightOverflow = x + overlay.width - viewport.width;\n    let topOverflow = 0 - y;\n    let bottomOverflow = y + overlay.height - viewport.height;\n    // Visible parts of the element on each axis.\n    let visibleWidth = this._subtractOverflows(overlay.width, leftOverflow, rightOverflow);\n    let visibleHeight = this._subtractOverflows(overlay.height, topOverflow, bottomOverflow);\n    let visibleArea = visibleWidth * visibleHeight;\n    return {\n      visibleArea,\n      isCompletelyWithinViewport: overlay.width * overlay.height === visibleArea,\n      fitsInViewportVertically: visibleHeight === overlay.height,\n      fitsInViewportHorizontally: visibleWidth == overlay.width\n    };\n  }\n  /**\n   * Whether the overlay can fit within the viewport when it may resize either its width or height.\n   * @param fit How well the overlay fits in the viewport at some position.\n   * @param point The (x, y) coordinates of the overlay at some position.\n   * @param viewport The geometry of the viewport.\n   */\n  _canFitWithFlexibleDimensions(fit, point, viewport) {\n    if (this._hasFlexibleDimensions) {\n      const availableHeight = viewport.bottom - point.y;\n      const availableWidth = viewport.right - point.x;\n      const minHeight = getPixelValue(this._overlayRef.getConfig().minHeight);\n      const minWidth = getPixelValue(this._overlayRef.getConfig().minWidth);\n      const verticalFit = fit.fitsInViewportVertically || minHeight != null && minHeight <= availableHeight;\n      const horizontalFit = fit.fitsInViewportHorizontally || minWidth != null && minWidth <= availableWidth;\n      return verticalFit && horizontalFit;\n    }\n    return false;\n  }\n  /**\n   * Gets the point at which the overlay can be \"pushed\" on-screen. If the overlay is larger than\n   * the viewport, the top-left corner will be pushed on-screen (with overflow occurring on the\n   * right and bottom).\n   *\n   * @param start Starting point from which the overlay is pushed.\n   * @param rawOverlayRect Dimensions of the overlay.\n   * @param scrollPosition Current viewport scroll position.\n   * @returns The point at which to position the overlay after pushing. This is effectively a new\n   *     originPoint.\n   */\n  _pushOverlayOnScreen(start, rawOverlayRect, scrollPosition) {\n    // If the position is locked and we've pushed the overlay already, reuse the previous push\n    // amount, rather than pushing it again. If we were to continue pushing, the element would\n    // remain in the viewport, which goes against the expectations when position locking is enabled.\n    if (this._previousPushAmount && this._positionLocked) {\n      return {\n        x: start.x + this._previousPushAmount.x,\n        y: start.y + this._previousPushAmount.y\n      };\n    }\n    // Round the overlay rect when comparing against the\n    // viewport, because the viewport is always rounded.\n    const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n    const viewport = this._viewportRect;\n    // Determine how much the overlay goes outside the viewport on each\n    // side, which we'll use to decide which direction to push it.\n    const overflowRight = Math.max(start.x + overlay.width - viewport.width, 0);\n    const overflowBottom = Math.max(start.y + overlay.height - viewport.height, 0);\n    const overflowTop = Math.max(viewport.top - scrollPosition.top - start.y, 0);\n    const overflowLeft = Math.max(viewport.left - scrollPosition.left - start.x, 0);\n    // Amount by which to push the overlay in each axis such that it remains on-screen.\n    let pushX = 0;\n    let pushY = 0;\n    // If the overlay fits completely within the bounds of the viewport, push it from whichever\n    // direction is goes off-screen. Otherwise, push the top-left corner such that its in the\n    // viewport and allow for the trailing end of the overlay to go out of bounds.\n    if (overlay.width <= viewport.width) {\n      pushX = overflowLeft || -overflowRight;\n    } else {\n      pushX = start.x < this._viewportMargin ? viewport.left - scrollPosition.left - start.x : 0;\n    }\n    if (overlay.height <= viewport.height) {\n      pushY = overflowTop || -overflowBottom;\n    } else {\n      pushY = start.y < this._viewportMargin ? viewport.top - scrollPosition.top - start.y : 0;\n    }\n    this._previousPushAmount = {\n      x: pushX,\n      y: pushY\n    };\n    return {\n      x: start.x + pushX,\n      y: start.y + pushY\n    };\n  }\n  /**\n   * Applies a computed position to the overlay and emits a position change.\n   * @param position The position preference\n   * @param originPoint The point on the origin element where the overlay is connected.\n   */\n  _applyPosition(position, originPoint) {\n    this._setTransformOrigin(position);\n    this._setOverlayElementStyles(originPoint, position);\n    this._setBoundingBoxStyles(originPoint, position);\n    if (position.panelClass) {\n      this._addPanelClasses(position.panelClass);\n    }\n    // Notify that the position has been changed along with its change properties.\n    // We only emit if we've got any subscriptions, because the scroll visibility\n    // calculations can be somewhat expensive.\n    if (this._positionChanges.observers.length) {\n      const scrollVisibility = this._getScrollVisibility();\n      // We're recalculating on scroll, but we only want to emit if anything\n      // changed since downstream code might be hitting the `NgZone`.\n      if (position !== this._lastPosition || !this._lastScrollVisibility || !compareScrollVisibility(this._lastScrollVisibility, scrollVisibility)) {\n        const changeEvent = new ConnectedOverlayPositionChange(position, scrollVisibility);\n        this._positionChanges.next(changeEvent);\n      }\n      this._lastScrollVisibility = scrollVisibility;\n    }\n    // Save the last connected position in case the position needs to be re-calculated.\n    this._lastPosition = position;\n    this._isInitialRender = false;\n  }\n  /** Sets the transform origin based on the configured selector and the passed-in position.  */\n  _setTransformOrigin(position) {\n    if (!this._transformOriginSelector) {\n      return;\n    }\n    const elements = this._boundingBox.querySelectorAll(this._transformOriginSelector);\n    let xOrigin;\n    let yOrigin = position.overlayY;\n    if (position.overlayX === 'center') {\n      xOrigin = 'center';\n    } else if (this._isRtl()) {\n      xOrigin = position.overlayX === 'start' ? 'right' : 'left';\n    } else {\n      xOrigin = position.overlayX === 'start' ? 'left' : 'right';\n    }\n    for (let i = 0; i < elements.length; i++) {\n      elements[i].style.transformOrigin = `${xOrigin} ${yOrigin}`;\n    }\n  }\n  /**\n   * Gets the position and size of the overlay's sizing container.\n   *\n   * This method does no measuring and applies no styles so that we can cheaply compute the\n   * bounds for all positions and choose the best fit based on these results.\n   */\n  _calculateBoundingBoxRect(origin, position) {\n    const viewport = this._viewportRect;\n    const isRtl = this._isRtl();\n    let height, top, bottom;\n    if (position.overlayY === 'top') {\n      // Overlay is opening \"downward\" and thus is bound by the bottom viewport edge.\n      top = origin.y;\n      height = viewport.height - top + this._viewportMargin;\n    } else if (position.overlayY === 'bottom') {\n      // Overlay is opening \"upward\" and thus is bound by the top viewport edge. We need to add\n      // the viewport margin back in, because the viewport rect is narrowed down to remove the\n      // margin, whereas the `origin` position is calculated based on its `DOMRect`.\n      bottom = viewport.height - origin.y + this._viewportMargin * 2;\n      height = viewport.height - bottom + this._viewportMargin;\n    } else {\n      // If neither top nor bottom, it means that the overlay is vertically centered on the\n      // origin point. Note that we want the position relative to the viewport, rather than\n      // the page, which is why we don't use something like `viewport.bottom - origin.y` and\n      // `origin.y - viewport.top`.\n      const smallestDistanceToViewportEdge = Math.min(viewport.bottom - origin.y + viewport.top, origin.y);\n      const previousHeight = this._lastBoundingBoxSize.height;\n      height = smallestDistanceToViewportEdge * 2;\n      top = origin.y - smallestDistanceToViewportEdge;\n      if (height > previousHeight && !this._isInitialRender && !this._growAfterOpen) {\n        top = origin.y - previousHeight / 2;\n      }\n    }\n    // The overlay is opening 'right-ward' (the content flows to the right).\n    const isBoundedByRightViewportEdge = position.overlayX === 'start' && !isRtl || position.overlayX === 'end' && isRtl;\n    // The overlay is opening 'left-ward' (the content flows to the left).\n    const isBoundedByLeftViewportEdge = position.overlayX === 'end' && !isRtl || position.overlayX === 'start' && isRtl;\n    let width, left, right;\n    if (isBoundedByLeftViewportEdge) {\n      right = viewport.width - origin.x + this._viewportMargin * 2;\n      width = origin.x - this._viewportMargin;\n    } else if (isBoundedByRightViewportEdge) {\n      left = origin.x;\n      width = viewport.right - origin.x;\n    } else {\n      // If neither start nor end, it means that the overlay is horizontally centered on the\n      // origin point. Note that we want the position relative to the viewport, rather than\n      // the page, which is why we don't use something like `viewport.right - origin.x` and\n      // `origin.x - viewport.left`.\n      const smallestDistanceToViewportEdge = Math.min(viewport.right - origin.x + viewport.left, origin.x);\n      const previousWidth = this._lastBoundingBoxSize.width;\n      width = smallestDistanceToViewportEdge * 2;\n      left = origin.x - smallestDistanceToViewportEdge;\n      if (width > previousWidth && !this._isInitialRender && !this._growAfterOpen) {\n        left = origin.x - previousWidth / 2;\n      }\n    }\n    return {\n      top: top,\n      left: left,\n      bottom: bottom,\n      right: right,\n      width,\n      height\n    };\n  }\n  /**\n   * Sets the position and size of the overlay's sizing wrapper. The wrapper is positioned on the\n   * origin's connection point and stretches to the bounds of the viewport.\n   *\n   * @param origin The point on the origin element where the overlay is connected.\n   * @param position The position preference\n   */\n  _setBoundingBoxStyles(origin, position) {\n    const boundingBoxRect = this._calculateBoundingBoxRect(origin, position);\n    // It's weird if the overlay *grows* while scrolling, so we take the last size into account\n    // when applying a new size.\n    if (!this._isInitialRender && !this._growAfterOpen) {\n      boundingBoxRect.height = Math.min(boundingBoxRect.height, this._lastBoundingBoxSize.height);\n      boundingBoxRect.width = Math.min(boundingBoxRect.width, this._lastBoundingBoxSize.width);\n    }\n    const styles = {};\n    if (this._hasExactPosition()) {\n      styles.top = styles.left = '0';\n      styles.bottom = styles.right = styles.maxHeight = styles.maxWidth = '';\n      styles.width = styles.height = '100%';\n    } else {\n      const maxHeight = this._overlayRef.getConfig().maxHeight;\n      const maxWidth = this._overlayRef.getConfig().maxWidth;\n      styles.height = coerceCssPixelValue(boundingBoxRect.height);\n      styles.top = coerceCssPixelValue(boundingBoxRect.top);\n      styles.bottom = coerceCssPixelValue(boundingBoxRect.bottom);\n      styles.width = coerceCssPixelValue(boundingBoxRect.width);\n      styles.left = coerceCssPixelValue(boundingBoxRect.left);\n      styles.right = coerceCssPixelValue(boundingBoxRect.right);\n      // Push the pane content towards the proper direction.\n      if (position.overlayX === 'center') {\n        styles.alignItems = 'center';\n      } else {\n        styles.alignItems = position.overlayX === 'end' ? 'flex-end' : 'flex-start';\n      }\n      if (position.overlayY === 'center') {\n        styles.justifyContent = 'center';\n      } else {\n        styles.justifyContent = position.overlayY === 'bottom' ? 'flex-end' : 'flex-start';\n      }\n      if (maxHeight) {\n        styles.maxHeight = coerceCssPixelValue(maxHeight);\n      }\n      if (maxWidth) {\n        styles.maxWidth = coerceCssPixelValue(maxWidth);\n      }\n    }\n    this._lastBoundingBoxSize = boundingBoxRect;\n    extendStyles(this._boundingBox.style, styles);\n  }\n  /** Resets the styles for the bounding box so that a new positioning can be computed. */\n  _resetBoundingBoxStyles() {\n    extendStyles(this._boundingBox.style, {\n      top: '0',\n      left: '0',\n      right: '0',\n      bottom: '0',\n      height: '',\n      width: '',\n      alignItems: '',\n      justifyContent: ''\n    });\n  }\n  /** Resets the styles for the overlay pane so that a new positioning can be computed. */\n  _resetOverlayElementStyles() {\n    extendStyles(this._pane.style, {\n      top: '',\n      left: '',\n      bottom: '',\n      right: '',\n      position: '',\n      transform: ''\n    });\n  }\n  /** Sets positioning styles to the overlay element. */\n  _setOverlayElementStyles(originPoint, position) {\n    const styles = {};\n    const hasExactPosition = this._hasExactPosition();\n    const hasFlexibleDimensions = this._hasFlexibleDimensions;\n    const config = this._overlayRef.getConfig();\n    if (hasExactPosition) {\n      const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n      extendStyles(styles, this._getExactOverlayY(position, originPoint, scrollPosition));\n      extendStyles(styles, this._getExactOverlayX(position, originPoint, scrollPosition));\n    } else {\n      styles.position = 'static';\n    }\n    // Use a transform to apply the offsets. We do this because the `center` positions rely on\n    // being in the normal flex flow and setting a `top` / `left` at all will completely throw\n    // off the position. We also can't use margins, because they won't have an effect in some\n    // cases where the element doesn't have anything to \"push off of\". Finally, this works\n    // better both with flexible and non-flexible positioning.\n    let transformString = '';\n    let offsetX = this._getOffset(position, 'x');\n    let offsetY = this._getOffset(position, 'y');\n    if (offsetX) {\n      transformString += `translateX(${offsetX}px) `;\n    }\n    if (offsetY) {\n      transformString += `translateY(${offsetY}px)`;\n    }\n    styles.transform = transformString.trim();\n    // If a maxWidth or maxHeight is specified on the overlay, we remove them. We do this because\n    // we need these values to both be set to \"100%\" for the automatic flexible sizing to work.\n    // The maxHeight and maxWidth are set on the boundingBox in order to enforce the constraint.\n    // Note that this doesn't apply when we have an exact position, in which case we do want to\n    // apply them because they'll be cleared from the bounding box.\n    if (config.maxHeight) {\n      if (hasExactPosition) {\n        styles.maxHeight = coerceCssPixelValue(config.maxHeight);\n      } else if (hasFlexibleDimensions) {\n        styles.maxHeight = '';\n      }\n    }\n    if (config.maxWidth) {\n      if (hasExactPosition) {\n        styles.maxWidth = coerceCssPixelValue(config.maxWidth);\n      } else if (hasFlexibleDimensions) {\n        styles.maxWidth = '';\n      }\n    }\n    extendStyles(this._pane.style, styles);\n  }\n  /** Gets the exact top/bottom for the overlay when not using flexible sizing or when pushing. */\n  _getExactOverlayY(position, originPoint, scrollPosition) {\n    // Reset any existing styles. This is necessary in case the\n    // preferred position has changed since the last `apply`.\n    let styles = {\n      top: '',\n      bottom: ''\n    };\n    let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n    if (this._isPushed) {\n      overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n    }\n    // We want to set either `top` or `bottom` based on whether the overlay wants to appear\n    // above or below the origin and the direction in which the element will expand.\n    if (position.overlayY === 'bottom') {\n      // When using `bottom`, we adjust the y position such that it is the distance\n      // from the bottom of the viewport rather than the top.\n      const documentHeight = this._document.documentElement.clientHeight;\n      styles.bottom = `${documentHeight - (overlayPoint.y + this._overlayRect.height)}px`;\n    } else {\n      styles.top = coerceCssPixelValue(overlayPoint.y);\n    }\n    return styles;\n  }\n  /** Gets the exact left/right for the overlay when not using flexible sizing or when pushing. */\n  _getExactOverlayX(position, originPoint, scrollPosition) {\n    // Reset any existing styles. This is necessary in case the preferred position has\n    // changed since the last `apply`.\n    let styles = {\n      left: '',\n      right: ''\n    };\n    let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n    if (this._isPushed) {\n      overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n    }\n    // We want to set either `left` or `right` based on whether the overlay wants to appear \"before\"\n    // or \"after\" the origin, which determines the direction in which the element will expand.\n    // For the horizontal axis, the meaning of \"before\" and \"after\" change based on whether the\n    // page is in RTL or LTR.\n    let horizontalStyleProperty;\n    if (this._isRtl()) {\n      horizontalStyleProperty = position.overlayX === 'end' ? 'left' : 'right';\n    } else {\n      horizontalStyleProperty = position.overlayX === 'end' ? 'right' : 'left';\n    }\n    // When we're setting `right`, we adjust the x position such that it is the distance\n    // from the right edge of the viewport rather than the left edge.\n    if (horizontalStyleProperty === 'right') {\n      const documentWidth = this._document.documentElement.clientWidth;\n      styles.right = `${documentWidth - (overlayPoint.x + this._overlayRect.width)}px`;\n    } else {\n      styles.left = coerceCssPixelValue(overlayPoint.x);\n    }\n    return styles;\n  }\n  /**\n   * Gets the view properties of the trigger and overlay, including whether they are clipped\n   * or completely outside the view of any of the strategy's scrollables.\n   */\n  _getScrollVisibility() {\n    // Note: needs fresh rects since the position could've changed.\n    const originBounds = this._getOriginRect();\n    const overlayBounds = this._pane.getBoundingClientRect();\n    // TODO(jelbourn): instead of needing all of the client rects for these scrolling containers\n    // every time, we should be able to use the scrollTop of the containers if the size of those\n    // containers hasn't changed.\n    const scrollContainerBounds = this._scrollables.map(scrollable => {\n      return scrollable.getElementRef().nativeElement.getBoundingClientRect();\n    });\n    return {\n      isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),\n      isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),\n      isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds),\n      isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds)\n    };\n  }\n  /** Subtracts the amount that an element is overflowing on an axis from its length. */\n  _subtractOverflows(length, ...overflows) {\n    return overflows.reduce((currentValue, currentOverflow) => {\n      return currentValue - Math.max(currentOverflow, 0);\n    }, length);\n  }\n  /** Narrows the given viewport rect by the current _viewportMargin. */\n  _getNarrowedViewportRect() {\n    // We recalculate the viewport rect here ourselves, rather than using the ViewportRuler,\n    // because we want to use the `clientWidth` and `clientHeight` as the base. The difference\n    // being that the client properties don't include the scrollbar, as opposed to `innerWidth`\n    // and `innerHeight` that do. This is necessary, because the overlay container uses\n    // 100% `width` and `height` which don't include the scrollbar either.\n    const width = this._document.documentElement.clientWidth;\n    const height = this._document.documentElement.clientHeight;\n    const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n    return {\n      top: scrollPosition.top + this._viewportMargin,\n      left: scrollPosition.left + this._viewportMargin,\n      right: scrollPosition.left + width - this._viewportMargin,\n      bottom: scrollPosition.top + height - this._viewportMargin,\n      width: width - 2 * this._viewportMargin,\n      height: height - 2 * this._viewportMargin\n    };\n  }\n  /** Whether the we're dealing with an RTL context */\n  _isRtl() {\n    return this._overlayRef.getDirection() === 'rtl';\n  }\n  /** Determines whether the overlay uses exact or flexible positioning. */\n  _hasExactPosition() {\n    return !this._hasFlexibleDimensions || this._isPushed;\n  }\n  /** Retrieves the offset of a position along the x or y axis. */\n  _getOffset(position, axis) {\n    if (axis === 'x') {\n      // We don't do something like `position['offset' + axis]` in\n      // order to avoid breaking minifiers that rename properties.\n      return position.offsetX == null ? this._offsetX : position.offsetX;\n    }\n    return position.offsetY == null ? this._offsetY : position.offsetY;\n  }\n  /** Validates that the current position match the expected values. */\n  _validatePositions() {\n    if (typeof ngDevMode === 'undefined' || ngDevMode) {\n      if (!this._preferredPositions.length) {\n        throw Error('FlexibleConnectedPositionStrategy: At least one position is required.');\n      }\n      // TODO(crisbeto): remove these once Angular's template type\n      // checking is advanced enough to catch these cases.\n      this._preferredPositions.forEach(pair => {\n        validateHorizontalPosition('originX', pair.originX);\n        validateVerticalPosition('originY', pair.originY);\n        validateHorizontalPosition('overlayX', pair.overlayX);\n        validateVerticalPosition('overlayY', pair.overlayY);\n      });\n    }\n  }\n  /** Adds a single CSS class or an array of classes on the overlay panel. */\n  _addPanelClasses(cssClasses) {\n    if (this._pane) {\n      coerceArray(cssClasses).forEach(cssClass => {\n        if (cssClass !== '' && this._appliedPanelClasses.indexOf(cssClass) === -1) {\n          this._appliedPanelClasses.push(cssClass);\n          this._pane.classList.add(cssClass);\n        }\n      });\n    }\n  }\n  /** Clears the classes that the position strategy has applied from the overlay panel. */\n  _clearPanelClasses() {\n    if (this._pane) {\n      this._appliedPanelClasses.forEach(cssClass => {\n        this._pane.classList.remove(cssClass);\n      });\n      this._appliedPanelClasses = [];\n    }\n  }\n  /** Returns the DOMRect of the current origin. */\n  _getOriginRect() {\n    const origin = this._origin;\n    if (origin instanceof ElementRef) {\n      return origin.nativeElement.getBoundingClientRect();\n    }\n    // Check for Element so SVG elements are also supported.\n    if (origin instanceof Element) {\n      return origin.getBoundingClientRect();\n    }\n    const width = origin.width || 0;\n    const height = origin.height || 0;\n    // If the origin is a point, return a client rect as if it was a 0x0 element at the point.\n    return {\n      top: origin.y,\n      bottom: origin.y + height,\n      left: origin.x,\n      right: origin.x + width,\n      height,\n      width\n    };\n  }\n}\n/** Shallow-extends a stylesheet object with another stylesheet object. */\nfunction extendStyles(destination, source) {\n  for (let key in source) {\n    if (source.hasOwnProperty(key)) {\n      destination[key] = source[key];\n    }\n  }\n  return destination;\n}\n/**\n * Extracts the pixel value as a number from a value, if it's a number\n * or a CSS pixel string (e.g. `1337px`). Otherwise returns null.\n */\nfunction getPixelValue(input) {\n  if (typeof input !== 'number' && input != null) {\n    const [value, units] = input.split(cssUnitPattern);\n    return !units || units === 'px' ? parseFloat(value) : null;\n  }\n  return input || null;\n}\n/**\n * Gets a version of an element's bounding `DOMRect` where all the values are rounded down to\n * the nearest pixel. This allows us to account for the cases where there may be sub-pixel\n * deviations in the `DOMRect` returned by the browser (e.g. when zoomed in with a percentage\n * size, see #21350).\n */\nfunction getRoundedBoundingClientRect(clientRect) {\n  return {\n    top: Math.floor(clientRect.top),\n    right: Math.floor(clientRect.right),\n    bottom: Math.floor(clientRect.bottom),\n    left: Math.floor(clientRect.left),\n    width: Math.floor(clientRect.width),\n    height: Math.floor(clientRect.height)\n  };\n}\n/** Returns whether two `ScrollingVisibility` objects are identical. */\nfunction compareScrollVisibility(a, b) {\n  if (a === b) {\n    return true;\n  }\n  return a.isOriginClipped === b.isOriginClipped && a.isOriginOutsideView === b.isOriginOutsideView && a.isOverlayClipped === b.isOverlayClipped && a.isOverlayOutsideView === b.isOverlayOutsideView;\n}\nconst STANDARD_DROPDOWN_BELOW_POSITIONS = [{\n  originX: 'start',\n  originY: 'bottom',\n  overlayX: 'start',\n  overlayY: 'top'\n}, {\n  originX: 'start',\n  originY: 'top',\n  overlayX: 'start',\n  overlayY: 'bottom'\n}, {\n  originX: 'end',\n  originY: 'bottom',\n  overlayX: 'end',\n  overlayY: 'top'\n}, {\n  originX: 'end',\n  originY: 'top',\n  overlayX: 'end',\n  overlayY: 'bottom'\n}];\nconst STANDARD_DROPDOWN_ADJACENT_POSITIONS = [{\n  originX: 'end',\n  originY: 'top',\n  overlayX: 'start',\n  overlayY: 'top'\n}, {\n  originX: 'end',\n  originY: 'bottom',\n  overlayX: 'start',\n  overlayY: 'bottom'\n}, {\n  originX: 'start',\n  originY: 'top',\n  overlayX: 'end',\n  overlayY: 'top'\n}, {\n  originX: 'start',\n  originY: 'bottom',\n  overlayX: 'end',\n  overlayY: 'bottom'\n}];\n\n/** Class to be added to the overlay pane wrapper. */\nconst wrapperClass = 'cdk-global-overlay-wrapper';\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * explicit position relative to the browser's viewport. We use flexbox, instead of\n * transforms, in order to avoid issues with subpixel rendering which can cause the\n * element to become blurry.\n */\nclass GlobalPositionStrategy {\n  /** The overlay to which this strategy is attached. */\n  _overlayRef;\n  _cssPosition = 'static';\n  _topOffset = '';\n  _bottomOffset = '';\n  _alignItems = '';\n  _xPosition = '';\n  _xOffset = '';\n  _width = '';\n  _height = '';\n  _isDisposed = false;\n  attach(overlayRef) {\n    const config = overlayRef.getConfig();\n    this._overlayRef = overlayRef;\n    if (this._width && !config.width) {\n      overlayRef.updateSize({\n        width: this._width\n      });\n    }\n    if (this._height && !config.height) {\n      overlayRef.updateSize({\n        height: this._height\n      });\n    }\n    overlayRef.hostElement.classList.add(wrapperClass);\n    this._isDisposed = false;\n  }\n  /**\n   * Sets the top position of the overlay. Clears any previously set vertical position.\n   * @param value New top offset.\n   */\n  top(value = '') {\n    this._bottomOffset = '';\n    this._topOffset = value;\n    this._alignItems = 'flex-start';\n    return this;\n  }\n  /**\n   * Sets the left position of the overlay. Clears any previously set horizontal position.\n   * @param value New left offset.\n   */\n  left(value = '') {\n    this._xOffset = value;\n    this._xPosition = 'left';\n    return this;\n  }\n  /**\n   * Sets the bottom position of the overlay. Clears any previously set vertical position.\n   * @param value New bottom offset.\n   */\n  bottom(value = '') {\n    this._topOffset = '';\n    this._bottomOffset = value;\n    this._alignItems = 'flex-end';\n    return this;\n  }\n  /**\n   * Sets the right position of the overlay. Clears any previously set horizontal position.\n   * @param value New right offset.\n   */\n  right(value = '') {\n    this._xOffset = value;\n    this._xPosition = 'right';\n    return this;\n  }\n  /**\n   * Sets the overlay to the start of the viewport, depending on the overlay direction.\n   * This will be to the left in LTR layouts and to the right in RTL.\n   * @param offset Offset from the edge of the screen.\n   */\n  start(value = '') {\n    this._xOffset = value;\n    this._xPosition = 'start';\n    return this;\n  }\n  /**\n   * Sets the overlay to the end of the viewport, depending on the overlay direction.\n   * This will be to the right in LTR layouts and to the left in RTL.\n   * @param offset Offset from the edge of the screen.\n   */\n  end(value = '') {\n    this._xOffset = value;\n    this._xPosition = 'end';\n    return this;\n  }\n  /**\n   * Sets the overlay width and clears any previously set width.\n   * @param value New width for the overlay\n   * @deprecated Pass the `width` through the `OverlayConfig`.\n   * @breaking-change 8.0.0\n   */\n  width(value = '') {\n    if (this._overlayRef) {\n      this._overlayRef.updateSize({\n        width: value\n      });\n    } else {\n      this._width = value;\n    }\n    return this;\n  }\n  /**\n   * Sets the overlay height and clears any previously set height.\n   * @param value New height for the overlay\n   * @deprecated Pass the `height` through the `OverlayConfig`.\n   * @breaking-change 8.0.0\n   */\n  height(value = '') {\n    if (this._overlayRef) {\n      this._overlayRef.updateSize({\n        height: value\n      });\n    } else {\n      this._height = value;\n    }\n    return this;\n  }\n  /**\n   * Centers the overlay horizontally with an optional offset.\n   * Clears any previously set horizontal position.\n   *\n   * @param offset Overlay offset from the horizontal center.\n   */\n  centerHorizontally(offset = '') {\n    this.left(offset);\n    this._xPosition = 'center';\n    return this;\n  }\n  /**\n   * Centers the overlay vertically with an optional offset.\n   * Clears any previously set vertical position.\n   *\n   * @param offset Overlay offset from the vertical center.\n   */\n  centerVertically(offset = '') {\n    this.top(offset);\n    this._alignItems = 'center';\n    return this;\n  }\n  /**\n   * Apply the position to the element.\n   * @docs-private\n   */\n  apply() {\n    // Since the overlay ref applies the strategy asynchronously, it could\n    // have been disposed before it ends up being applied. If that is the\n    // case, we shouldn't do anything.\n    if (!this._overlayRef || !this._overlayRef.hasAttached()) {\n      return;\n    }\n    const styles = this._overlayRef.overlayElement.style;\n    const parentStyles = this._overlayRef.hostElement.style;\n    const config = this._overlayRef.getConfig();\n    const {\n      width,\n      height,\n      maxWidth,\n      maxHeight\n    } = config;\n    const shouldBeFlushHorizontally = (width === '100%' || width === '100vw') && (!maxWidth || maxWidth === '100%' || maxWidth === '100vw');\n    const shouldBeFlushVertically = (height === '100%' || height === '100vh') && (!maxHeight || maxHeight === '100%' || maxHeight === '100vh');\n    const xPosition = this._xPosition;\n    const xOffset = this._xOffset;\n    const isRtl = this._overlayRef.getConfig().direction === 'rtl';\n    let marginLeft = '';\n    let marginRight = '';\n    let justifyContent = '';\n    if (shouldBeFlushHorizontally) {\n      justifyContent = 'flex-start';\n    } else if (xPosition === 'center') {\n      justifyContent = 'center';\n      if (isRtl) {\n        marginRight = xOffset;\n      } else {\n        marginLeft = xOffset;\n      }\n    } else if (isRtl) {\n      if (xPosition === 'left' || xPosition === 'end') {\n        justifyContent = 'flex-end';\n        marginLeft = xOffset;\n      } else if (xPosition === 'right' || xPosition === 'start') {\n        justifyContent = 'flex-start';\n        marginRight = xOffset;\n      }\n    } else if (xPosition === 'left' || xPosition === 'start') {\n      justifyContent = 'flex-start';\n      marginLeft = xOffset;\n    } else if (xPosition === 'right' || xPosition === 'end') {\n      justifyContent = 'flex-end';\n      marginRight = xOffset;\n    }\n    styles.position = this._cssPosition;\n    styles.marginLeft = shouldBeFlushHorizontally ? '0' : marginLeft;\n    styles.marginTop = shouldBeFlushVertically ? '0' : this._topOffset;\n    styles.marginBottom = this._bottomOffset;\n    styles.marginRight = shouldBeFlushHorizontally ? '0' : marginRight;\n    parentStyles.justifyContent = justifyContent;\n    parentStyles.alignItems = shouldBeFlushVertically ? 'flex-start' : this._alignItems;\n  }\n  /**\n   * Cleans up the DOM changes from the position strategy.\n   * @docs-private\n   */\n  dispose() {\n    if (this._isDisposed || !this._overlayRef) {\n      return;\n    }\n    const styles = this._overlayRef.overlayElement.style;\n    const parent = this._overlayRef.hostElement;\n    const parentStyles = parent.style;\n    parent.classList.remove(wrapperClass);\n    parentStyles.justifyContent = parentStyles.alignItems = styles.marginTop = styles.marginBottom = styles.marginLeft = styles.marginRight = styles.position = '';\n    this._overlayRef = null;\n    this._isDisposed = true;\n  }\n}\n\n/** Builder for overlay position strategy. */\nlet OverlayPositionBuilder = /*#__PURE__*/(() => {\n  class OverlayPositionBuilder {\n    _viewportRuler = inject(ViewportRuler);\n    _document = inject(DOCUMENT);\n    _platform = inject(Platform);\n    _overlayContainer = inject(OverlayContainer);\n    constructor() {}\n    /**\n     * Creates a global position strategy.\n     */\n    global() {\n      return new GlobalPositionStrategy();\n    }\n    /**\n     * Creates a flexible position strategy.\n     * @param origin Origin relative to which to position the overlay.\n     */\n    flexibleConnectedTo(origin) {\n      return new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document, this._platform, this._overlayContainer);\n    }\n    static ɵfac = function OverlayPositionBuilder_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || OverlayPositionBuilder)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: OverlayPositionBuilder,\n      factory: OverlayPositionBuilder.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return OverlayPositionBuilder;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.\n */\nlet Overlay = /*#__PURE__*/(() => {\n  class Overlay {\n    scrollStrategies = inject(ScrollStrategyOptions);\n    _overlayContainer = inject(OverlayContainer);\n    _positionBuilder = inject(OverlayPositionBuilder);\n    _keyboardDispatcher = inject(OverlayKeyboardDispatcher);\n    _injector = inject(Injector);\n    _ngZone = inject(NgZone);\n    _document = inject(DOCUMENT);\n    _directionality = inject(Directionality);\n    _location = inject(Location);\n    _outsideClickDispatcher = inject(OverlayOutsideClickDispatcher);\n    _animationsModuleType = inject(ANIMATION_MODULE_TYPE, {\n      optional: true\n    });\n    _idGenerator = inject(_IdGenerator);\n    _renderer = inject(RendererFactory2).createRenderer(null, null);\n    _appRef;\n    _styleLoader = inject(_CdkPrivateStyleLoader);\n    constructor() {}\n    /**\n     * Creates an overlay.\n     * @param config Configuration applied to the overlay.\n     * @returns Reference to the created overlay.\n     */\n    create(config) {\n      // This is done in the overlay container as well, but we have it here\n      // since it's common to mock out the overlay container in tests.\n      this._styleLoader.load(_CdkOverlayStyleLoader);\n      const host = this._createHostElement();\n      const pane = this._createPaneElement(host);\n      const portalOutlet = this._createPortalOutlet(pane);\n      const overlayConfig = new OverlayConfig(config);\n      overlayConfig.direction = overlayConfig.direction || this._directionality.value;\n      return new OverlayRef(portalOutlet, host, pane, overlayConfig, this._ngZone, this._keyboardDispatcher, this._document, this._location, this._outsideClickDispatcher, this._animationsModuleType === 'NoopAnimations', this._injector.get(EnvironmentInjector), this._renderer);\n    }\n    /**\n     * Gets a position builder that can be used, via fluent API,\n     * to construct and configure a position strategy.\n     * @returns An overlay position builder.\n     */\n    position() {\n      return this._positionBuilder;\n    }\n    /**\n     * Creates the DOM element for an overlay and appends it to the overlay container.\n     * @returns Newly-created pane element\n     */\n    _createPaneElement(host) {\n      const pane = this._document.createElement('div');\n      pane.id = this._idGenerator.getId('cdk-overlay-');\n      pane.classList.add('cdk-overlay-pane');\n      host.appendChild(pane);\n      return pane;\n    }\n    /**\n     * Creates the host element that wraps around an overlay\n     * and can be used for advanced positioning.\n     * @returns Newly-create host element.\n     */\n    _createHostElement() {\n      const host = this._document.createElement('div');\n      this._overlayContainer.getContainerElement().appendChild(host);\n      return host;\n    }\n    /**\n     * Create a DomPortalOutlet into which the overlay content can be loaded.\n     * @param pane The DOM element to turn into a portal outlet.\n     * @returns A portal outlet for the given DOM element.\n     */\n    _createPortalOutlet(pane) {\n      // We have to resolve the ApplicationRef later in order to allow people\n      // to use overlay-based providers during app initialization.\n      if (!this._appRef) {\n        this._appRef = this._injector.get(ApplicationRef);\n      }\n      return new DomPortalOutlet(pane, null, this._appRef, this._injector, this._document);\n    }\n    static ɵfac = function Overlay_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || Overlay)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: Overlay,\n      factory: Overlay.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return Overlay;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Default set of positions for the overlay. Follows the behavior of a dropdown. */\nconst defaultPositionList = [{\n  originX: 'start',\n  originY: 'bottom',\n  overlayX: 'start',\n  overlayY: 'top'\n}, {\n  originX: 'start',\n  originY: 'top',\n  overlayX: 'start',\n  overlayY: 'bottom'\n}, {\n  originX: 'end',\n  originY: 'top',\n  overlayX: 'end',\n  overlayY: 'bottom'\n}, {\n  originX: 'end',\n  originY: 'bottom',\n  overlayX: 'end',\n  overlayY: 'top'\n}];\n/** Injection token that determines the scroll handling while the connected overlay is open. */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY = /*#__PURE__*/new InjectionToken('cdk-connected-overlay-scroll-strategy', {\n  providedIn: 'root',\n  factory: () => {\n    const overlay = inject(Overlay);\n    return () => overlay.scrollStrategies.reposition();\n  }\n});\n/**\n * Directive applied to an element to make it usable as an origin for an Overlay using a\n * ConnectedPositionStrategy.\n */\nlet CdkOverlayOrigin = /*#__PURE__*/(() => {\n  class CdkOverlayOrigin {\n    elementRef = inject(ElementRef);\n    constructor() {}\n    static ɵfac = function CdkOverlayOrigin_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkOverlayOrigin)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkOverlayOrigin,\n      selectors: [[\"\", \"cdk-overlay-origin\", \"\"], [\"\", \"overlay-origin\", \"\"], [\"\", \"cdkOverlayOrigin\", \"\"]],\n      exportAs: [\"cdkOverlayOrigin\"]\n    });\n  }\n  return CdkOverlayOrigin;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Directive to facilitate declarative creation of an\n * Overlay using a FlexibleConnectedPositionStrategy.\n */\nlet CdkConnectedOverlay = /*#__PURE__*/(() => {\n  class CdkConnectedOverlay {\n    _overlay = inject(Overlay);\n    _dir = inject(Directionality, {\n      optional: true\n    });\n    _overlayRef;\n    _templatePortal;\n    _backdropSubscription = Subscription.EMPTY;\n    _attachSubscription = Subscription.EMPTY;\n    _detachSubscription = Subscription.EMPTY;\n    _positionSubscription = Subscription.EMPTY;\n    _offsetX;\n    _offsetY;\n    _position;\n    _scrollStrategyFactory = inject(CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY);\n    _disposeOnNavigation = false;\n    _ngZone = inject(NgZone);\n    /** Origin for the connected overlay. */\n    origin;\n    /** Registered connected position pairs. */\n    positions;\n    /**\n     * This input overrides the positions input if specified. It lets users pass\n     * in arbitrary positioning strategies.\n     */\n    positionStrategy;\n    /** The offset in pixels for the overlay connection point on the x-axis */\n    get offsetX() {\n      return this._offsetX;\n    }\n    set offsetX(offsetX) {\n      this._offsetX = offsetX;\n      if (this._position) {\n        this._updatePositionStrategy(this._position);\n      }\n    }\n    /** The offset in pixels for the overlay connection point on the y-axis */\n    get offsetY() {\n      return this._offsetY;\n    }\n    set offsetY(offsetY) {\n      this._offsetY = offsetY;\n      if (this._position) {\n        this._updatePositionStrategy(this._position);\n      }\n    }\n    /** The width of the overlay panel. */\n    width;\n    /** The height of the overlay panel. */\n    height;\n    /** The min width of the overlay panel. */\n    minWidth;\n    /** The min height of the overlay panel. */\n    minHeight;\n    /** The custom class to be set on the backdrop element. */\n    backdropClass;\n    /** The custom class to add to the overlay pane element. */\n    panelClass;\n    /** Margin between the overlay and the viewport edges. */\n    viewportMargin = 0;\n    /** Strategy to be used when handling scroll events while the overlay is open. */\n    scrollStrategy;\n    /** Whether the overlay is open. */\n    open = false;\n    /** Whether the overlay can be closed by user interaction. */\n    disableClose = false;\n    /** CSS selector which to set the transform origin. */\n    transformOriginSelector;\n    /** Whether or not the overlay should attach a backdrop. */\n    hasBackdrop = false;\n    /** Whether or not the overlay should be locked when scrolling. */\n    lockPosition = false;\n    /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n    flexibleDimensions = false;\n    /** Whether the overlay can grow after the initial open when flexible positioning is turned on. */\n    growAfterOpen = false;\n    /** Whether the overlay can be pushed on-screen if none of the provided positions fit. */\n    push = false;\n    /** Whether the overlay should be disposed of when the user goes backwards/forwards in history. */\n    get disposeOnNavigation() {\n      return this._disposeOnNavigation;\n    }\n    set disposeOnNavigation(value) {\n      this._disposeOnNavigation = value;\n    }\n    /** Event emitted when the backdrop is clicked. */\n    backdropClick = new EventEmitter();\n    /** Event emitted when the position has changed. */\n    positionChange = new EventEmitter();\n    /** Event emitted when the overlay has been attached. */\n    attach = new EventEmitter();\n    /** Event emitted when the overlay has been detached. */\n    detach = new EventEmitter();\n    /** Emits when there are keyboard events that are targeted at the overlay. */\n    overlayKeydown = new EventEmitter();\n    /** Emits when there are mouse outside click events that are targeted at the overlay. */\n    overlayOutsideClick = new EventEmitter();\n    // TODO(jelbourn): inputs for size, scroll behavior, animation, etc.\n    constructor() {\n      const templateRef = inject(TemplateRef);\n      const viewContainerRef = inject(ViewContainerRef);\n      this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);\n      this.scrollStrategy = this._scrollStrategyFactory();\n    }\n    /** The associated overlay reference. */\n    get overlayRef() {\n      return this._overlayRef;\n    }\n    /** The element's layout direction. */\n    get dir() {\n      return this._dir ? this._dir.value : 'ltr';\n    }\n    ngOnDestroy() {\n      this._attachSubscription.unsubscribe();\n      this._detachSubscription.unsubscribe();\n      this._backdropSubscription.unsubscribe();\n      this._positionSubscription.unsubscribe();\n      this._overlayRef?.dispose();\n    }\n    ngOnChanges(changes) {\n      if (this._position) {\n        this._updatePositionStrategy(this._position);\n        this._overlayRef?.updateSize({\n          width: this.width,\n          minWidth: this.minWidth,\n          height: this.height,\n          minHeight: this.minHeight\n        });\n        if (changes['origin'] && this.open) {\n          this._position.apply();\n        }\n      }\n      if (changes['open']) {\n        this.open ? this.attachOverlay() : this.detachOverlay();\n      }\n    }\n    /** Creates an overlay */\n    _createOverlay() {\n      if (!this.positions || !this.positions.length) {\n        this.positions = defaultPositionList;\n      }\n      const overlayRef = this._overlayRef = this._overlay.create(this._buildConfig());\n      this._attachSubscription = overlayRef.attachments().subscribe(() => this.attach.emit());\n      this._detachSubscription = overlayRef.detachments().subscribe(() => this.detach.emit());\n      overlayRef.keydownEvents().subscribe(event => {\n        this.overlayKeydown.next(event);\n        if (event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event)) {\n          event.preventDefault();\n          this.detachOverlay();\n        }\n      });\n      this._overlayRef.outsidePointerEvents().subscribe(event => {\n        const origin = this._getOriginElement();\n        const target = _getEventTarget(event);\n        if (!origin || origin !== target && !origin.contains(target)) {\n          this.overlayOutsideClick.next(event);\n        }\n      });\n    }\n    /** Builds the overlay config based on the directive's inputs */\n    _buildConfig() {\n      const positionStrategy = this._position = this.positionStrategy || this._createPositionStrategy();\n      const overlayConfig = new OverlayConfig({\n        direction: this._dir || 'ltr',\n        positionStrategy,\n        scrollStrategy: this.scrollStrategy,\n        hasBackdrop: this.hasBackdrop,\n        disposeOnNavigation: this.disposeOnNavigation\n      });\n      if (this.width || this.width === 0) {\n        overlayConfig.width = this.width;\n      }\n      if (this.height || this.height === 0) {\n        overlayConfig.height = this.height;\n      }\n      if (this.minWidth || this.minWidth === 0) {\n        overlayConfig.minWidth = this.minWidth;\n      }\n      if (this.minHeight || this.minHeight === 0) {\n        overlayConfig.minHeight = this.minHeight;\n      }\n      if (this.backdropClass) {\n        overlayConfig.backdropClass = this.backdropClass;\n      }\n      if (this.panelClass) {\n        overlayConfig.panelClass = this.panelClass;\n      }\n      return overlayConfig;\n    }\n    /** Updates the state of a position strategy, based on the values of the directive inputs. */\n    _updatePositionStrategy(positionStrategy) {\n      const positions = this.positions.map(currentPosition => ({\n        originX: currentPosition.originX,\n        originY: currentPosition.originY,\n        overlayX: currentPosition.overlayX,\n        overlayY: currentPosition.overlayY,\n        offsetX: currentPosition.offsetX || this.offsetX,\n        offsetY: currentPosition.offsetY || this.offsetY,\n        panelClass: currentPosition.panelClass || undefined\n      }));\n      return positionStrategy.setOrigin(this._getOrigin()).withPositions(positions).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector);\n    }\n    /** Returns the position strategy of the overlay to be set on the overlay config */\n    _createPositionStrategy() {\n      const strategy = this._overlay.position().flexibleConnectedTo(this._getOrigin());\n      this._updatePositionStrategy(strategy);\n      return strategy;\n    }\n    _getOrigin() {\n      if (this.origin instanceof CdkOverlayOrigin) {\n        return this.origin.elementRef;\n      } else {\n        return this.origin;\n      }\n    }\n    _getOriginElement() {\n      if (this.origin instanceof CdkOverlayOrigin) {\n        return this.origin.elementRef.nativeElement;\n      }\n      if (this.origin instanceof ElementRef) {\n        return this.origin.nativeElement;\n      }\n      if (typeof Element !== 'undefined' && this.origin instanceof Element) {\n        return this.origin;\n      }\n      return null;\n    }\n    /** Attaches the overlay. */\n    attachOverlay() {\n      if (!this._overlayRef) {\n        this._createOverlay();\n      } else {\n        // Update the overlay size, in case the directive's inputs have changed\n        this._overlayRef.getConfig().hasBackdrop = this.hasBackdrop;\n      }\n      if (!this._overlayRef.hasAttached()) {\n        this._overlayRef.attach(this._templatePortal);\n      }\n      if (this.hasBackdrop) {\n        this._backdropSubscription = this._overlayRef.backdropClick().subscribe(event => {\n          this.backdropClick.emit(event);\n        });\n      } else {\n        this._backdropSubscription.unsubscribe();\n      }\n      this._positionSubscription.unsubscribe();\n      // Only subscribe to `positionChanges` if requested, because putting\n      // together all the information for it can be expensive.\n      if (this.positionChange.observers.length > 0) {\n        this._positionSubscription = this._position.positionChanges.pipe(takeWhile(() => this.positionChange.observers.length > 0)).subscribe(position => {\n          this._ngZone.run(() => this.positionChange.emit(position));\n          if (this.positionChange.observers.length === 0) {\n            this._positionSubscription.unsubscribe();\n          }\n        });\n      }\n      this.open = true;\n    }\n    /** Detaches the overlay. */\n    detachOverlay() {\n      this._overlayRef?.detach();\n      this._backdropSubscription.unsubscribe();\n      this._positionSubscription.unsubscribe();\n      this.open = false;\n    }\n    static ɵfac = function CdkConnectedOverlay_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkConnectedOverlay)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkConnectedOverlay,\n      selectors: [[\"\", \"cdk-connected-overlay\", \"\"], [\"\", \"connected-overlay\", \"\"], [\"\", \"cdkConnectedOverlay\", \"\"]],\n      inputs: {\n        origin: [0, \"cdkConnectedOverlayOrigin\", \"origin\"],\n        positions: [0, \"cdkConnectedOverlayPositions\", \"positions\"],\n        positionStrategy: [0, \"cdkConnectedOverlayPositionStrategy\", \"positionStrategy\"],\n        offsetX: [0, \"cdkConnectedOverlayOffsetX\", \"offsetX\"],\n        offsetY: [0, \"cdkConnectedOverlayOffsetY\", \"offsetY\"],\n        width: [0, \"cdkConnectedOverlayWidth\", \"width\"],\n        height: [0, \"cdkConnectedOverlayHeight\", \"height\"],\n        minWidth: [0, \"cdkConnectedOverlayMinWidth\", \"minWidth\"],\n        minHeight: [0, \"cdkConnectedOverlayMinHeight\", \"minHeight\"],\n        backdropClass: [0, \"cdkConnectedOverlayBackdropClass\", \"backdropClass\"],\n        panelClass: [0, \"cdkConnectedOverlayPanelClass\", \"panelClass\"],\n        viewportMargin: [0, \"cdkConnectedOverlayViewportMargin\", \"viewportMargin\"],\n        scrollStrategy: [0, \"cdkConnectedOverlayScrollStrategy\", \"scrollStrategy\"],\n        open: [0, \"cdkConnectedOverlayOpen\", \"open\"],\n        disableClose: [0, \"cdkConnectedOverlayDisableClose\", \"disableClose\"],\n        transformOriginSelector: [0, \"cdkConnectedOverlayTransformOriginOn\", \"transformOriginSelector\"],\n        hasBackdrop: [2, \"cdkConnectedOverlayHasBackdrop\", \"hasBackdrop\", booleanAttribute],\n        lockPosition: [2, \"cdkConnectedOverlayLockPosition\", \"lockPosition\", booleanAttribute],\n        flexibleDimensions: [2, \"cdkConnectedOverlayFlexibleDimensions\", \"flexibleDimensions\", booleanAttribute],\n        growAfterOpen: [2, \"cdkConnectedOverlayGrowAfterOpen\", \"growAfterOpen\", booleanAttribute],\n        push: [2, \"cdkConnectedOverlayPush\", \"push\", booleanAttribute],\n        disposeOnNavigation: [2, \"cdkConnectedOverlayDisposeOnNavigation\", \"disposeOnNavigation\", booleanAttribute]\n      },\n      outputs: {\n        backdropClick: \"backdropClick\",\n        positionChange: \"positionChange\",\n        attach: \"attach\",\n        detach: \"detach\",\n        overlayKeydown: \"overlayKeydown\",\n        overlayOutsideClick: \"overlayOutsideClick\"\n      },\n      exportAs: [\"cdkConnectedOverlay\"],\n      features: [i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return CdkConnectedOverlay;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @docs-private\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0\n */\nfunction CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {\n  return () => overlay.scrollStrategies.reposition();\n}\n/**\n * @docs-private\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0\n */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {\n  provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,\n  deps: [Overlay],\n  useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY\n};\nlet OverlayModule = /*#__PURE__*/(() => {\n  class OverlayModule {\n    static ɵfac = function OverlayModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || OverlayModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: OverlayModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER],\n      imports: [BidiModule, PortalModule, ScrollingModule, ScrollingModule]\n    });\n  }\n  return OverlayModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { BlockScrollStrategy as B, CdkOverlayOrigin as C, FlexibleConnectedPositionStrategy as F, GlobalPositionStrategy as G, NoopScrollStrategy as N, OverlayContainer as O, RepositionScrollStrategy as R, STANDARD_DROPDOWN_ADJACENT_POSITIONS as S, Overlay as a, CdkConnectedOverlay as b, OverlayRef as c, OverlayPositionBuilder as d, STANDARD_DROPDOWN_BELOW_POSITIONS as e, OverlayConfig as f, ConnectionPositionPair as g, ScrollingVisibility as h, ConnectedOverlayPositionChange as i, validateHorizontalPosition as j, ScrollStrategyOptions as k, CloseScrollStrategy as l, OverlayModule as m, OverlayOutsideClickDispatcher as n, OverlayKeyboardDispatcher as o, validateVerticalPosition as v };\n","/** Coerces a data-bound value (typically a string) to a boolean. */\nfunction coerceBooleanProperty(value) {\n  return value != null && `${value}` !== 'false';\n}\nexport { coerceBooleanProperty as c };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, ElementRef, NgZone, Injector, ViewContainerRef, afterNextRender, Directive, Input, ChangeDetectorRef, ANIMATION_MODULE_TYPE, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';\nimport { AriaDescriber, FocusMonitor, A11yModule } from '@angular/cdk/a11y';\nimport { Overlay, ScrollDispatcher, OverlayModule } from '@angular/cdk/overlay';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\nimport { takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\nimport { DOCUMENT, NgClass } from '@angular/common';\nimport { normalizePassiveListenerOptions, Platform } from '@angular/cdk/platform';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Subject } from 'rxjs';\nimport { M as MatCommonModule } from './common-module-WayjW0Pb.mjs';\n\n/** Time in ms to throttle repositioning after scroll events. */\nconst _c0 = [\"tooltip\"];\nconst SCROLL_THROTTLE_MS = 20;\n/**\n * Creates an error to be thrown if the user supplied an invalid tooltip position.\n * @docs-private\n */\nfunction getMatTooltipInvalidPositionError(position) {\n  return Error(`Tooltip position \"${position}\" is invalid.`);\n}\n/** Injection token that determines the scroll handling while a tooltip is visible. */\nconst MAT_TOOLTIP_SCROLL_STRATEGY = /*#__PURE__*/new InjectionToken('mat-tooltip-scroll-strategy', {\n  providedIn: 'root',\n  factory: () => {\n    const overlay = inject(Overlay);\n    return () => overlay.scrollStrategies.reposition({\n      scrollThrottle: SCROLL_THROTTLE_MS\n    });\n  }\n});\n/**\n * @docs-private\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0\n */\nfunction MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY(overlay) {\n  return () => overlay.scrollStrategies.reposition({\n    scrollThrottle: SCROLL_THROTTLE_MS\n  });\n}\n/**\n * @docs-private\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0\n */\nconst MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n  provide: MAT_TOOLTIP_SCROLL_STRATEGY,\n  deps: [Overlay],\n  useFactory: MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY\n};\n/**\n * @docs-private\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0\n */\nfunction MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY() {\n  return {\n    showDelay: 0,\n    hideDelay: 0,\n    touchendHideDelay: 1500\n  };\n}\n/** Injection token to be used to override the default options for `matTooltip`. */\nconst MAT_TOOLTIP_DEFAULT_OPTIONS = /*#__PURE__*/new InjectionToken('mat-tooltip-default-options', {\n  providedIn: 'root',\n  factory: MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY\n});\n/**\n * CSS class that will be attached to the overlay panel.\n * @deprecated\n * @breaking-change 13.0.0 remove this variable\n */\nconst TOOLTIP_PANEL_CLASS = 'mat-mdc-tooltip-panel';\nconst PANEL_CLASS = 'tooltip-panel';\n/** Options used to bind passive event listeners. */\nconst passiveListenerOptions = /*#__PURE__*/normalizePassiveListenerOptions({\n  passive: true\n});\n// These constants were taken from MDC's `numbers` object. We can't import them from MDC,\n// because they have some top-level references to `window` which break during SSR.\nconst MIN_VIEWPORT_TOOLTIP_THRESHOLD = 8;\nconst UNBOUNDED_ANCHOR_GAP = 8;\nconst MIN_HEIGHT = 24;\nconst MAX_WIDTH = 200;\n/**\n * Directive that attaches a material design tooltip to the host element. Animates the showing and\n * hiding of a tooltip provided position (defaults to below the element).\n *\n * https://material.io/design/components/tooltips.html\n */\nlet MatTooltip = /*#__PURE__*/(() => {\n  class MatTooltip {\n    _elementRef = inject(ElementRef);\n    _ngZone = inject(NgZone);\n    _platform = inject(Platform);\n    _ariaDescriber = inject(AriaDescriber);\n    _focusMonitor = inject(FocusMonitor);\n    _dir = inject(Directionality);\n    _injector = inject(Injector);\n    _viewContainerRef = inject(ViewContainerRef);\n    _defaultOptions = inject(MAT_TOOLTIP_DEFAULT_OPTIONS, {\n      optional: true\n    });\n    _overlayRef;\n    _tooltipInstance;\n    _portal;\n    _position = 'below';\n    _positionAtOrigin = false;\n    _disabled = false;\n    _tooltipClass;\n    _viewInitialized = false;\n    _pointerExitEventsInitialized = false;\n    _tooltipComponent = TooltipComponent;\n    _viewportMargin = 8;\n    _currentPosition;\n    _cssClassPrefix = 'mat-mdc';\n    _ariaDescriptionPending;\n    _dirSubscribed = false;\n    /** Allows the user to define the position of the tooltip relative to the parent element */\n    get position() {\n      return this._position;\n    }\n    set position(value) {\n      if (value !== this._position) {\n        this._position = value;\n        if (this._overlayRef) {\n          this._updatePosition(this._overlayRef);\n          this._tooltipInstance?.show(0);\n          this._overlayRef.updatePosition();\n        }\n      }\n    }\n    /**\n     * Whether tooltip should be relative to the click or touch origin\n     * instead of outside the element bounding box.\n     */\n    get positionAtOrigin() {\n      return this._positionAtOrigin;\n    }\n    set positionAtOrigin(value) {\n      this._positionAtOrigin = coerceBooleanProperty(value);\n      this._detach();\n      this._overlayRef = null;\n    }\n    /** Disables the display of the tooltip. */\n    get disabled() {\n      return this._disabled;\n    }\n    set disabled(value) {\n      const isDisabled = coerceBooleanProperty(value);\n      if (this._disabled !== isDisabled) {\n        this._disabled = isDisabled;\n        // If tooltip is disabled, hide immediately.\n        if (isDisabled) {\n          this.hide(0);\n        } else {\n          this._setupPointerEnterEventsIfNeeded();\n        }\n        this._syncAriaDescription(this.message);\n      }\n    }\n    /** The default delay in ms before showing the tooltip after show is called */\n    get showDelay() {\n      return this._showDelay;\n    }\n    set showDelay(value) {\n      this._showDelay = coerceNumberProperty(value);\n    }\n    _showDelay;\n    /** The default delay in ms before hiding the tooltip after hide is called */\n    get hideDelay() {\n      return this._hideDelay;\n    }\n    set hideDelay(value) {\n      this._hideDelay = coerceNumberProperty(value);\n      if (this._tooltipInstance) {\n        this._tooltipInstance._mouseLeaveHideDelay = this._hideDelay;\n      }\n    }\n    _hideDelay;\n    /**\n     * How touch gestures should be handled by the tooltip. On touch devices the tooltip directive\n     * uses a long press gesture to show and hide, however it can conflict with the native browser\n     * gestures. To work around the conflict, Angular Material disables native gestures on the\n     * trigger, but that might not be desirable on particular elements (e.g. inputs and draggable\n     * elements). The different values for this option configure the touch event handling as follows:\n     * - `auto` - Enables touch gestures for all elements, but tries to avoid conflicts with native\n     *   browser gestures on particular elements. In particular, it allows text selection on inputs\n     *   and textareas, and preserves the native browser dragging on elements marked as `draggable`.\n     * - `on` - Enables touch gestures for all elements and disables native\n     *   browser gestures with no exceptions.\n     * - `off` - Disables touch gestures. Note that this will prevent the tooltip from\n     *   showing on touch devices.\n     */\n    touchGestures = 'auto';\n    /** The message to be displayed in the tooltip */\n    get message() {\n      return this._message;\n    }\n    set message(value) {\n      const oldMessage = this._message;\n      // If the message is not a string (e.g. number), convert it to a string and trim it.\n      // Must convert with `String(value)`, not `${value}`, otherwise Closure Compiler optimises\n      // away the string-conversion: https://github.com/angular/components/issues/20684\n      this._message = value != null ? String(value).trim() : '';\n      if (!this._message && this._isTooltipVisible()) {\n        this.hide(0);\n      } else {\n        this._setupPointerEnterEventsIfNeeded();\n        this._updateTooltipMessage();\n      }\n      this._syncAriaDescription(oldMessage);\n    }\n    _message = '';\n    /** Classes to be passed to the tooltip. Supports the same syntax as `ngClass`. */\n    get tooltipClass() {\n      return this._tooltipClass;\n    }\n    set tooltipClass(value) {\n      this._tooltipClass = value;\n      if (this._tooltipInstance) {\n        this._setTooltipClass(this._tooltipClass);\n      }\n    }\n    /** Manually-bound passive event listeners. */\n    _passiveListeners = [];\n    /** Timer started at the last `touchstart` event. */\n    _touchstartTimeout = null;\n    /** Emits when the component is destroyed. */\n    _destroyed = new Subject();\n    /** Whether ngOnDestroyed has been called. */\n    _isDestroyed = false;\n    constructor() {\n      const defaultOptions = this._defaultOptions;\n      if (defaultOptions) {\n        this._showDelay = defaultOptions.showDelay;\n        this._hideDelay = defaultOptions.hideDelay;\n        if (defaultOptions.position) {\n          this.position = defaultOptions.position;\n        }\n        if (defaultOptions.positionAtOrigin) {\n          this.positionAtOrigin = defaultOptions.positionAtOrigin;\n        }\n        if (defaultOptions.touchGestures) {\n          this.touchGestures = defaultOptions.touchGestures;\n        }\n        if (defaultOptions.tooltipClass) {\n          this.tooltipClass = defaultOptions.tooltipClass;\n        }\n      }\n      this._viewportMargin = MIN_VIEWPORT_TOOLTIP_THRESHOLD;\n    }\n    ngAfterViewInit() {\n      // This needs to happen after view init so the initial values for all inputs have been set.\n      this._viewInitialized = true;\n      this._setupPointerEnterEventsIfNeeded();\n      this._focusMonitor.monitor(this._elementRef).pipe(takeUntil(this._destroyed)).subscribe(origin => {\n        // Note that the focus monitor runs outside the Angular zone.\n        if (!origin) {\n          this._ngZone.run(() => this.hide(0));\n        } else if (origin === 'keyboard') {\n          this._ngZone.run(() => this.show());\n        }\n      });\n    }\n    /**\n     * Dispose the tooltip when destroyed.\n     */\n    ngOnDestroy() {\n      const nativeElement = this._elementRef.nativeElement;\n      // Optimization: Do not call clearTimeout unless there is an active timer.\n      if (this._touchstartTimeout) {\n        clearTimeout(this._touchstartTimeout);\n      }\n      if (this._overlayRef) {\n        this._overlayRef.dispose();\n        this._tooltipInstance = null;\n      }\n      // Clean up the event listeners set in the constructor\n      this._passiveListeners.forEach(([event, listener]) => {\n        nativeElement.removeEventListener(event, listener, passiveListenerOptions);\n      });\n      this._passiveListeners.length = 0;\n      this._destroyed.next();\n      this._destroyed.complete();\n      this._isDestroyed = true;\n      this._ariaDescriber.removeDescription(nativeElement, this.message, 'tooltip');\n      this._focusMonitor.stopMonitoring(nativeElement);\n    }\n    /** Shows the tooltip after the delay in ms, defaults to tooltip-delay-show or 0ms if no input */\n    show(delay = this.showDelay, origin) {\n      if (this.disabled || !this.message || this._isTooltipVisible()) {\n        this._tooltipInstance?._cancelPendingAnimations();\n        return;\n      }\n      const overlayRef = this._createOverlay(origin);\n      this._detach();\n      this._portal = this._portal || new ComponentPortal(this._tooltipComponent, this._viewContainerRef);\n      const instance = this._tooltipInstance = overlayRef.attach(this._portal).instance;\n      instance._triggerElement = this._elementRef.nativeElement;\n      instance._mouseLeaveHideDelay = this._hideDelay;\n      instance.afterHidden().pipe(takeUntil(this._destroyed)).subscribe(() => this._detach());\n      this._setTooltipClass(this._tooltipClass);\n      this._updateTooltipMessage();\n      instance.show(delay);\n    }\n    /** Hides the tooltip after the delay in ms, defaults to tooltip-delay-hide or 0ms if no input */\n    hide(delay = this.hideDelay) {\n      const instance = this._tooltipInstance;\n      if (instance) {\n        if (instance.isVisible()) {\n          instance.hide(delay);\n        } else {\n          instance._cancelPendingAnimations();\n          this._detach();\n        }\n      }\n    }\n    /** Shows/hides the tooltip */\n    toggle(origin) {\n      this._isTooltipVisible() ? this.hide() : this.show(undefined, origin);\n    }\n    /** Returns true if the tooltip is currently visible to the user */\n    _isTooltipVisible() {\n      return !!this._tooltipInstance && this._tooltipInstance.isVisible();\n    }\n    /** Create the overlay config and position strategy */\n    _createOverlay(origin) {\n      if (this._overlayRef) {\n        const existingStrategy = this._overlayRef.getConfig().positionStrategy;\n        if ((!this.positionAtOrigin || !origin) && existingStrategy._origin instanceof ElementRef) {\n          return this._overlayRef;\n        }\n        this._detach();\n      }\n      const scrollableAncestors = this._injector.get(ScrollDispatcher).getAncestorScrollContainers(this._elementRef);\n      const overlay = this._injector.get(Overlay);\n      // Create connected position strategy that listens for scroll events to reposition.\n      const strategy = overlay.position().flexibleConnectedTo(this.positionAtOrigin ? origin || this._elementRef : this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(false).withViewportMargin(this._viewportMargin).withScrollableContainers(scrollableAncestors);\n      strategy.positionChanges.pipe(takeUntil(this._destroyed)).subscribe(change => {\n        this._updateCurrentPositionClass(change.connectionPair);\n        if (this._tooltipInstance) {\n          if (change.scrollableViewProperties.isOverlayClipped && this._tooltipInstance.isVisible()) {\n            // After position changes occur and the overlay is clipped by\n            // a parent scrollable then close the tooltip.\n            this._ngZone.run(() => this.hide(0));\n          }\n        }\n      });\n      this._overlayRef = overlay.create({\n        direction: this._dir,\n        positionStrategy: strategy,\n        panelClass: `${this._cssClassPrefix}-${PANEL_CLASS}`,\n        scrollStrategy: this._injector.get(MAT_TOOLTIP_SCROLL_STRATEGY)()\n      });\n      this._updatePosition(this._overlayRef);\n      this._overlayRef.detachments().pipe(takeUntil(this._destroyed)).subscribe(() => this._detach());\n      this._overlayRef.outsidePointerEvents().pipe(takeUntil(this._destroyed)).subscribe(() => this._tooltipInstance?._handleBodyInteraction());\n      this._overlayRef.keydownEvents().pipe(takeUntil(this._destroyed)).subscribe(event => {\n        if (this._isTooltipVisible() && event.keyCode === ESCAPE && !hasModifierKey(event)) {\n          event.preventDefault();\n          event.stopPropagation();\n          this._ngZone.run(() => this.hide(0));\n        }\n      });\n      if (this._defaultOptions?.disableTooltipInteractivity) {\n        this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`);\n      }\n      if (!this._dirSubscribed) {\n        this._dirSubscribed = true;\n        this._dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => {\n          if (this._overlayRef) {\n            this._updatePosition(this._overlayRef);\n          }\n        });\n      }\n      return this._overlayRef;\n    }\n    /** Detaches the currently-attached tooltip. */\n    _detach() {\n      if (this._overlayRef && this._overlayRef.hasAttached()) {\n        this._overlayRef.detach();\n      }\n      this._tooltipInstance = null;\n    }\n    /** Updates the position of the current tooltip. */\n    _updatePosition(overlayRef) {\n      const position = overlayRef.getConfig().positionStrategy;\n      const origin = this._getOrigin();\n      const overlay = this._getOverlayPosition();\n      position.withPositions([this._addOffset({\n        ...origin.main,\n        ...overlay.main\n      }), this._addOffset({\n        ...origin.fallback,\n        ...overlay.fallback\n      })]);\n    }\n    /** Adds the configured offset to a position. Used as a hook for child classes. */\n    _addOffset(position) {\n      const offset = UNBOUNDED_ANCHOR_GAP;\n      const isLtr = !this._dir || this._dir.value == 'ltr';\n      if (position.originY === 'top') {\n        position.offsetY = -offset;\n      } else if (position.originY === 'bottom') {\n        position.offsetY = offset;\n      } else if (position.originX === 'start') {\n        position.offsetX = isLtr ? -offset : offset;\n      } else if (position.originX === 'end') {\n        position.offsetX = isLtr ? offset : -offset;\n      }\n      return position;\n    }\n    /**\n     * Returns the origin position and a fallback position based on the user's position preference.\n     * The fallback position is the inverse of the origin (e.g. `'below' -> 'above'`).\n     */\n    _getOrigin() {\n      const isLtr = !this._dir || this._dir.value == 'ltr';\n      const position = this.position;\n      let originPosition;\n      if (position == 'above' || position == 'below') {\n        originPosition = {\n          originX: 'center',\n          originY: position == 'above' ? 'top' : 'bottom'\n        };\n      } else if (position == 'before' || position == 'left' && isLtr || position == 'right' && !isLtr) {\n        originPosition = {\n          originX: 'start',\n          originY: 'center'\n        };\n      } else if (position == 'after' || position == 'right' && isLtr || position == 'left' && !isLtr) {\n        originPosition = {\n          originX: 'end',\n          originY: 'center'\n        };\n      } else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n        throw getMatTooltipInvalidPositionError(position);\n      }\n      const {\n        x,\n        y\n      } = this._invertPosition(originPosition.originX, originPosition.originY);\n      return {\n        main: originPosition,\n        fallback: {\n          originX: x,\n          originY: y\n        }\n      };\n    }\n    /** Returns the overlay position and a fallback position based on the user's preference */\n    _getOverlayPosition() {\n      const isLtr = !this._dir || this._dir.value == 'ltr';\n      const position = this.position;\n      let overlayPosition;\n      if (position == 'above') {\n        overlayPosition = {\n          overlayX: 'center',\n          overlayY: 'bottom'\n        };\n      } else if (position == 'below') {\n        overlayPosition = {\n          overlayX: 'center',\n          overlayY: 'top'\n        };\n      } else if (position == 'before' || position == 'left' && isLtr || position == 'right' && !isLtr) {\n        overlayPosition = {\n          overlayX: 'end',\n          overlayY: 'center'\n        };\n      } else if (position == 'after' || position == 'right' && isLtr || position == 'left' && !isLtr) {\n        overlayPosition = {\n          overlayX: 'start',\n          overlayY: 'center'\n        };\n      } else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n        throw getMatTooltipInvalidPositionError(position);\n      }\n      const {\n        x,\n        y\n      } = this._invertPosition(overlayPosition.overlayX, overlayPosition.overlayY);\n      return {\n        main: overlayPosition,\n        fallback: {\n          overlayX: x,\n          overlayY: y\n        }\n      };\n    }\n    /** Updates the tooltip message and repositions the overlay according to the new message length */\n    _updateTooltipMessage() {\n      // Must wait for the message to be painted to the tooltip so that the overlay can properly\n      // calculate the correct positioning based on the size of the text.\n      if (this._tooltipInstance) {\n        this._tooltipInstance.message = this.message;\n        this._tooltipInstance._markForCheck();\n        afterNextRender(() => {\n          if (this._tooltipInstance) {\n            this._overlayRef.updatePosition();\n          }\n        }, {\n          injector: this._injector\n        });\n      }\n    }\n    /** Updates the tooltip class */\n    _setTooltipClass(tooltipClass) {\n      if (this._tooltipInstance) {\n        this._tooltipInstance.tooltipClass = tooltipClass;\n        this._tooltipInstance._markForCheck();\n      }\n    }\n    /** Inverts an overlay position. */\n    _invertPosition(x, y) {\n      if (this.position === 'above' || this.position === 'below') {\n        if (y === 'top') {\n          y = 'bottom';\n        } else if (y === 'bottom') {\n          y = 'top';\n        }\n      } else {\n        if (x === 'end') {\n          x = 'start';\n        } else if (x === 'start') {\n          x = 'end';\n        }\n      }\n      return {\n        x,\n        y\n      };\n    }\n    /** Updates the class on the overlay panel based on the current position of the tooltip. */\n    _updateCurrentPositionClass(connectionPair) {\n      const {\n        overlayY,\n        originX,\n        originY\n      } = connectionPair;\n      let newPosition;\n      // If the overlay is in the middle along the Y axis,\n      // it means that it's either before or after.\n      if (overlayY === 'center') {\n        // Note that since this information is used for styling, we want to\n        // resolve `start` and `end` to their real values, otherwise consumers\n        // would have to remember to do it themselves on each consumption.\n        if (this._dir && this._dir.value === 'rtl') {\n          newPosition = originX === 'end' ? 'left' : 'right';\n        } else {\n          newPosition = originX === 'start' ? 'left' : 'right';\n        }\n      } else {\n        newPosition = overlayY === 'bottom' && originY === 'top' ? 'above' : 'below';\n      }\n      if (newPosition !== this._currentPosition) {\n        const overlayRef = this._overlayRef;\n        if (overlayRef) {\n          const classPrefix = `${this._cssClassPrefix}-${PANEL_CLASS}-`;\n          overlayRef.removePanelClass(classPrefix + this._currentPosition);\n          overlayRef.addPanelClass(classPrefix + newPosition);\n        }\n        this._currentPosition = newPosition;\n      }\n    }\n    /** Binds the pointer events to the tooltip trigger. */\n    _setupPointerEnterEventsIfNeeded() {\n      // Optimization: Defer hooking up events if there's no message or the tooltip is disabled.\n      if (this._disabled || !this.message || !this._viewInitialized || this._passiveListeners.length) {\n        return;\n      }\n      // The mouse events shouldn't be bound on mobile devices, because they can prevent the\n      // first tap from firing its click event or can cause the tooltip to open for clicks.\n      if (this._platformSupportsMouseEvents()) {\n        this._passiveListeners.push(['mouseenter', event => {\n          this._setupPointerExitEventsIfNeeded();\n          let point = undefined;\n          if (event.x !== undefined && event.y !== undefined) {\n            point = event;\n          }\n          this.show(undefined, point);\n        }]);\n      } else if (this.touchGestures !== 'off') {\n        this._disableNativeGesturesIfNecessary();\n        this._passiveListeners.push(['touchstart', event => {\n          const touch = event.targetTouches?.[0];\n          const origin = touch ? {\n            x: touch.clientX,\n            y: touch.clientY\n          } : undefined;\n          // Note that it's important that we don't `preventDefault` here,\n          // because it can prevent click events from firing on the element.\n          this._setupPointerExitEventsIfNeeded();\n          if (this._touchstartTimeout) {\n            clearTimeout(this._touchstartTimeout);\n          }\n          const DEFAULT_LONGPRESS_DELAY = 500;\n          this._touchstartTimeout = setTimeout(() => {\n            this._touchstartTimeout = null;\n            this.show(undefined, origin);\n          }, this._defaultOptions?.touchLongPressShowDelay ?? DEFAULT_LONGPRESS_DELAY);\n        }]);\n      }\n      this._addListeners(this._passiveListeners);\n    }\n    _setupPointerExitEventsIfNeeded() {\n      if (this._pointerExitEventsInitialized) {\n        return;\n      }\n      this._pointerExitEventsInitialized = true;\n      const exitListeners = [];\n      if (this._platformSupportsMouseEvents()) {\n        exitListeners.push(['mouseleave', event => {\n          const newTarget = event.relatedTarget;\n          if (!newTarget || !this._overlayRef?.overlayElement.contains(newTarget)) {\n            this.hide();\n          }\n        }], ['wheel', event => this._wheelListener(event)]);\n      } else if (this.touchGestures !== 'off') {\n        this._disableNativeGesturesIfNecessary();\n        const touchendListener = () => {\n          if (this._touchstartTimeout) {\n            clearTimeout(this._touchstartTimeout);\n          }\n          this.hide(this._defaultOptions?.touchendHideDelay);\n        };\n        exitListeners.push(['touchend', touchendListener], ['touchcancel', touchendListener]);\n      }\n      this._addListeners(exitListeners);\n      this._passiveListeners.push(...exitListeners);\n    }\n    _addListeners(listeners) {\n      listeners.forEach(([event, listener]) => {\n        this._elementRef.nativeElement.addEventListener(event, listener, passiveListenerOptions);\n      });\n    }\n    _platformSupportsMouseEvents() {\n      return !this._platform.IOS && !this._platform.ANDROID;\n    }\n    /** Listener for the `wheel` event on the element. */\n    _wheelListener(event) {\n      if (this._isTooltipVisible()) {\n        const elementUnderPointer = this._injector.get(DOCUMENT).elementFromPoint(event.clientX, event.clientY);\n        const element = this._elementRef.nativeElement;\n        // On non-touch devices we depend on the `mouseleave` event to close the tooltip, but it\n        // won't fire if the user scrolls away using the wheel without moving their cursor. We\n        // work around it by finding the element under the user's cursor and closing the tooltip\n        // if it's not the trigger.\n        if (elementUnderPointer !== element && !element.contains(elementUnderPointer)) {\n          this.hide();\n        }\n      }\n    }\n    /** Disables the native browser gestures, based on how the tooltip has been configured. */\n    _disableNativeGesturesIfNecessary() {\n      const gestures = this.touchGestures;\n      if (gestures !== 'off') {\n        const element = this._elementRef.nativeElement;\n        const style = element.style;\n        // If gestures are set to `auto`, we don't disable text selection on inputs and\n        // textareas, because it prevents the user from typing into them on iOS Safari.\n        if (gestures === 'on' || element.nodeName !== 'INPUT' && element.nodeName !== 'TEXTAREA') {\n          style.userSelect = style.msUserSelect = style.webkitUserSelect = style.MozUserSelect = 'none';\n        }\n        // If we have `auto` gestures and the element uses native HTML dragging,\n        // we don't set `-webkit-user-drag` because it prevents the native behavior.\n        if (gestures === 'on' || !element.draggable) {\n          style.webkitUserDrag = 'none';\n        }\n        style.touchAction = 'none';\n        style.webkitTapHighlightColor = 'transparent';\n      }\n    }\n    /** Updates the tooltip's ARIA description based on it current state. */\n    _syncAriaDescription(oldMessage) {\n      if (this._ariaDescriptionPending) {\n        return;\n      }\n      this._ariaDescriptionPending = true;\n      this._ariaDescriber.removeDescription(this._elementRef.nativeElement, oldMessage, 'tooltip');\n      // The `AriaDescriber` has some functionality that avoids adding a description if it's the\n      // same as the `aria-label` of an element, however we can't know whether the tooltip trigger\n      // has a data-bound `aria-label` or when it'll be set for the first time. We can avoid the\n      // issue by deferring the description by a tick so Angular has time to set the `aria-label`.\n      if (!this._isDestroyed) {\n        afterNextRender({\n          write: () => {\n            this._ariaDescriptionPending = false;\n            if (this.message && !this.disabled) {\n              this._ariaDescriber.describe(this._elementRef.nativeElement, this.message, 'tooltip');\n            }\n          }\n        }, {\n          injector: this._injector\n        });\n      }\n    }\n    static ɵfac = function MatTooltip_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatTooltip)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatTooltip,\n      selectors: [[\"\", \"matTooltip\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-tooltip-trigger\"],\n      hostVars: 2,\n      hostBindings: function MatTooltip_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mat-mdc-tooltip-disabled\", ctx.disabled);\n        }\n      },\n      inputs: {\n        position: [0, \"matTooltipPosition\", \"position\"],\n        positionAtOrigin: [0, \"matTooltipPositionAtOrigin\", \"positionAtOrigin\"],\n        disabled: [0, \"matTooltipDisabled\", \"disabled\"],\n        showDelay: [0, \"matTooltipShowDelay\", \"showDelay\"],\n        hideDelay: [0, \"matTooltipHideDelay\", \"hideDelay\"],\n        touchGestures: [0, \"matTooltipTouchGestures\", \"touchGestures\"],\n        message: [0, \"matTooltip\", \"message\"],\n        tooltipClass: [0, \"matTooltipClass\", \"tooltipClass\"]\n      },\n      exportAs: [\"matTooltip\"]\n    });\n  }\n  return MatTooltip;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Internal component that wraps the tooltip's content.\n * @docs-private\n */\nlet TooltipComponent = /*#__PURE__*/(() => {\n  class TooltipComponent {\n    _changeDetectorRef = inject(ChangeDetectorRef);\n    _elementRef = inject(ElementRef);\n    /* Whether the tooltip text overflows to multiple lines */\n    _isMultiline = false;\n    /** Message to display in the tooltip */\n    message;\n    /** Classes to be added to the tooltip. Supports the same syntax as `ngClass`. */\n    tooltipClass;\n    /** The timeout ID of any current timer set to show the tooltip */\n    _showTimeoutId;\n    /** The timeout ID of any current timer set to hide the tooltip */\n    _hideTimeoutId;\n    /** Element that caused the tooltip to open. */\n    _triggerElement;\n    /** Amount of milliseconds to delay the closing sequence. */\n    _mouseLeaveHideDelay;\n    /** Whether animations are currently disabled. */\n    _animationsDisabled;\n    /** Reference to the internal tooltip element. */\n    _tooltip;\n    /** Whether interactions on the page should close the tooltip */\n    _closeOnInteraction = false;\n    /** Whether the tooltip is currently visible. */\n    _isVisible = false;\n    /** Subject for notifying that the tooltip has been hidden from the view */\n    _onHide = new Subject();\n    /** Name of the show animation and the class that toggles it. */\n    _showAnimation = 'mat-mdc-tooltip-show';\n    /** Name of the hide animation and the class that toggles it. */\n    _hideAnimation = 'mat-mdc-tooltip-hide';\n    constructor() {\n      const animationMode = inject(ANIMATION_MODULE_TYPE, {\n        optional: true\n      });\n      this._animationsDisabled = animationMode === 'NoopAnimations';\n    }\n    /**\n     * Shows the tooltip with an animation originating from the provided origin\n     * @param delay Amount of milliseconds to the delay showing the tooltip.\n     */\n    show(delay) {\n      // Cancel the delayed hide if it is scheduled\n      if (this._hideTimeoutId != null) {\n        clearTimeout(this._hideTimeoutId);\n      }\n      this._showTimeoutId = setTimeout(() => {\n        this._toggleVisibility(true);\n        this._showTimeoutId = undefined;\n      }, delay);\n    }\n    /**\n     * Begins the animation to hide the tooltip after the provided delay in ms.\n     * @param delay Amount of milliseconds to delay showing the tooltip.\n     */\n    hide(delay) {\n      // Cancel the delayed show if it is scheduled\n      if (this._showTimeoutId != null) {\n        clearTimeout(this._showTimeoutId);\n      }\n      this._hideTimeoutId = setTimeout(() => {\n        this._toggleVisibility(false);\n        this._hideTimeoutId = undefined;\n      }, delay);\n    }\n    /** Returns an observable that notifies when the tooltip has been hidden from view. */\n    afterHidden() {\n      return this._onHide;\n    }\n    /** Whether the tooltip is being displayed. */\n    isVisible() {\n      return this._isVisible;\n    }\n    ngOnDestroy() {\n      this._cancelPendingAnimations();\n      this._onHide.complete();\n      this._triggerElement = null;\n    }\n    /**\n     * Interactions on the HTML body should close the tooltip immediately as defined in the\n     * material design spec.\n     * https://material.io/design/components/tooltips.html#behavior\n     */\n    _handleBodyInteraction() {\n      if (this._closeOnInteraction) {\n        this.hide(0);\n      }\n    }\n    /**\n     * Marks that the tooltip needs to be checked in the next change detection run.\n     * Mainly used for rendering the initial text before positioning a tooltip, which\n     * can be problematic in components with OnPush change detection.\n     */\n    _markForCheck() {\n      this._changeDetectorRef.markForCheck();\n    }\n    _handleMouseLeave({\n      relatedTarget\n    }) {\n      if (!relatedTarget || !this._triggerElement.contains(relatedTarget)) {\n        if (this.isVisible()) {\n          this.hide(this._mouseLeaveHideDelay);\n        } else {\n          this._finalizeAnimation(false);\n        }\n      }\n    }\n    /**\n     * Callback for when the timeout in this.show() gets completed.\n     * This method is only needed by the mdc-tooltip, and so it is only implemented\n     * in the mdc-tooltip, not here.\n     */\n    _onShow() {\n      this._isMultiline = this._isTooltipMultiline();\n      this._markForCheck();\n    }\n    /** Whether the tooltip text has overflown to the next line */\n    _isTooltipMultiline() {\n      const rect = this._elementRef.nativeElement.getBoundingClientRect();\n      return rect.height > MIN_HEIGHT && rect.width >= MAX_WIDTH;\n    }\n    /** Event listener dispatched when an animation on the tooltip finishes. */\n    _handleAnimationEnd({\n      animationName\n    }) {\n      if (animationName === this._showAnimation || animationName === this._hideAnimation) {\n        this._finalizeAnimation(animationName === this._showAnimation);\n      }\n    }\n    /** Cancels any pending animation sequences. */\n    _cancelPendingAnimations() {\n      if (this._showTimeoutId != null) {\n        clearTimeout(this._showTimeoutId);\n      }\n      if (this._hideTimeoutId != null) {\n        clearTimeout(this._hideTimeoutId);\n      }\n      this._showTimeoutId = this._hideTimeoutId = undefined;\n    }\n    /** Handles the cleanup after an animation has finished. */\n    _finalizeAnimation(toVisible) {\n      if (toVisible) {\n        this._closeOnInteraction = true;\n      } else if (!this.isVisible()) {\n        this._onHide.next();\n      }\n    }\n    /** Toggles the visibility of the tooltip element. */\n    _toggleVisibility(isVisible) {\n      // We set the classes directly here ourselves so that toggling the tooltip state\n      // isn't bound by change detection. This allows us to hide it even if the\n      // view ref has been detached from the CD tree.\n      const tooltip = this._tooltip.nativeElement;\n      const showClass = this._showAnimation;\n      const hideClass = this._hideAnimation;\n      tooltip.classList.remove(isVisible ? hideClass : showClass);\n      tooltip.classList.add(isVisible ? showClass : hideClass);\n      if (this._isVisible !== isVisible) {\n        this._isVisible = isVisible;\n        this._changeDetectorRef.markForCheck();\n      }\n      // It's common for internal apps to disable animations using `* { animation: none !important }`\n      // which can break the opening sequence. Try to detect such cases and work around them.\n      if (isVisible && !this._animationsDisabled && typeof getComputedStyle === 'function') {\n        const styles = getComputedStyle(tooltip);\n        // Use `getPropertyValue` to avoid issues with property renaming.\n        if (styles.getPropertyValue('animation-duration') === '0s' || styles.getPropertyValue('animation-name') === 'none') {\n          this._animationsDisabled = true;\n        }\n      }\n      if (isVisible) {\n        this._onShow();\n      }\n      if (this._animationsDisabled) {\n        tooltip.classList.add('_mat-animation-noopable');\n        this._finalizeAnimation(isVisible);\n      }\n    }\n    static ɵfac = function TooltipComponent_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || TooltipComponent)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: TooltipComponent,\n      selectors: [[\"mat-tooltip-component\"]],\n      viewQuery: function TooltipComponent_Query(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵviewQuery(_c0, 7);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._tooltip = _t.first);\n        }\n      },\n      hostAttrs: [\"aria-hidden\", \"true\"],\n      hostBindings: function TooltipComponent_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"mouseleave\", function TooltipComponent_mouseleave_HostBindingHandler($event) {\n            return ctx._handleMouseLeave($event);\n          });\n        }\n      },\n      decls: 4,\n      vars: 4,\n      consts: [[\"tooltip\", \"\"], [1, \"mdc-tooltip\", \"mat-mdc-tooltip\", 3, \"animationend\", \"ngClass\"], [1, \"mat-mdc-tooltip-surface\", \"mdc-tooltip__surface\"]],\n      template: function TooltipComponent_Template(rf, ctx) {\n        if (rf & 1) {\n          const _r1 = i0.ɵɵgetCurrentView();\n          i0.ɵɵelementStart(0, \"div\", 1, 0);\n          i0.ɵɵlistener(\"animationend\", function TooltipComponent_Template_div_animationend_0_listener($event) {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._handleAnimationEnd($event));\n          });\n          i0.ɵɵelementStart(2, \"div\", 2);\n          i0.ɵɵtext(3);\n          i0.ɵɵelementEnd()();\n        }\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mdc-tooltip--multiline\", ctx._isMultiline);\n          i0.ɵɵproperty(\"ngClass\", ctx.tooltipClass);\n          i0.ɵɵadvance(3);\n          i0.ɵɵtextInterpolate(ctx.message);\n        }\n      },\n      dependencies: [NgClass],\n      styles: [\".mat-mdc-tooltip{position:relative;transform:scale(0);display:inline-flex}.mat-mdc-tooltip::before{content:\\\"\\\";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-surface{word-break:normal;overflow-wrap:anywhere;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center;will-change:transform,opacity;background-color:var(--mdc-plain-tooltip-container-color, var(--mat-sys-inverse-surface));color:var(--mdc-plain-tooltip-supporting-text-color, var(--mat-sys-inverse-on-surface));border-radius:var(--mdc-plain-tooltip-container-shape, var(--mat-sys-corner-extra-small));font-family:var(--mdc-plain-tooltip-supporting-text-font, var(--mat-sys-body-small-font));font-size:var(--mdc-plain-tooltip-supporting-text-size, var(--mat-sys-body-small-size));font-weight:var(--mdc-plain-tooltip-supporting-text-weight, var(--mat-sys-body-small-weight));line-height:var(--mdc-plain-tooltip-supporting-text-line-height, var(--mat-sys-body-small-line-height));letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking, var(--mat-sys-body-small-tracking))}.mat-mdc-tooltip-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:\\\"\\\";pointer-events:none}.mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:right}.mat-mdc-tooltip-panel{line-height:normal}.mat-mdc-tooltip-panel.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return TooltipComponent;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatTooltipModule = /*#__PURE__*/(() => {\n  class MatTooltipModule {\n    static ɵfac = function MatTooltipModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatTooltipModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: MatTooltipModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      providers: [MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER],\n      imports: [A11yModule, OverlayModule, MatCommonModule, MatCommonModule, CdkScrollableModule]\n    });\n  }\n  return MatTooltipModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { MAT_TOOLTIP_SCROLL_STRATEGY as M, SCROLL_THROTTLE_MS as S, TOOLTIP_PANEL_CLASS as T, MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY as a, MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER as b, MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY as c, MAT_TOOLTIP_DEFAULT_OPTIONS as d, MatTooltip as e, TooltipComponent as f, getMatTooltipInvalidPositionError as g, MatTooltipModule as h };\n","import { normalizePassiveListenerOptions, _getEventTarget, Platform } from '@angular/cdk/platform';\nimport * as i0 from '@angular/core';\nimport { Component, ChangeDetectionStrategy, ViewEncapsulation, InjectionToken, inject, ElementRef, ANIMATION_MODULE_TYPE, NgZone, Injector, Directive, Input } from '@angular/core';\nimport { isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader } from '@angular/cdk/a11y';\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { _CdkPrivateStyleLoader } from '@angular/cdk/private';\n\n/** Possible states for a ripple element. */\nvar RippleState = /*#__PURE__*/function (RippleState) {\n  RippleState[RippleState[\"FADING_IN\"] = 0] = \"FADING_IN\";\n  RippleState[RippleState[\"VISIBLE\"] = 1] = \"VISIBLE\";\n  RippleState[RippleState[\"FADING_OUT\"] = 2] = \"FADING_OUT\";\n  RippleState[RippleState[\"HIDDEN\"] = 3] = \"HIDDEN\";\n  return RippleState;\n}(RippleState || {});\n/**\n * Reference to a previously launched ripple element.\n */\nclass RippleRef {\n  _renderer;\n  element;\n  config;\n  _animationForciblyDisabledThroughCss;\n  /** Current state of the ripple. */\n  state = RippleState.HIDDEN;\n  constructor(_renderer, /** Reference to the ripple HTML element. */\n  element, /** Ripple configuration used for the ripple. */\n  config, /* Whether animations are forcibly disabled for ripples through CSS. */\n  _animationForciblyDisabledThroughCss = false) {\n    this._renderer = _renderer;\n    this.element = element;\n    this.config = config;\n    this._animationForciblyDisabledThroughCss = _animationForciblyDisabledThroughCss;\n  }\n  /** Fades out the ripple element. */\n  fadeOut() {\n    this._renderer.fadeOutRipple(this);\n  }\n}\n\n/** Options used to bind a passive capturing event. */\nconst passiveCapturingEventOptions$1 = /*#__PURE__*/normalizePassiveListenerOptions({\n  passive: true,\n  capture: true\n});\n/** Manages events through delegation so that as few event handlers as possible are bound. */\nclass RippleEventManager {\n  _events = /*#__PURE__*/new Map();\n  /** Adds an event handler. */\n  addHandler(ngZone, name, element, handler) {\n    const handlersForEvent = this._events.get(name);\n    if (handlersForEvent) {\n      const handlersForElement = handlersForEvent.get(element);\n      if (handlersForElement) {\n        handlersForElement.add(handler);\n      } else {\n        handlersForEvent.set(element, new Set([handler]));\n      }\n    } else {\n      this._events.set(name, new Map([[element, new Set([handler])]]));\n      ngZone.runOutsideAngular(() => {\n        document.addEventListener(name, this._delegateEventHandler, passiveCapturingEventOptions$1);\n      });\n    }\n  }\n  /** Removes an event handler. */\n  removeHandler(name, element, handler) {\n    const handlersForEvent = this._events.get(name);\n    if (!handlersForEvent) {\n      return;\n    }\n    const handlersForElement = handlersForEvent.get(element);\n    if (!handlersForElement) {\n      return;\n    }\n    handlersForElement.delete(handler);\n    if (handlersForElement.size === 0) {\n      handlersForEvent.delete(element);\n    }\n    if (handlersForEvent.size === 0) {\n      this._events.delete(name);\n      document.removeEventListener(name, this._delegateEventHandler, passiveCapturingEventOptions$1);\n    }\n  }\n  /** Event handler that is bound and which dispatches the events to the different targets. */\n  _delegateEventHandler = event => {\n    const target = _getEventTarget(event);\n    if (target) {\n      this._events.get(event.type)?.forEach((handlers, element) => {\n        if (element === target || element.contains(target)) {\n          handlers.forEach(handler => handler.handleEvent(event));\n        }\n      });\n    }\n  };\n}\n\n/**\n * Default ripple animation configuration for ripples without an explicit\n * animation config specified.\n */\nconst defaultRippleAnimationConfig = {\n  enterDuration: 225,\n  exitDuration: 150\n};\n/**\n * Timeout for ignoring mouse events. Mouse events will be temporary ignored after touch\n * events to avoid synthetic mouse events.\n */\nconst ignoreMouseEventsTimeout = 800;\n/** Options used to bind a passive capturing event. */\nconst passiveCapturingEventOptions = /*#__PURE__*/normalizePassiveListenerOptions({\n  passive: true,\n  capture: true\n});\n/** Events that signal that the pointer is down. */\nconst pointerDownEvents = ['mousedown', 'touchstart'];\n/** Events that signal that the pointer is up. */\nconst pointerUpEvents = ['mouseup', 'mouseleave', 'touchend', 'touchcancel'];\nlet _MatRippleStylesLoader = /*#__PURE__*/(() => {\n  class _MatRippleStylesLoader {\n    static ɵfac = function _MatRippleStylesLoader_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || _MatRippleStylesLoader)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: _MatRippleStylesLoader,\n      selectors: [[\"ng-component\"]],\n      hostAttrs: [\"mat-ripple-style-loader\", \"\"],\n      decls: 0,\n      vars: 0,\n      template: function _MatRippleStylesLoader_Template(rf, ctx) {},\n      styles: [\".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale3d(0, 0, 0);background-color:var(--mat-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface) 10%, transparent))}@media(forced-colors: active){.mat-ripple-element{display:none}}.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return _MatRippleStylesLoader;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Helper service that performs DOM manipulations. Not intended to be used outside this module.\n * The constructor takes a reference to the ripple directive's host element and a map of DOM\n * event handlers to be installed on the element that triggers ripple animations.\n * This will eventually become a custom renderer once Angular support exists.\n * @docs-private\n */\nclass RippleRenderer {\n  _target;\n  _ngZone;\n  _platform;\n  /** Element where the ripples are being added to. */\n  _containerElement;\n  /** Element which triggers the ripple elements on mouse events. */\n  _triggerElement;\n  /** Whether the pointer is currently down or not. */\n  _isPointerDown = false;\n  /**\n   * Map of currently active ripple references.\n   * The ripple reference is mapped to its element event listeners.\n   * The reason why `| null` is used is that event listeners are added only\n   * when the condition is truthy (see the `_startFadeOutTransition` method).\n   */\n  _activeRipples = /*#__PURE__*/new Map();\n  /** Latest non-persistent ripple that was triggered. */\n  _mostRecentTransientRipple;\n  /** Time in milliseconds when the last touchstart event happened. */\n  _lastTouchStartEvent;\n  /** Whether pointer-up event listeners have been registered. */\n  _pointerUpEventsRegistered = false;\n  /**\n   * Cached dimensions of the ripple container. Set when the first\n   * ripple is shown and cleared once no more ripples are visible.\n   */\n  _containerRect;\n  static _eventManager = /*#__PURE__*/new RippleEventManager();\n  constructor(_target, _ngZone, elementOrElementRef, _platform, injector) {\n    this._target = _target;\n    this._ngZone = _ngZone;\n    this._platform = _platform;\n    // Only do anything if we're on the browser.\n    if (_platform.isBrowser) {\n      this._containerElement = coerceElement(elementOrElementRef);\n    }\n    if (injector) {\n      injector.get(_CdkPrivateStyleLoader).load(_MatRippleStylesLoader);\n    }\n  }\n  /**\n   * Fades in a ripple at the given coordinates.\n   * @param x Coordinate within the element, along the X axis at which to start the ripple.\n   * @param y Coordinate within the element, along the Y axis at which to start the ripple.\n   * @param config Extra ripple options.\n   */\n  fadeInRipple(x, y, config = {}) {\n    const containerRect = this._containerRect = this._containerRect || this._containerElement.getBoundingClientRect();\n    const animationConfig = {\n      ...defaultRippleAnimationConfig,\n      ...config.animation\n    };\n    if (config.centered) {\n      x = containerRect.left + containerRect.width / 2;\n      y = containerRect.top + containerRect.height / 2;\n    }\n    const radius = config.radius || distanceToFurthestCorner(x, y, containerRect);\n    const offsetX = x - containerRect.left;\n    const offsetY = y - containerRect.top;\n    const enterDuration = animationConfig.enterDuration;\n    const ripple = document.createElement('div');\n    ripple.classList.add('mat-ripple-element');\n    ripple.style.left = `${offsetX - radius}px`;\n    ripple.style.top = `${offsetY - radius}px`;\n    ripple.style.height = `${radius * 2}px`;\n    ripple.style.width = `${radius * 2}px`;\n    // If a custom color has been specified, set it as inline style. If no color is\n    // set, the default color will be applied through the ripple theme styles.\n    if (config.color != null) {\n      ripple.style.backgroundColor = config.color;\n    }\n    ripple.style.transitionDuration = `${enterDuration}ms`;\n    this._containerElement.appendChild(ripple);\n    // By default the browser does not recalculate the styles of dynamically created\n    // ripple elements. This is critical to ensure that the `scale` animates properly.\n    // We enforce a style recalculation by calling `getComputedStyle` and *accessing* a property.\n    // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a\n    const computedStyles = window.getComputedStyle(ripple);\n    const userTransitionProperty = computedStyles.transitionProperty;\n    const userTransitionDuration = computedStyles.transitionDuration;\n    // Note: We detect whether animation is forcibly disabled through CSS (e.g. through\n    // `transition: none` or `display: none`). This is technically unexpected since animations are\n    // controlled through the animation config, but this exists for backwards compatibility. This\n    // logic does not need to be super accurate since it covers some edge cases which can be easily\n    // avoided by users.\n    const animationForciblyDisabledThroughCss = userTransitionProperty === 'none' ||\n    // Note: The canonical unit for serialized CSS `<time>` properties is seconds. Additionally\n    // some browsers expand the duration for every property (in our case `opacity` and `transform`).\n    userTransitionDuration === '0s' || userTransitionDuration === '0s, 0s' ||\n    // If the container is 0x0, it's likely `display: none`.\n    containerRect.width === 0 && containerRect.height === 0;\n    // Exposed reference to the ripple that will be returned.\n    const rippleRef = new RippleRef(this, ripple, config, animationForciblyDisabledThroughCss);\n    // Start the enter animation by setting the transform/scale to 100%. The animation will\n    // execute as part of this statement because we forced a style recalculation before.\n    // Note: We use a 3d transform here in order to avoid an issue in Safari where\n    // the ripples aren't clipped when inside the shadow DOM (see #24028).\n    ripple.style.transform = 'scale3d(1, 1, 1)';\n    rippleRef.state = RippleState.FADING_IN;\n    if (!config.persistent) {\n      this._mostRecentTransientRipple = rippleRef;\n    }\n    let eventListeners = null;\n    // Do not register the `transition` event listener if fade-in and fade-out duration\n    // are set to zero. The events won't fire anyway and we can save resources here.\n    if (!animationForciblyDisabledThroughCss && (enterDuration || animationConfig.exitDuration)) {\n      this._ngZone.runOutsideAngular(() => {\n        const onTransitionEnd = () => {\n          // Clear the fallback timer since the transition fired correctly.\n          if (eventListeners) {\n            eventListeners.fallbackTimer = null;\n          }\n          clearTimeout(fallbackTimer);\n          this._finishRippleTransition(rippleRef);\n        };\n        const onTransitionCancel = () => this._destroyRipple(rippleRef);\n        // In some cases where there's a higher load on the browser, it can choose not to dispatch\n        // neither `transitionend` nor `transitioncancel` (see b/227356674). This timer serves as a\n        // fallback for such cases so that the ripple doesn't become stuck. We add a 100ms buffer\n        // because timers aren't precise. Note that another approach can be to transition the ripple\n        // to the `VISIBLE` state immediately above and to `FADING_IN` afterwards inside\n        // `transitionstart`. We go with the timer because it's one less event listener and\n        // it's less likely to break existing tests.\n        const fallbackTimer = setTimeout(onTransitionCancel, enterDuration + 100);\n        ripple.addEventListener('transitionend', onTransitionEnd);\n        // If the transition is cancelled (e.g. due to DOM removal), we destroy the ripple\n        // directly as otherwise we would keep it part of the ripple container forever.\n        // https://www.w3.org/TR/css-transitions-1/#:~:text=no%20longer%20in%20the%20document.\n        ripple.addEventListener('transitioncancel', onTransitionCancel);\n        eventListeners = {\n          onTransitionEnd,\n          onTransitionCancel,\n          fallbackTimer\n        };\n      });\n    }\n    // Add the ripple reference to the list of all active ripples.\n    this._activeRipples.set(rippleRef, eventListeners);\n    // In case there is no fade-in transition duration, we need to manually call the transition\n    // end listener because `transitionend` doesn't fire if there is no transition.\n    if (animationForciblyDisabledThroughCss || !enterDuration) {\n      this._finishRippleTransition(rippleRef);\n    }\n    return rippleRef;\n  }\n  /** Fades out a ripple reference. */\n  fadeOutRipple(rippleRef) {\n    // For ripples already fading out or hidden, this should be a noop.\n    if (rippleRef.state === RippleState.FADING_OUT || rippleRef.state === RippleState.HIDDEN) {\n      return;\n    }\n    const rippleEl = rippleRef.element;\n    const animationConfig = {\n      ...defaultRippleAnimationConfig,\n      ...rippleRef.config.animation\n    };\n    // This starts the fade-out transition and will fire the transition end listener that\n    // removes the ripple element from the DOM.\n    rippleEl.style.transitionDuration = `${animationConfig.exitDuration}ms`;\n    rippleEl.style.opacity = '0';\n    rippleRef.state = RippleState.FADING_OUT;\n    // In case there is no fade-out transition duration, we need to manually call the\n    // transition end listener because `transitionend` doesn't fire if there is no transition.\n    if (rippleRef._animationForciblyDisabledThroughCss || !animationConfig.exitDuration) {\n      this._finishRippleTransition(rippleRef);\n    }\n  }\n  /** Fades out all currently active ripples. */\n  fadeOutAll() {\n    this._getActiveRipples().forEach(ripple => ripple.fadeOut());\n  }\n  /** Fades out all currently active non-persistent ripples. */\n  fadeOutAllNonPersistent() {\n    this._getActiveRipples().forEach(ripple => {\n      if (!ripple.config.persistent) {\n        ripple.fadeOut();\n      }\n    });\n  }\n  /** Sets up the trigger event listeners */\n  setupTriggerEvents(elementOrElementRef) {\n    const element = coerceElement(elementOrElementRef);\n    if (!this._platform.isBrowser || !element || element === this._triggerElement) {\n      return;\n    }\n    // Remove all previously registered event listeners from the trigger element.\n    this._removeTriggerEvents();\n    this._triggerElement = element;\n    // Use event delegation for the trigger events since they're\n    // set up during creation and are performance-sensitive.\n    pointerDownEvents.forEach(type => {\n      RippleRenderer._eventManager.addHandler(this._ngZone, type, element, this);\n    });\n  }\n  /**\n   * Handles all registered events.\n   * @docs-private\n   */\n  handleEvent(event) {\n    if (event.type === 'mousedown') {\n      this._onMousedown(event);\n    } else if (event.type === 'touchstart') {\n      this._onTouchStart(event);\n    } else {\n      this._onPointerUp();\n    }\n    // If pointer-up events haven't been registered yet, do so now.\n    // We do this on-demand in order to reduce the total number of event listeners\n    // registered by the ripples, which speeds up the rendering time for large UIs.\n    if (!this._pointerUpEventsRegistered) {\n      // The events for hiding the ripple are bound directly on the trigger, because:\n      // 1. Some of them occur frequently (e.g. `mouseleave`) and any advantage we get from\n      // delegation will be diminished by having to look through all the data structures often.\n      // 2. They aren't as performance-sensitive, because they're bound only after the user\n      // has interacted with an element.\n      this._ngZone.runOutsideAngular(() => {\n        pointerUpEvents.forEach(type => {\n          this._triggerElement.addEventListener(type, this, passiveCapturingEventOptions);\n        });\n      });\n      this._pointerUpEventsRegistered = true;\n    }\n  }\n  /** Method that will be called if the fade-in or fade-in transition completed. */\n  _finishRippleTransition(rippleRef) {\n    if (rippleRef.state === RippleState.FADING_IN) {\n      this._startFadeOutTransition(rippleRef);\n    } else if (rippleRef.state === RippleState.FADING_OUT) {\n      this._destroyRipple(rippleRef);\n    }\n  }\n  /**\n   * Starts the fade-out transition of the given ripple if it's not persistent and the pointer\n   * is not held down anymore.\n   */\n  _startFadeOutTransition(rippleRef) {\n    const isMostRecentTransientRipple = rippleRef === this._mostRecentTransientRipple;\n    const {\n      persistent\n    } = rippleRef.config;\n    rippleRef.state = RippleState.VISIBLE;\n    // When the timer runs out while the user has kept their pointer down, we want to\n    // keep only the persistent ripples and the latest transient ripple. We do this,\n    // because we don't want stacked transient ripples to appear after their enter\n    // animation has finished.\n    if (!persistent && (!isMostRecentTransientRipple || !this._isPointerDown)) {\n      rippleRef.fadeOut();\n    }\n  }\n  /** Destroys the given ripple by removing it from the DOM and updating its state. */\n  _destroyRipple(rippleRef) {\n    const eventListeners = this._activeRipples.get(rippleRef) ?? null;\n    this._activeRipples.delete(rippleRef);\n    // Clear out the cached bounding rect if we have no more ripples.\n    if (!this._activeRipples.size) {\n      this._containerRect = null;\n    }\n    // If the current ref is the most recent transient ripple, unset it\n    // avoid memory leaks.\n    if (rippleRef === this._mostRecentTransientRipple) {\n      this._mostRecentTransientRipple = null;\n    }\n    rippleRef.state = RippleState.HIDDEN;\n    if (eventListeners !== null) {\n      rippleRef.element.removeEventListener('transitionend', eventListeners.onTransitionEnd);\n      rippleRef.element.removeEventListener('transitioncancel', eventListeners.onTransitionCancel);\n      if (eventListeners.fallbackTimer !== null) {\n        clearTimeout(eventListeners.fallbackTimer);\n      }\n    }\n    rippleRef.element.remove();\n  }\n  /** Function being called whenever the trigger is being pressed using mouse. */\n  _onMousedown(event) {\n    // Screen readers will fire fake mouse events for space/enter. Skip launching a\n    // ripple in this case for consistency with the non-screen-reader experience.\n    const isFakeMousedown = isFakeMousedownFromScreenReader(event);\n    const isSyntheticEvent = this._lastTouchStartEvent && Date.now() < this._lastTouchStartEvent + ignoreMouseEventsTimeout;\n    if (!this._target.rippleDisabled && !isFakeMousedown && !isSyntheticEvent) {\n      this._isPointerDown = true;\n      this.fadeInRipple(event.clientX, event.clientY, this._target.rippleConfig);\n    }\n  }\n  /** Function being called whenever the trigger is being pressed using touch. */\n  _onTouchStart(event) {\n    if (!this._target.rippleDisabled && !isFakeTouchstartFromScreenReader(event)) {\n      // Some browsers fire mouse events after a `touchstart` event. Those synthetic mouse\n      // events will launch a second ripple if we don't ignore mouse events for a specific\n      // time after a touchstart event.\n      this._lastTouchStartEvent = Date.now();\n      this._isPointerDown = true;\n      // Use `changedTouches` so we skip any touches where the user put\n      // their finger down, but used another finger to tap the element again.\n      const touches = event.changedTouches;\n      // According to the typings the touches should always be defined, but in some cases\n      // the browser appears to not assign them in tests which leads to flakes.\n      if (touches) {\n        for (let i = 0; i < touches.length; i++) {\n          this.fadeInRipple(touches[i].clientX, touches[i].clientY, this._target.rippleConfig);\n        }\n      }\n    }\n  }\n  /** Function being called whenever the trigger is being released. */\n  _onPointerUp() {\n    if (!this._isPointerDown) {\n      return;\n    }\n    this._isPointerDown = false;\n    // Fade-out all ripples that are visible and not persistent.\n    this._getActiveRipples().forEach(ripple => {\n      // By default, only ripples that are completely visible will fade out on pointer release.\n      // If the `terminateOnPointerUp` option is set, ripples that still fade in will also fade out.\n      const isVisible = ripple.state === RippleState.VISIBLE || ripple.config.terminateOnPointerUp && ripple.state === RippleState.FADING_IN;\n      if (!ripple.config.persistent && isVisible) {\n        ripple.fadeOut();\n      }\n    });\n  }\n  _getActiveRipples() {\n    return Array.from(this._activeRipples.keys());\n  }\n  /** Removes previously registered event listeners from the trigger element. */\n  _removeTriggerEvents() {\n    const trigger = this._triggerElement;\n    if (trigger) {\n      pointerDownEvents.forEach(type => RippleRenderer._eventManager.removeHandler(type, trigger, this));\n      if (this._pointerUpEventsRegistered) {\n        pointerUpEvents.forEach(type => trigger.removeEventListener(type, this, passiveCapturingEventOptions));\n        this._pointerUpEventsRegistered = false;\n      }\n    }\n  }\n}\n/**\n * Returns the distance from the point (x, y) to the furthest corner of a rectangle.\n */\nfunction distanceToFurthestCorner(x, y, rect) {\n  const distX = Math.max(Math.abs(x - rect.left), Math.abs(x - rect.right));\n  const distY = Math.max(Math.abs(y - rect.top), Math.abs(y - rect.bottom));\n  return Math.sqrt(distX * distX + distY * distY);\n}\n\n/** Injection token that can be used to specify the global ripple options. */\nconst MAT_RIPPLE_GLOBAL_OPTIONS = /*#__PURE__*/new InjectionToken('mat-ripple-global-options');\nlet MatRipple = /*#__PURE__*/(() => {\n  class MatRipple {\n    _elementRef = inject(ElementRef);\n    _animationMode = inject(ANIMATION_MODULE_TYPE, {\n      optional: true\n    });\n    /** Custom color for all ripples. */\n    color;\n    /** Whether the ripples should be visible outside the component's bounds. */\n    unbounded;\n    /**\n     * Whether the ripple always originates from the center of the host element's bounds, rather\n     * than originating from the location of the click event.\n     */\n    centered;\n    /**\n     * If set, the radius in pixels of foreground ripples when fully expanded. If unset, the radius\n     * will be the distance from the center of the ripple to the furthest corner of the host element's\n     * bounding rectangle.\n     */\n    radius = 0;\n    /**\n     * Configuration for the ripple animation. Allows modifying the enter and exit animation\n     * duration of the ripples. The animation durations will be overwritten if the\n     * `NoopAnimationsModule` is being used.\n     */\n    animation;\n    /**\n     * Whether click events will not trigger the ripple. Ripples can be still launched manually\n     * by using the `launch()` method.\n     */\n    get disabled() {\n      return this._disabled;\n    }\n    set disabled(value) {\n      if (value) {\n        this.fadeOutAllNonPersistent();\n      }\n      this._disabled = value;\n      this._setupTriggerEventsIfEnabled();\n    }\n    _disabled = false;\n    /**\n     * The element that triggers the ripple when click events are received.\n     * Defaults to the directive's host element.\n     */\n    get trigger() {\n      return this._trigger || this._elementRef.nativeElement;\n    }\n    set trigger(trigger) {\n      this._trigger = trigger;\n      this._setupTriggerEventsIfEnabled();\n    }\n    _trigger;\n    /** Renderer for the ripple DOM manipulations. */\n    _rippleRenderer;\n    /** Options that are set globally for all ripples. */\n    _globalOptions;\n    /** @docs-private Whether ripple directive is initialized and the input bindings are set. */\n    _isInitialized = false;\n    constructor() {\n      const ngZone = inject(NgZone);\n      const platform = inject(Platform);\n      const globalOptions = inject(MAT_RIPPLE_GLOBAL_OPTIONS, {\n        optional: true\n      });\n      const injector = inject(Injector);\n      // Note: cannot use `inject()` here, because this class\n      // gets instantiated manually in the ripple loader.\n      this._globalOptions = globalOptions || {};\n      this._rippleRenderer = new RippleRenderer(this, ngZone, this._elementRef, platform, injector);\n    }\n    ngOnInit() {\n      this._isInitialized = true;\n      this._setupTriggerEventsIfEnabled();\n    }\n    ngOnDestroy() {\n      this._rippleRenderer._removeTriggerEvents();\n    }\n    /** Fades out all currently showing ripple elements. */\n    fadeOutAll() {\n      this._rippleRenderer.fadeOutAll();\n    }\n    /** Fades out all currently showing non-persistent ripple elements. */\n    fadeOutAllNonPersistent() {\n      this._rippleRenderer.fadeOutAllNonPersistent();\n    }\n    /**\n     * Ripple configuration from the directive's input values.\n     * @docs-private Implemented as part of RippleTarget\n     */\n    get rippleConfig() {\n      return {\n        centered: this.centered,\n        radius: this.radius,\n        color: this.color,\n        animation: {\n          ...this._globalOptions.animation,\n          ...(this._animationMode === 'NoopAnimations' ? {\n            enterDuration: 0,\n            exitDuration: 0\n          } : {}),\n          ...this.animation\n        },\n        terminateOnPointerUp: this._globalOptions.terminateOnPointerUp\n      };\n    }\n    /**\n     * Whether ripples on pointer-down are disabled or not.\n     * @docs-private Implemented as part of RippleTarget\n     */\n    get rippleDisabled() {\n      return this.disabled || !!this._globalOptions.disabled;\n    }\n    /** Sets up the trigger event listeners if ripples are enabled. */\n    _setupTriggerEventsIfEnabled() {\n      if (!this.disabled && this._isInitialized) {\n        this._rippleRenderer.setupTriggerEvents(this.trigger);\n      }\n    }\n    /** Launches a manual ripple at the specified coordinated or just by the ripple config. */\n    launch(configOrX, y = 0, config) {\n      if (typeof configOrX === 'number') {\n        return this._rippleRenderer.fadeInRipple(configOrX, y, {\n          ...this.rippleConfig,\n          ...config\n        });\n      } else {\n        return this._rippleRenderer.fadeInRipple(0, 0, {\n          ...this.rippleConfig,\n          ...configOrX\n        });\n      }\n    }\n    static ɵfac = function MatRipple_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatRipple)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatRipple,\n      selectors: [[\"\", \"mat-ripple\", \"\"], [\"\", \"matRipple\", \"\"]],\n      hostAttrs: [1, \"mat-ripple\"],\n      hostVars: 2,\n      hostBindings: function MatRipple_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mat-ripple-unbounded\", ctx.unbounded);\n        }\n      },\n      inputs: {\n        color: [0, \"matRippleColor\", \"color\"],\n        unbounded: [0, \"matRippleUnbounded\", \"unbounded\"],\n        centered: [0, \"matRippleCentered\", \"centered\"],\n        radius: [0, \"matRippleRadius\", \"radius\"],\n        animation: [0, \"matRippleAnimation\", \"animation\"],\n        disabled: [0, \"matRippleDisabled\", \"disabled\"],\n        trigger: [0, \"matRippleTrigger\", \"trigger\"]\n      },\n      exportAs: [\"matRipple\"]\n    });\n  }\n  return MatRipple;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { MatRipple as M, RippleRenderer as R, MAT_RIPPLE_GLOBAL_OPTIONS as a, RippleState as b, RippleRef as c, defaultRippleAnimationConfig as d };\n","import * as i0 from '@angular/core';\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * Component used to load structural styles for focus indicators.\n * @docs-private\n */\nlet _StructuralStylesLoader = /*#__PURE__*/(() => {\n  class _StructuralStylesLoader {\n    static ɵfac = function _StructuralStylesLoader_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || _StructuralStylesLoader)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: _StructuralStylesLoader,\n      selectors: [[\"structural-styles\"]],\n      decls: 0,\n      vars: 0,\n      template: function _StructuralStylesLoader_Template(rf, ctx) {},\n      styles: [\".mat-focus-indicator{position:relative}.mat-focus-indicator::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border-width:var(--mat-focus-indicator-border-width, 3px);border-style:var(--mat-focus-indicator-border-style, solid);border-color:var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus::before{content:\\\"\\\"}@media(forced-colors: active){html{--mat-focus-indicator-display: block}}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return _StructuralStylesLoader;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { _StructuralStylesLoader as _ };\n","import * as i0 from '@angular/core';\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, Input, NgModule } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { M as MatCommonModule } from './common-module-WayjW0Pb.mjs';\nimport '@angular/cdk/a11y';\nimport '@angular/cdk/bidi';\nlet MatDivider = /*#__PURE__*/(() => {\n  class MatDivider {\n    /** Whether the divider is vertically aligned. */\n    get vertical() {\n      return this._vertical;\n    }\n    set vertical(value) {\n      this._vertical = coerceBooleanProperty(value);\n    }\n    _vertical = false;\n    /** Whether the divider is an inset divider. */\n    get inset() {\n      return this._inset;\n    }\n    set inset(value) {\n      this._inset = coerceBooleanProperty(value);\n    }\n    _inset = false;\n    static ɵfac = function MatDivider_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatDivider)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatDivider,\n      selectors: [[\"mat-divider\"]],\n      hostAttrs: [\"role\", \"separator\", 1, \"mat-divider\"],\n      hostVars: 7,\n      hostBindings: function MatDivider_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"aria-orientation\", ctx.vertical ? \"vertical\" : \"horizontal\");\n          i0.ɵɵclassProp(\"mat-divider-vertical\", ctx.vertical)(\"mat-divider-horizontal\", !ctx.vertical)(\"mat-divider-inset\", ctx.inset);\n        }\n      },\n      inputs: {\n        vertical: \"vertical\",\n        inset: \"inset\"\n      },\n      decls: 0,\n      vars: 0,\n      template: function MatDivider_Template(rf, ctx) {},\n      styles: [\".mat-divider{display:block;margin:0;border-top-style:solid;border-top-color:var(--mat-divider-color, var(--mat-sys-outline));border-top-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-vertical{border-top:0;border-right-style:solid;border-right-color:var(--mat-divider-color, var(--mat-sys-outline));border-right-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatDivider;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatDividerModule = /*#__PURE__*/(() => {\n  class MatDividerModule {\n    static ɵfac = function MatDividerModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatDividerModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: MatDividerModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [MatCommonModule, MatCommonModule]\n    });\n  }\n  return MatDividerModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { MatDivider, MatDividerModule };\n","import * as i0 from '@angular/core';\nimport { Injectable } from '@angular/core';\n\n/**\n * Class to coordinate unique selection based on name.\n * Intended to be consumed as an Angular service.\n * This service is needed because native radio change events are only fired on the item currently\n * being selected, and we still need to uncheck the previous selection.\n *\n * This service does not *store* any IDs and names because they may change at any time, so it is\n * less error-prone if they are simply passed through when the events occur.\n */\nlet UniqueSelectionDispatcher = /*#__PURE__*/(() => {\n  class UniqueSelectionDispatcher {\n    _listeners = [];\n    /**\n     * Notify other items that selection for the given name has been set.\n     * @param id ID of the item.\n     * @param name Name of the item.\n     */\n    notify(id, name) {\n      for (let listener of this._listeners) {\n        listener(id, name);\n      }\n    }\n    /**\n     * Listen for future changes to item selection.\n     * @return Function used to deregister listener\n     */\n    listen(listener) {\n      this._listeners.push(listener);\n      return () => {\n        this._listeners = this._listeners.filter(registered => {\n          return listener !== registered;\n        });\n      };\n    }\n    ngOnDestroy() {\n      this._listeners = [];\n    }\n    static ɵfac = function UniqueSelectionDispatcher_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || UniqueSelectionDispatcher)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: UniqueSelectionDispatcher,\n      factory: UniqueSelectionDispatcher.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return UniqueSelectionDispatcher;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { UniqueSelectionDispatcher as U };\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Directive, forwardRef, Optional, Inject, ɵisPromise as _isPromise, ɵisSubscribable as _isSubscribable, ɵRuntimeError as _RuntimeError, Self, untracked, computed, signal, EventEmitter, Input, Host, SkipSelf, booleanAttribute, ChangeDetectorRef, Output, inject, Injectable, NgModule, Version } from '@angular/core';\nimport { ɵgetDOM as _getDOM } from '@angular/common';\nimport { from, forkJoin, Subject } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n/**\n * Base class for all ControlValueAccessor classes defined in Forms package.\n * Contains common logic and utility functions.\n *\n * Note: this is an *internal-only* class and should not be extended or used directly in\n * applications code.\n */\nlet BaseControlValueAccessor = /*#__PURE__*/(() => {\n  class BaseControlValueAccessor {\n    _renderer;\n    _elementRef;\n    /**\n     * The registered callback function called when a change or input event occurs on the input\n     * element.\n     * @docs-private\n     */\n    onChange = _ => {};\n    /**\n     * The registered callback function called when a blur event occurs on the input element.\n     * @docs-private\n     */\n    onTouched = () => {};\n    constructor(_renderer, _elementRef) {\n      this._renderer = _renderer;\n      this._elementRef = _elementRef;\n    }\n    /**\n     * Helper method that sets a property on a target element using the current Renderer\n     * implementation.\n     * @docs-private\n     */\n    setProperty(key, value) {\n      this._renderer.setProperty(this._elementRef.nativeElement, key, value);\n    }\n    /**\n     * Registers a function called when the control is touched.\n     * @docs-private\n     */\n    registerOnTouched(fn) {\n      this.onTouched = fn;\n    }\n    /**\n     * Registers a function called when the control value changes.\n     * @docs-private\n     */\n    registerOnChange(fn) {\n      this.onChange = fn;\n    }\n    /**\n     * Sets the \"disabled\" property on the range input element.\n     * @docs-private\n     */\n    setDisabledState(isDisabled) {\n      this.setProperty('disabled', isDisabled);\n    }\n    static ɵfac = function BaseControlValueAccessor_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || BaseControlValueAccessor)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: BaseControlValueAccessor\n    });\n  }\n  return BaseControlValueAccessor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Base class for all built-in ControlValueAccessor classes (except DefaultValueAccessor, which is\n * used in case no other CVAs can be found). We use this class to distinguish between default CVA,\n * built-in CVAs and custom CVAs, so that Forms logic can recognize built-in CVAs and treat custom\n * ones with higher priority (when both built-in and custom CVAs are present).\n *\n * Note: this is an *internal-only* class and should not be extended or used directly in\n * applications code.\n */\nlet BuiltInControlValueAccessor = /*#__PURE__*/(() => {\n  class BuiltInControlValueAccessor extends BaseControlValueAccessor {\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵBuiltInControlValueAccessor_BaseFactory;\n      return function BuiltInControlValueAccessor_Factory(__ngFactoryType__) {\n        return (ɵBuiltInControlValueAccessor_BaseFactory || (ɵBuiltInControlValueAccessor_BaseFactory = i0.ɵɵgetInheritedFactory(BuiltInControlValueAccessor)))(__ngFactoryType__ || BuiltInControlValueAccessor);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: BuiltInControlValueAccessor,\n      features: [i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return BuiltInControlValueAccessor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Used to provide a `ControlValueAccessor` for form controls.\n *\n * See `DefaultValueAccessor` for how to implement one.\n *\n * @publicApi\n */\nconst NG_VALUE_ACCESSOR = /*#__PURE__*/new InjectionToken(ngDevMode ? 'NgValueAccessor' : '');\nconst CHECKBOX_VALUE_ACCESSOR = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: /*#__PURE__*/forwardRef(() => CheckboxControlValueAccessor),\n  multi: true\n};\n/**\n * @description\n * A `ControlValueAccessor` for writing a value and listening to changes on a checkbox input\n * element.\n *\n * @usageNotes\n *\n * ### Using a checkbox with a reactive form.\n *\n * The following example shows how to use a checkbox with a reactive form.\n *\n * ```ts\n * const rememberLoginControl = new FormControl();\n * ```\n *\n * ```html\n * <input type=\"checkbox\" [formControl]=\"rememberLoginControl\">\n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet CheckboxControlValueAccessor = /*#__PURE__*/(() => {\n  class CheckboxControlValueAccessor extends BuiltInControlValueAccessor {\n    /**\n     * Sets the \"checked\" property on the input element.\n     * @docs-private\n     */\n    writeValue(value) {\n      this.setProperty('checked', value);\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵCheckboxControlValueAccessor_BaseFactory;\n      return function CheckboxControlValueAccessor_Factory(__ngFactoryType__) {\n        return (ɵCheckboxControlValueAccessor_BaseFactory || (ɵCheckboxControlValueAccessor_BaseFactory = i0.ɵɵgetInheritedFactory(CheckboxControlValueAccessor)))(__ngFactoryType__ || CheckboxControlValueAccessor);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CheckboxControlValueAccessor,\n      selectors: [[\"input\", \"type\", \"checkbox\", \"formControlName\", \"\"], [\"input\", \"type\", \"checkbox\", \"formControl\", \"\"], [\"input\", \"type\", \"checkbox\", \"ngModel\", \"\"]],\n      hostBindings: function CheckboxControlValueAccessor_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"change\", function CheckboxControlValueAccessor_change_HostBindingHandler($event) {\n            return ctx.onChange($event.target.checked);\n          })(\"blur\", function CheckboxControlValueAccessor_blur_HostBindingHandler() {\n            return ctx.onTouched();\n          });\n        }\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([CHECKBOX_VALUE_ACCESSOR]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return CheckboxControlValueAccessor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst DEFAULT_VALUE_ACCESSOR = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: /*#__PURE__*/forwardRef(() => DefaultValueAccessor),\n  multi: true\n};\n/**\n * We must check whether the agent is Android because composition events\n * behave differently between iOS and Android.\n */\nfunction _isAndroid() {\n  const userAgent = _getDOM() ? _getDOM().getUserAgent() : '';\n  return /android (\\d+)/.test(userAgent.toLowerCase());\n}\n/**\n * @description\n * Provide this token to control if form directives buffer IME input until\n * the \"compositionend\" event occurs.\n * @publicApi\n */\nconst COMPOSITION_BUFFER_MODE = /*#__PURE__*/new InjectionToken(ngDevMode ? 'CompositionEventMode' : '');\n/**\n * The default `ControlValueAccessor` for writing a value and listening to changes on input\n * elements. The accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n *\n * @usageNotes\n *\n * ### Using the default value accessor\n *\n * The following example shows how to use an input element that activates the default value accessor\n * (in this case, a text field).\n *\n * ```ts\n * const firstNameControl = new FormControl();\n * ```\n *\n * ```html\n * <input type=\"text\" [formControl]=\"firstNameControl\">\n * ```\n *\n * This value accessor is used by default for `<input type=\"text\">` and `<textarea>` elements, but\n * you could also use it for custom components that have similar behavior and do not require special\n * processing. In order to attach the default value accessor to a custom element, add the\n * `ngDefaultControl` attribute as shown below.\n *\n * ```html\n * <custom-input-component ngDefaultControl [(ngModel)]=\"value\"></custom-input-component>\n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet DefaultValueAccessor = /*#__PURE__*/(() => {\n  class DefaultValueAccessor extends BaseControlValueAccessor {\n    _compositionMode;\n    /** Whether the user is creating a composition string (IME events). */\n    _composing = false;\n    constructor(renderer, elementRef, _compositionMode) {\n      super(renderer, elementRef);\n      this._compositionMode = _compositionMode;\n      if (this._compositionMode == null) {\n        this._compositionMode = !_isAndroid();\n      }\n    }\n    /**\n     * Sets the \"value\" property on the input element.\n     * @docs-private\n     */\n    writeValue(value) {\n      const normalizedValue = value == null ? '' : value;\n      this.setProperty('value', normalizedValue);\n    }\n    /** @internal */\n    _handleInput(value) {\n      if (!this._compositionMode || this._compositionMode && !this._composing) {\n        this.onChange(value);\n      }\n    }\n    /** @internal */\n    _compositionStart() {\n      this._composing = true;\n    }\n    /** @internal */\n    _compositionEnd(value) {\n      this._composing = false;\n      this._compositionMode && this.onChange(value);\n    }\n    static ɵfac = function DefaultValueAccessor_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || DefaultValueAccessor)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(COMPOSITION_BUFFER_MODE, 8));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: DefaultValueAccessor,\n      selectors: [[\"input\", \"formControlName\", \"\", 3, \"type\", \"checkbox\"], [\"textarea\", \"formControlName\", \"\"], [\"input\", \"formControl\", \"\", 3, \"type\", \"checkbox\"], [\"textarea\", \"formControl\", \"\"], [\"input\", \"ngModel\", \"\", 3, \"type\", \"checkbox\"], [\"textarea\", \"ngModel\", \"\"], [\"\", \"ngDefaultControl\", \"\"]],\n      hostBindings: function DefaultValueAccessor_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"input\", function DefaultValueAccessor_input_HostBindingHandler($event) {\n            return ctx._handleInput($event.target.value);\n          })(\"blur\", function DefaultValueAccessor_blur_HostBindingHandler() {\n            return ctx.onTouched();\n          })(\"compositionstart\", function DefaultValueAccessor_compositionstart_HostBindingHandler() {\n            return ctx._compositionStart();\n          })(\"compositionend\", function DefaultValueAccessor_compositionend_HostBindingHandler($event) {\n            return ctx._compositionEnd($event.target.value);\n          });\n        }\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([DEFAULT_VALUE_ACCESSOR]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return DefaultValueAccessor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction isEmptyInputValue(value) {\n  return value == null || lengthOrSize(value) === 0;\n}\n/**\n * Extract the length property in case it's an array or a string.\n * Extract the size property in case it's a set.\n * Return null else.\n * @param value Either an array, set or undefined.\n */\nfunction lengthOrSize(value) {\n  // non-strict comparison is intentional, to check for both `null` and `undefined` values\n  if (value == null) {\n    return null;\n  } else if (Array.isArray(value) || typeof value === 'string') {\n    return value.length;\n  } else if (value instanceof Set) {\n    return value.size;\n  }\n  return null;\n}\n/**\n * @description\n * An `InjectionToken` for registering additional synchronous validators used with\n * `AbstractControl`s.\n *\n * @see {@link NG_ASYNC_VALIDATORS}\n *\n * @usageNotes\n *\n * ### Providing a custom validator\n *\n * The following example registers a custom validator directive. Adding the validator to the\n * existing collection of validators requires the `multi: true` option.\n *\n * ```ts\n * @Directive({\n *   selector: '[customValidator]',\n *   providers: [{provide: NG_VALIDATORS, useExisting: CustomValidatorDirective, multi: true}]\n * })\n * class CustomValidatorDirective implements Validator {\n *   validate(control: AbstractControl): ValidationErrors | null {\n *     return { 'custom': true };\n *   }\n * }\n * ```\n *\n * @publicApi\n */\nconst NG_VALIDATORS = /*#__PURE__*/new InjectionToken(ngDevMode ? 'NgValidators' : '');\n/**\n * @description\n * An `InjectionToken` for registering additional asynchronous validators used with\n * `AbstractControl`s.\n *\n * @see {@link NG_VALIDATORS}\n *\n * @usageNotes\n *\n * ### Provide a custom async validator directive\n *\n * The following example implements the `AsyncValidator` interface to create an\n * async validator directive with a custom error key.\n *\n * ```ts\n * @Directive({\n *   selector: '[customAsyncValidator]',\n *   providers: [{provide: NG_ASYNC_VALIDATORS, useExisting: CustomAsyncValidatorDirective, multi:\n * true}]\n * })\n * class CustomAsyncValidatorDirective implements AsyncValidator {\n *   validate(control: AbstractControl): Promise<ValidationErrors|null> {\n *     return Promise.resolve({'custom': true});\n *   }\n * }\n * ```\n *\n * @publicApi\n */\nconst NG_ASYNC_VALIDATORS = /*#__PURE__*/new InjectionToken(ngDevMode ? 'NgAsyncValidators' : '');\n/**\n * A regular expression that matches valid e-mail addresses.\n *\n * At a high level, this regexp matches e-mail addresses of the format `local-part@tld`, where:\n * - `local-part` consists of one or more of the allowed characters (alphanumeric and some\n *   punctuation symbols).\n * - `local-part` cannot begin or end with a period (`.`).\n * - `local-part` cannot be longer than 64 characters.\n * - `tld` consists of one or more `labels` separated by periods (`.`). For example `localhost` or\n *   `foo.com`.\n * - A `label` consists of one or more of the allowed characters (alphanumeric, dashes (`-`) and\n *   periods (`.`)).\n * - A `label` cannot begin or end with a dash (`-`) or a period (`.`).\n * - A `label` cannot be longer than 63 characters.\n * - The whole address cannot be longer than 254 characters.\n *\n * ## Implementation background\n *\n * This regexp was ported over from AngularJS (see there for git history):\n * https://github.com/angular/angular.js/blob/c133ef836/src/ng/directive/input.js#L27\n * It is based on the\n * [WHATWG version](https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address) with\n * some enhancements to incorporate more RFC rules (such as rules related to domain names and the\n * lengths of different parts of the address). The main differences from the WHATWG version are:\n *   - Disallow `local-part` to begin or end with a period (`.`).\n *   - Disallow `local-part` length to exceed 64 characters.\n *   - Disallow total address length to exceed 254 characters.\n *\n * See [this commit](https://github.com/angular/angular.js/commit/f3f5cf72e) for more details.\n */\nconst EMAIL_REGEXP = /^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n/**\n * @description\n * Provides a set of built-in validators that can be used by form controls.\n *\n * A validator is a function that processes a `FormControl` or collection of\n * controls and returns an error map or null. A null map means that validation has passed.\n *\n * @see [Form Validation](guide/forms/form-validation)\n *\n * @publicApi\n */\nclass Validators {\n  /**\n   * @description\n   * Validator that requires the control's value to be greater than or equal to the provided number.\n   *\n   * @usageNotes\n   *\n   * ### Validate against a minimum of 3\n   *\n   * ```ts\n   * const control = new FormControl(2, Validators.min(3));\n   *\n   * console.log(control.errors); // {min: {min: 3, actual: 2}}\n   * ```\n   *\n   * @returns A validator function that returns an error map with the\n   * `min` property if the validation check fails, otherwise `null`.\n   *\n   * @see {@link /api/forms/AbstractControl#updateValueAndValidity updateValueAndValidity}\n   *\n   */\n  static min(min) {\n    return minValidator(min);\n  }\n  /**\n   * @description\n   * Validator that requires the control's value to be less than or equal to the provided number.\n   *\n   * @usageNotes\n   *\n   * ### Validate against a maximum of 15\n   *\n   * ```ts\n   * const control = new FormControl(16, Validators.max(15));\n   *\n   * console.log(control.errors); // {max: {max: 15, actual: 16}}\n   * ```\n   *\n   * @returns A validator function that returns an error map with the\n   * `max` property if the validation check fails, otherwise `null`.\n   *\n   * @see {@link /api/forms/AbstractControl#updateValueAndValidity updateValueAndValidity}\n   *\n   */\n  static max(max) {\n    return maxValidator(max);\n  }\n  /**\n   * @description\n   * Validator that requires the control have a non-empty value.\n   *\n   * @usageNotes\n   *\n   * ### Validate that the field is non-empty\n   *\n   * ```ts\n   * const control = new FormControl('', Validators.required);\n   *\n   * console.log(control.errors); // {required: true}\n   * ```\n   *\n   * @returns An error map with the `required` property\n   * if the validation check fails, otherwise `null`.\n   *\n   * @see {@link /api/forms/AbstractControl#updateValueAndValidity updateValueAndValidity}\n   *\n   */\n  static required(control) {\n    return requiredValidator(control);\n  }\n  /**\n   * @description\n   * Validator that requires the control's value be true. This validator is commonly\n   * used for required checkboxes.\n   *\n   * @usageNotes\n   *\n   * ### Validate that the field value is true\n   *\n   * ```ts\n   * const control = new FormControl('some value', Validators.requiredTrue);\n   *\n   * console.log(control.errors); // {required: true}\n   * ```\n   *\n   * @returns An error map that contains the `required` property\n   * set to `true` if the validation check fails, otherwise `null`.\n   *\n   * @see {@link /api/forms/AbstractControl#updateValueAndValidity updateValueAndValidity}\n   *\n   */\n  static requiredTrue(control) {\n    return requiredTrueValidator(control);\n  }\n  /**\n   * @description\n   * Validator that requires the control's value pass an email validation test.\n   *\n   * Tests the value using a [regular\n   * expression](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)\n   * pattern suitable for common use cases. The pattern is based on the definition of a valid email\n   * address in the [WHATWG HTML\n   * specification](https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address) with\n   * some enhancements to incorporate more RFC rules (such as rules related to domain names and the\n   * lengths of different parts of the address).\n   *\n   * The differences from the WHATWG version include:\n   * - Disallow `local-part` (the part before the `@` symbol) to begin or end with a period (`.`).\n   * - Disallow `local-part` to be longer than 64 characters.\n   * - Disallow the whole address to be longer than 254 characters.\n   *\n   * If this pattern does not satisfy your business needs, you can use `Validators.pattern()` to\n   * validate the value against a different pattern.\n   *\n   * @usageNotes\n   *\n   * ### Validate that the field matches a valid email pattern\n   *\n   * ```ts\n   * const control = new FormControl('bad@', Validators.email);\n   *\n   * console.log(control.errors); // {email: true}\n   * ```\n   *\n   * @returns An error map with the `email` property\n   * if the validation check fails, otherwise `null`.\n   *\n   * @see {@link /api/forms/AbstractControl#updateValueAndValidity updateValueAndValidity}\n   *\n   */\n  static email(control) {\n    return emailValidator(control);\n  }\n  /**\n   * @description\n   * Validator that requires the number of items in the control's value to be greater than or equal\n   * to the provided minimum length. This validator is also provided by default if you use\n   * the HTML5 `minlength` attribute. Note that the `minLength` validator is intended to be used\n   * only for types that have a numeric `length` or `size` property, such as strings, arrays or\n   * sets. The `minLength` validator logic is also not invoked for values when their `length` or\n   * `size` property is 0 (for example in case of an empty string or an empty array), to support\n   * optional controls. You can use the standard `required` validator if empty values should not be\n   * considered valid.\n   *\n   * @usageNotes\n   *\n   * ### Validate that the field has a minimum of 3 characters\n   *\n   * ```ts\n   * const control = new FormControl('ng', Validators.minLength(3));\n   *\n   * console.log(control.errors); // {minlength: {requiredLength: 3, actualLength: 2}}\n   * ```\n   *\n   * ```html\n   * <input minlength=\"5\">\n   * ```\n   *\n   * @returns A validator function that returns an error map with the\n   * `minlength` property if the validation check fails, otherwise `null`.\n   *\n   * @see {@link /api/forms/AbstractControl#updateValueAndValidity updateValueAndValidity}\n   *\n   */\n  static minLength(minLength) {\n    return minLengthValidator(minLength);\n  }\n  /**\n   * @description\n   * Validator that requires the number of items in the control's value to be less than or equal\n   * to the provided maximum length. This validator is also provided by default if you use\n   * the HTML5 `maxlength` attribute. Note that the `maxLength` validator is intended to be used\n   * only for types that have a numeric `length` or `size` property, such as strings, arrays or\n   * sets.\n   *\n   * @usageNotes\n   *\n   * ### Validate that the field has maximum of 5 characters\n   *\n   * ```ts\n   * const control = new FormControl('Angular', Validators.maxLength(5));\n   *\n   * console.log(control.errors); // {maxlength: {requiredLength: 5, actualLength: 7}}\n   * ```\n   *\n   * ```html\n   * <input maxlength=\"5\">\n   * ```\n   *\n   * @returns A validator function that returns an error map with the\n   * `maxlength` property if the validation check fails, otherwise `null`.\n   *\n   * @see {@link /api/forms/AbstractControl#updateValueAndValidity updateValueAndValidity}\n   *\n   */\n  static maxLength(maxLength) {\n    return maxLengthValidator(maxLength);\n  }\n  /**\n   * @description\n   * Validator that requires the control's value to match a regex pattern. This validator is also\n   * provided by default if you use the HTML5 `pattern` attribute.\n   *\n   * @usageNotes\n   *\n   * ### Validate that the field only contains letters or spaces\n   *\n   * ```ts\n   * const control = new FormControl('1', Validators.pattern('[a-zA-Z ]*'));\n   *\n   * console.log(control.errors); // {pattern: {requiredPattern: '^[a-zA-Z ]*$', actualValue: '1'}}\n   * ```\n   *\n   * ```html\n   * <input pattern=\"[a-zA-Z ]*\">\n   * ```\n   *\n   * ### Pattern matching with the global or sticky flag\n   *\n   * `RegExp` objects created with the `g` or `y` flags that are passed into `Validators.pattern`\n   * can produce different results on the same input when validations are run consecutively. This is\n   * due to how the behavior of `RegExp.prototype.test` is\n   * specified in [ECMA-262](https://tc39.es/ecma262/#sec-regexpbuiltinexec)\n   * (`RegExp` preserves the index of the last match when the global or sticky flag is used).\n   * Due to this behavior, it is recommended that when using\n   * `Validators.pattern` you **do not** pass in a `RegExp` object with either the global or sticky\n   * flag enabled.\n   *\n   * ```ts\n   * // Not recommended (since the `g` flag is used)\n   * const controlOne = new FormControl('1', Validators.pattern(/foo/g));\n   *\n   * // Good\n   * const controlTwo = new FormControl('1', Validators.pattern(/foo/));\n   * ```\n   *\n   * @param pattern A regular expression to be used as is to test the values, or a string.\n   * If a string is passed, the `^` character is prepended and the `$` character is\n   * appended to the provided string (if not already present), and the resulting regular\n   * expression is used to test the values.\n   *\n   * @returns A validator function that returns an error map with the\n   * `pattern` property if the validation check fails, otherwise `null`.\n   *\n   * @see {@link /api/forms/AbstractControl#updateValueAndValidity updateValueAndValidity}\n   *\n   */\n  static pattern(pattern) {\n    return patternValidator(pattern);\n  }\n  /**\n   * @description\n   * Validator that performs no operation.\n   *\n   * @see {@link /api/forms/AbstractControl#updateValueAndValidity updateValueAndValidity}\n   *\n   */\n  static nullValidator(control) {\n    return nullValidator();\n  }\n  static compose(validators) {\n    return compose(validators);\n  }\n  /**\n   * @description\n   * Compose multiple async validators into a single function that returns the union\n   * of the individual error objects for the provided control.\n   *\n   * @returns A validator function that returns an error map with the\n   * merged error objects of the async validators if the validation check fails, otherwise `null`.\n   *\n   * @see {@link /api/forms/AbstractControl#updateValueAndValidity updateValueAndValidity}\n   *\n   */\n  static composeAsync(validators) {\n    return composeAsync(validators);\n  }\n}\n/**\n * Validator that requires the control's value to be greater than or equal to the provided number.\n * See `Validators.min` for additional information.\n */\nfunction minValidator(min) {\n  return control => {\n    if (control.value == null || min == null) {\n      return null; // don't validate empty values to allow optional controls\n    }\n    const value = parseFloat(control.value);\n    // Controls with NaN values after parsing should be treated as not having a\n    // minimum, per the HTML forms spec: https://www.w3.org/TR/html5/forms.html#attr-input-min\n    return !isNaN(value) && value < min ? {\n      'min': {\n        'min': min,\n        'actual': control.value\n      }\n    } : null;\n  };\n}\n/**\n * Validator that requires the control's value to be less than or equal to the provided number.\n * See `Validators.max` for additional information.\n */\nfunction maxValidator(max) {\n  return control => {\n    if (control.value == null || max == null) {\n      return null; // don't validate empty values to allow optional controls\n    }\n    const value = parseFloat(control.value);\n    // Controls with NaN values after parsing should be treated as not having a\n    // maximum, per the HTML forms spec: https://www.w3.org/TR/html5/forms.html#attr-input-max\n    return !isNaN(value) && value > max ? {\n      'max': {\n        'max': max,\n        'actual': control.value\n      }\n    } : null;\n  };\n}\n/**\n * Validator that requires the control have a non-empty value.\n * See `Validators.required` for additional information.\n */\nfunction requiredValidator(control) {\n  return isEmptyInputValue(control.value) ? {\n    'required': true\n  } : null;\n}\n/**\n * Validator that requires the control's value be true. This validator is commonly\n * used for required checkboxes.\n * See `Validators.requiredTrue` for additional information.\n */\nfunction requiredTrueValidator(control) {\n  return control.value === true ? null : {\n    'required': true\n  };\n}\n/**\n * Validator that requires the control's value pass an email validation test.\n * See `Validators.email` for additional information.\n */\nfunction emailValidator(control) {\n  if (isEmptyInputValue(control.value)) {\n    return null; // don't validate empty values to allow optional controls\n  }\n  return EMAIL_REGEXP.test(control.value) ? null : {\n    'email': true\n  };\n}\n/**\n * Validator that requires the number of items in the control's value to be greater than or equal\n * to the provided minimum length. See `Validators.minLength` for additional information.\n *\n * The minLengthValidator respects every length property in an object, regardless of whether it's an array.\n * For example, the object {id: 1, length: 0, width: 0} should be validated.\n */\nfunction minLengthValidator(minLength) {\n  return control => {\n    const length = control.value?.length ?? lengthOrSize(control.value);\n    if (length === null || length === 0) {\n      // don't validate empty values to allow optional controls\n      // don't validate values without `length` or `size` property\n      return null;\n    }\n    return length < minLength ? {\n      'minlength': {\n        'requiredLength': minLength,\n        'actualLength': length\n      }\n    } : null;\n  };\n}\n/**\n * Validator that requires the number of items in the control's value to be less than or equal\n * to the provided maximum length. See `Validators.maxLength` for additional information.\n *\n * The maxLengthValidator respects every length property in an object, regardless of whether it's an array.\n * For example, the object {id: 1, length: 0, width: 0} should be validated.\n */\nfunction maxLengthValidator(maxLength) {\n  return control => {\n    const length = control.value?.length ?? lengthOrSize(control.value);\n    if (length !== null && length > maxLength) {\n      return {\n        'maxlength': {\n          'requiredLength': maxLength,\n          'actualLength': length\n        }\n      };\n    }\n    return null;\n  };\n}\n/**\n * Validator that requires the control's value to match a regex pattern.\n * See `Validators.pattern` for additional information.\n */\nfunction patternValidator(pattern) {\n  if (!pattern) return nullValidator;\n  let regex;\n  let regexStr;\n  if (typeof pattern === 'string') {\n    regexStr = '';\n    if (pattern.charAt(0) !== '^') regexStr += '^';\n    regexStr += pattern;\n    if (pattern.charAt(pattern.length - 1) !== '$') regexStr += '$';\n    regex = new RegExp(regexStr);\n  } else {\n    regexStr = pattern.toString();\n    regex = pattern;\n  }\n  return control => {\n    if (isEmptyInputValue(control.value)) {\n      return null; // don't validate empty values to allow optional controls\n    }\n    const value = control.value;\n    return regex.test(value) ? null : {\n      'pattern': {\n        'requiredPattern': regexStr,\n        'actualValue': value\n      }\n    };\n  };\n}\n/**\n * Function that has `ValidatorFn` shape, but performs no operation.\n */\nfunction nullValidator(control) {\n  return null;\n}\nfunction isPresent(o) {\n  return o != null;\n}\nfunction toObservable(value) {\n  const obs = _isPromise(value) ? from(value) : value;\n  if ((typeof ngDevMode === 'undefined' || ngDevMode) && !_isSubscribable(obs)) {\n    let errorMessage = `Expected async validator to return Promise or Observable.`;\n    // A synchronous validator will return object or null.\n    if (typeof value === 'object') {\n      errorMessage += ' Are you using a synchronous validator where an async validator is expected?';\n    }\n    throw new _RuntimeError(-1101 /* RuntimeErrorCode.WRONG_VALIDATOR_RETURN_TYPE */, errorMessage);\n  }\n  return obs;\n}\nfunction mergeErrors(arrayOfErrors) {\n  let res = {};\n  arrayOfErrors.forEach(errors => {\n    res = errors != null ? {\n      ...res,\n      ...errors\n    } : res;\n  });\n  return Object.keys(res).length === 0 ? null : res;\n}\nfunction executeValidators(control, validators) {\n  return validators.map(validator => validator(control));\n}\nfunction isValidatorFn(validator) {\n  return !validator.validate;\n}\n/**\n * Given the list of validators that may contain both functions as well as classes, return the list\n * of validator functions (convert validator classes into validator functions). This is needed to\n * have consistent structure in validators list before composing them.\n *\n * @param validators The set of validators that may contain validators both in plain function form\n *     as well as represented as a validator class.\n */\nfunction normalizeValidators(validators) {\n  return validators.map(validator => {\n    return isValidatorFn(validator) ? validator : c => validator.validate(c);\n  });\n}\n/**\n * Merges synchronous validators into a single validator function.\n * See `Validators.compose` for additional information.\n */\nfunction compose(validators) {\n  if (!validators) return null;\n  const presentValidators = validators.filter(isPresent);\n  if (presentValidators.length == 0) return null;\n  return function (control) {\n    return mergeErrors(executeValidators(control, presentValidators));\n  };\n}\n/**\n * Accepts a list of validators of different possible shapes (`Validator` and `ValidatorFn`),\n * normalizes the list (converts everything to `ValidatorFn`) and merges them into a single\n * validator function.\n */\nfunction composeValidators(validators) {\n  return validators != null ? compose(normalizeValidators(validators)) : null;\n}\n/**\n * Merges asynchronous validators into a single validator function.\n * See `Validators.composeAsync` for additional information.\n */\nfunction composeAsync(validators) {\n  if (!validators) return null;\n  const presentValidators = validators.filter(isPresent);\n  if (presentValidators.length == 0) return null;\n  return function (control) {\n    const observables = executeValidators(control, presentValidators).map(toObservable);\n    return forkJoin(observables).pipe(map(mergeErrors));\n  };\n}\n/**\n * Accepts a list of async validators of different possible shapes (`AsyncValidator` and\n * `AsyncValidatorFn`), normalizes the list (converts everything to `AsyncValidatorFn`) and merges\n * them into a single validator function.\n */\nfunction composeAsyncValidators(validators) {\n  return validators != null ? composeAsync(normalizeValidators(validators)) : null;\n}\n/**\n * Merges raw control validators with a given directive validator and returns the combined list of\n * validators as an array.\n */\nfunction mergeValidators(controlValidators, dirValidator) {\n  if (controlValidators === null) return [dirValidator];\n  return Array.isArray(controlValidators) ? [...controlValidators, dirValidator] : [controlValidators, dirValidator];\n}\n/**\n * Retrieves the list of raw synchronous validators attached to a given control.\n */\nfunction getControlValidators(control) {\n  return control._rawValidators;\n}\n/**\n * Retrieves the list of raw asynchronous validators attached to a given control.\n */\nfunction getControlAsyncValidators(control) {\n  return control._rawAsyncValidators;\n}\n/**\n * Accepts a singleton validator, an array, or null, and returns an array type with the provided\n * validators.\n *\n * @param validators A validator, validators, or null.\n * @returns A validators array.\n */\nfunction makeValidatorsArray(validators) {\n  if (!validators) return [];\n  return Array.isArray(validators) ? validators : [validators];\n}\n/**\n * Determines whether a validator or validators array has a given validator.\n *\n * @param validators The validator or validators to compare against.\n * @param validator The validator to check.\n * @returns Whether the validator is present.\n */\nfunction hasValidator(validators, validator) {\n  return Array.isArray(validators) ? validators.includes(validator) : validators === validator;\n}\n/**\n * Combines two arrays of validators into one. If duplicates are provided, only one will be added.\n *\n * @param validators The new validators.\n * @param currentValidators The base array of current validators.\n * @returns An array of validators.\n */\nfunction addValidators(validators, currentValidators) {\n  const current = makeValidatorsArray(currentValidators);\n  const validatorsToAdd = makeValidatorsArray(validators);\n  validatorsToAdd.forEach(v => {\n    // Note: if there are duplicate entries in the new validators array,\n    // only the first one would be added to the current list of validators.\n    // Duplicate ones would be ignored since `hasValidator` would detect\n    // the presence of a validator function and we update the current list in place.\n    if (!hasValidator(current, v)) {\n      current.push(v);\n    }\n  });\n  return current;\n}\nfunction removeValidators(validators, currentValidators) {\n  return makeValidatorsArray(currentValidators).filter(v => !hasValidator(validators, v));\n}\n\n/**\n * @description\n * Base class for control directives.\n *\n * This class is only used internally in the `ReactiveFormsModule` and the `FormsModule`.\n *\n * @publicApi\n */\nclass AbstractControlDirective {\n  /**\n   * @description\n   * Reports the value of the control if it is present, otherwise null.\n   */\n  get value() {\n    return this.control ? this.control.value : null;\n  }\n  /**\n   * @description\n   * Reports whether the control is valid. A control is considered valid if no\n   * validation errors exist with the current value.\n   * If the control is not present, null is returned.\n   */\n  get valid() {\n    return this.control ? this.control.valid : null;\n  }\n  /**\n   * @description\n   * Reports whether the control is invalid, meaning that an error exists in the input value.\n   * If the control is not present, null is returned.\n   */\n  get invalid() {\n    return this.control ? this.control.invalid : null;\n  }\n  /**\n   * @description\n   * Reports whether a control is pending, meaning that async validation is occurring and\n   * errors are not yet available for the input value. If the control is not present, null is\n   * returned.\n   */\n  get pending() {\n    return this.control ? this.control.pending : null;\n  }\n  /**\n   * @description\n   * Reports whether the control is disabled, meaning that the control is disabled\n   * in the UI and is exempt from validation checks and excluded from aggregate\n   * values of ancestor controls. If the control is not present, null is returned.\n   */\n  get disabled() {\n    return this.control ? this.control.disabled : null;\n  }\n  /**\n   * @description\n   * Reports whether the control is enabled, meaning that the control is included in ancestor\n   * calculations of validity or value. If the control is not present, null is returned.\n   */\n  get enabled() {\n    return this.control ? this.control.enabled : null;\n  }\n  /**\n   * @description\n   * Reports the control's validation errors. If the control is not present, null is returned.\n   */\n  get errors() {\n    return this.control ? this.control.errors : null;\n  }\n  /**\n   * @description\n   * Reports whether the control is pristine, meaning that the user has not yet changed\n   * the value in the UI. If the control is not present, null is returned.\n   */\n  get pristine() {\n    return this.control ? this.control.pristine : null;\n  }\n  /**\n   * @description\n   * Reports whether the control is dirty, meaning that the user has changed\n   * the value in the UI. If the control is not present, null is returned.\n   */\n  get dirty() {\n    return this.control ? this.control.dirty : null;\n  }\n  /**\n   * @description\n   * Reports whether the control is touched, meaning that the user has triggered\n   * a `blur` event on it. If the control is not present, null is returned.\n   */\n  get touched() {\n    return this.control ? this.control.touched : null;\n  }\n  /**\n   * @description\n   * Reports the validation status of the control. Possible values include:\n   * 'VALID', 'INVALID', 'DISABLED', and 'PENDING'.\n   * If the control is not present, null is returned.\n   */\n  get status() {\n    return this.control ? this.control.status : null;\n  }\n  /**\n   * @description\n   * Reports whether the control is untouched, meaning that the user has not yet triggered\n   * a `blur` event on it. If the control is not present, null is returned.\n   */\n  get untouched() {\n    return this.control ? this.control.untouched : null;\n  }\n  /**\n   * @description\n   * Returns a multicasting observable that emits a validation status whenever it is\n   * calculated for the control. If the control is not present, null is returned.\n   */\n  get statusChanges() {\n    return this.control ? this.control.statusChanges : null;\n  }\n  /**\n   * @description\n   * Returns a multicasting observable of value changes for the control that emits every time the\n   * value of the control changes in the UI or programmatically.\n   * If the control is not present, null is returned.\n   */\n  get valueChanges() {\n    return this.control ? this.control.valueChanges : null;\n  }\n  /**\n   * @description\n   * Returns an array that represents the path from the top-level form to this control.\n   * Each index is the string name of the control on that level.\n   */\n  get path() {\n    return null;\n  }\n  /**\n   * Contains the result of merging synchronous validators into a single validator function\n   * (combined using `Validators.compose`).\n   */\n  _composedValidatorFn;\n  /**\n   * Contains the result of merging asynchronous validators into a single validator function\n   * (combined using `Validators.composeAsync`).\n   */\n  _composedAsyncValidatorFn;\n  /**\n   * Set of synchronous validators as they were provided while calling `setValidators` function.\n   * @internal\n   */\n  _rawValidators = [];\n  /**\n   * Set of asynchronous validators as they were provided while calling `setAsyncValidators`\n   * function.\n   * @internal\n   */\n  _rawAsyncValidators = [];\n  /**\n   * Sets synchronous validators for this directive.\n   * @internal\n   */\n  _setValidators(validators) {\n    this._rawValidators = validators || [];\n    this._composedValidatorFn = composeValidators(this._rawValidators);\n  }\n  /**\n   * Sets asynchronous validators for this directive.\n   * @internal\n   */\n  _setAsyncValidators(validators) {\n    this._rawAsyncValidators = validators || [];\n    this._composedAsyncValidatorFn = composeAsyncValidators(this._rawAsyncValidators);\n  }\n  /**\n   * @description\n   * Synchronous validator function composed of all the synchronous validators registered with this\n   * directive.\n   */\n  get validator() {\n    return this._composedValidatorFn || null;\n  }\n  /**\n   * @description\n   * Asynchronous validator function composed of all the asynchronous validators registered with\n   * this directive.\n   */\n  get asyncValidator() {\n    return this._composedAsyncValidatorFn || null;\n  }\n  /*\n   * The set of callbacks to be invoked when directive instance is being destroyed.\n   */\n  _onDestroyCallbacks = [];\n  /**\n   * Internal function to register callbacks that should be invoked\n   * when directive instance is being destroyed.\n   * @internal\n   */\n  _registerOnDestroy(fn) {\n    this._onDestroyCallbacks.push(fn);\n  }\n  /**\n   * Internal function to invoke all registered \"on destroy\" callbacks.\n   * Note: calling this function also clears the list of callbacks.\n   * @internal\n   */\n  _invokeOnDestroyCallbacks() {\n    this._onDestroyCallbacks.forEach(fn => fn());\n    this._onDestroyCallbacks = [];\n  }\n  /**\n   * @description\n   * Resets the control with the provided value if the control is present.\n   */\n  reset(value = undefined) {\n    if (this.control) this.control.reset(value);\n  }\n  /**\n   * @description\n   * Reports whether the control with the given path has the error specified.\n   *\n   * @param errorCode The code of the error to check\n   * @param path A list of control names that designates how to move from the current control\n   * to the control that should be queried for errors.\n   *\n   * @usageNotes\n   * For example, for the following `FormGroup`:\n   *\n   * ```ts\n   * form = new FormGroup({\n   *   address: new FormGroup({ street: new FormControl() })\n   * });\n   * ```\n   *\n   * The path to the 'street' control from the root form would be 'address' -> 'street'.\n   *\n   * It can be provided to this method in one of two formats:\n   *\n   * 1. An array of string control names, e.g. `['address', 'street']`\n   * 1. A period-delimited list of control names in one string, e.g. `'address.street'`\n   *\n   * If no path is given, this method checks for the error on the current control.\n   *\n   * @returns whether the given error is present in the control at the given path.\n   *\n   * If the control is not present, false is returned.\n   */\n  hasError(errorCode, path) {\n    return this.control ? this.control.hasError(errorCode, path) : false;\n  }\n  /**\n   * @description\n   * Reports error data for the control with the given path.\n   *\n   * @param errorCode The code of the error to check\n   * @param path A list of control names that designates how to move from the current control\n   * to the control that should be queried for errors.\n   *\n   * @usageNotes\n   * For example, for the following `FormGroup`:\n   *\n   * ```ts\n   * form = new FormGroup({\n   *   address: new FormGroup({ street: new FormControl() })\n   * });\n   * ```\n   *\n   * The path to the 'street' control from the root form would be 'address' -> 'street'.\n   *\n   * It can be provided to this method in one of two formats:\n   *\n   * 1. An array of string control names, e.g. `['address', 'street']`\n   * 1. A period-delimited list of control names in one string, e.g. `'address.street'`\n   *\n   * @returns error data for that particular error. If the control or error is not present,\n   * null is returned.\n   */\n  getError(errorCode, path) {\n    return this.control ? this.control.getError(errorCode, path) : null;\n  }\n}\n\n/**\n * @description\n * A base class for directives that contain multiple registered instances of `NgControl`.\n * Only used by the forms module.\n *\n * @publicApi\n */\nclass ControlContainer extends AbstractControlDirective {\n  /**\n   * @description\n   * The name for the control\n   */\n  name;\n  /**\n   * @description\n   * The top-level form directive for the control.\n   */\n  get formDirective() {\n    return null;\n  }\n  /**\n   * @description\n   * The path to this group.\n   */\n  get path() {\n    return null;\n  }\n}\n\n/**\n * @description\n * A base class that all `FormControl`-based directives extend. It binds a `FormControl`\n * object to a DOM element.\n *\n * @publicApi\n */\nclass NgControl extends AbstractControlDirective {\n  /**\n   * @description\n   * The parent form for the control.\n   *\n   * @internal\n   */\n  _parent = null;\n  /**\n   * @description\n   * The name for the control\n   */\n  name = null;\n  /**\n   * @description\n   * The value accessor for the control\n   */\n  valueAccessor = null;\n}\n\n// DO NOT REFACTOR!\n// Each status is represented by a separate function to make sure that\n// advanced Closure Compiler optimizations related to property renaming\n// can work correctly.\nclass AbstractControlStatus {\n  _cd;\n  constructor(cd) {\n    this._cd = cd;\n  }\n  get isTouched() {\n    // track the touched signal\n    this._cd?.control?._touched?.();\n    return !!this._cd?.control?.touched;\n  }\n  get isUntouched() {\n    return !!this._cd?.control?.untouched;\n  }\n  get isPristine() {\n    // track the pristine signal\n    this._cd?.control?._pristine?.();\n    return !!this._cd?.control?.pristine;\n  }\n  get isDirty() {\n    // pristine signal already tracked above\n    return !!this._cd?.control?.dirty;\n  }\n  get isValid() {\n    // track the status signal\n    this._cd?.control?._status?.();\n    return !!this._cd?.control?.valid;\n  }\n  get isInvalid() {\n    // status signal already tracked above\n    return !!this._cd?.control?.invalid;\n  }\n  get isPending() {\n    // status signal already tracked above\n    return !!this._cd?.control?.pending;\n  }\n  get isSubmitted() {\n    // track the submitted signal\n    this._cd?._submitted?.();\n    // We check for the `submitted` field from `NgForm` and `FormGroupDirective` classes, but\n    // we avoid instanceof checks to prevent non-tree-shakable references to those types.\n    return !!this._cd?.submitted;\n  }\n}\nconst ngControlStatusHost = {\n  '[class.ng-untouched]': 'isUntouched',\n  '[class.ng-touched]': 'isTouched',\n  '[class.ng-pristine]': 'isPristine',\n  '[class.ng-dirty]': 'isDirty',\n  '[class.ng-valid]': 'isValid',\n  '[class.ng-invalid]': 'isInvalid',\n  '[class.ng-pending]': 'isPending'\n};\nconst ngGroupStatusHost = {\n  ...ngControlStatusHost,\n  '[class.ng-submitted]': 'isSubmitted'\n};\n/**\n * @description\n * Directive automatically applied to Angular form controls that sets CSS classes\n * based on control status.\n *\n * @usageNotes\n *\n * ### CSS classes applied\n *\n * The following classes are applied as the properties become true:\n *\n * * ng-valid\n * * ng-invalid\n * * ng-pending\n * * ng-pristine\n * * ng-dirty\n * * ng-untouched\n * * ng-touched\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet NgControlStatus = /*#__PURE__*/(() => {\n  class NgControlStatus extends AbstractControlStatus {\n    constructor(cd) {\n      super(cd);\n    }\n    static ɵfac = function NgControlStatus_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgControlStatus)(i0.ɵɵdirectiveInject(NgControl, 2));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgControlStatus,\n      selectors: [[\"\", \"formControlName\", \"\"], [\"\", \"ngModel\", \"\"], [\"\", \"formControl\", \"\"]],\n      hostVars: 14,\n      hostBindings: function NgControlStatus_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"ng-untouched\", ctx.isUntouched)(\"ng-touched\", ctx.isTouched)(\"ng-pristine\", ctx.isPristine)(\"ng-dirty\", ctx.isDirty)(\"ng-valid\", ctx.isValid)(\"ng-invalid\", ctx.isInvalid)(\"ng-pending\", ctx.isPending);\n        }\n      },\n      standalone: false,\n      features: [i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return NgControlStatus;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n * Directive automatically applied to Angular form groups that sets CSS classes\n * based on control status (valid/invalid/dirty/etc). On groups, this includes the additional\n * class ng-submitted.\n *\n * @see {@link NgControlStatus}\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet NgControlStatusGroup = /*#__PURE__*/(() => {\n  class NgControlStatusGroup extends AbstractControlStatus {\n    constructor(cd) {\n      super(cd);\n    }\n    static ɵfac = function NgControlStatusGroup_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgControlStatusGroup)(i0.ɵɵdirectiveInject(ControlContainer, 10));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgControlStatusGroup,\n      selectors: [[\"\", \"formGroupName\", \"\"], [\"\", \"formArrayName\", \"\"], [\"\", \"ngModelGroup\", \"\"], [\"\", \"formGroup\", \"\"], [\"form\", 3, \"ngNoForm\", \"\"], [\"\", \"ngForm\", \"\"]],\n      hostVars: 16,\n      hostBindings: function NgControlStatusGroup_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"ng-untouched\", ctx.isUntouched)(\"ng-touched\", ctx.isTouched)(\"ng-pristine\", ctx.isPristine)(\"ng-dirty\", ctx.isDirty)(\"ng-valid\", ctx.isValid)(\"ng-invalid\", ctx.isInvalid)(\"ng-pending\", ctx.isPending)(\"ng-submitted\", ctx.isSubmitted);\n        }\n      },\n      standalone: false,\n      features: [i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return NgControlStatusGroup;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst formControlNameExample = `\n  <div [formGroup]=\"myGroup\">\n    <input formControlName=\"firstName\">\n  </div>\n\n  In your class:\n\n  this.myGroup = new FormGroup({\n      firstName: new FormControl()\n  });`;\nconst formGroupNameExample = `\n  <div [formGroup]=\"myGroup\">\n      <div formGroupName=\"person\">\n        <input formControlName=\"firstName\">\n      </div>\n  </div>\n\n  In your class:\n\n  this.myGroup = new FormGroup({\n      person: new FormGroup({ firstName: new FormControl() })\n  });`;\nconst formArrayNameExample = `\n  <div [formGroup]=\"myGroup\">\n    <div formArrayName=\"cities\">\n      <div *ngFor=\"let city of cityArray.controls; index as i\">\n        <input [formControlName]=\"i\">\n      </div>\n    </div>\n  </div>\n\n  In your class:\n\n  this.cityArray = new FormArray([new FormControl('SF')]);\n  this.myGroup = new FormGroup({\n    cities: this.cityArray\n  });`;\nconst ngModelGroupExample = `\n  <form>\n      <div ngModelGroup=\"person\">\n        <input [(ngModel)]=\"person.name\" name=\"firstName\">\n      </div>\n  </form>`;\nconst ngModelWithFormGroupExample = `\n  <div [formGroup]=\"myGroup\">\n      <input formControlName=\"firstName\">\n      <input [(ngModel)]=\"showMoreControls\" [ngModelOptions]=\"{standalone: true}\">\n  </div>\n`;\nfunction controlParentException(nameOrIndex) {\n  return new _RuntimeError(1050 /* RuntimeErrorCode.FORM_CONTROL_NAME_MISSING_PARENT */, `formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n      directive and pass it an existing FormGroup instance (you can create one in your class).\n\n      ${describeFormControl(nameOrIndex)}\n\n    Example:\n\n    ${formControlNameExample}`);\n}\nfunction describeFormControl(nameOrIndex) {\n  if (nameOrIndex == null || nameOrIndex === '') {\n    return '';\n  }\n  const valueType = typeof nameOrIndex === 'string' ? 'name' : 'index';\n  return `Affected Form Control ${valueType}: \"${nameOrIndex}\"`;\n}\nfunction ngModelGroupException() {\n  return new _RuntimeError(1051 /* RuntimeErrorCode.FORM_CONTROL_NAME_INSIDE_MODEL_GROUP */, `formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n      that also have a \"form\" prefix: formGroupName, formArrayName, or formGroup.\n\n      Option 1:  Update the parent to be formGroupName (reactive form strategy)\n\n      ${formGroupNameExample}\n\n      Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n      ${ngModelGroupExample}`);\n}\nfunction missingFormException() {\n  return new _RuntimeError(1052 /* RuntimeErrorCode.FORM_GROUP_MISSING_INSTANCE */, `formGroup expects a FormGroup instance. Please pass one in.\n\n      Example:\n\n      ${formControlNameExample}`);\n}\nfunction groupParentException() {\n  return new _RuntimeError(1053 /* RuntimeErrorCode.FORM_GROUP_NAME_MISSING_PARENT */, `formGroupName must be used with a parent formGroup directive.  You'll want to add a formGroup\n    directive and pass it an existing FormGroup instance (you can create one in your class).\n\n    Example:\n\n    ${formGroupNameExample}`);\n}\nfunction arrayParentException() {\n  return new _RuntimeError(1054 /* RuntimeErrorCode.FORM_ARRAY_NAME_MISSING_PARENT */, `formArrayName must be used with a parent formGroup directive.  You'll want to add a formGroup\n      directive and pass it an existing FormGroup instance (you can create one in your class).\n\n      Example:\n\n      ${formArrayNameExample}`);\n}\nconst disabledAttrWarning = `\n  It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n  when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n  you. We recommend using this approach to avoid 'changed after checked' errors.\n\n  Example:\n  // Specify the \\`disabled\\` property at control creation time:\n  form = new FormGroup({\n    first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n    last: new FormControl('Drew', Validators.required)\n  });\n\n  // Controls can also be enabled/disabled after creation:\n  form.get('first')?.enable();\n  form.get('last')?.disable();\n`;\nconst asyncValidatorsDroppedWithOptsWarning = `\n  It looks like you're constructing using a FormControl with both an options argument and an\n  async validators argument. Mixing these arguments will cause your async validators to be dropped.\n  You should either put all your validators in the options object, or in separate validators\n  arguments. For example:\n\n  // Using validators arguments\n  fc = new FormControl(42, Validators.required, myAsyncValidator);\n\n  // Using AbstractControlOptions\n  fc = new FormControl(42, {validators: Validators.required, asyncValidators: myAV});\n\n  // Do NOT mix them: async validators will be dropped!\n  fc = new FormControl(42, {validators: Validators.required}, /* Oops! */ myAsyncValidator);\n`;\nfunction ngModelWarning(directiveName) {\n  return `\n  It looks like you're using ngModel on the same form field as ${directiveName}.\n  Support for using the ngModel input property and ngModelChange event with\n  reactive form directives has been deprecated in Angular v6 and will be removed\n  in a future version of Angular.\n\n  For more information on this, see our API docs here:\n  https://angular.io/api/forms/${directiveName === 'formControl' ? 'FormControlDirective' : 'FormControlName'}#use-with-ngmodel\n  `;\n}\nfunction describeKey(isFormGroup, key) {\n  return isFormGroup ? `with name: '${key}'` : `at index: ${key}`;\n}\nfunction noControlsError(isFormGroup) {\n  return `\n    There are no form controls registered with this ${isFormGroup ? 'group' : 'array'} yet. If you're using ngModel,\n    you may want to check next tick (e.g. use setTimeout).\n  `;\n}\nfunction missingControlError(isFormGroup, key) {\n  return `Cannot find form control ${describeKey(isFormGroup, key)}`;\n}\nfunction missingControlValueError(isFormGroup, key) {\n  return `Must supply a value for form control ${describeKey(isFormGroup, key)}`;\n}\n\n/**\n * Reports that a control is valid, meaning that no errors exist in the input value.\n *\n * @see {@link status}\n */\nconst VALID = 'VALID';\n/**\n * Reports that a control is invalid, meaning that an error exists in the input value.\n *\n * @see {@link status}\n */\nconst INVALID = 'INVALID';\n/**\n * Reports that a control is pending, meaning that async validation is occurring and\n * errors are not yet available for the input value.\n *\n * @see {@link markAsPending}\n * @see {@link status}\n */\nconst PENDING = 'PENDING';\n/**\n * Reports that a control is disabled, meaning that the control is exempt from ancestor\n * calculations of validity or value.\n *\n * @see {@link markAsDisabled}\n * @see {@link status}\n */\nconst DISABLED = 'DISABLED';\n/**\n * Base class for every event sent by `AbstractControl.events()`\n *\n * @publicApi\n */\nclass ControlEvent {}\n/**\n * Event fired when the value of a control changes.\n *\n * @publicApi\n */\nclass ValueChangeEvent extends ControlEvent {\n  value;\n  source;\n  constructor(value, source) {\n    super();\n    this.value = value;\n    this.source = source;\n  }\n}\n/**\n * Event fired when the control's pristine state changes (pristine <=> dirty).\n *\n * @publicApi */\nclass PristineChangeEvent extends ControlEvent {\n  pristine;\n  source;\n  constructor(pristine, source) {\n    super();\n    this.pristine = pristine;\n    this.source = source;\n  }\n}\n/**\n * Event fired when the control's touched status changes (touched <=> untouched).\n *\n * @publicApi\n */\nclass TouchedChangeEvent extends ControlEvent {\n  touched;\n  source;\n  constructor(touched, source) {\n    super();\n    this.touched = touched;\n    this.source = source;\n  }\n}\n/**\n * Event fired when the control's status changes.\n *\n * @publicApi\n */\nclass StatusChangeEvent extends ControlEvent {\n  status;\n  source;\n  constructor(status, source) {\n    super();\n    this.status = status;\n    this.source = source;\n  }\n}\n/**\n * Event fired when a form is submitted\n *\n * @publicApi\n */\nclass FormSubmittedEvent extends ControlEvent {\n  source;\n  constructor(source) {\n    super();\n    this.source = source;\n  }\n}\n/**\n * Event fired when a form is reset.\n *\n * @publicApi\n */\nclass FormResetEvent extends ControlEvent {\n  source;\n  constructor(source) {\n    super();\n    this.source = source;\n  }\n}\n/**\n * Gets validators from either an options object or given validators.\n */\nfunction pickValidators(validatorOrOpts) {\n  return (isOptionsObj(validatorOrOpts) ? validatorOrOpts.validators : validatorOrOpts) || null;\n}\n/**\n * Creates validator function by combining provided validators.\n */\nfunction coerceToValidator(validator) {\n  return Array.isArray(validator) ? composeValidators(validator) : validator || null;\n}\n/**\n * Gets async validators from either an options object or given validators.\n */\nfunction pickAsyncValidators(asyncValidator, validatorOrOpts) {\n  if (typeof ngDevMode === 'undefined' || ngDevMode) {\n    if (isOptionsObj(validatorOrOpts) && asyncValidator) {\n      console.warn(asyncValidatorsDroppedWithOptsWarning);\n    }\n  }\n  return (isOptionsObj(validatorOrOpts) ? validatorOrOpts.asyncValidators : asyncValidator) || null;\n}\n/**\n * Creates async validator function by combining provided async validators.\n */\nfunction coerceToAsyncValidator(asyncValidator) {\n  return Array.isArray(asyncValidator) ? composeAsyncValidators(asyncValidator) : asyncValidator || null;\n}\nfunction isOptionsObj(validatorOrOpts) {\n  return validatorOrOpts != null && !Array.isArray(validatorOrOpts) && typeof validatorOrOpts === 'object';\n}\nfunction assertControlPresent(parent, isGroup, key) {\n  const controls = parent.controls;\n  const collection = isGroup ? Object.keys(controls) : controls;\n  if (!collection.length) {\n    throw new _RuntimeError(1000 /* RuntimeErrorCode.NO_CONTROLS */, typeof ngDevMode === 'undefined' || ngDevMode ? noControlsError(isGroup) : '');\n  }\n  if (!controls[key]) {\n    throw new _RuntimeError(1001 /* RuntimeErrorCode.MISSING_CONTROL */, typeof ngDevMode === 'undefined' || ngDevMode ? missingControlError(isGroup, key) : '');\n  }\n}\nfunction assertAllValuesPresent(control, isGroup, value) {\n  control._forEachChild((_, key) => {\n    if (value[key] === undefined) {\n      throw new _RuntimeError(1002 /* RuntimeErrorCode.MISSING_CONTROL_VALUE */, typeof ngDevMode === 'undefined' || ngDevMode ? missingControlValueError(isGroup, key) : '');\n    }\n  });\n}\n/**\n * This is the base class for `FormControl`, `FormGroup`, and `FormArray`.\n *\n * It provides some of the shared behavior that all controls and groups of controls have, like\n * running validators, calculating status, and resetting state. It also defines the properties\n * that are shared between all sub-classes, like `value`, `valid`, and `dirty`. It shouldn't be\n * instantiated directly.\n *\n * The first type parameter TValue represents the value type of the control (`control.value`).\n * The optional type parameter TRawValue  represents the raw value type (`control.getRawValue()`).\n *\n * @see [Forms Guide](guide/forms)\n * @see [Reactive Forms Guide](guide/forms/reactive-forms)\n * @see [Dynamic Forms Guide](guide/forms/dynamic-forms)\n *\n * @publicApi\n */\nclass AbstractControl {\n  /** @internal */\n  _pendingDirty = false;\n  /**\n   * Indicates that a control has its own pending asynchronous validation in progress.\n   * It also stores if the control should emit events when the validation status changes.\n   *\n   * @internal\n   */\n  _hasOwnPendingAsyncValidator = null;\n  /** @internal */\n  _pendingTouched = false;\n  /** @internal */\n  _onCollectionChange = () => {};\n  /** @internal */\n  _updateOn;\n  _parent = null;\n  _asyncValidationSubscription;\n  /**\n   * Contains the result of merging synchronous validators into a single validator function\n   * (combined using `Validators.compose`).\n   *\n   * @internal\n   */\n  _composedValidatorFn;\n  /**\n   * Contains the result of merging asynchronous validators into a single validator function\n   * (combined using `Validators.composeAsync`).\n   *\n   * @internal\n   */\n  _composedAsyncValidatorFn;\n  /**\n   * Synchronous validators as they were provided:\n   *  - in `AbstractControl` constructor\n   *  - as an argument while calling `setValidators` function\n   *  - while calling the setter on the `validator` field (e.g. `control.validator = validatorFn`)\n   *\n   * @internal\n   */\n  _rawValidators;\n  /**\n   * Asynchronous validators as they were provided:\n   *  - in `AbstractControl` constructor\n   *  - as an argument while calling `setAsyncValidators` function\n   *  - while calling the setter on the `asyncValidator` field (e.g. `control.asyncValidator =\n   * asyncValidatorFn`)\n   *\n   * @internal\n   */\n  _rawAsyncValidators;\n  /**\n   * The current value of the control.\n   *\n   * * For a `FormControl`, the current value.\n   * * For an enabled `FormGroup`, the values of enabled controls as an object\n   * with a key-value pair for each member of the group.\n   * * For a disabled `FormGroup`, the values of all controls as an object\n   * with a key-value pair for each member of the group.\n   * * For a `FormArray`, the values of enabled controls as an array.\n   *\n   */\n  value;\n  /**\n   * Initialize the AbstractControl instance.\n   *\n   * @param validators The function or array of functions that is used to determine the validity of\n   *     this control synchronously.\n   * @param asyncValidators The function or array of functions that is used to determine validity of\n   *     this control asynchronously.\n   */\n  constructor(validators, asyncValidators) {\n    this._assignValidators(validators);\n    this._assignAsyncValidators(asyncValidators);\n  }\n  /**\n   * Returns the function that is used to determine the validity of this control synchronously.\n   * If multiple validators have been added, this will be a single composed function.\n   * See `Validators.compose()` for additional information.\n   */\n  get validator() {\n    return this._composedValidatorFn;\n  }\n  set validator(validatorFn) {\n    this._rawValidators = this._composedValidatorFn = validatorFn;\n  }\n  /**\n   * Returns the function that is used to determine the validity of this control asynchronously.\n   * If multiple validators have been added, this will be a single composed function.\n   * See `Validators.compose()` for additional information.\n   */\n  get asyncValidator() {\n    return this._composedAsyncValidatorFn;\n  }\n  set asyncValidator(asyncValidatorFn) {\n    this._rawAsyncValidators = this._composedAsyncValidatorFn = asyncValidatorFn;\n  }\n  /**\n   * The parent control.\n   */\n  get parent() {\n    return this._parent;\n  }\n  /**\n   * The validation status of the control.\n   *\n   * @see {@link FormControlStatus}\n   *\n   * These status values are mutually exclusive, so a control cannot be\n   * both valid AND invalid or invalid AND disabled.\n   */\n  get status() {\n    return untracked(this.statusReactive);\n  }\n  set status(v) {\n    untracked(() => this.statusReactive.set(v));\n  }\n  /** @internal */\n  _status = /*#__PURE__*/computed(() => this.statusReactive());\n  statusReactive = /*#__PURE__*/signal(undefined);\n  /**\n   * A control is `valid` when its `status` is `VALID`.\n   *\n   * @see {@link AbstractControl.status}\n   *\n   * @returns True if the control has passed all of its validation tests,\n   * false otherwise.\n   */\n  get valid() {\n    return this.status === VALID;\n  }\n  /**\n   * A control is `invalid` when its `status` is `INVALID`.\n   *\n   * @see {@link AbstractControl.status}\n   *\n   * @returns True if this control has failed one or more of its validation checks,\n   * false otherwise.\n   */\n  get invalid() {\n    return this.status === INVALID;\n  }\n  /**\n   * A control is `pending` when its `status` is `PENDING`.\n   *\n   * @see {@link AbstractControl.status}\n   *\n   * @returns True if this control is in the process of conducting a validation check,\n   * false otherwise.\n   */\n  get pending() {\n    return this.status == PENDING;\n  }\n  /**\n   * A control is `disabled` when its `status` is `DISABLED`.\n   *\n   * Disabled controls are exempt from validation checks and\n   * are not included in the aggregate value of their ancestor\n   * controls.\n   *\n   * @see {@link AbstractControl.status}\n   *\n   * @returns True if the control is disabled, false otherwise.\n   */\n  get disabled() {\n    return this.status === DISABLED;\n  }\n  /**\n   * A control is `enabled` as long as its `status` is not `DISABLED`.\n   *\n   * @returns True if the control has any status other than 'DISABLED',\n   * false if the status is 'DISABLED'.\n   *\n   * @see {@link AbstractControl.status}\n   *\n   */\n  get enabled() {\n    return this.status !== DISABLED;\n  }\n  /**\n   * An object containing any errors generated by failing validation,\n   * or null if there are no errors.\n   */\n  errors;\n  /**\n   * A control is `pristine` if the user has not yet changed\n   * the value in the UI.\n   *\n   * @returns True if the user has not yet changed the value in the UI; compare `dirty`.\n   * Programmatic changes to a control's value do not mark it dirty.\n   */\n  get pristine() {\n    return untracked(this.pristineReactive);\n  }\n  set pristine(v) {\n    untracked(() => this.pristineReactive.set(v));\n  }\n  /** @internal */\n  _pristine = /*#__PURE__*/computed(() => this.pristineReactive());\n  pristineReactive = /*#__PURE__*/signal(true);\n  /**\n   * A control is `dirty` if the user has changed the value\n   * in the UI.\n   *\n   * @returns True if the user has changed the value of this control in the UI; compare `pristine`.\n   * Programmatic changes to a control's value do not mark it dirty.\n   */\n  get dirty() {\n    return !this.pristine;\n  }\n  /**\n   * True if the control is marked as `touched`.\n   *\n   * A control is marked `touched` once the user has triggered\n   * a `blur` event on it.\n   */\n  get touched() {\n    return untracked(this.touchedReactive);\n  }\n  set touched(v) {\n    untracked(() => this.touchedReactive.set(v));\n  }\n  /** @internal */\n  _touched = /*#__PURE__*/computed(() => this.touchedReactive());\n  touchedReactive = /*#__PURE__*/signal(false);\n  /**\n   * True if the control has not been marked as touched\n   *\n   * A control is `untouched` if the user has not yet triggered\n   * a `blur` event on it.\n   */\n  get untouched() {\n    return !this.touched;\n  }\n  /**\n   * Exposed as observable, see below.\n   *\n   * @internal\n   */\n  _events = /*#__PURE__*/new Subject();\n  /**\n   * A multicasting observable that emits an event every time the state of the control changes.\n   * It emits for value, status, pristine or touched changes.\n   *\n   * **Note**: On value change, the emit happens right after a value of this control is updated. The\n   * value of a parent control (for example if this FormControl is a part of a FormGroup) is updated\n   * later, so accessing a value of a parent control (using the `value` property) from the callback\n   * of this event might result in getting a value that has not been updated yet. Subscribe to the\n   * `events` of the parent control instead.\n   * For other event types, the events are emitted after the parent control has been updated.\n   *\n   */\n  events = /*#__PURE__*/this._events.asObservable();\n  /**\n   * A multicasting observable that emits an event every time the value of the control changes, in\n   * the UI or programmatically. It also emits an event each time you call enable() or disable()\n   * without passing along {emitEvent: false} as a function argument.\n   *\n   * **Note**: the emit happens right after a value of this control is updated. The value of a\n   * parent control (for example if this FormControl is a part of a FormGroup) is updated later, so\n   * accessing a value of a parent control (using the `value` property) from the callback of this\n   * event might result in getting a value that has not been updated yet. Subscribe to the\n   * `valueChanges` event of the parent control instead.\n   */\n  valueChanges;\n  /**\n   * A multicasting observable that emits an event every time the validation `status` of the control\n   * recalculates.\n   *\n   * @see {@link FormControlStatus}\n   * @see {@link AbstractControl.status}\n   */\n  statusChanges;\n  /**\n   * Reports the update strategy of the `AbstractControl` (meaning\n   * the event on which the control updates itself).\n   * Possible values: `'change'` | `'blur'` | `'submit'`\n   * Default value: `'change'`\n   */\n  get updateOn() {\n    return this._updateOn ? this._updateOn : this.parent ? this.parent.updateOn : 'change';\n  }\n  /**\n   * Sets the synchronous validators that are active on this control.  Calling\n   * this overwrites any existing synchronous validators.\n   *\n   * When you add or remove a validator at run time, you must call\n   * `updateValueAndValidity()` for the new validation to take effect.\n   *\n   * If you want to add a new validator without affecting existing ones, consider\n   * using `addValidators()` method instead.\n   */\n  setValidators(validators) {\n    this._assignValidators(validators);\n  }\n  /**\n   * Sets the asynchronous validators that are active on this control. Calling this\n   * overwrites any existing asynchronous validators.\n   *\n   * When you add or remove a validator at run time, you must call\n   * `updateValueAndValidity()` for the new validation to take effect.\n   *\n   * If you want to add a new validator without affecting existing ones, consider\n   * using `addAsyncValidators()` method instead.\n   */\n  setAsyncValidators(validators) {\n    this._assignAsyncValidators(validators);\n  }\n  /**\n   * Add a synchronous validator or validators to this control, without affecting other validators.\n   *\n   * When you add or remove a validator at run time, you must call\n   * `updateValueAndValidity()` for the new validation to take effect.\n   *\n   * Adding a validator that already exists will have no effect. If duplicate validator functions\n   * are present in the `validators` array, only the first instance would be added to a form\n   * control.\n   *\n   * @param validators The new validator function or functions to add to this control.\n   */\n  addValidators(validators) {\n    this.setValidators(addValidators(validators, this._rawValidators));\n  }\n  /**\n   * Add an asynchronous validator or validators to this control, without affecting other\n   * validators.\n   *\n   * When you add or remove a validator at run time, you must call\n   * `updateValueAndValidity()` for the new validation to take effect.\n   *\n   * Adding a validator that already exists will have no effect.\n   *\n   * @param validators The new asynchronous validator function or functions to add to this control.\n   */\n  addAsyncValidators(validators) {\n    this.setAsyncValidators(addValidators(validators, this._rawAsyncValidators));\n  }\n  /**\n   * Remove a synchronous validator from this control, without affecting other validators.\n   * Validators are compared by function reference; you must pass a reference to the exact same\n   * validator function as the one that was originally set. If a provided validator is not found,\n   * it is ignored.\n   *\n   * @usageNotes\n   *\n   * ### Reference to a ValidatorFn\n   *\n   * ```\n   * // Reference to the RequiredValidator\n   * const ctrl = new FormControl<string | null>('', Validators.required);\n   * ctrl.removeValidators(Validators.required);\n   *\n   * // Reference to anonymous function inside MinValidator\n   * const minValidator = Validators.min(3);\n   * const ctrl = new FormControl<string | null>('', minValidator);\n   * expect(ctrl.hasValidator(minValidator)).toEqual(true)\n   * expect(ctrl.hasValidator(Validators.min(3))).toEqual(false)\n   *\n   * ctrl.removeValidators(minValidator);\n   * ```\n   *\n   * When you add or remove a validator at run time, you must call\n   * `updateValueAndValidity()` for the new validation to take effect.\n   *\n   * @param validators The validator or validators to remove.\n   */\n  removeValidators(validators) {\n    this.setValidators(removeValidators(validators, this._rawValidators));\n  }\n  /**\n   * Remove an asynchronous validator from this control, without affecting other validators.\n   * Validators are compared by function reference; you must pass a reference to the exact same\n   * validator function as the one that was originally set. If a provided validator is not found, it\n   * is ignored.\n   *\n   * When you add or remove a validator at run time, you must call\n   * `updateValueAndValidity()` for the new validation to take effect.\n   *\n   * @param validators The asynchronous validator or validators to remove.\n   */\n  removeAsyncValidators(validators) {\n    this.setAsyncValidators(removeValidators(validators, this._rawAsyncValidators));\n  }\n  /**\n   * Check whether a synchronous validator function is present on this control. The provided\n   * validator must be a reference to the exact same function that was provided.\n   *\n   * @usageNotes\n   *\n   * ### Reference to a ValidatorFn\n   *\n   * ```\n   * // Reference to the RequiredValidator\n   * const ctrl = new FormControl<number | null>(0, Validators.required);\n   * expect(ctrl.hasValidator(Validators.required)).toEqual(true)\n   *\n   * // Reference to anonymous function inside MinValidator\n   * const minValidator = Validators.min(3);\n   * const ctrl = new FormControl<number | null>(0, minValidator);\n   * expect(ctrl.hasValidator(minValidator)).toEqual(true)\n   * expect(ctrl.hasValidator(Validators.min(3))).toEqual(false)\n   * ```\n   *\n   * @param validator The validator to check for presence. Compared by function reference.\n   * @returns Whether the provided validator was found on this control.\n   */\n  hasValidator(validator) {\n    return hasValidator(this._rawValidators, validator);\n  }\n  /**\n   * Check whether an asynchronous validator function is present on this control. The provided\n   * validator must be a reference to the exact same function that was provided.\n   *\n   * @param validator The asynchronous validator to check for presence. Compared by function\n   *     reference.\n   * @returns Whether the provided asynchronous validator was found on this control.\n   */\n  hasAsyncValidator(validator) {\n    return hasValidator(this._rawAsyncValidators, validator);\n  }\n  /**\n   * Empties out the synchronous validator list.\n   *\n   * When you add or remove a validator at run time, you must call\n   * `updateValueAndValidity()` for the new validation to take effect.\n   *\n   */\n  clearValidators() {\n    this.validator = null;\n  }\n  /**\n   * Empties out the async validator list.\n   *\n   * When you add or remove a validator at run time, you must call\n   * `updateValueAndValidity()` for the new validation to take effect.\n   *\n   */\n  clearAsyncValidators() {\n    this.asyncValidator = null;\n  }\n  markAsTouched(opts = {}) {\n    const changed = this.touched === false;\n    this.touched = true;\n    const sourceControl = opts.sourceControl ?? this;\n    if (this._parent && !opts.onlySelf) {\n      this._parent.markAsTouched({\n        ...opts,\n        sourceControl\n      });\n    }\n    if (changed && opts.emitEvent !== false) {\n      this._events.next(new TouchedChangeEvent(true, sourceControl));\n    }\n  }\n  /**\n   * Marks the control and all its descendant controls as `touched`.\n   * @see {@link markAsTouched()}\n   *\n   * @param opts Configuration options that determine how the control propagates changes\n   * and emits events after marking is applied.\n   * * `emitEvent`: When true or not supplied (the default), the `events`\n   * observable emits a `TouchedChangeEvent` with the `touched` property being `true`.\n   * When false, no events are emitted.\n   */\n  markAllAsTouched(opts = {}) {\n    this.markAsTouched({\n      onlySelf: true,\n      emitEvent: opts.emitEvent,\n      sourceControl: this\n    });\n    this._forEachChild(control => control.markAllAsTouched(opts));\n  }\n  markAsUntouched(opts = {}) {\n    const changed = this.touched === true;\n    this.touched = false;\n    this._pendingTouched = false;\n    const sourceControl = opts.sourceControl ?? this;\n    this._forEachChild(control => {\n      control.markAsUntouched({\n        onlySelf: true,\n        emitEvent: opts.emitEvent,\n        sourceControl\n      });\n    });\n    if (this._parent && !opts.onlySelf) {\n      this._parent._updateTouched(opts, sourceControl);\n    }\n    if (changed && opts.emitEvent !== false) {\n      this._events.next(new TouchedChangeEvent(false, sourceControl));\n    }\n  }\n  markAsDirty(opts = {}) {\n    const changed = this.pristine === true;\n    this.pristine = false;\n    const sourceControl = opts.sourceControl ?? this;\n    if (this._parent && !opts.onlySelf) {\n      this._parent.markAsDirty({\n        ...opts,\n        sourceControl\n      });\n    }\n    if (changed && opts.emitEvent !== false) {\n      this._events.next(new PristineChangeEvent(false, sourceControl));\n    }\n  }\n  markAsPristine(opts = {}) {\n    const changed = this.pristine === false;\n    this.pristine = true;\n    this._pendingDirty = false;\n    const sourceControl = opts.sourceControl ?? this;\n    this._forEachChild(control => {\n      /** We don't propagate the source control downwards */\n      control.markAsPristine({\n        onlySelf: true,\n        emitEvent: opts.emitEvent\n      });\n    });\n    if (this._parent && !opts.onlySelf) {\n      this._parent._updatePristine(opts, sourceControl);\n    }\n    if (changed && opts.emitEvent !== false) {\n      this._events.next(new PristineChangeEvent(true, sourceControl));\n    }\n  }\n  markAsPending(opts = {}) {\n    this.status = PENDING;\n    const sourceControl = opts.sourceControl ?? this;\n    if (opts.emitEvent !== false) {\n      this._events.next(new StatusChangeEvent(this.status, sourceControl));\n      this.statusChanges.emit(this.status);\n    }\n    if (this._parent && !opts.onlySelf) {\n      this._parent.markAsPending({\n        ...opts,\n        sourceControl\n      });\n    }\n  }\n  disable(opts = {}) {\n    // If parent has been marked artificially dirty we don't want to re-calculate the\n    // parent's dirtiness based on the children.\n    const skipPristineCheck = this._parentMarkedDirty(opts.onlySelf);\n    this.status = DISABLED;\n    this.errors = null;\n    this._forEachChild(control => {\n      /** We don't propagate the source control downwards */\n      control.disable({\n        ...opts,\n        onlySelf: true\n      });\n    });\n    this._updateValue();\n    const sourceControl = opts.sourceControl ?? this;\n    if (opts.emitEvent !== false) {\n      this._events.next(new ValueChangeEvent(this.value, sourceControl));\n      this._events.next(new StatusChangeEvent(this.status, sourceControl));\n      this.valueChanges.emit(this.value);\n      this.statusChanges.emit(this.status);\n    }\n    this._updateAncestors({\n      ...opts,\n      skipPristineCheck\n    }, this);\n    this._onDisabledChange.forEach(changeFn => changeFn(true));\n  }\n  /**\n   * Enables the control. This means the control is included in validation checks and\n   * the aggregate value of its parent. Its status recalculates based on its value and\n   * its validators.\n   *\n   * By default, if the control has children, all children are enabled.\n   *\n   * @see {@link AbstractControl.status}\n   *\n   * @param opts Configure options that control how the control propagates changes and\n   * emits events when marked as untouched\n   * * `onlySelf`: When true, mark only this control. When false or not supplied,\n   * marks all direct ancestors. Default is false.\n   * * `emitEvent`: When true or not supplied (the default), the `statusChanges`,\n   * `valueChanges` and `events`\n   * observables emit events with the latest status and value when the control is enabled.\n   * When false, no events are emitted.\n   */\n  enable(opts = {}) {\n    // If parent has been marked artificially dirty we don't want to re-calculate the\n    // parent's dirtiness based on the children.\n    const skipPristineCheck = this._parentMarkedDirty(opts.onlySelf);\n    this.status = VALID;\n    this._forEachChild(control => {\n      control.enable({\n        ...opts,\n        onlySelf: true\n      });\n    });\n    this.updateValueAndValidity({\n      onlySelf: true,\n      emitEvent: opts.emitEvent\n    });\n    this._updateAncestors({\n      ...opts,\n      skipPristineCheck\n    }, this);\n    this._onDisabledChange.forEach(changeFn => changeFn(false));\n  }\n  _updateAncestors(opts, sourceControl) {\n    if (this._parent && !opts.onlySelf) {\n      this._parent.updateValueAndValidity(opts);\n      if (!opts.skipPristineCheck) {\n        this._parent._updatePristine({}, sourceControl);\n      }\n      this._parent._updateTouched({}, sourceControl);\n    }\n  }\n  /**\n   * Sets the parent of the control\n   *\n   * @param parent The new parent.\n   */\n  setParent(parent) {\n    this._parent = parent;\n  }\n  /**\n   * The raw value of this control. For most control implementations, the raw value will include\n   * disabled children.\n   */\n  getRawValue() {\n    return this.value;\n  }\n  updateValueAndValidity(opts = {}) {\n    this._setInitialStatus();\n    this._updateValue();\n    if (this.enabled) {\n      const shouldHaveEmitted = this._cancelExistingSubscription();\n      this.errors = this._runValidator();\n      this.status = this._calculateStatus();\n      if (this.status === VALID || this.status === PENDING) {\n        // If the canceled subscription should have emitted\n        // we make sure the async validator emits the status change on completion\n        this._runAsyncValidator(shouldHaveEmitted, opts.emitEvent);\n      }\n    }\n    const sourceControl = opts.sourceControl ?? this;\n    if (opts.emitEvent !== false) {\n      this._events.next(new ValueChangeEvent(this.value, sourceControl));\n      this._events.next(new StatusChangeEvent(this.status, sourceControl));\n      this.valueChanges.emit(this.value);\n      this.statusChanges.emit(this.status);\n    }\n    if (this._parent && !opts.onlySelf) {\n      this._parent.updateValueAndValidity({\n        ...opts,\n        sourceControl\n      });\n    }\n  }\n  /** @internal */\n  _updateTreeValidity(opts = {\n    emitEvent: true\n  }) {\n    this._forEachChild(ctrl => ctrl._updateTreeValidity(opts));\n    this.updateValueAndValidity({\n      onlySelf: true,\n      emitEvent: opts.emitEvent\n    });\n  }\n  _setInitialStatus() {\n    this.status = this._allControlsDisabled() ? DISABLED : VALID;\n  }\n  _runValidator() {\n    return this.validator ? this.validator(this) : null;\n  }\n  _runAsyncValidator(shouldHaveEmitted, emitEvent) {\n    if (this.asyncValidator) {\n      this.status = PENDING;\n      this._hasOwnPendingAsyncValidator = {\n        emitEvent: emitEvent !== false\n      };\n      const obs = toObservable(this.asyncValidator(this));\n      this._asyncValidationSubscription = obs.subscribe(errors => {\n        this._hasOwnPendingAsyncValidator = null;\n        // This will trigger the recalculation of the validation status, which depends on\n        // the state of the asynchronous validation (whether it is in progress or not). So, it is\n        // necessary that we have updated the `_hasOwnPendingAsyncValidator` boolean flag first.\n        this.setErrors(errors, {\n          emitEvent,\n          shouldHaveEmitted\n        });\n      });\n    }\n  }\n  _cancelExistingSubscription() {\n    if (this._asyncValidationSubscription) {\n      this._asyncValidationSubscription.unsubscribe();\n      // we're cancelling the validator subscribtion, we keep if it should have emitted\n      // because we want to emit eventually if it was required at least once.\n      const shouldHaveEmitted = this._hasOwnPendingAsyncValidator?.emitEvent ?? false;\n      this._hasOwnPendingAsyncValidator = null;\n      return shouldHaveEmitted;\n    }\n    return false;\n  }\n  setErrors(errors, opts = {}) {\n    this.errors = errors;\n    this._updateControlsErrors(opts.emitEvent !== false, this, opts.shouldHaveEmitted);\n  }\n  /**\n   * Retrieves a child control given the control's name or path.\n   *\n   * @param path A dot-delimited string or array of string/number values that define the path to the\n   * control. If a string is provided, passing it as a string literal will result in improved type\n   * information. Likewise, if an array is provided, passing it `as const` will cause improved type\n   * information to be available.\n   *\n   * @usageNotes\n   * ### Retrieve a nested control\n   *\n   * For example, to get a `name` control nested within a `person` sub-group:\n   *\n   * * `this.form.get('person.name');`\n   *\n   * -OR-\n   *\n   * * `this.form.get(['person', 'name'] as const);` // `as const` gives improved typings\n   *\n   * ### Retrieve a control in a FormArray\n   *\n   * When accessing an element inside a FormArray, you can use an element index.\n   * For example, to get a `price` control from the first element in an `items` array you can use:\n   *\n   * * `this.form.get('items.0.price');`\n   *\n   * -OR-\n   *\n   * * `this.form.get(['items', 0, 'price']);`\n   */\n  get(path) {\n    let currPath = path;\n    if (currPath == null) return null;\n    if (!Array.isArray(currPath)) currPath = currPath.split('.');\n    if (currPath.length === 0) return null;\n    return currPath.reduce((control, name) => control && control._find(name), this);\n  }\n  /**\n   * @description\n   * Reports error data for the control with the given path.\n   *\n   * @param errorCode The code of the error to check\n   * @param path A list of control names that designates how to move from the current control\n   * to the control that should be queried for errors.\n   *\n   * @usageNotes\n   * For example, for the following `FormGroup`:\n   *\n   * ```ts\n   * form = new FormGroup({\n   *   address: new FormGroup({ street: new FormControl() })\n   * });\n   * ```\n   *\n   * The path to the 'street' control from the root form would be 'address' -> 'street'.\n   *\n   * It can be provided to this method in one of two formats:\n   *\n   * 1. An array of string control names, e.g. `['address', 'street']`\n   * 1. A period-delimited list of control names in one string, e.g. `'address.street'`\n   *\n   * @returns error data for that particular error. If the control or error is not present,\n   * null is returned.\n   */\n  getError(errorCode, path) {\n    const control = path ? this.get(path) : this;\n    return control && control.errors ? control.errors[errorCode] : null;\n  }\n  /**\n   * @description\n   * Reports whether the control with the given path has the error specified.\n   *\n   * @param errorCode The code of the error to check\n   * @param path A list of control names that designates how to move from the current control\n   * to the control that should be queried for errors.\n   *\n   * @usageNotes\n   * For example, for the following `FormGroup`:\n   *\n   * ```ts\n   * form = new FormGroup({\n   *   address: new FormGroup({ street: new FormControl() })\n   * });\n   * ```\n   *\n   * The path to the 'street' control from the root form would be 'address' -> 'street'.\n   *\n   * It can be provided to this method in one of two formats:\n   *\n   * 1. An array of string control names, e.g. `['address', 'street']`\n   * 1. A period-delimited list of control names in one string, e.g. `'address.street'`\n   *\n   * If no path is given, this method checks for the error on the current control.\n   *\n   * @returns whether the given error is present in the control at the given path.\n   *\n   * If the control is not present, false is returned.\n   */\n  hasError(errorCode, path) {\n    return !!this.getError(errorCode, path);\n  }\n  /**\n   * Retrieves the top-level ancestor of this control.\n   */\n  get root() {\n    let x = this;\n    while (x._parent) {\n      x = x._parent;\n    }\n    return x;\n  }\n  /** @internal */\n  _updateControlsErrors(emitEvent, changedControl, shouldHaveEmitted) {\n    this.status = this._calculateStatus();\n    if (emitEvent) {\n      this.statusChanges.emit(this.status);\n    }\n    // The Events Observable expose a slight different bevahior than the statusChanges obs\n    // An async validator will still emit a StatusChangeEvent is a previously cancelled\n    // async validator has emitEvent set to true\n    if (emitEvent || shouldHaveEmitted) {\n      this._events.next(new StatusChangeEvent(this.status, changedControl));\n    }\n    if (this._parent) {\n      this._parent._updateControlsErrors(emitEvent, changedControl, shouldHaveEmitted);\n    }\n  }\n  /** @internal */\n  _initObservables() {\n    // TODO: this should be piped from events() but is breaking in G3\n    this.valueChanges = new EventEmitter();\n    this.statusChanges = new EventEmitter();\n  }\n  _calculateStatus() {\n    if (this._allControlsDisabled()) return DISABLED;\n    if (this.errors) return INVALID;\n    if (this._hasOwnPendingAsyncValidator || this._anyControlsHaveStatus(PENDING)) return PENDING;\n    if (this._anyControlsHaveStatus(INVALID)) return INVALID;\n    return VALID;\n  }\n  /** @internal */\n  _anyControlsHaveStatus(status) {\n    return this._anyControls(control => control.status === status);\n  }\n  /** @internal */\n  _anyControlsDirty() {\n    return this._anyControls(control => control.dirty);\n  }\n  /** @internal */\n  _anyControlsTouched() {\n    return this._anyControls(control => control.touched);\n  }\n  /** @internal */\n  _updatePristine(opts, changedControl) {\n    const newPristine = !this._anyControlsDirty();\n    const changed = this.pristine !== newPristine;\n    this.pristine = newPristine;\n    if (this._parent && !opts.onlySelf) {\n      this._parent._updatePristine(opts, changedControl);\n    }\n    if (changed) {\n      this._events.next(new PristineChangeEvent(this.pristine, changedControl));\n    }\n  }\n  /** @internal */\n  _updateTouched(opts = {}, changedControl) {\n    this.touched = this._anyControlsTouched();\n    this._events.next(new TouchedChangeEvent(this.touched, changedControl));\n    if (this._parent && !opts.onlySelf) {\n      this._parent._updateTouched(opts, changedControl);\n    }\n  }\n  /** @internal */\n  _onDisabledChange = [];\n  /** @internal */\n  _registerOnCollectionChange(fn) {\n    this._onCollectionChange = fn;\n  }\n  /** @internal */\n  _setUpdateStrategy(opts) {\n    if (isOptionsObj(opts) && opts.updateOn != null) {\n      this._updateOn = opts.updateOn;\n    }\n  }\n  /**\n   * Check to see if parent has been marked artificially dirty.\n   *\n   * @internal\n   */\n  _parentMarkedDirty(onlySelf) {\n    const parentDirty = this._parent && this._parent.dirty;\n    return !onlySelf && !!parentDirty && !this._parent._anyControlsDirty();\n  }\n  /** @internal */\n  _find(name) {\n    return null;\n  }\n  /**\n   * Internal implementation of the `setValidators` method. Needs to be separated out into a\n   * different method, because it is called in the constructor and it can break cases where\n   * a control is extended.\n   */\n  _assignValidators(validators) {\n    this._rawValidators = Array.isArray(validators) ? validators.slice() : validators;\n    this._composedValidatorFn = coerceToValidator(this._rawValidators);\n  }\n  /**\n   * Internal implementation of the `setAsyncValidators` method. Needs to be separated out into a\n   * different method, because it is called in the constructor and it can break cases where\n   * a control is extended.\n   */\n  _assignAsyncValidators(validators) {\n    this._rawAsyncValidators = Array.isArray(validators) ? validators.slice() : validators;\n    this._composedAsyncValidatorFn = coerceToAsyncValidator(this._rawAsyncValidators);\n  }\n}\n\n/**\n * Tracks the value and validity state of a group of `FormControl` instances.\n *\n * A `FormGroup` aggregates the values of each child `FormControl` into one object,\n * with each control name as the key.  It calculates its status by reducing the status values\n * of its children. For example, if one of the controls in a group is invalid, the entire\n * group becomes invalid.\n *\n * `FormGroup` is one of the four fundamental building blocks used to define forms in Angular,\n * along with `FormControl`, `FormArray`, and `FormRecord`.\n *\n * When instantiating a `FormGroup`, pass in a collection of child controls as the first\n * argument. The key for each child registers the name for the control.\n *\n * `FormGroup` is intended for use cases where the keys are known ahead of time.\n * If you need to dynamically add and remove controls, use {@link FormRecord} instead.\n *\n * `FormGroup` accepts an optional type parameter `TControl`, which is an object type with inner\n * control types as values.\n *\n * @usageNotes\n *\n * ### Create a form group with 2 controls\n *\n * ```ts\n * const form = new FormGroup({\n *   first: new FormControl('Nancy', Validators.minLength(2)),\n *   last: new FormControl('Drew'),\n * });\n *\n * console.log(form.value);   // {first: 'Nancy', last; 'Drew'}\n * console.log(form.status);  // 'VALID'\n * ```\n *\n * ### The type argument, and optional controls\n *\n * `FormGroup` accepts one generic argument, which is an object containing its inner controls.\n * This type will usually be inferred automatically, but you can always specify it explicitly if you\n * wish.\n *\n * If you have controls that are optional (i.e. they can be removed, you can use the `?` in the\n * type):\n *\n * ```ts\n * const form = new FormGroup<{\n *   first: FormControl<string|null>,\n *   middle?: FormControl<string|null>, // Middle name is optional.\n *   last: FormControl<string|null>,\n * }>({\n *   first: new FormControl('Nancy'),\n *   last: new FormControl('Drew'),\n * });\n * ```\n *\n * ### Create a form group with a group-level validator\n *\n * You include group-level validators as the second arg, or group-level async\n * validators as the third arg. These come in handy when you want to perform validation\n * that considers the value of more than one child control.\n *\n * ```ts\n * const form = new FormGroup({\n *   password: new FormControl('', Validators.minLength(2)),\n *   passwordConfirm: new FormControl('', Validators.minLength(2)),\n * }, passwordMatchValidator);\n *\n *\n * function passwordMatchValidator(g: FormGroup) {\n *    return g.get('password').value === g.get('passwordConfirm').value\n *       ? null : {'mismatch': true};\n * }\n * ```\n *\n * Like `FormControl` instances, you choose to pass in\n * validators and async validators as part of an options object.\n *\n * ```ts\n * const form = new FormGroup({\n *   password: new FormControl('')\n *   passwordConfirm: new FormControl('')\n * }, { validators: passwordMatchValidator, asyncValidators: otherValidator });\n * ```\n *\n * ### Set the updateOn property for all controls in a form group\n *\n * The options object is used to set a default value for each child\n * control's `updateOn` property. If you set `updateOn` to `'blur'` at the\n * group level, all child controls default to 'blur', unless the child\n * has explicitly specified a different `updateOn` value.\n *\n * ```ts\n * const c = new FormGroup({\n *   one: new FormControl()\n * }, { updateOn: 'blur' });\n * ```\n *\n * ### Using a FormGroup with optional controls\n *\n * It is possible to have optional controls in a FormGroup. An optional control can be removed later\n * using `removeControl`, and can be omitted when calling `reset`. Optional controls must be\n * declared optional in the group's type.\n *\n * ```ts\n * const c = new FormGroup<{one?: FormControl<string>}>({\n *   one: new FormControl('')\n * });\n * ```\n *\n * Notice that `c.value.one` has type `string|null|undefined`. This is because calling `c.reset({})`\n * without providing the optional key `one` will cause it to become `null`.\n *\n * @publicApi\n */\nclass FormGroup extends AbstractControl {\n  /**\n   * Creates a new `FormGroup` instance.\n   *\n   * @param controls A collection of child controls. The key for each child is the name\n   * under which it is registered.\n   *\n   * @param validatorOrOpts A synchronous validator function, or an array of\n   * such functions, or an `AbstractControlOptions` object that contains validation functions\n   * and a validation trigger.\n   *\n   * @param asyncValidator A single async validator or array of async validator functions\n   *\n   */\n  constructor(controls, validatorOrOpts, asyncValidator) {\n    super(pickValidators(validatorOrOpts), pickAsyncValidators(asyncValidator, validatorOrOpts));\n    (typeof ngDevMode === 'undefined' || ngDevMode) && validateFormGroupControls(controls);\n    this.controls = controls;\n    this._initObservables();\n    this._setUpdateStrategy(validatorOrOpts);\n    this._setUpControls();\n    this.updateValueAndValidity({\n      onlySelf: true,\n      // If `asyncValidator` is present, it will trigger control status change from `PENDING` to\n      // `VALID` or `INVALID`. The status should be broadcasted via the `statusChanges` observable,\n      // so we set `emitEvent` to `true` to allow that during the control creation process.\n      emitEvent: !!this.asyncValidator\n    });\n  }\n  controls;\n  registerControl(name, control) {\n    if (this.controls[name]) return this.controls[name];\n    this.controls[name] = control;\n    control.setParent(this);\n    control._registerOnCollectionChange(this._onCollectionChange);\n    return control;\n  }\n  addControl(name, control, options = {}) {\n    this.registerControl(name, control);\n    this.updateValueAndValidity({\n      emitEvent: options.emitEvent\n    });\n    this._onCollectionChange();\n  }\n  /**\n   * Remove a control from this group. In a strongly-typed group, required controls cannot be\n   * removed.\n   *\n   * This method also updates the value and validity of the control.\n   *\n   * @param name The control name to remove from the collection\n   * @param options Specifies whether this FormGroup instance should emit events after a\n   *     control is removed.\n   * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n   * `valueChanges` observables emit events with the latest status and value when the control is\n   * removed. When false, no events are emitted.\n   */\n  removeControl(name, options = {}) {\n    if (this.controls[name]) this.controls[name]._registerOnCollectionChange(() => {});\n    delete this.controls[name];\n    this.updateValueAndValidity({\n      emitEvent: options.emitEvent\n    });\n    this._onCollectionChange();\n  }\n  setControl(name, control, options = {}) {\n    if (this.controls[name]) this.controls[name]._registerOnCollectionChange(() => {});\n    delete this.controls[name];\n    if (control) this.registerControl(name, control);\n    this.updateValueAndValidity({\n      emitEvent: options.emitEvent\n    });\n    this._onCollectionChange();\n  }\n  contains(controlName) {\n    return this.controls.hasOwnProperty(controlName) && this.controls[controlName].enabled;\n  }\n  /**\n   * Sets the value of the `FormGroup`. It accepts an object that matches\n   * the structure of the group, with control names as keys.\n   *\n   * @usageNotes\n   * ### Set the complete value for the form group\n   *\n   * ```ts\n   * const form = new FormGroup({\n   *   first: new FormControl(),\n   *   last: new FormControl()\n   * });\n   *\n   * console.log(form.value);   // {first: null, last: null}\n   *\n   * form.setValue({first: 'Nancy', last: 'Drew'});\n   * console.log(form.value);   // {first: 'Nancy', last: 'Drew'}\n   * ```\n   *\n   * @throws When strict checks fail, such as setting the value of a control\n   * that doesn't exist or if you exclude a value of a control that does exist.\n   *\n   * @param value The new value for the control that matches the structure of the group.\n   * @param options Configuration options that determine how the control propagates changes\n   * and emits events after the value changes.\n   * The configuration options are passed to the {@link AbstractControl#updateValueAndValidity\n   * updateValueAndValidity} method.\n   *\n   * * `onlySelf`: When true, each change only affects this control, and not its parent. Default is\n   * false.\n   * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n   * `valueChanges`\n   * observables emit events with the latest status and value when the control value is updated.\n   * When false, no events are emitted.\n   */\n  setValue(value, options = {}) {\n    assertAllValuesPresent(this, true, value);\n    Object.keys(value).forEach(name => {\n      assertControlPresent(this, true, name);\n      this.controls[name].setValue(value[name], {\n        onlySelf: true,\n        emitEvent: options.emitEvent\n      });\n    });\n    this.updateValueAndValidity(options);\n  }\n  /**\n   * Patches the value of the `FormGroup`. It accepts an object with control\n   * names as keys, and does its best to match the values to the correct controls\n   * in the group.\n   *\n   * It accepts both super-sets and sub-sets of the group without throwing an error.\n   *\n   * @usageNotes\n   * ### Patch the value for a form group\n   *\n   * ```ts\n   * const form = new FormGroup({\n   *    first: new FormControl(),\n   *    last: new FormControl()\n   * });\n   * console.log(form.value);   // {first: null, last: null}\n   *\n   * form.patchValue({first: 'Nancy'});\n   * console.log(form.value);   // {first: 'Nancy', last: null}\n   * ```\n   *\n   * @param value The object that matches the structure of the group.\n   * @param options Configuration options that determine how the control propagates changes and\n   * emits events after the value is patched.\n   * * `onlySelf`: When true, each change only affects this control and not its parent. Default is\n   * true.\n   * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n   * `valueChanges` observables emit events with the latest status and value when the control value\n   * is updated. When false, no events are emitted. The configuration options are passed to\n   * the {@link AbstractControl#updateValueAndValidity updateValueAndValidity} method.\n   */\n  patchValue(value, options = {}) {\n    // Even though the `value` argument type doesn't allow `null` and `undefined` values, the\n    // `patchValue` can be called recursively and inner data structures might have these values, so\n    // we just ignore such cases when a field containing FormGroup instance receives `null` or\n    // `undefined` as a value.\n    if (value == null /* both `null` and `undefined` */) return;\n    Object.keys(value).forEach(name => {\n      // The compiler cannot see through the uninstantiated conditional type of `this.controls`, so\n      // `as any` is required.\n      const control = this.controls[name];\n      if (control) {\n        control.patchValue(/* Guaranteed to be present, due to the outer forEach. */value[name], {\n          onlySelf: true,\n          emitEvent: options.emitEvent\n        });\n      }\n    });\n    this.updateValueAndValidity(options);\n  }\n  /**\n   * Resets the `FormGroup`, marks all descendants `pristine` and `untouched` and sets\n   * the value of all descendants to their default values, or null if no defaults were provided.\n   *\n   * You reset to a specific form state by passing in a map of states\n   * that matches the structure of your form, with control names as keys. The state\n   * is a standalone value or a form state object with both a value and a disabled\n   * status.\n   *\n   * @param value Resets the control with an initial value,\n   * or an object that defines the initial value and disabled state.\n   *\n   * @param options Configuration options that determine how the control propagates changes\n   * and emits events when the group is reset.\n   * * `onlySelf`: When true, each change only affects this control, and not its parent. Default is\n   * false.\n   * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n   * `valueChanges`\n   * observables emit events with the latest status and value when the control is reset.\n   * When false, no events are emitted.\n   * The configuration options are passed to the {@link AbstractControl#updateValueAndValidity\n   * updateValueAndValidity} method.\n   *\n   * @usageNotes\n   *\n   * ### Reset the form group values\n   *\n   * ```ts\n   * const form = new FormGroup({\n   *   first: new FormControl('first name'),\n   *   last: new FormControl('last name')\n   * });\n   *\n   * console.log(form.value);  // {first: 'first name', last: 'last name'}\n   *\n   * form.reset({ first: 'name', last: 'last name' });\n   *\n   * console.log(form.value);  // {first: 'name', last: 'last name'}\n   * ```\n   *\n   * ### Reset the form group values and disabled status\n   *\n   * ```ts\n   * const form = new FormGroup({\n   *   first: new FormControl('first name'),\n   *   last: new FormControl('last name')\n   * });\n   *\n   * form.reset({\n   *   first: {value: 'name', disabled: true},\n   *   last: 'last'\n   * });\n   *\n   * console.log(form.value);  // {last: 'last'}\n   * console.log(form.get('first').status);  // 'DISABLED'\n   * ```\n   */\n  reset(value = {}, options = {}) {\n    this._forEachChild((control, name) => {\n      control.reset(value ? value[name] : null, {\n        onlySelf: true,\n        emitEvent: options.emitEvent\n      });\n    });\n    this._updatePristine(options, this);\n    this._updateTouched(options, this);\n    this.updateValueAndValidity(options);\n  }\n  /**\n   * The aggregate value of the `FormGroup`, including any disabled controls.\n   *\n   * Retrieves all values regardless of disabled status.\n   */\n  getRawValue() {\n    return this._reduceChildren({}, (acc, control, name) => {\n      acc[name] = control.getRawValue();\n      return acc;\n    });\n  }\n  /** @internal */\n  _syncPendingControls() {\n    let subtreeUpdated = this._reduceChildren(false, (updated, child) => {\n      return child._syncPendingControls() ? true : updated;\n    });\n    if (subtreeUpdated) this.updateValueAndValidity({\n      onlySelf: true\n    });\n    return subtreeUpdated;\n  }\n  /** @internal */\n  _forEachChild(cb) {\n    Object.keys(this.controls).forEach(key => {\n      // The list of controls can change (for ex. controls might be removed) while the loop\n      // is running (as a result of invoking Forms API in `valueChanges` subscription), so we\n      // have to null check before invoking the callback.\n      const control = this.controls[key];\n      control && cb(control, key);\n    });\n  }\n  /** @internal */\n  _setUpControls() {\n    this._forEachChild(control => {\n      control.setParent(this);\n      control._registerOnCollectionChange(this._onCollectionChange);\n    });\n  }\n  /** @internal */\n  _updateValue() {\n    this.value = this._reduceValue();\n  }\n  /** @internal */\n  _anyControls(condition) {\n    for (const [controlName, control] of Object.entries(this.controls)) {\n      if (this.contains(controlName) && condition(control)) {\n        return true;\n      }\n    }\n    return false;\n  }\n  /** @internal */\n  _reduceValue() {\n    let acc = {};\n    return this._reduceChildren(acc, (acc, control, name) => {\n      if (control.enabled || this.disabled) {\n        acc[name] = control.value;\n      }\n      return acc;\n    });\n  }\n  /** @internal */\n  _reduceChildren(initValue, fn) {\n    let res = initValue;\n    this._forEachChild((control, name) => {\n      res = fn(res, control, name);\n    });\n    return res;\n  }\n  /** @internal */\n  _allControlsDisabled() {\n    for (const controlName of Object.keys(this.controls)) {\n      if (this.controls[controlName].enabled) {\n        return false;\n      }\n    }\n    return Object.keys(this.controls).length > 0 || this.disabled;\n  }\n  /** @internal */\n  _find(name) {\n    return this.controls.hasOwnProperty(name) ? this.controls[name] : null;\n  }\n}\n/**\n * Will validate that none of the controls has a key with a dot\n * Throws other wise\n */\nfunction validateFormGroupControls(controls) {\n  const invalidKeys = Object.keys(controls).filter(key => key.includes('.'));\n  if (invalidKeys.length > 0) {\n    // TODO: make this an error once there are no more uses in G3\n    console.warn(`FormGroup keys cannot include \\`.\\`, please replace the keys for: ${invalidKeys.join(',')}.`);\n  }\n}\nconst UntypedFormGroup = FormGroup;\n/**\n * @description\n * Asserts that the given control is an instance of `FormGroup`\n *\n * @publicApi\n */\nconst isFormGroup = control => control instanceof FormGroup;\n/**\n * Tracks the value and validity state of a collection of `FormControl` instances, each of which has\n * the same value type.\n *\n * `FormRecord` is very similar to {@link FormGroup}, except it can be used with a dynamic keys,\n * with controls added and removed as needed.\n *\n * `FormRecord` accepts one generic argument, which describes the type of the controls it contains.\n *\n * @usageNotes\n *\n * ```ts\n * let numbers = new FormRecord({bill: new FormControl('415-123-456')});\n * numbers.addControl('bob', new FormControl('415-234-567'));\n * numbers.removeControl('bill');\n * ```\n *\n * @publicApi\n */\nclass FormRecord extends FormGroup {}\n/**\n * @description\n * Asserts that the given control is an instance of `FormRecord`\n *\n * @publicApi\n */\nconst isFormRecord = control => control instanceof FormRecord;\n\n/**\n * Token to provide to allow SetDisabledState to always be called when a CVA is added, regardless of\n * whether the control is disabled or enabled.\n *\n * @see {@link FormsModule#withconfig}\n */\nconst CALL_SET_DISABLED_STATE = /*#__PURE__*/new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'CallSetDisabledState' : '', {\n  providedIn: 'root',\n  factory: () => setDisabledStateDefault\n});\n/**\n * Whether to use the fixed setDisabledState behavior by default.\n */\nconst setDisabledStateDefault = 'always';\nfunction controlPath(name, parent) {\n  return [...parent.path, name];\n}\n/**\n * Links a Form control and a Form directive by setting up callbacks (such as `onChange`) on both\n * instances. This function is typically invoked when form directive is being initialized.\n *\n * @param control Form control instance that should be linked.\n * @param dir Directive that should be linked with a given control.\n */\nfunction setUpControl(control, dir, callSetDisabledState = setDisabledStateDefault) {\n  if (typeof ngDevMode === 'undefined' || ngDevMode) {\n    if (!control) _throwError(dir, 'Cannot find control with');\n    if (!dir.valueAccessor) _throwMissingValueAccessorError(dir);\n  }\n  setUpValidators(control, dir);\n  dir.valueAccessor.writeValue(control.value);\n  // The legacy behavior only calls the CVA's `setDisabledState` if the control is disabled.\n  // If the `callSetDisabledState` option is set to `always`, then this bug is fixed and\n  // the method is always called.\n  if (control.disabled || callSetDisabledState === 'always') {\n    dir.valueAccessor.setDisabledState?.(control.disabled);\n  }\n  setUpViewChangePipeline(control, dir);\n  setUpModelChangePipeline(control, dir);\n  setUpBlurPipeline(control, dir);\n  setUpDisabledChangeHandler(control, dir);\n}\n/**\n * Reverts configuration performed by the `setUpControl` control function.\n * Effectively disconnects form control with a given form directive.\n * This function is typically invoked when corresponding form directive is being destroyed.\n *\n * @param control Form control which should be cleaned up.\n * @param dir Directive that should be disconnected from a given control.\n * @param validateControlPresenceOnChange Flag that indicates whether onChange handler should\n *     contain asserts to verify that it's not called once directive is destroyed. We need this flag\n *     to avoid potentially breaking changes caused by better control cleanup introduced in #39235.\n */\nfunction cleanUpControl(control, dir, validateControlPresenceOnChange = true) {\n  const noop = () => {\n    if (validateControlPresenceOnChange && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n      _noControlError(dir);\n    }\n  };\n  // The `valueAccessor` field is typically defined on FromControl and FormControlName directive\n  // instances and there is a logic in `selectValueAccessor` function that throws if it's not the\n  // case. We still check the presence of `valueAccessor` before invoking its methods to make sure\n  // that cleanup works correctly if app code or tests are setup to ignore the error thrown from\n  // `selectValueAccessor`. See https://github.com/angular/angular/issues/40521.\n  if (dir.valueAccessor) {\n    dir.valueAccessor.registerOnChange(noop);\n    dir.valueAccessor.registerOnTouched(noop);\n  }\n  cleanUpValidators(control, dir);\n  if (control) {\n    dir._invokeOnDestroyCallbacks();\n    control._registerOnCollectionChange(() => {});\n  }\n}\nfunction registerOnValidatorChange(validators, onChange) {\n  validators.forEach(validator => {\n    if (validator.registerOnValidatorChange) validator.registerOnValidatorChange(onChange);\n  });\n}\n/**\n * Sets up disabled change handler function on a given form control if ControlValueAccessor\n * associated with a given directive instance supports the `setDisabledState` call.\n *\n * @param control Form control where disabled change handler should be setup.\n * @param dir Corresponding directive instance associated with this control.\n */\nfunction setUpDisabledChangeHandler(control, dir) {\n  if (dir.valueAccessor.setDisabledState) {\n    const onDisabledChange = isDisabled => {\n      dir.valueAccessor.setDisabledState(isDisabled);\n    };\n    control.registerOnDisabledChange(onDisabledChange);\n    // Register a callback function to cleanup disabled change handler\n    // from a control instance when a directive is destroyed.\n    dir._registerOnDestroy(() => {\n      control._unregisterOnDisabledChange(onDisabledChange);\n    });\n  }\n}\n/**\n * Sets up sync and async directive validators on provided form control.\n * This function merges validators from the directive into the validators of the control.\n *\n * @param control Form control where directive validators should be setup.\n * @param dir Directive instance that contains validators to be setup.\n */\nfunction setUpValidators(control, dir) {\n  const validators = getControlValidators(control);\n  if (dir.validator !== null) {\n    control.setValidators(mergeValidators(validators, dir.validator));\n  } else if (typeof validators === 'function') {\n    // If sync validators are represented by a single validator function, we force the\n    // `Validators.compose` call to happen by executing the `setValidators` function with\n    // an array that contains that function. We need this to avoid possible discrepancies in\n    // validators behavior, so sync validators are always processed by the `Validators.compose`.\n    // Note: we should consider moving this logic inside the `setValidators` function itself, so we\n    // have consistent behavior on AbstractControl API level. The same applies to the async\n    // validators logic below.\n    control.setValidators([validators]);\n  }\n  const asyncValidators = getControlAsyncValidators(control);\n  if (dir.asyncValidator !== null) {\n    control.setAsyncValidators(mergeValidators(asyncValidators, dir.asyncValidator));\n  } else if (typeof asyncValidators === 'function') {\n    control.setAsyncValidators([asyncValidators]);\n  }\n  // Re-run validation when validator binding changes, e.g. minlength=3 -> minlength=4\n  const onValidatorChange = () => control.updateValueAndValidity();\n  registerOnValidatorChange(dir._rawValidators, onValidatorChange);\n  registerOnValidatorChange(dir._rawAsyncValidators, onValidatorChange);\n}\n/**\n * Cleans up sync and async directive validators on provided form control.\n * This function reverts the setup performed by the `setUpValidators` function, i.e.\n * removes directive-specific validators from a given control instance.\n *\n * @param control Form control from where directive validators should be removed.\n * @param dir Directive instance that contains validators to be removed.\n * @returns true if a control was updated as a result of this action.\n */\nfunction cleanUpValidators(control, dir) {\n  let isControlUpdated = false;\n  if (control !== null) {\n    if (dir.validator !== null) {\n      const validators = getControlValidators(control);\n      if (Array.isArray(validators) && validators.length > 0) {\n        // Filter out directive validator function.\n        const updatedValidators = validators.filter(validator => validator !== dir.validator);\n        if (updatedValidators.length !== validators.length) {\n          isControlUpdated = true;\n          control.setValidators(updatedValidators);\n        }\n      }\n    }\n    if (dir.asyncValidator !== null) {\n      const asyncValidators = getControlAsyncValidators(control);\n      if (Array.isArray(asyncValidators) && asyncValidators.length > 0) {\n        // Filter out directive async validator function.\n        const updatedAsyncValidators = asyncValidators.filter(asyncValidator => asyncValidator !== dir.asyncValidator);\n        if (updatedAsyncValidators.length !== asyncValidators.length) {\n          isControlUpdated = true;\n          control.setAsyncValidators(updatedAsyncValidators);\n        }\n      }\n    }\n  }\n  // Clear onValidatorChange callbacks by providing a noop function.\n  const noop = () => {};\n  registerOnValidatorChange(dir._rawValidators, noop);\n  registerOnValidatorChange(dir._rawAsyncValidators, noop);\n  return isControlUpdated;\n}\nfunction setUpViewChangePipeline(control, dir) {\n  dir.valueAccessor.registerOnChange(newValue => {\n    control._pendingValue = newValue;\n    control._pendingChange = true;\n    control._pendingDirty = true;\n    if (control.updateOn === 'change') updateControl(control, dir);\n  });\n}\nfunction setUpBlurPipeline(control, dir) {\n  dir.valueAccessor.registerOnTouched(() => {\n    control._pendingTouched = true;\n    if (control.updateOn === 'blur' && control._pendingChange) updateControl(control, dir);\n    if (control.updateOn !== 'submit') control.markAsTouched();\n  });\n}\nfunction updateControl(control, dir) {\n  if (control._pendingDirty) control.markAsDirty();\n  control.setValue(control._pendingValue, {\n    emitModelToViewChange: false\n  });\n  dir.viewToModelUpdate(control._pendingValue);\n  control._pendingChange = false;\n}\nfunction setUpModelChangePipeline(control, dir) {\n  const onChange = (newValue, emitModelEvent) => {\n    // control -> view\n    dir.valueAccessor.writeValue(newValue);\n    // control -> ngModel\n    if (emitModelEvent) dir.viewToModelUpdate(newValue);\n  };\n  control.registerOnChange(onChange);\n  // Register a callback function to cleanup onChange handler\n  // from a control instance when a directive is destroyed.\n  dir._registerOnDestroy(() => {\n    control._unregisterOnChange(onChange);\n  });\n}\n/**\n * Links a FormGroup or FormArray instance and corresponding Form directive by setting up validators\n * present in the view.\n *\n * @param control FormGroup or FormArray instance that should be linked.\n * @param dir Directive that provides view validators.\n */\nfunction setUpFormContainer(control, dir) {\n  if (control == null && (typeof ngDevMode === 'undefined' || ngDevMode)) _throwError(dir, 'Cannot find control with');\n  setUpValidators(control, dir);\n}\n/**\n * Reverts the setup performed by the `setUpFormContainer` function.\n *\n * @param control FormGroup or FormArray instance that should be cleaned up.\n * @param dir Directive that provided view validators.\n * @returns true if a control was updated as a result of this action.\n */\nfunction cleanUpFormContainer(control, dir) {\n  return cleanUpValidators(control, dir);\n}\nfunction _noControlError(dir) {\n  return _throwError(dir, 'There is no FormControl instance attached to form control element with');\n}\nfunction _throwError(dir, message) {\n  const messageEnd = _describeControlLocation(dir);\n  throw new Error(`${message} ${messageEnd}`);\n}\nfunction _describeControlLocation(dir) {\n  const path = dir.path;\n  if (path && path.length > 1) return `path: '${path.join(' -> ')}'`;\n  if (path?.[0]) return `name: '${path}'`;\n  return 'unspecified name attribute';\n}\nfunction _throwMissingValueAccessorError(dir) {\n  const loc = _describeControlLocation(dir);\n  throw new _RuntimeError(-1203 /* RuntimeErrorCode.NG_MISSING_VALUE_ACCESSOR */, `No value accessor for form control ${loc}.`);\n}\nfunction _throwInvalidValueAccessorError(dir) {\n  const loc = _describeControlLocation(dir);\n  throw new _RuntimeError(1200 /* RuntimeErrorCode.NG_VALUE_ACCESSOR_NOT_PROVIDED */, `Value accessor was not provided as an array for form control with ${loc}. ` + `Check that the \\`NG_VALUE_ACCESSOR\\` token is configured as a \\`multi: true\\` provider.`);\n}\nfunction isPropertyUpdated(changes, viewModel) {\n  if (!changes.hasOwnProperty('model')) return false;\n  const change = changes['model'];\n  if (change.isFirstChange()) return true;\n  return !Object.is(viewModel, change.currentValue);\n}\nfunction isBuiltInAccessor(valueAccessor) {\n  // Check if a given value accessor is an instance of a class that directly extends\n  // `BuiltInControlValueAccessor` one.\n  return Object.getPrototypeOf(valueAccessor.constructor) === BuiltInControlValueAccessor;\n}\nfunction syncPendingControls(form, directives) {\n  form._syncPendingControls();\n  directives.forEach(dir => {\n    const control = dir.control;\n    if (control.updateOn === 'submit' && control._pendingChange) {\n      dir.viewToModelUpdate(control._pendingValue);\n      control._pendingChange = false;\n    }\n  });\n}\n// TODO: vsavkin remove it once https://github.com/angular/angular/issues/3011 is implemented\nfunction selectValueAccessor(dir, valueAccessors) {\n  if (!valueAccessors) return null;\n  if (!Array.isArray(valueAccessors) && (typeof ngDevMode === 'undefined' || ngDevMode)) _throwInvalidValueAccessorError(dir);\n  let defaultAccessor = undefined;\n  let builtinAccessor = undefined;\n  let customAccessor = undefined;\n  valueAccessors.forEach(v => {\n    if (v.constructor === DefaultValueAccessor) {\n      defaultAccessor = v;\n    } else if (isBuiltInAccessor(v)) {\n      if (builtinAccessor && (typeof ngDevMode === 'undefined' || ngDevMode)) _throwError(dir, 'More than one built-in value accessor matches form control with');\n      builtinAccessor = v;\n    } else {\n      if (customAccessor && (typeof ngDevMode === 'undefined' || ngDevMode)) _throwError(dir, 'More than one custom value accessor matches form control with');\n      customAccessor = v;\n    }\n  });\n  if (customAccessor) return customAccessor;\n  if (builtinAccessor) return builtinAccessor;\n  if (defaultAccessor) return defaultAccessor;\n  if (typeof ngDevMode === 'undefined' || ngDevMode) {\n    _throwError(dir, 'No valid value accessor for form control with');\n  }\n  return null;\n}\nfunction removeListItem$1(list, el) {\n  const index = list.indexOf(el);\n  if (index > -1) list.splice(index, 1);\n}\n// TODO(kara): remove after deprecation period\nfunction _ngModelWarning(name, type, instance, warningConfig) {\n  if (warningConfig === 'never') return;\n  if ((warningConfig === null || warningConfig === 'once') && !type._ngModelWarningSentOnce || warningConfig === 'always' && !instance._ngModelWarningSent) {\n    console.warn(ngModelWarning(name));\n    type._ngModelWarningSentOnce = true;\n    instance._ngModelWarningSent = true;\n  }\n}\nconst formDirectiveProvider$1 = {\n  provide: ControlContainer,\n  useExisting: /*#__PURE__*/forwardRef(() => NgForm)\n};\nconst resolvedPromise$1 = /*#__PURE__*/(() => Promise.resolve())();\n/**\n * @description\n * Creates a top-level `FormGroup` instance and binds it to a form\n * to track aggregate form value and validation status.\n *\n * As soon as you import the `FormsModule`, this directive becomes active by default on\n * all `<form>` tags.  You don't need to add a special selector.\n *\n * You optionally export the directive into a local template variable using `ngForm` as the key\n * (ex: `#myForm=\"ngForm\"`). This is optional, but useful.  Many properties from the underlying\n * `FormGroup` instance are duplicated on the directive itself, so a reference to it\n * gives you access to the aggregate value and validity status of the form, as well as\n * user interaction properties like `dirty` and `touched`.\n *\n * To register child controls with the form, use `NgModel` with a `name`\n * attribute. You may use `NgModelGroup` to create sub-groups within the form.\n *\n * If necessary, listen to the directive's `ngSubmit` event to be notified when the user has\n * triggered a form submission. The `ngSubmit` event emits the original form\n * submission event.\n *\n * In template driven forms, all `<form>` tags are automatically tagged as `NgForm`.\n * To import the `FormsModule` but skip its usage in some forms,\n * for example, to use native HTML5 validation, add the `ngNoForm` and the `<form>`\n * tags won't create an `NgForm` directive. In reactive forms, using `ngNoForm` is\n * unnecessary because the `<form>` tags are inert. In that case, you would\n * refrain from using the `formGroup` directive.\n *\n * @usageNotes\n *\n * ### Listening for form submission\n *\n * The following example shows how to capture the form values from the \"ngSubmit\" event.\n *\n * {@example forms/ts/simpleForm/simple_form_example.ts region='Component'}\n *\n * ### Setting the update options\n *\n * The following example shows you how to change the \"updateOn\" option from its default using\n * ngFormOptions.\n *\n * ```html\n * <form [ngFormOptions]=\"{updateOn: 'blur'}\">\n *    <input name=\"one\" ngModel>  <!-- this ngModel will update on blur -->\n * </form>\n * ```\n *\n * ### Native DOM validation UI\n *\n * In order to prevent the native DOM form validation UI from interfering with Angular's form\n * validation, Angular automatically adds the `novalidate` attribute on any `<form>` whenever\n * `FormModule` or `ReactiveFormModule` are imported into the application.\n * If you want to explicitly enable native DOM validation UI with Angular forms, you can add the\n * `ngNativeValidate` attribute to the `<form>` element:\n *\n * ```html\n * <form ngNativeValidate>\n *   ...\n * </form>\n * ```\n *\n * @ngModule FormsModule\n * @publicApi\n */\nlet NgForm = /*#__PURE__*/(() => {\n  class NgForm extends ControlContainer {\n    callSetDisabledState;\n    /**\n     * @description\n     * Returns whether the form submission has been triggered.\n     */\n    get submitted() {\n      return untracked(this.submittedReactive);\n    }\n    /** @internal */\n    _submitted = computed(() => this.submittedReactive());\n    submittedReactive = signal(false);\n    _directives = new Set();\n    /**\n     * @description\n     * The `FormGroup` instance created for this form.\n     */\n    form;\n    /**\n     * @description\n     * Event emitter for the \"ngSubmit\" event\n     */\n    ngSubmit = new EventEmitter();\n    /**\n     * @description\n     * Tracks options for the `NgForm` instance.\n     *\n     * **updateOn**: Sets the default `updateOn` value for all child `NgModels` below it\n     * unless explicitly set by a child `NgModel` using `ngModelOptions`). Defaults to 'change'.\n     * Possible values: `'change'` | `'blur'` | `'submit'`.\n     *\n     */\n    options;\n    constructor(validators, asyncValidators, callSetDisabledState) {\n      super();\n      this.callSetDisabledState = callSetDisabledState;\n      this.form = new FormGroup({}, composeValidators(validators), composeAsyncValidators(asyncValidators));\n    }\n    /** @docs-private */\n    ngAfterViewInit() {\n      this._setUpdateStrategy();\n    }\n    /**\n     * @description\n     * The directive instance.\n     */\n    get formDirective() {\n      return this;\n    }\n    /**\n     * @description\n     * The internal `FormGroup` instance.\n     */\n    get control() {\n      return this.form;\n    }\n    /**\n     * @description\n     * Returns an array representing the path to this group. Because this directive\n     * always lives at the top level of a form, it is always an empty array.\n     */\n    get path() {\n      return [];\n    }\n    /**\n     * @description\n     * Returns a map of the controls in this group.\n     */\n    get controls() {\n      return this.form.controls;\n    }\n    /**\n     * @description\n     * Method that sets up the control directive in this group, re-calculates its value\n     * and validity, and adds the instance to the internal list of directives.\n     *\n     * @param dir The `NgModel` directive instance.\n     */\n    addControl(dir) {\n      resolvedPromise$1.then(() => {\n        const container = this._findContainer(dir.path);\n        dir.control = container.registerControl(dir.name, dir.control);\n        setUpControl(dir.control, dir, this.callSetDisabledState);\n        dir.control.updateValueAndValidity({\n          emitEvent: false\n        });\n        this._directives.add(dir);\n      });\n    }\n    /**\n     * @description\n     * Retrieves the `FormControl` instance from the provided `NgModel` directive.\n     *\n     * @param dir The `NgModel` directive instance.\n     */\n    getControl(dir) {\n      return this.form.get(dir.path);\n    }\n    /**\n     * @description\n     * Removes the `NgModel` instance from the internal list of directives\n     *\n     * @param dir The `NgModel` directive instance.\n     */\n    removeControl(dir) {\n      resolvedPromise$1.then(() => {\n        const container = this._findContainer(dir.path);\n        if (container) {\n          container.removeControl(dir.name);\n        }\n        this._directives.delete(dir);\n      });\n    }\n    /**\n     * @description\n     * Adds a new `NgModelGroup` directive instance to the form.\n     *\n     * @param dir The `NgModelGroup` directive instance.\n     */\n    addFormGroup(dir) {\n      resolvedPromise$1.then(() => {\n        const container = this._findContainer(dir.path);\n        const group = new FormGroup({});\n        setUpFormContainer(group, dir);\n        container.registerControl(dir.name, group);\n        group.updateValueAndValidity({\n          emitEvent: false\n        });\n      });\n    }\n    /**\n     * @description\n     * Removes the `NgModelGroup` directive instance from the form.\n     *\n     * @param dir The `NgModelGroup` directive instance.\n     */\n    removeFormGroup(dir) {\n      resolvedPromise$1.then(() => {\n        const container = this._findContainer(dir.path);\n        if (container) {\n          container.removeControl(dir.name);\n        }\n      });\n    }\n    /**\n     * @description\n     * Retrieves the `FormGroup` for a provided `NgModelGroup` directive instance\n     *\n     * @param dir The `NgModelGroup` directive instance.\n     */\n    getFormGroup(dir) {\n      return this.form.get(dir.path);\n    }\n    /**\n     * Sets the new value for the provided `NgControl` directive.\n     *\n     * @param dir The `NgControl` directive instance.\n     * @param value The new value for the directive's control.\n     */\n    updateModel(dir, value) {\n      resolvedPromise$1.then(() => {\n        const ctrl = this.form.get(dir.path);\n        ctrl.setValue(value);\n      });\n    }\n    /**\n     * @description\n     * Sets the value for this `FormGroup`.\n     *\n     * @param value The new value\n     */\n    setValue(value) {\n      this.control.setValue(value);\n    }\n    /**\n     * @description\n     * Method called when the \"submit\" event is triggered on the form.\n     * Triggers the `ngSubmit` emitter to emit the \"submit\" event as its payload.\n     *\n     * @param $event The \"submit\" event object\n     */\n    onSubmit($event) {\n      this.submittedReactive.set(true);\n      syncPendingControls(this.form, this._directives);\n      this.ngSubmit.emit($event);\n      this.form._events.next(new FormSubmittedEvent(this.control));\n      // Forms with `method=\"dialog\"` have some special behavior\n      // that won't reload the page and that shouldn't be prevented.\n      return $event?.target?.method === 'dialog';\n    }\n    /**\n     * @description\n     * Method called when the \"reset\" event is triggered on the form.\n     */\n    onReset() {\n      this.resetForm();\n    }\n    /**\n     * @description\n     * Resets the form to an initial value and resets its submitted status.\n     *\n     * @param value The new value for the form.\n     */\n    resetForm(value = undefined) {\n      this.form.reset(value);\n      this.submittedReactive.set(false);\n      this.form._events.next(new FormResetEvent(this.form));\n    }\n    _setUpdateStrategy() {\n      if (this.options && this.options.updateOn != null) {\n        this.form._updateOn = this.options.updateOn;\n      }\n    }\n    _findContainer(path) {\n      path.pop();\n      return path.length ? this.form.get(path) : this.form;\n    }\n    static ɵfac = function NgForm_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgForm)(i0.ɵɵdirectiveInject(NG_VALIDATORS, 10), i0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10), i0.ɵɵdirectiveInject(CALL_SET_DISABLED_STATE, 8));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgForm,\n      selectors: [[\"form\", 3, \"ngNoForm\", \"\", 3, \"formGroup\", \"\"], [\"ng-form\"], [\"\", \"ngForm\", \"\"]],\n      hostBindings: function NgForm_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"submit\", function NgForm_submit_HostBindingHandler($event) {\n            return ctx.onSubmit($event);\n          })(\"reset\", function NgForm_reset_HostBindingHandler() {\n            return ctx.onReset();\n          });\n        }\n      },\n      inputs: {\n        options: [0, \"ngFormOptions\", \"options\"]\n      },\n      outputs: {\n        ngSubmit: \"ngSubmit\"\n      },\n      exportAs: [\"ngForm\"],\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([formDirectiveProvider$1]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return NgForm;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction removeListItem(list, el) {\n  const index = list.indexOf(el);\n  if (index > -1) list.splice(index, 1);\n}\nfunction isFormControlState(formState) {\n  return typeof formState === 'object' && formState !== null && Object.keys(formState).length === 2 && 'value' in formState && 'disabled' in formState;\n}\nconst FormControl = class FormControl extends AbstractControl {\n  /** @publicApi */\n  defaultValue = null;\n  /** @internal */\n  _onChange = [];\n  /** @internal */\n  _pendingValue;\n  /** @internal */\n  _pendingChange = false;\n  constructor(\n  // formState and defaultValue will only be null if T is nullable\n  formState = null, validatorOrOpts, asyncValidator) {\n    super(pickValidators(validatorOrOpts), pickAsyncValidators(asyncValidator, validatorOrOpts));\n    this._applyFormState(formState);\n    this._setUpdateStrategy(validatorOrOpts);\n    this._initObservables();\n    this.updateValueAndValidity({\n      onlySelf: true,\n      // If `asyncValidator` is present, it will trigger control status change from `PENDING` to\n      // `VALID` or `INVALID`.\n      // The status should be broadcasted via the `statusChanges` observable, so we set\n      // `emitEvent` to `true` to allow that during the control creation process.\n      emitEvent: !!this.asyncValidator\n    });\n    if (isOptionsObj(validatorOrOpts) && (validatorOrOpts.nonNullable || validatorOrOpts.initialValueIsDefault)) {\n      if (isFormControlState(formState)) {\n        this.defaultValue = formState.value;\n      } else {\n        this.defaultValue = formState;\n      }\n    }\n  }\n  setValue(value, options = {}) {\n    this.value = this._pendingValue = value;\n    if (this._onChange.length && options.emitModelToViewChange !== false) {\n      this._onChange.forEach(changeFn => changeFn(this.value, options.emitViewToModelChange !== false));\n    }\n    this.updateValueAndValidity(options);\n  }\n  patchValue(value, options = {}) {\n    this.setValue(value, options);\n  }\n  reset(formState = this.defaultValue, options = {}) {\n    this._applyFormState(formState);\n    this.markAsPristine(options);\n    this.markAsUntouched(options);\n    this.setValue(this.value, options);\n    this._pendingChange = false;\n  }\n  /**  @internal */\n  _updateValue() {}\n  /**  @internal */\n  _anyControls(condition) {\n    return false;\n  }\n  /**  @internal */\n  _allControlsDisabled() {\n    return this.disabled;\n  }\n  registerOnChange(fn) {\n    this._onChange.push(fn);\n  }\n  /** @internal */\n  _unregisterOnChange(fn) {\n    removeListItem(this._onChange, fn);\n  }\n  registerOnDisabledChange(fn) {\n    this._onDisabledChange.push(fn);\n  }\n  /** @internal */\n  _unregisterOnDisabledChange(fn) {\n    removeListItem(this._onDisabledChange, fn);\n  }\n  /** @internal */\n  _forEachChild(cb) {}\n  /** @internal */\n  _syncPendingControls() {\n    if (this.updateOn === 'submit') {\n      if (this._pendingDirty) this.markAsDirty();\n      if (this._pendingTouched) this.markAsTouched();\n      if (this._pendingChange) {\n        this.setValue(this._pendingValue, {\n          onlySelf: true,\n          emitModelToViewChange: false\n        });\n        return true;\n      }\n    }\n    return false;\n  }\n  _applyFormState(formState) {\n    if (isFormControlState(formState)) {\n      this.value = this._pendingValue = formState.value;\n      formState.disabled ? this.disable({\n        onlySelf: true,\n        emitEvent: false\n      }) : this.enable({\n        onlySelf: true,\n        emitEvent: false\n      });\n    } else {\n      this.value = this._pendingValue = formState;\n    }\n  }\n};\nconst UntypedFormControl = FormControl;\n/**\n * @description\n * Asserts that the given control is an instance of `FormControl`\n *\n * @publicApi\n */\nconst isFormControl = control => control instanceof FormControl;\n\n/**\n * @description\n * A base class for code shared between the `NgModelGroup` and `FormGroupName` directives.\n *\n * @publicApi\n */\nlet AbstractFormGroupDirective = /*#__PURE__*/(() => {\n  class AbstractFormGroupDirective extends ControlContainer {\n    /**\n     * @description\n     * The parent control for the group\n     *\n     * @internal\n     */\n    _parent;\n    /** @docs-private */\n    ngOnInit() {\n      this._checkParentType();\n      // Register the group with its parent group.\n      this.formDirective.addFormGroup(this);\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      if (this.formDirective) {\n        // Remove the group from its parent group.\n        this.formDirective.removeFormGroup(this);\n      }\n    }\n    /**\n     * @description\n     * The `FormGroup` bound to this directive.\n     */\n    get control() {\n      return this.formDirective.getFormGroup(this);\n    }\n    /**\n     * @description\n     * The path to this group from the top-level directive.\n     */\n    get path() {\n      return controlPath(this.name == null ? this.name : this.name.toString(), this._parent);\n    }\n    /**\n     * @description\n     * The top-level directive for this group if present, otherwise null.\n     */\n    get formDirective() {\n      return this._parent ? this._parent.formDirective : null;\n    }\n    /** @internal */\n    _checkParentType() {}\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵAbstractFormGroupDirective_BaseFactory;\n      return function AbstractFormGroupDirective_Factory(__ngFactoryType__) {\n        return (ɵAbstractFormGroupDirective_BaseFactory || (ɵAbstractFormGroupDirective_BaseFactory = i0.ɵɵgetInheritedFactory(AbstractFormGroupDirective)))(__ngFactoryType__ || AbstractFormGroupDirective);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: AbstractFormGroupDirective,\n      standalone: false,\n      features: [i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return AbstractFormGroupDirective;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction modelParentException() {\n  return new _RuntimeError(1350 /* RuntimeErrorCode.NGMODEL_IN_FORM_GROUP */, `\n    ngModel cannot be used to register form controls with a parent formGroup directive.  Try using\n    formGroup's partner directive \"formControlName\" instead.  Example:\n\n    ${formControlNameExample}\n\n    Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:\n\n    Example:\n\n    ${ngModelWithFormGroupExample}`);\n}\nfunction formGroupNameException() {\n  return new _RuntimeError(1351 /* RuntimeErrorCode.NGMODEL_IN_FORM_GROUP_NAME */, `\n    ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\n\n    Option 1: Use formControlName instead of ngModel (reactive strategy):\n\n    ${formGroupNameExample}\n\n    Option 2:  Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n    ${ngModelGroupExample}`);\n}\nfunction missingNameException() {\n  return new _RuntimeError(1352 /* RuntimeErrorCode.NGMODEL_WITHOUT_NAME */, `If ngModel is used within a form tag, either the name attribute must be set or the form\n    control must be defined as 'standalone' in ngModelOptions.\n\n    Example 1: <input [(ngModel)]=\"person.firstName\" name=\"first\">\n    Example 2: <input [(ngModel)]=\"person.firstName\" [ngModelOptions]=\"{standalone: true}\">`);\n}\nfunction modelGroupParentException() {\n  return new _RuntimeError(1353 /* RuntimeErrorCode.NGMODELGROUP_IN_FORM_GROUP */, `\n    ngModelGroup cannot be used with a parent formGroup directive.\n\n    Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n    ${formGroupNameExample}\n\n    Option 2:  Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n    ${ngModelGroupExample}`);\n}\nconst modelGroupProvider = {\n  provide: ControlContainer,\n  useExisting: /*#__PURE__*/forwardRef(() => NgModelGroup)\n};\n/**\n * @description\n * Creates and binds a `FormGroup` instance to a DOM element.\n *\n * This directive can only be used as a child of `NgForm` (within `<form>` tags).\n *\n * Use this directive to validate a sub-group of your form separately from the\n * rest of your form, or if some values in your domain model make more sense\n * to consume together in a nested object.\n *\n * Provide a name for the sub-group and it will become the key\n * for the sub-group in the form's full value. If you need direct access, export the directive into\n * a local template variable using `ngModelGroup` (ex: `#myGroup=\"ngModelGroup\"`).\n *\n * @usageNotes\n *\n * ### Consuming controls in a grouping\n *\n * The following example shows you how to combine controls together in a sub-group\n * of the form.\n *\n * {@example forms/ts/ngModelGroup/ng_model_group_example.ts region='Component'}\n *\n * @ngModule FormsModule\n * @publicApi\n */\nlet NgModelGroup = /*#__PURE__*/(() => {\n  class NgModelGroup extends AbstractFormGroupDirective {\n    /**\n     * @description\n     * Tracks the name of the `NgModelGroup` bound to the directive. The name corresponds\n     * to a key in the parent `NgForm`.\n     */\n    name = '';\n    constructor(parent, validators, asyncValidators) {\n      super();\n      this._parent = parent;\n      this._setValidators(validators);\n      this._setAsyncValidators(asyncValidators);\n    }\n    /** @internal */\n    _checkParentType() {\n      if (!(this._parent instanceof NgModelGroup) && !(this._parent instanceof NgForm) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw modelGroupParentException();\n      }\n    }\n    static ɵfac = function NgModelGroup_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgModelGroup)(i0.ɵɵdirectiveInject(ControlContainer, 5), i0.ɵɵdirectiveInject(NG_VALIDATORS, 10), i0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgModelGroup,\n      selectors: [[\"\", \"ngModelGroup\", \"\"]],\n      inputs: {\n        name: [0, \"ngModelGroup\", \"name\"]\n      },\n      exportAs: [\"ngModelGroup\"],\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([modelGroupProvider]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return NgModelGroup;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst formControlBinding$1 = {\n  provide: NgControl,\n  useExisting: /*#__PURE__*/forwardRef(() => NgModel)\n};\n/**\n * `ngModel` forces an additional change detection run when its inputs change:\n * E.g.:\n * ```html\n * <div>{{myModel.valid}}</div>\n * <input [(ngModel)]=\"myValue\" #myModel=\"ngModel\">\n * ```\n * I.e. `ngModel` can export itself on the element and then be used in the template.\n * Normally, this would result in expressions before the `input` that use the exported directive\n * to have an old value as they have been\n * dirty checked before. As this is a very common case for `ngModel`, we added this second change\n * detection run.\n *\n * Notes:\n * - this is just one extra run no matter how many `ngModel`s have been changed.\n * - this is a general problem when using `exportAs` for directives!\n */\nconst resolvedPromise = /*#__PURE__*/(() => Promise.resolve())();\n/**\n * @description\n * Creates a `FormControl` instance from a [domain\n * model](https://en.wikipedia.org/wiki/Domain_model) and binds it to a form control element.\n *\n * The `FormControl` instance tracks the value, user interaction, and\n * validation status of the control and keeps the view synced with the model. If used\n * within a parent form, the directive also registers itself with the form as a child\n * control.\n *\n * This directive is used by itself or as part of a larger form. Use the\n * `ngModel` selector to activate it.\n *\n * It accepts a domain model as an optional `Input`. If you have a one-way binding\n * to `ngModel` with `[]` syntax, changing the domain model's value in the component\n * class sets the value in the view. If you have a two-way binding with `[()]` syntax\n * (also known as 'banana-in-a-box syntax'), the value in the UI always syncs back to\n * the domain model in your class.\n *\n * To inspect the properties of the associated `FormControl` (like the validity state),\n * export the directive into a local template variable using `ngModel` as the key (ex:\n * `#myVar=\"ngModel\"`). You can then access the control using the directive's `control` property.\n * However, the most commonly used properties (like `valid` and `dirty`) also exist on the control\n * for direct access. See a full list of properties directly available in\n * `AbstractControlDirective`.\n *\n * @see {@link RadioControlValueAccessor}\n * @see {@link SelectControlValueAccessor}\n *\n * @usageNotes\n *\n * ### Using ngModel on a standalone control\n *\n * The following examples show a simple standalone control using `ngModel`:\n *\n * {@example forms/ts/simpleNgModel/simple_ng_model_example.ts region='Component'}\n *\n * When using the `ngModel` within `<form>` tags, you'll also need to supply a `name` attribute\n * so that the control can be registered with the parent form under that name.\n *\n * In the context of a parent form, it's often unnecessary to include one-way or two-way binding,\n * as the parent form syncs the value for you. You access its properties by exporting it into a\n * local template variable using `ngForm` such as (`#f=\"ngForm\"`). Use the variable where\n * needed on form submission.\n *\n * If you do need to populate initial values into your form, using a one-way binding for\n * `ngModel` tends to be sufficient as long as you use the exported form's value rather\n * than the domain model's value on submit.\n *\n * ### Using ngModel within a form\n *\n * The following example shows controls using `ngModel` within a form:\n *\n * {@example forms/ts/simpleForm/simple_form_example.ts region='Component'}\n *\n * ### Using a standalone ngModel within a group\n *\n * The following example shows you how to use a standalone ngModel control\n * within a form. This controls the display of the form, but doesn't contain form data.\n *\n * ```html\n * <form>\n *   <input name=\"login\" ngModel placeholder=\"Login\">\n *   <input type=\"checkbox\" ngModel [ngModelOptions]=\"{standalone: true}\"> Show more options?\n * </form>\n * <!-- form value: {login: ''} -->\n * ```\n *\n * ### Setting the ngModel `name` attribute through options\n *\n * The following example shows you an alternate way to set the name attribute. Here,\n * an attribute identified as name is used within a custom form control component. To still be able\n * to specify the NgModel's name, you must specify it using the `ngModelOptions` input instead.\n *\n * ```html\n * <form>\n *   <my-custom-form-control name=\"Nancy\" ngModel [ngModelOptions]=\"{name: 'user'}\">\n *   </my-custom-form-control>\n * </form>\n * <!-- form value: {user: ''} -->\n * ```\n *\n * @ngModule FormsModule\n * @publicApi\n */\nlet NgModel = /*#__PURE__*/(() => {\n  class NgModel extends NgControl {\n    _changeDetectorRef;\n    callSetDisabledState;\n    control = new FormControl();\n    // At runtime we coerce arbitrary values assigned to the \"disabled\" input to a \"boolean\".\n    // This is not reflected in the type of the property because outside of templates, consumers\n    // should only deal with booleans. In templates, a string is allowed for convenience and to\n    // match the native \"disabled attribute\" semantics which can be observed on input elements.\n    // This static member tells the compiler that values of type \"string\" can also be assigned\n    // to the input in a template.\n    /** @docs-private */\n    static ngAcceptInputType_isDisabled;\n    /** @internal */\n    _registered = false;\n    /**\n     * Internal reference to the view model value.\n     * @docs-private\n     */\n    viewModel;\n    /**\n     * @description\n     * Tracks the name bound to the directive. If a parent form exists, it\n     * uses this name as a key to retrieve this control's value.\n     */\n    name = '';\n    /**\n     * @description\n     * Tracks whether the control is disabled.\n     */\n    isDisabled;\n    /**\n     * @description\n     * Tracks the value bound to this directive.\n     */\n    model;\n    /**\n     * @description\n     * Tracks the configuration options for this `ngModel` instance.\n     *\n     * **name**: An alternative to setting the name attribute on the form control element. See\n     * the [example](api/forms/NgModel#using-ngmodel-on-a-standalone-control) for using `NgModel`\n     * as a standalone control.\n     *\n     * **standalone**: When set to true, the `ngModel` will not register itself with its parent form,\n     * and acts as if it's not in the form. Defaults to false. If no parent form exists, this option\n     * has no effect.\n     *\n     * **updateOn**: Defines the event upon which the form control value and validity update.\n     * Defaults to 'change'. Possible values: `'change'` | `'blur'` | `'submit'`.\n     *\n     */\n    options;\n    /**\n     * @description\n     * Event emitter for producing the `ngModelChange` event after\n     * the view model updates.\n     */\n    update = new EventEmitter();\n    constructor(parent, validators, asyncValidators, valueAccessors, _changeDetectorRef, callSetDisabledState) {\n      super();\n      this._changeDetectorRef = _changeDetectorRef;\n      this.callSetDisabledState = callSetDisabledState;\n      this._parent = parent;\n      this._setValidators(validators);\n      this._setAsyncValidators(asyncValidators);\n      this.valueAccessor = selectValueAccessor(this, valueAccessors);\n    }\n    /** @docs-private */\n    ngOnChanges(changes) {\n      this._checkForErrors();\n      if (!this._registered || 'name' in changes) {\n        if (this._registered) {\n          this._checkName();\n          if (this.formDirective) {\n            // We can't call `formDirective.removeControl(this)`, because the `name` has already been\n            // changed. We also can't reset the name temporarily since the logic in `removeControl`\n            // is inside a promise and it won't run immediately. We work around it by giving it an\n            // object with the same shape instead.\n            const oldName = changes['name'].previousValue;\n            this.formDirective.removeControl({\n              name: oldName,\n              path: this._getPath(oldName)\n            });\n          }\n        }\n        this._setUpControl();\n      }\n      if ('isDisabled' in changes) {\n        this._updateDisabled(changes);\n      }\n      if (isPropertyUpdated(changes, this.viewModel)) {\n        this._updateValue(this.model);\n        this.viewModel = this.model;\n      }\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      this.formDirective && this.formDirective.removeControl(this);\n    }\n    /**\n     * @description\n     * Returns an array that represents the path from the top-level form to this control.\n     * Each index is the string name of the control on that level.\n     */\n    get path() {\n      return this._getPath(this.name);\n    }\n    /**\n     * @description\n     * The top-level directive for this control if present, otherwise null.\n     */\n    get formDirective() {\n      return this._parent ? this._parent.formDirective : null;\n    }\n    /**\n     * @description\n     * Sets the new value for the view model and emits an `ngModelChange` event.\n     *\n     * @param newValue The new value emitted by `ngModelChange`.\n     */\n    viewToModelUpdate(newValue) {\n      this.viewModel = newValue;\n      this.update.emit(newValue);\n    }\n    _setUpControl() {\n      this._setUpdateStrategy();\n      this._isStandalone() ? this._setUpStandalone() : this.formDirective.addControl(this);\n      this._registered = true;\n    }\n    _setUpdateStrategy() {\n      if (this.options && this.options.updateOn != null) {\n        this.control._updateOn = this.options.updateOn;\n      }\n    }\n    _isStandalone() {\n      return !this._parent || !!(this.options && this.options.standalone);\n    }\n    _setUpStandalone() {\n      setUpControl(this.control, this, this.callSetDisabledState);\n      this.control.updateValueAndValidity({\n        emitEvent: false\n      });\n    }\n    _checkForErrors() {\n      if ((typeof ngDevMode === 'undefined' || ngDevMode) && !this._isStandalone()) {\n        checkParentType$1(this._parent);\n      }\n      this._checkName();\n    }\n    _checkName() {\n      if (this.options && this.options.name) this.name = this.options.name;\n      if (!this._isStandalone() && !this.name && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw missingNameException();\n      }\n    }\n    _updateValue(value) {\n      resolvedPromise.then(() => {\n        this.control.setValue(value, {\n          emitViewToModelChange: false\n        });\n        this._changeDetectorRef?.markForCheck();\n      });\n    }\n    _updateDisabled(changes) {\n      const disabledValue = changes['isDisabled'].currentValue;\n      // checking for 0 to avoid breaking change\n      const isDisabled = disabledValue !== 0 && booleanAttribute(disabledValue);\n      resolvedPromise.then(() => {\n        if (isDisabled && !this.control.disabled) {\n          this.control.disable();\n        } else if (!isDisabled && this.control.disabled) {\n          this.control.enable();\n        }\n        this._changeDetectorRef?.markForCheck();\n      });\n    }\n    _getPath(controlName) {\n      return this._parent ? controlPath(controlName, this._parent) : [controlName];\n    }\n    static ɵfac = function NgModel_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgModel)(i0.ɵɵdirectiveInject(ControlContainer, 9), i0.ɵɵdirectiveInject(NG_VALIDATORS, 10), i0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10), i0.ɵɵdirectiveInject(NG_VALUE_ACCESSOR, 10), i0.ɵɵdirectiveInject(ChangeDetectorRef, 8), i0.ɵɵdirectiveInject(CALL_SET_DISABLED_STATE, 8));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgModel,\n      selectors: [[\"\", \"ngModel\", \"\", 3, \"formControlName\", \"\", 3, \"formControl\", \"\"]],\n      inputs: {\n        name: \"name\",\n        isDisabled: [0, \"disabled\", \"isDisabled\"],\n        model: [0, \"ngModel\", \"model\"],\n        options: [0, \"ngModelOptions\", \"options\"]\n      },\n      outputs: {\n        update: \"ngModelChange\"\n      },\n      exportAs: [\"ngModel\"],\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([formControlBinding$1]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return NgModel;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction checkParentType$1(parent) {\n  if (!(parent instanceof NgModelGroup) && parent instanceof AbstractFormGroupDirective) {\n    throw formGroupNameException();\n  } else if (!(parent instanceof NgModelGroup) && !(parent instanceof NgForm)) {\n    throw modelParentException();\n  }\n}\n\n/**\n * @description\n *\n * Adds `novalidate` attribute to all forms by default.\n *\n * `novalidate` is used to disable browser's native form validation.\n *\n * If you want to use native validation with Angular forms, just add `ngNativeValidate` attribute:\n *\n * ```html\n * <form ngNativeValidate></form>\n * ```\n *\n * @publicApi\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n */\nlet ɵNgNoValidate = /*#__PURE__*/(() => {\n  class ɵNgNoValidate {\n    static ɵfac = function ɵNgNoValidate_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ɵNgNoValidate)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: ɵNgNoValidate,\n      selectors: [[\"form\", 3, \"ngNoForm\", \"\", 3, \"ngNativeValidate\", \"\"]],\n      hostAttrs: [\"novalidate\", \"\"],\n      standalone: false\n    });\n  }\n  return ɵNgNoValidate;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst NUMBER_VALUE_ACCESSOR = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: /*#__PURE__*/forwardRef(() => NumberValueAccessor),\n  multi: true\n};\n/**\n * @description\n * The `ControlValueAccessor` for writing a number value and listening to number input changes.\n * The value accessor is used by the `FormControlDirective`, `FormControlName`, and `NgModel`\n * directives.\n *\n * @usageNotes\n *\n * ### Using a number input with a reactive form.\n *\n * The following example shows how to use a number input with a reactive form.\n *\n * ```ts\n * const totalCountControl = new FormControl();\n * ```\n *\n * ```html\n * <input type=\"number\" [formControl]=\"totalCountControl\">\n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet NumberValueAccessor = /*#__PURE__*/(() => {\n  class NumberValueAccessor extends BuiltInControlValueAccessor {\n    /**\n     * Sets the \"value\" property on the input element.\n     * @docs-private\n     */\n    writeValue(value) {\n      // The value needs to be normalized for IE9, otherwise it is set to 'null' when null\n      const normalizedValue = value == null ? '' : value;\n      this.setProperty('value', normalizedValue);\n    }\n    /**\n     * Registers a function called when the control value changes.\n     * @docs-private\n     */\n    registerOnChange(fn) {\n      this.onChange = value => {\n        fn(value == '' ? null : parseFloat(value));\n      };\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵNumberValueAccessor_BaseFactory;\n      return function NumberValueAccessor_Factory(__ngFactoryType__) {\n        return (ɵNumberValueAccessor_BaseFactory || (ɵNumberValueAccessor_BaseFactory = i0.ɵɵgetInheritedFactory(NumberValueAccessor)))(__ngFactoryType__ || NumberValueAccessor);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NumberValueAccessor,\n      selectors: [[\"input\", \"type\", \"number\", \"formControlName\", \"\"], [\"input\", \"type\", \"number\", \"formControl\", \"\"], [\"input\", \"type\", \"number\", \"ngModel\", \"\"]],\n      hostBindings: function NumberValueAccessor_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"input\", function NumberValueAccessor_input_HostBindingHandler($event) {\n            return ctx.onChange($event.target.value);\n          })(\"blur\", function NumberValueAccessor_blur_HostBindingHandler() {\n            return ctx.onTouched();\n          });\n        }\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([NUMBER_VALUE_ACCESSOR]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return NumberValueAccessor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst RADIO_VALUE_ACCESSOR = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: /*#__PURE__*/forwardRef(() => RadioControlValueAccessor),\n  multi: true\n};\nfunction throwNameError() {\n  throw new _RuntimeError(1202 /* RuntimeErrorCode.NAME_AND_FORM_CONTROL_NAME_MUST_MATCH */, `\n      If you define both a name and a formControlName attribute on your radio button, their values\n      must match. Ex: <input type=\"radio\" formControlName=\"food\" name=\"food\">\n    `);\n}\n/**\n * @description\n * Class used by Angular to track radio buttons. For internal use only.\n */\nlet RadioControlRegistry = /*#__PURE__*/(() => {\n  class RadioControlRegistry {\n    _accessors = [];\n    /**\n     * @description\n     * Adds a control to the internal registry. For internal use only.\n     */\n    add(control, accessor) {\n      this._accessors.push([control, accessor]);\n    }\n    /**\n     * @description\n     * Removes a control from the internal registry. For internal use only.\n     */\n    remove(accessor) {\n      for (let i = this._accessors.length - 1; i >= 0; --i) {\n        if (this._accessors[i][1] === accessor) {\n          this._accessors.splice(i, 1);\n          return;\n        }\n      }\n    }\n    /**\n     * @description\n     * Selects a radio button. For internal use only.\n     */\n    select(accessor) {\n      this._accessors.forEach(c => {\n        if (this._isSameGroup(c, accessor) && c[1] !== accessor) {\n          c[1].fireUncheck(accessor.value);\n        }\n      });\n    }\n    _isSameGroup(controlPair, accessor) {\n      if (!controlPair[0].control) return false;\n      return controlPair[0]._parent === accessor._control._parent && controlPair[1].name === accessor.name;\n    }\n    static ɵfac = function RadioControlRegistry_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || RadioControlRegistry)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: RadioControlRegistry,\n      factory: RadioControlRegistry.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return RadioControlRegistry;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n * The `ControlValueAccessor` for writing radio control values and listening to radio control\n * changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @usageNotes\n *\n * ### Using radio buttons with reactive form directives\n *\n * The follow example shows how to use radio buttons in a reactive form. When using radio buttons in\n * a reactive form, radio buttons in the same group should have the same `formControlName`.\n * Providing a `name` attribute is optional.\n *\n * {@example forms/ts/reactiveRadioButtons/reactive_radio_button_example.ts region='Reactive'}\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet RadioControlValueAccessor = /*#__PURE__*/(() => {\n  class RadioControlValueAccessor extends BuiltInControlValueAccessor {\n    _registry;\n    _injector;\n    /** @internal */\n    _state;\n    /** @internal */\n    _control;\n    /** @internal */\n    _fn;\n    setDisabledStateFired = false;\n    /**\n     * The registered callback function called when a change event occurs on the input element.\n     * Note: we declare `onChange` here (also used as host listener) as a function with no arguments\n     * to override the `onChange` function (which expects 1 argument) in the parent\n     * `BaseControlValueAccessor` class.\n     * @docs-private\n     */\n    onChange = () => {};\n    /**\n     * @description\n     * Tracks the name of the radio input element.\n     */\n    name;\n    /**\n     * @description\n     * Tracks the name of the `FormControl` bound to the directive. The name corresponds\n     * to a key in the parent `FormGroup` or `FormArray`.\n     */\n    formControlName;\n    /**\n     * @description\n     * Tracks the value of the radio input element\n     */\n    value;\n    callSetDisabledState = inject(CALL_SET_DISABLED_STATE, {\n      optional: true\n    }) ?? setDisabledStateDefault;\n    constructor(renderer, elementRef, _registry, _injector) {\n      super(renderer, elementRef);\n      this._registry = _registry;\n      this._injector = _injector;\n    }\n    /** @docs-private */\n    ngOnInit() {\n      this._control = this._injector.get(NgControl);\n      this._checkName();\n      this._registry.add(this._control, this);\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      this._registry.remove(this);\n    }\n    /**\n     * Sets the \"checked\" property value on the radio input element.\n     * @docs-private\n     */\n    writeValue(value) {\n      this._state = value === this.value;\n      this.setProperty('checked', this._state);\n    }\n    /**\n     * Registers a function called when the control value changes.\n     * @docs-private\n     */\n    registerOnChange(fn) {\n      this._fn = fn;\n      this.onChange = () => {\n        fn(this.value);\n        this._registry.select(this);\n      };\n    }\n    /** @docs-private */\n    setDisabledState(isDisabled) {\n      /**\n       * `setDisabledState` is supposed to be called whenever the disabled state of a control changes,\n       * including upon control creation. However, a longstanding bug caused the method to not fire\n       * when an *enabled* control was attached. This bug was fixed in v15 in #47576.\n       *\n       * This had a side effect: previously, it was possible to instantiate a reactive form control\n       * with `[attr.disabled]=true`, even though the corresponding control was enabled in the\n       * model. This resulted in a mismatch between the model and the DOM. Now, because\n       * `setDisabledState` is always called, the value in the DOM will be immediately overwritten\n       * with the \"correct\" enabled value.\n       *\n       * However, the fix also created an exceptional case: radio buttons. Because Reactive Forms\n       * models the entire group of radio buttons as a single `FormControl`, there is no way to\n       * control the disabled state for individual radios, so they can no longer be configured as\n       * disabled. Thus, we keep the old behavior for radio buttons, so that `[attr.disabled]`\n       * continues to work. Specifically, we drop the first call to `setDisabledState` if `disabled`\n       * is `false`, and we are not in legacy mode.\n       */\n      if (this.setDisabledStateFired || isDisabled || this.callSetDisabledState === 'whenDisabledForLegacyCode') {\n        this.setProperty('disabled', isDisabled);\n      }\n      this.setDisabledStateFired = true;\n    }\n    /**\n     * Sets the \"value\" on the radio input element and unchecks it.\n     *\n     * @param value\n     */\n    fireUncheck(value) {\n      this.writeValue(value);\n    }\n    _checkName() {\n      if (this.name && this.formControlName && this.name !== this.formControlName && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throwNameError();\n      }\n      if (!this.name && this.formControlName) this.name = this.formControlName;\n    }\n    static ɵfac = function RadioControlValueAccessor_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || RadioControlValueAccessor)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(RadioControlRegistry), i0.ɵɵdirectiveInject(i0.Injector));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: RadioControlValueAccessor,\n      selectors: [[\"input\", \"type\", \"radio\", \"formControlName\", \"\"], [\"input\", \"type\", \"radio\", \"formControl\", \"\"], [\"input\", \"type\", \"radio\", \"ngModel\", \"\"]],\n      hostBindings: function RadioControlValueAccessor_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"change\", function RadioControlValueAccessor_change_HostBindingHandler() {\n            return ctx.onChange();\n          })(\"blur\", function RadioControlValueAccessor_blur_HostBindingHandler() {\n            return ctx.onTouched();\n          });\n        }\n      },\n      inputs: {\n        name: \"name\",\n        formControlName: \"formControlName\",\n        value: \"value\"\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([RADIO_VALUE_ACCESSOR]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return RadioControlValueAccessor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst RANGE_VALUE_ACCESSOR = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: /*#__PURE__*/forwardRef(() => RangeValueAccessor),\n  multi: true\n};\n/**\n * @description\n * The `ControlValueAccessor` for writing a range value and listening to range input changes.\n * The value accessor is used by the `FormControlDirective`, `FormControlName`, and  `NgModel`\n * directives.\n *\n * @usageNotes\n *\n * ### Using a range input with a reactive form\n *\n * The following example shows how to use a range input with a reactive form.\n *\n * ```ts\n * const ageControl = new FormControl();\n * ```\n *\n * ```html\n * <input type=\"range\" [formControl]=\"ageControl\">\n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet RangeValueAccessor = /*#__PURE__*/(() => {\n  class RangeValueAccessor extends BuiltInControlValueAccessor {\n    /**\n     * Sets the \"value\" property on the input element.\n     * @docs-private\n     */\n    writeValue(value) {\n      this.setProperty('value', parseFloat(value));\n    }\n    /**\n     * Registers a function called when the control value changes.\n     * @docs-private\n     */\n    registerOnChange(fn) {\n      this.onChange = value => {\n        fn(value == '' ? null : parseFloat(value));\n      };\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵRangeValueAccessor_BaseFactory;\n      return function RangeValueAccessor_Factory(__ngFactoryType__) {\n        return (ɵRangeValueAccessor_BaseFactory || (ɵRangeValueAccessor_BaseFactory = i0.ɵɵgetInheritedFactory(RangeValueAccessor)))(__ngFactoryType__ || RangeValueAccessor);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: RangeValueAccessor,\n      selectors: [[\"input\", \"type\", \"range\", \"formControlName\", \"\"], [\"input\", \"type\", \"range\", \"formControl\", \"\"], [\"input\", \"type\", \"range\", \"ngModel\", \"\"]],\n      hostBindings: function RangeValueAccessor_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"change\", function RangeValueAccessor_change_HostBindingHandler($event) {\n            return ctx.onChange($event.target.value);\n          })(\"input\", function RangeValueAccessor_input_HostBindingHandler($event) {\n            return ctx.onChange($event.target.value);\n          })(\"blur\", function RangeValueAccessor_blur_HostBindingHandler() {\n            return ctx.onTouched();\n          });\n        }\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([RANGE_VALUE_ACCESSOR]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return RangeValueAccessor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Token to provide to turn off the ngModel warning on formControl and formControlName.\n */\nconst NG_MODEL_WITH_FORM_CONTROL_WARNING = /*#__PURE__*/new InjectionToken(ngDevMode ? 'NgModelWithFormControlWarning' : '');\nconst formControlBinding = {\n  provide: NgControl,\n  useExisting: /*#__PURE__*/forwardRef(() => FormControlDirective)\n};\n/**\n * @description\n * Synchronizes a standalone `FormControl` instance to a form control element.\n *\n * Note that support for using the `ngModel` input property and `ngModelChange` event with reactive\n * form directives was deprecated in Angular v6 and is scheduled for removal in\n * a future version of Angular.\n *\n * @see [Reactive Forms Guide](guide/forms/reactive-forms)\n * @see {@link FormControl}\n * @see {@link AbstractControl}\n *\n * @usageNotes\n *\n * The following example shows how to register a standalone control and set its value.\n *\n * {@example forms/ts/simpleFormControl/simple_form_control_example.ts region='Component'}\n *\n * @ngModule ReactiveFormsModule\n * @publicApi\n */\nlet FormControlDirective = /*#__PURE__*/(() => {\n  class FormControlDirective extends NgControl {\n    _ngModelWarningConfig;\n    callSetDisabledState;\n    /**\n     * Internal reference to the view model value.\n     * @docs-private\n     */\n    viewModel;\n    /**\n     * @description\n     * Tracks the `FormControl` instance bound to the directive.\n     */\n    form;\n    /**\n     * @description\n     * Triggers a warning in dev mode that this input should not be used with reactive forms.\n     */\n    set isDisabled(isDisabled) {\n      if (typeof ngDevMode === 'undefined' || ngDevMode) {\n        console.warn(disabledAttrWarning);\n      }\n    }\n    // TODO(kara): remove next 4 properties once deprecation period is over\n    /** @deprecated as of v6 */\n    model;\n    /** @deprecated as of v6 */\n    update = new EventEmitter();\n    /**\n     * @description\n     * Static property used to track whether any ngModel warnings have been sent across\n     * all instances of FormControlDirective. Used to support warning config of \"once\".\n     *\n     * @internal\n     */\n    static _ngModelWarningSentOnce = false;\n    /**\n     * @description\n     * Instance property used to track whether an ngModel warning has been sent out for this\n     * particular `FormControlDirective` instance. Used to support warning config of \"always\".\n     *\n     * @internal\n     */\n    _ngModelWarningSent = false;\n    constructor(validators, asyncValidators, valueAccessors, _ngModelWarningConfig, callSetDisabledState) {\n      super();\n      this._ngModelWarningConfig = _ngModelWarningConfig;\n      this.callSetDisabledState = callSetDisabledState;\n      this._setValidators(validators);\n      this._setAsyncValidators(asyncValidators);\n      this.valueAccessor = selectValueAccessor(this, valueAccessors);\n    }\n    /** @docs-private */\n    ngOnChanges(changes) {\n      if (this._isControlChanged(changes)) {\n        const previousForm = changes['form'].previousValue;\n        if (previousForm) {\n          cleanUpControl(previousForm, this, /* validateControlPresenceOnChange */false);\n        }\n        setUpControl(this.form, this, this.callSetDisabledState);\n        this.form.updateValueAndValidity({\n          emitEvent: false\n        });\n      }\n      if (isPropertyUpdated(changes, this.viewModel)) {\n        if (typeof ngDevMode === 'undefined' || ngDevMode) {\n          _ngModelWarning('formControl', FormControlDirective, this, this._ngModelWarningConfig);\n        }\n        this.form.setValue(this.model);\n        this.viewModel = this.model;\n      }\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      if (this.form) {\n        cleanUpControl(this.form, this, /* validateControlPresenceOnChange */false);\n      }\n    }\n    /**\n     * @description\n     * Returns an array that represents the path from the top-level form to this control.\n     * Each index is the string name of the control on that level.\n     */\n    get path() {\n      return [];\n    }\n    /**\n     * @description\n     * The `FormControl` bound to this directive.\n     */\n    get control() {\n      return this.form;\n    }\n    /**\n     * @description\n     * Sets the new value for the view model and emits an `ngModelChange` event.\n     *\n     * @param newValue The new value for the view model.\n     */\n    viewToModelUpdate(newValue) {\n      this.viewModel = newValue;\n      this.update.emit(newValue);\n    }\n    _isControlChanged(changes) {\n      return changes.hasOwnProperty('form');\n    }\n    static ɵfac = function FormControlDirective_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || FormControlDirective)(i0.ɵɵdirectiveInject(NG_VALIDATORS, 10), i0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10), i0.ɵɵdirectiveInject(NG_VALUE_ACCESSOR, 10), i0.ɵɵdirectiveInject(NG_MODEL_WITH_FORM_CONTROL_WARNING, 8), i0.ɵɵdirectiveInject(CALL_SET_DISABLED_STATE, 8));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: FormControlDirective,\n      selectors: [[\"\", \"formControl\", \"\"]],\n      inputs: {\n        form: [0, \"formControl\", \"form\"],\n        isDisabled: [0, \"disabled\", \"isDisabled\"],\n        model: [0, \"ngModel\", \"model\"]\n      },\n      outputs: {\n        update: \"ngModelChange\"\n      },\n      exportAs: [\"ngForm\"],\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([formControlBinding]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return FormControlDirective;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst formDirectiveProvider = {\n  provide: ControlContainer,\n  useExisting: /*#__PURE__*/forwardRef(() => FormGroupDirective)\n};\n/**\n * @description\n *\n * Binds an existing `FormGroup` or `FormRecord` to a DOM element.\n *\n * This directive accepts an existing `FormGroup` instance. It will then use this\n * `FormGroup` instance to match any child `FormControl`, `FormGroup`/`FormRecord`,\n * and `FormArray` instances to child `FormControlName`, `FormGroupName`,\n * and `FormArrayName` directives.\n *\n * @see [Reactive Forms Guide](guide/forms/reactive-forms)\n * @see {@link AbstractControl}\n *\n * @usageNotes\n * ### Register Form Group\n *\n * The following example registers a `FormGroup` with first name and last name controls,\n * and listens for the *ngSubmit* event when the button is clicked.\n *\n * {@example forms/ts/simpleFormGroup/simple_form_group_example.ts region='Component'}\n *\n * @ngModule ReactiveFormsModule\n * @publicApi\n */\nlet FormGroupDirective = /*#__PURE__*/(() => {\n  class FormGroupDirective extends ControlContainer {\n    callSetDisabledState;\n    /**\n     * @description\n     * Reports whether the form submission has been triggered.\n     */\n    get submitted() {\n      return untracked(this._submittedReactive);\n    }\n    // TODO(atscott): Remove once invalid API usage is cleaned up internally\n    set submitted(value) {\n      this._submittedReactive.set(value);\n    }\n    /** @internal */\n    _submitted = computed(() => this._submittedReactive());\n    _submittedReactive = signal(false);\n    /**\n     * Reference to an old form group input value, which is needed to cleanup\n     * old instance in case it was replaced with a new one.\n     */\n    _oldForm;\n    /**\n     * Callback that should be invoked when controls in FormGroup or FormArray collection change\n     * (added or removed). This callback triggers corresponding DOM updates.\n     */\n    _onCollectionChange = () => this._updateDomValue();\n    /**\n     * @description\n     * Tracks the list of added `FormControlName` instances\n     */\n    directives = [];\n    /**\n     * @description\n     * Tracks the `FormGroup` bound to this directive.\n     */\n    form = null;\n    /**\n     * @description\n     * Emits an event when the form submission has been triggered.\n     */\n    ngSubmit = new EventEmitter();\n    constructor(validators, asyncValidators, callSetDisabledState) {\n      super();\n      this.callSetDisabledState = callSetDisabledState;\n      this._setValidators(validators);\n      this._setAsyncValidators(asyncValidators);\n    }\n    /** @docs-private */\n    ngOnChanges(changes) {\n      if ((typeof ngDevMode === 'undefined' || ngDevMode) && !this.form) {\n        throw missingFormException();\n      }\n      if (changes.hasOwnProperty('form')) {\n        this._updateValidators();\n        this._updateDomValue();\n        this._updateRegistrations();\n        this._oldForm = this.form;\n      }\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      if (this.form) {\n        cleanUpValidators(this.form, this);\n        // Currently the `onCollectionChange` callback is rewritten each time the\n        // `_registerOnCollectionChange` function is invoked. The implication is that cleanup should\n        // happen *only* when the `onCollectionChange` callback was set by this directive instance.\n        // Otherwise it might cause overriding a callback of some other directive instances. We should\n        // consider updating this logic later to make it similar to how `onChange` callbacks are\n        // handled, see https://github.com/angular/angular/issues/39732 for additional info.\n        if (this.form._onCollectionChange === this._onCollectionChange) {\n          this.form._registerOnCollectionChange(() => {});\n        }\n      }\n    }\n    /**\n     * @description\n     * Returns this directive's instance.\n     */\n    get formDirective() {\n      return this;\n    }\n    /**\n     * @description\n     * Returns the `FormGroup` bound to this directive.\n     */\n    get control() {\n      return this.form;\n    }\n    /**\n     * @description\n     * Returns an array representing the path to this group. Because this directive\n     * always lives at the top level of a form, it always an empty array.\n     */\n    get path() {\n      return [];\n    }\n    /**\n     * @description\n     * Method that sets up the control directive in this group, re-calculates its value\n     * and validity, and adds the instance to the internal list of directives.\n     *\n     * @param dir The `FormControlName` directive instance.\n     */\n    addControl(dir) {\n      const ctrl = this.form.get(dir.path);\n      setUpControl(ctrl, dir, this.callSetDisabledState);\n      ctrl.updateValueAndValidity({\n        emitEvent: false\n      });\n      this.directives.push(dir);\n      return ctrl;\n    }\n    /**\n     * @description\n     * Retrieves the `FormControl` instance from the provided `FormControlName` directive\n     *\n     * @param dir The `FormControlName` directive instance.\n     */\n    getControl(dir) {\n      return this.form.get(dir.path);\n    }\n    /**\n     * @description\n     * Removes the `FormControlName` instance from the internal list of directives\n     *\n     * @param dir The `FormControlName` directive instance.\n     */\n    removeControl(dir) {\n      cleanUpControl(dir.control || null, dir, /* validateControlPresenceOnChange */false);\n      removeListItem$1(this.directives, dir);\n    }\n    /**\n     * Adds a new `FormGroupName` directive instance to the form.\n     *\n     * @param dir The `FormGroupName` directive instance.\n     */\n    addFormGroup(dir) {\n      this._setUpFormContainer(dir);\n    }\n    /**\n     * Performs the necessary cleanup when a `FormGroupName` directive instance is removed from the\n     * view.\n     *\n     * @param dir The `FormGroupName` directive instance.\n     */\n    removeFormGroup(dir) {\n      this._cleanUpFormContainer(dir);\n    }\n    /**\n     * @description\n     * Retrieves the `FormGroup` for a provided `FormGroupName` directive instance\n     *\n     * @param dir The `FormGroupName` directive instance.\n     */\n    getFormGroup(dir) {\n      return this.form.get(dir.path);\n    }\n    /**\n     * Performs the necessary setup when a `FormArrayName` directive instance is added to the view.\n     *\n     * @param dir The `FormArrayName` directive instance.\n     */\n    addFormArray(dir) {\n      this._setUpFormContainer(dir);\n    }\n    /**\n     * Performs the necessary cleanup when a `FormArrayName` directive instance is removed from the\n     * view.\n     *\n     * @param dir The `FormArrayName` directive instance.\n     */\n    removeFormArray(dir) {\n      this._cleanUpFormContainer(dir);\n    }\n    /**\n     * @description\n     * Retrieves the `FormArray` for a provided `FormArrayName` directive instance.\n     *\n     * @param dir The `FormArrayName` directive instance.\n     */\n    getFormArray(dir) {\n      return this.form.get(dir.path);\n    }\n    /**\n     * Sets the new value for the provided `FormControlName` directive.\n     *\n     * @param dir The `FormControlName` directive instance.\n     * @param value The new value for the directive's control.\n     */\n    updateModel(dir, value) {\n      const ctrl = this.form.get(dir.path);\n      ctrl.setValue(value);\n    }\n    /**\n     * @description\n     * Method called with the \"submit\" event is triggered on the form.\n     * Triggers the `ngSubmit` emitter to emit the \"submit\" event as its payload.\n     *\n     * @param $event The \"submit\" event object\n     */\n    onSubmit($event) {\n      this._submittedReactive.set(true);\n      syncPendingControls(this.form, this.directives);\n      this.ngSubmit.emit($event);\n      this.form._events.next(new FormSubmittedEvent(this.control));\n      // Forms with `method=\"dialog\"` have some special behavior that won't reload the page and that\n      // shouldn't be prevented. Note that we need to null check the `event` and the `target`, because\n      // some internal apps call this method directly with the wrong arguments.\n      return $event?.target?.method === 'dialog';\n    }\n    /**\n     * @description\n     * Method called when the \"reset\" event is triggered on the form.\n     */\n    onReset() {\n      this.resetForm();\n    }\n    /**\n     * @description\n     * Resets the form to an initial value and resets its submitted status.\n     *\n     * @param value The new value for the form.\n     */\n    resetForm(value = undefined) {\n      this.form.reset(value);\n      this._submittedReactive.set(false);\n      this.form._events.next(new FormResetEvent(this.form));\n    }\n    /** @internal */\n    _updateDomValue() {\n      this.directives.forEach(dir => {\n        const oldCtrl = dir.control;\n        const newCtrl = this.form.get(dir.path);\n        if (oldCtrl !== newCtrl) {\n          // Note: the value of the `dir.control` may not be defined, for example when it's a first\n          // `FormControl` that is added to a `FormGroup` instance (via `addControl` call).\n          cleanUpControl(oldCtrl || null, dir);\n          // Check whether new control at the same location inside the corresponding `FormGroup` is an\n          // instance of `FormControl` and perform control setup only if that's the case.\n          // Note: we don't need to clear the list of directives (`this.directives`) here, it would be\n          // taken care of in the `removeControl` method invoked when corresponding `formControlName`\n          // directive instance is being removed (invoked from `FormControlName.ngOnDestroy`).\n          if (isFormControl(newCtrl)) {\n            setUpControl(newCtrl, dir, this.callSetDisabledState);\n            dir.control = newCtrl;\n          }\n        }\n      });\n      this.form._updateTreeValidity({\n        emitEvent: false\n      });\n    }\n    _setUpFormContainer(dir) {\n      const ctrl = this.form.get(dir.path);\n      setUpFormContainer(ctrl, dir);\n      // NOTE: this operation looks unnecessary in case no new validators were added in\n      // `setUpFormContainer` call. Consider updating this code to match the logic in\n      // `_cleanUpFormContainer` function.\n      ctrl.updateValueAndValidity({\n        emitEvent: false\n      });\n    }\n    _cleanUpFormContainer(dir) {\n      if (this.form) {\n        const ctrl = this.form.get(dir.path);\n        if (ctrl) {\n          const isControlUpdated = cleanUpFormContainer(ctrl, dir);\n          if (isControlUpdated) {\n            // Run validity check only in case a control was updated (i.e. view validators were\n            // removed) as removing view validators might cause validity to change.\n            ctrl.updateValueAndValidity({\n              emitEvent: false\n            });\n          }\n        }\n      }\n    }\n    _updateRegistrations() {\n      this.form._registerOnCollectionChange(this._onCollectionChange);\n      if (this._oldForm) {\n        this._oldForm._registerOnCollectionChange(() => {});\n      }\n    }\n    _updateValidators() {\n      setUpValidators(this.form, this);\n      if (this._oldForm) {\n        cleanUpValidators(this._oldForm, this);\n      }\n    }\n    static ɵfac = function FormGroupDirective_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || FormGroupDirective)(i0.ɵɵdirectiveInject(NG_VALIDATORS, 10), i0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10), i0.ɵɵdirectiveInject(CALL_SET_DISABLED_STATE, 8));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: FormGroupDirective,\n      selectors: [[\"\", \"formGroup\", \"\"]],\n      hostBindings: function FormGroupDirective_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"submit\", function FormGroupDirective_submit_HostBindingHandler($event) {\n            return ctx.onSubmit($event);\n          })(\"reset\", function FormGroupDirective_reset_HostBindingHandler() {\n            return ctx.onReset();\n          });\n        }\n      },\n      inputs: {\n        form: [0, \"formGroup\", \"form\"]\n      },\n      outputs: {\n        ngSubmit: \"ngSubmit\"\n      },\n      exportAs: [\"ngForm\"],\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([formDirectiveProvider]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return FormGroupDirective;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst formGroupNameProvider = {\n  provide: ControlContainer,\n  useExisting: /*#__PURE__*/forwardRef(() => FormGroupName)\n};\n/**\n * @description\n *\n * Syncs a nested `FormGroup` or `FormRecord` to a DOM element.\n *\n * This directive can only be used with a parent `FormGroupDirective`.\n *\n * It accepts the string name of the nested `FormGroup` or `FormRecord` to link, and\n * looks for a `FormGroup` or `FormRecord` registered with that name in the parent\n * `FormGroup` instance you passed into `FormGroupDirective`.\n *\n * Use nested form groups to validate a sub-group of a\n * form separately from the rest or to group the values of certain\n * controls into their own nested object.\n *\n * @see [Reactive Forms Guide](guide/forms/reactive-forms)\n *\n * @usageNotes\n *\n * ### Access the group by name\n *\n * The following example uses the `AbstractControl.get` method to access the\n * associated `FormGroup`\n *\n * ```ts\n *   this.form.get('name');\n * ```\n *\n * ### Access individual controls in the group\n *\n * The following example uses the `AbstractControl.get` method to access\n * individual controls within the group using dot syntax.\n *\n * ```ts\n *   this.form.get('name.first');\n * ```\n *\n * ### Register a nested `FormGroup`.\n *\n * The following example registers a nested *name* `FormGroup` within an existing `FormGroup`,\n * and provides methods to retrieve the nested `FormGroup` and individual controls.\n *\n * {@example forms/ts/nestedFormGroup/nested_form_group_example.ts region='Component'}\n *\n * @ngModule ReactiveFormsModule\n * @publicApi\n */\nlet FormGroupName = /*#__PURE__*/(() => {\n  class FormGroupName extends AbstractFormGroupDirective {\n    /**\n     * @description\n     * Tracks the name of the `FormGroup` bound to the directive. The name corresponds\n     * to a key in the parent `FormGroup` or `FormArray`.\n     * Accepts a name as a string or a number.\n     * The name in the form of a string is useful for individual forms,\n     * while the numerical form allows for form groups to be bound\n     * to indices when iterating over groups in a `FormArray`.\n     */\n    name = null;\n    constructor(parent, validators, asyncValidators) {\n      super();\n      this._parent = parent;\n      this._setValidators(validators);\n      this._setAsyncValidators(asyncValidators);\n    }\n    /** @internal */\n    _checkParentType() {\n      if (hasInvalidParent(this._parent) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw groupParentException();\n      }\n    }\n    static ɵfac = function FormGroupName_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || FormGroupName)(i0.ɵɵdirectiveInject(ControlContainer, 13), i0.ɵɵdirectiveInject(NG_VALIDATORS, 10), i0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: FormGroupName,\n      selectors: [[\"\", \"formGroupName\", \"\"]],\n      inputs: {\n        name: [0, \"formGroupName\", \"name\"]\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([formGroupNameProvider]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return FormGroupName;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst formArrayNameProvider = {\n  provide: ControlContainer,\n  useExisting: /*#__PURE__*/forwardRef(() => FormArrayName)\n};\n/**\n * @description\n *\n * Syncs a nested `FormArray` to a DOM element.\n *\n * This directive is designed to be used with a parent `FormGroupDirective` (selector:\n * `[formGroup]`).\n *\n * It accepts the string name of the nested `FormArray` you want to link, and\n * will look for a `FormArray` registered with that name in the parent\n * `FormGroup` instance you passed into `FormGroupDirective`.\n *\n * @see [Reactive Forms Guide](guide/forms/reactive-forms)\n * @see {@link AbstractControl}\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example forms/ts/nestedFormArray/nested_form_array_example.ts region='Component'}\n *\n * @ngModule ReactiveFormsModule\n * @publicApi\n */\nlet FormArrayName = /*#__PURE__*/(() => {\n  class FormArrayName extends ControlContainer {\n    /** @internal */\n    _parent;\n    /**\n     * @description\n     * Tracks the name of the `FormArray` bound to the directive. The name corresponds\n     * to a key in the parent `FormGroup` or `FormArray`.\n     * Accepts a name as a string or a number.\n     * The name in the form of a string is useful for individual forms,\n     * while the numerical form allows for form arrays to be bound\n     * to indices when iterating over arrays in a `FormArray`.\n     */\n    name = null;\n    constructor(parent, validators, asyncValidators) {\n      super();\n      this._parent = parent;\n      this._setValidators(validators);\n      this._setAsyncValidators(asyncValidators);\n    }\n    /**\n     * A lifecycle method called when the directive's inputs are initialized. For internal use only.\n     * @throws If the directive does not have a valid parent.\n     * @docs-private\n     */\n    ngOnInit() {\n      if (hasInvalidParent(this._parent) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw arrayParentException();\n      }\n      this.formDirective.addFormArray(this);\n    }\n    /**\n     * A lifecycle method called before the directive's instance is destroyed. For internal use only.\n     * @docs-private\n     */\n    ngOnDestroy() {\n      this.formDirective?.removeFormArray(this);\n    }\n    /**\n     * @description\n     * The `FormArray` bound to this directive.\n     */\n    get control() {\n      return this.formDirective.getFormArray(this);\n    }\n    /**\n     * @description\n     * The top-level directive for this group if present, otherwise null.\n     */\n    get formDirective() {\n      return this._parent ? this._parent.formDirective : null;\n    }\n    /**\n     * @description\n     * Returns an array that represents the path from the top-level form to this control.\n     * Each index is the string name of the control on that level.\n     */\n    get path() {\n      return controlPath(this.name == null ? this.name : this.name.toString(), this._parent);\n    }\n    static ɵfac = function FormArrayName_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || FormArrayName)(i0.ɵɵdirectiveInject(ControlContainer, 13), i0.ɵɵdirectiveInject(NG_VALIDATORS, 10), i0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: FormArrayName,\n      selectors: [[\"\", \"formArrayName\", \"\"]],\n      inputs: {\n        name: [0, \"formArrayName\", \"name\"]\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([formArrayNameProvider]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return FormArrayName;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction hasInvalidParent(parent) {\n  return !(parent instanceof FormGroupName) && !(parent instanceof FormGroupDirective) && !(parent instanceof FormArrayName);\n}\nconst controlNameBinding = {\n  provide: NgControl,\n  useExisting: /*#__PURE__*/forwardRef(() => FormControlName)\n};\n/**\n * @description\n * Syncs a `FormControl` in an existing `FormGroup` to a form control\n * element by name.\n *\n * @see [Reactive Forms Guide](guide/forms/reactive-forms)\n * @see {@link FormControl}\n * @see {@link AbstractControl}\n *\n * @usageNotes\n *\n * ### Register `FormControl` within a group\n *\n * The following example shows how to register multiple form controls within a form group\n * and set their value.\n *\n * {@example forms/ts/simpleFormGroup/simple_form_group_example.ts region='Component'}\n *\n * To see `formControlName` examples with different form control types, see:\n *\n * * Radio buttons: `RadioControlValueAccessor`\n * * Selects: `SelectControlValueAccessor`\n *\n * ### Use with ngModel is deprecated\n *\n * Support for using the `ngModel` input property and `ngModelChange` event with reactive\n * form directives has been deprecated in Angular v6 and is scheduled for removal in\n * a future version of Angular.\n *\n * @ngModule ReactiveFormsModule\n * @publicApi\n */\nlet FormControlName = /*#__PURE__*/(() => {\n  class FormControlName extends NgControl {\n    _ngModelWarningConfig;\n    _added = false;\n    /**\n     * Internal reference to the view model value.\n     * @internal\n     */\n    viewModel;\n    /**\n     * @description\n     * Tracks the `FormControl` instance bound to the directive.\n     */\n    control;\n    /**\n     * @description\n     * Tracks the name of the `FormControl` bound to the directive. The name corresponds\n     * to a key in the parent `FormGroup` or `FormArray`.\n     * Accepts a name as a string or a number.\n     * The name in the form of a string is useful for individual forms,\n     * while the numerical form allows for form controls to be bound\n     * to indices when iterating over controls in a `FormArray`.\n     */\n    name = null;\n    /**\n     * @description\n     * Triggers a warning in dev mode that this input should not be used with reactive forms.\n     */\n    set isDisabled(isDisabled) {\n      if (typeof ngDevMode === 'undefined' || ngDevMode) {\n        console.warn(disabledAttrWarning);\n      }\n    }\n    // TODO(kara): remove next 4 properties once deprecation period is over\n    /** @deprecated as of v6 */\n    model;\n    /** @deprecated as of v6 */\n    update = new EventEmitter();\n    /**\n     * @description\n     * Static property used to track whether any ngModel warnings have been sent across\n     * all instances of FormControlName. Used to support warning config of \"once\".\n     *\n     * @internal\n     */\n    static _ngModelWarningSentOnce = false;\n    /**\n     * @description\n     * Instance property used to track whether an ngModel warning has been sent out for this\n     * particular FormControlName instance. Used to support warning config of \"always\".\n     *\n     * @internal\n     */\n    _ngModelWarningSent = false;\n    constructor(parent, validators, asyncValidators, valueAccessors, _ngModelWarningConfig) {\n      super();\n      this._ngModelWarningConfig = _ngModelWarningConfig;\n      this._parent = parent;\n      this._setValidators(validators);\n      this._setAsyncValidators(asyncValidators);\n      this.valueAccessor = selectValueAccessor(this, valueAccessors);\n    }\n    /** @docs-private */\n    ngOnChanges(changes) {\n      if (!this._added) this._setUpControl();\n      if (isPropertyUpdated(changes, this.viewModel)) {\n        if (typeof ngDevMode === 'undefined' || ngDevMode) {\n          _ngModelWarning('formControlName', FormControlName, this, this._ngModelWarningConfig);\n        }\n        this.viewModel = this.model;\n        this.formDirective.updateModel(this, this.model);\n      }\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      if (this.formDirective) {\n        this.formDirective.removeControl(this);\n      }\n    }\n    /**\n     * @description\n     * Sets the new value for the view model and emits an `ngModelChange` event.\n     *\n     * @param newValue The new value for the view model.\n     */\n    viewToModelUpdate(newValue) {\n      this.viewModel = newValue;\n      this.update.emit(newValue);\n    }\n    /**\n     * @description\n     * Returns an array that represents the path from the top-level form to this control.\n     * Each index is the string name of the control on that level.\n     */\n    get path() {\n      return controlPath(this.name == null ? this.name : this.name.toString(), this._parent);\n    }\n    /**\n     * @description\n     * The top-level directive for this group if present, otherwise null.\n     */\n    get formDirective() {\n      return this._parent ? this._parent.formDirective : null;\n    }\n    _setUpControl() {\n      if (typeof ngDevMode === 'undefined' || ngDevMode) {\n        checkParentType(this._parent, this.name);\n      }\n      this.control = this.formDirective.addControl(this);\n      this._added = true;\n    }\n    static ɵfac = function FormControlName_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || FormControlName)(i0.ɵɵdirectiveInject(ControlContainer, 13), i0.ɵɵdirectiveInject(NG_VALIDATORS, 10), i0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10), i0.ɵɵdirectiveInject(NG_VALUE_ACCESSOR, 10), i0.ɵɵdirectiveInject(NG_MODEL_WITH_FORM_CONTROL_WARNING, 8));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: FormControlName,\n      selectors: [[\"\", \"formControlName\", \"\"]],\n      inputs: {\n        name: [0, \"formControlName\", \"name\"],\n        isDisabled: [0, \"disabled\", \"isDisabled\"],\n        model: [0, \"ngModel\", \"model\"]\n      },\n      outputs: {\n        update: \"ngModelChange\"\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([controlNameBinding]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return FormControlName;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction checkParentType(parent, name) {\n  if (!(parent instanceof FormGroupName) && parent instanceof AbstractFormGroupDirective) {\n    throw ngModelGroupException();\n  } else if (!(parent instanceof FormGroupName) && !(parent instanceof FormGroupDirective) && !(parent instanceof FormArrayName)) {\n    throw controlParentException(name);\n  }\n}\nconst SELECT_VALUE_ACCESSOR = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: /*#__PURE__*/forwardRef(() => SelectControlValueAccessor),\n  multi: true\n};\nfunction _buildValueString$1(id, value) {\n  if (id == null) return `${value}`;\n  if (value && typeof value === 'object') value = 'Object';\n  return `${id}: ${value}`.slice(0, 50);\n}\nfunction _extractId$1(valueString) {\n  return valueString.split(':')[0];\n}\n/**\n * @description\n * The `ControlValueAccessor` for writing select control values and listening to select control\n * changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @usageNotes\n *\n * ### Using select controls in a reactive form\n *\n * The following examples show how to use a select control in a reactive form.\n *\n * {@example forms/ts/reactiveSelectControl/reactive_select_control_example.ts region='Component'}\n *\n * ### Using select controls in a template-driven form\n *\n * To use a select in a template-driven form, simply add an `ngModel` and a `name`\n * attribute to the main `<select>` tag.\n *\n * {@example forms/ts/selectControl/select_control_example.ts region='Component'}\n *\n * ### Customizing option selection\n *\n * Angular uses object identity to select option. It's possible for the identities of items\n * to change while the data does not. This can happen, for example, if the items are produced\n * from an RPC to the server, and that RPC is re-run. Even if the data hasn't changed, the\n * second response will produce objects with different identities.\n *\n * To customize the default option comparison algorithm, `<select>` supports `compareWith` input.\n * `compareWith` takes a **function** which has two arguments: `option1` and `option2`.\n * If `compareWith` is given, Angular selects option by the return value of the function.\n *\n * ```ts\n * const selectedCountriesControl = new FormControl();\n * ```\n *\n * ```html\n * <select [compareWith]=\"compareFn\"  [formControl]=\"selectedCountriesControl\">\n *     <option *ngFor=\"let country of countries\" [ngValue]=\"country\">\n *         {{country.name}}\n *     </option>\n * </select>\n *\n * compareFn(c1: Country, c2: Country): boolean {\n *     return c1 && c2 ? c1.id === c2.id : c1 === c2;\n * }\n * ```\n *\n * **Note:** We listen to the 'change' event because 'input' events aren't fired\n * for selects in IE, see:\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event#browser_compatibility\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet SelectControlValueAccessor = /*#__PURE__*/(() => {\n  class SelectControlValueAccessor extends BuiltInControlValueAccessor {\n    /** @docs-private */\n    value;\n    /** @internal */\n    _optionMap = new Map();\n    /** @internal */\n    _idCounter = 0;\n    /**\n     * @description\n     * Tracks the option comparison algorithm for tracking identities when\n     * checking for changes.\n     */\n    set compareWith(fn) {\n      if (typeof fn !== 'function' && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw new _RuntimeError(1201 /* RuntimeErrorCode.COMPAREWITH_NOT_A_FN */, `compareWith must be a function, but received ${JSON.stringify(fn)}`);\n      }\n      this._compareWith = fn;\n    }\n    _compareWith = Object.is;\n    /**\n     * Sets the \"value\" property on the select element.\n     * @docs-private\n     */\n    writeValue(value) {\n      this.value = value;\n      const id = this._getOptionId(value);\n      const valueString = _buildValueString$1(id, value);\n      this.setProperty('value', valueString);\n    }\n    /**\n     * Registers a function called when the control value changes.\n     * @docs-private\n     */\n    registerOnChange(fn) {\n      this.onChange = valueString => {\n        this.value = this._getOptionValue(valueString);\n        fn(this.value);\n      };\n    }\n    /** @internal */\n    _registerOption() {\n      return (this._idCounter++).toString();\n    }\n    /** @internal */\n    _getOptionId(value) {\n      for (const id of this._optionMap.keys()) {\n        if (this._compareWith(this._optionMap.get(id), value)) return id;\n      }\n      return null;\n    }\n    /** @internal */\n    _getOptionValue(valueString) {\n      const id = _extractId$1(valueString);\n      return this._optionMap.has(id) ? this._optionMap.get(id) : valueString;\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵSelectControlValueAccessor_BaseFactory;\n      return function SelectControlValueAccessor_Factory(__ngFactoryType__) {\n        return (ɵSelectControlValueAccessor_BaseFactory || (ɵSelectControlValueAccessor_BaseFactory = i0.ɵɵgetInheritedFactory(SelectControlValueAccessor)))(__ngFactoryType__ || SelectControlValueAccessor);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: SelectControlValueAccessor,\n      selectors: [[\"select\", \"formControlName\", \"\", 3, \"multiple\", \"\"], [\"select\", \"formControl\", \"\", 3, \"multiple\", \"\"], [\"select\", \"ngModel\", \"\", 3, \"multiple\", \"\"]],\n      hostBindings: function SelectControlValueAccessor_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"change\", function SelectControlValueAccessor_change_HostBindingHandler($event) {\n            return ctx.onChange($event.target.value);\n          })(\"blur\", function SelectControlValueAccessor_blur_HostBindingHandler() {\n            return ctx.onTouched();\n          });\n        }\n      },\n      inputs: {\n        compareWith: \"compareWith\"\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([SELECT_VALUE_ACCESSOR]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return SelectControlValueAccessor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * @see {@link SelectControlValueAccessor}\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet NgSelectOption = /*#__PURE__*/(() => {\n  class NgSelectOption {\n    _element;\n    _renderer;\n    _select;\n    /**\n     * @description\n     * ID of the option element\n     */\n    id;\n    constructor(_element, _renderer, _select) {\n      this._element = _element;\n      this._renderer = _renderer;\n      this._select = _select;\n      if (this._select) this.id = this._select._registerOption();\n    }\n    /**\n     * @description\n     * Tracks the value bound to the option element. Unlike the value binding,\n     * ngValue supports binding to objects.\n     */\n    set ngValue(value) {\n      if (this._select == null) return;\n      this._select._optionMap.set(this.id, value);\n      this._setElementValue(_buildValueString$1(this.id, value));\n      this._select.writeValue(this._select.value);\n    }\n    /**\n     * @description\n     * Tracks simple string values bound to the option element.\n     * For objects, use the `ngValue` input binding.\n     */\n    set value(value) {\n      this._setElementValue(value);\n      if (this._select) this._select.writeValue(this._select.value);\n    }\n    /** @internal */\n    _setElementValue(value) {\n      this._renderer.setProperty(this._element.nativeElement, 'value', value);\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      if (this._select) {\n        this._select._optionMap.delete(this.id);\n        this._select.writeValue(this._select.value);\n      }\n    }\n    static ɵfac = function NgSelectOption_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NgSelectOption)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(SelectControlValueAccessor, 9));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: NgSelectOption,\n      selectors: [[\"option\"]],\n      inputs: {\n        ngValue: \"ngValue\",\n        value: \"value\"\n      },\n      standalone: false\n    });\n  }\n  return NgSelectOption;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst SELECT_MULTIPLE_VALUE_ACCESSOR = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: /*#__PURE__*/forwardRef(() => SelectMultipleControlValueAccessor),\n  multi: true\n};\nfunction _buildValueString(id, value) {\n  if (id == null) return `${value}`;\n  if (typeof value === 'string') value = `'${value}'`;\n  if (value && typeof value === 'object') value = 'Object';\n  return `${id}: ${value}`.slice(0, 50);\n}\nfunction _extractId(valueString) {\n  return valueString.split(':')[0];\n}\n/**\n * @description\n * The `ControlValueAccessor` for writing multi-select control values and listening to multi-select\n * control changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @see {@link SelectControlValueAccessor}\n *\n * @usageNotes\n *\n * ### Using a multi-select control\n *\n * The follow example shows you how to use a multi-select control with a reactive form.\n *\n * ```ts\n * const countryControl = new FormControl();\n * ```\n *\n * ```html\n * <select multiple name=\"countries\" [formControl]=\"countryControl\">\n *   <option *ngFor=\"let country of countries\" [ngValue]=\"country\">\n *     {{ country.name }}\n *   </option>\n * </select>\n * ```\n *\n * ### Customizing option selection\n *\n * To customize the default option comparison algorithm, `<select>` supports `compareWith` input.\n * See the `SelectControlValueAccessor` for usage.\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet SelectMultipleControlValueAccessor = /*#__PURE__*/(() => {\n  class SelectMultipleControlValueAccessor extends BuiltInControlValueAccessor {\n    /**\n     * The current value.\n     * @docs-private\n     */\n    value;\n    /** @internal */\n    _optionMap = new Map();\n    /** @internal */\n    _idCounter = 0;\n    /**\n     * @description\n     * Tracks the option comparison algorithm for tracking identities when\n     * checking for changes.\n     */\n    set compareWith(fn) {\n      if (typeof fn !== 'function' && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw new _RuntimeError(1201 /* RuntimeErrorCode.COMPAREWITH_NOT_A_FN */, `compareWith must be a function, but received ${JSON.stringify(fn)}`);\n      }\n      this._compareWith = fn;\n    }\n    _compareWith = Object.is;\n    /**\n     * Sets the \"value\" property on one or of more of the select's options.\n     * @docs-private\n     */\n    writeValue(value) {\n      this.value = value;\n      let optionSelectedStateSetter;\n      if (Array.isArray(value)) {\n        // convert values to ids\n        const ids = value.map(v => this._getOptionId(v));\n        optionSelectedStateSetter = (opt, o) => {\n          opt._setSelected(ids.indexOf(o.toString()) > -1);\n        };\n      } else {\n        optionSelectedStateSetter = (opt, o) => {\n          opt._setSelected(false);\n        };\n      }\n      this._optionMap.forEach(optionSelectedStateSetter);\n    }\n    /**\n     * Registers a function called when the control value changes\n     * and writes an array of the selected options.\n     * @docs-private\n     */\n    registerOnChange(fn) {\n      this.onChange = element => {\n        const selected = [];\n        const selectedOptions = element.selectedOptions;\n        if (selectedOptions !== undefined) {\n          const options = selectedOptions;\n          for (let i = 0; i < options.length; i++) {\n            const opt = options[i];\n            const val = this._getOptionValue(opt.value);\n            selected.push(val);\n          }\n        }\n        // Degrade to use `options` when `selectedOptions` property is not available.\n        // Note: the `selectedOptions` is available in all supported browsers, but the Domino lib\n        // doesn't have it currently, see https://github.com/fgnass/domino/issues/177.\n        else {\n          const options = element.options;\n          for (let i = 0; i < options.length; i++) {\n            const opt = options[i];\n            if (opt.selected) {\n              const val = this._getOptionValue(opt.value);\n              selected.push(val);\n            }\n          }\n        }\n        this.value = selected;\n        fn(selected);\n      };\n    }\n    /** @internal */\n    _registerOption(value) {\n      const id = (this._idCounter++).toString();\n      this._optionMap.set(id, value);\n      return id;\n    }\n    /** @internal */\n    _getOptionId(value) {\n      for (const id of this._optionMap.keys()) {\n        if (this._compareWith(this._optionMap.get(id)._value, value)) return id;\n      }\n      return null;\n    }\n    /** @internal */\n    _getOptionValue(valueString) {\n      const id = _extractId(valueString);\n      return this._optionMap.has(id) ? this._optionMap.get(id)._value : valueString;\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵSelectMultipleControlValueAccessor_BaseFactory;\n      return function SelectMultipleControlValueAccessor_Factory(__ngFactoryType__) {\n        return (ɵSelectMultipleControlValueAccessor_BaseFactory || (ɵSelectMultipleControlValueAccessor_BaseFactory = i0.ɵɵgetInheritedFactory(SelectMultipleControlValueAccessor)))(__ngFactoryType__ || SelectMultipleControlValueAccessor);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: SelectMultipleControlValueAccessor,\n      selectors: [[\"select\", \"multiple\", \"\", \"formControlName\", \"\"], [\"select\", \"multiple\", \"\", \"formControl\", \"\"], [\"select\", \"multiple\", \"\", \"ngModel\", \"\"]],\n      hostBindings: function SelectMultipleControlValueAccessor_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"change\", function SelectMultipleControlValueAccessor_change_HostBindingHandler($event) {\n            return ctx.onChange($event.target);\n          })(\"blur\", function SelectMultipleControlValueAccessor_blur_HostBindingHandler() {\n            return ctx.onTouched();\n          });\n        }\n      },\n      inputs: {\n        compareWith: \"compareWith\"\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([SELECT_MULTIPLE_VALUE_ACCESSOR]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return SelectMultipleControlValueAccessor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * @see {@link SelectMultipleControlValueAccessor}\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet ɵNgSelectMultipleOption = /*#__PURE__*/(() => {\n  class ɵNgSelectMultipleOption {\n    _element;\n    _renderer;\n    _select;\n    id;\n    /** @internal */\n    _value;\n    constructor(_element, _renderer, _select) {\n      this._element = _element;\n      this._renderer = _renderer;\n      this._select = _select;\n      if (this._select) {\n        this.id = this._select._registerOption(this);\n      }\n    }\n    /**\n     * @description\n     * Tracks the value bound to the option element. Unlike the value binding,\n     * ngValue supports binding to objects.\n     */\n    set ngValue(value) {\n      if (this._select == null) return;\n      this._value = value;\n      this._setElementValue(_buildValueString(this.id, value));\n      this._select.writeValue(this._select.value);\n    }\n    /**\n     * @description\n     * Tracks simple string values bound to the option element.\n     * For objects, use the `ngValue` input binding.\n     */\n    set value(value) {\n      if (this._select) {\n        this._value = value;\n        this._setElementValue(_buildValueString(this.id, value));\n        this._select.writeValue(this._select.value);\n      } else {\n        this._setElementValue(value);\n      }\n    }\n    /** @internal */\n    _setElementValue(value) {\n      this._renderer.setProperty(this._element.nativeElement, 'value', value);\n    }\n    /** @internal */\n    _setSelected(selected) {\n      this._renderer.setProperty(this._element.nativeElement, 'selected', selected);\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      if (this._select) {\n        this._select._optionMap.delete(this.id);\n        this._select.writeValue(this._select.value);\n      }\n    }\n    static ɵfac = function ɵNgSelectMultipleOption_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ɵNgSelectMultipleOption)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(SelectMultipleControlValueAccessor, 9));\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: ɵNgSelectMultipleOption,\n      selectors: [[\"option\"]],\n      inputs: {\n        ngValue: \"ngValue\",\n        value: \"value\"\n      },\n      standalone: false\n    });\n  }\n  return ɵNgSelectMultipleOption;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Method that updates string to integer if not already a number\n *\n * @param value The value to convert to integer.\n * @returns value of parameter converted to number or integer.\n */\nfunction toInteger(value) {\n  return typeof value === 'number' ? value : parseInt(value, 10);\n}\n/**\n * Method that ensures that provided value is a float (and converts it to float if needed).\n *\n * @param value The value to convert to float.\n * @returns value of parameter converted to number or float.\n */\nfunction toFloat(value) {\n  return typeof value === 'number' ? value : parseFloat(value);\n}\n/**\n * A base class for Validator-based Directives. The class contains common logic shared across such\n * Directives.\n *\n * For internal use only, this class is not intended for use outside of the Forms package.\n */\nlet AbstractValidatorDirective = /*#__PURE__*/(() => {\n  class AbstractValidatorDirective {\n    _validator = nullValidator;\n    _onChange;\n    /**\n     * A flag that tracks whether this validator is enabled.\n     *\n     * Marking it `internal` (vs `protected`), so that this flag can be used in host bindings of\n     * directive classes that extend this base class.\n     * @internal\n     */\n    _enabled;\n    /** @docs-private */\n    ngOnChanges(changes) {\n      if (this.inputName in changes) {\n        const input = this.normalizeInput(changes[this.inputName].currentValue);\n        this._enabled = this.enabled(input);\n        this._validator = this._enabled ? this.createValidator(input) : nullValidator;\n        if (this._onChange) {\n          this._onChange();\n        }\n      }\n    }\n    /** @docs-private */\n    validate(control) {\n      return this._validator(control);\n    }\n    /** @docs-private */\n    registerOnValidatorChange(fn) {\n      this._onChange = fn;\n    }\n    /**\n     * @description\n     * Determines whether this validator should be active or not based on an input.\n     * Base class implementation checks whether an input is defined (if the value is different from\n     * `null` and `undefined`). Validator classes that extend this base class can override this\n     * function with the logic specific to a particular validator directive.\n     */\n    enabled(input) {\n      return input != null /* both `null` and `undefined` */;\n    }\n    static ɵfac = function AbstractValidatorDirective_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || AbstractValidatorDirective)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: AbstractValidatorDirective,\n      features: [i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return AbstractValidatorDirective;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n * Provider which adds `MaxValidator` to the `NG_VALIDATORS` multi-provider list.\n */\nconst MAX_VALIDATOR = {\n  provide: NG_VALIDATORS,\n  useExisting: /*#__PURE__*/forwardRef(() => MaxValidator),\n  multi: true\n};\n/**\n * A directive which installs the {@link MaxValidator} for any `formControlName`,\n * `formControl`, or control with `ngModel` that also has a `max` attribute.\n *\n * @see [Form Validation](guide/forms/form-validation)\n *\n * @usageNotes\n *\n * ### Adding a max validator\n *\n * The following example shows how to add a max validator to an input attached to an\n * ngModel binding.\n *\n * ```html\n * <input type=\"number\" ngModel max=\"4\">\n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet MaxValidator = /*#__PURE__*/(() => {\n  class MaxValidator extends AbstractValidatorDirective {\n    /**\n     * @description\n     * Tracks changes to the max bound to this directive.\n     */\n    max;\n    /** @internal */\n    inputName = 'max';\n    /** @internal */\n    normalizeInput = input => toFloat(input);\n    /** @internal */\n    createValidator = max => maxValidator(max);\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMaxValidator_BaseFactory;\n      return function MaxValidator_Factory(__ngFactoryType__) {\n        return (ɵMaxValidator_BaseFactory || (ɵMaxValidator_BaseFactory = i0.ɵɵgetInheritedFactory(MaxValidator)))(__ngFactoryType__ || MaxValidator);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MaxValidator,\n      selectors: [[\"input\", \"type\", \"number\", \"max\", \"\", \"formControlName\", \"\"], [\"input\", \"type\", \"number\", \"max\", \"\", \"formControl\", \"\"], [\"input\", \"type\", \"number\", \"max\", \"\", \"ngModel\", \"\"]],\n      hostVars: 1,\n      hostBindings: function MaxValidator_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"max\", ctx._enabled ? ctx.max : null);\n        }\n      },\n      inputs: {\n        max: \"max\"\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([MAX_VALIDATOR]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return MaxValidator;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n * Provider which adds `MinValidator` to the `NG_VALIDATORS` multi-provider list.\n */\nconst MIN_VALIDATOR = {\n  provide: NG_VALIDATORS,\n  useExisting: /*#__PURE__*/forwardRef(() => MinValidator),\n  multi: true\n};\n/**\n * A directive which installs the {@link MinValidator} for any `formControlName`,\n * `formControl`, or control with `ngModel` that also has a `min` attribute.\n *\n * @see [Form Validation](guide/forms/form-validation)\n *\n * @usageNotes\n *\n * ### Adding a min validator\n *\n * The following example shows how to add a min validator to an input attached to an\n * ngModel binding.\n *\n * ```html\n * <input type=\"number\" ngModel min=\"4\">\n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet MinValidator = /*#__PURE__*/(() => {\n  class MinValidator extends AbstractValidatorDirective {\n    /**\n     * @description\n     * Tracks changes to the min bound to this directive.\n     */\n    min;\n    /** @internal */\n    inputName = 'min';\n    /** @internal */\n    normalizeInput = input => toFloat(input);\n    /** @internal */\n    createValidator = min => minValidator(min);\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMinValidator_BaseFactory;\n      return function MinValidator_Factory(__ngFactoryType__) {\n        return (ɵMinValidator_BaseFactory || (ɵMinValidator_BaseFactory = i0.ɵɵgetInheritedFactory(MinValidator)))(__ngFactoryType__ || MinValidator);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MinValidator,\n      selectors: [[\"input\", \"type\", \"number\", \"min\", \"\", \"formControlName\", \"\"], [\"input\", \"type\", \"number\", \"min\", \"\", \"formControl\", \"\"], [\"input\", \"type\", \"number\", \"min\", \"\", \"ngModel\", \"\"]],\n      hostVars: 1,\n      hostBindings: function MinValidator_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"min\", ctx._enabled ? ctx.min : null);\n        }\n      },\n      inputs: {\n        min: \"min\"\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([MIN_VALIDATOR]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return MinValidator;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n * Provider which adds `RequiredValidator` to the `NG_VALIDATORS` multi-provider list.\n */\nconst REQUIRED_VALIDATOR = {\n  provide: NG_VALIDATORS,\n  useExisting: /*#__PURE__*/forwardRef(() => RequiredValidator),\n  multi: true\n};\n/**\n * @description\n * Provider which adds `CheckboxRequiredValidator` to the `NG_VALIDATORS` multi-provider list.\n */\nconst CHECKBOX_REQUIRED_VALIDATOR = {\n  provide: NG_VALIDATORS,\n  useExisting: /*#__PURE__*/forwardRef(() => CheckboxRequiredValidator),\n  multi: true\n};\n/**\n * @description\n * A directive that adds the `required` validator to any controls marked with the\n * `required` attribute. The directive is provided with the `NG_VALIDATORS` multi-provider list.\n *\n * @see [Form Validation](guide/forms/form-validation)\n *\n * @usageNotes\n *\n * ### Adding a required validator using template-driven forms\n *\n * ```html\n * <input name=\"fullName\" ngModel required>\n * ```\n *\n * @ngModule FormsModule\n * @ngModule ReactiveFormsModule\n * @publicApi\n */\nlet RequiredValidator = /*#__PURE__*/(() => {\n  class RequiredValidator extends AbstractValidatorDirective {\n    /**\n     * @description\n     * Tracks changes to the required attribute bound to this directive.\n     */\n    required;\n    /** @internal */\n    inputName = 'required';\n    /** @internal */\n    normalizeInput = booleanAttribute;\n    /** @internal */\n    createValidator = input => requiredValidator;\n    /** @docs-private */\n    enabled(input) {\n      return input;\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵRequiredValidator_BaseFactory;\n      return function RequiredValidator_Factory(__ngFactoryType__) {\n        return (ɵRequiredValidator_BaseFactory || (ɵRequiredValidator_BaseFactory = i0.ɵɵgetInheritedFactory(RequiredValidator)))(__ngFactoryType__ || RequiredValidator);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: RequiredValidator,\n      selectors: [[\"\", \"required\", \"\", \"formControlName\", \"\", 3, \"type\", \"checkbox\"], [\"\", \"required\", \"\", \"formControl\", \"\", 3, \"type\", \"checkbox\"], [\"\", \"required\", \"\", \"ngModel\", \"\", 3, \"type\", \"checkbox\"]],\n      hostVars: 1,\n      hostBindings: function RequiredValidator_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"required\", ctx._enabled ? \"\" : null);\n        }\n      },\n      inputs: {\n        required: \"required\"\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([REQUIRED_VALIDATOR]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return RequiredValidator;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * A Directive that adds the `required` validator to checkbox controls marked with the\n * `required` attribute. The directive is provided with the `NG_VALIDATORS` multi-provider list.\n *\n * @see [Form Validation](guide/forms/form-validation)\n *\n * @usageNotes\n *\n * ### Adding a required checkbox validator using template-driven forms\n *\n * The following example shows how to add a checkbox required validator to an input attached to an\n * ngModel binding.\n *\n * ```html\n * <input type=\"checkbox\" name=\"active\" ngModel required>\n * ```\n *\n * @publicApi\n * @ngModule FormsModule\n * @ngModule ReactiveFormsModule\n */\nlet CheckboxRequiredValidator = /*#__PURE__*/(() => {\n  class CheckboxRequiredValidator extends RequiredValidator {\n    /** @internal */\n    createValidator = input => requiredTrueValidator;\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵCheckboxRequiredValidator_BaseFactory;\n      return function CheckboxRequiredValidator_Factory(__ngFactoryType__) {\n        return (ɵCheckboxRequiredValidator_BaseFactory || (ɵCheckboxRequiredValidator_BaseFactory = i0.ɵɵgetInheritedFactory(CheckboxRequiredValidator)))(__ngFactoryType__ || CheckboxRequiredValidator);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CheckboxRequiredValidator,\n      selectors: [[\"input\", \"type\", \"checkbox\", \"required\", \"\", \"formControlName\", \"\"], [\"input\", \"type\", \"checkbox\", \"required\", \"\", \"formControl\", \"\"], [\"input\", \"type\", \"checkbox\", \"required\", \"\", \"ngModel\", \"\"]],\n      hostVars: 1,\n      hostBindings: function CheckboxRequiredValidator_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"required\", ctx._enabled ? \"\" : null);\n        }\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([CHECKBOX_REQUIRED_VALIDATOR]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return CheckboxRequiredValidator;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n * Provider which adds `EmailValidator` to the `NG_VALIDATORS` multi-provider list.\n */\nconst EMAIL_VALIDATOR = {\n  provide: NG_VALIDATORS,\n  useExisting: /*#__PURE__*/forwardRef(() => EmailValidator),\n  multi: true\n};\n/**\n * A directive that adds the `email` validator to controls marked with the\n * `email` attribute. The directive is provided with the `NG_VALIDATORS` multi-provider list.\n *\n * The email validation is based on the WHATWG HTML specification with some enhancements to\n * incorporate more RFC rules. More information can be found on the [Validators.email\n * page](api/forms/Validators#email).\n *\n * @see [Form Validation](guide/forms/form-validation)\n *\n * @usageNotes\n *\n * ### Adding an email validator\n *\n * The following example shows how to add an email validator to an input attached to an ngModel\n * binding.\n *\n * ```html\n * <input type=\"email\" name=\"email\" ngModel email>\n * <input type=\"email\" name=\"email\" ngModel email=\"true\">\n * <input type=\"email\" name=\"email\" ngModel [email]=\"true\">\n * ```\n *\n * @publicApi\n * @ngModule FormsModule\n * @ngModule ReactiveFormsModule\n */\nlet EmailValidator = /*#__PURE__*/(() => {\n  class EmailValidator extends AbstractValidatorDirective {\n    /**\n     * @description\n     * Tracks changes to the email attribute bound to this directive.\n     */\n    email;\n    /** @internal */\n    inputName = 'email';\n    /** @internal */\n    normalizeInput = booleanAttribute;\n    /** @internal */\n    createValidator = input => emailValidator;\n    /** @docs-private */\n    enabled(input) {\n      return input;\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵEmailValidator_BaseFactory;\n      return function EmailValidator_Factory(__ngFactoryType__) {\n        return (ɵEmailValidator_BaseFactory || (ɵEmailValidator_BaseFactory = i0.ɵɵgetInheritedFactory(EmailValidator)))(__ngFactoryType__ || EmailValidator);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: EmailValidator,\n      selectors: [[\"\", \"email\", \"\", \"formControlName\", \"\"], [\"\", \"email\", \"\", \"formControl\", \"\"], [\"\", \"email\", \"\", \"ngModel\", \"\"]],\n      inputs: {\n        email: \"email\"\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([EMAIL_VALIDATOR]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return EmailValidator;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n * Provider which adds `MinLengthValidator` to the `NG_VALIDATORS` multi-provider list.\n */\nconst MIN_LENGTH_VALIDATOR = {\n  provide: NG_VALIDATORS,\n  useExisting: /*#__PURE__*/forwardRef(() => MinLengthValidator),\n  multi: true\n};\n/**\n * A directive that adds minimum length validation to controls marked with the\n * `minlength` attribute. The directive is provided with the `NG_VALIDATORS` multi-provider list.\n *\n * @see [Form Validation](guide/forms/form-validation)\n *\n * @usageNotes\n *\n * ### Adding a minimum length validator\n *\n * The following example shows how to add a minimum length validator to an input attached to an\n * ngModel binding.\n *\n * ```html\n * <input name=\"firstName\" ngModel minlength=\"4\">\n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet MinLengthValidator = /*#__PURE__*/(() => {\n  class MinLengthValidator extends AbstractValidatorDirective {\n    /**\n     * @description\n     * Tracks changes to the minimum length bound to this directive.\n     */\n    minlength;\n    /** @internal */\n    inputName = 'minlength';\n    /** @internal */\n    normalizeInput = input => toInteger(input);\n    /** @internal */\n    createValidator = minlength => minLengthValidator(minlength);\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMinLengthValidator_BaseFactory;\n      return function MinLengthValidator_Factory(__ngFactoryType__) {\n        return (ɵMinLengthValidator_BaseFactory || (ɵMinLengthValidator_BaseFactory = i0.ɵɵgetInheritedFactory(MinLengthValidator)))(__ngFactoryType__ || MinLengthValidator);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MinLengthValidator,\n      selectors: [[\"\", \"minlength\", \"\", \"formControlName\", \"\"], [\"\", \"minlength\", \"\", \"formControl\", \"\"], [\"\", \"minlength\", \"\", \"ngModel\", \"\"]],\n      hostVars: 1,\n      hostBindings: function MinLengthValidator_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"minlength\", ctx._enabled ? ctx.minlength : null);\n        }\n      },\n      inputs: {\n        minlength: \"minlength\"\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([MIN_LENGTH_VALIDATOR]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return MinLengthValidator;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n * Provider which adds `MaxLengthValidator` to the `NG_VALIDATORS` multi-provider list.\n */\nconst MAX_LENGTH_VALIDATOR = {\n  provide: NG_VALIDATORS,\n  useExisting: /*#__PURE__*/forwardRef(() => MaxLengthValidator),\n  multi: true\n};\n/**\n * A directive that adds maximum length validation to controls marked with the\n * `maxlength` attribute. The directive is provided with the `NG_VALIDATORS` multi-provider list.\n *\n * @see [Form Validation](guide/forms/form-validation)\n *\n * @usageNotes\n *\n * ### Adding a maximum length validator\n *\n * The following example shows how to add a maximum length validator to an input attached to an\n * ngModel binding.\n *\n * ```html\n * <input name=\"firstName\" ngModel maxlength=\"25\">\n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet MaxLengthValidator = /*#__PURE__*/(() => {\n  class MaxLengthValidator extends AbstractValidatorDirective {\n    /**\n     * @description\n     * Tracks changes to the maximum length bound to this directive.\n     */\n    maxlength;\n    /** @internal */\n    inputName = 'maxlength';\n    /** @internal */\n    normalizeInput = input => toInteger(input);\n    /** @internal */\n    createValidator = maxlength => maxLengthValidator(maxlength);\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMaxLengthValidator_BaseFactory;\n      return function MaxLengthValidator_Factory(__ngFactoryType__) {\n        return (ɵMaxLengthValidator_BaseFactory || (ɵMaxLengthValidator_BaseFactory = i0.ɵɵgetInheritedFactory(MaxLengthValidator)))(__ngFactoryType__ || MaxLengthValidator);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MaxLengthValidator,\n      selectors: [[\"\", \"maxlength\", \"\", \"formControlName\", \"\"], [\"\", \"maxlength\", \"\", \"formControl\", \"\"], [\"\", \"maxlength\", \"\", \"ngModel\", \"\"]],\n      hostVars: 1,\n      hostBindings: function MaxLengthValidator_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"maxlength\", ctx._enabled ? ctx.maxlength : null);\n        }\n      },\n      inputs: {\n        maxlength: \"maxlength\"\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([MAX_LENGTH_VALIDATOR]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return MaxLengthValidator;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n * Provider which adds `PatternValidator` to the `NG_VALIDATORS` multi-provider list.\n */\nconst PATTERN_VALIDATOR = {\n  provide: NG_VALIDATORS,\n  useExisting: /*#__PURE__*/forwardRef(() => PatternValidator),\n  multi: true\n};\n/**\n * @description\n * A directive that adds regex pattern validation to controls marked with the\n * `pattern` attribute. The regex must match the entire control value.\n * The directive is provided with the `NG_VALIDATORS` multi-provider list.\n *\n * @see [Form Validation](guide/forms/form-validation)\n *\n * @usageNotes\n *\n * ### Adding a pattern validator\n *\n * The following example shows how to add a pattern validator to an input attached to an\n * ngModel binding.\n *\n * ```html\n * <input name=\"firstName\" ngModel pattern=\"[a-zA-Z ]*\">\n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nlet PatternValidator = /*#__PURE__*/(() => {\n  class PatternValidator extends AbstractValidatorDirective {\n    /**\n     * @description\n     * Tracks changes to the pattern bound to this directive.\n     */\n    pattern; // This input is always defined, since the name matches selector.\n    /** @internal */\n    inputName = 'pattern';\n    /** @internal */\n    normalizeInput = input => input;\n    /** @internal */\n    createValidator = input => patternValidator(input);\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵPatternValidator_BaseFactory;\n      return function PatternValidator_Factory(__ngFactoryType__) {\n        return (ɵPatternValidator_BaseFactory || (ɵPatternValidator_BaseFactory = i0.ɵɵgetInheritedFactory(PatternValidator)))(__ngFactoryType__ || PatternValidator);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: PatternValidator,\n      selectors: [[\"\", \"pattern\", \"\", \"formControlName\", \"\"], [\"\", \"pattern\", \"\", \"formControl\", \"\"], [\"\", \"pattern\", \"\", \"ngModel\", \"\"]],\n      hostVars: 1,\n      hostBindings: function PatternValidator_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"pattern\", ctx._enabled ? ctx.pattern : null);\n        }\n      },\n      inputs: {\n        pattern: \"pattern\"\n      },\n      standalone: false,\n      features: [i0.ɵɵProvidersFeature([PATTERN_VALIDATOR]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return PatternValidator;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst SHARED_FORM_DIRECTIVES = [ɵNgNoValidate, NgSelectOption, ɵNgSelectMultipleOption, DefaultValueAccessor, NumberValueAccessor, RangeValueAccessor, CheckboxControlValueAccessor, SelectControlValueAccessor, SelectMultipleControlValueAccessor, RadioControlValueAccessor, NgControlStatus, NgControlStatusGroup, RequiredValidator, MinLengthValidator, MaxLengthValidator, PatternValidator, CheckboxRequiredValidator, EmailValidator, MinValidator, MaxValidator];\nconst TEMPLATE_DRIVEN_DIRECTIVES = [NgModel, NgModelGroup, NgForm];\nconst REACTIVE_DRIVEN_DIRECTIVES = [FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName];\n/**\n * Internal module used for sharing directives between FormsModule and ReactiveFormsModule\n */\nlet ɵInternalFormsSharedModule = /*#__PURE__*/(() => {\n  class ɵInternalFormsSharedModule {\n    static ɵfac = function ɵInternalFormsSharedModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ɵInternalFormsSharedModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: ɵInternalFormsSharedModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n  }\n  return ɵInternalFormsSharedModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Tracks the value and validity state of an array of `FormControl`,\n * `FormGroup` or `FormArray` instances.\n *\n * A `FormArray` aggregates the values of each child `FormControl` into an array.\n * It calculates its status by reducing the status values of its children. For example, if one of\n * the controls in a `FormArray` is invalid, the entire array becomes invalid.\n *\n * `FormArray` accepts one generic argument, which is the type of the controls inside.\n * If you need a heterogenous array, use {@link UntypedFormArray}.\n *\n * `FormArray` is one of the four fundamental building blocks used to define forms in Angular,\n * along with `FormControl`, `FormGroup`, and `FormRecord`.\n *\n * @usageNotes\n *\n * ### Create an array of form controls\n *\n * ```ts\n * const arr = new FormArray([\n *   new FormControl('Nancy', Validators.minLength(2)),\n *   new FormControl('Drew'),\n * ]);\n *\n * console.log(arr.value);   // ['Nancy', 'Drew']\n * console.log(arr.status);  // 'VALID'\n * ```\n *\n * ### Create a form array with array-level validators\n *\n * You include array-level validators and async validators. These come in handy\n * when you want to perform validation that considers the value of more than one child\n * control.\n *\n * The two types of validators are passed in separately as the second and third arg\n * respectively, or together as part of an options object.\n *\n * ```ts\n * const arr = new FormArray([\n *   new FormControl('Nancy'),\n *   new FormControl('Drew')\n * ], {validators: myValidator, asyncValidators: myAsyncValidator});\n * ```\n *\n * ### Set the updateOn property for all controls in a form array\n *\n * The options object is used to set a default value for each child\n * control's `updateOn` property. If you set `updateOn` to `'blur'` at the\n * array level, all child controls default to 'blur', unless the child\n * has explicitly specified a different `updateOn` value.\n *\n * ```ts\n * const arr = new FormArray([\n *    new FormControl()\n * ], {updateOn: 'blur'});\n * ```\n *\n * ### Adding or removing controls from a form array\n *\n * To change the controls in the array, use the `push`, `insert`, `removeAt` or `clear` methods\n * in `FormArray` itself. These methods ensure the controls are properly tracked in the\n * form's hierarchy. Do not modify the array of `AbstractControl`s used to instantiate\n * the `FormArray` directly, as that result in strange and unexpected behavior such\n * as broken change detection.\n *\n * @publicApi\n */\nclass FormArray extends AbstractControl {\n  /**\n   * Creates a new `FormArray` instance.\n   *\n   * @param controls An array of child controls. Each child control is given an index\n   * where it is registered.\n   *\n   * @param validatorOrOpts A synchronous validator function, or an array of\n   * such functions, or an `AbstractControlOptions` object that contains validation functions\n   * and a validation trigger.\n   *\n   * @param asyncValidator A single async validator or array of async validator functions\n   *\n   */\n  constructor(controls, validatorOrOpts, asyncValidator) {\n    super(pickValidators(validatorOrOpts), pickAsyncValidators(asyncValidator, validatorOrOpts));\n    this.controls = controls;\n    this._initObservables();\n    this._setUpdateStrategy(validatorOrOpts);\n    this._setUpControls();\n    this.updateValueAndValidity({\n      onlySelf: true,\n      // If `asyncValidator` is present, it will trigger control status change from `PENDING` to\n      // `VALID` or `INVALID`.\n      // The status should be broadcasted via the `statusChanges` observable, so we set `emitEvent`\n      // to `true` to allow that during the control creation process.\n      emitEvent: !!this.asyncValidator\n    });\n  }\n  controls;\n  /**\n   * Get the `AbstractControl` at the given `index` in the array.\n   *\n   * @param index Index in the array to retrieve the control. If `index` is negative, it will wrap\n   *     around from the back, and if index is greatly negative (less than `-length`), the result is\n   * undefined. This behavior is the same as `Array.at(index)`.\n   */\n  at(index) {\n    return this.controls[this._adjustIndex(index)];\n  }\n  /**\n   * Insert a new `AbstractControl` at the end of the array.\n   *\n   * @param control Form control to be inserted\n   * @param options Specifies whether this FormArray instance should emit events after a new\n   *     control is added.\n   * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n   * `valueChanges` observables emit events with the latest status and value when the control is\n   * inserted. When false, no events are emitted.\n   */\n  push(control, options = {}) {\n    this.controls.push(control);\n    this._registerControl(control);\n    this.updateValueAndValidity({\n      emitEvent: options.emitEvent\n    });\n    this._onCollectionChange();\n  }\n  /**\n   * Insert a new `AbstractControl` at the given `index` in the array.\n   *\n   * @param index Index in the array to insert the control. If `index` is negative, wraps around\n   *     from the back. If `index` is greatly negative (less than `-length`), prepends to the array.\n   * This behavior is the same as `Array.splice(index, 0, control)`.\n   * @param control Form control to be inserted\n   * @param options Specifies whether this FormArray instance should emit events after a new\n   *     control is inserted.\n   * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n   * `valueChanges` observables emit events with the latest status and value when the control is\n   * inserted. When false, no events are emitted.\n   */\n  insert(index, control, options = {}) {\n    this.controls.splice(index, 0, control);\n    this._registerControl(control);\n    this.updateValueAndValidity({\n      emitEvent: options.emitEvent\n    });\n  }\n  /**\n   * Remove the control at the given `index` in the array.\n   *\n   * @param index Index in the array to remove the control.  If `index` is negative, wraps around\n   *     from the back. If `index` is greatly negative (less than `-length`), removes the first\n   *     element. This behavior is the same as `Array.splice(index, 1)`.\n   * @param options Specifies whether this FormArray instance should emit events after a\n   *     control is removed.\n   * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n   * `valueChanges` observables emit events with the latest status and value when the control is\n   * removed. When false, no events are emitted.\n   */\n  removeAt(index, options = {}) {\n    // Adjust the index, then clamp it at no less than 0 to prevent undesired underflows.\n    let adjustedIndex = this._adjustIndex(index);\n    if (adjustedIndex < 0) adjustedIndex = 0;\n    if (this.controls[adjustedIndex]) this.controls[adjustedIndex]._registerOnCollectionChange(() => {});\n    this.controls.splice(adjustedIndex, 1);\n    this.updateValueAndValidity({\n      emitEvent: options.emitEvent\n    });\n  }\n  /**\n   * Replace an existing control.\n   *\n   * @param index Index in the array to replace the control. If `index` is negative, wraps around\n   *     from the back. If `index` is greatly negative (less than `-length`), replaces the first\n   *     element. This behavior is the same as `Array.splice(index, 1, control)`.\n   * @param control The `AbstractControl` control to replace the existing control\n   * @param options Specifies whether this FormArray instance should emit events after an\n   *     existing control is replaced with a new one.\n   * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n   * `valueChanges` observables emit events with the latest status and value when the control is\n   * replaced with a new one. When false, no events are emitted.\n   */\n  setControl(index, control, options = {}) {\n    // Adjust the index, then clamp it at no less than 0 to prevent undesired underflows.\n    let adjustedIndex = this._adjustIndex(index);\n    if (adjustedIndex < 0) adjustedIndex = 0;\n    if (this.controls[adjustedIndex]) this.controls[adjustedIndex]._registerOnCollectionChange(() => {});\n    this.controls.splice(adjustedIndex, 1);\n    if (control) {\n      this.controls.splice(adjustedIndex, 0, control);\n      this._registerControl(control);\n    }\n    this.updateValueAndValidity({\n      emitEvent: options.emitEvent\n    });\n    this._onCollectionChange();\n  }\n  /**\n   * Length of the control array.\n   */\n  get length() {\n    return this.controls.length;\n  }\n  /**\n   * Sets the value of the `FormArray`. It accepts an array that matches\n   * the structure of the control.\n   *\n   * This method performs strict checks, and throws an error if you try\n   * to set the value of a control that doesn't exist or if you exclude the\n   * value of a control.\n   *\n   * @usageNotes\n   * ### Set the values for the controls in the form array\n   *\n   * ```ts\n   * const arr = new FormArray([\n   *   new FormControl(),\n   *   new FormControl()\n   * ]);\n   * console.log(arr.value);   // [null, null]\n   *\n   * arr.setValue(['Nancy', 'Drew']);\n   * console.log(arr.value);   // ['Nancy', 'Drew']\n   * ```\n   *\n   * @param value Array of values for the controls\n   * @param options Configure options that determine how the control propagates changes and\n   * emits events after the value changes\n   *\n   * * `onlySelf`: When true, each change only affects this control, and not its parent. Default\n   * is false.\n   * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n   * `valueChanges`\n   * observables emit events with the latest status and value when the control value is updated.\n   * When false, no events are emitted.\n   * The configuration options are passed to the {@link AbstractControl#updateValueAndValidity\n   * updateValueAndValidity} method.\n   */\n  setValue(value, options = {}) {\n    assertAllValuesPresent(this, false, value);\n    value.forEach((newValue, index) => {\n      assertControlPresent(this, false, index);\n      this.at(index).setValue(newValue, {\n        onlySelf: true,\n        emitEvent: options.emitEvent\n      });\n    });\n    this.updateValueAndValidity(options);\n  }\n  /**\n   * Patches the value of the `FormArray`. It accepts an array that matches the\n   * structure of the control, and does its best to match the values to the correct\n   * controls in the group.\n   *\n   * It accepts both super-sets and sub-sets of the array without throwing an error.\n   *\n   * @usageNotes\n   * ### Patch the values for controls in a form array\n   *\n   * ```ts\n   * const arr = new FormArray([\n   *    new FormControl(),\n   *    new FormControl()\n   * ]);\n   * console.log(arr.value);   // [null, null]\n   *\n   * arr.patchValue(['Nancy']);\n   * console.log(arr.value);   // ['Nancy', null]\n   * ```\n   *\n   * @param value Array of latest values for the controls\n   * @param options Configure options that determine how the control propagates changes and\n   * emits events after the value changes\n   *\n   * * `onlySelf`: When true, each change only affects this control, and not its parent. Default\n   * is false.\n   * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n   * `valueChanges` observables emit events with the latest status and value when the control\n   * value is updated. When false, no events are emitted. The configuration options are passed to\n   * the {@link AbstractControl#updateValueAndValidity updateValueAndValidity} method.\n   */\n  patchValue(value, options = {}) {\n    // Even though the `value` argument type doesn't allow `null` and `undefined` values, the\n    // `patchValue` can be called recursively and inner data structures might have these values,\n    // so we just ignore such cases when a field containing FormArray instance receives `null` or\n    // `undefined` as a value.\n    if (value == null /* both `null` and `undefined` */) return;\n    value.forEach((newValue, index) => {\n      if (this.at(index)) {\n        this.at(index).patchValue(newValue, {\n          onlySelf: true,\n          emitEvent: options.emitEvent\n        });\n      }\n    });\n    this.updateValueAndValidity(options);\n  }\n  /**\n   * Resets the `FormArray` and all descendants are marked `pristine` and `untouched`, and the\n   * value of all descendants to null or null maps.\n   *\n   * You reset to a specific form state by passing in an array of states\n   * that matches the structure of the control. The state is a standalone value\n   * or a form state object with both a value and a disabled status.\n   *\n   * @usageNotes\n   * ### Reset the values in a form array\n   *\n   * ```ts\n   * const arr = new FormArray([\n   *    new FormControl(),\n   *    new FormControl()\n   * ]);\n   * arr.reset(['name', 'last name']);\n   *\n   * console.log(arr.value);  // ['name', 'last name']\n   * ```\n   *\n   * ### Reset the values in a form array and the disabled status for the first control\n   *\n   * ```ts\n   * arr.reset([\n   *   {value: 'name', disabled: true},\n   *   'last'\n   * ]);\n   *\n   * console.log(arr.value);  // ['last']\n   * console.log(arr.at(0).status);  // 'DISABLED'\n   * ```\n   *\n   * @param value Array of values for the controls\n   * @param options Configure options that determine how the control propagates changes and\n   * emits events after the value changes\n   *\n   * * `onlySelf`: When true, each change only affects this control, and not its parent. Default\n   * is false.\n   * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n   * `valueChanges`\n   * observables emit events with the latest status and value when the control is reset.\n   * When false, no events are emitted.\n   * The configuration options are passed to the {@link AbstractControl#updateValueAndValidity\n   * updateValueAndValidity} method.\n   */\n  reset(value = [], options = {}) {\n    this._forEachChild((control, index) => {\n      control.reset(value[index], {\n        onlySelf: true,\n        emitEvent: options.emitEvent\n      });\n    });\n    this._updatePristine(options, this);\n    this._updateTouched(options, this);\n    this.updateValueAndValidity(options);\n  }\n  /**\n   * The aggregate value of the array, including any disabled controls.\n   *\n   * Reports all values regardless of disabled status.\n   */\n  getRawValue() {\n    return this.controls.map(control => control.getRawValue());\n  }\n  /**\n   * Remove all controls in the `FormArray`.\n   *\n   * @param options Specifies whether this FormArray instance should emit events after all\n   *     controls are removed.\n   * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n   * `valueChanges` observables emit events with the latest status and value when all controls\n   * in this FormArray instance are removed. When false, no events are emitted.\n   *\n   * @usageNotes\n   * ### Remove all elements from a FormArray\n   *\n   * ```ts\n   * const arr = new FormArray([\n   *    new FormControl(),\n   *    new FormControl()\n   * ]);\n   * console.log(arr.length);  // 2\n   *\n   * arr.clear();\n   * console.log(arr.length);  // 0\n   * ```\n   *\n   * It's a simpler and more efficient alternative to removing all elements one by one:\n   *\n   * ```ts\n   * const arr = new FormArray([\n   *    new FormControl(),\n   *    new FormControl()\n   * ]);\n   *\n   * while (arr.length) {\n   *    arr.removeAt(0);\n   * }\n   * ```\n   */\n  clear(options = {}) {\n    if (this.controls.length < 1) return;\n    this._forEachChild(control => control._registerOnCollectionChange(() => {}));\n    this.controls.splice(0);\n    this.updateValueAndValidity({\n      emitEvent: options.emitEvent\n    });\n  }\n  /**\n   * Adjusts a negative index by summing it with the length of the array. For very negative\n   * indices, the result may remain negative.\n   * @internal\n   */\n  _adjustIndex(index) {\n    return index < 0 ? index + this.length : index;\n  }\n  /** @internal */\n  _syncPendingControls() {\n    let subtreeUpdated = this.controls.reduce((updated, child) => {\n      return child._syncPendingControls() ? true : updated;\n    }, false);\n    if (subtreeUpdated) this.updateValueAndValidity({\n      onlySelf: true\n    });\n    return subtreeUpdated;\n  }\n  /** @internal */\n  _forEachChild(cb) {\n    this.controls.forEach((control, index) => {\n      cb(control, index);\n    });\n  }\n  /** @internal */\n  _updateValue() {\n    this.value = this.controls.filter(control => control.enabled || this.disabled).map(control => control.value);\n  }\n  /** @internal */\n  _anyControls(condition) {\n    return this.controls.some(control => control.enabled && condition(control));\n  }\n  /** @internal */\n  _setUpControls() {\n    this._forEachChild(control => this._registerControl(control));\n  }\n  /** @internal */\n  _allControlsDisabled() {\n    for (const control of this.controls) {\n      if (control.enabled) return false;\n    }\n    return this.controls.length > 0 || this.disabled;\n  }\n  _registerControl(control) {\n    control.setParent(this);\n    control._registerOnCollectionChange(this._onCollectionChange);\n  }\n  /** @internal */\n  _find(name) {\n    return this.at(name) ?? null;\n  }\n}\nconst UntypedFormArray = FormArray;\n/**\n * @description\n * Asserts that the given control is an instance of `FormArray`\n *\n * @publicApi\n */\nconst isFormArray = control => control instanceof FormArray;\nfunction isAbstractControlOptions(options) {\n  return !!options && (options.asyncValidators !== undefined || options.validators !== undefined || options.updateOn !== undefined);\n}\n/**\n * @description\n * Creates an `AbstractControl` from a user-specified configuration.\n *\n * The `FormBuilder` provides syntactic sugar that shortens creating instances of a\n * `FormControl`, `FormGroup`, or `FormArray`. It reduces the amount of boilerplate needed to\n * build complex forms.\n *\n * @see [Reactive Forms Guide](guide/forms/reactive-forms)\n *\n * @publicApi\n */\nlet FormBuilder = /*#__PURE__*/(() => {\n  class FormBuilder {\n    useNonNullable = false;\n    /**\n     * @description\n     * Returns a FormBuilder in which automatically constructed `FormControl` elements\n     * have `{nonNullable: true}` and are non-nullable.\n     *\n     * **Constructing non-nullable controls**\n     *\n     * When constructing a control, it will be non-nullable, and will reset to its initial value.\n     *\n     * ```ts\n     * let nnfb = new FormBuilder().nonNullable;\n     * let name = nnfb.control('Alex'); // FormControl<string>\n     * name.reset();\n     * console.log(name); // 'Alex'\n     * ```\n     *\n     * **Constructing non-nullable groups or arrays**\n     *\n     * When constructing a group or array, all automatically created inner controls will be\n     * non-nullable, and will reset to their initial values.\n     *\n     * ```ts\n     * let nnfb = new FormBuilder().nonNullable;\n     * let name = nnfb.group({who: 'Alex'}); // FormGroup<{who: FormControl<string>}>\n     * name.reset();\n     * console.log(name); // {who: 'Alex'}\n     * ```\n     * **Constructing *nullable* fields on groups or arrays**\n     *\n     * It is still possible to have a nullable field. In particular, any `FormControl` which is\n     * *already* constructed will not be altered. For example:\n     *\n     * ```ts\n     * let nnfb = new FormBuilder().nonNullable;\n     * // FormGroup<{who: FormControl<string|null>}>\n     * let name = nnfb.group({who: new FormControl('Alex')});\n     * name.reset(); console.log(name); // {who: null}\n     * ```\n     *\n     * Because the inner control is constructed explicitly by the caller, the builder has\n     * no control over how it is created, and cannot exclude the `null`.\n     */\n    get nonNullable() {\n      const nnfb = new FormBuilder();\n      nnfb.useNonNullable = true;\n      return nnfb;\n    }\n    group(controls, options = null) {\n      const reducedControls = this._reduceControls(controls);\n      let newOptions = {};\n      if (isAbstractControlOptions(options)) {\n        // `options` are `AbstractControlOptions`\n        newOptions = options;\n      } else if (options !== null) {\n        // `options` are legacy form group options\n        newOptions.validators = options.validator;\n        newOptions.asyncValidators = options.asyncValidator;\n      }\n      return new FormGroup(reducedControls, newOptions);\n    }\n    /**\n     * @description\n     * Constructs a new `FormRecord` instance. Accepts a single generic argument, which is an object\n     * containing all the keys and corresponding inner control types.\n     *\n     * @param controls A collection of child controls. The key for each child is the name\n     * under which it is registered.\n     *\n     * @param options Configuration options object for the `FormRecord`. The object should have the\n     * `AbstractControlOptions` type and might contain the following fields:\n     * * `validators`: A synchronous validator function, or an array of validator functions.\n     * * `asyncValidators`: A single async validator or array of async validator functions.\n     * * `updateOn`: The event upon which the control should be updated (options: 'change' | 'blur'\n     * | submit').\n     */\n    record(controls, options = null) {\n      const reducedControls = this._reduceControls(controls);\n      // Cast to `any` because the inferred types are not as specific as Element.\n      return new FormRecord(reducedControls, options);\n    }\n    /**\n     * @description\n     * Constructs a new `FormControl` with the given state, validators and options. Sets\n     * `{nonNullable: true}` in the options to get a non-nullable control. Otherwise, the\n     * control will be nullable. Accepts a single generic argument, which is the type  of the\n     * control's value.\n     *\n     * @param formState Initializes the control with an initial state value, or\n     * with an object that contains both a value and a disabled status.\n     *\n     * @param validatorOrOpts A synchronous validator function, or an array of\n     * such functions, or a `FormControlOptions` object that contains\n     * validation functions and a validation trigger.\n     *\n     * @param asyncValidator A single async validator or array of async validator\n     * functions.\n     *\n     * @usageNotes\n     *\n     * ### Initialize a control as disabled\n     *\n     * The following example returns a control with an initial value in a disabled state.\n     *\n     * {@example forms/ts/formBuilder/form_builder_example.ts region='disabled-control'}\n     */\n    control(formState, validatorOrOpts, asyncValidator) {\n      let newOptions = {};\n      if (!this.useNonNullable) {\n        return new FormControl(formState, validatorOrOpts, asyncValidator);\n      }\n      if (isAbstractControlOptions(validatorOrOpts)) {\n        // If the second argument is options, then they are copied.\n        newOptions = validatorOrOpts;\n      } else {\n        // If the other arguments are validators, they are copied into an options object.\n        newOptions.validators = validatorOrOpts;\n        newOptions.asyncValidators = asyncValidator;\n      }\n      return new FormControl(formState, {\n        ...newOptions,\n        nonNullable: true\n      });\n    }\n    /**\n     * Constructs a new `FormArray` from the given array of configurations,\n     * validators and options. Accepts a single generic argument, which is the type of each control\n     * inside the array.\n     *\n     * @param controls An array of child controls or control configs. Each child control is given an\n     *     index when it is registered.\n     *\n     * @param validatorOrOpts A synchronous validator function, or an array of such functions, or an\n     *     `AbstractControlOptions` object that contains\n     * validation functions and a validation trigger.\n     *\n     * @param asyncValidator A single async validator or array of async validator functions.\n     */\n    array(controls, validatorOrOpts, asyncValidator) {\n      const createdControls = controls.map(c => this._createControl(c));\n      // Cast to `any` because the inferred types are not as specific as Element.\n      return new FormArray(createdControls, validatorOrOpts, asyncValidator);\n    }\n    /** @internal */\n    _reduceControls(controls) {\n      const createdControls = {};\n      Object.keys(controls).forEach(controlName => {\n        createdControls[controlName] = this._createControl(controls[controlName]);\n      });\n      return createdControls;\n    }\n    /** @internal */\n    _createControl(controls) {\n      if (controls instanceof FormControl) {\n        return controls;\n      } else if (controls instanceof AbstractControl) {\n        // A control; just return it\n        return controls;\n      } else if (Array.isArray(controls)) {\n        // ControlConfig Tuple\n        const value = controls[0];\n        const validator = controls.length > 1 ? controls[1] : null;\n        const asyncValidator = controls.length > 2 ? controls[2] : null;\n        return this.control(value, validator, asyncValidator);\n      } else {\n        // T or FormControlState<T>\n        return this.control(controls);\n      }\n    }\n    static ɵfac = function FormBuilder_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || FormBuilder)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: FormBuilder,\n      factory: FormBuilder.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return FormBuilder;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @description\n * `NonNullableFormBuilder` is similar to {@link FormBuilder}, but automatically constructed\n * {@link FormControl} elements have `{nonNullable: true}` and are non-nullable.\n *\n * @publicApi\n */\nlet NonNullableFormBuilder = /*#__PURE__*/(() => {\n  class NonNullableFormBuilder {\n    static ɵfac = function NonNullableFormBuilder_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NonNullableFormBuilder)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: NonNullableFormBuilder,\n      factory: () => (() => inject(FormBuilder).nonNullable)(),\n      providedIn: 'root'\n    });\n  }\n  return NonNullableFormBuilder;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * UntypedFormBuilder is the same as `FormBuilder`, but it provides untyped controls.\n */\nlet UntypedFormBuilder = /*#__PURE__*/(() => {\n  class UntypedFormBuilder extends FormBuilder {\n    group(controlsConfig, options = null) {\n      return super.group(controlsConfig, options);\n    }\n    /**\n     * Like `FormBuilder#control`, except the resulting control is untyped.\n     */\n    control(formState, validatorOrOpts, asyncValidator) {\n      return super.control(formState, validatorOrOpts, asyncValidator);\n    }\n    /**\n     * Like `FormBuilder#array`, except the resulting array is untyped.\n     */\n    array(controlsConfig, validatorOrOpts, asyncValidator) {\n      return super.array(controlsConfig, validatorOrOpts, asyncValidator);\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵUntypedFormBuilder_BaseFactory;\n      return function UntypedFormBuilder_Factory(__ngFactoryType__) {\n        return (ɵUntypedFormBuilder_BaseFactory || (ɵUntypedFormBuilder_BaseFactory = i0.ɵɵgetInheritedFactory(UntypedFormBuilder)))(__ngFactoryType__ || UntypedFormBuilder);\n      };\n    })();\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: UntypedFormBuilder,\n      factory: UntypedFormBuilder.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return UntypedFormBuilder;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of the forms package.\n */\n/**\n * @publicApi\n */\nconst VERSION = /*#__PURE__*/new Version('19.2.20');\n\n/**\n * Exports the required providers and directives for template-driven forms,\n * making them available for import by NgModules that import this module.\n *\n * @see [Forms Overview](guide/forms)\n * @see [Template-driven Forms Guide](guide/forms)\n *\n * @publicApi\n */\nlet FormsModule = /*#__PURE__*/(() => {\n  class FormsModule {\n    /**\n     * @description\n     * Provides options for configuring the forms module.\n     *\n     * @param opts An object of configuration options\n     * * `callSetDisabledState` Configures whether to `always` call `setDisabledState`, which is more\n     * correct, or to only call it `whenDisabled`, which is the legacy behavior.\n     */\n    static withConfig(opts) {\n      return {\n        ngModule: FormsModule,\n        providers: [{\n          provide: CALL_SET_DISABLED_STATE,\n          useValue: opts.callSetDisabledState ?? setDisabledStateDefault\n        }]\n      };\n    }\n    static ɵfac = function FormsModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || FormsModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: FormsModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [ɵInternalFormsSharedModule]\n    });\n  }\n  return FormsModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Exports the required infrastructure and directives for reactive forms,\n * making them available for import by NgModules that import this module.\n *\n * @see [Forms Overview](guide/forms)\n * @see [Reactive Forms Guide](guide/forms/reactive-forms)\n *\n * @publicApi\n */\nlet ReactiveFormsModule = /*#__PURE__*/(() => {\n  class ReactiveFormsModule {\n    /**\n     * @description\n     * Provides options for configuring the reactive forms module.\n     *\n     * @param opts An object of configuration options\n     * * `warnOnNgModelWithFormControl` Configures when to emit a warning when an `ngModel`\n     * binding is used with reactive form directives.\n     * * `callSetDisabledState` Configures whether to `always` call `setDisabledState`, which is more\n     * correct, or to only call it `whenDisabled`, which is the legacy behavior.\n     */\n    static withConfig(opts) {\n      return {\n        ngModule: ReactiveFormsModule,\n        providers: [{\n          provide: NG_MODEL_WITH_FORM_CONTROL_WARNING,\n          useValue: opts.warnOnNgModelWithFormControl ?? 'always'\n        }, {\n          provide: CALL_SET_DISABLED_STATE,\n          useValue: opts.callSetDisabledState ?? setDisabledStateDefault\n        }]\n      };\n    }\n    static ɵfac = function ReactiveFormsModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ReactiveFormsModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: ReactiveFormsModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [ɵInternalFormsSharedModule]\n    });\n  }\n  return ReactiveFormsModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { AbstractControl, AbstractControlDirective, AbstractFormGroupDirective, COMPOSITION_BUFFER_MODE, CheckboxControlValueAccessor, CheckboxRequiredValidator, ControlContainer, ControlEvent, DefaultValueAccessor, EmailValidator, FormArray, FormArrayName, FormBuilder, FormControl, FormControlDirective, FormControlName, FormGroup, FormGroupDirective, FormGroupName, FormRecord, FormResetEvent, FormSubmittedEvent, FormsModule, MaxLengthValidator, MaxValidator, MinLengthValidator, MinValidator, NG_ASYNC_VALIDATORS, NG_VALIDATORS, NG_VALUE_ACCESSOR, NgControl, NgControlStatus, NgControlStatusGroup, NgForm, NgModel, NgModelGroup, NgSelectOption, NonNullableFormBuilder, NumberValueAccessor, PatternValidator, PristineChangeEvent, RadioControlValueAccessor, RangeValueAccessor, ReactiveFormsModule, RequiredValidator, SelectControlValueAccessor, SelectMultipleControlValueAccessor, StatusChangeEvent, TouchedChangeEvent, UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, VERSION, Validators, ValueChangeEvent, isFormArray, isFormControl, isFormGroup, isFormRecord, ɵInternalFormsSharedModule, ɵNgNoValidate, ɵNgSelectMultipleOption };\n","import * as i0 from '@angular/core';\nimport { NgModule } from '@angular/core';\nimport { M as MatCommonModule } from './common-module-WayjW0Pb.mjs';\nimport { M as MatRipple } from './ripple-BT3tzh6F.mjs';\nlet MatRippleModule = /*#__PURE__*/(() => {\n  class MatRippleModule {\n    static ɵfac = function MatRippleModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatRippleModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: MatRippleModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [MatCommonModule, MatCommonModule]\n    });\n  }\n  return MatRippleModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { MatRippleModule as M };\n","import * as i0 from '@angular/core';\nimport { NgModule } from '@angular/core';\nimport { M as MatPseudoCheckbox } from './pseudo-checkbox-CJ7seqQH.mjs';\nimport { M as MatCommonModule } from './common-module-WayjW0Pb.mjs';\nlet MatPseudoCheckboxModule = /*#__PURE__*/(() => {\n  class MatPseudoCheckboxModule {\n    static ɵfac = function MatPseudoCheckboxModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatPseudoCheckboxModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: MatPseudoCheckboxModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [MatCommonModule]\n    });\n  }\n  return MatPseudoCheckboxModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { MatPseudoCheckboxModule as M };\n","import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, inject, ElementRef, Directive, Input, NgZone, ANIMATION_MODULE_TYPE, Injector, ContentChildren, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, ChangeDetectorRef, EventEmitter, Output, forwardRef, Renderer2, NgModule } from '@angular/core';\nimport { Platform, _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';\nimport { _CdkPrivateStyleLoader } from '@angular/cdk/private';\nimport { Subscription, merge, Subject } from 'rxjs';\nimport { a as MAT_RIPPLE_GLOBAL_OPTIONS, R as RippleRenderer } from './ripple-BT3tzh6F.mjs';\nimport { _ as _StructuralStylesLoader } from './structural-styles-BQUT6wsL.mjs';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { CdkObserveContent, ObserversModule } from '@angular/cdk/observers';\nimport { MatDividerModule } from './divider.mjs';\nconst _c0 = [\"*\"];\nconst _c1 = \".mdc-list{margin:0;padding:8px 0;list-style-type:none}.mdc-list:focus{outline:none}.mdc-list-item{display:flex;position:relative;justify-content:flex-start;overflow:hidden;padding:0;align-items:stretch;cursor:pointer;padding-left:16px;padding-right:16px;background-color:var(--mdc-list-list-item-container-color, transparent);border-radius:var(--mdc-list-list-item-container-shape, var(--mat-sys-corner-none))}.mdc-list-item.mdc-list-item--selected{background-color:var(--mdc-list-list-item-selected-container-color)}.mdc-list-item:focus{outline:0}.mdc-list-item.mdc-list-item--disabled{cursor:auto}.mdc-list-item.mdc-list-item--with-one-line{height:var(--mdc-list-list-item-one-line-container-height, 48px)}.mdc-list-item.mdc-list-item--with-one-line .mdc-list-item__start{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-one-line .mdc-list-item__end{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-two-lines{height:var(--mdc-list-list-item-two-line-container-height, 64px)}.mdc-list-item.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--with-two-lines .mdc-list-item__end{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-three-lines{height:var(--mdc-list-list-item-three-line-container-height, 88px)}.mdc-list-item.mdc-list-item--with-three-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--selected::before,.mdc-list-item.mdc-list-item--selected:focus::before,.mdc-list-item:not(.mdc-list-item--selected):focus::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;content:\\\"\\\";pointer-events:none}a.mdc-list-item{color:inherit;text-decoration:none}.mdc-list-item__start{fill:currentColor;flex-shrink:0;pointer-events:none}.mdc-list-item--with-leading-icon .mdc-list-item__start{color:var(--mdc-list-list-item-leading-icon-color, var(--mat-sys-on-surface-variant));width:var(--mdc-list-list-item-leading-icon-size, 24px);height:var(--mdc-list-list-item-leading-icon-size, 24px);margin-left:16px;margin-right:32px}[dir=rtl] .mdc-list-item--with-leading-icon .mdc-list-item__start{margin-left:32px;margin-right:16px}.mdc-list-item--with-leading-icon:hover .mdc-list-item__start{color:var(--mdc-list-list-item-hover-leading-icon-color)}.mdc-list-item--with-leading-avatar .mdc-list-item__start{width:var(--mdc-list-list-item-leading-avatar-size, 40px);height:var(--mdc-list-list-item-leading-avatar-size, 40px);margin-left:16px;margin-right:16px;border-radius:50%}.mdc-list-item--with-leading-avatar .mdc-list-item__start,[dir=rtl] .mdc-list-item--with-leading-avatar .mdc-list-item__start{margin-left:16px;margin-right:16px;border-radius:50%}.mdc-list-item__end{flex-shrink:0;pointer-events:none}.mdc-list-item--with-trailing-meta .mdc-list-item__end{font-family:var(--mdc-list-list-item-trailing-supporting-text-font, var(--mat-sys-label-small-font));line-height:var(--mdc-list-list-item-trailing-supporting-text-line-height, var(--mat-sys-label-small-line-height));font-size:var(--mdc-list-list-item-trailing-supporting-text-size, var(--mat-sys-label-small-size));font-weight:var(--mdc-list-list-item-trailing-supporting-text-weight, var(--mat-sys-label-small-weight));letter-spacing:var(--mdc-list-list-item-trailing-supporting-text-tracking, var(--mat-sys-label-small-tracking))}.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mdc-list-list-item-trailing-icon-color, var(--mat-sys-on-surface-variant));width:var(--mdc-list-list-item-trailing-icon-size, 24px);height:var(--mdc-list-list-item-trailing-icon-size, 24px)}.mdc-list-item--with-trailing-icon:hover .mdc-list-item__end{color:var(--mdc-list-list-item-hover-trailing-icon-color)}.mdc-list-item.mdc-list-item--with-trailing-meta .mdc-list-item__end{color:var(--mdc-list-list-item-trailing-supporting-text-color, var(--mat-sys-on-surface-variant))}.mdc-list-item--selected.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mdc-list-list-item-selected-trailing-icon-color, var(--mat-sys-primary))}.mdc-list-item__content{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;align-self:center;flex:1;pointer-events:none}.mdc-list-item--with-two-lines .mdc-list-item__content,.mdc-list-item--with-three-lines .mdc-list-item__content{align-self:stretch}.mdc-list-item__primary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:var(--mdc-list-list-item-label-text-color, var(--mat-sys-on-surface));font-family:var(--mdc-list-list-item-label-text-font, var(--mat-sys-body-large-font));line-height:var(--mdc-list-list-item-label-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mdc-list-list-item-label-text-size, var(--mat-sys-body-large-size));font-weight:var(--mdc-list-list-item-label-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mdc-list-list-item-label-text-tracking, var(--mat-sys-body-large-tracking))}.mdc-list-item:hover .mdc-list-item__primary-text{color:var(--mdc-list-list-item-hover-label-text-color, var(--mat-sys-on-surface))}.mdc-list-item:focus .mdc-list-item__primary-text{color:var(--mdc-list-list-item-focus-label-text-color, var(--mat-sys-on-surface))}.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-three-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-three-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-three-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item__secondary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin-top:0;color:var(--mdc-list-list-item-supporting-text-color, var(--mat-sys-on-surface-variant));font-family:var(--mdc-list-list-item-supporting-text-font, var(--mat-sys-body-medium-font));line-height:var(--mdc-list-list-item-supporting-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mdc-list-list-item-supporting-text-size, var(--mat-sys-body-medium-size));font-weight:var(--mdc-list-list-item-supporting-text-weight, var(--mat-sys-body-medium-weight));letter-spacing:var(--mdc-list-list-item-supporting-text-tracking, var(--mat-sys-body-medium-tracking))}.mdc-list-item__secondary-text::before{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-three-lines .mdc-list-item__secondary-text{white-space:normal;line-height:20px}.mdc-list-item--with-overline .mdc-list-item__secondary-text{white-space:nowrap;line-height:auto}.mdc-list-item--with-leading-radio.mdc-list-item,.mdc-list-item--with-leading-checkbox.mdc-list-item,.mdc-list-item--with-leading-icon.mdc-list-item,.mdc-list-item--with-leading-avatar.mdc-list-item{padding-left:0;padding-right:16px}[dir=rtl] .mdc-list-item--with-leading-radio.mdc-list-item,[dir=rtl] .mdc-list-item--with-leading-checkbox.mdc-list-item,[dir=rtl] .mdc-list-item--with-leading-icon.mdc-list-item,[dir=rtl] .mdc-list-item--with-leading-avatar.mdc-list-item{padding-left:16px;padding-right:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-trailing-icon.mdc-list-item,[dir=rtl] .mdc-list-item--with-trailing-icon.mdc-list-item{padding-left:0;padding-right:0}.mdc-list-item--with-trailing-icon .mdc-list-item__end{margin-left:16px;margin-right:16px}.mdc-list-item--with-trailing-meta.mdc-list-item{padding-left:16px;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-meta.mdc-list-item{padding-left:0;padding-right:16px}.mdc-list-item--with-trailing-meta .mdc-list-item__end{-webkit-user-select:none;user-select:none;margin-left:28px;margin-right:16px}[dir=rtl] .mdc-list-item--with-trailing-meta .mdc-list-item__end{margin-left:16px;margin-right:28px}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end,.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end{display:block;line-height:normal;align-self:flex-start;margin-top:0}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end::before,.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-radio .mdc-list-item__start,.mdc-list-item--with-leading-checkbox .mdc-list-item__start{margin-left:8px;margin-right:24px}[dir=rtl] .mdc-list-item--with-leading-radio .mdc-list-item__start,[dir=rtl] .mdc-list-item--with-leading-checkbox .mdc-list-item__start{margin-left:24px;margin-right:8px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__start,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:8px}.mdc-list-item--with-trailing-radio.mdc-list-item,.mdc-list-item--with-trailing-checkbox.mdc-list-item{padding-left:16px;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-radio.mdc-list-item,[dir=rtl] .mdc-list-item--with-trailing-checkbox.mdc-list-item{padding-left:0;padding-right:16px}.mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-icon,.mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-avatar,.mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-icon,.mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-avatar{padding-left:0}[dir=rtl] .mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-icon,[dir=rtl] .mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-avatar,[dir=rtl] .mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-icon,[dir=rtl] .mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-avatar{padding-right:0}.mdc-list-item--with-trailing-radio .mdc-list-item__end,.mdc-list-item--with-trailing-checkbox .mdc-list-item__end{margin-left:24px;margin-right:8px}[dir=rtl] .mdc-list-item--with-trailing-radio .mdc-list-item__end,[dir=rtl] .mdc-list-item--with-trailing-checkbox .mdc-list-item__end{margin-left:8px;margin-right:24px}.mdc-list-item--with-trailing-radio.mdc-list-item--with-three-lines .mdc-list-item__end,.mdc-list-item--with-trailing-checkbox.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:8px}.mdc-list-group__subheader{margin:.75rem 16px}.mdc-list-item--disabled .mdc-list-item__start,.mdc-list-item--disabled .mdc-list-item__content,.mdc-list-item--disabled .mdc-list-item__end{opacity:1}.mdc-list-item--disabled .mdc-list-item__primary-text,.mdc-list-item--disabled .mdc-list-item__secondary-text{opacity:var(--mdc-list-list-item-disabled-label-text-opacity, 0.3)}.mdc-list-item--disabled.mdc-list-item--with-leading-icon .mdc-list-item__start{color:var(--mdc-list-list-item-disabled-leading-icon-color, var(--mat-sys-on-surface));opacity:var(--mdc-list-list-item-disabled-leading-icon-opacity, 0.38)}.mdc-list-item--disabled.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mdc-list-list-item-disabled-trailing-icon-color, var(--mat-sys-on-surface));opacity:var(--mdc-list-list-item-disabled-trailing-icon-opacity, 0.38)}.mat-mdc-list-item.mat-mdc-list-item-both-leading-and-trailing,[dir=rtl] .mat-mdc-list-item.mat-mdc-list-item-both-leading-and-trailing{padding-left:0;padding-right:0}.mdc-list-item.mdc-list-item--disabled .mdc-list-item__primary-text{color:var(--mdc-list-list-item-disabled-label-text-color, var(--mat-sys-on-surface))}.mdc-list-item:hover::before{background-color:var(--mdc-list-list-item-hover-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mdc-list-list-item-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-list-item.mdc-list-item--disabled::before{background-color:var(--mdc-list-list-item-disabled-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mdc-list-list-item-disabled-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-list-item:focus::before{background-color:var(--mdc-list-list-item-focus-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mdc-list-list-item-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-list-item--disabled .mdc-radio,.mdc-list-item--disabled .mdc-checkbox{opacity:var(--mdc-list-list-item-disabled-label-text-opacity, 0.3)}.mdc-list-item--with-leading-avatar .mat-mdc-list-item-avatar{border-radius:var(--mdc-list-list-item-leading-avatar-shape, var(--mat-sys-corner-full));background-color:var(--mdc-list-list-item-leading-avatar-color, var(--mat-sys-primary-container))}.mat-mdc-list-item-icon{font-size:var(--mdc-list-list-item-leading-icon-size, 24px)}@media(forced-colors: active){a.mdc-list-item--activated::after{content:\\\"\\\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}a.mdc-list-item--activated [dir=rtl]::after{right:auto;left:16px}}.mat-mdc-list-base{display:block}.mat-mdc-list-base .mdc-list-item__start,.mat-mdc-list-base .mdc-list-item__end,.mat-mdc-list-base .mdc-list-item__content{pointer-events:auto}.mat-mdc-list-item,.mat-mdc-list-option{width:100%;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-list-item:not(.mat-mdc-list-item-interactive),.mat-mdc-list-option:not(.mat-mdc-list-item-interactive){cursor:default}.mat-mdc-list-item .mat-divider-inset,.mat-mdc-list-option .mat-divider-inset{position:absolute;left:0;right:0;bottom:0}.mat-mdc-list-item .mat-mdc-list-item-avatar~.mat-divider-inset,.mat-mdc-list-option .mat-mdc-list-item-avatar~.mat-divider-inset{margin-left:72px}[dir=rtl] .mat-mdc-list-item .mat-mdc-list-item-avatar~.mat-divider-inset,[dir=rtl] .mat-mdc-list-option .mat-mdc-list-item-avatar~.mat-divider-inset{margin-right:72px}.mat-mdc-list-item-interactive::before{top:0;left:0;right:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0;pointer-events:none;border-radius:inherit}.mat-mdc-list-item>.mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-list-item:focus>.mat-focus-indicator::before{content:\\\"\\\"}.mat-mdc-list-item.mdc-list-item--with-three-lines .mat-mdc-list-item-line.mdc-list-item__secondary-text{white-space:nowrap;line-height:normal}.mat-mdc-list-item.mdc-list-item--with-three-lines .mat-mdc-list-item-unscoped-content.mdc-list-item__secondary-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);text-align:start}mat-action-list button::-moz-focus-inner{border:0}.mdc-list-item--with-leading-icon .mdc-list-item__start{margin-inline-start:var(--mat-list-list-item-leading-icon-start-space, 16px);margin-inline-end:var(--mat-list-list-item-leading-icon-end-space, 16px)}.mat-mdc-nav-list .mat-mdc-list-item{border-radius:var(--mat-list-active-indicator-shape, var(--mat-sys-corner-full));--mat-focus-indicator-border-radius:var(--mat-list-active-indicator-shape, var(--mat-sys-corner-full))}.mat-mdc-nav-list .mat-mdc-list-item.mdc-list-item--activated{background-color:var(--mat-list-active-indicator-color, var(--mat-sys-secondary-container))}\\n\";\nconst _c2 = [\"unscopedContent\"];\nconst _c3 = [\"text\"];\nconst _c4 = [[[\"\", \"matListItemAvatar\", \"\"], [\"\", \"matListItemIcon\", \"\"]], [[\"\", \"matListItemTitle\", \"\"]], [[\"\", \"matListItemLine\", \"\"]], \"*\", [[\"\", \"matListItemMeta\", \"\"]], [[\"mat-divider\"]]];\nconst _c5 = [\"[matListItemAvatar],[matListItemIcon]\", \"[matListItemTitle]\", \"[matListItemLine]\", \"*\", \"[matListItemMeta]\", \"mat-divider\"];\nconst _c6 = [[[\"\", \"matListItemTitle\", \"\"]], [[\"\", \"matListItemLine\", \"\"]], \"*\", [[\"mat-divider\"]], [[\"\", \"matListItemAvatar\", \"\"], [\"\", \"matListItemIcon\", \"\"]]];\nconst _c7 = [\"[matListItemTitle]\", \"[matListItemLine]\", \"*\", \"mat-divider\", \"[matListItemAvatar],[matListItemIcon]\"];\nfunction MatListOption_ng_template_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵprojection(0, 4);\n  }\n}\nfunction MatListOption_ng_template_2_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"div\", 11);\n    i0.ɵɵelement(1, \"input\", 12);\n    i0.ɵɵelementStart(2, \"div\", 13);\n    i0.ɵɵnamespaceSVG();\n    i0.ɵɵelementStart(3, \"svg\", 14);\n    i0.ɵɵelement(4, \"path\", 15);\n    i0.ɵɵelementEnd();\n    i0.ɵɵnamespaceHTML();\n    i0.ɵɵelement(5, \"div\", 16);\n    i0.ɵɵelementEnd()();\n  }\n  if (rf & 2) {\n    const ctx_r1 = i0.ɵɵnextContext();\n    i0.ɵɵclassProp(\"mdc-checkbox--disabled\", ctx_r1.disabled);\n    i0.ɵɵadvance();\n    i0.ɵɵproperty(\"checked\", ctx_r1.selected)(\"disabled\", ctx_r1.disabled);\n  }\n}\nfunction MatListOption_ng_template_4_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"div\", 17);\n    i0.ɵɵelement(1, \"input\", 18);\n    i0.ɵɵelementStart(2, \"div\", 19);\n    i0.ɵɵelement(3, \"div\", 20)(4, \"div\", 21);\n    i0.ɵɵelementEnd()();\n  }\n  if (rf & 2) {\n    const ctx_r1 = i0.ɵɵnextContext();\n    i0.ɵɵclassProp(\"mdc-radio--disabled\", ctx_r1.disabled);\n    i0.ɵɵadvance();\n    i0.ɵɵproperty(\"checked\", ctx_r1.selected)(\"disabled\", ctx_r1.disabled);\n  }\n}\nfunction MatListOption_Conditional_6_ng_template_1_Template(rf, ctx) {}\nfunction MatListOption_Conditional_6_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"span\", 4);\n    i0.ɵɵtemplate(1, MatListOption_Conditional_6_ng_template_1_Template, 0, 0, \"ng-template\", 6);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵnextContext();\n    const checkbox_r3 = i0.ɵɵreference(3);\n    i0.ɵɵadvance();\n    i0.ɵɵproperty(\"ngTemplateOutlet\", checkbox_r3);\n  }\n}\nfunction MatListOption_Conditional_7_ng_template_1_Template(rf, ctx) {}\nfunction MatListOption_Conditional_7_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"span\", 5);\n    i0.ɵɵtemplate(1, MatListOption_Conditional_7_ng_template_1_Template, 0, 0, \"ng-template\", 6);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵnextContext();\n    const radio_r4 = i0.ɵɵreference(5);\n    i0.ɵɵadvance();\n    i0.ɵɵproperty(\"ngTemplateOutlet\", radio_r4);\n  }\n}\nfunction MatListOption_Conditional_8_ng_template_0_Template(rf, ctx) {}\nfunction MatListOption_Conditional_8_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵtemplate(0, MatListOption_Conditional_8_ng_template_0_Template, 0, 0, \"ng-template\", 6);\n  }\n  if (rf & 2) {\n    i0.ɵɵnextContext();\n    const icons_r5 = i0.ɵɵreference(1);\n    i0.ɵɵproperty(\"ngTemplateOutlet\", icons_r5);\n  }\n}\nfunction MatListOption_Conditional_15_ng_template_1_Template(rf, ctx) {}\nfunction MatListOption_Conditional_15_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"span\", 9);\n    i0.ɵɵtemplate(1, MatListOption_Conditional_15_ng_template_1_Template, 0, 0, \"ng-template\", 6);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵnextContext();\n    const checkbox_r3 = i0.ɵɵreference(3);\n    i0.ɵɵadvance();\n    i0.ɵɵproperty(\"ngTemplateOutlet\", checkbox_r3);\n  }\n}\nfunction MatListOption_Conditional_16_ng_template_1_Template(rf, ctx) {}\nfunction MatListOption_Conditional_16_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"span\", 9);\n    i0.ɵɵtemplate(1, MatListOption_Conditional_16_ng_template_1_Template, 0, 0, \"ng-template\", 6);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    i0.ɵɵnextContext();\n    const radio_r4 = i0.ɵɵreference(5);\n    i0.ɵɵadvance();\n    i0.ɵɵproperty(\"ngTemplateOutlet\", radio_r4);\n  }\n}\nfunction MatListOption_Conditional_17_ng_template_0_Template(rf, ctx) {}\nfunction MatListOption_Conditional_17_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵtemplate(0, MatListOption_Conditional_17_ng_template_0_Template, 0, 0, \"ng-template\", 6);\n  }\n  if (rf & 2) {\n    i0.ɵɵnextContext();\n    const icons_r5 = i0.ɵɵreference(1);\n    i0.ɵɵproperty(\"ngTemplateOutlet\", icons_r5);\n  }\n}\nexport { MatDivider } from './divider.mjs';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { ENTER, SPACE, A, hasModifierKey } from '@angular/cdk/keycodes';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { takeUntil } from 'rxjs/operators';\nimport { M as MatCommonModule } from './common-module-WayjW0Pb.mjs';\nimport { M as MatRippleModule } from './index-SYVYjXwK.mjs';\nimport { M as MatPseudoCheckboxModule } from './pseudo-checkbox-module-CAX2sutq.mjs';\nimport '@angular/cdk/bidi';\nimport './pseudo-checkbox-CJ7seqQH.mjs';\n\n/**\n * Injection token that can be used to reference instances of an `ListOption`. It serves\n * as alternative token to an actual implementation which could result in undesired\n * retention of the class or circular references breaking runtime execution.\n * @docs-private\n */\nconst LIST_OPTION = /*#__PURE__*/new InjectionToken('ListOption');\n\n/**\n * Directive capturing the title of a list item. A list item usually consists of a\n * title and optional secondary or tertiary lines.\n *\n * Text content for the title never wraps. There can only be a single title per list item.\n */\nlet MatListItemTitle = /*#__PURE__*/(() => {\n  class MatListItemTitle {\n    _elementRef = inject(ElementRef);\n    constructor() {}\n    static ɵfac = function MatListItemTitle_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatListItemTitle)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatListItemTitle,\n      selectors: [[\"\", \"matListItemTitle\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-list-item-title\", \"mdc-list-item__primary-text\"]\n    });\n  }\n  return MatListItemTitle;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Directive capturing a line in a list item. A list item usually consists of a\n * title and optional secondary or tertiary lines.\n *\n * Text content inside a line never wraps. There can be at maximum two lines per list item.\n */\nlet MatListItemLine = /*#__PURE__*/(() => {\n  class MatListItemLine {\n    _elementRef = inject(ElementRef);\n    constructor() {}\n    static ɵfac = function MatListItemLine_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatListItemLine)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatListItemLine,\n      selectors: [[\"\", \"matListItemLine\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-list-item-line\", \"mdc-list-item__secondary-text\"]\n    });\n  }\n  return MatListItemLine;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Directive matching an optional meta section for list items.\n *\n * List items can reserve space at the end of an item to display a control,\n * button or additional text content.\n */\nlet MatListItemMeta = /*#__PURE__*/(() => {\n  class MatListItemMeta {\n    static ɵfac = function MatListItemMeta_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatListItemMeta)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatListItemMeta,\n      selectors: [[\"\", \"matListItemMeta\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-list-item-meta\", \"mdc-list-item__end\"]\n    });\n  }\n  return MatListItemMeta;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @docs-private\n *\n * MDC uses the very intuitively named classes `.mdc-list-item__start` and `.mat-list-item__end` to\n * position content such as icons or checkboxes/radios that comes either before or after the text\n * content respectively. This directive detects the placement of the checkbox/radio and applies the\n * correct MDC class to position the icon/avatar on the opposite side.\n */\nlet _MatListItemGraphicBase = /*#__PURE__*/(() => {\n  class _MatListItemGraphicBase {\n    _listOption = inject(LIST_OPTION, {\n      optional: true\n    });\n    constructor() {}\n    _isAlignedAtStart() {\n      // By default, in all list items the graphic is aligned at start. In list options,\n      // the graphic is only aligned at start if the checkbox/radio is at the end.\n      return !this._listOption || this._listOption?._getTogglePosition() === 'after';\n    }\n    static ɵfac = function _MatListItemGraphicBase_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || _MatListItemGraphicBase)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: _MatListItemGraphicBase,\n      hostVars: 4,\n      hostBindings: function _MatListItemGraphicBase_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mdc-list-item__start\", ctx._isAlignedAtStart())(\"mdc-list-item__end\", !ctx._isAlignedAtStart());\n        }\n      }\n    });\n  }\n  return _MatListItemGraphicBase;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Directive matching an optional avatar within a list item.\n *\n * List items can reserve space at the beginning of an item to display an avatar.\n */\nlet MatListItemAvatar = /*#__PURE__*/(() => {\n  class MatListItemAvatar extends _MatListItemGraphicBase {\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatListItemAvatar_BaseFactory;\n      return function MatListItemAvatar_Factory(__ngFactoryType__) {\n        return (ɵMatListItemAvatar_BaseFactory || (ɵMatListItemAvatar_BaseFactory = i0.ɵɵgetInheritedFactory(MatListItemAvatar)))(__ngFactoryType__ || MatListItemAvatar);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatListItemAvatar,\n      selectors: [[\"\", \"matListItemAvatar\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-list-item-avatar\"],\n      features: [i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return MatListItemAvatar;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Directive matching an optional icon within a list item.\n *\n * List items can reserve space at the beginning of an item to display an icon.\n */\nlet MatListItemIcon = /*#__PURE__*/(() => {\n  class MatListItemIcon extends _MatListItemGraphicBase {\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatListItemIcon_BaseFactory;\n      return function MatListItemIcon_Factory(__ngFactoryType__) {\n        return (ɵMatListItemIcon_BaseFactory || (ɵMatListItemIcon_BaseFactory = i0.ɵɵgetInheritedFactory(MatListItemIcon)))(__ngFactoryType__ || MatListItemIcon);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatListItemIcon,\n      selectors: [[\"\", \"matListItemIcon\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-list-item-icon\"],\n      features: [i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return MatListItemIcon;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Injection token that can be used to provide the default options for the list module. */\nconst MAT_LIST_CONFIG = /*#__PURE__*/new InjectionToken('MAT_LIST_CONFIG');\n\n/** @docs-private */\nlet MatListBase = /*#__PURE__*/(() => {\n  class MatListBase {\n    _isNonInteractive = true;\n    /** Whether ripples for all list items is disabled. */\n    get disableRipple() {\n      return this._disableRipple;\n    }\n    set disableRipple(value) {\n      this._disableRipple = coerceBooleanProperty(value);\n    }\n    _disableRipple = false;\n    /**\n     * Whether the entire list is disabled. When disabled, the list itself and each of its list items\n     * are disabled.\n     */\n    get disabled() {\n      return this._disabled;\n    }\n    set disabled(value) {\n      this._disabled = coerceBooleanProperty(value);\n    }\n    _disabled = false;\n    _defaultOptions = inject(MAT_LIST_CONFIG, {\n      optional: true\n    });\n    static ɵfac = function MatListBase_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatListBase)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatListBase,\n      hostVars: 1,\n      hostBindings: function MatListBase_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"aria-disabled\", ctx.disabled);\n        }\n      },\n      inputs: {\n        disableRipple: \"disableRipple\",\n        disabled: \"disabled\"\n      }\n    });\n  }\n  return MatListBase;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** @docs-private */\nlet MatListItemBase = /*#__PURE__*/(() => {\n  class MatListItemBase {\n    _elementRef = inject(ElementRef);\n    _ngZone = inject(NgZone);\n    _listBase = inject(MatListBase, {\n      optional: true\n    });\n    _platform = inject(Platform);\n    /** Host element for the list item. */\n    _hostElement;\n    /** indicate whether the host element is a button or not */\n    _isButtonElement;\n    /** Whether animations are disabled. */\n    _noopAnimations;\n    _avatars;\n    _icons;\n    /**\n     * The number of lines this list item should reserve space for. If not specified,\n     * lines are inferred based on the projected content.\n     *\n     * Explicitly specifying the number of lines is useful if you want to acquire additional\n     * space and enable the wrapping of text. The unscoped text content of a list item will\n     * always be able to take up the remaining space of the item, unless it represents the title.\n     *\n     * A maximum of three lines is supported as per the Material Design specification.\n     */\n    set lines(lines) {\n      this._explicitLines = coerceNumberProperty(lines, null);\n      this._updateItemLines(false);\n    }\n    _explicitLines = null;\n    /** Whether ripples for list items are disabled. */\n    get disableRipple() {\n      return this.disabled || this._disableRipple || this._noopAnimations || !!this._listBase?.disableRipple;\n    }\n    set disableRipple(value) {\n      this._disableRipple = coerceBooleanProperty(value);\n    }\n    _disableRipple = false;\n    /** Whether the list-item is disabled. */\n    get disabled() {\n      return this._disabled || !!this._listBase?.disabled;\n    }\n    set disabled(value) {\n      this._disabled = coerceBooleanProperty(value);\n    }\n    _disabled = false;\n    _subscriptions = new Subscription();\n    _rippleRenderer = null;\n    /** Whether the list item has unscoped text content. */\n    _hasUnscopedTextContent = false;\n    /**\n     * Implemented as part of `RippleTarget`.\n     * @docs-private\n     */\n    rippleConfig;\n    /**\n     * Implemented as part of `RippleTarget`.\n     * @docs-private\n     */\n    get rippleDisabled() {\n      return this.disableRipple || !!this.rippleConfig.disabled;\n    }\n    constructor() {\n      inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n      const globalRippleOptions = inject(MAT_RIPPLE_GLOBAL_OPTIONS, {\n        optional: true\n      });\n      const animationMode = inject(ANIMATION_MODULE_TYPE, {\n        optional: true\n      });\n      this.rippleConfig = globalRippleOptions || {};\n      this._hostElement = this._elementRef.nativeElement;\n      this._isButtonElement = this._hostElement.nodeName.toLowerCase() === 'button';\n      this._noopAnimations = animationMode === 'NoopAnimations';\n      if (this._listBase && !this._listBase._isNonInteractive) {\n        this._initInteractiveListItem();\n      }\n      // If no type attribute is specified for a host `<button>` element, set it to `button`. If a\n      // type attribute is already specified, we do nothing. We do this for backwards compatibility.\n      // TODO: Determine if we intend to continue doing this for the MDC-based list.\n      if (this._isButtonElement && !this._hostElement.hasAttribute('type')) {\n        this._hostElement.setAttribute('type', 'button');\n      }\n    }\n    ngAfterViewInit() {\n      this._monitorProjectedLinesAndTitle();\n      this._updateItemLines(true);\n    }\n    ngOnDestroy() {\n      this._subscriptions.unsubscribe();\n      if (this._rippleRenderer !== null) {\n        this._rippleRenderer._removeTriggerEvents();\n      }\n    }\n    /** Whether the list item has icons or avatars. */\n    _hasIconOrAvatar() {\n      return !!(this._avatars.length || this._icons.length);\n    }\n    _initInteractiveListItem() {\n      this._hostElement.classList.add('mat-mdc-list-item-interactive');\n      this._rippleRenderer = new RippleRenderer(this, this._ngZone, this._hostElement, this._platform, inject(Injector));\n      this._rippleRenderer.setupTriggerEvents(this._hostElement);\n    }\n    /**\n     * Subscribes to changes in the projected title and lines. Triggers a\n     * item lines update whenever a change occurs.\n     */\n    _monitorProjectedLinesAndTitle() {\n      this._ngZone.runOutsideAngular(() => {\n        this._subscriptions.add(merge(this._lines.changes, this._titles.changes).subscribe(() => this._updateItemLines(false)));\n      });\n    }\n    /**\n     * Updates the lines of the list item. Based on the projected user content and optional\n     * explicit lines setting, the visual appearance of the list item is determined.\n     *\n     * This method should be invoked whenever the projected user content changes, or\n     * when the explicit lines have been updated.\n     *\n     * @param recheckUnscopedContent Whether the projected unscoped content should be re-checked.\n     *   The unscoped content is not re-checked for every update as it is a rather expensive check\n     *   for content that is expected to not change very often.\n     */\n    _updateItemLines(recheckUnscopedContent) {\n      // If the updated is triggered too early before the view and content is initialized,\n      // we just skip the update. After view initialization the update is triggered again.\n      if (!this._lines || !this._titles || !this._unscopedContent) {\n        return;\n      }\n      // Re-check the DOM for unscoped text content if requested. This needs to\n      // happen before any computation or sanity checks run as these rely on the\n      // result of whether there is unscoped text content or not.\n      if (recheckUnscopedContent) {\n        this._checkDomForUnscopedTextContent();\n      }\n      // Sanity check the list item lines and title in the content. This is a dev-mode only\n      // check that can be dead-code eliminated by Terser in production.\n      if (typeof ngDevMode === 'undefined' || ngDevMode) {\n        sanityCheckListItemContent(this);\n      }\n      const numberOfLines = this._explicitLines ?? this._inferLinesFromContent();\n      const unscopedContentEl = this._unscopedContent.nativeElement;\n      // Update the list item element to reflect the number of lines.\n      this._hostElement.classList.toggle('mat-mdc-list-item-single-line', numberOfLines <= 1);\n      this._hostElement.classList.toggle('mdc-list-item--with-one-line', numberOfLines <= 1);\n      this._hostElement.classList.toggle('mdc-list-item--with-two-lines', numberOfLines === 2);\n      this._hostElement.classList.toggle('mdc-list-item--with-three-lines', numberOfLines === 3);\n      // If there is no title and the unscoped content is the is the only line, the\n      // unscoped text content will be treated as the title of the list-item.\n      if (this._hasUnscopedTextContent) {\n        const treatAsTitle = this._titles.length === 0 && numberOfLines === 1;\n        unscopedContentEl.classList.toggle('mdc-list-item__primary-text', treatAsTitle);\n        unscopedContentEl.classList.toggle('mdc-list-item__secondary-text', !treatAsTitle);\n      } else {\n        unscopedContentEl.classList.remove('mdc-list-item__primary-text');\n        unscopedContentEl.classList.remove('mdc-list-item__secondary-text');\n      }\n    }\n    /**\n     * Infers the number of lines based on the projected user content. This is useful\n     * if no explicit number of lines has been specified on the list item.\n     *\n     * The number of lines is inferred based on whether there is a title, the number of\n     * additional lines (secondary/tertiary). An additional line is acquired if there is\n     * unscoped text content.\n     */\n    _inferLinesFromContent() {\n      let numOfLines = this._titles.length + this._lines.length;\n      if (this._hasUnscopedTextContent) {\n        numOfLines += 1;\n      }\n      return numOfLines;\n    }\n    /** Checks whether the list item has unscoped text content. */\n    _checkDomForUnscopedTextContent() {\n      this._hasUnscopedTextContent = Array.from(this._unscopedContent.nativeElement.childNodes).filter(node => node.nodeType !== node.COMMENT_NODE).some(node => !!(node.textContent && node.textContent.trim()));\n    }\n    static ɵfac = function MatListItemBase_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatListItemBase)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatListItemBase,\n      contentQueries: function MatListItemBase_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, MatListItemAvatar, 4);\n          i0.ɵɵcontentQuery(dirIndex, MatListItemIcon, 4);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._avatars = _t);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._icons = _t);\n        }\n      },\n      hostVars: 4,\n      hostBindings: function MatListItemBase_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"aria-disabled\", ctx.disabled)(\"disabled\", ctx._isButtonElement && ctx.disabled || null);\n          i0.ɵɵclassProp(\"mdc-list-item--disabled\", ctx.disabled);\n        }\n      },\n      inputs: {\n        lines: \"lines\",\n        disableRipple: \"disableRipple\",\n        disabled: \"disabled\"\n      }\n    });\n  }\n  return MatListItemBase;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Sanity checks the configuration of the list item with respect to the amount\n * of lines, whether there is a title, or if there is unscoped text content.\n *\n * The checks are extracted into a top-level function that can be dead-code\n * eliminated by Terser or other optimizers in production mode.\n */\nfunction sanityCheckListItemContent(item) {\n  const numTitles = item._titles.length;\n  const numLines = item._lines.length;\n  if (numTitles > 1) {\n    console.warn('A list item cannot have multiple titles.');\n  }\n  if (numTitles === 0 && numLines > 0) {\n    console.warn('A list item line can only be used if there is a list item title.');\n  }\n  if (numTitles === 0 && item._hasUnscopedTextContent && item._explicitLines !== null && item._explicitLines > 1) {\n    console.warn('A list item cannot have wrapping content without a title.');\n  }\n  if (numLines > 2 || numLines === 2 && item._hasUnscopedTextContent) {\n    console.warn('A list item can have at maximum three lines.');\n  }\n}\nlet MatActionList = /*#__PURE__*/(() => {\n  class MatActionList extends MatListBase {\n    // An navigation list is considered interactive, but does not extend the interactive list\n    // base class. We do this because as per MDC, items of interactive lists are only reachable\n    // through keyboard shortcuts. We want all items for the navigation list to be reachable\n    // through tab key as we do not intend to provide any special accessibility treatment. The\n    // accessibility treatment depends on how the end-user will interact with it.\n    _isNonInteractive = false;\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatActionList_BaseFactory;\n      return function MatActionList_Factory(__ngFactoryType__) {\n        return (ɵMatActionList_BaseFactory || (ɵMatActionList_BaseFactory = i0.ɵɵgetInheritedFactory(MatActionList)))(__ngFactoryType__ || MatActionList);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatActionList,\n      selectors: [[\"mat-action-list\"]],\n      hostAttrs: [\"role\", \"group\", 1, \"mat-mdc-action-list\", \"mat-mdc-list-base\", \"mdc-list\"],\n      exportAs: [\"matActionList\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MatListBase,\n        useExisting: MatActionList\n      }]), i0.ɵɵInheritDefinitionFeature],\n      ngContentSelectors: _c0,\n      decls: 1,\n      vars: 0,\n      template: function MatActionList_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef();\n          i0.ɵɵprojection(0);\n        }\n      },\n      styles: [\".mdc-list{margin:0;padding:8px 0;list-style-type:none}.mdc-list:focus{outline:none}.mdc-list-item{display:flex;position:relative;justify-content:flex-start;overflow:hidden;padding:0;align-items:stretch;cursor:pointer;padding-left:16px;padding-right:16px;background-color:var(--mdc-list-list-item-container-color, transparent);border-radius:var(--mdc-list-list-item-container-shape, var(--mat-sys-corner-none))}.mdc-list-item.mdc-list-item--selected{background-color:var(--mdc-list-list-item-selected-container-color)}.mdc-list-item:focus{outline:0}.mdc-list-item.mdc-list-item--disabled{cursor:auto}.mdc-list-item.mdc-list-item--with-one-line{height:var(--mdc-list-list-item-one-line-container-height, 48px)}.mdc-list-item.mdc-list-item--with-one-line .mdc-list-item__start{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-one-line .mdc-list-item__end{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-two-lines{height:var(--mdc-list-list-item-two-line-container-height, 64px)}.mdc-list-item.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--with-two-lines .mdc-list-item__end{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-three-lines{height:var(--mdc-list-list-item-three-line-container-height, 88px)}.mdc-list-item.mdc-list-item--with-three-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--selected::before,.mdc-list-item.mdc-list-item--selected:focus::before,.mdc-list-item:not(.mdc-list-item--selected):focus::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;content:\\\"\\\";pointer-events:none}a.mdc-list-item{color:inherit;text-decoration:none}.mdc-list-item__start{fill:currentColor;flex-shrink:0;pointer-events:none}.mdc-list-item--with-leading-icon .mdc-list-item__start{color:var(--mdc-list-list-item-leading-icon-color, var(--mat-sys-on-surface-variant));width:var(--mdc-list-list-item-leading-icon-size, 24px);height:var(--mdc-list-list-item-leading-icon-size, 24px);margin-left:16px;margin-right:32px}[dir=rtl] .mdc-list-item--with-leading-icon .mdc-list-item__start{margin-left:32px;margin-right:16px}.mdc-list-item--with-leading-icon:hover .mdc-list-item__start{color:var(--mdc-list-list-item-hover-leading-icon-color)}.mdc-list-item--with-leading-avatar .mdc-list-item__start{width:var(--mdc-list-list-item-leading-avatar-size, 40px);height:var(--mdc-list-list-item-leading-avatar-size, 40px);margin-left:16px;margin-right:16px;border-radius:50%}.mdc-list-item--with-leading-avatar .mdc-list-item__start,[dir=rtl] .mdc-list-item--with-leading-avatar .mdc-list-item__start{margin-left:16px;margin-right:16px;border-radius:50%}.mdc-list-item__end{flex-shrink:0;pointer-events:none}.mdc-list-item--with-trailing-meta .mdc-list-item__end{font-family:var(--mdc-list-list-item-trailing-supporting-text-font, var(--mat-sys-label-small-font));line-height:var(--mdc-list-list-item-trailing-supporting-text-line-height, var(--mat-sys-label-small-line-height));font-size:var(--mdc-list-list-item-trailing-supporting-text-size, var(--mat-sys-label-small-size));font-weight:var(--mdc-list-list-item-trailing-supporting-text-weight, var(--mat-sys-label-small-weight));letter-spacing:var(--mdc-list-list-item-trailing-supporting-text-tracking, var(--mat-sys-label-small-tracking))}.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mdc-list-list-item-trailing-icon-color, var(--mat-sys-on-surface-variant));width:var(--mdc-list-list-item-trailing-icon-size, 24px);height:var(--mdc-list-list-item-trailing-icon-size, 24px)}.mdc-list-item--with-trailing-icon:hover .mdc-list-item__end{color:var(--mdc-list-list-item-hover-trailing-icon-color)}.mdc-list-item.mdc-list-item--with-trailing-meta .mdc-list-item__end{color:var(--mdc-list-list-item-trailing-supporting-text-color, var(--mat-sys-on-surface-variant))}.mdc-list-item--selected.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mdc-list-list-item-selected-trailing-icon-color, var(--mat-sys-primary))}.mdc-list-item__content{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;align-self:center;flex:1;pointer-events:none}.mdc-list-item--with-two-lines .mdc-list-item__content,.mdc-list-item--with-three-lines .mdc-list-item__content{align-self:stretch}.mdc-list-item__primary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:var(--mdc-list-list-item-label-text-color, var(--mat-sys-on-surface));font-family:var(--mdc-list-list-item-label-text-font, var(--mat-sys-body-large-font));line-height:var(--mdc-list-list-item-label-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mdc-list-list-item-label-text-size, var(--mat-sys-body-large-size));font-weight:var(--mdc-list-list-item-label-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mdc-list-list-item-label-text-tracking, var(--mat-sys-body-large-tracking))}.mdc-list-item:hover .mdc-list-item__primary-text{color:var(--mdc-list-list-item-hover-label-text-color, var(--mat-sys-on-surface))}.mdc-list-item:focus .mdc-list-item__primary-text{color:var(--mdc-list-list-item-focus-label-text-color, var(--mat-sys-on-surface))}.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-three-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-three-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-three-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item__secondary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin-top:0;color:var(--mdc-list-list-item-supporting-text-color, var(--mat-sys-on-surface-variant));font-family:var(--mdc-list-list-item-supporting-text-font, var(--mat-sys-body-medium-font));line-height:var(--mdc-list-list-item-supporting-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mdc-list-list-item-supporting-text-size, var(--mat-sys-body-medium-size));font-weight:var(--mdc-list-list-item-supporting-text-weight, var(--mat-sys-body-medium-weight));letter-spacing:var(--mdc-list-list-item-supporting-text-tracking, var(--mat-sys-body-medium-tracking))}.mdc-list-item__secondary-text::before{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-three-lines .mdc-list-item__secondary-text{white-space:normal;line-height:20px}.mdc-list-item--with-overline .mdc-list-item__secondary-text{white-space:nowrap;line-height:auto}.mdc-list-item--with-leading-radio.mdc-list-item,.mdc-list-item--with-leading-checkbox.mdc-list-item,.mdc-list-item--with-leading-icon.mdc-list-item,.mdc-list-item--with-leading-avatar.mdc-list-item{padding-left:0;padding-right:16px}[dir=rtl] .mdc-list-item--with-leading-radio.mdc-list-item,[dir=rtl] .mdc-list-item--with-leading-checkbox.mdc-list-item,[dir=rtl] .mdc-list-item--with-leading-icon.mdc-list-item,[dir=rtl] .mdc-list-item--with-leading-avatar.mdc-list-item{padding-left:16px;padding-right:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-trailing-icon.mdc-list-item,[dir=rtl] .mdc-list-item--with-trailing-icon.mdc-list-item{padding-left:0;padding-right:0}.mdc-list-item--with-trailing-icon .mdc-list-item__end{margin-left:16px;margin-right:16px}.mdc-list-item--with-trailing-meta.mdc-list-item{padding-left:16px;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-meta.mdc-list-item{padding-left:0;padding-right:16px}.mdc-list-item--with-trailing-meta .mdc-list-item__end{-webkit-user-select:none;user-select:none;margin-left:28px;margin-right:16px}[dir=rtl] .mdc-list-item--with-trailing-meta .mdc-list-item__end{margin-left:16px;margin-right:28px}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end,.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end{display:block;line-height:normal;align-self:flex-start;margin-top:0}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end::before,.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-radio .mdc-list-item__start,.mdc-list-item--with-leading-checkbox .mdc-list-item__start{margin-left:8px;margin-right:24px}[dir=rtl] .mdc-list-item--with-leading-radio .mdc-list-item__start,[dir=rtl] .mdc-list-item--with-leading-checkbox .mdc-list-item__start{margin-left:24px;margin-right:8px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__start,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:8px}.mdc-list-item--with-trailing-radio.mdc-list-item,.mdc-list-item--with-trailing-checkbox.mdc-list-item{padding-left:16px;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-radio.mdc-list-item,[dir=rtl] .mdc-list-item--with-trailing-checkbox.mdc-list-item{padding-left:0;padding-right:16px}.mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-icon,.mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-avatar,.mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-icon,.mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-avatar{padding-left:0}[dir=rtl] .mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-icon,[dir=rtl] .mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-avatar,[dir=rtl] .mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-icon,[dir=rtl] .mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-avatar{padding-right:0}.mdc-list-item--with-trailing-radio .mdc-list-item__end,.mdc-list-item--with-trailing-checkbox .mdc-list-item__end{margin-left:24px;margin-right:8px}[dir=rtl] .mdc-list-item--with-trailing-radio .mdc-list-item__end,[dir=rtl] .mdc-list-item--with-trailing-checkbox .mdc-list-item__end{margin-left:8px;margin-right:24px}.mdc-list-item--with-trailing-radio.mdc-list-item--with-three-lines .mdc-list-item__end,.mdc-list-item--with-trailing-checkbox.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:8px}.mdc-list-group__subheader{margin:.75rem 16px}.mdc-list-item--disabled .mdc-list-item__start,.mdc-list-item--disabled .mdc-list-item__content,.mdc-list-item--disabled .mdc-list-item__end{opacity:1}.mdc-list-item--disabled .mdc-list-item__primary-text,.mdc-list-item--disabled .mdc-list-item__secondary-text{opacity:var(--mdc-list-list-item-disabled-label-text-opacity, 0.3)}.mdc-list-item--disabled.mdc-list-item--with-leading-icon .mdc-list-item__start{color:var(--mdc-list-list-item-disabled-leading-icon-color, var(--mat-sys-on-surface));opacity:var(--mdc-list-list-item-disabled-leading-icon-opacity, 0.38)}.mdc-list-item--disabled.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mdc-list-list-item-disabled-trailing-icon-color, var(--mat-sys-on-surface));opacity:var(--mdc-list-list-item-disabled-trailing-icon-opacity, 0.38)}.mat-mdc-list-item.mat-mdc-list-item-both-leading-and-trailing,[dir=rtl] .mat-mdc-list-item.mat-mdc-list-item-both-leading-and-trailing{padding-left:0;padding-right:0}.mdc-list-item.mdc-list-item--disabled .mdc-list-item__primary-text{color:var(--mdc-list-list-item-disabled-label-text-color, var(--mat-sys-on-surface))}.mdc-list-item:hover::before{background-color:var(--mdc-list-list-item-hover-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mdc-list-list-item-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-list-item.mdc-list-item--disabled::before{background-color:var(--mdc-list-list-item-disabled-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mdc-list-list-item-disabled-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-list-item:focus::before{background-color:var(--mdc-list-list-item-focus-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mdc-list-list-item-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-list-item--disabled .mdc-radio,.mdc-list-item--disabled .mdc-checkbox{opacity:var(--mdc-list-list-item-disabled-label-text-opacity, 0.3)}.mdc-list-item--with-leading-avatar .mat-mdc-list-item-avatar{border-radius:var(--mdc-list-list-item-leading-avatar-shape, var(--mat-sys-corner-full));background-color:var(--mdc-list-list-item-leading-avatar-color, var(--mat-sys-primary-container))}.mat-mdc-list-item-icon{font-size:var(--mdc-list-list-item-leading-icon-size, 24px)}@media(forced-colors: active){a.mdc-list-item--activated::after{content:\\\"\\\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}a.mdc-list-item--activated [dir=rtl]::after{right:auto;left:16px}}.mat-mdc-list-base{display:block}.mat-mdc-list-base .mdc-list-item__start,.mat-mdc-list-base .mdc-list-item__end,.mat-mdc-list-base .mdc-list-item__content{pointer-events:auto}.mat-mdc-list-item,.mat-mdc-list-option{width:100%;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-list-item:not(.mat-mdc-list-item-interactive),.mat-mdc-list-option:not(.mat-mdc-list-item-interactive){cursor:default}.mat-mdc-list-item .mat-divider-inset,.mat-mdc-list-option .mat-divider-inset{position:absolute;left:0;right:0;bottom:0}.mat-mdc-list-item .mat-mdc-list-item-avatar~.mat-divider-inset,.mat-mdc-list-option .mat-mdc-list-item-avatar~.mat-divider-inset{margin-left:72px}[dir=rtl] .mat-mdc-list-item .mat-mdc-list-item-avatar~.mat-divider-inset,[dir=rtl] .mat-mdc-list-option .mat-mdc-list-item-avatar~.mat-divider-inset{margin-right:72px}.mat-mdc-list-item-interactive::before{top:0;left:0;right:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0;pointer-events:none;border-radius:inherit}.mat-mdc-list-item>.mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-list-item:focus>.mat-focus-indicator::before{content:\\\"\\\"}.mat-mdc-list-item.mdc-list-item--with-three-lines .mat-mdc-list-item-line.mdc-list-item__secondary-text{white-space:nowrap;line-height:normal}.mat-mdc-list-item.mdc-list-item--with-three-lines .mat-mdc-list-item-unscoped-content.mdc-list-item__secondary-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);text-align:start}mat-action-list button::-moz-focus-inner{border:0}.mdc-list-item--with-leading-icon .mdc-list-item__start{margin-inline-start:var(--mat-list-list-item-leading-icon-start-space, 16px);margin-inline-end:var(--mat-list-list-item-leading-icon-end-space, 16px)}.mat-mdc-nav-list .mat-mdc-list-item{border-radius:var(--mat-list-active-indicator-shape, var(--mat-sys-corner-full));--mat-focus-indicator-border-radius:var(--mat-list-active-indicator-shape, var(--mat-sys-corner-full))}.mat-mdc-nav-list .mat-mdc-list-item.mdc-list-item--activated{background-color:var(--mat-list-active-indicator-color, var(--mat-sys-secondary-container))}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatActionList;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Injection token that can be used to inject instances of `MatList`. It serves as\n * alternative token to the actual `MatList` class which could cause unnecessary\n * retention of the class and its component metadata.\n */\nconst MAT_LIST = /*#__PURE__*/new InjectionToken('MatList');\nlet MatList = /*#__PURE__*/(() => {\n  class MatList extends MatListBase {\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatList_BaseFactory;\n      return function MatList_Factory(__ngFactoryType__) {\n        return (ɵMatList_BaseFactory || (ɵMatList_BaseFactory = i0.ɵɵgetInheritedFactory(MatList)))(__ngFactoryType__ || MatList);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatList,\n      selectors: [[\"mat-list\"]],\n      hostAttrs: [1, \"mat-mdc-list\", \"mat-mdc-list-base\", \"mdc-list\"],\n      exportAs: [\"matList\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MatListBase,\n        useExisting: MatList\n      }]), i0.ɵɵInheritDefinitionFeature],\n      ngContentSelectors: _c0,\n      decls: 1,\n      vars: 0,\n      template: function MatList_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef();\n          i0.ɵɵprojection(0);\n        }\n      },\n      styles: [_c1],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatList;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatListItem = /*#__PURE__*/(() => {\n  class MatListItem extends MatListItemBase {\n    _lines;\n    _titles;\n    _meta;\n    _unscopedContent;\n    _itemText;\n    /** Indicates whether an item in a `<mat-nav-list>` is the currently active page. */\n    get activated() {\n      return this._activated;\n    }\n    set activated(activated) {\n      this._activated = coerceBooleanProperty(activated);\n    }\n    _activated = false;\n    /**\n     * Determine the value of `aria-current`. Return 'page' if this item is an activated anchor tag.\n     * Otherwise, return `null`. This method is safe to use with server-side rendering.\n     */\n    _getAriaCurrent() {\n      return this._hostElement.nodeName === 'A' && this._activated ? 'page' : null;\n    }\n    _hasBothLeadingAndTrailing() {\n      return this._meta.length !== 0 && (this._avatars.length !== 0 || this._icons.length !== 0);\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatListItem_BaseFactory;\n      return function MatListItem_Factory(__ngFactoryType__) {\n        return (ɵMatListItem_BaseFactory || (ɵMatListItem_BaseFactory = i0.ɵɵgetInheritedFactory(MatListItem)))(__ngFactoryType__ || MatListItem);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatListItem,\n      selectors: [[\"mat-list-item\"], [\"a\", \"mat-list-item\", \"\"], [\"button\", \"mat-list-item\", \"\"]],\n      contentQueries: function MatListItem_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, MatListItemLine, 5);\n          i0.ɵɵcontentQuery(dirIndex, MatListItemTitle, 5);\n          i0.ɵɵcontentQuery(dirIndex, MatListItemMeta, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._lines = _t);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._titles = _t);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._meta = _t);\n        }\n      },\n      viewQuery: function MatListItem_Query(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵviewQuery(_c2, 5);\n          i0.ɵɵviewQuery(_c3, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._unscopedContent = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._itemText = _t.first);\n        }\n      },\n      hostAttrs: [1, \"mat-mdc-list-item\", \"mdc-list-item\"],\n      hostVars: 13,\n      hostBindings: function MatListItem_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"aria-current\", ctx._getAriaCurrent());\n          i0.ɵɵclassProp(\"mdc-list-item--activated\", ctx.activated)(\"mdc-list-item--with-leading-avatar\", ctx._avatars.length !== 0)(\"mdc-list-item--with-leading-icon\", ctx._icons.length !== 0)(\"mdc-list-item--with-trailing-meta\", ctx._meta.length !== 0)(\"mat-mdc-list-item-both-leading-and-trailing\", ctx._hasBothLeadingAndTrailing())(\"_mat-animation-noopable\", ctx._noopAnimations);\n        }\n      },\n      inputs: {\n        activated: \"activated\"\n      },\n      exportAs: [\"matListItem\"],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      ngContentSelectors: _c5,\n      decls: 10,\n      vars: 0,\n      consts: [[\"unscopedContent\", \"\"], [1, \"mdc-list-item__content\"], [1, \"mat-mdc-list-item-unscoped-content\", 3, \"cdkObserveContent\"], [1, \"mat-focus-indicator\"]],\n      template: function MatListItem_Template(rf, ctx) {\n        if (rf & 1) {\n          const _r1 = i0.ɵɵgetCurrentView();\n          i0.ɵɵprojectionDef(_c4);\n          i0.ɵɵprojection(0);\n          i0.ɵɵelementStart(1, \"span\", 1);\n          i0.ɵɵprojection(2, 1);\n          i0.ɵɵprojection(3, 2);\n          i0.ɵɵelementStart(4, \"span\", 2, 0);\n          i0.ɵɵlistener(\"cdkObserveContent\", function MatListItem_Template_span_cdkObserveContent_4_listener() {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._updateItemLines(true));\n          });\n          i0.ɵɵprojection(6, 3);\n          i0.ɵɵelementEnd()();\n          i0.ɵɵprojection(7, 4);\n          i0.ɵɵprojection(8, 5);\n          i0.ɵɵelement(9, \"div\", 3);\n        }\n      },\n      dependencies: [CdkObserveContent],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatListItem;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Injection token that can be used to reference instances of an `SelectionList`. It serves\n * as alternative token to an actual implementation which would result in circular references.\n * @docs-private\n */\nconst SELECTION_LIST = /*#__PURE__*/new InjectionToken('SelectionList');\nlet MatListOption = /*#__PURE__*/(() => {\n  class MatListOption extends MatListItemBase {\n    _selectionList = inject(SELECTION_LIST);\n    _changeDetectorRef = inject(ChangeDetectorRef);\n    _lines;\n    _titles;\n    _unscopedContent;\n    /**\n     * Emits when the selected state of the option has changed.\n     * Use to facilitate two-data binding to the `selected` property.\n     * @docs-private\n     */\n    selectedChange = new EventEmitter();\n    /** Whether the label should appear before or after the checkbox/radio. Defaults to 'after' */\n    togglePosition = 'after';\n    /**\n     * Whether the label should appear before or after the checkbox/radio. Defaults to 'after'\n     *\n     * @deprecated Use `togglePosition` instead.\n     * @breaking-change 17.0.0\n     */\n    get checkboxPosition() {\n      return this.togglePosition;\n    }\n    set checkboxPosition(value) {\n      this.togglePosition = value;\n    }\n    /**\n     * Theme color of the list option. This sets the color of the checkbox/radio.\n     * This API is supported in M2 themes only, it has no effect in M3 themes. For color customization\n     * in M3, see https://material.angular.dev/components/list/styling.\n     *\n     * For information on applying color variants in M3, see\n     * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n     */\n    get color() {\n      return this._color || this._selectionList.color;\n    }\n    set color(newValue) {\n      this._color = newValue;\n    }\n    _color;\n    /** Value of the option */\n    get value() {\n      return this._value;\n    }\n    set value(newValue) {\n      if (this.selected && newValue !== this.value && this._inputsInitialized) {\n        this.selected = false;\n      }\n      this._value = newValue;\n    }\n    _value;\n    /** Whether the option is selected. */\n    get selected() {\n      return this._selectionList.selectedOptions.isSelected(this);\n    }\n    set selected(value) {\n      const isSelected = coerceBooleanProperty(value);\n      if (isSelected !== this._selected) {\n        this._setSelected(isSelected);\n        if (isSelected || this._selectionList.multiple) {\n          this._selectionList._reportValueChange();\n        }\n      }\n    }\n    _selected = false;\n    /**\n     * This is set to true after the first OnChanges cycle so we don't\n     * clear the value of `selected` in the first cycle.\n     */\n    _inputsInitialized = false;\n    ngOnInit() {\n      const list = this._selectionList;\n      if (list._value && list._value.some(value => list.compareWith(this._value, value))) {\n        this._setSelected(true);\n      }\n      const wasSelected = this._selected;\n      // List options that are selected at initialization can't be reported properly to the form\n      // control. This is because it takes some time until the selection-list knows about all\n      // available options. Also it can happen that the ControlValueAccessor has an initial value\n      // that should be used instead. Deferring the value change report to the next tick ensures\n      // that the form control value is not being overwritten.\n      Promise.resolve().then(() => {\n        if (this._selected || wasSelected) {\n          this.selected = true;\n          this._changeDetectorRef.markForCheck();\n        }\n      });\n      this._inputsInitialized = true;\n    }\n    ngOnDestroy() {\n      super.ngOnDestroy();\n      if (this.selected) {\n        // We have to delay this until the next tick in order\n        // to avoid changed after checked errors.\n        Promise.resolve().then(() => {\n          this.selected = false;\n        });\n      }\n    }\n    /** Toggles the selection state of the option. */\n    toggle() {\n      this.selected = !this.selected;\n    }\n    /** Allows for programmatic focusing of the option. */\n    focus() {\n      this._hostElement.focus();\n    }\n    /** Gets the text label of the list option. Used for the typeahead functionality in the list. */\n    getLabel() {\n      const titleElement = this._titles?.get(0)?._elementRef.nativeElement;\n      // If there is no explicit title element, the unscoped text content\n      // is treated as the list item title.\n      const labelEl = titleElement || this._unscopedContent?.nativeElement;\n      return labelEl?.textContent || '';\n    }\n    /** Whether a checkbox is shown at the given position. */\n    _hasCheckboxAt(position) {\n      return this._selectionList.multiple && this._getTogglePosition() === position;\n    }\n    /** Where a radio indicator is shown at the given position. */\n    _hasRadioAt(position) {\n      return !this._selectionList.multiple && this._getTogglePosition() === position && !this._selectionList.hideSingleSelectionIndicator;\n    }\n    /** Whether icons or avatars are shown at the given position. */\n    _hasIconsOrAvatarsAt(position) {\n      return this._hasProjected('icons', position) || this._hasProjected('avatars', position);\n    }\n    /** Gets whether the given type of element is projected at the specified position. */\n    _hasProjected(type, position) {\n      // If the checkbox/radio is shown at the specified position, neither icons or\n      // avatars can be shown at the position.\n      return this._getTogglePosition() !== position && (type === 'avatars' ? this._avatars.length !== 0 : this._icons.length !== 0);\n    }\n    _handleBlur() {\n      this._selectionList._onTouched();\n    }\n    /** Gets the current position of the checkbox/radio. */\n    _getTogglePosition() {\n      return this.togglePosition || 'after';\n    }\n    /**\n     * Sets the selected state of the option.\n     * @returns Whether the value has changed.\n     */\n    _setSelected(selected) {\n      if (selected === this._selected) {\n        return false;\n      }\n      this._selected = selected;\n      if (selected) {\n        this._selectionList.selectedOptions.select(this);\n      } else {\n        this._selectionList.selectedOptions.deselect(this);\n      }\n      this.selectedChange.emit(selected);\n      this._changeDetectorRef.markForCheck();\n      return true;\n    }\n    /**\n     * Notifies Angular that the option needs to be checked in the next change detection run.\n     * Mainly used to trigger an update of the list option if the disabled state of the selection\n     * list changed.\n     */\n    _markForCheck() {\n      this._changeDetectorRef.markForCheck();\n    }\n    /** Toggles the option's value based on a user interaction. */\n    _toggleOnInteraction() {\n      if (!this.disabled) {\n        if (this._selectionList.multiple) {\n          this.selected = !this.selected;\n          this._selectionList._emitChangeEvent([this]);\n        } else if (!this.selected) {\n          this.selected = true;\n          this._selectionList._emitChangeEvent([this]);\n        }\n      }\n    }\n    /** Sets the tabindex of the list option. */\n    _setTabindex(value) {\n      this._hostElement.setAttribute('tabindex', value + '');\n    }\n    _hasBothLeadingAndTrailing() {\n      const hasLeading = this._hasProjected('avatars', 'before') || this._hasProjected('icons', 'before') || this._hasCheckboxAt('before') || this._hasRadioAt('before');\n      const hasTrailing = this._hasProjected('icons', 'after') || this._hasProjected('avatars', 'after') || this._hasCheckboxAt('after') || this._hasRadioAt('after');\n      return hasLeading && hasTrailing;\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatListOption_BaseFactory;\n      return function MatListOption_Factory(__ngFactoryType__) {\n        return (ɵMatListOption_BaseFactory || (ɵMatListOption_BaseFactory = i0.ɵɵgetInheritedFactory(MatListOption)))(__ngFactoryType__ || MatListOption);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatListOption,\n      selectors: [[\"mat-list-option\"]],\n      contentQueries: function MatListOption_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, MatListItemLine, 5);\n          i0.ɵɵcontentQuery(dirIndex, MatListItemTitle, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._lines = _t);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._titles = _t);\n        }\n      },\n      viewQuery: function MatListOption_Query(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵviewQuery(_c2, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._unscopedContent = _t.first);\n        }\n      },\n      hostAttrs: [\"role\", \"option\", 1, \"mat-mdc-list-item\", \"mat-mdc-list-option\", \"mdc-list-item\"],\n      hostVars: 27,\n      hostBindings: function MatListOption_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"blur\", function MatListOption_blur_HostBindingHandler() {\n            return ctx._handleBlur();\n          })(\"click\", function MatListOption_click_HostBindingHandler() {\n            return ctx._toggleOnInteraction();\n          });\n        }\n        if (rf & 2) {\n          i0.ɵɵattribute(\"aria-selected\", ctx.selected);\n          i0.ɵɵclassProp(\"mdc-list-item--selected\", ctx.selected && !ctx._selectionList.multiple && ctx._selectionList.hideSingleSelectionIndicator)(\"mdc-list-item--with-leading-avatar\", ctx._hasProjected(\"avatars\", \"before\"))(\"mdc-list-item--with-leading-icon\", ctx._hasProjected(\"icons\", \"before\"))(\"mdc-list-item--with-trailing-icon\", ctx._hasProjected(\"icons\", \"after\"))(\"mat-mdc-list-option-with-trailing-avatar\", ctx._hasProjected(\"avatars\", \"after\"))(\"mdc-list-item--with-leading-checkbox\", ctx._hasCheckboxAt(\"before\"))(\"mdc-list-item--with-trailing-checkbox\", ctx._hasCheckboxAt(\"after\"))(\"mdc-list-item--with-leading-radio\", ctx._hasRadioAt(\"before\"))(\"mdc-list-item--with-trailing-radio\", ctx._hasRadioAt(\"after\"))(\"mat-mdc-list-item-both-leading-and-trailing\", ctx._hasBothLeadingAndTrailing())(\"mat-accent\", ctx.color !== \"primary\" && ctx.color !== \"warn\")(\"mat-warn\", ctx.color === \"warn\")(\"_mat-animation-noopable\", ctx._noopAnimations);\n        }\n      },\n      inputs: {\n        togglePosition: \"togglePosition\",\n        checkboxPosition: \"checkboxPosition\",\n        color: \"color\",\n        value: \"value\",\n        selected: \"selected\"\n      },\n      outputs: {\n        selectedChange: \"selectedChange\"\n      },\n      exportAs: [\"matListOption\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MatListItemBase,\n        useExisting: MatListOption\n      }, {\n        provide: LIST_OPTION,\n        useExisting: MatListOption\n      }]), i0.ɵɵInheritDefinitionFeature],\n      ngContentSelectors: _c7,\n      decls: 20,\n      vars: 4,\n      consts: [[\"icons\", \"\"], [\"checkbox\", \"\"], [\"radio\", \"\"], [\"unscopedContent\", \"\"], [1, \"mdc-list-item__start\", \"mat-mdc-list-option-checkbox-before\"], [1, \"mdc-list-item__start\", \"mat-mdc-list-option-radio-before\"], [3, \"ngTemplateOutlet\"], [1, \"mdc-list-item__content\"], [1, \"mat-mdc-list-item-unscoped-content\", 3, \"cdkObserveContent\"], [1, \"mdc-list-item__end\"], [1, \"mat-focus-indicator\"], [1, \"mdc-checkbox\"], [\"type\", \"checkbox\", 1, \"mdc-checkbox__native-control\", 3, \"checked\", \"disabled\"], [1, \"mdc-checkbox__background\"], [\"viewBox\", \"0 0 24 24\", \"aria-hidden\", \"true\", 1, \"mdc-checkbox__checkmark\"], [\"fill\", \"none\", \"d\", \"M1.73,12.91 8.1,19.28 22.79,4.59\", 1, \"mdc-checkbox__checkmark-path\"], [1, \"mdc-checkbox__mixedmark\"], [1, \"mdc-radio\"], [\"type\", \"radio\", 1, \"mdc-radio__native-control\", 3, \"checked\", \"disabled\"], [1, \"mdc-radio__background\"], [1, \"mdc-radio__outer-circle\"], [1, \"mdc-radio__inner-circle\"]],\n      template: function MatListOption_Template(rf, ctx) {\n        if (rf & 1) {\n          const _r1 = i0.ɵɵgetCurrentView();\n          i0.ɵɵprojectionDef(_c6);\n          i0.ɵɵtemplate(0, MatListOption_ng_template_0_Template, 1, 0, \"ng-template\", null, 0, i0.ɵɵtemplateRefExtractor)(2, MatListOption_ng_template_2_Template, 6, 4, \"ng-template\", null, 1, i0.ɵɵtemplateRefExtractor)(4, MatListOption_ng_template_4_Template, 5, 4, \"ng-template\", null, 2, i0.ɵɵtemplateRefExtractor)(6, MatListOption_Conditional_6_Template, 2, 1, \"span\", 4)(7, MatListOption_Conditional_7_Template, 2, 1, \"span\", 5)(8, MatListOption_Conditional_8_Template, 1, 1, null, 6);\n          i0.ɵɵelementStart(9, \"span\", 7);\n          i0.ɵɵprojection(10);\n          i0.ɵɵprojection(11, 1);\n          i0.ɵɵelementStart(12, \"span\", 8, 3);\n          i0.ɵɵlistener(\"cdkObserveContent\", function MatListOption_Template_span_cdkObserveContent_12_listener() {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._updateItemLines(true));\n          });\n          i0.ɵɵprojection(14, 2);\n          i0.ɵɵelementEnd()();\n          i0.ɵɵtemplate(15, MatListOption_Conditional_15_Template, 2, 1, \"span\", 9)(16, MatListOption_Conditional_16_Template, 2, 1, \"span\", 9)(17, MatListOption_Conditional_17_Template, 1, 1, null, 6);\n          i0.ɵɵprojection(18, 3);\n          i0.ɵɵelement(19, \"div\", 10);\n        }\n        if (rf & 2) {\n          i0.ɵɵadvance(6);\n          i0.ɵɵconditional(ctx._hasCheckboxAt(\"before\") ? 6 : ctx._hasRadioAt(\"before\") ? 7 : -1);\n          i0.ɵɵadvance(2);\n          i0.ɵɵconditional(ctx._hasIconsOrAvatarsAt(\"before\") ? 8 : -1);\n          i0.ɵɵadvance(7);\n          i0.ɵɵconditional(ctx._hasCheckboxAt(\"after\") ? 15 : ctx._hasRadioAt(\"after\") ? 16 : -1);\n          i0.ɵɵadvance(2);\n          i0.ɵɵconditional(ctx._hasIconsOrAvatarsAt(\"after\") ? 17 : -1);\n        }\n      },\n      dependencies: [NgTemplateOutlet, CdkObserveContent],\n      styles: [\".mat-mdc-list-option-with-trailing-avatar.mdc-list-item,[dir=rtl] .mat-mdc-list-option-with-trailing-avatar.mdc-list-item{padding-left:0;padding-right:0}.mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end{margin-left:16px;margin-right:16px;width:40px;height:40px}.mat-mdc-list-option-with-trailing-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mat-mdc-list-option-with-trailing-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mat-mdc-list-option-with-trailing-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end{border-radius:50%}.mat-mdc-list-option .mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom;padding:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px)/2);margin:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2)}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit;z-index:1;width:var(--mdc-checkbox-state-layer-size, 40px);height:var(--mdc-checkbox-state-layer-size, 40px);top:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2);right:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2)}.mat-mdc-list-option .mdc-checkbox--disabled{cursor:default;pointer-events:none}@media(forced-colors: active){.mat-mdc-list-option .mdc-checkbox--disabled{opacity:.5}}.mat-mdc-list-option .mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:rgba(0,0,0,0);pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms cubic-bezier(0.4, 0, 0.6, 1);-webkit-print-color-adjust:exact;color-adjust:exact;border-color:var(--mdc-checkbox-unselected-icon-color, var(--mat-sys-on-surface-variant));top:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px)/2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px)/2)}.mat-mdc-list-option .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-icon-color, var(--mat-sys-primary));background-color:var(--mdc-checkbox-selected-icon-color, var(--mat-sys-primary))}.mat-mdc-list-option .mdc-checkbox--disabled .mdc-checkbox__background{border-color:var(--mdc-checkbox-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-list-option .mdc-checkbox__native-control:disabled:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox__native-control:disabled:indeterminate~.mdc-checkbox__background{background-color:var(--mdc-checkbox-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-color:rgba(0,0,0,0)}.mat-mdc-list-option .mdc-checkbox:hover>.mdc-checkbox__native-control:not(:checked)~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox:hover>.mdc-checkbox__native-control:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-hover-icon-color, var(--mat-sys-on-surface));background-color:rgba(0,0,0,0)}.mat-mdc-list-option .mdc-checkbox:hover>.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox:hover>.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-hover-icon-color, var(--mat-sys-primary));background-color:var(--mdc-checkbox-selected-hover-icon-color, var(--mat-sys-primary))}.mat-mdc-list-option .mdc-checkbox__native-control:focus:focus:not(:checked)~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox__native-control:focus:focus:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-focus-icon-color, var(--mat-sys-on-surface))}.mat-mdc-list-option .mdc-checkbox__native-control:focus:focus:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox__native-control:focus:focus:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-focus-icon-color, var(--mat-sys-primary));background-color:var(--mdc-checkbox-selected-focus-icon-color, var(--mat-sys-primary))}.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox:hover>.mdc-checkbox__native-control~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__background{border-color:var(--mdc-checkbox-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{background-color:var(--mdc-checkbox-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-color:rgba(0,0,0,0)}.mat-mdc-list-option .mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms cubic-bezier(0.4, 0, 0.6, 1);color:var(--mdc-checkbox-selected-checkmark-color, var(--mat-sys-on-primary))}@media(forced-colors: active){.mat-mdc-list-option .mdc-checkbox__checkmark{color:CanvasText}}.mat-mdc-list-option .mdc-checkbox--disabled .mdc-checkbox__checkmark,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__checkmark{color:var(--mdc-checkbox-disabled-selected-checkmark-color, var(--mat-sys-surface))}@media(forced-colors: active){.mat-mdc-list-option .mdc-checkbox--disabled .mdc-checkbox__checkmark,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__checkmark{color:CanvasText}}.mat-mdc-list-option .mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mat-mdc-list-option .mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1);border-color:var(--mdc-checkbox-selected-checkmark-color, var(--mat-sys-on-primary))}@media(forced-colors: active){.mat-mdc-list-option .mdc-checkbox__mixedmark{margin:0 1px}}.mat-mdc-list-option .mdc-checkbox--disabled .mdc-checkbox__mixedmark,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__mixedmark{border-color:var(--mdc-checkbox-disabled-selected-checkmark-color, var(--mat-sys-surface))}.mat-mdc-list-option .mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mat-mdc-list-option .mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{transition:border-color 90ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background>.mdc-checkbox__checkmark>.mdc-checkbox__checkmark-path,.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background>.mdc-checkbox__checkmark>.mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background>.mdc-checkbox__checkmark{transition:opacity 180ms cubic-bezier(0, 0, 0.2, 1),transform 180ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background>.mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background>.mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background>.mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mat-mdc-list-option .mdc-radio{display:inline-block;position:relative;flex:0 0 auto;box-sizing:content-box;width:20px;height:20px;cursor:pointer;will-change:opacity,transform,border-color,color;padding:calc((var(--mdc-radio-state-layer-size, 40px) - 20px)/2)}.mat-mdc-list-option .mdc-radio__background{display:inline-block;position:relative;box-sizing:border-box;width:20px;height:20px}.mat-mdc-list-option .mdc-radio__background::before{position:absolute;transform:scale(0, 0);border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\";transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1);width:var(--mdc-radio-state-layer-size, 40px);height:var(--mdc-radio-state-layer-size, 40px);top:calc(-1*(var(--mdc-radio-state-layer-size, 40px) - 20px)/2);left:calc(-1*(var(--mdc-radio-state-layer-size, 40px) - 20px)/2)}.mat-mdc-list-option .mdc-radio__outer-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border-width:2px;border-style:solid;border-radius:50%;transition:border-color 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option .mdc-radio__inner-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;transform:scale(0, 0);border-width:10px;border-style:solid;border-radius:50%;transition:transform 90ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option .mdc-radio__native-control{position:absolute;margin:0;padding:0;opacity:0;top:0;right:0;left:0;cursor:inherit;z-index:1;width:var(--mdc-radio-state-layer-size, 40px);height:var(--mdc-radio-state-layer-size, 40px)}.mat-mdc-list-option .mdc-radio__native-control:checked+.mdc-radio__background,.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background{transition:opacity 90ms cubic-bezier(0, 0, 0.2, 1),transform 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__outer-circle,.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__outer-circle{transition:border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__inner-circle,.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__inner-circle{transition:transform 90ms cubic-bezier(0, 0, 0.2, 1),border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option .mdc-radio__native-control:disabled:not(:checked)+.mdc-radio__background>.mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-unselected-icon-color, var(--mat-sys-on-surface));opacity:var(--mdc-radio-disabled-unselected-icon-opacity, 0.38)}.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background{cursor:default}.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__inner-circle,.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-selected-icon-color, var(--mat-sys-on-surface));opacity:var(--mdc-radio-disabled-selected-icon-opacity, 0.38)}.mat-mdc-list-option .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background>.mdc-radio__outer-circle{border-color:var(--mdc-radio-unselected-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-list-option .mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__outer-circle,.mat-mdc-list-option .mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__inner-circle{border-color:var(--mdc-radio-selected-icon-color, var(--mat-sys-primary))}.mat-mdc-list-option .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__inner-circle{transform:scale(0.5);transition:transform 90ms cubic-bezier(0, 0, 0.2, 1),border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option._mat-animation-noopable .mdc-radio__background::before,.mat-mdc-list-option._mat-animation-noopable .mdc-radio__outer-circle,.mat-mdc-list-option._mat-animation-noopable .mdc-radio__inner-circle{transition:none !important}.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__start>.mdc-checkbox>.mat-mdc-checkbox-touch-target,.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__start>.mdc-checkbox>.mdc-checkbox__native-control,.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__start>.mdc-checkbox>.mdc-checkbox__ripple,.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__start>.mdc-checkbox>.mat-mdc-checkbox-ripple::before,.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__start>.mdc-checkbox>.mdc-checkbox__background,.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__start>.mdc-checkbox>.mdc-checkbox__background>.mdc-checkbox__checkmark,.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__start>.mdc-checkbox>.mdc-checkbox__background>.mdc-checkbox__checkmark>.mdc-checkbox__checkmark-path,.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__start>.mdc-checkbox>.mdc-checkbox__background>.mdc-checkbox__mixedmark,.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__end>.mdc-checkbox>.mat-mdc-checkbox-touch-target,.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__end>.mdc-checkbox>.mdc-checkbox__native-control,.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__end>.mdc-checkbox>.mdc-checkbox__ripple,.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__end>.mdc-checkbox>.mat-mdc-checkbox-ripple::before,.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__end>.mdc-checkbox>.mdc-checkbox__background,.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__end>.mdc-checkbox>.mdc-checkbox__background>.mdc-checkbox__checkmark,.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__end>.mdc-checkbox>.mdc-checkbox__background>.mdc-checkbox__checkmark>.mdc-checkbox__checkmark-path,.mat-mdc-list-option._mat-animation-noopable>.mdc-list-item__end>.mdc-checkbox>.mdc-checkbox__background>.mdc-checkbox__mixedmark{transition:none !important;animation:none !important}.mat-mdc-list-option .mdc-checkbox__native-control,.mat-mdc-list-option .mdc-radio__native-control{display:none}@media(forced-colors: active){.mat-mdc-list-option.mdc-list-item--selected::after{content:\\\"\\\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.mat-mdc-list-option.mdc-list-item--selected [dir=rtl]::after{right:auto;left:16px}}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatListOption;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\nlet MatListSubheaderCssMatStyler = /*#__PURE__*/(() => {\n  class MatListSubheaderCssMatStyler {\n    static ɵfac = function MatListSubheaderCssMatStyler_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatListSubheaderCssMatStyler)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatListSubheaderCssMatStyler,\n      selectors: [[\"\", \"mat-subheader\", \"\"], [\"\", \"matSubheader\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-subheader\", \"mdc-list-group__subheader\"]\n    });\n  }\n  return MatListSubheaderCssMatStyler;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Injection token that can be used to inject instances of `MatNavList`. It serves as\n * alternative token to the actual `MatNavList` class which could cause unnecessary\n * retention of the class and its component metadata.\n */\nconst MAT_NAV_LIST = /*#__PURE__*/new InjectionToken('MatNavList');\nlet MatNavList = /*#__PURE__*/(() => {\n  class MatNavList extends MatListBase {\n    // An navigation list is considered interactive, but does not extend the interactive list\n    // base class. We do this because as per MDC, items of interactive lists are only reachable\n    // through keyboard shortcuts. We want all items for the navigation list to be reachable\n    // through tab key as we do not intend to provide any special accessibility treatment. The\n    // accessibility treatment depends on how the end-user will interact with it.\n    _isNonInteractive = false;\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatNavList_BaseFactory;\n      return function MatNavList_Factory(__ngFactoryType__) {\n        return (ɵMatNavList_BaseFactory || (ɵMatNavList_BaseFactory = i0.ɵɵgetInheritedFactory(MatNavList)))(__ngFactoryType__ || MatNavList);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatNavList,\n      selectors: [[\"mat-nav-list\"]],\n      hostAttrs: [\"role\", \"navigation\", 1, \"mat-mdc-nav-list\", \"mat-mdc-list-base\", \"mdc-list\"],\n      exportAs: [\"matNavList\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MatListBase,\n        useExisting: MatNavList\n      }]), i0.ɵɵInheritDefinitionFeature],\n      ngContentSelectors: _c0,\n      decls: 1,\n      vars: 0,\n      template: function MatNavList_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef();\n          i0.ɵɵprojection(0);\n        }\n      },\n      styles: [_c1],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatNavList;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst MAT_SELECTION_LIST_VALUE_ACCESSOR = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: /*#__PURE__*/forwardRef(() => MatSelectionList),\n  multi: true\n};\n/** Change event that is being fired whenever the selected state of an option changes. */\nclass MatSelectionListChange {\n  source;\n  options;\n  constructor(/** Reference to the selection list that emitted the event. */\n  source, /** Reference to the options that have been changed. */\n  options) {\n    this.source = source;\n    this.options = options;\n  }\n}\nlet MatSelectionList = /*#__PURE__*/(() => {\n  class MatSelectionList extends MatListBase {\n    _element = inject(ElementRef);\n    _ngZone = inject(NgZone);\n    _renderer = inject(Renderer2);\n    _initialized = false;\n    _keyManager;\n    _listenerCleanups;\n    /** Emits when the list has been destroyed. */\n    _destroyed = new Subject();\n    /** Whether the list has been destroyed. */\n    _isDestroyed;\n    /** View to model callback that should be called whenever the selected options change. */\n    _onChange = _ => {};\n    _items;\n    /** Emits a change event whenever the selected state of an option changes. */\n    selectionChange = new EventEmitter();\n    /**\n     * Theme color of the selection list. This sets the checkbox color for all\n     * list options. This API is supported in M2 themes only, it has no effect in\n     * M3 themes. For color customization in M3, see https://material.angular.dev/components/list/styling.\n     *\n     * For information on applying color variants in M3, see\n     * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n     */\n    color = 'accent';\n    /**\n     * Function used for comparing an option against the selected value when determining which\n     * options should appear as selected. The first argument is the value of an options. The second\n     * one is a value from the selected value. A boolean must be returned.\n     */\n    compareWith = (a1, a2) => a1 === a2;\n    /** Whether selection is limited to one or multiple items (default multiple). */\n    get multiple() {\n      return this._multiple;\n    }\n    set multiple(value) {\n      const newValue = coerceBooleanProperty(value);\n      if (newValue !== this._multiple) {\n        if ((typeof ngDevMode === 'undefined' || ngDevMode) && this._initialized) {\n          throw new Error('Cannot change `multiple` mode of mat-selection-list after initialization.');\n        }\n        this._multiple = newValue;\n        this.selectedOptions = new SelectionModel(this._multiple, this.selectedOptions.selected);\n      }\n    }\n    _multiple = true;\n    /** Whether radio indicator for all list items is hidden. */\n    get hideSingleSelectionIndicator() {\n      return this._hideSingleSelectionIndicator;\n    }\n    set hideSingleSelectionIndicator(value) {\n      this._hideSingleSelectionIndicator = coerceBooleanProperty(value);\n    }\n    _hideSingleSelectionIndicator = this._defaultOptions?.hideSingleSelectionIndicator ?? false;\n    /** The currently selected options. */\n    selectedOptions = new SelectionModel(this._multiple);\n    /** Keeps track of the currently-selected value. */\n    _value;\n    /** View to model callback that should be called if the list or its options lost focus. */\n    _onTouched = () => {};\n    _changeDetectorRef = inject(ChangeDetectorRef);\n    constructor() {\n      super();\n      this._isNonInteractive = false;\n    }\n    ngAfterViewInit() {\n      // Mark the selection list as initialized so that the `multiple`\n      // binding can no longer be changed.\n      this._initialized = true;\n      this._setupRovingTabindex();\n      // These events are bound outside the zone, because they don't change\n      // any change-detected properties and they can trigger timeouts.\n      this._ngZone.runOutsideAngular(() => {\n        this._listenerCleanups = [this._renderer.listen(this._element.nativeElement, 'focusin', this._handleFocusin), this._renderer.listen(this._element.nativeElement, 'focusout', this._handleFocusout)];\n      });\n      if (this._value) {\n        this._setOptionsFromValues(this._value);\n      }\n      this._watchForSelectionChange();\n    }\n    ngOnChanges(changes) {\n      const disabledChanges = changes['disabled'];\n      const disableRippleChanges = changes['disableRipple'];\n      const hideSingleSelectionIndicatorChanges = changes['hideSingleSelectionIndicator'];\n      if (disableRippleChanges && !disableRippleChanges.firstChange || disabledChanges && !disabledChanges.firstChange || hideSingleSelectionIndicatorChanges && !hideSingleSelectionIndicatorChanges.firstChange) {\n        this._markOptionsForCheck();\n      }\n    }\n    ngOnDestroy() {\n      this._keyManager?.destroy();\n      this._listenerCleanups?.forEach(current => current());\n      this._destroyed.next();\n      this._destroyed.complete();\n      this._isDestroyed = true;\n    }\n    /** Focuses the selection list. */\n    focus(options) {\n      this._element.nativeElement.focus(options);\n    }\n    /** Selects all of the options. Returns the options that changed as a result. */\n    selectAll() {\n      return this._setAllOptionsSelected(true);\n    }\n    /** Deselects all of the options. Returns the options that changed as a result. */\n    deselectAll() {\n      return this._setAllOptionsSelected(false);\n    }\n    /** Reports a value change to the ControlValueAccessor */\n    _reportValueChange() {\n      // Stop reporting value changes after the list has been destroyed. This avoids\n      // cases where the list might wrongly reset its value once it is removed, but\n      // the form control is still live.\n      if (this.options && !this._isDestroyed) {\n        const value = this._getSelectedOptionValues();\n        this._onChange(value);\n        this._value = value;\n      }\n    }\n    /** Emits a change event if the selected state of an option changed. */\n    _emitChangeEvent(options) {\n      this.selectionChange.emit(new MatSelectionListChange(this, options));\n    }\n    /** Implemented as part of ControlValueAccessor. */\n    writeValue(values) {\n      this._value = values;\n      if (this.options) {\n        this._setOptionsFromValues(values || []);\n      }\n    }\n    /** Implemented as a part of ControlValueAccessor. */\n    setDisabledState(isDisabled) {\n      this.disabled = isDisabled;\n      this._changeDetectorRef.markForCheck();\n      this._markOptionsForCheck();\n    }\n    /**\n     * Whether the *entire* selection list is disabled. When true, each list item is also disabled\n     * and each list item is removed from the tab order (has tabindex=\"-1\").\n     */\n    get disabled() {\n      return this._selectionListDisabled;\n    }\n    set disabled(value) {\n      // Update the disabled state of this list. Write to `this._selectionListDisabled` instead of\n      // `super.disabled`. That is to avoid closure compiler compatibility issues with assigning to\n      // a super property.\n      this._selectionListDisabled = coerceBooleanProperty(value);\n      if (this._selectionListDisabled) {\n        this._keyManager?.setActiveItem(-1);\n      }\n    }\n    _selectionListDisabled = false;\n    /** Implemented as part of ControlValueAccessor. */\n    registerOnChange(fn) {\n      this._onChange = fn;\n    }\n    /** Implemented as part of ControlValueAccessor. */\n    registerOnTouched(fn) {\n      this._onTouched = fn;\n    }\n    /** Watches for changes in the selected state of the options and updates the list accordingly. */\n    _watchForSelectionChange() {\n      this.selectedOptions.changed.pipe(takeUntil(this._destroyed)).subscribe(event => {\n        // Sync external changes to the model back to the options.\n        for (let item of event.added) {\n          item.selected = true;\n        }\n        for (let item of event.removed) {\n          item.selected = false;\n        }\n        if (!this._containsFocus()) {\n          this._resetActiveOption();\n        }\n      });\n    }\n    /** Sets the selected options based on the specified values. */\n    _setOptionsFromValues(values) {\n      this.options.forEach(option => option._setSelected(false));\n      values.forEach(value => {\n        const correspondingOption = this.options.find(option => {\n          // Skip options that are already in the model. This allows us to handle cases\n          // where the same primitive value is selected multiple times.\n          return option.selected ? false : this.compareWith(option.value, value);\n        });\n        if (correspondingOption) {\n          correspondingOption._setSelected(true);\n        }\n      });\n    }\n    /** Returns the values of the selected options. */\n    _getSelectedOptionValues() {\n      return this.options.filter(option => option.selected).map(option => option.value);\n    }\n    /** Marks all the options to be checked in the next change detection run. */\n    _markOptionsForCheck() {\n      if (this.options) {\n        this.options.forEach(option => option._markForCheck());\n      }\n    }\n    /**\n     * Sets the selected state on all of the options\n     * and emits an event if anything changed.\n     */\n    _setAllOptionsSelected(isSelected, skipDisabled) {\n      // Keep track of whether anything changed, because we only want to\n      // emit the changed event when something actually changed.\n      const changedOptions = [];\n      this.options.forEach(option => {\n        if ((!skipDisabled || !option.disabled) && option._setSelected(isSelected)) {\n          changedOptions.push(option);\n        }\n      });\n      if (changedOptions.length) {\n        this._reportValueChange();\n      }\n      return changedOptions;\n    }\n    // Note: This getter exists for backwards compatibility. The `_items` query list\n    // cannot be named `options` as it will be picked up by the interactive list base.\n    /** The option components contained within this selection-list. */\n    get options() {\n      return this._items;\n    }\n    /** Handles keydown events within the list. */\n    _handleKeydown(event) {\n      const activeItem = this._keyManager.activeItem;\n      if ((event.keyCode === ENTER || event.keyCode === SPACE) && !this._keyManager.isTyping() && activeItem && !activeItem.disabled) {\n        event.preventDefault();\n        activeItem._toggleOnInteraction();\n      } else if (event.keyCode === A && this.multiple && !this._keyManager.isTyping() && hasModifierKey(event, 'ctrlKey', 'metaKey')) {\n        const shouldSelect = this.options.some(option => !option.disabled && !option.selected);\n        event.preventDefault();\n        this._emitChangeEvent(this._setAllOptionsSelected(shouldSelect, true));\n      } else {\n        this._keyManager.onKeydown(event);\n      }\n    }\n    /** Handles focusout events within the list. */\n    _handleFocusout = () => {\n      // Focus takes a while to update so we have to wrap our call in a timeout.\n      setTimeout(() => {\n        if (!this._containsFocus()) {\n          this._resetActiveOption();\n        }\n      });\n    };\n    /** Handles focusin events within the list. */\n    _handleFocusin = event => {\n      if (this.disabled) {\n        return;\n      }\n      const activeIndex = this._items.toArray().findIndex(item => item._elementRef.nativeElement.contains(event.target));\n      if (activeIndex > -1) {\n        this._setActiveOption(activeIndex);\n      } else {\n        this._resetActiveOption();\n      }\n    };\n    /**\n     * Sets up the logic for maintaining the roving tabindex.\n     *\n     * `skipPredicate` determines if key manager should avoid putting a given list item in the tab\n     * index. Allow disabled list items to receive focus to align with WAI ARIA recommendation.\n     * Normally WAI ARIA's instructions are to exclude disabled items from the tab order, but it\n     * makes a few exceptions for compound widgets.\n     *\n     * From [Developing a Keyboard Interface](\n     * https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/):\n     *   \"For the following composite widget elements, keep them focusable when disabled: Options in a\n     *   Listbox...\"\n     */\n    _setupRovingTabindex() {\n      this._keyManager = new FocusKeyManager(this._items).withHomeAndEnd().withTypeAhead().withWrap().skipPredicate(() => this.disabled);\n      // Set the initial focus.\n      this._resetActiveOption();\n      // Move the tabindex to the currently-focused list item.\n      this._keyManager.change.subscribe(activeItemIndex => this._setActiveOption(activeItemIndex));\n      // If the active item is removed from the list, reset back to the first one.\n      this._items.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\n        const activeItem = this._keyManager.activeItem;\n        if (!activeItem || this._items.toArray().indexOf(activeItem) === -1) {\n          this._resetActiveOption();\n        }\n      });\n    }\n    /**\n     * Sets an option as active.\n     * @param index Index of the active option. If set to -1, no option will be active.\n     */\n    _setActiveOption(index) {\n      this._items.forEach((item, itemIndex) => item._setTabindex(itemIndex === index ? 0 : -1));\n      this._keyManager.updateActiveItem(index);\n    }\n    /**\n     * Resets the active option. When the list is disabled, remove all options from to the tab order.\n     * Otherwise, focus the first selected option.\n     */\n    _resetActiveOption() {\n      if (this.disabled) {\n        this._setActiveOption(-1);\n        return;\n      }\n      const activeItem = this._items.find(item => item.selected && !item.disabled) || this._items.first;\n      this._setActiveOption(activeItem ? this._items.toArray().indexOf(activeItem) : -1);\n    }\n    /** Returns whether the focus is currently within the list. */\n    _containsFocus() {\n      const activeElement = _getFocusedElementPierceShadowDom();\n      return activeElement && this._element.nativeElement.contains(activeElement);\n    }\n    static ɵfac = function MatSelectionList_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatSelectionList)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatSelectionList,\n      selectors: [[\"mat-selection-list\"]],\n      contentQueries: function MatSelectionList_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, MatListOption, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._items = _t);\n        }\n      },\n      hostAttrs: [\"role\", \"listbox\", 1, \"mat-mdc-selection-list\", \"mat-mdc-list-base\", \"mdc-list\"],\n      hostVars: 1,\n      hostBindings: function MatSelectionList_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"keydown\", function MatSelectionList_keydown_HostBindingHandler($event) {\n            return ctx._handleKeydown($event);\n          });\n        }\n        if (rf & 2) {\n          i0.ɵɵattribute(\"aria-multiselectable\", ctx.multiple);\n        }\n      },\n      inputs: {\n        color: \"color\",\n        compareWith: \"compareWith\",\n        multiple: \"multiple\",\n        hideSingleSelectionIndicator: \"hideSingleSelectionIndicator\",\n        disabled: \"disabled\"\n      },\n      outputs: {\n        selectionChange: \"selectionChange\"\n      },\n      exportAs: [\"matSelectionList\"],\n      features: [i0.ɵɵProvidersFeature([MAT_SELECTION_LIST_VALUE_ACCESSOR, {\n        provide: MatListBase,\n        useExisting: MatSelectionList\n      }, {\n        provide: SELECTION_LIST,\n        useExisting: MatSelectionList\n      }]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature],\n      ngContentSelectors: _c0,\n      decls: 1,\n      vars: 0,\n      template: function MatSelectionList_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef();\n          i0.ɵɵprojection(0);\n        }\n      },\n      styles: [_c1],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatSelectionList;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatListModule = /*#__PURE__*/(() => {\n  class MatListModule {\n    static ɵfac = function MatListModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatListModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: MatListModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [ObserversModule, MatCommonModule, MatRippleModule, MatPseudoCheckboxModule, MatDividerModule]\n    });\n  }\n  return MatListModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { MAT_LIST, MAT_LIST_CONFIG, MAT_NAV_LIST, MAT_SELECTION_LIST_VALUE_ACCESSOR, MatActionList, MatList, MatListItem, MatListItemAvatar, MatListItemIcon, MatListItemLine, MatListItemMeta, MatListItemTitle, MatListModule, MatListOption, MatListSubheaderCssMatStyler, MatNavList, MatSelectionList, MatSelectionListChange, SELECTION_LIST, _MatListItemGraphicBase };\n","import * as i0 from '@angular/core';\nimport { Component, ChangeDetectionStrategy, ViewEncapsulation, inject, NgZone, RendererFactory2, Injectable, ElementRef, EventEmitter, Directive, Output, Renderer2, booleanAttribute, Input, NgModule } from '@angular/core';\nimport { EMPTY, Subject } from 'rxjs';\nimport { P as Platform } from './platform-DmdVEw_C.mjs';\nimport { _ as _CdkPrivateStyleLoader } from './style-loader-Cu9AvjH9.mjs';\nimport { _ as _bindEventWithOptions } from './backwards-compatibility-DHR38MsD.mjs';\nimport { a as coerceElement, c as coerceNumberProperty } from './element-x4z00URv.mjs';\nimport { DOCUMENT } from '@angular/common';\nimport { auditTime } from 'rxjs/operators';\n\n/** Component used to load the structural styles of the text field. */\nlet _CdkTextFieldStyleLoader = /*#__PURE__*/(() => {\n  class _CdkTextFieldStyleLoader {\n    static ɵfac = function _CdkTextFieldStyleLoader_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || _CdkTextFieldStyleLoader)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: _CdkTextFieldStyleLoader,\n      selectors: [[\"ng-component\"]],\n      hostAttrs: [\"cdk-text-field-style-loader\", \"\"],\n      decls: 0,\n      vars: 0,\n      template: function _CdkTextFieldStyleLoader_Template(rf, ctx) {},\n      styles: [\"textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0 !important;box-sizing:content-box !important;height:auto !important;overflow:hidden !important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0 !important;box-sizing:content-box !important;height:0 !important}@keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return _CdkTextFieldStyleLoader;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Options to pass to the animationstart listener. */\nconst listenerOptions = {\n  passive: true\n};\n/**\n * An injectable service that can be used to monitor the autofill state of an input.\n * Based on the following blog post:\n * https://medium.com/@brunn/detecting-autofilled-fields-in-javascript-aed598d25da7\n */\nlet AutofillMonitor = /*#__PURE__*/(() => {\n  class AutofillMonitor {\n    _platform = inject(Platform);\n    _ngZone = inject(NgZone);\n    _renderer = inject(RendererFactory2).createRenderer(null, null);\n    _styleLoader = inject(_CdkPrivateStyleLoader);\n    _monitoredElements = new Map();\n    constructor() {}\n    monitor(elementOrRef) {\n      if (!this._platform.isBrowser) {\n        return EMPTY;\n      }\n      this._styleLoader.load(_CdkTextFieldStyleLoader);\n      const element = coerceElement(elementOrRef);\n      const info = this._monitoredElements.get(element);\n      if (info) {\n        return info.subject;\n      }\n      const subject = new Subject();\n      const cssClass = 'cdk-text-field-autofilled';\n      const listener = event => {\n        // Animation events fire on initial element render, we check for the presence of the autofill\n        // CSS class to make sure this is a real change in state, not just the initial render before\n        // we fire off events.\n        if (event.animationName === 'cdk-text-field-autofill-start' && !element.classList.contains(cssClass)) {\n          element.classList.add(cssClass);\n          this._ngZone.run(() => subject.next({\n            target: event.target,\n            isAutofilled: true\n          }));\n        } else if (event.animationName === 'cdk-text-field-autofill-end' && element.classList.contains(cssClass)) {\n          element.classList.remove(cssClass);\n          this._ngZone.run(() => subject.next({\n            target: event.target,\n            isAutofilled: false\n          }));\n        }\n      };\n      const unlisten = this._ngZone.runOutsideAngular(() => {\n        element.classList.add('cdk-text-field-autofill-monitored');\n        return _bindEventWithOptions(this._renderer, element, 'animationstart', listener, listenerOptions);\n      });\n      this._monitoredElements.set(element, {\n        subject,\n        unlisten\n      });\n      return subject;\n    }\n    stopMonitoring(elementOrRef) {\n      const element = coerceElement(elementOrRef);\n      const info = this._monitoredElements.get(element);\n      if (info) {\n        info.unlisten();\n        info.subject.complete();\n        element.classList.remove('cdk-text-field-autofill-monitored');\n        element.classList.remove('cdk-text-field-autofilled');\n        this._monitoredElements.delete(element);\n      }\n    }\n    ngOnDestroy() {\n      this._monitoredElements.forEach((_info, element) => this.stopMonitoring(element));\n    }\n    static ɵfac = function AutofillMonitor_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || AutofillMonitor)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: AutofillMonitor,\n      factory: AutofillMonitor.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return AutofillMonitor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** A directive that can be used to monitor the autofill state of an input. */\nlet CdkAutofill = /*#__PURE__*/(() => {\n  class CdkAutofill {\n    _elementRef = inject(ElementRef);\n    _autofillMonitor = inject(AutofillMonitor);\n    /** Emits when the autofill state of the element changes. */\n    cdkAutofill = new EventEmitter();\n    constructor() {}\n    ngOnInit() {\n      this._autofillMonitor.monitor(this._elementRef).subscribe(event => this.cdkAutofill.emit(event));\n    }\n    ngOnDestroy() {\n      this._autofillMonitor.stopMonitoring(this._elementRef);\n    }\n    static ɵfac = function CdkAutofill_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkAutofill)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkAutofill,\n      selectors: [[\"\", \"cdkAutofill\", \"\"]],\n      outputs: {\n        cdkAutofill: \"cdkAutofill\"\n      }\n    });\n  }\n  return CdkAutofill;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Directive to automatically resize a textarea to fit its content. */\nlet CdkTextareaAutosize = /*#__PURE__*/(() => {\n  class CdkTextareaAutosize {\n    _elementRef = inject(ElementRef);\n    _platform = inject(Platform);\n    _ngZone = inject(NgZone);\n    _renderer = inject(Renderer2);\n    _resizeEvents = new Subject();\n    /** Keep track of the previous textarea value to avoid resizing when the value hasn't changed. */\n    _previousValue;\n    _initialHeight;\n    _destroyed = new Subject();\n    _listenerCleanups;\n    _minRows;\n    _maxRows;\n    _enabled = true;\n    /**\n     * Value of minRows as of last resize. If the minRows has decreased, the\n     * height of the textarea needs to be recomputed to reflect the new minimum. The maxHeight\n     * does not have the same problem because it does not affect the textarea's scrollHeight.\n     */\n    _previousMinRows = -1;\n    _textareaElement;\n    /** Minimum amount of rows in the textarea. */\n    get minRows() {\n      return this._minRows;\n    }\n    set minRows(value) {\n      this._minRows = coerceNumberProperty(value);\n      this._setMinHeight();\n    }\n    /** Maximum amount of rows in the textarea. */\n    get maxRows() {\n      return this._maxRows;\n    }\n    set maxRows(value) {\n      this._maxRows = coerceNumberProperty(value);\n      this._setMaxHeight();\n    }\n    /** Whether autosizing is enabled or not */\n    get enabled() {\n      return this._enabled;\n    }\n    set enabled(value) {\n      // Only act if the actual value changed. This specifically helps to not run\n      // resizeToFitContent too early (i.e. before ngAfterViewInit)\n      if (this._enabled !== value) {\n        (this._enabled = value) ? this.resizeToFitContent(true) : this.reset();\n      }\n    }\n    get placeholder() {\n      return this._textareaElement.placeholder;\n    }\n    set placeholder(value) {\n      this._cachedPlaceholderHeight = undefined;\n      if (value) {\n        this._textareaElement.setAttribute('placeholder', value);\n      } else {\n        this._textareaElement.removeAttribute('placeholder');\n      }\n      this._cacheTextareaPlaceholderHeight();\n    }\n    /** Cached height of a textarea with a single row. */\n    _cachedLineHeight;\n    /** Cached height of a textarea with only the placeholder. */\n    _cachedPlaceholderHeight;\n    /** Cached scroll top of a textarea */\n    _cachedScrollTop;\n    /** Used to reference correct document/window */\n    _document = inject(DOCUMENT, {\n      optional: true\n    });\n    _hasFocus;\n    _isViewInited = false;\n    constructor() {\n      const styleLoader = inject(_CdkPrivateStyleLoader);\n      styleLoader.load(_CdkTextFieldStyleLoader);\n      this._textareaElement = this._elementRef.nativeElement;\n    }\n    /** Sets the minimum height of the textarea as determined by minRows. */\n    _setMinHeight() {\n      const minHeight = this.minRows && this._cachedLineHeight ? `${this.minRows * this._cachedLineHeight}px` : null;\n      if (minHeight) {\n        this._textareaElement.style.minHeight = minHeight;\n      }\n    }\n    /** Sets the maximum height of the textarea as determined by maxRows. */\n    _setMaxHeight() {\n      const maxHeight = this.maxRows && this._cachedLineHeight ? `${this.maxRows * this._cachedLineHeight}px` : null;\n      if (maxHeight) {\n        this._textareaElement.style.maxHeight = maxHeight;\n      }\n    }\n    ngAfterViewInit() {\n      if (this._platform.isBrowser) {\n        // Remember the height which we started with in case autosizing is disabled\n        this._initialHeight = this._textareaElement.style.height;\n        this.resizeToFitContent();\n        this._ngZone.runOutsideAngular(() => {\n          this._listenerCleanups = [this._renderer.listen('window', 'resize', () => this._resizeEvents.next()), this._renderer.listen(this._textareaElement, 'focus', this._handleFocusEvent), this._renderer.listen(this._textareaElement, 'blur', this._handleFocusEvent)];\n          this._resizeEvents.pipe(auditTime(16)).subscribe(() => {\n            // Clear the cached heights since the styles can change\n            // when the window is resized (e.g. by media queries).\n            this._cachedLineHeight = this._cachedPlaceholderHeight = undefined;\n            this.resizeToFitContent(true);\n          });\n        });\n        this._isViewInited = true;\n        this.resizeToFitContent(true);\n      }\n    }\n    ngOnDestroy() {\n      this._listenerCleanups?.forEach(cleanup => cleanup());\n      this._resizeEvents.complete();\n      this._destroyed.next();\n      this._destroyed.complete();\n    }\n    /**\n     * Cache the height of a single-row textarea if it has not already been cached.\n     *\n     * We need to know how large a single \"row\" of a textarea is in order to apply minRows and\n     * maxRows. For the initial version, we will assume that the height of a single line in the\n     * textarea does not ever change.\n     */\n    _cacheTextareaLineHeight() {\n      if (this._cachedLineHeight) {\n        return;\n      }\n      // Use a clone element because we have to override some styles.\n      const textareaClone = this._textareaElement.cloneNode(false);\n      const cloneStyles = textareaClone.style;\n      textareaClone.rows = 1;\n      // Use `position: absolute` so that this doesn't cause a browser layout and use\n      // `visibility: hidden` so that nothing is rendered. Clear any other styles that\n      // would affect the height.\n      cloneStyles.position = 'absolute';\n      cloneStyles.visibility = 'hidden';\n      cloneStyles.border = 'none';\n      cloneStyles.padding = '0';\n      cloneStyles.height = '';\n      cloneStyles.minHeight = '';\n      cloneStyles.maxHeight = '';\n      // App styles might be messing with the height through the positioning properties.\n      cloneStyles.top = cloneStyles.bottom = cloneStyles.left = cloneStyles.right = 'auto';\n      // In Firefox it happens that textarea elements are always bigger than the specified amount\n      // of rows. This is because Firefox tries to add extra space for the horizontal scrollbar.\n      // As a workaround that removes the extra space for the scrollbar, we can just set overflow\n      // to hidden. This ensures that there is no invalid calculation of the line height.\n      // See Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=33654\n      cloneStyles.overflow = 'hidden';\n      this._textareaElement.parentNode.appendChild(textareaClone);\n      this._cachedLineHeight = textareaClone.clientHeight;\n      textareaClone.remove();\n      // Min and max heights have to be re-calculated if the cached line height changes\n      this._setMinHeight();\n      this._setMaxHeight();\n    }\n    _measureScrollHeight() {\n      const element = this._textareaElement;\n      const previousMargin = element.style.marginBottom || '';\n      const isFirefox = this._platform.FIREFOX;\n      const needsMarginFiller = isFirefox && this._hasFocus;\n      const measuringClass = isFirefox ? 'cdk-textarea-autosize-measuring-firefox' : 'cdk-textarea-autosize-measuring';\n      // In some cases the page might move around while we're measuring the `textarea` on Firefox. We\n      // work around it by assigning a temporary margin with the same height as the `textarea` so that\n      // it occupies the same amount of space. See #23233.\n      if (needsMarginFiller) {\n        element.style.marginBottom = `${element.clientHeight}px`;\n      }\n      // Reset the textarea height to auto in order to shrink back to its default size.\n      // Also temporarily force overflow:hidden, so scroll bars do not interfere with calculations.\n      element.classList.add(measuringClass);\n      // The measuring class includes a 2px padding to workaround an issue with Chrome,\n      // so we account for that extra space here by subtracting 4 (2px top + 2px bottom).\n      const scrollHeight = element.scrollHeight - 4;\n      element.classList.remove(measuringClass);\n      if (needsMarginFiller) {\n        element.style.marginBottom = previousMargin;\n      }\n      return scrollHeight;\n    }\n    _cacheTextareaPlaceholderHeight() {\n      if (!this._isViewInited || this._cachedPlaceholderHeight != undefined) {\n        return;\n      }\n      if (!this.placeholder) {\n        this._cachedPlaceholderHeight = 0;\n        return;\n      }\n      const value = this._textareaElement.value;\n      this._textareaElement.value = this._textareaElement.placeholder;\n      this._cachedPlaceholderHeight = this._measureScrollHeight();\n      this._textareaElement.value = value;\n    }\n    /** Handles `focus` and `blur` events. */\n    _handleFocusEvent = event => {\n      this._hasFocus = event.type === 'focus';\n    };\n    ngDoCheck() {\n      if (this._platform.isBrowser) {\n        this.resizeToFitContent();\n      }\n    }\n    /**\n     * Resize the textarea to fit its content.\n     * @param force Whether to force a height recalculation. By default the height will be\n     *    recalculated only if the value changed since the last call.\n     */\n    resizeToFitContent(force = false) {\n      // If autosizing is disabled, just skip everything else\n      if (!this._enabled) {\n        return;\n      }\n      this._cacheTextareaLineHeight();\n      this._cacheTextareaPlaceholderHeight();\n      this._cachedScrollTop = this._textareaElement.scrollTop;\n      // If we haven't determined the line-height yet, we know we're still hidden and there's no point\n      // in checking the height of the textarea.\n      if (!this._cachedLineHeight) {\n        return;\n      }\n      const textarea = this._elementRef.nativeElement;\n      const value = textarea.value;\n      // Only resize if the value or minRows have changed since these calculations can be expensive.\n      if (!force && this._minRows === this._previousMinRows && value === this._previousValue) {\n        return;\n      }\n      const scrollHeight = this._measureScrollHeight();\n      const height = Math.max(scrollHeight, this._cachedPlaceholderHeight || 0);\n      // Use the scrollHeight to know how large the textarea *would* be if fit its entire value.\n      textarea.style.height = `${height}px`;\n      this._ngZone.runOutsideAngular(() => {\n        if (typeof requestAnimationFrame !== 'undefined') {\n          requestAnimationFrame(() => this._scrollToCaretPosition(textarea));\n        } else {\n          setTimeout(() => this._scrollToCaretPosition(textarea));\n        }\n      });\n      this._previousValue = value;\n      this._previousMinRows = this._minRows;\n    }\n    /**\n     * Resets the textarea to its original size\n     */\n    reset() {\n      // Do not try to change the textarea, if the initialHeight has not been determined yet\n      // This might potentially remove styles when reset() is called before ngAfterViewInit\n      if (this._initialHeight !== undefined) {\n        this._textareaElement.style.height = this._initialHeight;\n      }\n    }\n    _noopInputHandler() {\n      // no-op handler that ensures we're running change detection on input events.\n    }\n    /**\n     * Scrolls a textarea to the caret position. On Firefox resizing the textarea will\n     * prevent it from scrolling to the caret position. We need to re-set the selection\n     * in order for it to scroll to the proper position.\n     */\n    _scrollToCaretPosition(textarea) {\n      const {\n        selectionStart,\n        selectionEnd\n      } = textarea;\n      // IE will throw an \"Unspecified error\" if we try to set the selection range after the\n      // element has been removed from the DOM. Assert that the directive hasn't been destroyed\n      // between the time we requested the animation frame and when it was executed.\n      // Also note that we have to assert that the textarea is focused before we set the\n      // selection range. Setting the selection range on a non-focused textarea will cause\n      // it to receive focus on IE and Edge.\n      if (!this._destroyed.isStopped && this._hasFocus) {\n        textarea.setSelectionRange(selectionStart, selectionEnd);\n        textarea.scrollTop = this._cachedScrollTop;\n      }\n    }\n    static ɵfac = function CdkTextareaAutosize_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkTextareaAutosize)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkTextareaAutosize,\n      selectors: [[\"textarea\", \"cdkTextareaAutosize\", \"\"]],\n      hostAttrs: [\"rows\", \"1\", 1, \"cdk-textarea-autosize\"],\n      hostBindings: function CdkTextareaAutosize_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"input\", function CdkTextareaAutosize_input_HostBindingHandler() {\n            return ctx._noopInputHandler();\n          });\n        }\n      },\n      inputs: {\n        minRows: [0, \"cdkAutosizeMinRows\", \"minRows\"],\n        maxRows: [0, \"cdkAutosizeMaxRows\", \"maxRows\"],\n        enabled: [2, \"cdkTextareaAutosize\", \"enabled\", booleanAttribute],\n        placeholder: \"placeholder\"\n      },\n      exportAs: [\"cdkTextareaAutosize\"]\n    });\n  }\n  return CdkTextareaAutosize;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet TextFieldModule = /*#__PURE__*/(() => {\n  class TextFieldModule {\n    static ɵfac = function TextFieldModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || TextFieldModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: TextFieldModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n  }\n  return TextFieldModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { AutofillMonitor, CdkAutofill, CdkTextareaAutosize, TextFieldModule };\n","import * as i0 from '@angular/core';\nimport { inject, NgZone, RendererFactory2, Injectable } from '@angular/core';\nimport { Subject, Observable } from 'rxjs';\nimport { filter, shareReplay, takeUntil } from 'rxjs/operators';\n\n/**\n * Handler that logs \"ResizeObserver loop limit exceeded\" errors.\n * These errors are not shown in the Chrome console, so we log them to ensure developers are aware.\n * @param e The error\n */\nconst loopLimitExceededErrorHandler = e => {\n  if (e instanceof ErrorEvent && e.message === 'ResizeObserver loop limit exceeded') {\n    console.error(`${e.message}. This could indicate a performance issue with your app. See https://github.com/WICG/resize-observer/blob/master/explainer.md#error-handling`);\n  }\n};\n/**\n * A shared ResizeObserver to be used for a particular box type (content-box, border-box, or\n * device-pixel-content-box)\n */\nclass SingleBoxSharedResizeObserver {\n  _box;\n  /** Stream that emits when the shared observer is destroyed. */\n  _destroyed = /*#__PURE__*/new Subject();\n  /** Stream of all events from the ResizeObserver. */\n  _resizeSubject = /*#__PURE__*/new Subject();\n  /** ResizeObserver used to observe element resize events. */\n  _resizeObserver;\n  /** A map of elements to streams of their resize events. */\n  _elementObservables = /*#__PURE__*/new Map();\n  constructor(/** The box type to observe for resizes. */\n  _box) {\n    this._box = _box;\n    if (typeof ResizeObserver !== 'undefined') {\n      this._resizeObserver = new ResizeObserver(entries => this._resizeSubject.next(entries));\n    }\n  }\n  /**\n   * Gets a stream of resize events for the given element.\n   * @param target The element to observe.\n   * @return The stream of resize events for the element.\n   */\n  observe(target) {\n    if (!this._elementObservables.has(target)) {\n      this._elementObservables.set(target, new Observable(observer => {\n        const subscription = this._resizeSubject.subscribe(observer);\n        this._resizeObserver?.observe(target, {\n          box: this._box\n        });\n        return () => {\n          this._resizeObserver?.unobserve(target);\n          subscription.unsubscribe();\n          this._elementObservables.delete(target);\n        };\n      }).pipe(filter(entries => entries.some(entry => entry.target === target)),\n      // Share a replay of the last event so that subsequent calls to observe the same element\n      // receive initial sizing info like the first one. Also enable ref counting so the\n      // element will be automatically unobserved when there are no more subscriptions.\n      shareReplay({\n        bufferSize: 1,\n        refCount: true\n      }), takeUntil(this._destroyed)));\n    }\n    return this._elementObservables.get(target);\n  }\n  /** Destroys this instance. */\n  destroy() {\n    this._destroyed.next();\n    this._destroyed.complete();\n    this._resizeSubject.complete();\n    this._elementObservables.clear();\n  }\n}\n/**\n * Allows observing resize events on multiple elements using a shared set of ResizeObserver.\n * Sharing a ResizeObserver instance is recommended for better performance (see\n * https://github.com/WICG/resize-observer/issues/59).\n *\n * Rather than share a single `ResizeObserver`, this class creates one `ResizeObserver` per type\n * of observed box ('content-box', 'border-box', and 'device-pixel-content-box'). This avoids\n * later calls to `observe` with a different box type from influencing the events dispatched to\n * earlier calls.\n */\nlet SharedResizeObserver = /*#__PURE__*/(() => {\n  class SharedResizeObserver {\n    _cleanupErrorListener;\n    /** Map of box type to shared resize observer. */\n    _observers = new Map();\n    /** The Angular zone. */\n    _ngZone = inject(NgZone);\n    constructor() {\n      if (typeof ResizeObserver !== 'undefined' && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        this._ngZone.runOutsideAngular(() => {\n          const renderer = inject(RendererFactory2).createRenderer(null, null);\n          this._cleanupErrorListener = renderer.listen('window', 'error', loopLimitExceededErrorHandler);\n        });\n      }\n    }\n    ngOnDestroy() {\n      for (const [, observer] of this._observers) {\n        observer.destroy();\n      }\n      this._observers.clear();\n      this._cleanupErrorListener?.();\n    }\n    /**\n     * Gets a stream of resize events for the given target element and box type.\n     * @param target The element to observe for resizes.\n     * @param options Options to pass to the `ResizeObserver`\n     * @return The stream of resize events for the element.\n     */\n    observe(target, options) {\n      const box = options?.box || 'content-box';\n      if (!this._observers.has(box)) {\n        this._observers.set(box, new SingleBoxSharedResizeObserver(box));\n      }\n      return this._observers.get(box).observe(target);\n    }\n    static ɵfac = function SharedResizeObserver_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || SharedResizeObserver)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: SharedResizeObserver,\n      factory: SharedResizeObserver.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return SharedResizeObserver;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { SharedResizeObserver };\n","import * as i0 from '@angular/core';\nimport { Injectable } from '@angular/core';\n\n/** Error state matcher that matches when a control is invalid and dirty. */\nlet ShowOnDirtyErrorStateMatcher = /*#__PURE__*/(() => {\n  class ShowOnDirtyErrorStateMatcher {\n    isErrorState(control, form) {\n      return !!(control && control.invalid && (control.dirty || form && form.submitted));\n    }\n    static ɵfac = function ShowOnDirtyErrorStateMatcher_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ShowOnDirtyErrorStateMatcher)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: ShowOnDirtyErrorStateMatcher,\n      factory: ShowOnDirtyErrorStateMatcher.ɵfac\n    });\n  }\n  return ShowOnDirtyErrorStateMatcher;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Provider that defines how form controls behave with regards to displaying error messages. */\nlet ErrorStateMatcher = /*#__PURE__*/(() => {\n  class ErrorStateMatcher {\n    isErrorState(control, form) {\n      return !!(control && control.invalid && (control.touched || form && form.submitted));\n    }\n    static ɵfac = function ErrorStateMatcher_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || ErrorStateMatcher)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: ErrorStateMatcher,\n      factory: ErrorStateMatcher.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return ErrorStateMatcher;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { ErrorStateMatcher as E, ShowOnDirtyErrorStateMatcher as S };\n","import { ObserversModule } from '@angular/cdk/observers';\nimport * as i0 from '@angular/core';\nimport { NgModule } from '@angular/core';\nimport { j as MatFormField, M as MatLabel, b as MatError, c as MatHint, e as MatPrefix, g as MatSuffix } from './form-field-DqPi4knt.mjs';\nimport { M as MatCommonModule } from './common-module-WayjW0Pb.mjs';\nlet MatFormFieldModule = /*#__PURE__*/(() => {\n  class MatFormFieldModule {\n    static ɵfac = function MatFormFieldModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatFormFieldModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: MatFormFieldModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [MatCommonModule, ObserversModule, MatCommonModule]\n    });\n  }\n  return MatFormFieldModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { MatFormFieldModule as M };\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Platform, getSupportedInputTypes } from '@angular/cdk/platform';\nimport { AutofillMonitor, TextFieldModule } from '@angular/cdk/text-field';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, inject, ElementRef, NgZone, Renderer2, isSignal, effect, booleanAttribute, Directive, Input, NgModule } from '@angular/core';\nimport { _IdGenerator } from '@angular/cdk/a11y';\nimport { NgControl, Validators, NgForm, FormGroupDirective } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { M as MAT_INPUT_VALUE_ACCESSOR } from './input-value-accessor-D1GvPuqO.mjs';\nimport { h as MAT_FORM_FIELD, k as MatFormFieldControl } from './form-field-DqPi4knt.mjs';\nexport { b as MatError, j as MatFormField, c as MatHint, M as MatLabel, e as MatPrefix, g as MatSuffix } from './form-field-DqPi4knt.mjs';\nimport { E as ErrorStateMatcher } from './error-options-Dm2JJUbF.mjs';\nimport { _ as _ErrorStateTracker } from './error-state-Dtb1IHM-.mjs';\nimport { M as MatFormFieldModule } from './module-BXZhw7pQ.mjs';\nimport { M as MatCommonModule } from './common-module-WayjW0Pb.mjs';\nimport '@angular/cdk/bidi';\nimport '@angular/common';\nimport 'rxjs/operators';\nimport '@angular/cdk/observers/private';\nimport '@angular/cdk/observers';\n\n/** @docs-private */\nfunction getMatInputUnsupportedTypeError(type) {\n  return Error(`Input type \"${type}\" isn't supported by matInput.`);\n}\n\n// Invalid input type. Using one of these will throw an MatInputUnsupportedTypeError.\nconst MAT_INPUT_INVALID_TYPES = ['button', 'checkbox', 'file', 'hidden', 'image', 'radio', 'range', 'reset', 'submit'];\n/** Injection token that can be used to provide the default options for the input. */\nconst MAT_INPUT_CONFIG = /*#__PURE__*/new InjectionToken('MAT_INPUT_CONFIG');\nlet MatInput = /*#__PURE__*/(() => {\n  class MatInput {\n    _elementRef = inject(ElementRef);\n    _platform = inject(Platform);\n    ngControl = inject(NgControl, {\n      optional: true,\n      self: true\n    });\n    _autofillMonitor = inject(AutofillMonitor);\n    _ngZone = inject(NgZone);\n    _formField = inject(MAT_FORM_FIELD, {\n      optional: true\n    });\n    _renderer = inject(Renderer2);\n    _uid = inject(_IdGenerator).getId('mat-input-');\n    _previousNativeValue;\n    _inputValueAccessor;\n    _signalBasedValueAccessor;\n    _previousPlaceholder;\n    _errorStateTracker;\n    _config = inject(MAT_INPUT_CONFIG, {\n      optional: true\n    });\n    _cleanupIosKeyup;\n    _cleanupWebkitWheel;\n    /** `aria-describedby` IDs assigned by the form field. */\n    _formFieldDescribedBy;\n    /** Whether the component is being rendered on the server. */\n    _isServer;\n    /** Whether the component is a native html select. */\n    _isNativeSelect;\n    /** Whether the component is a textarea. */\n    _isTextarea;\n    /** Whether the input is inside of a form field. */\n    _isInFormField;\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    focused = false;\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    stateChanges = new Subject();\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    controlType = 'mat-input';\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    autofilled = false;\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    get disabled() {\n      return this._disabled;\n    }\n    set disabled(value) {\n      this._disabled = coerceBooleanProperty(value);\n      // Browsers may not fire the blur event if the input is disabled too quickly.\n      // Reset from here to ensure that the element doesn't become stuck.\n      if (this.focused) {\n        this.focused = false;\n        this.stateChanges.next();\n      }\n    }\n    _disabled = false;\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    get id() {\n      return this._id;\n    }\n    set id(value) {\n      this._id = value || this._uid;\n    }\n    _id;\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    placeholder;\n    /**\n     * Name of the input.\n     * @docs-private\n     */\n    name;\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    get required() {\n      return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;\n    }\n    set required(value) {\n      this._required = coerceBooleanProperty(value);\n    }\n    _required;\n    /** Input type of the element. */\n    get type() {\n      return this._type;\n    }\n    set type(value) {\n      const prevType = this._type;\n      this._type = value || 'text';\n      this._validateType();\n      // When using Angular inputs, developers are no longer able to set the properties on the native\n      // input element. To ensure that bindings for `type` work, we need to sync the setter\n      // with the native property. Textarea elements don't support the type property or attribute.\n      if (!this._isTextarea && getSupportedInputTypes().has(this._type)) {\n        this._elementRef.nativeElement.type = this._type;\n      }\n      if (this._type !== prevType) {\n        this._ensureWheelDefaultBehavior();\n      }\n    }\n    _type = 'text';\n    /** An object used to control when error messages are shown. */\n    get errorStateMatcher() {\n      return this._errorStateTracker.matcher;\n    }\n    set errorStateMatcher(value) {\n      this._errorStateTracker.matcher = value;\n    }\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    userAriaDescribedBy;\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    get value() {\n      return this._signalBasedValueAccessor ? this._signalBasedValueAccessor.value() : this._inputValueAccessor.value;\n    }\n    set value(value) {\n      if (value !== this.value) {\n        if (this._signalBasedValueAccessor) {\n          this._signalBasedValueAccessor.value.set(value);\n        } else {\n          this._inputValueAccessor.value = value;\n        }\n        this.stateChanges.next();\n      }\n    }\n    /** Whether the element is readonly. */\n    get readonly() {\n      return this._readonly;\n    }\n    set readonly(value) {\n      this._readonly = coerceBooleanProperty(value);\n    }\n    _readonly = false;\n    /** Whether the input should remain interactive when it is disabled. */\n    disabledInteractive;\n    /** Whether the input is in an error state. */\n    get errorState() {\n      return this._errorStateTracker.errorState;\n    }\n    set errorState(value) {\n      this._errorStateTracker.errorState = value;\n    }\n    _neverEmptyInputTypes = ['date', 'datetime', 'datetime-local', 'month', 'time', 'week'].filter(t => getSupportedInputTypes().has(t));\n    constructor() {\n      const parentForm = inject(NgForm, {\n        optional: true\n      });\n      const parentFormGroup = inject(FormGroupDirective, {\n        optional: true\n      });\n      const defaultErrorStateMatcher = inject(ErrorStateMatcher);\n      const accessor = inject(MAT_INPUT_VALUE_ACCESSOR, {\n        optional: true,\n        self: true\n      });\n      const element = this._elementRef.nativeElement;\n      const nodeName = element.nodeName.toLowerCase();\n      if (accessor) {\n        if (isSignal(accessor.value)) {\n          this._signalBasedValueAccessor = accessor;\n        } else {\n          this._inputValueAccessor = accessor;\n        }\n      } else {\n        // If no input value accessor was explicitly specified, use the element as the input value\n        // accessor.\n        this._inputValueAccessor = element;\n      }\n      this._previousNativeValue = this.value;\n      // Force setter to be called in case id was not specified.\n      this.id = this.id;\n      // On some versions of iOS the caret gets stuck in the wrong place when holding down the delete\n      // key. In order to get around this we need to \"jiggle\" the caret loose. Since this bug only\n      // exists on iOS, we only bother to install the listener on iOS.\n      if (this._platform.IOS) {\n        this._ngZone.runOutsideAngular(() => {\n          this._cleanupIosKeyup = this._renderer.listen(element, 'keyup', this._iOSKeyupListener);\n        });\n      }\n      this._errorStateTracker = new _ErrorStateTracker(defaultErrorStateMatcher, this.ngControl, parentFormGroup, parentForm, this.stateChanges);\n      this._isServer = !this._platform.isBrowser;\n      this._isNativeSelect = nodeName === 'select';\n      this._isTextarea = nodeName === 'textarea';\n      this._isInFormField = !!this._formField;\n      this.disabledInteractive = this._config?.disabledInteractive || false;\n      if (this._isNativeSelect) {\n        this.controlType = element.multiple ? 'mat-native-select-multiple' : 'mat-native-select';\n      }\n      if (this._signalBasedValueAccessor) {\n        effect(() => {\n          // Read the value so the effect can register the dependency.\n          this._signalBasedValueAccessor.value();\n          this.stateChanges.next();\n        });\n      }\n    }\n    ngAfterViewInit() {\n      if (this._platform.isBrowser) {\n        this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(event => {\n          this.autofilled = event.isAutofilled;\n          this.stateChanges.next();\n        });\n      }\n    }\n    ngOnChanges() {\n      this.stateChanges.next();\n    }\n    ngOnDestroy() {\n      this.stateChanges.complete();\n      if (this._platform.isBrowser) {\n        this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement);\n      }\n      this._cleanupIosKeyup?.();\n      this._cleanupWebkitWheel?.();\n    }\n    ngDoCheck() {\n      if (this.ngControl) {\n        // We need to re-evaluate this on every change detection cycle, because there are some\n        // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n        // that whatever logic is in here has to be super lean or we risk destroying the performance.\n        this.updateErrorState();\n        // Since the input isn't a `ControlValueAccessor`, we don't have a good way of knowing when\n        // the disabled state has changed. We can't use the `ngControl.statusChanges`, because it\n        // won't fire if the input is disabled with `emitEvents = false`, despite the input becoming\n        // disabled.\n        if (this.ngControl.disabled !== null && this.ngControl.disabled !== this.disabled) {\n          this.disabled = this.ngControl.disabled;\n          this.stateChanges.next();\n        }\n      }\n      // We need to dirty-check the native element's value, because there are some cases where\n      // we won't be notified when it changes (e.g. the consumer isn't using forms or they're\n      // updating the value using `emitEvent: false`).\n      this._dirtyCheckNativeValue();\n      // We need to dirty-check and set the placeholder attribute ourselves, because whether it's\n      // present or not depends on a query which is prone to \"changed after checked\" errors.\n      this._dirtyCheckPlaceholder();\n    }\n    /** Focuses the input. */\n    focus(options) {\n      this._elementRef.nativeElement.focus(options);\n    }\n    /** Refreshes the error state of the input. */\n    updateErrorState() {\n      this._errorStateTracker.updateErrorState();\n    }\n    /** Callback for the cases where the focused state of the input changes. */\n    _focusChanged(isFocused) {\n      if (isFocused === this.focused) {\n        return;\n      }\n      if (!this._isNativeSelect && isFocused && this.disabled && this.disabledInteractive) {\n        const element = this._elementRef.nativeElement;\n        // Focusing an input that has text will cause all the text to be selected. Clear it since\n        // the user won't be able to change it. This is based on the internal implementation.\n        if (element.type === 'number') {\n          // setSelectionRange doesn't work on number inputs so it needs to be set briefly to text.\n          element.type = 'text';\n          element.setSelectionRange(0, 0);\n          element.type = 'number';\n        } else {\n          element.setSelectionRange(0, 0);\n        }\n      }\n      this.focused = isFocused;\n      this.stateChanges.next();\n    }\n    _onInput() {\n      // This is a noop function and is used to let Angular know whenever the value changes.\n      // Angular will run a new change detection each time the `input` event has been dispatched.\n      // It's necessary that Angular recognizes the value change, because when floatingLabel\n      // is set to false and Angular forms aren't used, the placeholder won't recognize the\n      // value changes and will not disappear.\n      // Listening to the input event wouldn't be necessary when the input is using the\n      // FormsModule or ReactiveFormsModule, because Angular forms also listens to input events.\n    }\n    /** Does some manual dirty checking on the native input `value` property. */\n    _dirtyCheckNativeValue() {\n      const newValue = this._elementRef.nativeElement.value;\n      if (this._previousNativeValue !== newValue) {\n        this._previousNativeValue = newValue;\n        this.stateChanges.next();\n      }\n    }\n    /** Does some manual dirty checking on the native input `placeholder` attribute. */\n    _dirtyCheckPlaceholder() {\n      const placeholder = this._getPlaceholder();\n      if (placeholder !== this._previousPlaceholder) {\n        const element = this._elementRef.nativeElement;\n        this._previousPlaceholder = placeholder;\n        placeholder ? element.setAttribute('placeholder', placeholder) : element.removeAttribute('placeholder');\n      }\n    }\n    /** Gets the current placeholder of the form field. */\n    _getPlaceholder() {\n      return this.placeholder || null;\n    }\n    /** Make sure the input is a supported type. */\n    _validateType() {\n      if (MAT_INPUT_INVALID_TYPES.indexOf(this._type) > -1 && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw getMatInputUnsupportedTypeError(this._type);\n      }\n    }\n    /** Checks whether the input type is one of the types that are never empty. */\n    _isNeverEmpty() {\n      return this._neverEmptyInputTypes.indexOf(this._type) > -1;\n    }\n    /** Checks whether the input is invalid based on the native validation. */\n    _isBadInput() {\n      // The `validity` property won't be present on platform-server.\n      let validity = this._elementRef.nativeElement.validity;\n      return validity && validity.badInput;\n    }\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    get empty() {\n      return !this._isNeverEmpty() && !this._elementRef.nativeElement.value && !this._isBadInput() && !this.autofilled;\n    }\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    get shouldLabelFloat() {\n      if (this._isNativeSelect) {\n        // For a single-selection `<select>`, the label should float when the selected option has\n        // a non-empty display value. For a `<select multiple>`, the label *always* floats to avoid\n        // overlapping the label with the options.\n        const selectElement = this._elementRef.nativeElement;\n        const firstOption = selectElement.options[0];\n        // On most browsers the `selectedIndex` will always be 0, however on IE and Edge it'll be\n        // -1 if the `value` is set to something, that isn't in the list of options, at a later point.\n        return this.focused || selectElement.multiple || !this.empty || !!(selectElement.selectedIndex > -1 && firstOption && firstOption.label);\n      } else {\n        return this.focused && !this.disabled || !this.empty;\n      }\n    }\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    setDescribedByIds(ids) {\n      const element = this._elementRef.nativeElement;\n      const existingDescribedBy = element.getAttribute('aria-describedby');\n      let toAssign;\n      // In some cases there might be some `aria-describedby` IDs that were assigned directly,\n      // like by the `AriaDescriber` (see #30011). Attempt to preserve them by taking the previous\n      // attribute value and filtering out the IDs that came from the previous `setDescribedByIds`\n      // call. Note the `|| ids` here allows us to avoid duplicating IDs on the first render.\n      if (existingDescribedBy) {\n        const exclude = this._formFieldDescribedBy || ids;\n        toAssign = ids.concat(existingDescribedBy.split(' ').filter(id => id && !exclude.includes(id)));\n      } else {\n        toAssign = ids;\n      }\n      this._formFieldDescribedBy = ids;\n      if (toAssign.length) {\n        element.setAttribute('aria-describedby', toAssign.join(' '));\n      } else {\n        element.removeAttribute('aria-describedby');\n      }\n    }\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    onContainerClick() {\n      // Do not re-focus the input element if the element is already focused. Otherwise it can happen\n      // that someone clicks on a time input and the cursor resets to the \"hours\" field while the\n      // \"minutes\" field was actually clicked. See: https://github.com/angular/components/issues/12849\n      if (!this.focused) {\n        this.focus();\n      }\n    }\n    /** Whether the form control is a native select that is displayed inline. */\n    _isInlineSelect() {\n      const element = this._elementRef.nativeElement;\n      return this._isNativeSelect && (element.multiple || element.size > 1);\n    }\n    _iOSKeyupListener = event => {\n      const el = event.target;\n      // Note: We specifically check for 0, rather than `!el.selectionStart`, because the two\n      // indicate different things. If the value is 0, it means that the caret is at the start\n      // of the input, whereas a value of `null` means that the input doesn't support\n      // manipulating the selection range. Inputs that don't support setting the selection range\n      // will throw an error so we want to avoid calling `setSelectionRange` on them. See:\n      // https://html.spec.whatwg.org/multipage/input.html#do-not-apply\n      if (!el.value && el.selectionStart === 0 && el.selectionEnd === 0) {\n        // Note: Just setting `0, 0` doesn't fix the issue. Setting\n        // `1, 1` fixes it for the first time that you type text and\n        // then hold delete. Toggling to `1, 1` and then back to\n        // `0, 0` seems to completely fix it.\n        el.setSelectionRange(1, 1);\n        el.setSelectionRange(0, 0);\n      }\n    };\n    _webkitBlinkWheelListener = () => {\n      // This is a noop function and is used to enable mouse wheel input\n      // on number inputs\n      // on blink and webkit browsers.\n    };\n    /**\n     * In blink and webkit browsers a focused number input does not increment or decrement its value\n     * on mouse wheel interaction unless a wheel event listener is attached to it or one of its\n     * ancestors or a passive wheel listener is attached somewhere in the DOM. For example: Hitting\n     * a tooltip once enables the mouse wheel input for all number inputs as long as it exists. In\n     * order to get reliable and intuitive behavior we apply a wheel event on our own thus making\n     * sure increment and decrement by mouse wheel works every time.\n     * @docs-private\n     */\n    _ensureWheelDefaultBehavior() {\n      this._cleanupWebkitWheel?.();\n      if (this._type === 'number' && (this._platform.BLINK || this._platform.WEBKIT)) {\n        this._cleanupWebkitWheel = this._renderer.listen(this._elementRef.nativeElement, 'wheel', this._webkitBlinkWheelListener);\n      }\n    }\n    /** Gets the value to set on the `readonly` attribute. */\n    _getReadonlyAttribute() {\n      if (this._isNativeSelect) {\n        return null;\n      }\n      if (this.readonly || this.disabled && this.disabledInteractive) {\n        return 'true';\n      }\n      return null;\n    }\n    static ɵfac = function MatInput_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatInput)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatInput,\n      selectors: [[\"input\", \"matInput\", \"\"], [\"textarea\", \"matInput\", \"\"], [\"select\", \"matNativeControl\", \"\"], [\"input\", \"matNativeControl\", \"\"], [\"textarea\", \"matNativeControl\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-input-element\"],\n      hostVars: 21,\n      hostBindings: function MatInput_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"focus\", function MatInput_focus_HostBindingHandler() {\n            return ctx._focusChanged(true);\n          })(\"blur\", function MatInput_blur_HostBindingHandler() {\n            return ctx._focusChanged(false);\n          })(\"input\", function MatInput_input_HostBindingHandler() {\n            return ctx._onInput();\n          });\n        }\n        if (rf & 2) {\n          i0.ɵɵhostProperty(\"id\", ctx.id)(\"disabled\", ctx.disabled && !ctx.disabledInteractive)(\"required\", ctx.required);\n          i0.ɵɵattribute(\"name\", ctx.name || null)(\"readonly\", ctx._getReadonlyAttribute())(\"aria-disabled\", ctx.disabled && ctx.disabledInteractive ? \"true\" : null)(\"aria-invalid\", ctx.empty && ctx.required ? null : ctx.errorState)(\"aria-required\", ctx.required)(\"id\", ctx.id);\n          i0.ɵɵclassProp(\"mat-input-server\", ctx._isServer)(\"mat-mdc-form-field-textarea-control\", ctx._isInFormField && ctx._isTextarea)(\"mat-mdc-form-field-input-control\", ctx._isInFormField)(\"mat-mdc-input-disabled-interactive\", ctx.disabledInteractive)(\"mdc-text-field__input\", ctx._isInFormField)(\"mat-mdc-native-select-inline\", ctx._isInlineSelect());\n        }\n      },\n      inputs: {\n        disabled: \"disabled\",\n        id: \"id\",\n        placeholder: \"placeholder\",\n        name: \"name\",\n        required: \"required\",\n        type: \"type\",\n        errorStateMatcher: \"errorStateMatcher\",\n        userAriaDescribedBy: [0, \"aria-describedby\", \"userAriaDescribedBy\"],\n        value: \"value\",\n        readonly: \"readonly\",\n        disabledInteractive: [2, \"disabledInteractive\", \"disabledInteractive\", booleanAttribute]\n      },\n      exportAs: [\"matInput\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MatFormFieldControl,\n        useExisting: MatInput\n      }]), i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return MatInput;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatInputModule = /*#__PURE__*/(() => {\n  class MatInputModule {\n    static ɵfac = function MatInputModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatInputModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: MatInputModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [MatCommonModule, MatFormFieldModule, MatFormFieldModule, TextFieldModule, MatCommonModule]\n    });\n  }\n  return MatInputModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { MAT_INPUT_CONFIG, MAT_INPUT_VALUE_ACCESSOR, MatInput, MatInputModule, getMatInputUnsupportedTypeError };\n","import { Component} from '@angular/core';\r\n@Component({\r\n  selector: 'app-hero',\r\n  imports: [],\r\n  templateUrl: './hero.component.html',\r\n  styleUrl: './hero.component.sass'\r\n})\r\nexport class HeroComponent {\r\n\r\n  scrollToSection(sectionTitle: string): void {\r\n    const section = document.getElementById(sectionTitle) as HTMLElement;\r\n    section.scrollIntoView({\r\n      behavior: 'smooth',\r\n      block: 'center'\r\n    });\r\n  }\r\n}\r\n","<section #home id=\"home\" class=\"hero-section\">\r\n\r\n  <!-- Background shapes -->\r\n  <div class=\"background-shapes\">\r\n    <div class=\"shape shape1\"></div>\r\n    <div class=\"shape shape2\"></div>\r\n    <div class=\"shape shape3\"></div>\r\n    <div class=\"grid-pattern\"></div>\r\n  </div>\r\n\r\n  <div class=\"container\">\r\n    <!-- Text content -->\r\n    <div class=\"grid-container\">\r\n      <div class=\"hero-content\">\r\n        <div class=\"hero-badge\">\r\n          <svg class=\"icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n            <path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z\"/>\r\n          </svg>\r\n          <span>Basé à Pau • Disponible partout en France</span>\r\n        </div>\r\n        <h1 class=\"hero-title \">\r\n          <strong class=\"highlight\">Création de sites web</strong> performants pour indépendants et PME\r\n        </h1>\r\n\r\n        <p class=\"hero-subtitle\">\r\n          Développeur web freelance spécialisé en Angular, Symfony et WordPress.\r\n          Des sites rapides, optimisés SEO et conçus pour transformer vos visiteurs en clients.\r\n        </p>\r\n\r\n        <div class=\"cta\">\r\n          <button (click)=\"scrollToSection('contact')\" class=\"btn btn-primary\">Discutons de votre projet</button>\r\n          <button (click)=\"scrollToSection('portfolio')\" class=\"btn btn-realisations btn-secondary \">Voir mes\r\n            réalisations\r\n          </button>\r\n        </div>\r\n\r\n        <!-- Accessible SEO text (white-hat, non visible) -->\r\n        <p class=\"sr-only\">\r\n          Développeur web freelance en France spécialisé en Angular, Symfony et WordPress.\r\n          Création de sites vitrines professionnels, solutions e-commerce et applications web sur mesure,\r\n          optimisées pour la performance et le référencement naturel (SEO).\r\n        </p>\r\n\r\n        <!-- Trust indicators -->\r\n        <div class=\"hero-trust\">\r\n          <div class=\"trust-item\">\r\n            <svg class=\"icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M4 6h16M4 12h16M4 18h16\"/>\r\n            </svg>\r\n            <span>Développement sur mesure</span>\r\n          </div>\r\n\r\n          <div class=\"trust-item\">\r\n            <svg class=\"icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <circle cx=\"12\" cy=\"12\" r=\"9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"/>\r\n              <path d=\"M12 7v5l3 2\"/>\r\n            </svg>\r\n            <span>Optimisé pour Google</span>\r\n          </div>\r\n\r\n          <div class=\"trust-item\">\r\n            <svg class=\"icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M12 2l8 4v6c0 5-3.5 9.74-8 10-4.5-.26-8-5-8-10V6l8-4z\"/>\r\n            </svg>\r\n            <span>Performance & sécurité</span>\r\n          </div>\r\n        </div>\r\n\r\n      </div>\r\n      <div class=\"hero-illustration\">\r\n        <img src=\"/assets/img/hero-mockup-3.webp\" alt=\"Création de site web professionnel optimisé pour le référencement SEO\" width=\"835\" height=\"662\" fetchpriority=\"high\" loading=\"eager\" class=\"img-fluid\">\r\n\r\n      </div>\r\n    </div>\r\n\r\n\r\n\r\n\r\n\r\n    <div class=\"scroll-animation\">\r\n\r\n    </div>\r\n  </div>\r\n\r\n</section>\r\n","import { Component} from '@angular/core';\r\nimport {myInfo} from '../../../../core/data/my-data';\r\nimport {AnimatedTextDirective} from '../../../../core/directives/animated-text.directive';\r\nimport {AnimatedCardDirective} from '../../../../core/directives/animated-card.directive';\r\n\r\n@Component({\r\n  selector: 'app-about',\r\n  imports: [\r\n  ],\r\n  templateUrl: './about.component.html',\r\n  styleUrl: './about.component.sass'\r\n})\r\nexport class AboutComponent{\r\n\r\n  protected readonly myData = myInfo;\r\n\r\n\r\n  scrollToSection(sectionTitle: string): void {\r\n    const section = document.getElementById(sectionTitle) as HTMLElement;\r\n    section.scrollIntoView({\r\n      behavior: 'smooth',\r\n      block: 'center'\r\n    });\r\n  }\r\n}\r\n","\r\n<section #about id=\"about\" class=\"about-section\">\r\n  <!-- Background elements -->\r\n  <div class=\"background-decor\">\r\n    <div class=\"circle bottom-left\"></div>\r\n    <div class=\"circle top-right\"></div>\r\n  </div>\r\n\r\n  <div class=\"container\">\r\n    <div class=\"about-content\">\r\n      <!-- Image column -->\r\n      <div class=\"about-image\" >\r\n        <div class=\"image-wrapper\">\r\n          <img\r\n            src=\"{{'assets/img/hero-2.webp'}}\"\r\n            alt=\"Cristian Tudoroiu, développeur web freelance spécialisé Angular et Symfony\"\r\n            loading=\"lazy\"\r\n            width=\"512\"\r\n            height=\"768\"\r\n            decoding=\"async\"\r\n\r\n          />\r\n          <div class=\"decor-box small\"></div>\r\n          <div class=\"decor-box large\"></div>\r\n\r\n          <!-- Floating skill badge -->\r\n          <div class=\"skill-badge\">\r\n            <span class=\"icon\"> <svg height=\"25px\" width=\"25px\" viewBox=\"0 0 24 24\" fill=\"none\"\r\n                                     xmlns=\"http://www.w3.org/2000/svg\"><g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g><g\r\n              id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g><g id=\"SVGRepo_iconCarrier\"> <path\r\n              d=\"M9 8L5 11.6923L9 16M15 8L19 11.6923L15 16\" stroke=\"#10B981\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n              stroke-linejoin=\"round\"></path> </g></svg></span>\r\n            <span> Clean Code</span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <!-- Text column -->\r\n      <div class=\"about-text\">\r\n        <h2 class=\"title\" >\r\n          Développeur Web Freelance <span>Angular & Symfony</span>\r\n        </h2>\r\n        <p class=\"subtitle\">Je conçois des sites performants, optimisés SEO et pensés pour générer des résultats concrets.</p>\r\n\r\n        <div class=\"divider\"></div>\r\n\r\n        <div class=\"intro\">\r\n          <p>\r\n            Basé à Pau, en Nouvelle-Aquitaine, j’accompagne mes clients en tant que\r\n            <strong>développeur web freelance</strong> spécialisé en\r\n            <strong>Angular</strong>, <strong>Symfony</strong> et <strong>WordPress</strong>,\r\n            avec plus de {{ myData.yearsOfExperience }} ans d’expérience dans la\r\n            <strong>création de sites vitrines</strong>,\r\n            les <strong>solutions e-commerce</strong> et les\r\n            <strong>applications web sur mesure</strong>.\r\n          </p>\r\n\r\n          <p>\r\n            J’accompagne les entrepreneurs et les entreprises dans le développement de\r\n            plateformes performantes, optimisées pour la vitesse, la sécurité et le\r\n            <strong>référencement naturel (SEO)</strong>.\r\n            Mon objectif est simple : créer des sites qui ne sont pas seulement esthétiques,\r\n            mais qui génèrent des résultats concrets.\r\n          </p>\r\n\r\n          <p>\r\n            Mon rôle ne se limite pas au développement.\r\n            Je conçois des sites pensés pour améliorer votre visibilité sur Google,\r\n            renforcer votre crédibilité et transformer davantage de visiteurs en prospects.\r\n          </p>\r\n\r\n          <p>\r\n            Que vous ayez besoin d’une refonte complète, d’un développement spécifique\r\n            ou d’une intégration d’API, je vous propose une approche structurée,\r\n            orientée performance et adaptée à vos objectifs.\r\n          </p>\r\n        </div>\r\n        <p class=\"sr-only\">\r\n          Développeur web freelance en France spécialisé en Angular, Symfony et WordPress.\r\n          Création de sites vitrines professionnels, applications web sur mesure et optimisation SEO.\r\n        </p>\r\n\r\n\r\n        <!-- Skills -->\r\n        <div class=\"skills\">\r\n          <h3>Compétences techniques & expertise web</h3>\r\n          <div class=\"skills-list\">\r\n            <div class=\"skill-item\"><span class=\"dot\"></span> JavaScript (ES6+)</div>\r\n            <div class=\"skill-item\"><span class=\"dot\"></span> Angular & TypeScript</div>\r\n            <div class=\"skill-item\"><span class=\"dot\"></span> PHP & Symfony</div>\r\n            <div class=\"skill-item\"><span class=\"dot\"></span> WordPress</div>\r\n            <div class=\"skill-item\"><span class=\"dot\"></span> UI/UX & Performance Web</div>\r\n\r\n          </div>\r\n        </div>\r\n\r\n        <!-- Services preview -->\r\n        <div class=\"services\">\r\n          <div class=\"service-item\">\r\n            <div class=\"icon\">🌐</div>\r\n            <div>\r\n              <h4>Création de site vitrine & application web</h4>\r\n              <p>Développement sur mesure (Angular, Symfony) orienté performance et conversion.</p>\r\n\r\n            </div>\r\n          </div>\r\n          <div class=\"service-item\">\r\n            <div class=\"icon\">🖥️</div>\r\n            <div>\r\n              <h4>Intégration d’API & automatisations</h4>\r\n              <p>Paiement, réservation, CRM, email, Google Maps : connexion à vos outils métier.</p>\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"about-cta\">\r\n          <a href=\"#portfolio\" class=\"btn secondary\">Voir mon portfolio</a>\r\n        </div>\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n</section>\r\n","export const services = [\r\n  {\r\n    title: 'Création de site vitrine professionnel',\r\n    icon: '/assets/svg/display.svg',\r\n    description:\r\n      'Site vitrine conçu pour améliorer votre visibilité sur Google, valoriser votre activité et générer davantage de demandes de contact.'\r\n  },\r\n  {\r\n    title: 'Création de site e-commerce',\r\n    icon: '/assets/svg/shop.svg',\r\n    description:\r\n      'Boutique en ligne performante avec paiement sécurisé, gestion simplifiée des produits et optimisation des ventes.'\r\n  },\r\n  {\r\n    title: 'Développement d’applications web sur mesure',\r\n    icon: '/assets/svg/code.svg',\r\n    description:\r\n      'Solutions métiers personnalisées développées avec Angular ou Symfony pour automatiser vos processus et gagner en efficacité.'\r\n  },\r\n  {\r\n    title: 'Refonte et optimisation de site web',\r\n    icon: '/assets/svg/arrows-rotate.svg',\r\n    description:\r\n      'Modernisation de votre site pour améliorer son design, sa vitesse de chargement et ses performances SEO.'\r\n  },\r\n  {\r\n    title: 'Maintenance et support technique',\r\n    icon: '/assets/svg/tools.svg',\r\n    description:\r\n      'Mises à jour, sécurité, corrections et accompagnement continu pour garantir la fiabilité de votre site.'\r\n  },\r\n  {\r\n    title: 'Optimisation SEO et référencement naturel',\r\n    icon: '/assets/svg/optimisation.svg',\r\n    description:\r\n      'Amélioration de la structure technique, des performances et du contenu pour gagner en visibilité sur Google.'\r\n  }\r\n];\r\n","import { Component} from '@angular/core';\r\nimport {services} from '../../../../core/data/my-services';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {AnimatedTextDirective} from '../../../../core/directives/animated-text.directive';\r\nimport {AnimatedCardDirective} from '../../../../core/directives/animated-card.directive';\r\nimport {LucideMapPin} from '@lucide/angular';\r\n\r\n@Component({\r\n  selector: 'app-services',\r\n  imports: [\r\n    NgOptimizedImage,\r\n    LucideMapPin,\r\n  ],\r\n  templateUrl: './services.component.html',\r\n  styleUrl: './services.component.sass'\r\n})\r\nexport class ServicesComponent {\r\n\r\n  protected readonly myServices = services;\r\n}\r\n","<section #services id=\"services\" class=\"services-section\">\r\n  <!-- Background elements -->\r\n  <div class=\"background\">\r\n    <div class=\"circle circle-left\"></div>\r\n    <div class=\"circle circle-right\"></div>\r\n  </div>\r\n\r\n  <div class=\"container\">\r\n    <!-- Section header -->\r\n    <div class=\"section-header\">\r\n      <h2 class=\"service-title\" > Création de <span>sites web</span>, <span>e-commerce </span>et <span>applications sur mesure</span></h2>\r\n      <p class=\"section-subtitle\">\r\n        Création de <strong>sites vitrines</strong>, <strong>boutiques e-commerce</strong> et <strong>applications web sur mesure</strong>,\r\n        avec un focus sur la <strong>performance</strong>, la <strong>sécurité</strong> et la <strong> visibilité sur Google</strong>.\r\n      </p>\r\n\r\n      <div class=\"divider\"></div>\r\n    </div>\r\n\r\n    <!-- Services grid -->\r\n    <div class=\"services-grid\">\r\n      @for (service of myServices; track $index; ) {\r\n        <!-- Service Card 1 -->\r\n        <div class=\"service-card animated-card\" >\r\n          <div class=\"hover-bar\"></div>\r\n          <div class=\"icon-wrapper\">\r\n            <img [ngSrc]=\"service.icon\"\r\n                 width=\"44\"\r\n                 height=\"44\"\r\n                 alt=\"\"\r\n                 aria-hidden=\"true\"/>\r\n          </div>\r\n          <h3>{{ service.title }}</h3>\r\n          <p>\r\n            {{ service.description }}\r\n          </p>\r\n        </div>\r\n      }\r\n    </div>\r\n    <p class=\"services-local\">\r\n      <span class=\"pin\"><svg lucideMapPin></svg></span>\r\n      Basé à Pau, j’interviens en Nouvelle-Aquitaine et partout en France.\r\n    </p>\r\n    <div class=\"services-cta\">\r\n      <a href=\"#contact\" class=\"btn primary\">Discutons de votre projet</a>\r\n    </div>\r\n\r\n\r\n  </div>\r\n</section>\r\n","import {Project} from '../interfaces/project.interface';\r\n\r\nexport const projectsData: Project[] = [\r\n  {\r\n    number: '01',\r\n    client: 'Media Immo',\r\n    title: 'Naturals Risks',\r\n    imagePath: '/assets/img/project-img/nat-resized.webp',\r\n    imageWidth : '710',\r\n    imageHeight:'473',\r\n    shortDescription: \"Application est dédié à la génération en ligne d'États des Risques et Pollutions (ERP) pour les diagnostiqueurs\",\r\n    impact: \"Automatisation de la génération d’ERP et des documents (factures/PDF/signature) pour fluidifier le travail des diagnostiqueurs.\",\r\n    description: {\r\n      fr: [\r\n        \"Cette application est dédié à la génération en ligne d'États des Risques et Pollutions (ERP) pour les diagnostiqueurs, des documents obligatoires lors de transactions immobilières en France. Ce service est exclusivement réservé aux utilisateurs du logiciel Liciel Diagnostics, avec lequel il est entièrement intégré. Cette intégration permet aux professionnels de l'immobilier et du diagnostic de créer facilement des ERP conformes aux réglementations en vigueur.\",\r\n        \"J'ai eu l'opportunité de travailler sur l'application NaturalsRisks, où j'ai réalisé diverses missions allant de la maintenance corrective à l'ajout de nouvelles fonctionnalités.\",\r\n        \"Mes principales contributions incluent : \",\r\n\r\n      ],\r\n      en: [\"This application is dedicated to the online generation of Risk and Pollution Reports (ERP) for property inspectors—mandatory documents required during real estate transactions in France. This service is exclusively reserved for users of the Liciel Diagnostics software, with which it is fully integrated. This integration enables real estate and inspection professionals to easily create ERP documents that comply with current regulations.\",\r\n        \"I had the opportunity to work on the NaturalsRisks application, where I carried out various tasks ranging from bug fixes to the implementation of new features.\",\r\n        \"My main contributions include:\"\r\n      ]\r\n    },\r\n    missions: {\r\n      fr: [\r\n        \"Mise en place d'un nouveau système de paiement avec LCL pour offrir plus de flexibilité aux utilisateurs.\",\r\n        \"Ajout d'un module de demande de documents permettant désormais aux utilisateurs de solliciter des documents d'urbanisme en plus des ERP.\",\r\n        \"Création d'un système de facturation comprenant un script de facturation automatisé, ainsi que la génération de factures et de contrats au format PDF.\",\r\n        \"Intégration de solutions de signature électronique, d'abord avec Docusign, puis avec YouSign pour optimiser la gestion des signatures.\",\r\n        \"Implémentation d'un système d'envoi de mails, améliorant ainsi la communication avec les utilisateurs.\",\r\n        \"Refonte de l'interface utilisateur, notamment la landing page et d'autres pages clés du site, pour améliorer l'expérience utilisateur et l'esthétique de la plateforme.\",\r\n        \"Ces améliorations ont permis d'enrichir l'offre de services de l'application et d'optimiser son efficacité pour les utilisateurs.\",\r\n        \"Mes principales contributions incluent : \",\r\n      ],\r\n      en: [\r\n        \"Implemented a new payment system with LCL to provide users with greater flexibility.\",\r\n\r\n        \"Added a document request module, allowing users to request urban planning documents in addition to ERP reports.\",\r\n\r\n        \"Created a billing system, including an automated billing script and the generation of invoices and contracts in PDF format.\",\r\n\r\n        \"Integrated electronic signature solutions, initially with DocuSign, then with YouSign, to streamline signature management.\",\r\n\r\n        \"Implemented an email sending system, enhancing communication with users.\",\r\n\r\n        \"Redesigned the user interface, including the landing page and other key site pages, to improve user experience and platform aesthetics.\",\r\n\r\n        \"These improvements enriched the application’s service offering and enhanced its efficiency for users.\",\r\n\r\n        \"My main contributions include:\",\r\n      ]\r\n    },\r\n    imageName: ['nr_before.png', 'nr_after.png',],\r\n    technos: ['PHP', 'MySql', 'HTML', 'CSS', 'Jquery', 'AngularJS', 'LCL Sherlock\\'s', 'wkhtmltopdf', 'DocuSign', 'YouSign'],\r\n    url: 'https://naturalsrisks.com/'\r\n\r\n  },\r\n  {\r\n    number: '02',\r\n    client: 'Media Immo',\r\n    title: 'Nota Risques Urba',\r\n    imagePath: '/assets/img/project-img/not-resized.webp',\r\n    imageWidth : '710',\r\n    imageHeight:'473',\r\n    shortDescription: \"Plateforme en ligne dédiée aux notaires, offrant des services dématérialisés .\",\r\n    impact: \"Refonte complète (Angular + Symfony) pour moderniser la plateforme, sécuriser les accès et digitaliser les commandes notaires.\",\r\n    description: {\r\n      fr: [\r\n        'Le site Nota Risques Urba est une plateforme en ligne dédiée aux notaires, offrant des services dématérialisés pour la génération d\\'États des Risques et Pollutions (ERP) et la fourniture de documents d\\'urbanisme. Ces services sont disponibles en ligne ou sur commande, facilitant ainsi les démarches des études notariales.',\r\n        \"Ce projet a été réalisé en collaboration avec plusieurs membres de l’équipe, en suivant la méthodologie Agile pour assurer un développement itératif et une réactivité optimale aux besoins du client. Nous avons utilisé Trello pour la gestion du projet, ce qui a permis une coordination fluide des différentes étapes. J'ai participé activement à la refonte complète de l'application Nota-Risques-Urba, un projet ambitieux qui a impliqué une restructuration technique approfondie, allant de la refonte de l'architecture à la mise en place de nouvelles fonctionnalités pour améliorer l’expérience utilisateur.\",\r\n        \"Mes principales contributions incluent : \",\r\n      ], en: [\r\n        \"The Nota Risques Urba website is an online platform designed for notaries, offering digital services for generating Risk and Pollution Reports (ERP) and providing urban planning documents. These services are available online or on demand, making the administrative process easier for notarial offices.\",\r\n        \"This project was carried out in collaboration with several team members, following the Agile methodology to ensure iterative development and optimal responsiveness to client needs. We used Trello for project management, which enabled smooth coordination of the various development phases. I actively participated in the complete redesign of the Nota Risques Urba application—an ambitious project involving a thorough technical restructuring, from architectural overhaul to the implementation of new features aimed at enhancing user experience.\",\r\n        \"My main contributions include:\"\r\n      ]\r\n\r\n    },\r\n    missions: {\r\n      fr: [\"Restructuration de la base de données pour optimiser les performances et l'organisation des données.\",\r\n        \"Refonte graphique en collaboration avec un web designer pour moderniser l’image du site et améliorer l’expérience utilisateur.\",\r\n        \"Développement du front-end en Angular, en reproduisant fidèlement les maquettes fournies.\",\r\n        \"Développement du back-end en Symfony, en mettant en place une API robuste et performante.\",\r\n        \"Connexion entre le front et le back via une API sécurisée.\",\r\n        \"Implémentation de l’authentification JWT, permettant une gestion sécurisée des sessions utilisateurs.\",\r\n        \"Mise en place d’un système de gestion des comptes avec différents rôles et niveaux d'accès.\",\r\n        \"Intégration d’un moyen de paiement CB via SystemPay pour la gestion des transactions en ligne.\",\r\n        \"Développement d’un script de génération de contrats PDF, leur stockage sur AWS, et leur signature électronique avec YouSign.\"\r\n      ],\r\n      en: [\r\n        \"Restructured the database to optimize performance and data organization.\",\r\n\r\n        \"Redesigned the UI in collaboration with a web designer to modernize the site’s image and enhance user experience.\",\r\n\r\n        \"Developed the front-end using Angular, accurately reproducing the provided mockups.\",\r\n\r\n        \"Developed the back-end using Symfony, building a robust and high-performance API.\",\r\n\r\n        \"Connected the front-end and back-end via a secure API.\",\r\n\r\n        \"Implemented JWT authentication for secure user session management.\",\r\n\r\n        \"Set up an account management system with different roles and access levels.\",\r\n\r\n        \"Integrated credit card payment via SystemPay for handling online transactions.\",\r\n\r\n        \"Developed a script to generate PDF contracts, store them on AWS, and have them electronically signed using YouSign.\",\r\n\r\n\r\n      ]\r\n    },\r\n    imageName: ['not_before.png', 'not_after.png', 'not_compte_before.png', 'not_compte_after.png'],\r\n    technos: ['Symfony', 'JWT', 'MySql', 'HTML', 'Sass / Sccs', 'Angular', 'TypeScript', 'SystemPay', 'wkhtmltopdf', 'AWS S3', 'YouSign', 'Figma', 'Trello'],\r\n    url: 'https://www.nota-risques-urba.fr/'\r\n\r\n  },\r\n  {\r\n    number: '03',\r\n    client: 'Media Immo',\r\n    title: 'Commercial',\r\n    imagePath: '/assets/img/project-img/commercial-resized.webp',\r\n    imageWidth : '710',\r\n    imageHeight:'473',\r\n    shortDescription: \"Une solution interne dédiée à la gestion administrative d'une entreprise.\",\r\n    impact: \"Optimisation des processus internes (comptes, paiements, crédits, SAV) avec une interface plus rapide et plus ergonomique.\",\r\n    description: {\r\n      fr: [\r\n        'Commercial est une solution interne dédiée à la gestion des comptes des collaborateurs, incluant la gestion des agendas administratifs et la comptabilité. Elle permet aux commerciaux sédentaires de suivre les abonnements, les paiements et la modification des données des comptes clients. L\\'outil offre également la possibilité de créditer les clients, avec des crédits utilisables sur diverses plateformes de l\\'entreprise, tout en facilitant la gestion des comptes utilisateurs lors des appels au service après-vente (SAV).',\r\n        \"La refonte de l'outil Commercial a impliqué une révision complète de ses fonctionnalités pour améliorer l'ergonomie et l'efficacité des processus internes. Cette mise à jour a optimisé la gestion des comptes collaborateurs, des agendas administratifs et de la comptabilité. Elle a également renforcé les capacités des commerciaux sédentaires en matière de suivi client, de gestion des abonnements, paiements et crédits. De plus, la refonte a amélioré la gestion des comptes utilisateurs lors des appels SAV, offrant une interface plus fluide et plus performante.\",\r\n        \"Mes principales contributions incluent : \"\r\n      ], en: [\r\n        \"Commercial is an internal solution dedicated to managing employee accounts, including administrative schedules and accounting. It allows in-house sales representatives to track subscriptions, payments, and customer account data updates. The tool also enables crediting clients, with credits usable across various company platforms, while streamlining account management during customer service (SAV) calls.\",\r\n        \"The redesign of the Commercial tool involved a complete overhaul of its features to improve usability and the efficiency of internal processes. This update optimized the management of employee accounts, administrative scheduling, and accounting. It also enhanced the capabilities of in-house sales representatives in terms of client tracking, subscription, payment, and credit management. Additionally, the redesign improved user account handling during support calls by providing a smoother and more efficient interface.\",\r\n        \"My main contributions include: \",\r\n      ]\r\n    },\r\n    missions: {\r\n      fr: [\r\n        'Restructuration des fonctionnalités pour améliorer l\\'efficacité de la gestion des comptes collaborateurs, de l\\'agenda administratif et de la comptabilité.',\r\n        \"Optimisation de l'expérience utilisateur pour les commerciaux sédentaires, avec une gestion simplifiée des abonnements, paiements et modifications de données clients.\",\r\n        \"Amélioration de la gestion des crédits offerts aux clients, et de la gestion des comptes utilisateurs lors des appels SAV.\",\r\n        \"Mise à jour de l’interface pour une meilleure fluidité et performance globale de l’application\",\r\n        \"Refonte visuelle pour moderniser l'interface et améliorer l'ergonomie, permettant ainsi une meilleure expérience utilisateur pour les commerciaux sédentaires.\"\r\n      ],\r\n      en: [\r\n        \"Restructured features to enhance the efficiency of employee account management, administrative scheduling, and accounting.\",\r\n\r\n        \"Optimized the user experience for in-house sales representatives through simplified management of subscriptions, payments, and customer data updates.\",\r\n\r\n        \"Improved the management of client-issued credits and user accounts during customer service (SAV) calls.\",\r\n\r\n        \"Updated the interface to ensure smoother navigation and overall better performance of the application.\",\r\n\r\n        \"Redesigned the UI to modernize the interface and improve usability, providing a better experience for in-house sales teams.\",\r\n\r\n\r\n      ]\r\n    },\r\n    imageName: ['commercial_before.png', 'commercial_after.png', 'commercial_recherche_before.png', 'commercial_recherche_after.png', 'commercial_fiche_before.png', 'commercial_fiche_after.png'],\r\n    technos: ['Symfony', 'JWT', 'MySql', 'HTML', 'Sass', 'Angular', 'TypeScript', 'AWS S3', 'Figma', 'Trello'],\r\n    url: null\r\n\r\n  },\r\n  // {\r\n  //   number: '04',\r\n  //   client: 'Personnal',\r\n  //   title: 'Gestion financière',\r\n  //   imagePath :'/assets/img/project-img/picobank-resized.png',\r\n  //   shortDescription:'Application moderne de gestion des finances personnelles avec suivi détaillé des revenus, dépenses et factures.',\r\n  //   description: {\r\n  //     fr: [\r\n  //       \"Ayant conçu et développé cette application de A à Z, j’ai imaginé son concept, défini son design et développé l’ensemble de ses fonctionnalités pour offrir une solution complète et intuitive de gestion des finances personnelles.\",\r\n  //\r\n  //       \"L’application permet aux utilisateurs de suivre en détail leurs revenus, dépenses ponctuelles et récurrentes, ainsi que leurs factures via une interface ergonomique et moderne. J’ai mis en place des fonctionnalités avancées comme l’automatisation des transactions récurrentes, une catégorisation intelligente des dépenses, et la gestion efficace des pièces jointes (factures, tickets de caisse).\",\r\n  //\r\n  //       \"L’interface a été pensée pour offrir une expérience fluide, avec une navigation optimisée et un système de personnalisation avancé, permettant aux utilisateurs d’adapter l’application à leurs besoins spécifiques. J’ai également intégré des mesures de sécurité renforcées pour garantir la protection des données et assurer la confidentialité des informations financières.\"\r\n  //     ], en: [\"Having designed and developed this application from A to Z, I imagined its concept, defined its design, and built all of its features to offer a complete and intuitive personal finance management solution.\",\r\n  //       \"The application allows users to track their income, one-time and recurring expenses, as well as bills, through a modern and user-friendly interface. I implemented advanced features such as automated recurring transactions, intelligent expense categorization, and efficient management of attachments (invoices, receipts).\",\r\n  //       \"The interface was designed to provide a smooth experience, with optimized navigation and an advanced personalization system, allowing users to tailor the application to their specific needs. I also integrated enhanced security measures to ensure data protection and guarantee the confidentiality of financial information.\",\r\n  //     ]\r\n  //   },\r\n  //   missions: {\r\n  //     fr: [\r\n  //       \"Idéation et définition du concept de l'application\",\r\n  //       \"Conception de l'architecture technique (base de données, API, front-end, back-end)\",\r\n  //       \"Définition des fonctionnalités principales et secondaires\",\r\n  //       \"Élaboration des maquettes et wireframes pour l’interface utilisateur\",\r\n  //       \"Développement de l’interface utilisateur avec un design moderne et intuitif\",\r\n  //       \"Implémentation de la navigation et des interactions dynamiques\",\r\n  //       \"Personnalisation de l’interface pour une meilleure adaptabilité aux besoins des utilisateurs\",\r\n  //       \"Création de l’API pour la gestion des comptes, transactions et pièces jointes\",\r\n  //       \"Mise en place d’un système de gestion des utilisateurs et des rôles\",\r\n  //       \"Intégration de la gestion des dépenses et revenus récurrents avec automatisation\",\r\n  //       \"Mise en place d’un stockage sécurisé pour les pièces jointes (factures, reçus)\",\r\n  //       \"Implémentation d’un système d’authentification sécurisé\",\r\n  //       \"Protection des données personnelles et des transactions financières\",\r\n  //       \"Optimisation des performances de l’application pour une utilisation fluide\",\r\n  //       \"Automatisation des transactions récurrentes\",\r\n  //       \"Catégorisation intelligente des dépenses et revenus\",\r\n  //       \"Mise en place d’un tableau de bord avec visualisation des finances\",\r\n  //       \"Système de recherche et filtrage des transactions\",\r\n  //       \"Hébergement et mise en ligne de l’application\",\r\n  //       \"Tests et corrections des bugs pour garantir la stabilité du système\",\r\n  //       \"Mise en place d’un suivi et d’évolutions futures en fonction des retours utilisateurs\"\r\n  //     ],\r\n  //     en: [\r\n  //       \"Ideation and definition of the application concept\",\r\n  //\r\n  //       \"Design of the technical architecture (database, API, front-end, back-end)\",\r\n  //\r\n  //       \"Definition of primary and secondary features\",\r\n  //\r\n  //       \"Creation of mockups and wireframes for the user interface\",\r\n  //\r\n  //       \"Development of a modern and intuitive user interface\",\r\n  //\r\n  //       \"Implementation of navigation and dynamic interactions\",\r\n  //\r\n  //       \"Customization of the interface for better adaptability to user needs\",\r\n  //\r\n  //       \"Creation of an API for managing accounts, transactions, and attachments\",\r\n  //\r\n  //       \"Implementation of a user and role management system\",\r\n  //\r\n  //       \"Integration of recurring income and expense management with automation\",\r\n  //\r\n  //       \"Setup of secure storage for attachments (invoices, receipts)\",\r\n  //\r\n  //       \"Implementation of a secure authentication system\",\r\n  //\r\n  //       \"Protection of personal data and financial transactions\",\r\n  //\r\n  //       \"Optimization of application performance for smooth usage\",\r\n  //\r\n  //       \"Automation of recurring transactions\",\r\n  //\r\n  //       \"Intelligent categorization of expenses and income\",\r\n  //\r\n  //       \"Setup of a dashboard with financial visualizations\",\r\n  //\r\n  //       \"Search and filter system for transactions\",\r\n  //\r\n  //       \"Hosting and deployment of the application\",\r\n  //\r\n  //       \"Testing and debugging to ensure system stability\",\r\n  //\r\n  //       \"Setup of monitoring and future improvements based on user feedback\",\r\n  //     ]\r\n  //   },\r\n  //   imageName: ['url1', 'url2'],\r\n  //   technos: [\"Angular\", \"HTML/SASS\", \"TypeScript\", \"Symfony\", \"PHP\", \"API Platform\", \"Doctrine ORM\", \"MySQL\", \"JWT (JSON Web Tokens)\", \"OAuth\", \"AWS S3\", \"Trello\", \"GitHub\"\r\n  //   ],\r\n  //   url: null,\r\n  //\r\n  // },\r\n  {\r\n    number: '05',\r\n    client: 'DCT FOLIERUNG',\r\n    title: 'Wrap company',\r\n    imagePath: '/assets/img/project-img/dct-folierung-resized.webp',\r\n    imageWidth : '710',\r\n    imageHeight:'473',\r\n    shortDescription: 'Création d’un site WordPress élégant et optimisé pour valoriser les services de covering auto et améliorer la visibilité en ligne.',\r\n    impact: \"Création d’une vitrine WordPress optimisée SEO pour renforcer la visibilité locale et générer plus de demandes via le site.\",\r\n    description: {\r\n      fr: [\r\n        \"J’ai conçu et développé un site web vitrine sous WordPress pour une entreprise spécialisée dans le covering automobile. L’objectif principal était de créer une présence en ligne professionnelle et attrayante, mettant en valeur les services de personnalisation de véhicules proposés par l’entreprise. Le site présente une interface claire et moderne, avec une navigation intuitive facilitant l’accès aux informations essentielles : présentation des services, galerie photos des réalisations, témoignages clients, et formulaire de contact. J’ai veillé à optimiser le référencement naturel (SEO) pour améliorer la visibilité du site sur les moteurs de recherche, tout en garantissant une expérience utilisateur fluide et responsive sur tous les supports (ordinateurs, tablettes, smartphones).\"\r\n      ],\r\n      en: [\"I designed and developed a showcase website using WordPress for a company specializing in vehicle wrapping services. The main goal was to create a professional and attractive online presence that highlights the company’s vehicle customization offerings. The site features a clean and modern interface with intuitive navigation, allowing easy access to essential information: service descriptions, a photo gallery showcasing completed projects, customer testimonials, and a contact form. I ensured natural SEO optimization to improve the site’s visibility on search engines, while delivering a smooth and responsive user experience across all devices (desktops, tablets, smartphones).\"]\r\n    },\r\n    missions: {\r\n      fr: [\r\n        \"Analyse des besoins du client et définition des objectifs du site web\",\r\n        \"Conception de l’architecture du site et organisation des contenus\",\r\n        \"Création de maquettes graphiques adaptées à l’identité visuelle de l’entreprise\",\r\n        \"Installation et configuration de WordPress, choix et personnalisation d’un thème adapté\",\r\n        \"Intégration des contenus : textes, images, vidéos, galerie photo des réalisations\",\r\n        \"Mise en place d’un formulaire de contact fonctionnel et sécurisé\",\r\n        \"Optimisation SEO on-page pour améliorer la visibilité sur les moteurs de recherche\",\r\n        \"Adaptation du design pour un affichage responsive sur mobiles et tablettes\",\r\n        \"Tests fonctionnels et corrections des bugs avant la mise en ligne\",\r\n        \"Formation ou accompagnement du client pour la gestion autonome du site\",\r\n        \"Maintenance et mises à jour post-lancement (optionnel)\"\r\n\r\n      ],\r\n      en: [\r\n        \"Analyzing client needs and defining website objectives\",\r\n        \"Designing the site architecture and organizing content\",\r\n        \"Creating graphic mockups aligned with the company’s visual identity\",\r\n        \"Installing and configuring WordPress, selecting and customizing an appropriate theme\",\r\n        \"Integrating content: texts, images, videos, photo gallery of projects\",\r\n        \"Setting up a functional and secure contact form\",\r\n        \"On-page SEO optimization to improve search engine visibility\",\r\n        \"Adapting the design for responsive display on mobile and tablet devices\",\r\n        \"Performing functional tests and bug fixes before launch\",\r\n        \"Training or supporting the client for autonomous site management\",\r\n      ]\r\n    },\r\n    imageName: ['url1', 'url2'],\r\n    technos: [\"WordPress \", \"CSS3\", \"Elementor\", \"Royal Elementor Addons\", \"Ultimate Addons\", \"UpdraftPlus\", \"WPForms\", \"Yoast SEO\", \"Imagify\"],\r\n    url: \"https://dctfolientechnik.at/\",\r\n\r\n  }\r\n];\r\n","import { Component} from '@angular/core';\r\nimport {projectsData} from '../../../../core/data/projects-data';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {AnimatedTextDirective} from '../../../../core/directives/animated-text.directive';\r\nimport {AnimatedCardDirective} from '../../../../core/directives/animated-card.directive';\r\n\r\n@Component({\r\n  selector: 'app-portfolio',\r\n  imports: [NgOptimizedImage],\r\n  templateUrl: './portfolio.component.html',\r\n  styleUrl: './portfolio.component.sass'\r\n})\r\nexport class PortfolioComponent  {\r\n\r\n  protected readonly projects = projectsData;\r\n\r\n  get recentProjects() {\r\n    return [...this.projects].slice(-3).reverse();\r\n  }\r\n\r\n\r\n\r\n}\r\n","<section #portfolio id=\"portfolio\" class=\"projects\">\r\n  <div class=\"projects__bg\" aria-hidden=\"true\">\r\n    <div class=\"projects__blob projects__blob--left\"></div>\r\n    <div class=\"projects__blob projects__blob--right\"></div>\r\n  </div>\r\n\r\n  <div class=\"projects__container\">\r\n    <header class=\"projects__header\">\r\n      <h2 class=\"projets-title\" >\r\n        Quelques <span>projets web</span> réalisés pour mes clients\r\n\r\n      </h2>\r\n      <p> Découvrez quelques réalisations conçues pour améliorer la visibilité, optimiser les processus métier et répondre à des besoins spécifiques.</p>\r\n      <div class=\"divider\"></div>\r\n      <p class=\"sr-only\">\r\n        Portfolio de projets réalisés en Angular, Symfony et WordPress à Pau et partout en France.\r\n      </p>\r\n    </header>\r\n\r\n    <div class=\"projects__grid\">\r\n      @for (p of recentProjects; track p.number) {\r\n        <article class=\"card project-card\" >\r\n          <div class=\"card__media\">\r\n            <img [ngSrc]=\"p.imagePath\" [alt]=\"'Capture d’écran du projet ' + p.title\"  [width]=\"p.imageWidth\"\r\n                 [height]=\"p.imageHeight\" loading=\"lazy\" decoding=\"async\" />\r\n          </div>\r\n\r\n          <div class=\"card__body\">\r\n            <h3>{{ p.title }}</h3>\r\n\r\n            <p class=\"card__desc\">\r\n              {{ p.impact }}\r\n            </p>\r\n\r\n            <div class=\"card__tags\">\r\n              @for (t of p.technos; track $index) {\r\n\r\n              <span>{{ t }}</span>\r\n              }\r\n            </div>\r\n\r\n              <a class=\"btn btn--primary btn--full\" [href]=\"p.url\" target=\"_blank\" rel=\"noopener\">\r\n            @if (p.url) {\r\n                <span>Découvrir le projet</span>\r\n                <span class=\"btn__icon\" aria-hidden=\"true\">→</span>\r\n            } @else {\r\n              <span class=\"no-url\">Application privée</span>\r\n            }\r\n              </a>\r\n          </div>\r\n        </article>      }\r\n\r\n    </div>\r\n\r\n    <div class=\"projects__cta\">\r\n      <a class=\"btn btn--secondary btn--lg\" href=\"/portfolio\"  target=\"_blank\" rel=\"noopener\">\r\n        <span>Voir tous les projets</span>\r\n        <span class=\"btn__icon\" aria-hidden=\"true\">→</span>\r\n      </a>\r\n    </div>\r\n  </div>\r\n\r\n</section>\r\n\r\n\r\n\r\n","import {Offre} from '../interfaces/offre.interface';\r\n\r\nexport const offresTarifs: Offre[] = [\r\n  {\r\n    id: 1,\r\n    type: \"developpement\",\r\n    icon: \"wordpress\",\r\n    title: \"Site vitrine essentiel\",\r\n    subtitle: \"L’essentiel pour être en ligne rapidement\",\r\n    price: 600,\r\n    features: [\r\n      { feature: \"Développé sous WORDPRESS\", hint: \"\" },\r\n      { feature: \"Template professionnel optimisé\", hint: \"sans sur-mesure\" },\r\n      { feature: \"Jusqu’à 3 pages\", hint: \"Accueil, À propos, Contact\" },\r\n      { feature: \"Sélection d'une palette de couleur\", hint: \"\" },\r\n      { feature: \"Site responsive\", hint: \"adapté tous supports\" },\r\n      { feature: \"Mise en place du contenu\", hint: \"textes & images fournis\" },\r\n      { feature: \"Formulaire de contact\", hint: \"\" },\r\n      { feature: \"Mise en ligne du site\", hint: \"\" }\r\n    ]\r\n  },\r\n  {\r\n    id: 2,\r\n    type: \"developpement\",\r\n    icon: 'wordpress',\r\n    title: 'Site vitrine standard',\r\n    subtitle: 'Idéal pour démarrer en ligne',\r\n    price: 1200,\r\n    features: [\r\n      { feature: 'Développé sous WORDPRESS', hint: '' },\r\n      { feature: \"Charte graphique à partir d'une maquette pré-définie\", hint: '' },\r\n      { feature: \"Sélection d'une palette de couleur\", hint: '' },\r\n      { feature: \"Interface administrateur STANDARD\", hint: '' },\r\n      { feature: \"Site responsive\", hint: 'adapté tous supports' },\r\n      { feature: \"Mise en place du contenu\", hint: 'textes & images' },\r\n      { feature: \"Formulaire de contact\", hint: '' },\r\n      { feature: \"Liens de partage sur les réseaux sociaux\", hint: '' },\r\n      { feature: \"Mise en ligne du site\", hint: '' }\r\n    ]\r\n  },\r\n  {\r\n    id: 3,\r\n    type: \"developpement\",\r\n    icon: 'rocket',\r\n    title: 'Site vitrine personnalisé',\r\n    subtitle: 'Une présence à votre image',\r\n    price: 1800,\r\n    features: [\r\n      { feature: 'Développement sur-mesure', hint: 'Codage à la main' },\r\n      { feature: \"Création de charte graphique personnalisée\", hint: '' },\r\n      { feature: \"Proposition de logo\", hint: '' },\r\n      { feature: \"Interface administrateur sur-mesure\", hint: '' },\r\n      { feature: \"Site responsive\", hint: 'adapté tous supports' },\r\n      { feature: \"Mise en place du contenu\", hint: 'textes & images' },\r\n      { feature: \"Formulaire de contact & Maps\", hint: '' },\r\n      { feature: \"Liens de partage sur les réseaux sociaux\", hint: '' },\r\n      { feature: \"Mise en ligne du site\", hint: '' }\r\n    ]\r\n  },\r\n  {\r\n    id: 4,\r\n    type: \"developpement\",\r\n    icon: 'store',\r\n    title: 'Plateforme e-commerce',\r\n    subtitle: 'Boostez vos ventes en ligne',\r\n    price: 3000,\r\n    features: [\r\n      { feature: 'PRESTASHOP ou WORDPRESS', hint: '' },\r\n      { feature: \"Création de charte graphique personnalisée\", hint: '' },\r\n      { feature: \"Proposition de logo\", hint: '' },\r\n      { feature: \"Interface administrateur sur-mesure\", hint: '' },\r\n      { feature: \"Site responsive\", hint: 'adapté tous supports' },\r\n      { feature: \"Mise en place du contenu\", hint: 'textes & images' },\r\n      { feature: \"Formulaire de contact & Maps\", hint: '' },\r\n      { feature: \"Liens de partage sur les réseaux sociaux\", hint: '' },\r\n      { feature: \"Mise en ligne du site\", hint: '' }\r\n    ]\r\n  },\r\n  {\r\n    id: 5,\r\n    type: \"maintenance\",\r\n    icon: 'wrench',\r\n    title: 'Forfait maintenance',\r\n    subtitle: 'Gardez votre site performant',\r\n    price: [50, 400],\r\n    features: [\r\n      { feature: \"Mises à jour\", hint: '' },\r\n      { feature: \"Petites modifications graphiques ou de contenu\", hint: '' },\r\n      { feature: \"Sauvegardes externalisées mensuelles\", hint: '' },\r\n      { feature: \"Optimisation performances\", hint: '' }\r\n    ]\r\n  },\r\n  {\r\n    id: 6,\r\n    type: \"specificites\",\r\n    icon: 'wrench',\r\n    title: 'Développements spécifiques',\r\n    subtitle: 'Des solutions sur mesure',\r\n    price: 500,\r\n    features: [\r\n      { feature: \"Ajouts de fonctionnalités spécifiques\", hint: '' },\r\n      { feature: \"Optimisation de modules existants\", hint: '' },\r\n      { feature: \"Corrections et évolutions selon vos besoins\", hint: '' }\r\n    ]\r\n  }\r\n];\r\n\r\nexport const tarifsLandingPage:Offre[] = [\r\n  {\r\n    id: 1,\r\n    icon:\"rocket\",\r\n    title: \"Je démarre mon activité\",\r\n    subtitle:\"Pour les indépendants et petites entreprises qui souhaitent être visibles en ligne rapidement.\",\r\n    price:600,\r\n    recomended:false,\r\n    features:[\r\n\r\n        { feature: \"Site professionnel jusqu'à 3 pages\", hint: \"Accueil, À propos, Contact\" },\r\n        { feature: \"Compatible mobile et tablette\", hint: \"\" },\r\n        { feature: \"Formulaire de contact\", hint: \"\" },\r\n        { feature: \"Mise en ligne incluse\", hint: \"\" },\r\n        { feature: \"Accompagnement personnalisé\", hint: \"\" },\r\n\r\n    ],\r\n    target:\"Artisans,auto-entrepreneurs,professions libérales.\"\r\n  },\r\n  {\r\n    id: 2,\r\n    icon:\"chart\",\r\n    title: \"Je veux développer ma visibilité\",\r\n    subtitle:\"Pour les entreprises qui veulent inspirer confiance et développer leur visibilité.\",\r\n    price:1200,\r\n    recomended:true,\r\n    features:[\r\n\r\n      { feature: \"Design personnalisé\", hint: \"Accueil, À propos, Contact\" },\r\n      { feature: \"Structure optimisée pour le référencement\", hint: \"\" },\r\n      { feature: \"Présentation complète de vos services\", hint: \"\" },\r\n      { feature: \"Formulaire de contact avancé\", hint: \"\" },\r\n      { feature: \"Administration simplifiée\", hint: \"\" },\r\n      { feature: \"Accompagnement au lancement\", hint: \"\" },\r\n\r\n    ],\r\n    target:\"PME, commerces, entreprises de services.\"\r\n  },\r\n  {\r\n    id: 3,\r\n    icon:\"star\",\r\n    title: \"J'ai un besoin spécifique\",\r\n    subtitle:\"Pour les besoins spécifiques nécessitant des fonctionnalités avancées.\",\r\n    price:1800,\r\n    recomended:false,\r\n    features:[\r\n\r\n      { feature: \"Développement personnalisé\", hint: \"Accueil, À propos, Contact\" },\r\n      { feature: \"Fonctionnalités spécifiques métier\", hint: \"\" },\r\n      { feature: \"Interface d'administration adaptée\", hint: \"\" },\r\n      { feature: \"Évolutif selon vos besoins\", hint: \"\" },\r\n      { feature: \"Accompagnement complet\", hint: \"\" },\r\n\r\n    ],\r\n    target:\"Plateformes, outils métier, projets complexes.\"\r\n  }\r\n]\r\n","import { Component } from '@angular/core';\r\nimport {offresTarifs} from '../../../../core/data/offres-tarifs';\r\nimport {MatTooltip} from '@angular/material/tooltip';\r\nimport {Offre} from '../../../../core/interfaces/offre.interface';\r\nimport {AnimatedTextDirective} from '../../../../core/directives/animated-text.directive';\r\nimport {AnimatedCardDirective} from '../../../../core/directives/animated-card.directive';\r\nimport {\r\n  LucideBadgeQuestionMark,\r\n  LucideChartNoAxesCombined,\r\n  LucideCircleCheck,\r\n  LucideRocket,\r\n  LucideStar, LucideStore, LucideWrench\r\n} from '@lucide/angular';\r\n\r\n@Component({\r\n  selector: 'app-tarifs',\r\n  imports: [\r\n    MatTooltip,\r\n    LucideCircleCheck,\r\n    LucideBadgeQuestionMark,\r\n    LucideRocket,\r\n    LucideWrench,\r\n    LucideStore,\r\n  ],\r\n  templateUrl: './tarifs.component.html',\r\n  styleUrl: './tarifs.component.sass'\r\n})\r\nexport class TarifsComponent {\r\n\r\n  protected readonly myOffres = offresTarifs;\r\n\r\n  getPriceValue(offre: Offre, index: number) {\r\n    if (Array.isArray(offre.price)) {\r\n      return offre.price[index];\r\n    }\r\n    return offre.price;\r\n  }\r\n\r\n  scrollToSection(sectionTitle: string): void {\r\n    const section = document.getElementById(sectionTitle) as HTMLElement;\r\n    section.scrollIntoView({\r\n      behavior: 'smooth',\r\n      block: 'center'\r\n    });\r\n  }\r\n\r\n}\r\n","<section #tarifs id=\"tarifs\" class=\"tarifs-section\" aria-labelledby=\"tarifs-title\">\r\n  <div class=\"section-header\">\r\n    <h2 id=\"tarifs-title\" class=\"section-title\" >Offres <span class=\"highlight\">& tarifs</span></h2>\r\n    <p class=\"section-subtitle\">\r\n      Tarifs transparents pour la création de sites vitrines, boutiques e-commerce et applications web sur mesure.\r\n      Chaque projet fait l'objet d'un devis personnalisé selon vos besoins.\r\n    </p>\r\n    <p class=\"tarifs-trust\"> Réponse sous 24h <span class=\"colored-dot\">•</span> Devis gratuit <span class=\"colored-dot\">•</span> Sans engagement </p>\r\n    <div class=\"divider\"></div>\r\n  </div>\r\n\r\n  <div class=\"section-body\">\r\n    <div class=\"pricing-card-container\">\r\n      @for (offre of myOffres; track offre.id) {\r\n        <article class=\"pricing-card\">\r\n          <div class=\"pricing-card-header\">\r\n            <div class=\"wrapper-icon\" aria-hidden=\"true\">\r\n              @switch (offre.icon) {\r\n                @case('rocket'){\r\n                  <svg class=\"icon\" lucideRocket [size]=\"32\"></svg>\r\n                }\r\n                @case('wrench'){\r\n                  <svg class=\"icon\" lucideWrench [size]=\"32\"></svg>\r\n                }\r\n                @case('wordpress'){\r\n                  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\" width=\"32\" height=\"32\" fill=\"currentColor\"><<path d=\"M125.7 233.4L227.2 511.4C156.2 477 107.3 404.2 107.3 320C107.3 289.1 113.9 259.9 125.7 233.4zM463.6 309.3C463.6 283 454.2 264.8 446.1 250.6C435.3 233.1 425.2 218.2 425.2 200.7C425.2 181.1 440 162.9 460.9 162.9C461.8 162.9 462.7 163 463.7 163.1C425.8 128.4 375.4 107.2 320 107.2C245.7 107.2 180.3 145.3 142.2 203.1C147.2 203.3 151.9 203.4 155.9 203.4C178.1 203.4 212.6 200.7 212.6 200.7C224.1 200 225.4 216.9 214 218.2C214 218.2 202.5 219.5 189.7 220.2L267.2 450.6L313.8 311L280.7 220.2C269.2 219.5 258.4 218.2 258.4 218.2C246.9 217.5 248.3 200 259.7 200.7C259.7 200.7 294.8 203.4 315.7 203.4C337.9 203.4 372.4 200.7 372.4 200.7C383.9 200 385.2 216.9 373.8 218.2C373.8 218.2 362.3 219.5 349.5 220.2L426.4 448.9L447.6 378C456.6 348.6 463.6 327.5 463.6 309.3zM323.7 338.6L259.9 524.1C279 529.7 299.1 532.8 320 532.8C344.8 532.8 368.5 528.5 390.6 520.7C390 519.8 389.5 518.8 389.1 517.8L323.7 338.6zM506.7 217.9C507.6 224.7 508.1 231.9 508.1 239.8C508.1 261.4 504.1 285.6 491.9 316L426.9 503.9C490.2 467 532.7 398.5 532.7 320C532.7 283 523.3 248.2 506.7 217.9zM72 320C72 183 183 72 320 72C457 72 568 183 568 320C568 457 457 568 320 568C183 568 72 457 72 320zM556.6 320C556.6 189.3 450.7 83.4 320 83.4C189.3 83.4 83.4 189.3 83.4 320C83.4 450.7 189.3 556.6 320 556.6C450.7 556.6 556.6 450.7 556.6 320z\"/></svg>\r\n                }\r\n                @case('store'){\r\n                  <svg lucideStore [size]=\"32\"></svg>\r\n                }\r\n              }\r\n            </div>\r\n\r\n            <h3 class=\"pricing-card-title\">{{ offre.title }}</h3>\r\n            <p class=\"pricing-card-subtitle\">{{ offre.subtitle }}</p>\r\n\r\n            <div class=\"price-wrapper\">\r\n              @if (offre.type == 'developpement') {\r\n                <span class=\"pricing-start\">à partir de</span>\r\n                <span class=\"pricing-card-price\">{{ offre.price }}<sup>€*</sup></span>\r\n              } @else if (offre.type == 'maintenance') {\r\n                <span class=\"price-hour\">{{ getPriceValue(offre, 0) }}</span>\r\n                <span>ou</span>\r\n                <span class=\"pricing-card-price price-year\">{{ getPriceValue(offre, 1) }}</span>\r\n              } @else {\r\n                <span class=\"pricing-start\">Taux journalier moyen</span>\r\n                <span class=\"pricing-card-price price-day\">{{ getPriceValue(offre, 0) }}</span>\r\n              }\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"pricing-card-content\">\r\n            <button\r\n              class=\"pricing-btn\"\r\n              type=\"button\"\r\n              (click)=\"scrollToSection('contact')\"\r\n              [attr.aria-label]=\"'Contacter pour : ' + offre.title\"\r\n            >\r\n              {{ offre.type == 'developpement' ? 'Discuter de mon projet' : 'Me contacter' }}\r\n            </button>\r\n\r\n            <ul class=\"pricing-card-features\">\r\n              @for (features of offre.features; track $index) {\r\n                <li>\r\n                  <svg lucideCircleCheck></svg>\r\n                  {{ features.feature }}\r\n\r\n                  @if (features.hint != '') {\r\n                    <svg  lucideBadgeQuestionMark [size]=\"14\"\r\n                      matTooltip=\"{{ features.hint }}\"\r\n                      tabindex=\"0\"\r\n                      role=\"button\"\r\n                      aria-label=\"Plus d'informations\"\r\n                    ></svg>\r\n                  }\r\n                </li>\r\n              }\r\n            </ul>\r\n          </div>\r\n        </article>\r\n      }\r\n    </div>\r\n      <footer class=\"tarifs-footer\">\r\n\r\n      <p class=\"tarifs-local\">\r\n        Tarifs adaptés aux entrepreneurs et entreprises en Nouvelle-Aquitaine et partout en France, pour des projets web sur mesure.\r\n      </p>\r\n\r\n      <small class=\"text-infos\">\r\n        L'ensemble des tarifs indiqués sont H.T. * Les tarifs indiqués sont donnés à titre indicatif\r\n        et peuvent évoluer selon vos besoins spécifiques.\r\n      </small>\r\n      </footer>\r\n\r\n\r\n  </div>\r\n</section>\r\n","import { Injectable } from '@angular/core';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {environment} from '../../../../environment/environment';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class ContactService {\r\n\r\n  constructor(private fb : FormBuilder , private http : HttpClient) { }\r\n\r\n  createContactForm(): FormGroup {\r\n    return this.fb.group({\r\n      name: ['', [Validators.required,Validators.minLength(2),Validators.maxLength(500)]],\r\n      email: ['', [Validators.required,Validators.email]],\r\n      phone: [''],\r\n      subject : ['Prise de contact depuis TGCStudios',[Validators.required]],\r\n      site:['TGCStudios',Validators.required],\r\n      message: ['', [Validators.required,Validators.minLength(10),Validators.maxLength(5000)]],\r\n      // champ honeypot - doit rester vide\r\n      website: [''],\r\n      rgpdConsent:[true],\r\n      contactConsent: [false],\r\n\r\n    });\r\n  }\r\n\r\n  sendEmail(formData : FormGroup){\r\n    return this.http.post(environment.apiURL+'/api/contact_email', formData.value)\r\n  }\r\n\r\n}\r\n","import { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { inject, ANIMATION_MODULE_TYPE, NgZone, Injector, RendererFactory2, Injectable } from '@angular/core';\nimport { Platform, _bindEventWithOptions, _getEventTarget } from '@angular/cdk/platform';\nimport { a as MAT_RIPPLE_GLOBAL_OPTIONS, R as RippleRenderer, d as defaultRippleAnimationConfig } from './ripple-BT3tzh6F.mjs';\n\n/** The options for the MatRippleLoader's event listeners. */\nconst eventListenerOptions = {\n  capture: true\n};\n/**\n * The events that should trigger the initialization of the ripple.\n * Note that we use `mousedown`, rather than `click`, for mouse devices because\n * we can't rely on `mouseenter` in the shadow DOM and `click` happens too late.\n */\nconst rippleInteractionEvents = ['focus', 'mousedown', 'mouseenter', 'touchstart'];\n/** The attribute attached to a component whose ripple has not yet been initialized. */\nconst matRippleUninitialized = 'mat-ripple-loader-uninitialized';\n/** Additional classes that should be added to the ripple when it is rendered. */\nconst matRippleClassName = 'mat-ripple-loader-class-name';\n/** Whether the ripple should be centered. */\nconst matRippleCentered = 'mat-ripple-loader-centered';\n/** Whether the ripple should be disabled. */\nconst matRippleDisabled = 'mat-ripple-loader-disabled';\n/**\n * Handles attaching ripples on demand.\n *\n * This service allows us to avoid eagerly creating & attaching MatRipples.\n * It works by creating & attaching a ripple only when a component is first interacted with.\n *\n * @docs-private\n */\nlet MatRippleLoader = /*#__PURE__*/(() => {\n  class MatRippleLoader {\n    _document = inject(DOCUMENT);\n    _animationMode = inject(ANIMATION_MODULE_TYPE, {\n      optional: true\n    });\n    _globalRippleOptions = inject(MAT_RIPPLE_GLOBAL_OPTIONS, {\n      optional: true\n    });\n    _platform = inject(Platform);\n    _ngZone = inject(NgZone);\n    _injector = inject(Injector);\n    _eventCleanups;\n    _hosts = new Map();\n    constructor() {\n      const renderer = inject(RendererFactory2).createRenderer(null, null);\n      this._eventCleanups = this._ngZone.runOutsideAngular(() => {\n        return rippleInteractionEvents.map(name => _bindEventWithOptions(renderer, this._document, name, this._onInteraction, eventListenerOptions));\n      });\n    }\n    ngOnDestroy() {\n      const hosts = this._hosts.keys();\n      for (const host of hosts) {\n        this.destroyRipple(host);\n      }\n      this._eventCleanups.forEach(cleanup => cleanup());\n    }\n    /**\n     * Configures the ripple that will be rendered by the ripple loader.\n     *\n     * Stores the given information about how the ripple should be configured on the host\n     * element so that it can later be retrived & used when the ripple is actually created.\n     */\n    configureRipple(host, config) {\n      // Indicates that the ripple has not yet been rendered for this component.\n      host.setAttribute(matRippleUninitialized, this._globalRippleOptions?.namespace ?? '');\n      // Store the additional class name(s) that should be added to the ripple element.\n      if (config.className || !host.hasAttribute(matRippleClassName)) {\n        host.setAttribute(matRippleClassName, config.className || '');\n      }\n      // Store whether the ripple should be centered.\n      if (config.centered) {\n        host.setAttribute(matRippleCentered, '');\n      }\n      if (config.disabled) {\n        host.setAttribute(matRippleDisabled, '');\n      }\n    }\n    /** Sets the disabled state on the ripple instance corresponding to the given host element. */\n    setDisabled(host, disabled) {\n      const ripple = this._hosts.get(host);\n      // If the ripple has already been instantiated, just disable it.\n      if (ripple) {\n        ripple.target.rippleDisabled = disabled;\n        if (!disabled && !ripple.hasSetUpEvents) {\n          ripple.hasSetUpEvents = true;\n          ripple.renderer.setupTriggerEvents(host);\n        }\n      } else if (disabled) {\n        // Otherwise, set an attribute so we know what the\n        // disabled state should be when the ripple is initialized.\n        host.setAttribute(matRippleDisabled, '');\n      } else {\n        host.removeAttribute(matRippleDisabled);\n      }\n    }\n    /**\n     * Handles creating and attaching component internals\n     * when a component is initially interacted with.\n     */\n    _onInteraction = event => {\n      const eventTarget = _getEventTarget(event);\n      if (eventTarget instanceof HTMLElement) {\n        // TODO(wagnermaciel): Consider batching these events to improve runtime performance.\n        const element = eventTarget.closest(`[${matRippleUninitialized}=\"${this._globalRippleOptions?.namespace ?? ''}\"]`);\n        if (element) {\n          this._createRipple(element);\n        }\n      }\n    };\n    /** Creates a MatRipple and appends it to the given element. */\n    _createRipple(host) {\n      if (!this._document || this._hosts.has(host)) {\n        return;\n      }\n      // Create the ripple element.\n      host.querySelector('.mat-ripple')?.remove();\n      const rippleEl = this._document.createElement('span');\n      rippleEl.classList.add('mat-ripple', host.getAttribute(matRippleClassName));\n      host.append(rippleEl);\n      const isNoopAnimations = this._animationMode === 'NoopAnimations';\n      const globalOptions = this._globalRippleOptions;\n      const enterDuration = isNoopAnimations ? 0 : globalOptions?.animation?.enterDuration ?? defaultRippleAnimationConfig.enterDuration;\n      const exitDuration = isNoopAnimations ? 0 : globalOptions?.animation?.exitDuration ?? defaultRippleAnimationConfig.exitDuration;\n      const target = {\n        rippleDisabled: isNoopAnimations || globalOptions?.disabled || host.hasAttribute(matRippleDisabled),\n        rippleConfig: {\n          centered: host.hasAttribute(matRippleCentered),\n          terminateOnPointerUp: globalOptions?.terminateOnPointerUp,\n          animation: {\n            enterDuration,\n            exitDuration\n          }\n        }\n      };\n      const renderer = new RippleRenderer(target, this._ngZone, rippleEl, this._platform, this._injector);\n      const hasSetUpEvents = !target.rippleDisabled;\n      if (hasSetUpEvents) {\n        renderer.setupTriggerEvents(host);\n      }\n      this._hosts.set(host, {\n        target,\n        renderer,\n        hasSetUpEvents\n      });\n      host.removeAttribute(matRippleUninitialized);\n    }\n    destroyRipple(host) {\n      const ripple = this._hosts.get(host);\n      if (ripple) {\n        ripple.renderer._removeTriggerEvents();\n        this._hosts.delete(host);\n      }\n    }\n    static ɵfac = function MatRippleLoader_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatRippleLoader)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: MatRippleLoader,\n      factory: MatRippleLoader.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return MatRippleLoader;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { MatRippleLoader as M };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, ElementRef, NgZone, ANIMATION_MODULE_TYPE, booleanAttribute, Directive, Input, Renderer2, numberAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { _CdkPrivateStyleLoader } from '@angular/cdk/private';\nimport { M as MatRippleLoader } from './ripple-loader-Ce3DAhPW.mjs';\nimport { _ as _StructuralStylesLoader } from './structural-styles-BQUT6wsL.mjs';\n\n/** Injection token that can be used to provide the default options the button component. */\nconst _c0 = [\"mat-icon-button\", \"\"];\nconst _c1 = [\"*\"];\nconst _c2 = \".mat-mdc-icon-button{-webkit-user-select:none;user-select:none;display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;color:inherit;text-decoration:none;cursor:pointer;z-index:0;overflow:visible;border-radius:50%;flex-shrink:0;text-align:center;width:var(--mdc-icon-button-state-layer-size, 40px);height:var(--mdc-icon-button-state-layer-size, 40px);padding:calc(calc(var(--mdc-icon-button-state-layer-size, 40px) - var(--mdc-icon-button-icon-size, 24px)) / 2);font-size:var(--mdc-icon-button-icon-size, 24px);color:var(--mdc-icon-button-icon-color, var(--mat-sys-on-surface-variant));-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:\\\"\\\";opacity:0}.mat-mdc-icon-button .mdc-button__label,.mat-mdc-icon-button .mat-icon{z-index:1;position:relative}.mat-mdc-icon-button .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit}.mat-mdc-icon-button:focus>.mat-focus-indicator::before{content:\\\"\\\";border-radius:inherit}.mat-mdc-icon-button .mat-ripple-element{background-color:var(--mat-icon-button-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface-variant) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-icon-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-icon-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-icon-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%);display:var(--mat-icon-button-touch-target-display, block)}.mat-mdc-icon-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-icon-button[disabled],.mat-mdc-icon-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-icon-button-disabled-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-icon-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-icon-button img,.mat-mdc-icon-button svg{width:var(--mdc-icon-button-icon-size, 24px);height:var(--mdc-icon-button-icon-size, 24px);vertical-align:baseline}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:50%}.mat-mdc-icon-button[hidden]{display:none}.mat-mdc-icon-button.mat-unthemed:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-primary:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-accent:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-warn:not(.mdc-ripple-upgraded):focus::before{background:rgba(0,0,0,0);opacity:1}\\n\";\nconst _c3 = \"@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}}\\n\";\nconst MAT_BUTTON_CONFIG = /*#__PURE__*/new InjectionToken('MAT_BUTTON_CONFIG');\n/** Shared host configuration for all buttons */\nconst MAT_BUTTON_HOST = {\n  '[attr.disabled]': '_getDisabledAttribute()',\n  '[attr.aria-disabled]': '_getAriaDisabled()',\n  '[class.mat-mdc-button-disabled]': 'disabled',\n  '[class.mat-mdc-button-disabled-interactive]': 'disabledInteractive',\n  '[class._mat-animation-noopable]': '_animationMode === \"NoopAnimations\"',\n  // MDC automatically applies the primary theme color to the button, but we want to support\n  // an unthemed version. If color is undefined, apply a CSS class that makes it easy to\n  // select and style this \"theme\".\n  '[class.mat-unthemed]': '!color',\n  // Add a class that applies to all buttons. This makes it easier to target if somebody\n  // wants to target all Material buttons.\n  '[class.mat-mdc-button-base]': 'true',\n  '[class]': 'color ? \"mat-\" + color : \"\"'\n};\n/** List of classes to add to buttons instances based on host attribute selector. */\nconst HOST_SELECTOR_MDC_CLASS_PAIR = [{\n  attribute: 'mat-button',\n  mdcClasses: ['mdc-button', 'mat-mdc-button']\n}, {\n  attribute: 'mat-flat-button',\n  mdcClasses: ['mdc-button', 'mdc-button--unelevated', 'mat-mdc-unelevated-button']\n}, {\n  attribute: 'mat-raised-button',\n  mdcClasses: ['mdc-button', 'mdc-button--raised', 'mat-mdc-raised-button']\n}, {\n  attribute: 'mat-stroked-button',\n  mdcClasses: ['mdc-button', 'mdc-button--outlined', 'mat-mdc-outlined-button']\n}, {\n  attribute: 'mat-fab',\n  mdcClasses: ['mdc-fab', 'mat-mdc-fab-base', 'mat-mdc-fab']\n}, {\n  attribute: 'mat-mini-fab',\n  mdcClasses: ['mdc-fab', 'mat-mdc-fab-base', 'mdc-fab--mini', 'mat-mdc-mini-fab']\n}, {\n  attribute: 'mat-icon-button',\n  mdcClasses: ['mdc-icon-button', 'mat-mdc-icon-button']\n}];\n/** Base class for all buttons.  */\nlet MatButtonBase = /*#__PURE__*/(() => {\n  class MatButtonBase {\n    _elementRef = inject(ElementRef);\n    _ngZone = inject(NgZone);\n    _animationMode = inject(ANIMATION_MODULE_TYPE, {\n      optional: true\n    });\n    _focusMonitor = inject(FocusMonitor);\n    /**\n     * Handles the lazy creation of the MatButton ripple.\n     * Used to improve initial load time of large applications.\n     */\n    _rippleLoader = inject(MatRippleLoader);\n    /** Whether this button is a FAB. Used to apply the correct class on the ripple. */\n    _isFab = false;\n    /**\n     * Theme color of the button. This API is supported in M2 themes only, it has\n     * no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/button/styling.\n     *\n     * For information on applying color variants in M3, see\n     * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n     */\n    color;\n    /** Whether the ripple effect is disabled or not. */\n    get disableRipple() {\n      return this._disableRipple;\n    }\n    set disableRipple(value) {\n      this._disableRipple = value;\n      this._updateRippleDisabled();\n    }\n    _disableRipple = false;\n    /** Whether the button is disabled. */\n    get disabled() {\n      return this._disabled;\n    }\n    set disabled(value) {\n      this._disabled = value;\n      this._updateRippleDisabled();\n    }\n    _disabled = false;\n    /** `aria-disabled` value of the button. */\n    ariaDisabled;\n    /**\n     * Natively disabled buttons prevent focus and any pointer events from reaching the button.\n     * In some scenarios this might not be desirable, because it can prevent users from finding out\n     * why the button is disabled (e.g. via tooltip). This is also useful for buttons that may\n     * become disabled when activated, which would cause focus to be transferred to the document\n     * body instead of remaining on the button.\n     *\n     * Enabling this input will change the button so that it is styled to be disabled and will be\n     * marked as `aria-disabled`, but it will allow the button to receive events and focus.\n     *\n     * Note that by enabling this, you need to set the `tabindex` yourself if the button isn't\n     * meant to be tabbable and you have to prevent the button action (e.g. form submissions).\n     */\n    disabledInteractive;\n    constructor() {\n      inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n      const config = inject(MAT_BUTTON_CONFIG, {\n        optional: true\n      });\n      const element = this._elementRef.nativeElement;\n      const classList = element.classList;\n      this.disabledInteractive = config?.disabledInteractive ?? false;\n      this.color = config?.color ?? null;\n      this._rippleLoader?.configureRipple(element, {\n        className: 'mat-mdc-button-ripple'\n      });\n      // For each of the variant selectors that is present in the button's host\n      // attributes, add the correct corresponding MDC classes.\n      for (const {\n        attribute,\n        mdcClasses\n      } of HOST_SELECTOR_MDC_CLASS_PAIR) {\n        if (element.hasAttribute(attribute)) {\n          classList.add(...mdcClasses);\n        }\n      }\n    }\n    ngAfterViewInit() {\n      this._focusMonitor.monitor(this._elementRef, true);\n    }\n    ngOnDestroy() {\n      this._focusMonitor.stopMonitoring(this._elementRef);\n      this._rippleLoader?.destroyRipple(this._elementRef.nativeElement);\n    }\n    /** Focuses the button. */\n    focus(origin = 'program', options) {\n      if (origin) {\n        this._focusMonitor.focusVia(this._elementRef.nativeElement, origin, options);\n      } else {\n        this._elementRef.nativeElement.focus(options);\n      }\n    }\n    _getAriaDisabled() {\n      if (this.ariaDisabled != null) {\n        return this.ariaDisabled;\n      }\n      return this.disabled && this.disabledInteractive ? true : null;\n    }\n    _getDisabledAttribute() {\n      return this.disabledInteractive || !this.disabled ? null : true;\n    }\n    _updateRippleDisabled() {\n      this._rippleLoader?.setDisabled(this._elementRef.nativeElement, this.disableRipple || this.disabled);\n    }\n    static ɵfac = function MatButtonBase_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatButtonBase)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatButtonBase,\n      inputs: {\n        color: \"color\",\n        disableRipple: [2, \"disableRipple\", \"disableRipple\", booleanAttribute],\n        disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n        ariaDisabled: [2, \"aria-disabled\", \"ariaDisabled\", booleanAttribute],\n        disabledInteractive: [2, \"disabledInteractive\", \"disabledInteractive\", booleanAttribute]\n      }\n    });\n  }\n  return MatButtonBase;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Shared host configuration for buttons using the `<a>` tag. */\nconst MAT_ANCHOR_HOST = {\n  // Note that this is basically a noop on anchors,\n  // but it appears that some internal apps depend on it.\n  '[attr.disabled]': '_getDisabledAttribute()',\n  '[class.mat-mdc-button-disabled]': 'disabled',\n  '[class.mat-mdc-button-disabled-interactive]': 'disabledInteractive',\n  '[class._mat-animation-noopable]': '_animationMode === \"NoopAnimations\"',\n  // Note that we ignore the user-specified tabindex when it's disabled for\n  // consistency with the `mat-button` applied on native buttons where even\n  // though they have an index, they're not tabbable.\n  '[attr.tabindex]': 'disabled && !disabledInteractive ? -1 : tabIndex',\n  '[attr.aria-disabled]': '_getAriaDisabled()',\n  // MDC automatically applies the primary theme color to the button, but we want to support\n  // an unthemed version. If color is undefined, apply a CSS class that makes it easy to\n  // select and style this \"theme\".\n  '[class.mat-unthemed]': '!color',\n  // Add a class that applies to all buttons. This makes it easier to target if somebody\n  // wants to target all Material buttons.\n  '[class.mat-mdc-button-base]': 'true',\n  '[class]': 'color ? \"mat-\" + color : \"\"'\n};\n/**\n * Anchor button base.\n */\nlet MatAnchorBase = /*#__PURE__*/(() => {\n  class MatAnchorBase extends MatButtonBase {\n    _renderer = inject(Renderer2);\n    _cleanupClick;\n    tabIndex;\n    ngOnInit() {\n      this._ngZone.runOutsideAngular(() => {\n        this._cleanupClick = this._renderer.listen(this._elementRef.nativeElement, 'click', this._haltDisabledEvents);\n      });\n    }\n    ngOnDestroy() {\n      super.ngOnDestroy();\n      this._cleanupClick?.();\n    }\n    _haltDisabledEvents = event => {\n      // A disabled button shouldn't apply any actions\n      if (this.disabled) {\n        event.preventDefault();\n        event.stopImmediatePropagation();\n      }\n    };\n    _getAriaDisabled() {\n      if (this.ariaDisabled != null) {\n        return this.ariaDisabled;\n      }\n      return this.disabled || null;\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatAnchorBase_BaseFactory;\n      return function MatAnchorBase_Factory(__ngFactoryType__) {\n        return (ɵMatAnchorBase_BaseFactory || (ɵMatAnchorBase_BaseFactory = i0.ɵɵgetInheritedFactory(MatAnchorBase)))(__ngFactoryType__ || MatAnchorBase);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatAnchorBase,\n      inputs: {\n        tabIndex: [2, \"tabIndex\", \"tabIndex\", value => {\n          return value == null ? undefined : numberAttribute(value);\n        }]\n      },\n      features: [i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return MatAnchorBase;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Material Design icon button component. This type of button displays a single interactive icon for\n * users to perform an action.\n * See https://material.io/develop/web/components/buttons/icon-buttons/\n */\nlet MatIconButton = /*#__PURE__*/(() => {\n  class MatIconButton extends MatButtonBase {\n    constructor() {\n      super();\n      this._rippleLoader.configureRipple(this._elementRef.nativeElement, {\n        centered: true\n      });\n    }\n    static ɵfac = function MatIconButton_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatIconButton)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatIconButton,\n      selectors: [[\"button\", \"mat-icon-button\", \"\"]],\n      hostVars: 14,\n      hostBindings: function MatIconButton_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"disabled\", ctx._getDisabledAttribute())(\"aria-disabled\", ctx._getAriaDisabled());\n          i0.ɵɵclassMap(ctx.color ? \"mat-\" + ctx.color : \"\");\n          i0.ɵɵclassProp(\"mat-mdc-button-disabled\", ctx.disabled)(\"mat-mdc-button-disabled-interactive\", ctx.disabledInteractive)(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\")(\"mat-unthemed\", !ctx.color)(\"mat-mdc-button-base\", true);\n        }\n      },\n      exportAs: [\"matButton\"],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c0,\n      ngContentSelectors: _c1,\n      decls: 4,\n      vars: 0,\n      consts: [[1, \"mat-mdc-button-persistent-ripple\", \"mdc-icon-button__ripple\"], [1, \"mat-focus-indicator\"], [1, \"mat-mdc-button-touch-target\"]],\n      template: function MatIconButton_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef();\n          i0.ɵɵelement(0, \"span\", 0);\n          i0.ɵɵprojection(1);\n          i0.ɵɵelement(2, \"span\", 1)(3, \"span\", 2);\n        }\n      },\n      styles: [\".mat-mdc-icon-button{-webkit-user-select:none;user-select:none;display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;color:inherit;text-decoration:none;cursor:pointer;z-index:0;overflow:visible;border-radius:50%;flex-shrink:0;text-align:center;width:var(--mdc-icon-button-state-layer-size, 40px);height:var(--mdc-icon-button-state-layer-size, 40px);padding:calc(calc(var(--mdc-icon-button-state-layer-size, 40px) - var(--mdc-icon-button-icon-size, 24px)) / 2);font-size:var(--mdc-icon-button-icon-size, 24px);color:var(--mdc-icon-button-icon-color, var(--mat-sys-on-surface-variant));-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:\\\"\\\";opacity:0}.mat-mdc-icon-button .mdc-button__label,.mat-mdc-icon-button .mat-icon{z-index:1;position:relative}.mat-mdc-icon-button .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit}.mat-mdc-icon-button:focus>.mat-focus-indicator::before{content:\\\"\\\";border-radius:inherit}.mat-mdc-icon-button .mat-ripple-element{background-color:var(--mat-icon-button-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface-variant) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-icon-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-icon-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-icon-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%);display:var(--mat-icon-button-touch-target-display, block)}.mat-mdc-icon-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-icon-button[disabled],.mat-mdc-icon-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-icon-button-disabled-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-icon-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-icon-button img,.mat-mdc-icon-button svg{width:var(--mdc-icon-button-icon-size, 24px);height:var(--mdc-icon-button-icon-size, 24px);vertical-align:baseline}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:50%}.mat-mdc-icon-button[hidden]{display:none}.mat-mdc-icon-button.mat-unthemed:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-primary:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-accent:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-warn:not(.mdc-ripple-upgraded):focus::before{background:rgba(0,0,0,0);opacity:1}\\n\", \"@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatIconButton;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Material Design icon button component for anchor elements. This button displays a single\n * interaction icon that allows users to navigate across different routes or pages.\n * See https://material.io/develop/web/components/buttons/icon-buttons/\n */\nlet MatIconAnchor = /*#__PURE__*/(() => {\n  class MatIconAnchor extends MatAnchorBase {\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatIconAnchor_BaseFactory;\n      return function MatIconAnchor_Factory(__ngFactoryType__) {\n        return (ɵMatIconAnchor_BaseFactory || (ɵMatIconAnchor_BaseFactory = i0.ɵɵgetInheritedFactory(MatIconAnchor)))(__ngFactoryType__ || MatIconAnchor);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatIconAnchor,\n      selectors: [[\"a\", \"mat-icon-button\", \"\"]],\n      hostVars: 15,\n      hostBindings: function MatIconAnchor_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"disabled\", ctx._getDisabledAttribute())(\"tabindex\", ctx.disabled && !ctx.disabledInteractive ? -1 : ctx.tabIndex)(\"aria-disabled\", ctx._getAriaDisabled());\n          i0.ɵɵclassMap(ctx.color ? \"mat-\" + ctx.color : \"\");\n          i0.ɵɵclassProp(\"mat-mdc-button-disabled\", ctx.disabled)(\"mat-mdc-button-disabled-interactive\", ctx.disabledInteractive)(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\")(\"mat-unthemed\", !ctx.color)(\"mat-mdc-button-base\", true);\n        }\n      },\n      exportAs: [\"matButton\", \"matAnchor\"],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c0,\n      ngContentSelectors: _c1,\n      decls: 4,\n      vars: 0,\n      consts: [[1, \"mat-mdc-button-persistent-ripple\", \"mdc-icon-button__ripple\"], [1, \"mat-focus-indicator\"], [1, \"mat-mdc-button-touch-target\"]],\n      template: function MatIconAnchor_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef();\n          i0.ɵɵelement(0, \"span\", 0);\n          i0.ɵɵprojection(1);\n          i0.ɵɵelement(2, \"span\", 1)(3, \"span\", 2);\n        }\n      },\n      styles: [_c2, _c3],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatIconAnchor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { MatIconButton as M, MatButtonBase as a, MAT_BUTTON_HOST as b, MatAnchorBase as c, MAT_ANCHOR_HOST as d, MatIconAnchor as e, MAT_BUTTON_CONFIG as f };\n","import { a as MatButtonBase, b as MAT_BUTTON_HOST, c as MatAnchorBase, d as MAT_ANCHOR_HOST, e as MatIconAnchor, M as MatIconButton } from './icon-button-D1J0zeqv.mjs';\nconst _c0 = [\"mat-button\", \"\"];\nconst _c1 = [[[\"\", 8, \"material-icons\", 3, \"iconPositionEnd\", \"\"], [\"mat-icon\", 3, \"iconPositionEnd\", \"\"], [\"\", \"matButtonIcon\", \"\", 3, \"iconPositionEnd\", \"\"]], \"*\", [[\"\", \"iconPositionEnd\", \"\", 8, \"material-icons\"], [\"mat-icon\", \"iconPositionEnd\", \"\"], [\"\", \"matButtonIcon\", \"\", \"iconPositionEnd\", \"\"]]];\nconst _c2 = [\".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])\", \"*\", \".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]\"];\nconst _c3 = \".mat-mdc-button-base{text-decoration:none}.mdc-button{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0);padding:0 8px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__label{position:relative}.mat-mdc-button{padding:0 var(--mat-text-button-horizontal-padding, 12px);height:var(--mdc-text-button-container-height, 40px);font-family:var(--mdc-text-button-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mdc-text-button-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mdc-text-button-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mdc-text-button-label-text-transform);font-weight:var(--mdc-text-button-label-text-weight, var(--mat-sys-label-large-weight))}.mat-mdc-button,.mat-mdc-button .mdc-button__ripple{border-radius:var(--mdc-text-button-container-shape, var(--mat-sys-corner-full))}.mat-mdc-button:not(:disabled){color:var(--mdc-text-button-label-text-color, var(--mat-sys-primary))}.mat-mdc-button[disabled],.mat-mdc-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-button:has(.material-icons,mat-icon,[matButtonIcon]){padding:0 var(--mat-text-button-with-icon-horizontal-padding, 16px)}.mat-mdc-button>.mat-icon{margin-right:var(--mat-text-button-icon-spacing, 8px);margin-left:var(--mat-text-button-icon-offset, -4px)}[dir=rtl] .mat-mdc-button>.mat-icon{margin-right:var(--mat-text-button-icon-offset, -4px);margin-left:var(--mat-text-button-icon-spacing, 8px)}.mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-text-button-icon-offset, -4px);margin-left:var(--mat-text-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-text-button-icon-spacing, 8px);margin-left:var(--mat-text-button-icon-offset, -4px)}.mat-mdc-button .mat-ripple-element{background-color:var(--mat-text-button-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-text-button-state-layer-color, var(--mat-sys-primary))}.mat-mdc-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-text-button-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-text-button-touch-target-display, block)}.mat-mdc-unelevated-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mdc-filled-button-container-height, 40px);font-family:var(--mdc-filled-button-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mdc-filled-button-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mdc-filled-button-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mdc-filled-button-label-text-transform);font-weight:var(--mdc-filled-button-label-text-weight, var(--mat-sys-label-large-weight));padding:0 var(--mat-filled-button-horizontal-padding, 24px)}.mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-filled-button-icon-spacing, 8px);margin-left:var(--mat-filled-button-icon-offset, -8px)}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-filled-button-icon-offset, -8px);margin-left:var(--mat-filled-button-icon-spacing, 8px)}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-filled-button-icon-offset, -8px);margin-left:var(--mat-filled-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-filled-button-icon-spacing, 8px);margin-left:var(--mat-filled-button-icon-offset, -8px)}.mat-mdc-unelevated-button .mat-ripple-element{background-color:var(--mat-filled-button-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-filled-button-state-layer-color, var(--mat-sys-on-primary))}.mat-mdc-unelevated-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-filled-button-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-unelevated-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-unelevated-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-unelevated-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-unelevated-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-filled-button-touch-target-display, block)}.mat-mdc-unelevated-button:not(:disabled){color:var(--mdc-filled-button-label-text-color, var(--mat-sys-on-primary));background-color:var(--mdc-filled-button-container-color, var(--mat-sys-primary))}.mat-mdc-unelevated-button,.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mdc-filled-button-container-shape, var(--mat-sys-corner-full))}.mat-mdc-unelevated-button[disabled],.mat-mdc-unelevated-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-filled-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mdc-filled-button-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-raised-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);box-shadow:var(--mdc-protected-button-container-elevation-shadow, var(--mat-sys-level1));height:var(--mdc-protected-button-container-height, 40px);font-family:var(--mdc-protected-button-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mdc-protected-button-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mdc-protected-button-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mdc-protected-button-label-text-transform);font-weight:var(--mdc-protected-button-label-text-weight, var(--mat-sys-label-large-weight));padding:0 var(--mat-protected-button-horizontal-padding, 24px)}.mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-protected-button-icon-spacing, 8px);margin-left:var(--mat-protected-button-icon-offset, -8px)}[dir=rtl] .mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-protected-button-icon-offset, -8px);margin-left:var(--mat-protected-button-icon-spacing, 8px)}.mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-protected-button-icon-offset, -8px);margin-left:var(--mat-protected-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-protected-button-icon-spacing, 8px);margin-left:var(--mat-protected-button-icon-offset, -8px)}.mat-mdc-raised-button .mat-ripple-element{background-color:var(--mat-protected-button-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-protected-button-state-layer-color, var(--mat-sys-primary))}.mat-mdc-raised-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-protected-button-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-raised-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-raised-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-raised-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-raised-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-protected-button-touch-target-display, block)}.mat-mdc-raised-button:not(:disabled){color:var(--mdc-protected-button-label-text-color, var(--mat-sys-primary));background-color:var(--mdc-protected-button-container-color, var(--mat-sys-surface))}.mat-mdc-raised-button,.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mdc-protected-button-container-shape, var(--mat-sys-corner-full))}.mat-mdc-raised-button:hover{box-shadow:var(--mdc-protected-button-hover-container-elevation-shadow, var(--mat-sys-level2))}.mat-mdc-raised-button:focus{box-shadow:var(--mdc-protected-button-focus-container-elevation-shadow, var(--mat-sys-level1))}.mat-mdc-raised-button:active,.mat-mdc-raised-button:focus:active{box-shadow:var(--mdc-protected-button-pressed-container-elevation-shadow, var(--mat-sys-level1))}.mat-mdc-raised-button[disabled],.mat-mdc-raised-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-protected-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mdc-protected-button-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-raised-button[disabled].mat-mdc-button-disabled,.mat-mdc-raised-button.mat-mdc-button-disabled.mat-mdc-button-disabled{box-shadow:var(--mdc-protected-button-disabled-container-elevation-shadow, var(--mat-sys-level0))}.mat-mdc-raised-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-outlined-button{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mdc-outlined-button-container-height, 40px);font-family:var(--mdc-outlined-button-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mdc-outlined-button-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mdc-outlined-button-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mdc-outlined-button-label-text-transform);font-weight:var(--mdc-outlined-button-label-text-weight, var(--mat-sys-label-large-weight));border-radius:var(--mdc-outlined-button-container-shape, var(--mat-sys-corner-full));border-width:var(--mdc-outlined-button-outline-width, 1px);padding:0 var(--mat-outlined-button-horizontal-padding, 24px)}.mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-outlined-button-icon-spacing, 8px);margin-left:var(--mat-outlined-button-icon-offset, -8px)}[dir=rtl] .mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-outlined-button-icon-offset, -8px);margin-left:var(--mat-outlined-button-icon-spacing, 8px)}.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-outlined-button-icon-offset, -8px);margin-left:var(--mat-outlined-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-outlined-button-icon-spacing, 8px);margin-left:var(--mat-outlined-button-icon-offset, -8px)}.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-outlined-button-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-outlined-button-state-layer-color, var(--mat-sys-primary))}.mat-mdc-outlined-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-outlined-button-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-outlined-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-outlined-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-outlined-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-outlined-button-touch-target-display, block)}.mat-mdc-outlined-button:not(:disabled){color:var(--mdc-outlined-button-label-text-color, var(--mat-sys-primary));border-color:var(--mdc-outlined-button-outline-color, var(--mat-sys-outline))}.mat-mdc-outlined-button[disabled],.mat-mdc-outlined-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-outlined-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-color:var(--mdc-outlined-button-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{content:\\\"\\\";opacity:0}.mat-mdc-button .mdc-button__label,.mat-mdc-button .mat-icon,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-unelevated-button .mat-icon,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-raised-button .mat-icon,.mat-mdc-outlined-button .mdc-button__label,.mat-mdc-outlined-button .mat-icon{z-index:1;position:relative}.mat-mdc-button .mat-focus-indicator,.mat-mdc-unelevated-button .mat-focus-indicator,.mat-mdc-raised-button .mat-focus-indicator,.mat-mdc-outlined-button .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit}.mat-mdc-button:focus>.mat-focus-indicator::before,.mat-mdc-unelevated-button:focus>.mat-focus-indicator::before,.mat-mdc-raised-button:focus>.mat-focus-indicator::before,.mat-mdc-outlined-button:focus>.mat-focus-indicator::before{content:\\\"\\\";border-radius:inherit}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon{display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px}.mat-mdc-unelevated-button .mat-focus-indicator::before,.mat-mdc-raised-button .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-outlined-button .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px)*-1)}\\n\";\nconst _c4 = \"@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}}\\n\";\nconst _c5 = [\"mat-fab\", \"\"];\nconst _c6 = [\"mat-mini-fab\", \"\"];\nconst _c7 = \".mat-mdc-fab-base{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:56px;height:56px;padding:0;border:none;fill:currentColor;text-decoration:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;overflow:visible;transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1),opacity 15ms linear 30ms,transform 270ms 0ms cubic-bezier(0, 0, 0.2, 1);flex-shrink:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-fab-base .mat-mdc-button-ripple,.mat-mdc-fab-base .mat-mdc-button-persistent-ripple,.mat-mdc-fab-base .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-fab-base .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-fab-base .mat-mdc-button-persistent-ripple::before{content:\\\"\\\";opacity:0}.mat-mdc-fab-base .mdc-button__label,.mat-mdc-fab-base .mat-icon{z-index:1;position:relative}.mat-mdc-fab-base .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-fab-base:focus>.mat-focus-indicator::before{content:\\\"\\\"}.mat-mdc-fab-base._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-fab-base::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:\\\"\\\";pointer-events:none}.mat-mdc-fab-base[hidden]{display:none}.mat-mdc-fab-base::-moz-focus-inner{padding:0;border:0}.mat-mdc-fab-base:active,.mat-mdc-fab-base:focus{outline:none}.mat-mdc-fab-base:hover{cursor:pointer}.mat-mdc-fab-base>svg{width:100%}.mat-mdc-fab-base .mat-icon,.mat-mdc-fab-base .material-icons{transition:transform 180ms 90ms cubic-bezier(0, 0, 0.2, 1);fill:currentColor;will-change:transform}.mat-mdc-fab-base .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-fab-base[disabled],.mat-mdc-fab-base.mat-mdc-button-disabled{cursor:default;pointer-events:none}.mat-mdc-fab-base[disabled],.mat-mdc-fab-base[disabled]:focus,.mat-mdc-fab-base.mat-mdc-button-disabled,.mat-mdc-fab-base.mat-mdc-button-disabled:focus{box-shadow:none}.mat-mdc-fab-base.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-fab{background-color:var(--mdc-fab-container-color, var(--mat-sys-primary-container));border-radius:var(--mdc-fab-container-shape, var(--mat-sys-corner-large));color:var(--mat-fab-foreground-color, var(--mat-sys-on-primary-container, inherit));box-shadow:var(--mdc-fab-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-fab:hover{box-shadow:var(--mdc-fab-hover-container-elevation-shadow, var(--mat-sys-level4))}.mat-mdc-fab:focus{box-shadow:var(--mdc-fab-focus-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-fab:active,.mat-mdc-fab:focus:active{box-shadow:var(--mdc-fab-pressed-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-fab[disabled],.mat-mdc-fab.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-fab-disabled-state-foreground-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-fab-disabled-state-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-fab.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-fab .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%);display:var(--mat-fab-touch-target-display, block)}.mat-mdc-fab .mat-ripple-element{background-color:var(--mat-fab-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary-container) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-fab .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-state-layer-color, var(--mat-sys-on-primary-container))}.mat-mdc-fab.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-disabled-state-layer-color)}.mat-mdc-fab:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-fab.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-fab.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-fab.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-fab:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-mini-fab{width:40px;height:40px;background-color:var(--mdc-fab-small-container-color, var(--mat-sys-primary-container));border-radius:var(--mdc-fab-small-container-shape, var(--mat-sys-corner-medium));color:var(--mat-fab-small-foreground-color, var(--mat-sys-on-primary-container, inherit));box-shadow:var(--mdc-fab-small-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-mini-fab:hover{box-shadow:var(--mdc-fab-small-hover-container-elevation-shadow, var(--mat-sys-level4))}.mat-mdc-mini-fab:focus{box-shadow:var(--mdc-fab-small-focus-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-mini-fab:active,.mat-mdc-mini-fab:focus:active{box-shadow:var(--mdc-fab-small-pressed-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-mini-fab[disabled],.mat-mdc-mini-fab.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-fab-small-disabled-state-foreground-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-fab-small-disabled-state-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-mini-fab.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-mini-fab .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%);display:var(--mat-fab-small-touch-target-display)}.mat-mdc-mini-fab .mat-ripple-element{background-color:var(--mat-fab-small-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary-container) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-mini-fab .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-small-state-layer-color, var(--mat-sys-on-primary-container))}.mat-mdc-mini-fab.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-small-disabled-state-layer-color)}.mat-mdc-mini-fab:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-small-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-mini-fab.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-mini-fab.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-mini-fab.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-small-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-mini-fab:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-small-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-extended-fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;border-radius:24px;padding-left:20px;padding-right:20px;width:auto;max-width:100%;line-height:normal;height:var(--mdc-extended-fab-container-height, 56px);border-radius:var(--mdc-extended-fab-container-shape, var(--mat-sys-corner-large));font-family:var(--mdc-extended-fab-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mdc-extended-fab-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mdc-extended-fab-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mdc-extended-fab-label-text-tracking, var(--mat-sys-label-large-tracking));box-shadow:var(--mdc-extended-fab-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-extended-fab:hover{box-shadow:var(--mdc-extended-fab-hover-container-elevation-shadow, var(--mat-sys-level4))}.mat-mdc-extended-fab:focus{box-shadow:var(--mdc-extended-fab-focus-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-extended-fab:active,.mat-mdc-extended-fab:focus:active{box-shadow:var(--mdc-extended-fab-pressed-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-extended-fab[disabled],.mat-mdc-extended-fab.mat-mdc-button-disabled{cursor:default;pointer-events:none}.mat-mdc-extended-fab[disabled],.mat-mdc-extended-fab[disabled]:focus,.mat-mdc-extended-fab.mat-mdc-button-disabled,.mat-mdc-extended-fab.mat-mdc-button-disabled:focus{box-shadow:none}.mat-mdc-extended-fab.mat-mdc-button-disabled-interactive{pointer-events:auto}[dir=rtl] .mat-mdc-extended-fab .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-extended-fab .mdc-button__label+.material-icons,.mat-mdc-extended-fab>.mat-icon,.mat-mdc-extended-fab>.material-icons{margin-left:-8px;margin-right:12px}.mat-mdc-extended-fab .mdc-button__label+.mat-icon,.mat-mdc-extended-fab .mdc-button__label+.material-icons,[dir=rtl] .mat-mdc-extended-fab>.mat-icon,[dir=rtl] .mat-mdc-extended-fab>.material-icons{margin-left:12px;margin-right:-8px}.mat-mdc-extended-fab .mat-mdc-button-touch-target{width:100%}\\n\";\nexport { f as MAT_BUTTON_CONFIG } from './icon-button-D1J0zeqv.mjs';\nimport * as i0 from '@angular/core';\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, InjectionToken, inject, booleanAttribute, Input, NgModule } from '@angular/core';\nimport { M as MatRippleModule } from './index-SYVYjXwK.mjs';\nimport { M as MatCommonModule } from './common-module-WayjW0Pb.mjs';\nimport '@angular/cdk/a11y';\nimport '@angular/cdk/private';\nimport './ripple-loader-Ce3DAhPW.mjs';\nimport '@angular/common';\nimport '@angular/cdk/platform';\nimport './ripple-BT3tzh6F.mjs';\nimport '@angular/cdk/coercion';\nimport './structural-styles-BQUT6wsL.mjs';\nimport '@angular/cdk/bidi';\n\n/**\n * Material Design button component. Users interact with a button to perform an action.\n * See https://material.io/components/buttons\n *\n * The `MatButton` class applies to native button elements and captures the appearances for\n * \"text button\", \"outlined button\", and \"contained button\" per the Material Design\n * specification. `MatButton` additionally captures an additional \"flat\" appearance, which matches\n * \"contained\" but without elevation.\n */\nlet MatButton = /*#__PURE__*/(() => {\n  class MatButton extends MatButtonBase {\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatButton_BaseFactory;\n      return function MatButton_Factory(__ngFactoryType__) {\n        return (ɵMatButton_BaseFactory || (ɵMatButton_BaseFactory = i0.ɵɵgetInheritedFactory(MatButton)))(__ngFactoryType__ || MatButton);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatButton,\n      selectors: [[\"button\", \"mat-button\", \"\"], [\"button\", \"mat-raised-button\", \"\"], [\"button\", \"mat-flat-button\", \"\"], [\"button\", \"mat-stroked-button\", \"\"]],\n      hostVars: 14,\n      hostBindings: function MatButton_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"disabled\", ctx._getDisabledAttribute())(\"aria-disabled\", ctx._getAriaDisabled());\n          i0.ɵɵclassMap(ctx.color ? \"mat-\" + ctx.color : \"\");\n          i0.ɵɵclassProp(\"mat-mdc-button-disabled\", ctx.disabled)(\"mat-mdc-button-disabled-interactive\", ctx.disabledInteractive)(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\")(\"mat-unthemed\", !ctx.color)(\"mat-mdc-button-base\", true);\n        }\n      },\n      exportAs: [\"matButton\"],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c0,\n      ngContentSelectors: _c2,\n      decls: 7,\n      vars: 4,\n      consts: [[1, \"mat-mdc-button-persistent-ripple\"], [1, \"mdc-button__label\"], [1, \"mat-focus-indicator\"], [1, \"mat-mdc-button-touch-target\"]],\n      template: function MatButton_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c1);\n          i0.ɵɵelement(0, \"span\", 0);\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementStart(2, \"span\", 1);\n          i0.ɵɵprojection(3, 1);\n          i0.ɵɵelementEnd();\n          i0.ɵɵprojection(4, 2);\n          i0.ɵɵelement(5, \"span\", 2)(6, \"span\", 3);\n        }\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mdc-button__ripple\", !ctx._isFab)(\"mdc-fab__ripple\", ctx._isFab);\n        }\n      },\n      styles: [\".mat-mdc-button-base{text-decoration:none}.mdc-button{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0);padding:0 8px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__label{position:relative}.mat-mdc-button{padding:0 var(--mat-text-button-horizontal-padding, 12px);height:var(--mdc-text-button-container-height, 40px);font-family:var(--mdc-text-button-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mdc-text-button-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mdc-text-button-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mdc-text-button-label-text-transform);font-weight:var(--mdc-text-button-label-text-weight, var(--mat-sys-label-large-weight))}.mat-mdc-button,.mat-mdc-button .mdc-button__ripple{border-radius:var(--mdc-text-button-container-shape, var(--mat-sys-corner-full))}.mat-mdc-button:not(:disabled){color:var(--mdc-text-button-label-text-color, var(--mat-sys-primary))}.mat-mdc-button[disabled],.mat-mdc-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-button:has(.material-icons,mat-icon,[matButtonIcon]){padding:0 var(--mat-text-button-with-icon-horizontal-padding, 16px)}.mat-mdc-button>.mat-icon{margin-right:var(--mat-text-button-icon-spacing, 8px);margin-left:var(--mat-text-button-icon-offset, -4px)}[dir=rtl] .mat-mdc-button>.mat-icon{margin-right:var(--mat-text-button-icon-offset, -4px);margin-left:var(--mat-text-button-icon-spacing, 8px)}.mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-text-button-icon-offset, -4px);margin-left:var(--mat-text-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-text-button-icon-spacing, 8px);margin-left:var(--mat-text-button-icon-offset, -4px)}.mat-mdc-button .mat-ripple-element{background-color:var(--mat-text-button-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-text-button-state-layer-color, var(--mat-sys-primary))}.mat-mdc-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-text-button-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-text-button-touch-target-display, block)}.mat-mdc-unelevated-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mdc-filled-button-container-height, 40px);font-family:var(--mdc-filled-button-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mdc-filled-button-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mdc-filled-button-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mdc-filled-button-label-text-transform);font-weight:var(--mdc-filled-button-label-text-weight, var(--mat-sys-label-large-weight));padding:0 var(--mat-filled-button-horizontal-padding, 24px)}.mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-filled-button-icon-spacing, 8px);margin-left:var(--mat-filled-button-icon-offset, -8px)}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-filled-button-icon-offset, -8px);margin-left:var(--mat-filled-button-icon-spacing, 8px)}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-filled-button-icon-offset, -8px);margin-left:var(--mat-filled-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-filled-button-icon-spacing, 8px);margin-left:var(--mat-filled-button-icon-offset, -8px)}.mat-mdc-unelevated-button .mat-ripple-element{background-color:var(--mat-filled-button-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-filled-button-state-layer-color, var(--mat-sys-on-primary))}.mat-mdc-unelevated-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-filled-button-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-unelevated-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-unelevated-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-unelevated-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-unelevated-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-filled-button-touch-target-display, block)}.mat-mdc-unelevated-button:not(:disabled){color:var(--mdc-filled-button-label-text-color, var(--mat-sys-on-primary));background-color:var(--mdc-filled-button-container-color, var(--mat-sys-primary))}.mat-mdc-unelevated-button,.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mdc-filled-button-container-shape, var(--mat-sys-corner-full))}.mat-mdc-unelevated-button[disabled],.mat-mdc-unelevated-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-filled-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mdc-filled-button-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-raised-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);box-shadow:var(--mdc-protected-button-container-elevation-shadow, var(--mat-sys-level1));height:var(--mdc-protected-button-container-height, 40px);font-family:var(--mdc-protected-button-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mdc-protected-button-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mdc-protected-button-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mdc-protected-button-label-text-transform);font-weight:var(--mdc-protected-button-label-text-weight, var(--mat-sys-label-large-weight));padding:0 var(--mat-protected-button-horizontal-padding, 24px)}.mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-protected-button-icon-spacing, 8px);margin-left:var(--mat-protected-button-icon-offset, -8px)}[dir=rtl] .mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-protected-button-icon-offset, -8px);margin-left:var(--mat-protected-button-icon-spacing, 8px)}.mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-protected-button-icon-offset, -8px);margin-left:var(--mat-protected-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-protected-button-icon-spacing, 8px);margin-left:var(--mat-protected-button-icon-offset, -8px)}.mat-mdc-raised-button .mat-ripple-element{background-color:var(--mat-protected-button-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-protected-button-state-layer-color, var(--mat-sys-primary))}.mat-mdc-raised-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-protected-button-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-raised-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-raised-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-raised-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-raised-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-protected-button-touch-target-display, block)}.mat-mdc-raised-button:not(:disabled){color:var(--mdc-protected-button-label-text-color, var(--mat-sys-primary));background-color:var(--mdc-protected-button-container-color, var(--mat-sys-surface))}.mat-mdc-raised-button,.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mdc-protected-button-container-shape, var(--mat-sys-corner-full))}.mat-mdc-raised-button:hover{box-shadow:var(--mdc-protected-button-hover-container-elevation-shadow, var(--mat-sys-level2))}.mat-mdc-raised-button:focus{box-shadow:var(--mdc-protected-button-focus-container-elevation-shadow, var(--mat-sys-level1))}.mat-mdc-raised-button:active,.mat-mdc-raised-button:focus:active{box-shadow:var(--mdc-protected-button-pressed-container-elevation-shadow, var(--mat-sys-level1))}.mat-mdc-raised-button[disabled],.mat-mdc-raised-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-protected-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mdc-protected-button-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-raised-button[disabled].mat-mdc-button-disabled,.mat-mdc-raised-button.mat-mdc-button-disabled.mat-mdc-button-disabled{box-shadow:var(--mdc-protected-button-disabled-container-elevation-shadow, var(--mat-sys-level0))}.mat-mdc-raised-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-outlined-button{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mdc-outlined-button-container-height, 40px);font-family:var(--mdc-outlined-button-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mdc-outlined-button-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mdc-outlined-button-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mdc-outlined-button-label-text-transform);font-weight:var(--mdc-outlined-button-label-text-weight, var(--mat-sys-label-large-weight));border-radius:var(--mdc-outlined-button-container-shape, var(--mat-sys-corner-full));border-width:var(--mdc-outlined-button-outline-width, 1px);padding:0 var(--mat-outlined-button-horizontal-padding, 24px)}.mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-outlined-button-icon-spacing, 8px);margin-left:var(--mat-outlined-button-icon-offset, -8px)}[dir=rtl] .mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-outlined-button-icon-offset, -8px);margin-left:var(--mat-outlined-button-icon-spacing, 8px)}.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-outlined-button-icon-offset, -8px);margin-left:var(--mat-outlined-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-outlined-button-icon-spacing, 8px);margin-left:var(--mat-outlined-button-icon-offset, -8px)}.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-outlined-button-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-outlined-button-state-layer-color, var(--mat-sys-primary))}.mat-mdc-outlined-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-outlined-button-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-outlined-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-outlined-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-outlined-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-outlined-button-touch-target-display, block)}.mat-mdc-outlined-button:not(:disabled){color:var(--mdc-outlined-button-label-text-color, var(--mat-sys-primary));border-color:var(--mdc-outlined-button-outline-color, var(--mat-sys-outline))}.mat-mdc-outlined-button[disabled],.mat-mdc-outlined-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-outlined-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-color:var(--mdc-outlined-button-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{content:\\\"\\\";opacity:0}.mat-mdc-button .mdc-button__label,.mat-mdc-button .mat-icon,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-unelevated-button .mat-icon,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-raised-button .mat-icon,.mat-mdc-outlined-button .mdc-button__label,.mat-mdc-outlined-button .mat-icon{z-index:1;position:relative}.mat-mdc-button .mat-focus-indicator,.mat-mdc-unelevated-button .mat-focus-indicator,.mat-mdc-raised-button .mat-focus-indicator,.mat-mdc-outlined-button .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit}.mat-mdc-button:focus>.mat-focus-indicator::before,.mat-mdc-unelevated-button:focus>.mat-focus-indicator::before,.mat-mdc-raised-button:focus>.mat-focus-indicator::before,.mat-mdc-outlined-button:focus>.mat-focus-indicator::before{content:\\\"\\\";border-radius:inherit}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon{display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px}.mat-mdc-unelevated-button .mat-focus-indicator::before,.mat-mdc-raised-button .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-outlined-button .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px)*-1)}\\n\", \"@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatButton;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Material Design button component for anchor elements. Anchor elements are used to provide\n * links for the user to navigate across different routes or pages.\n * See https://material.io/components/buttons\n *\n * The `MatAnchor` class applies to native anchor elements and captures the appearances for\n * \"text button\", \"outlined button\", and \"contained button\" per the Material Design\n * specification. `MatAnchor` additionally captures an additional \"flat\" appearance, which matches\n * \"contained\" but without elevation.\n */\nlet MatAnchor = /*#__PURE__*/(() => {\n  class MatAnchor extends MatAnchorBase {\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatAnchor_BaseFactory;\n      return function MatAnchor_Factory(__ngFactoryType__) {\n        return (ɵMatAnchor_BaseFactory || (ɵMatAnchor_BaseFactory = i0.ɵɵgetInheritedFactory(MatAnchor)))(__ngFactoryType__ || MatAnchor);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatAnchor,\n      selectors: [[\"a\", \"mat-button\", \"\"], [\"a\", \"mat-raised-button\", \"\"], [\"a\", \"mat-flat-button\", \"\"], [\"a\", \"mat-stroked-button\", \"\"]],\n      hostVars: 15,\n      hostBindings: function MatAnchor_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"disabled\", ctx._getDisabledAttribute())(\"tabindex\", ctx.disabled && !ctx.disabledInteractive ? -1 : ctx.tabIndex)(\"aria-disabled\", ctx._getAriaDisabled());\n          i0.ɵɵclassMap(ctx.color ? \"mat-\" + ctx.color : \"\");\n          i0.ɵɵclassProp(\"mat-mdc-button-disabled\", ctx.disabled)(\"mat-mdc-button-disabled-interactive\", ctx.disabledInteractive)(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\")(\"mat-unthemed\", !ctx.color)(\"mat-mdc-button-base\", true);\n        }\n      },\n      exportAs: [\"matButton\", \"matAnchor\"],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c0,\n      ngContentSelectors: _c2,\n      decls: 7,\n      vars: 4,\n      consts: [[1, \"mat-mdc-button-persistent-ripple\"], [1, \"mdc-button__label\"], [1, \"mat-focus-indicator\"], [1, \"mat-mdc-button-touch-target\"]],\n      template: function MatAnchor_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c1);\n          i0.ɵɵelement(0, \"span\", 0);\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementStart(2, \"span\", 1);\n          i0.ɵɵprojection(3, 1);\n          i0.ɵɵelementEnd();\n          i0.ɵɵprojection(4, 2);\n          i0.ɵɵelement(5, \"span\", 2)(6, \"span\", 3);\n        }\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mdc-button__ripple\", !ctx._isFab)(\"mdc-fab__ripple\", ctx._isFab);\n        }\n      },\n      styles: [_c3, _c4],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatAnchor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Injection token to be used to override the default options for FAB. */\nconst MAT_FAB_DEFAULT_OPTIONS = /*#__PURE__*/new InjectionToken('mat-mdc-fab-default-options', {\n  providedIn: 'root',\n  factory: MAT_FAB_DEFAULT_OPTIONS_FACTORY\n});\n/**\n * @docs-private\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0\n */\nfunction MAT_FAB_DEFAULT_OPTIONS_FACTORY() {\n  return {\n    // The FAB by default has its color set to accent.\n    color: 'accent'\n  };\n}\n// Default FAB configuration.\nconst defaults = /*#__PURE__*/MAT_FAB_DEFAULT_OPTIONS_FACTORY();\n/**\n * Material Design floating action button (FAB) component. These buttons represent the primary\n * or most common action for users to interact with.\n * See https://material.io/components/buttons-floating-action-button/\n *\n * The `MatFabButton` class has two appearances: normal and extended.\n */\nlet MatFabButton = /*#__PURE__*/(() => {\n  class MatFabButton extends MatButtonBase {\n    _options = inject(MAT_FAB_DEFAULT_OPTIONS, {\n      optional: true\n    });\n    _isFab = true;\n    extended;\n    constructor() {\n      super();\n      this._options = this._options || defaults;\n      this.color = this._options.color || defaults.color;\n    }\n    static ɵfac = function MatFabButton_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatFabButton)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatFabButton,\n      selectors: [[\"button\", \"mat-fab\", \"\"]],\n      hostVars: 18,\n      hostBindings: function MatFabButton_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"disabled\", ctx._getDisabledAttribute())(\"aria-disabled\", ctx._getAriaDisabled());\n          i0.ɵɵclassMap(ctx.color ? \"mat-\" + ctx.color : \"\");\n          i0.ɵɵclassProp(\"mat-mdc-button-disabled\", ctx.disabled)(\"mat-mdc-button-disabled-interactive\", ctx.disabledInteractive)(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\")(\"mat-unthemed\", !ctx.color)(\"mat-mdc-button-base\", true)(\"mdc-fab--extended\", ctx.extended)(\"mat-mdc-extended-fab\", ctx.extended);\n        }\n      },\n      inputs: {\n        extended: [2, \"extended\", \"extended\", booleanAttribute]\n      },\n      exportAs: [\"matButton\"],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c5,\n      ngContentSelectors: _c2,\n      decls: 7,\n      vars: 4,\n      consts: [[1, \"mat-mdc-button-persistent-ripple\"], [1, \"mdc-button__label\"], [1, \"mat-focus-indicator\"], [1, \"mat-mdc-button-touch-target\"]],\n      template: function MatFabButton_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c1);\n          i0.ɵɵelement(0, \"span\", 0);\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementStart(2, \"span\", 1);\n          i0.ɵɵprojection(3, 1);\n          i0.ɵɵelementEnd();\n          i0.ɵɵprojection(4, 2);\n          i0.ɵɵelement(5, \"span\", 2)(6, \"span\", 3);\n        }\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mdc-button__ripple\", !ctx._isFab)(\"mdc-fab__ripple\", ctx._isFab);\n        }\n      },\n      styles: [\".mat-mdc-fab-base{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:56px;height:56px;padding:0;border:none;fill:currentColor;text-decoration:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;overflow:visible;transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1),opacity 15ms linear 30ms,transform 270ms 0ms cubic-bezier(0, 0, 0.2, 1);flex-shrink:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-fab-base .mat-mdc-button-ripple,.mat-mdc-fab-base .mat-mdc-button-persistent-ripple,.mat-mdc-fab-base .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-fab-base .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-fab-base .mat-mdc-button-persistent-ripple::before{content:\\\"\\\";opacity:0}.mat-mdc-fab-base .mdc-button__label,.mat-mdc-fab-base .mat-icon{z-index:1;position:relative}.mat-mdc-fab-base .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-fab-base:focus>.mat-focus-indicator::before{content:\\\"\\\"}.mat-mdc-fab-base._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-fab-base::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:\\\"\\\";pointer-events:none}.mat-mdc-fab-base[hidden]{display:none}.mat-mdc-fab-base::-moz-focus-inner{padding:0;border:0}.mat-mdc-fab-base:active,.mat-mdc-fab-base:focus{outline:none}.mat-mdc-fab-base:hover{cursor:pointer}.mat-mdc-fab-base>svg{width:100%}.mat-mdc-fab-base .mat-icon,.mat-mdc-fab-base .material-icons{transition:transform 180ms 90ms cubic-bezier(0, 0, 0.2, 1);fill:currentColor;will-change:transform}.mat-mdc-fab-base .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-fab-base[disabled],.mat-mdc-fab-base.mat-mdc-button-disabled{cursor:default;pointer-events:none}.mat-mdc-fab-base[disabled],.mat-mdc-fab-base[disabled]:focus,.mat-mdc-fab-base.mat-mdc-button-disabled,.mat-mdc-fab-base.mat-mdc-button-disabled:focus{box-shadow:none}.mat-mdc-fab-base.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-fab{background-color:var(--mdc-fab-container-color, var(--mat-sys-primary-container));border-radius:var(--mdc-fab-container-shape, var(--mat-sys-corner-large));color:var(--mat-fab-foreground-color, var(--mat-sys-on-primary-container, inherit));box-shadow:var(--mdc-fab-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-fab:hover{box-shadow:var(--mdc-fab-hover-container-elevation-shadow, var(--mat-sys-level4))}.mat-mdc-fab:focus{box-shadow:var(--mdc-fab-focus-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-fab:active,.mat-mdc-fab:focus:active{box-shadow:var(--mdc-fab-pressed-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-fab[disabled],.mat-mdc-fab.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-fab-disabled-state-foreground-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-fab-disabled-state-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-fab.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-fab .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%);display:var(--mat-fab-touch-target-display, block)}.mat-mdc-fab .mat-ripple-element{background-color:var(--mat-fab-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary-container) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-fab .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-state-layer-color, var(--mat-sys-on-primary-container))}.mat-mdc-fab.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-disabled-state-layer-color)}.mat-mdc-fab:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-fab.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-fab.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-fab.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-fab:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-mini-fab{width:40px;height:40px;background-color:var(--mdc-fab-small-container-color, var(--mat-sys-primary-container));border-radius:var(--mdc-fab-small-container-shape, var(--mat-sys-corner-medium));color:var(--mat-fab-small-foreground-color, var(--mat-sys-on-primary-container, inherit));box-shadow:var(--mdc-fab-small-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-mini-fab:hover{box-shadow:var(--mdc-fab-small-hover-container-elevation-shadow, var(--mat-sys-level4))}.mat-mdc-mini-fab:focus{box-shadow:var(--mdc-fab-small-focus-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-mini-fab:active,.mat-mdc-mini-fab:focus:active{box-shadow:var(--mdc-fab-small-pressed-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-mini-fab[disabled],.mat-mdc-mini-fab.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-fab-small-disabled-state-foreground-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-fab-small-disabled-state-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-mini-fab.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-mini-fab .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%);display:var(--mat-fab-small-touch-target-display)}.mat-mdc-mini-fab .mat-ripple-element{background-color:var(--mat-fab-small-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary-container) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-mini-fab .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-small-state-layer-color, var(--mat-sys-on-primary-container))}.mat-mdc-mini-fab.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-small-disabled-state-layer-color)}.mat-mdc-mini-fab:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-small-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-mini-fab.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-mini-fab.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-mini-fab.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-small-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-mini-fab:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-small-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-extended-fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;border-radius:24px;padding-left:20px;padding-right:20px;width:auto;max-width:100%;line-height:normal;height:var(--mdc-extended-fab-container-height, 56px);border-radius:var(--mdc-extended-fab-container-shape, var(--mat-sys-corner-large));font-family:var(--mdc-extended-fab-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mdc-extended-fab-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mdc-extended-fab-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mdc-extended-fab-label-text-tracking, var(--mat-sys-label-large-tracking));box-shadow:var(--mdc-extended-fab-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-extended-fab:hover{box-shadow:var(--mdc-extended-fab-hover-container-elevation-shadow, var(--mat-sys-level4))}.mat-mdc-extended-fab:focus{box-shadow:var(--mdc-extended-fab-focus-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-extended-fab:active,.mat-mdc-extended-fab:focus:active{box-shadow:var(--mdc-extended-fab-pressed-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-extended-fab[disabled],.mat-mdc-extended-fab.mat-mdc-button-disabled{cursor:default;pointer-events:none}.mat-mdc-extended-fab[disabled],.mat-mdc-extended-fab[disabled]:focus,.mat-mdc-extended-fab.mat-mdc-button-disabled,.mat-mdc-extended-fab.mat-mdc-button-disabled:focus{box-shadow:none}.mat-mdc-extended-fab.mat-mdc-button-disabled-interactive{pointer-events:auto}[dir=rtl] .mat-mdc-extended-fab .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-extended-fab .mdc-button__label+.material-icons,.mat-mdc-extended-fab>.mat-icon,.mat-mdc-extended-fab>.material-icons{margin-left:-8px;margin-right:12px}.mat-mdc-extended-fab .mdc-button__label+.mat-icon,.mat-mdc-extended-fab .mdc-button__label+.material-icons,[dir=rtl] .mat-mdc-extended-fab>.mat-icon,[dir=rtl] .mat-mdc-extended-fab>.material-icons{margin-left:12px;margin-right:-8px}.mat-mdc-extended-fab .mat-mdc-button-touch-target{width:100%}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatFabButton;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Material Design mini floating action button (FAB) component. These buttons represent the primary\n * or most common action for users to interact with.\n * See https://material.io/components/buttons-floating-action-button/\n */\nlet MatMiniFabButton = /*#__PURE__*/(() => {\n  class MatMiniFabButton extends MatButtonBase {\n    _options = inject(MAT_FAB_DEFAULT_OPTIONS, {\n      optional: true\n    });\n    _isFab = true;\n    constructor() {\n      super();\n      this._options = this._options || defaults;\n      this.color = this._options.color || defaults.color;\n    }\n    static ɵfac = function MatMiniFabButton_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatMiniFabButton)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatMiniFabButton,\n      selectors: [[\"button\", \"mat-mini-fab\", \"\"]],\n      hostVars: 14,\n      hostBindings: function MatMiniFabButton_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"disabled\", ctx._getDisabledAttribute())(\"aria-disabled\", ctx._getAriaDisabled());\n          i0.ɵɵclassMap(ctx.color ? \"mat-\" + ctx.color : \"\");\n          i0.ɵɵclassProp(\"mat-mdc-button-disabled\", ctx.disabled)(\"mat-mdc-button-disabled-interactive\", ctx.disabledInteractive)(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\")(\"mat-unthemed\", !ctx.color)(\"mat-mdc-button-base\", true);\n        }\n      },\n      exportAs: [\"matButton\"],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c6,\n      ngContentSelectors: _c2,\n      decls: 7,\n      vars: 4,\n      consts: [[1, \"mat-mdc-button-persistent-ripple\"], [1, \"mdc-button__label\"], [1, \"mat-focus-indicator\"], [1, \"mat-mdc-button-touch-target\"]],\n      template: function MatMiniFabButton_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c1);\n          i0.ɵɵelement(0, \"span\", 0);\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementStart(2, \"span\", 1);\n          i0.ɵɵprojection(3, 1);\n          i0.ɵɵelementEnd();\n          i0.ɵɵprojection(4, 2);\n          i0.ɵɵelement(5, \"span\", 2)(6, \"span\", 3);\n        }\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mdc-button__ripple\", !ctx._isFab)(\"mdc-fab__ripple\", ctx._isFab);\n        }\n      },\n      styles: [_c7],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatMiniFabButton;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Material Design floating action button (FAB) component for anchor elements. Anchor elements\n * are used to provide links for the user to navigate across different routes or pages.\n * See https://material.io/components/buttons-floating-action-button/\n *\n * The `MatFabAnchor` class has two appearances: normal and extended.\n */\nlet MatFabAnchor = /*#__PURE__*/(() => {\n  class MatFabAnchor extends MatAnchor {\n    _options = inject(MAT_FAB_DEFAULT_OPTIONS, {\n      optional: true\n    });\n    _isFab = true;\n    extended;\n    constructor() {\n      super();\n      this._options = this._options || defaults;\n      this.color = this._options.color || defaults.color;\n    }\n    static ɵfac = function MatFabAnchor_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatFabAnchor)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatFabAnchor,\n      selectors: [[\"a\", \"mat-fab\", \"\"]],\n      hostVars: 19,\n      hostBindings: function MatFabAnchor_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"disabled\", ctx._getDisabledAttribute())(\"tabindex\", ctx.disabled && !ctx.disabledInteractive ? -1 : ctx.tabIndex)(\"aria-disabled\", ctx._getAriaDisabled());\n          i0.ɵɵclassMap(ctx.color ? \"mat-\" + ctx.color : \"\");\n          i0.ɵɵclassProp(\"mat-mdc-button-disabled\", ctx.disabled)(\"mat-mdc-button-disabled-interactive\", ctx.disabledInteractive)(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\")(\"mat-unthemed\", !ctx.color)(\"mat-mdc-button-base\", true)(\"mdc-fab--extended\", ctx.extended)(\"mat-mdc-extended-fab\", ctx.extended);\n        }\n      },\n      inputs: {\n        extended: [2, \"extended\", \"extended\", booleanAttribute]\n      },\n      exportAs: [\"matButton\", \"matAnchor\"],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c5,\n      ngContentSelectors: _c2,\n      decls: 7,\n      vars: 4,\n      consts: [[1, \"mat-mdc-button-persistent-ripple\"], [1, \"mdc-button__label\"], [1, \"mat-focus-indicator\"], [1, \"mat-mdc-button-touch-target\"]],\n      template: function MatFabAnchor_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c1);\n          i0.ɵɵelement(0, \"span\", 0);\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementStart(2, \"span\", 1);\n          i0.ɵɵprojection(3, 1);\n          i0.ɵɵelementEnd();\n          i0.ɵɵprojection(4, 2);\n          i0.ɵɵelement(5, \"span\", 2)(6, \"span\", 3);\n        }\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mdc-button__ripple\", !ctx._isFab)(\"mdc-fab__ripple\", ctx._isFab);\n        }\n      },\n      styles: [_c7],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatFabAnchor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Material Design mini floating action button (FAB) component for anchor elements. Anchor elements\n * are used to provide links for the user to navigate across different routes or pages.\n * See https://material.io/components/buttons-floating-action-button/\n */\nlet MatMiniFabAnchor = /*#__PURE__*/(() => {\n  class MatMiniFabAnchor extends MatAnchor {\n    _options = inject(MAT_FAB_DEFAULT_OPTIONS, {\n      optional: true\n    });\n    _isFab = true;\n    constructor() {\n      super();\n      this._options = this._options || defaults;\n      this.color = this._options.color || defaults.color;\n    }\n    static ɵfac = function MatMiniFabAnchor_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatMiniFabAnchor)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatMiniFabAnchor,\n      selectors: [[\"a\", \"mat-mini-fab\", \"\"]],\n      hostVars: 15,\n      hostBindings: function MatMiniFabAnchor_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"disabled\", ctx._getDisabledAttribute())(\"tabindex\", ctx.disabled && !ctx.disabledInteractive ? -1 : ctx.tabIndex)(\"aria-disabled\", ctx._getAriaDisabled());\n          i0.ɵɵclassMap(ctx.color ? \"mat-\" + ctx.color : \"\");\n          i0.ɵɵclassProp(\"mat-mdc-button-disabled\", ctx.disabled)(\"mat-mdc-button-disabled-interactive\", ctx.disabledInteractive)(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\")(\"mat-unthemed\", !ctx.color)(\"mat-mdc-button-base\", true);\n        }\n      },\n      exportAs: [\"matButton\", \"matAnchor\"],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c6,\n      ngContentSelectors: _c2,\n      decls: 7,\n      vars: 4,\n      consts: [[1, \"mat-mdc-button-persistent-ripple\"], [1, \"mdc-button__label\"], [1, \"mat-focus-indicator\"], [1, \"mat-mdc-button-touch-target\"]],\n      template: function MatMiniFabAnchor_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c1);\n          i0.ɵɵelement(0, \"span\", 0);\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementStart(2, \"span\", 1);\n          i0.ɵɵprojection(3, 1);\n          i0.ɵɵelementEnd();\n          i0.ɵɵprojection(4, 2);\n          i0.ɵɵelement(5, \"span\", 2)(6, \"span\", 3);\n        }\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mdc-button__ripple\", !ctx._isFab)(\"mdc-fab__ripple\", ctx._isFab);\n        }\n      },\n      styles: [_c7],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatMiniFabAnchor;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatButtonModule = /*#__PURE__*/(() => {\n  class MatButtonModule {\n    static ɵfac = function MatButtonModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatButtonModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: MatButtonModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [MatCommonModule, MatRippleModule, MatCommonModule]\n    });\n  }\n  return MatButtonModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { MAT_FAB_DEFAULT_OPTIONS, MAT_FAB_DEFAULT_OPTIONS_FACTORY, MatAnchor, MatButton, MatButtonModule, MatFabAnchor, MatFabButton, MatIconAnchor, MatIconButton, MatMiniFabAnchor, MatMiniFabButton };\n","import * as i0 from '@angular/core';\nimport { NgModule } from '@angular/core';\nexport { B as BreakpointObserver, M as MediaMatcher } from './breakpoints-observer-CljOfYGy.mjs';\nimport 'rxjs';\nimport 'rxjs/operators';\nimport './platform-DmdVEw_C.mjs';\nimport '@angular/common';\nimport './array-I1yfCXUO.mjs';\nlet LayoutModule = /*#__PURE__*/(() => {\n  class LayoutModule {\n    static ɵfac = function LayoutModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || LayoutModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: LayoutModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n  }\n  return LayoutModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nconst Breakpoints = {\n  XSmall: '(max-width: 599.98px)',\n  Small: '(min-width: 600px) and (max-width: 959.98px)',\n  Medium: '(min-width: 960px) and (max-width: 1279.98px)',\n  Large: '(min-width: 1280px) and (max-width: 1919.98px)',\n  XLarge: '(min-width: 1920px)',\n  Handset: '(max-width: 599.98px) and (orientation: portrait), ' + '(max-width: 959.98px) and (orientation: landscape)',\n  Tablet: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), ' + '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n  Web: '(min-width: 840px) and (orientation: portrait), ' + '(min-width: 1280px) and (orientation: landscape)',\n  HandsetPortrait: '(max-width: 599.98px) and (orientation: portrait)',\n  TabletPortrait: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)',\n  WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n  HandsetLandscape: '(max-width: 959.98px) and (orientation: landscape)',\n  TabletLandscape: '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n  WebLandscape: '(min-width: 1280px) and (orientation: landscape)'\n};\nexport { Breakpoints, LayoutModule };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, Directive, inject, Component, ViewEncapsulation, ChangeDetectionStrategy, NgZone, ElementRef, ChangeDetectorRef, ANIMATION_MODULE_TYPE, afterRender, ViewChild, Injector, TemplateRef, Injectable, NgModule } from '@angular/core';\nimport { Subject, of } from 'rxjs';\nimport { MatButton, MatButtonModule } from './button.mjs';\nimport { DOCUMENT } from '@angular/common';\nimport { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal, PortalModule } from '@angular/cdk/portal';\nimport { _IdGenerator, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Overlay, OverlayConfig, OverlayModule } from '@angular/cdk/overlay';\nimport { M as MatCommonModule } from './common-module-WayjW0Pb.mjs';\nimport './icon-button-D1J0zeqv.mjs';\nimport '@angular/cdk/private';\nimport './ripple-loader-Ce3DAhPW.mjs';\nimport './ripple-BT3tzh6F.mjs';\nimport '@angular/cdk/coercion';\nimport './structural-styles-BQUT6wsL.mjs';\nimport './index-SYVYjXwK.mjs';\nimport '@angular/cdk/bidi';\n\n/** Maximum amount of milliseconds that can be passed into setTimeout. */\nfunction SimpleSnackBar_Conditional_2_Template(rf, ctx) {\n  if (rf & 1) {\n    const _r1 = i0.ɵɵgetCurrentView();\n    i0.ɵɵelementStart(0, \"div\", 1)(1, \"button\", 2);\n    i0.ɵɵlistener(\"click\", function SimpleSnackBar_Conditional_2_Template_button_click_1_listener() {\n      i0.ɵɵrestoreView(_r1);\n      const ctx_r1 = i0.ɵɵnextContext();\n      return i0.ɵɵresetView(ctx_r1.action());\n    });\n    i0.ɵɵtext(2);\n    i0.ɵɵelementEnd()();\n  }\n  if (rf & 2) {\n    const ctx_r1 = i0.ɵɵnextContext();\n    i0.ɵɵadvance(2);\n    i0.ɵɵtextInterpolate1(\" \", ctx_r1.data.action, \" \");\n  }\n}\nconst _c0 = [\"label\"];\nfunction MatSnackBarContainer_ng_template_4_Template(rf, ctx) {}\nconst MAX_TIMEOUT = /*#__PURE__*/Math.pow(2, 31) - 1;\n/**\n * Reference to a snack bar dispatched from the snack bar service.\n */\nclass MatSnackBarRef {\n  _overlayRef;\n  /** The instance of the component making up the content of the snack bar. */\n  instance;\n  /**\n   * The instance of the component making up the content of the snack bar.\n   * @docs-private\n   */\n  containerInstance;\n  /** Subject for notifying the user that the snack bar has been dismissed. */\n  _afterDismissed = /*#__PURE__*/new Subject();\n  /** Subject for notifying the user that the snack bar has opened and appeared. */\n  _afterOpened = /*#__PURE__*/new Subject();\n  /** Subject for notifying the user that the snack bar action was called. */\n  _onAction = /*#__PURE__*/new Subject();\n  /**\n   * Timeout ID for the duration setTimeout call. Used to clear the timeout if the snackbar is\n   * dismissed before the duration passes.\n   */\n  _durationTimeoutId;\n  /** Whether the snack bar was dismissed using the action button. */\n  _dismissedByAction = false;\n  constructor(containerInstance, _overlayRef) {\n    this._overlayRef = _overlayRef;\n    this.containerInstance = containerInstance;\n    containerInstance._onExit.subscribe(() => this._finishDismiss());\n  }\n  /** Dismisses the snack bar. */\n  dismiss() {\n    if (!this._afterDismissed.closed) {\n      this.containerInstance.exit();\n    }\n    clearTimeout(this._durationTimeoutId);\n  }\n  /** Marks the snackbar action clicked. */\n  dismissWithAction() {\n    if (!this._onAction.closed) {\n      this._dismissedByAction = true;\n      this._onAction.next();\n      this._onAction.complete();\n      this.dismiss();\n    }\n    clearTimeout(this._durationTimeoutId);\n  }\n  /**\n   * Marks the snackbar action clicked.\n   * @deprecated Use `dismissWithAction` instead.\n   * @breaking-change 8.0.0\n   */\n  closeWithAction() {\n    this.dismissWithAction();\n  }\n  /** Dismisses the snack bar after some duration */\n  _dismissAfter(duration) {\n    // Note that we need to cap the duration to the maximum value for setTimeout, because\n    // it'll revert to 1 if somebody passes in something greater (e.g. `Infinity`). See #17234.\n    this._durationTimeoutId = setTimeout(() => this.dismiss(), Math.min(duration, MAX_TIMEOUT));\n  }\n  /** Marks the snackbar as opened */\n  _open() {\n    if (!this._afterOpened.closed) {\n      this._afterOpened.next();\n      this._afterOpened.complete();\n    }\n  }\n  /** Cleans up the DOM after closing. */\n  _finishDismiss() {\n    this._overlayRef.dispose();\n    if (!this._onAction.closed) {\n      this._onAction.complete();\n    }\n    this._afterDismissed.next({\n      dismissedByAction: this._dismissedByAction\n    });\n    this._afterDismissed.complete();\n    this._dismissedByAction = false;\n  }\n  /** Gets an observable that is notified when the snack bar is finished closing. */\n  afterDismissed() {\n    return this._afterDismissed;\n  }\n  /** Gets an observable that is notified when the snack bar has opened and appeared. */\n  afterOpened() {\n    return this.containerInstance._onEnter;\n  }\n  /** Gets an observable that is notified when the snack bar action is called. */\n  onAction() {\n    return this._onAction;\n  }\n}\n\n/** Injection token that can be used to access the data that was passed in to a snack bar. */\nconst MAT_SNACK_BAR_DATA = /*#__PURE__*/new InjectionToken('MatSnackBarData');\n/**\n * Configuration used when opening a snack-bar.\n */\nclass MatSnackBarConfig {\n  /** The politeness level for the MatAriaLiveAnnouncer announcement. */\n  politeness = 'assertive';\n  /**\n   * Message to be announced by the LiveAnnouncer. When opening a snackbar without a custom\n   * component or template, the announcement message will default to the specified message.\n   */\n  announcementMessage = '';\n  /**\n   * The view container that serves as the parent for the snackbar for the purposes of dependency\n   * injection. Note: this does not affect where the snackbar is inserted in the DOM.\n   */\n  viewContainerRef;\n  /** The length of time in milliseconds to wait before automatically dismissing the snack bar. */\n  duration = 0;\n  /** Extra CSS classes to be added to the snack bar container. */\n  panelClass;\n  /** Text layout direction for the snack bar. */\n  direction;\n  /** Data being injected into the child component. */\n  data = null;\n  /** The horizontal position to place the snack bar. */\n  horizontalPosition = 'center';\n  /** The vertical position to place the snack bar. */\n  verticalPosition = 'bottom';\n}\n\n/** Directive that should be applied to the text element to be rendered in the snack bar. */\nlet MatSnackBarLabel = /*#__PURE__*/(() => {\n  class MatSnackBarLabel {\n    static ɵfac = function MatSnackBarLabel_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatSnackBarLabel)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatSnackBarLabel,\n      selectors: [[\"\", \"matSnackBarLabel\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-snack-bar-label\", \"mdc-snackbar__label\"]\n    });\n  }\n  return MatSnackBarLabel;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Directive that should be applied to the element containing the snack bar's action buttons. */\nlet MatSnackBarActions = /*#__PURE__*/(() => {\n  class MatSnackBarActions {\n    static ɵfac = function MatSnackBarActions_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatSnackBarActions)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatSnackBarActions,\n      selectors: [[\"\", \"matSnackBarActions\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-snack-bar-actions\", \"mdc-snackbar__actions\"]\n    });\n  }\n  return MatSnackBarActions;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Directive that should be applied to each of the snack bar's action buttons. */\nlet MatSnackBarAction = /*#__PURE__*/(() => {\n  class MatSnackBarAction {\n    static ɵfac = function MatSnackBarAction_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatSnackBarAction)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatSnackBarAction,\n      selectors: [[\"\", \"matSnackBarAction\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-snack-bar-action\", \"mdc-snackbar__action\"]\n    });\n  }\n  return MatSnackBarAction;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet SimpleSnackBar = /*#__PURE__*/(() => {\n  class SimpleSnackBar {\n    snackBarRef = inject(MatSnackBarRef);\n    data = inject(MAT_SNACK_BAR_DATA);\n    constructor() {}\n    /** Performs the action on the snack bar. */\n    action() {\n      this.snackBarRef.dismissWithAction();\n    }\n    /** If the action button should be shown. */\n    get hasAction() {\n      return !!this.data.action;\n    }\n    static ɵfac = function SimpleSnackBar_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || SimpleSnackBar)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: SimpleSnackBar,\n      selectors: [[\"simple-snack-bar\"]],\n      hostAttrs: [1, \"mat-mdc-simple-snack-bar\"],\n      exportAs: [\"matSnackBar\"],\n      decls: 3,\n      vars: 2,\n      consts: [[\"matSnackBarLabel\", \"\"], [\"matSnackBarActions\", \"\"], [\"mat-button\", \"\", \"matSnackBarAction\", \"\", 3, \"click\"]],\n      template: function SimpleSnackBar_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵelementStart(0, \"div\", 0);\n          i0.ɵɵtext(1);\n          i0.ɵɵelementEnd();\n          i0.ɵɵtemplate(2, SimpleSnackBar_Conditional_2_Template, 3, 1, \"div\", 1);\n        }\n        if (rf & 2) {\n          i0.ɵɵadvance();\n          i0.ɵɵtextInterpolate1(\" \", ctx.data.message, \"\\n\");\n          i0.ɵɵadvance();\n          i0.ɵɵconditional(ctx.hasAction ? 2 : -1);\n        }\n      },\n      dependencies: [MatButton, MatSnackBarLabel, MatSnackBarActions, MatSnackBarAction],\n      styles: [\".mat-mdc-simple-snack-bar{display:flex}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return SimpleSnackBar;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst ENTER_ANIMATION = '_mat-snack-bar-enter';\nconst EXIT_ANIMATION = '_mat-snack-bar-exit';\n/**\n * Internal component that wraps user-provided snack bar content.\n * @docs-private\n */\nlet MatSnackBarContainer = /*#__PURE__*/(() => {\n  class MatSnackBarContainer extends BasePortalOutlet {\n    _ngZone = inject(NgZone);\n    _elementRef = inject(ElementRef);\n    _changeDetectorRef = inject(ChangeDetectorRef);\n    _platform = inject(Platform);\n    _rendersRef;\n    _animationsDisabled = inject(ANIMATION_MODULE_TYPE, {\n      optional: true\n    }) === 'NoopAnimations';\n    snackBarConfig = inject(MatSnackBarConfig);\n    _document = inject(DOCUMENT);\n    _trackedModals = new Set();\n    _enterFallback;\n    _exitFallback;\n    _renders = new Subject();\n    /** The number of milliseconds to wait before announcing the snack bar's content. */\n    _announceDelay = 150;\n    /** The timeout for announcing the snack bar's content. */\n    _announceTimeoutId;\n    /** Whether the component has been destroyed. */\n    _destroyed = false;\n    /** The portal outlet inside of this container into which the snack bar content will be loaded. */\n    _portalOutlet;\n    /** Subject for notifying that the snack bar has announced to screen readers. */\n    _onAnnounce = new Subject();\n    /** Subject for notifying that the snack bar has exited from view. */\n    _onExit = new Subject();\n    /** Subject for notifying that the snack bar has finished entering the view. */\n    _onEnter = new Subject();\n    /** The state of the snack bar animations. */\n    _animationState = 'void';\n    /** aria-live value for the live region. */\n    _live;\n    /**\n     * Element that will have the `mdc-snackbar__label` class applied if the attached component\n     * or template does not have it. This ensures that the appropriate structure, typography, and\n     * color is applied to the attached view.\n     */\n    _label;\n    /**\n     * Role of the live region. This is only for Firefox as there is a known issue where Firefox +\n     * JAWS does not read out aria-live message.\n     */\n    _role;\n    /** Unique ID of the aria-live element. */\n    _liveElementId = inject(_IdGenerator).getId('mat-snack-bar-container-live-');\n    constructor() {\n      super();\n      const config = this.snackBarConfig;\n      // Use aria-live rather than a live role like 'alert' or 'status'\n      // because NVDA and JAWS have show inconsistent behavior with live roles.\n      if (config.politeness === 'assertive' && !config.announcementMessage) {\n        this._live = 'assertive';\n      } else if (config.politeness === 'off') {\n        this._live = 'off';\n      } else {\n        this._live = 'polite';\n      }\n      // Only set role for Firefox. Set role based on aria-live because setting role=\"alert\" implies\n      // aria-live=\"assertive\" which may cause issues if aria-live is set to \"polite\" above.\n      if (this._platform.FIREFOX) {\n        if (this._live === 'polite') {\n          this._role = 'status';\n        }\n        if (this._live === 'assertive') {\n          this._role = 'alert';\n        }\n      }\n      // Note: ideally we'd just do an `afterNextRender` in the places where we need to delay\n      // something, however in some cases (TestBed teardown) the injector can be destroyed at an\n      // unexpected time, causing the `afterRender` to fail.\n      this._rendersRef = afterRender(() => this._renders.next(), {\n        manualCleanup: true\n      });\n    }\n    /** Attach a component portal as content to this snack bar container. */\n    attachComponentPortal(portal) {\n      this._assertNotAttached();\n      const result = this._portalOutlet.attachComponentPortal(portal);\n      this._afterPortalAttached();\n      return result;\n    }\n    /** Attach a template portal as content to this snack bar container. */\n    attachTemplatePortal(portal) {\n      this._assertNotAttached();\n      const result = this._portalOutlet.attachTemplatePortal(portal);\n      this._afterPortalAttached();\n      return result;\n    }\n    /**\n     * Attaches a DOM portal to the snack bar container.\n     * @deprecated To be turned into a method.\n     * @breaking-change 10.0.0\n     */\n    attachDomPortal = portal => {\n      this._assertNotAttached();\n      const result = this._portalOutlet.attachDomPortal(portal);\n      this._afterPortalAttached();\n      return result;\n    };\n    /** Handle end of animations, updating the state of the snackbar. */\n    onAnimationEnd(animationName) {\n      if (animationName === EXIT_ANIMATION) {\n        this._completeExit();\n      } else if (animationName === ENTER_ANIMATION) {\n        clearTimeout(this._enterFallback);\n        this._ngZone.run(() => {\n          this._onEnter.next();\n          this._onEnter.complete();\n        });\n      }\n    }\n    /** Begin animation of snack bar entrance into view. */\n    enter() {\n      if (!this._destroyed) {\n        this._animationState = 'visible';\n        // _animationState lives in host bindings and `detectChanges` does not refresh host bindings\n        // so we have to call `markForCheck` to ensure the host view is refreshed eventually.\n        this._changeDetectorRef.markForCheck();\n        this._changeDetectorRef.detectChanges();\n        this._screenReaderAnnounce();\n        if (this._animationsDisabled) {\n          this._renders.pipe(take(1)).subscribe(() => {\n            this._ngZone.run(() => queueMicrotask(() => this.onAnimationEnd(ENTER_ANIMATION)));\n          });\n        } else {\n          clearTimeout(this._enterFallback);\n          this._enterFallback = setTimeout(() => {\n            // The snack bar will stay invisible if it fails to animate. Add a fallback class so it\n            // becomes visible. This can happen in some apps that do `* {animation: none !important}`.\n            this._elementRef.nativeElement.classList.add('mat-snack-bar-fallback-visible');\n            this.onAnimationEnd(ENTER_ANIMATION);\n          }, 200);\n        }\n      }\n    }\n    /** Begin animation of the snack bar exiting from view. */\n    exit() {\n      if (this._destroyed) {\n        return of(undefined);\n      }\n      // It's common for snack bars to be opened by random outside calls like HTTP requests or\n      // errors. Run inside the NgZone to ensure that it functions correctly.\n      this._ngZone.run(() => {\n        // Note: this one transitions to `hidden`, rather than `void`, in order to handle the case\n        // where multiple snack bars are opened in quick succession (e.g. two consecutive calls to\n        // `MatSnackBar.open`).\n        this._animationState = 'hidden';\n        this._changeDetectorRef.markForCheck();\n        // Mark this element with an 'exit' attribute to indicate that the snackbar has\n        // been dismissed and will soon be removed from the DOM. This is used by the snackbar\n        // test harness.\n        this._elementRef.nativeElement.setAttribute('mat-exit', '');\n        // If the snack bar hasn't been announced by the time it exits it wouldn't have been open\n        // long enough to visually read it either, so clear the timeout for announcing.\n        clearTimeout(this._announceTimeoutId);\n        if (this._animationsDisabled) {\n          this._renders.pipe(take(1)).subscribe(() => {\n            this._ngZone.run(() => queueMicrotask(() => this.onAnimationEnd(EXIT_ANIMATION)));\n          });\n        } else {\n          clearTimeout(this._exitFallback);\n          this._exitFallback = setTimeout(() => this.onAnimationEnd(EXIT_ANIMATION), 200);\n        }\n      });\n      return this._onExit;\n    }\n    /** Makes sure the exit callbacks have been invoked when the element is destroyed. */\n    ngOnDestroy() {\n      this._destroyed = true;\n      this._clearFromModals();\n      this._completeExit();\n      this._renders.complete();\n      this._rendersRef.destroy();\n    }\n    _completeExit() {\n      clearTimeout(this._exitFallback);\n      queueMicrotask(() => {\n        this._onExit.next();\n        this._onExit.complete();\n      });\n    }\n    /**\n     * Called after the portal contents have been attached. Can be\n     * used to modify the DOM once it's guaranteed to be in place.\n     */\n    _afterPortalAttached() {\n      const element = this._elementRef.nativeElement;\n      const panelClasses = this.snackBarConfig.panelClass;\n      if (panelClasses) {\n        if (Array.isArray(panelClasses)) {\n          // Note that we can't use a spread here, because IE doesn't support multiple arguments.\n          panelClasses.forEach(cssClass => element.classList.add(cssClass));\n        } else {\n          element.classList.add(panelClasses);\n        }\n      }\n      this._exposeToModals();\n      // Check to see if the attached component or template uses the MDC template structure,\n      // specifically the MDC label. If not, the container should apply the MDC label class to this\n      // component's label container, which will apply MDC's label styles to the attached view.\n      const label = this._label.nativeElement;\n      const labelClass = 'mdc-snackbar__label';\n      label.classList.toggle(labelClass, !label.querySelector(`.${labelClass}`));\n    }\n    /**\n     * Some browsers won't expose the accessibility node of the live element if there is an\n     * `aria-modal` and the live element is outside of it. This method works around the issue by\n     * pointing the `aria-owns` of all modals to the live element.\n     */\n    _exposeToModals() {\n      // TODO(http://github.com/angular/components/issues/26853): consider de-duplicating this with the\n      // `LiveAnnouncer` and any other usages.\n      //\n      // Note that the selector here is limited to CDK overlays at the moment in order to reduce the\n      // section of the DOM we need to look through. This should cover all the cases we support, but\n      // the selector can be expanded if it turns out to be too narrow.\n      const id = this._liveElementId;\n      const modals = this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal=\"true\"]');\n      for (let i = 0; i < modals.length; i++) {\n        const modal = modals[i];\n        const ariaOwns = modal.getAttribute('aria-owns');\n        this._trackedModals.add(modal);\n        if (!ariaOwns) {\n          modal.setAttribute('aria-owns', id);\n        } else if (ariaOwns.indexOf(id) === -1) {\n          modal.setAttribute('aria-owns', ariaOwns + ' ' + id);\n        }\n      }\n    }\n    /** Clears the references to the live element from any modals it was added to. */\n    _clearFromModals() {\n      this._trackedModals.forEach(modal => {\n        const ariaOwns = modal.getAttribute('aria-owns');\n        if (ariaOwns) {\n          const newValue = ariaOwns.replace(this._liveElementId, '').trim();\n          if (newValue.length > 0) {\n            modal.setAttribute('aria-owns', newValue);\n          } else {\n            modal.removeAttribute('aria-owns');\n          }\n        }\n      });\n      this._trackedModals.clear();\n    }\n    /** Asserts that no content is already attached to the container. */\n    _assertNotAttached() {\n      if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw Error('Attempting to attach snack bar content after content is already attached');\n      }\n    }\n    /**\n     * Starts a timeout to move the snack bar content to the live region so screen readers will\n     * announce it.\n     */\n    _screenReaderAnnounce() {\n      if (this._announceTimeoutId) {\n        return;\n      }\n      this._ngZone.runOutsideAngular(() => {\n        this._announceTimeoutId = setTimeout(() => {\n          if (this._destroyed) {\n            return;\n          }\n          const element = this._elementRef.nativeElement;\n          const inertElement = element.querySelector('[aria-hidden]');\n          const liveElement = element.querySelector('[aria-live]');\n          if (inertElement && liveElement) {\n            // If an element in the snack bar content is focused before being moved\n            // track it and restore focus after moving to the live region.\n            let focusedElement = null;\n            if (this._platform.isBrowser && document.activeElement instanceof HTMLElement && inertElement.contains(document.activeElement)) {\n              focusedElement = document.activeElement;\n            }\n            inertElement.removeAttribute('aria-hidden');\n            liveElement.appendChild(inertElement);\n            focusedElement?.focus();\n            this._onAnnounce.next();\n            this._onAnnounce.complete();\n          }\n        }, this._announceDelay);\n      });\n    }\n    static ɵfac = function MatSnackBarContainer_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatSnackBarContainer)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatSnackBarContainer,\n      selectors: [[\"mat-snack-bar-container\"]],\n      viewQuery: function MatSnackBarContainer_Query(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵviewQuery(CdkPortalOutlet, 7);\n          i0.ɵɵviewQuery(_c0, 7);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._portalOutlet = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._label = _t.first);\n        }\n      },\n      hostAttrs: [1, \"mdc-snackbar\", \"mat-mdc-snack-bar-container\"],\n      hostVars: 6,\n      hostBindings: function MatSnackBarContainer_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"animationend\", function MatSnackBarContainer_animationend_HostBindingHandler($event) {\n            return ctx.onAnimationEnd($event.animationName);\n          })(\"animationcancel\", function MatSnackBarContainer_animationcancel_HostBindingHandler($event) {\n            return ctx.onAnimationEnd($event.animationName);\n          });\n        }\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mat-snack-bar-container-enter\", ctx._animationState === \"visible\")(\"mat-snack-bar-container-exit\", ctx._animationState === \"hidden\")(\"mat-snack-bar-container-animations-enabled\", !ctx._animationsDisabled);\n        }\n      },\n      features: [i0.ɵɵInheritDefinitionFeature],\n      decls: 6,\n      vars: 3,\n      consts: [[\"label\", \"\"], [1, \"mdc-snackbar__surface\", \"mat-mdc-snackbar-surface\"], [1, \"mat-mdc-snack-bar-label\"], [\"aria-hidden\", \"true\"], [\"cdkPortalOutlet\", \"\"]],\n      template: function MatSnackBarContainer_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵelementStart(0, \"div\", 1)(1, \"div\", 2, 0)(3, \"div\", 3);\n          i0.ɵɵtemplate(4, MatSnackBarContainer_ng_template_4_Template, 0, 0, \"ng-template\", 4);\n          i0.ɵɵelementEnd();\n          i0.ɵɵelement(5, \"div\");\n          i0.ɵɵelementEnd()();\n        }\n        if (rf & 2) {\n          i0.ɵɵadvance(5);\n          i0.ɵɵattribute(\"aria-live\", ctx._live)(\"role\", ctx._role)(\"id\", ctx._liveElementId);\n        }\n      },\n      dependencies: [CdkPortalOutlet],\n      styles: [\"@keyframes _mat-snack-bar-enter{from{transform:scale(0.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes _mat-snack-bar-exit{from{opacity:1}to{opacity:0}}.mat-mdc-snack-bar-container{display:flex;align-items:center;justify-content:center;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);margin:8px}.mat-mdc-snack-bar-handset .mat-mdc-snack-bar-container{width:100vw}.mat-snack-bar-container-animations-enabled{opacity:0}.mat-snack-bar-container-animations-enabled.mat-snack-bar-fallback-visible{opacity:1}.mat-snack-bar-container-animations-enabled.mat-snack-bar-container-enter{animation:_mat-snack-bar-enter 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-snack-bar-container-animations-enabled.mat-snack-bar-container-exit{animation:_mat-snack-bar-exit 75ms cubic-bezier(0.4, 0, 1, 1) forwards}.mat-mdc-snackbar-surface{box-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;padding-left:0;padding-right:8px}[dir=rtl] .mat-mdc-snackbar-surface{padding-right:0;padding-left:8px}.mat-mdc-snack-bar-container .mat-mdc-snackbar-surface{min-width:344px;max-width:672px}.mat-mdc-snack-bar-handset .mat-mdc-snackbar-surface{width:100%;min-width:0}@media(forced-colors: active){.mat-mdc-snackbar-surface{outline:solid 1px}}.mat-mdc-snack-bar-container .mat-mdc-snackbar-surface{color:var(--mdc-snackbar-supporting-text-color, var(--mat-sys-inverse-on-surface));border-radius:var(--mdc-snackbar-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mdc-snackbar-container-color, var(--mat-sys-inverse-surface))}.mdc-snackbar__label{width:100%;flex-grow:1;box-sizing:border-box;margin:0;padding:14px 8px 14px 16px}[dir=rtl] .mdc-snackbar__label{padding-left:8px;padding-right:16px}.mat-mdc-snack-bar-container .mdc-snackbar__label{font-family:var(--mdc-snackbar-supporting-text-font, var(--mat-sys-body-medium-font));font-size:var(--mdc-snackbar-supporting-text-size, var(--mat-sys-body-medium-size));font-weight:var(--mdc-snackbar-supporting-text-weight, var(--mat-sys-body-medium-weight));line-height:var(--mdc-snackbar-supporting-text-line-height, var(--mat-sys-body-medium-line-height))}.mat-mdc-snack-bar-actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled).mat-unthemed{color:var(--mat-snack-bar-button-color, var(--mat-sys-inverse-primary))}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled){--mat-text-button-state-layer-color:currentColor;--mat-text-button-ripple-color:currentColor}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled) .mat-ripple-element{opacity:.1}\\n\"],\n      encapsulation: 2\n    });\n  }\n  return MatSnackBarContainer;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * @docs-private\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0\n */\nfunction MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY() {\n  return new MatSnackBarConfig();\n}\n/** Injection token that can be used to specify default snack bar. */\nconst MAT_SNACK_BAR_DEFAULT_OPTIONS = /*#__PURE__*/new InjectionToken('mat-snack-bar-default-options', {\n  providedIn: 'root',\n  factory: MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY\n});\n/**\n * Service to dispatch Material Design snack bar messages.\n */\nlet MatSnackBar = /*#__PURE__*/(() => {\n  class MatSnackBar {\n    _overlay = inject(Overlay);\n    _live = inject(LiveAnnouncer);\n    _injector = inject(Injector);\n    _breakpointObserver = inject(BreakpointObserver);\n    _parentSnackBar = inject(MatSnackBar, {\n      optional: true,\n      skipSelf: true\n    });\n    _defaultConfig = inject(MAT_SNACK_BAR_DEFAULT_OPTIONS);\n    /**\n     * Reference to the current snack bar in the view *at this level* (in the Angular injector tree).\n     * If there is a parent snack-bar service, all operations should delegate to that parent\n     * via `_openedSnackBarRef`.\n     */\n    _snackBarRefAtThisLevel = null;\n    /** The component that should be rendered as the snack bar's simple component. */\n    simpleSnackBarComponent = SimpleSnackBar;\n    /** The container component that attaches the provided template or component. */\n    snackBarContainerComponent = MatSnackBarContainer;\n    /** The CSS class to apply for handset mode. */\n    handsetCssClass = 'mat-mdc-snack-bar-handset';\n    /** Reference to the currently opened snackbar at *any* level. */\n    get _openedSnackBarRef() {\n      const parent = this._parentSnackBar;\n      return parent ? parent._openedSnackBarRef : this._snackBarRefAtThisLevel;\n    }\n    set _openedSnackBarRef(value) {\n      if (this._parentSnackBar) {\n        this._parentSnackBar._openedSnackBarRef = value;\n      } else {\n        this._snackBarRefAtThisLevel = value;\n      }\n    }\n    constructor() {}\n    /**\n     * Creates and dispatches a snack bar with a custom component for the content, removing any\n     * currently opened snack bars.\n     *\n     * @param component Component to be instantiated.\n     * @param config Extra configuration for the snack bar.\n     */\n    openFromComponent(component, config) {\n      return this._attach(component, config);\n    }\n    /**\n     * Creates and dispatches a snack bar with a custom template for the content, removing any\n     * currently opened snack bars.\n     *\n     * @param template Template to be instantiated.\n     * @param config Extra configuration for the snack bar.\n     */\n    openFromTemplate(template, config) {\n      return this._attach(template, config);\n    }\n    /**\n     * Opens a snackbar with a message and an optional action.\n     * @param message The message to show in the snackbar.\n     * @param action The label for the snackbar action.\n     * @param config Additional configuration options for the snackbar.\n     */\n    open(message, action = '', config) {\n      const _config = {\n        ...this._defaultConfig,\n        ...config\n      };\n      // Since the user doesn't have access to the component, we can\n      // override the data to pass in our own message and action.\n      _config.data = {\n        message,\n        action\n      };\n      // Since the snack bar has `role=\"alert\"`, we don't\n      // want to announce the same message twice.\n      if (_config.announcementMessage === message) {\n        _config.announcementMessage = undefined;\n      }\n      return this.openFromComponent(this.simpleSnackBarComponent, _config);\n    }\n    /**\n     * Dismisses the currently-visible snack bar.\n     */\n    dismiss() {\n      if (this._openedSnackBarRef) {\n        this._openedSnackBarRef.dismiss();\n      }\n    }\n    ngOnDestroy() {\n      // Only dismiss the snack bar at the current level on destroy.\n      if (this._snackBarRefAtThisLevel) {\n        this._snackBarRefAtThisLevel.dismiss();\n      }\n    }\n    /**\n     * Attaches the snack bar container component to the overlay.\n     */\n    _attachSnackBarContainer(overlayRef, config) {\n      const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n      const injector = Injector.create({\n        parent: userInjector || this._injector,\n        providers: [{\n          provide: MatSnackBarConfig,\n          useValue: config\n        }]\n      });\n      const containerPortal = new ComponentPortal(this.snackBarContainerComponent, config.viewContainerRef, injector);\n      const containerRef = overlayRef.attach(containerPortal);\n      containerRef.instance.snackBarConfig = config;\n      return containerRef.instance;\n    }\n    /**\n     * Places a new component or a template as the content of the snack bar container.\n     */\n    _attach(content, userConfig) {\n      const config = {\n        ...new MatSnackBarConfig(),\n        ...this._defaultConfig,\n        ...userConfig\n      };\n      const overlayRef = this._createOverlay(config);\n      const container = this._attachSnackBarContainer(overlayRef, config);\n      const snackBarRef = new MatSnackBarRef(container, overlayRef);\n      if (content instanceof TemplateRef) {\n        const portal = new TemplatePortal(content, null, {\n          $implicit: config.data,\n          snackBarRef\n        });\n        snackBarRef.instance = container.attachTemplatePortal(portal);\n      } else {\n        const injector = this._createInjector(config, snackBarRef);\n        const portal = new ComponentPortal(content, undefined, injector);\n        const contentRef = container.attachComponentPortal(portal);\n        // We can't pass this via the injector, because the injector is created earlier.\n        snackBarRef.instance = contentRef.instance;\n      }\n      // Subscribe to the breakpoint observer and attach the mat-snack-bar-handset class as\n      // appropriate. This class is applied to the overlay element because the overlay must expand to\n      // fill the width of the screen for full width snackbars.\n      this._breakpointObserver.observe(Breakpoints.HandsetPortrait).pipe(takeUntil(overlayRef.detachments())).subscribe(state => {\n        overlayRef.overlayElement.classList.toggle(this.handsetCssClass, state.matches);\n      });\n      if (config.announcementMessage) {\n        // Wait until the snack bar contents have been announced then deliver this message.\n        container._onAnnounce.subscribe(() => {\n          this._live.announce(config.announcementMessage, config.politeness);\n        });\n      }\n      this._animateSnackBar(snackBarRef, config);\n      this._openedSnackBarRef = snackBarRef;\n      return this._openedSnackBarRef;\n    }\n    /** Animates the old snack bar out and the new one in. */\n    _animateSnackBar(snackBarRef, config) {\n      // When the snackbar is dismissed, clear the reference to it.\n      snackBarRef.afterDismissed().subscribe(() => {\n        // Clear the snackbar ref if it hasn't already been replaced by a newer snackbar.\n        if (this._openedSnackBarRef == snackBarRef) {\n          this._openedSnackBarRef = null;\n        }\n        if (config.announcementMessage) {\n          this._live.clear();\n        }\n      });\n      // If a dismiss timeout is provided, set up dismiss based on after the snackbar is opened.\n      if (config.duration && config.duration > 0) {\n        snackBarRef.afterOpened().subscribe(() => snackBarRef._dismissAfter(config.duration));\n      }\n      if (this._openedSnackBarRef) {\n        // If a snack bar is already in view, dismiss it and enter the\n        // new snack bar after exit animation is complete.\n        this._openedSnackBarRef.afterDismissed().subscribe(() => {\n          snackBarRef.containerInstance.enter();\n        });\n        this._openedSnackBarRef.dismiss();\n      } else {\n        // If no snack bar is in view, enter the new snack bar.\n        snackBarRef.containerInstance.enter();\n      }\n    }\n    /**\n     * Creates a new overlay and places it in the correct location.\n     * @param config The user-specified snack bar config.\n     */\n    _createOverlay(config) {\n      const overlayConfig = new OverlayConfig();\n      overlayConfig.direction = config.direction;\n      let positionStrategy = this._overlay.position().global();\n      // Set horizontal position.\n      const isRtl = config.direction === 'rtl';\n      const isLeft = config.horizontalPosition === 'left' || config.horizontalPosition === 'start' && !isRtl || config.horizontalPosition === 'end' && isRtl;\n      const isRight = !isLeft && config.horizontalPosition !== 'center';\n      if (isLeft) {\n        positionStrategy.left('0');\n      } else if (isRight) {\n        positionStrategy.right('0');\n      } else {\n        positionStrategy.centerHorizontally();\n      }\n      // Set horizontal position.\n      if (config.verticalPosition === 'top') {\n        positionStrategy.top('0');\n      } else {\n        positionStrategy.bottom('0');\n      }\n      overlayConfig.positionStrategy = positionStrategy;\n      return this._overlay.create(overlayConfig);\n    }\n    /**\n     * Creates an injector to be used inside of a snack bar component.\n     * @param config Config that was used to create the snack bar.\n     * @param snackBarRef Reference to the snack bar.\n     */\n    _createInjector(config, snackBarRef) {\n      const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n      return Injector.create({\n        parent: userInjector || this._injector,\n        providers: [{\n          provide: MatSnackBarRef,\n          useValue: snackBarRef\n        }, {\n          provide: MAT_SNACK_BAR_DATA,\n          useValue: config.data\n        }]\n      });\n    }\n    static ɵfac = function MatSnackBar_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatSnackBar)();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: MatSnackBar,\n      factory: MatSnackBar.ɵfac,\n      providedIn: 'root'\n    });\n  }\n  return MatSnackBar;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst DIRECTIVES = [MatSnackBarContainer, MatSnackBarLabel, MatSnackBarActions, MatSnackBarAction];\nlet MatSnackBarModule = /*#__PURE__*/(() => {\n  class MatSnackBarModule {\n    static ɵfac = function MatSnackBarModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatSnackBarModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: MatSnackBarModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      providers: [MatSnackBar],\n      imports: [OverlayModule, PortalModule, MatButtonModule, MatCommonModule, SimpleSnackBar, MatCommonModule]\n    });\n  }\n  return MatSnackBarModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Animations used by the Material snack bar.\n * @docs-private\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0\n */\nconst matSnackBarAnimations = {\n  // Represents\n  // trigger('state', [\n  //   state(\n  //     'void, hidden',\n  //     style({\n  //       transform: 'scale(0.8)',\n  //       opacity: 0,\n  //     }),\n  //   ),\n  //   state(\n  //     'visible',\n  //     style({\n  //       transform: 'scale(1)',\n  //       opacity: 1,\n  //     }),\n  //   ),\n  //   transition('* => visible', animate('150ms cubic-bezier(0, 0, 0.2, 1)')),\n  //   transition(\n  //     '* => void, * => hidden',\n  //     animate(\n  //       '75ms cubic-bezier(0.4, 0.0, 1, 1)',\n  //       style({\n  //         opacity: 0,\n  //       }),\n  //     ),\n  //   ),\n  // ])\n  /** Animation that shows and hides a snack bar. */\n  snackBarState: {\n    type: 7,\n    name: 'state',\n    'definitions': [{\n      type: 0,\n      name: 'void, hidden',\n      styles: {\n        type: 6,\n        styles: {\n          transform: 'scale(0.8)',\n          opacity: 0\n        },\n        offset: null\n      }\n    }, {\n      type: 0,\n      name: 'visible',\n      styles: {\n        type: 6,\n        styles: {\n          transform: 'scale(1)',\n          opacity: 1\n        },\n        offset: null\n      }\n    }, {\n      type: 1,\n      expr: '* => visible',\n      animation: {\n        type: 4,\n        styles: null,\n        timings: '150ms cubic-bezier(0, 0, 0.2, 1)'\n      },\n      options: null\n    }, {\n      type: 1,\n      expr: '* => void, * => hidden',\n      animation: {\n        type: 4,\n        styles: {\n          type: 6,\n          styles: {\n            opacity: 0\n          },\n          offset: null\n        },\n        timings: '75ms cubic-bezier(0.4, 0.0, 1, 1)'\n      },\n      options: null\n    }],\n    options: {}\n  }\n};\nexport { MAT_SNACK_BAR_DATA, MAT_SNACK_BAR_DEFAULT_OPTIONS, MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY, MatSnackBar, MatSnackBarAction, MatSnackBarActions, MatSnackBarConfig, MatSnackBarContainer, MatSnackBarLabel, MatSnackBarModule, MatSnackBarRef, SimpleSnackBar, matSnackBarAnimations };\n","import { Injectable } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class ToolsService {\r\n\r\n  constructor(private _snackBar: MatSnackBar) { }\r\n\r\n\r\n  openSnackBar(msg: string, type: boolean) {\r\n    this._snackBar.open(msg, 'fermer', {\r\n      horizontalPosition: 'center',\r\n      verticalPosition: 'top',\r\n      duration: 6000,\r\n      panelClass: !type ? 'snackbar-error' : 'snackbar-success'\r\n    });\r\n  }\r\n}\r\n\r\n/**\r\n * Affiche un message à l'utilisateur\r\n *\r\n * @param msg - Message affiché\r\n * @param type - Type de message (success ou error)\r\n */\r\n\r\n","import { Component, OnInit, signal } from '@angular/core';\r\nimport { AbstractControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\r\nimport { environment } from '../../../../environment/environment';\r\nimport { ContactService } from '../../../pages/home/services/contact.service';\r\nimport { GoogleAnalyticsService } from '../../services/google-analytics.service';\r\nimport { ToolsService } from '../../services/tools.service';\r\nimport { TarteaucitronService } from '../../services/tarteaucitron.service';\r\nimport {LucideSend} from '@lucide/angular';\r\n@Component({\r\n  selector: 'app-contact-form',\r\n  imports: [ReactiveFormsModule, LucideSend],\r\n  templateUrl: './contact-form.component.html',\r\n  styleUrl: './contact-form.component.sass'\r\n})\r\nexport class ContactFormComponent implements OnInit {\r\n  contactForm!: FormGroup;\r\n\r\n  loader = signal(false);\r\n\r\n  constructor(private contactService: ContactService, private toolsService: ToolsService, private ga: GoogleAnalyticsService, private tac: TarteaucitronService) {\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.contactForm = this.contactService.createContactForm();\r\n  }\r\n  // --- HELPERS ---\r\n\r\n  private control(name: string): AbstractControl | null {\r\n    return this.contactForm.get(name);\r\n  }\r\n\r\n  /** Affiche l'erreur seulement après interaction */\r\n  shouldShowError(name: string): boolean {\r\n    const c = this.control(name);\r\n    return !!(c && c.invalid && (c.dirty || c.touched));\r\n  }\r\n\r\n  /** Vrai si le champ est invalide et qu'on doit le signaler */\r\n  isInvalid(name: string): boolean {\r\n    return this.shouldShowError(name);\r\n  }\r\n\r\n  /** Génère un id unique d'erreur par champ */\r\n  errorId(name: string): string {\r\n    return `${name}-error`;\r\n  }\r\n\r\n  /** Retourne l'id d'erreur uniquement si erreur affichée */\r\n  ariaDescribedBy(name: string): string | null {\r\n    return this.shouldShowError(name) ? this.errorId(name) : null;\r\n  }\r\n\r\n  /** Message d'erreur unique par champ */\r\n  getErrorMessage(name: string): string {\r\n    const c = this.control(name);\r\n    if (!c) return 'Champ invalide.';\r\n\r\n    // required\r\n    if (c.hasError('required')) return 'Ce champ est requis.';\r\n    if (c.hasError('requiredTrue')) return 'Nécessaire pour traiter votre demande.';\r\n\r\n    // spécifiques\r\n    if (name === 'name') {\r\n      if (c.hasError('minlength')) return 'Le nom doit contenir au moins 2 caractères.';\r\n    }\r\n\r\n    if (name === 'email') {\r\n      if (c.hasError('email')) return 'Email invalide.';\r\n    }\r\n\r\n    if (name === 'message') {\r\n      if (c.hasError('minlength')) return 'Merci de préciser un peu plus votre demande (10 caractères min).';\r\n    }\r\n\r\n    // fallback\r\n    return 'Champ invalide.';\r\n  }\r\n\r\n\r\n  async onSubmitContactForm() {\r\n    if (this.contactForm.invalid) {\r\n      this.toolsService.openSnackBar('Merci de remplir correctement le formulaire.', false);\r\n      return;\r\n    }\r\n\r\n    this.loader.set(true);\r\n\r\n    try {\r\n\r\n      // ✅ 4) Envoi (inchangé)\r\n      this.contactService.sendEmail(this.contactForm).subscribe({\r\n        next: (data: any) => {\r\n          this.loader.set(false);\r\n\r\n          if (data.success === true) {\r\n            this.contactForm.reset();\r\n            // ✅ GA4 event recommandé (à marquer en conversion dans GA4)\r\n            this.ga.sendEvent('generate_lead', {\r\n              method: 'contact_form',\r\n              form_name: 'contact',\r\n              page_path: window.location.pathname,\r\n            });\r\n          }\r\n\r\n          this.toolsService.openSnackBar(data.message, data.success);\r\n\r\n        },\r\n        error: () => {\r\n          this.loader.set(false);\r\n          this.toolsService.openSnackBar(\r\n            \"Impossible d’envoyer le message pour le moment. Merci de réessayer dans quelques instants.\",\r\n            false\r\n          );\r\n        },\r\n      });\r\n    } catch (e) {\r\n      this.loader.set(false);\r\n      this.toolsService.openSnackBar(\"reCAPTCHA indisponible. Merci de réessayer.\", false);\r\n    }\r\n  }\r\n\r\n}\r\n","<form [formGroup]=\"contactForm\" (ngSubmit)=\"onSubmitContactForm()\">\r\n<!--  honeypot-->\r\n  <div class=\"\" style=\"display: none; position:absolute; left: -999999px;\">\r\n    <input type=\"text\" formControlName=\"website\" tabindex=\"-1\" autocomplete=\"off\" aria-hidden=\"true\"/>\r\n  </div>\r\n  <!-- NOM -->\r\n  <div class=\"form-group\">\r\n    <label for=\"name\">Nom<small>*</small></label>\r\n\r\n    <input type=\"text\" id=\"name\" placeholder=\"Votre nom\" formControlName=\"name\" autocomplete=\"name\"\r\n      [attr.aria-invalid]=\"isInvalid('name')\" [attr.aria-describedby]=\"ariaDescribedBy('name')\" required />\r\n\r\n    @if (shouldShowError('name')) {\r\n    <span [id]=\"errorId('name')\" class=\"input-error\" role=\"alert\">\r\n      {{ getErrorMessage('name') }}\r\n    </span>\r\n    }\r\n  </div>\r\n\r\n  <!-- EMAIL + TÉLÉPHONE -->\r\n  <div class=\"form-row\">\r\n\r\n    <!-- EMAIL -->\r\n    <div class=\"form-group\">\r\n      <label for=\"email\">Email<small>*</small></label>\r\n\r\n      <input type=\"email\" id=\"email\" placeholder=\"Votre email\" formControlName=\"email\" autocomplete=\"email\"\r\n        inputmode=\"email\" [attr.aria-invalid]=\"isInvalid('email')\" [attr.aria-describedby]=\"ariaDescribedBy('email')\"\r\n        required />\r\n\r\n      @if (shouldShowError('email')) {\r\n      <span [id]=\"errorId('email')\" class=\"input-error\" role=\"alert\">\r\n        {{ getErrorMessage('email') }}\r\n      </span>\r\n      }\r\n    </div>\r\n\r\n    <!-- TÉLÉPHONE (à toi de décider si optionnel) -->\r\n    <div class=\"form-group\">\r\n      <label for=\"phone\">Téléphone<small>(facultatif)</small></label>\r\n\r\n      <input type=\"tel\" id=\"phone\" placeholder=\"Votre numéro de téléphone\" formControlName=\"phone\" autocomplete=\"tel\"\r\n        inputmode=\"tel\" [attr.aria-invalid]=\"isInvalid('phone')\" [attr.aria-describedby]=\"ariaDescribedBy('phone')\" />\r\n\r\n      @if (shouldShowError('phone')) {\r\n      <span [id]=\"errorId('phone')\" class=\"input-error\" role=\"alert\">\r\n        {{ getErrorMessage('phone') }}\r\n      </span>\r\n      }\r\n    </div>\r\n\r\n  </div>\r\n\r\n  <!-- MESSAGE -->\r\n  <div class=\"form-group\">\r\n    <label for=\"message\">Message<small>*</small></label>\r\n\r\n    <textarea id=\"message\" rows=\"5\"\r\n      placeholder=\"Expliquez votre besoin, même brièvement : création de site, refonte, amélioration d’un site existant, besoin de visibilité...*\"\r\n      formControlName=\"message\" [attr.aria-invalid]=\"isInvalid('message')\"\r\n      [attr.aria-describedby]=\"ariaDescribedBy('message')\" required></textarea>\r\n\r\n    @if (shouldShowError('message')) {\r\n    <span [id]=\"errorId('message')\" class=\"input-error\" role=\"alert\">\r\n      {{ getErrorMessage('message') }}</span>\r\n    }\r\n  </div>\r\n\r\n  <!-- RGPD (obligatoire) -->\r\n  <p class=\"form-info rgpd-box\">\r\n    Les informations envoyées via ce formulaire me permettent uniquement de vous répondre et d’échanger au sujet de\r\n    votre projet. Elles restent confidentielles et ne sont jamais transmises à des tiers.\r\n  </p>\r\n\r\n  <!-- CONSENTEMENT COMMERCIAL (optionnel) -->\r\n  <div class=\"form-group\">\r\n    <label for=\"contactConsent\" class=\"checkbox-label\">\r\n      <input type=\"checkbox\" id=\"contactConsent\" formControlName=\"contactConsent\" class=\"checkbox-input\" />\r\n      Je veux recevoir quelques conseils web de temps en temps — sans spam. </label>\r\n  </div>\r\n\r\n  <!-- BOUTON -->\r\n  @if (loader()) {\r\n    <div class=\"spinner-border m-auto\" role=\"status\">\r\n      <span class=\"visually-hidden\">Chargement...</span>\r\n    </div>\r\n  } @else {\r\n  <button type=\"submit\" class=\"btn-primary\" [disabled]=\"contactForm.invalid\">\r\n    Envoyer ma demande <svg lucideSend></svg>\r\n  </button>\r\n  }\r\n  <div class=\"form_highlights\">\r\n    <span class=\"badge\">\r\n      Réponse sous 24h\r\n    </span>\r\n    <span class=\"badge\">\r\n      Sans engagement\r\n    </span>\r\n    <span class=\"badge\">\r\n      Devis gratuit\r\n    </span>\r\n  </div>\r\n\r\n</form>\r\n","import { Component } from '@angular/core';\r\nimport {myInfo} from \"../../data/my-data\";\r\nimport {LucideCalendarDays, LucideMail, LucideMapPin, LucidePhone} from '@lucide/angular';\r\n\r\n@Component({\r\n  selector: 'app-contact-info',\r\n  imports: [\r\n    LucideMail,\r\n    LucidePhone,\r\n    LucideCalendarDays,\r\n    LucideMapPin\r\n  ],\r\n  templateUrl: './contact-info.component.html',\r\n  styleUrl: './contact-info.component.sass'\r\n})\r\nexport class ContactInfoComponent {\r\n\r\n    protected readonly myData = myInfo;\r\n}\r\n","<div class=\"contact-info\">\r\n  <h3>Entrer en contact</h3>\r\n  <div class=\"info-item\">\r\n    <div class=\"icon\">\r\n      <svg lucideMail></svg>\r\n    </div>\r\n    <div>\r\n      <p class=\"label\">Email</p>\r\n      <a class=\"value\" href=\"mailto:{{myData.email}}\">{{ myData.email }}</a>\r\n      <!--            <p class=\"value\">{{ myData.email }}</p>-->\r\n    </div>\r\n  </div>\r\n  <div class=\"info-item\">\r\n    <div class=\"icon\">\r\n      <svg lucidePhone></svg>\r\n    </div>\r\n    <div>\r\n      <p class=\"label\">Téléphone</p>\r\n      <a class=\"value\" href=\"tel:{{myData?.phone}}\">{{myData?.phone}}</a>\r\n    </div>\r\n  </div>\r\n  <div class=\"info-item\">\r\n    <div class=\"icon\">\r\n      <svg lucideCalendarDays></svg>\r\n    </div>\r\n    <div>\r\n      <p class=\"label\">Horaires</p>\r\n      <p class=\"value\">Lundi - Vendredi <br> 8h00 - 17h00</p>\r\n    </div>\r\n  </div>\r\n  <div class=\"info-item\">\r\n    <div class=\"icon\">\r\n      <svg lucideMapPin></svg>\r\n    </div>\r\n    <div>\r\n      <p class=\"label\">Localisation</p>\r\n      <p class=\"value\">{{ myData.location }}</p>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"social-media\">\r\n    <p>Suivez-moi sur les réseaux sociaux</p>\r\n    <div class=\"social-links\">\r\n      <a href=\"{{myData.githubLink}}\" target=\"_blank\" rel=\"noopener\" class=\"social-btn\" aria-label=\"Mon GitHub\"><svg xmlns=\"http://www.w3.org/2000/svg\"  width=\"24\" height=\"24\" viewBox=\"0 0 640 640\" fill=\"currentColor\"><path d=\"M237.9 461.4C237.9 463.4 235.6 465 232.7 465C229.4 465.3 227.1 463.7 227.1 461.4C227.1 459.4 229.4 457.8 232.3 457.8C235.3 457.5 237.9 459.1 237.9 461.4zM206.8 456.9C206.1 458.9 208.1 461.2 211.1 461.8C213.7 462.8 216.7 461.8 217.3 459.8C217.9 457.8 216 455.5 213 454.6C210.4 453.9 207.5 454.9 206.8 456.9zM251 455.2C248.1 455.9 246.1 457.8 246.4 460.1C246.7 462.1 249.3 463.4 252.3 462.7C255.2 462 257.2 460.1 256.9 458.1C256.6 456.2 253.9 454.9 251 455.2zM316.8 72C178.1 72 72 177.3 72 316C72 426.9 141.8 521.8 241.5 555.2C254.3 557.5 258.8 549.6 258.8 543.1C258.8 536.9 258.5 502.7 258.5 481.7C258.5 481.7 188.5 496.7 173.8 451.9C173.8 451.9 162.4 422.8 146 415.3C146 415.3 123.1 399.6 147.6 399.9C147.6 399.9 172.5 401.9 186.2 425.7C208.1 464.3 244.8 453.2 259.1 446.6C261.4 430.6 267.9 419.5 275.1 412.9C219.2 406.7 162.8 398.6 162.8 302.4C162.8 274.9 170.4 261.1 186.4 243.5C183.8 237 175.3 210.2 189 175.6C209.9 169.1 258 202.6 258 202.6C278 197 299.5 194.1 320.8 194.1C342.1 194.1 363.6 197 383.6 202.6C383.6 202.6 431.7 169 452.6 175.6C466.3 210.3 457.8 237 455.2 243.5C471.2 261.2 481 275 481 302.4C481 398.9 422.1 406.6 366.2 412.9C375.4 420.8 383.2 435.8 383.2 459.3C383.2 493 382.9 534.7 382.9 542.9C382.9 549.4 387.5 557.3 400.2 555C500.2 521.8 568 426.9 568 316C568 177.3 455.5 72 316.8 72zM169.2 416.9C167.9 417.9 168.2 420.2 169.9 422.1C171.5 423.7 173.8 424.4 175.1 423.1C176.4 422.1 176.1 419.8 174.4 417.9C172.8 416.3 170.5 415.6 169.2 416.9zM158.4 408.8C157.7 410.1 158.7 411.7 160.7 412.7C162.3 413.7 164.3 413.4 165 412C165.7 410.7 164.7 409.1 162.7 408.1C160.7 407.5 159.1 407.8 158.4 408.8zM190.8 444.4C189.2 445.7 189.8 448.7 192.1 450.6C194.4 452.9 197.3 453.2 198.6 451.6C199.9 450.3 199.3 447.3 197.3 445.4C195.1 443.1 192.1 442.8 190.8 444.4zM179.4 429.7C177.8 430.7 177.8 433.3 179.4 435.6C181 437.9 183.7 438.9 185 437.9C186.6 436.6 186.6 434 185 431.7C183.6 429.4 181 428.4 179.4 429.7z\"/></svg></a>\r\n      <a href=\"{{myData.linkedinLink}}\" target=\"_blank\" rel=\"noopener\" class=\"social-btn\"\r\n         aria-label=\"Mon Linkedin\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 640 640\" fill=\"currentColor\"><path d=\"M196.3 512L103.4 512L103.4 212.9L196.3 212.9L196.3 512zM149.8 172.1C120.1 172.1 96 147.5 96 117.8C96 103.5 101.7 89.9 111.8 79.8C121.9 69.7 135.6 64 149.8 64C164 64 177.7 69.7 187.8 79.8C197.9 89.9 203.6 103.6 203.6 117.8C203.6 147.5 179.5 172.1 149.8 172.1zM543.9 512L451.2 512L451.2 366.4C451.2 331.7 450.5 287.2 402.9 287.2C354.6 287.2 347.2 324.9 347.2 363.9L347.2 512L254.4 512L254.4 212.9L343.5 212.9L343.5 253.7L344.8 253.7C357.2 230.2 387.5 205.4 432.7 205.4C526.7 205.4 544 267.3 544 347.7L544 512L543.9 512z\"/></svg></a>\r\n      <a href=\"{{myData.googleLink}}\" target=\"_blank\" rel=\"noopener\" class=\"social-btn\"\r\n         aria-label=\"Mon Linkedin\"><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\" width=\"24\" height=\"24\" fill=\"currentColor\"><path d=\"M564 325.8C564 467.3 467.1 568 324 568C186.8 568 76 457.2 76 320C76 182.8 186.8 72 324 72C390.8 72 447 96.5 490.3 136.9L422.8 201.8C334.5 116.6 170.3 180.6 170.3 320C170.3 406.5 239.4 476.6 324 476.6C422.2 476.6 459 406.2 464.8 369.7L324 369.7L324 284.4L560.1 284.4C562.4 297.1 564 309.3 564 325.8z\"/></svg></a>\r\n\r\n    </div>\r\n  </div>\r\n</div>\r\n","import {Component} from '@angular/core';\r\nimport { ReactiveFormsModule} from '@angular/forms';\r\nimport {ContactFormComponent} from '../../../../core/components/contact-form/contact-form.component';\r\nimport {ContactInfoComponent} from '../../../../core/components/contact-info/contact-info.component';\r\n\r\n@Component({\r\n  selector: 'app-contact',\r\n  imports: [\r\n    ReactiveFormsModule,\r\n    ContactFormComponent,\r\n    ContactInfoComponent,\r\n  ],\r\n  templateUrl: './contact.component.html',\r\n  styleUrl: './contact.component.sass'\r\n})\r\nexport class ContactComponent {\r\n\r\n}\r\n","<section #contact id=\"contact\" class=\"contact-section\">\r\n  <!-- Background elements -->\r\n  <div class=\"contact-bg\">\r\n    <div class=\"circle circle-left\"></div>\r\n    <div class=\"circle circle-right\"></div>\r\n  </div>\r\n\r\n  <div class=\"container\">\r\n    <!-- Section header -->\r\n    <div class=\"section-header\">\r\n      <h2 >Parlons de <span class=\"highlight\">votre projet</span></h2>\r\n      <p>Travaillons ensemble sur votre prochain projet.</p>\r\n      <div class=\"divider\"></div>\r\n    </div>\r\n\r\n    <!-- Contact content -->\r\n    <div class=\"contact-content\">\r\n      <!-- Left column -->\r\n      <app-contact-info></app-contact-info>\r\n\r\n      <!-- Right column -->\r\n      <div class=\"contact-form\">\r\n      <app-contact-form></app-contact-form>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</section>\r\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, booleanAttribute, Directive, Input, ChangeDetectorRef, EventEmitter, Output, NgModule } from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { _ as _IdGenerator } from './id-generator-Dw_9dSDu.mjs';\nimport { U as UniqueSelectionDispatcher } from './unique-selection-dispatcher-DtHZDqyJ.mjs';\n\n/**\n * Injection token that can be used to reference instances of `CdkAccordion`. It serves\n * as alternative token to the actual `CdkAccordion` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_ACCORDION = /*#__PURE__*/new InjectionToken('CdkAccordion');\n/**\n * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.\n */\nlet CdkAccordion = /*#__PURE__*/(() => {\n  class CdkAccordion {\n    /** Emits when the state of the accordion changes */\n    _stateChanges = new Subject();\n    /** Stream that emits true/false when openAll/closeAll is triggered. */\n    _openCloseAllActions = new Subject();\n    /** A readonly id value to use for unique selection coordination. */\n    id = inject(_IdGenerator).getId('cdk-accordion-');\n    /** Whether the accordion should allow multiple expanded accordion items simultaneously. */\n    multi = false;\n    /** Opens all enabled accordion items in an accordion where multi is enabled. */\n    openAll() {\n      if (this.multi) {\n        this._openCloseAllActions.next(true);\n      }\n    }\n    /** Closes all enabled accordion items. */\n    closeAll() {\n      this._openCloseAllActions.next(false);\n    }\n    ngOnChanges(changes) {\n      this._stateChanges.next(changes);\n    }\n    ngOnDestroy() {\n      this._stateChanges.complete();\n      this._openCloseAllActions.complete();\n    }\n    static ɵfac = function CdkAccordion_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkAccordion)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkAccordion,\n      selectors: [[\"cdk-accordion\"], [\"\", \"cdkAccordion\", \"\"]],\n      inputs: {\n        multi: [2, \"multi\", \"multi\", booleanAttribute]\n      },\n      exportAs: [\"cdkAccordion\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: CDK_ACCORDION,\n        useExisting: CdkAccordion\n      }]), i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return CdkAccordion;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * A basic directive expected to be extended and decorated as a component.  Sets up all\n * events and attributes needed to be managed by a CdkAccordion parent.\n */\nlet CdkAccordionItem = /*#__PURE__*/(() => {\n  class CdkAccordionItem {\n    accordion = inject(CDK_ACCORDION, {\n      optional: true,\n      skipSelf: true\n    });\n    _changeDetectorRef = inject(ChangeDetectorRef);\n    _expansionDispatcher = inject(UniqueSelectionDispatcher);\n    /** Subscription to openAll/closeAll events. */\n    _openCloseAllSubscription = Subscription.EMPTY;\n    /** Event emitted every time the AccordionItem is closed. */\n    closed = new EventEmitter();\n    /** Event emitted every time the AccordionItem is opened. */\n    opened = new EventEmitter();\n    /** Event emitted when the AccordionItem is destroyed. */\n    destroyed = new EventEmitter();\n    /**\n     * Emits whenever the expanded state of the accordion changes.\n     * Primarily used to facilitate two-way binding.\n     * @docs-private\n     */\n    expandedChange = new EventEmitter();\n    /** The unique AccordionItem id. */\n    id = inject(_IdGenerator).getId('cdk-accordion-child-');\n    /** Whether the AccordionItem is expanded. */\n    get expanded() {\n      return this._expanded;\n    }\n    set expanded(expanded) {\n      // Only emit events and update the internal value if the value changes.\n      if (this._expanded !== expanded) {\n        this._expanded = expanded;\n        this.expandedChange.emit(expanded);\n        if (expanded) {\n          this.opened.emit();\n          /**\n           * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,\n           * the name value is the id of the accordion.\n           */\n          const accordionId = this.accordion ? this.accordion.id : this.id;\n          this._expansionDispatcher.notify(this.id, accordionId);\n        } else {\n          this.closed.emit();\n        }\n        // Ensures that the animation will run when the value is set outside of an `@Input`.\n        // This includes cases like the open, close and toggle methods.\n        this._changeDetectorRef.markForCheck();\n      }\n    }\n    _expanded = false;\n    /** Whether the AccordionItem is disabled. */\n    disabled = false;\n    /** Unregister function for _expansionDispatcher. */\n    _removeUniqueSelectionListener = () => {};\n    constructor() {}\n    ngOnInit() {\n      this._removeUniqueSelectionListener = this._expansionDispatcher.listen((id, accordionId) => {\n        if (this.accordion && !this.accordion.multi && this.accordion.id === accordionId && this.id !== id) {\n          this.expanded = false;\n        }\n      });\n      // When an accordion item is hosted in an accordion, subscribe to open/close events.\n      if (this.accordion) {\n        this._openCloseAllSubscription = this._subscribeToOpenCloseAllActions();\n      }\n    }\n    /** Emits an event for the accordion item being destroyed. */\n    ngOnDestroy() {\n      this.opened.complete();\n      this.closed.complete();\n      this.destroyed.emit();\n      this.destroyed.complete();\n      this._removeUniqueSelectionListener();\n      this._openCloseAllSubscription.unsubscribe();\n    }\n    /** Toggles the expanded state of the accordion item. */\n    toggle() {\n      if (!this.disabled) {\n        this.expanded = !this.expanded;\n      }\n    }\n    /** Sets the expanded state of the accordion item to false. */\n    close() {\n      if (!this.disabled) {\n        this.expanded = false;\n      }\n    }\n    /** Sets the expanded state of the accordion item to true. */\n    open() {\n      if (!this.disabled) {\n        this.expanded = true;\n      }\n    }\n    _subscribeToOpenCloseAllActions() {\n      return this.accordion._openCloseAllActions.subscribe(expanded => {\n        // Only change expanded state if item is enabled\n        if (!this.disabled) {\n          this.expanded = expanded;\n        }\n      });\n    }\n    static ɵfac = function CdkAccordionItem_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkAccordionItem)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: CdkAccordionItem,\n      selectors: [[\"cdk-accordion-item\"], [\"\", \"cdkAccordionItem\", \"\"]],\n      inputs: {\n        expanded: [2, \"expanded\", \"expanded\", booleanAttribute],\n        disabled: [2, \"disabled\", \"disabled\", booleanAttribute]\n      },\n      outputs: {\n        closed: \"closed\",\n        opened: \"opened\",\n        destroyed: \"destroyed\",\n        expandedChange: \"expandedChange\"\n      },\n      exportAs: [\"cdkAccordionItem\"],\n      features: [i0.ɵɵProvidersFeature([\n      // Provide `CDK_ACCORDION` as undefined to prevent nested accordion items from\n      // registering to the same accordion.\n      {\n        provide: CDK_ACCORDION,\n        useValue: undefined\n      }])]\n    });\n  }\n  return CdkAccordionItem;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet CdkAccordionModule = /*#__PURE__*/(() => {\n  class CdkAccordionModule {\n    static ɵfac = function CdkAccordionModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || CdkAccordionModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: CdkAccordionModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n  }\n  return CdkAccordionModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { CDK_ACCORDION, CdkAccordion, CdkAccordionItem, CdkAccordionModule };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, TemplateRef, Directive, ViewContainerRef, ANIMATION_MODULE_TYPE, NgZone, ElementRef, Renderer2, EventEmitter, booleanAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, ContentChild, ViewChild, ChangeDetectorRef, HostAttributeToken, numberAttribute, QueryList, ContentChildren, NgModule } from '@angular/core';\nimport { CdkAccordionItem, CdkAccordion, CdkAccordionModule } from '@angular/cdk/accordion';\nimport { TemplatePortal, CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';\nimport { _IdGenerator, FocusMonitor, FocusKeyManager } from '@angular/cdk/a11y';\nimport { startWith, filter, take } from 'rxjs/operators';\nimport { ENTER, hasModifierKey, SPACE } from '@angular/cdk/keycodes';\nimport { Subject, Subscription, EMPTY, merge } from 'rxjs';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport { DOCUMENT } from '@angular/common';\nimport { _CdkPrivateStyleLoader } from '@angular/cdk/private';\nimport { _ as _StructuralStylesLoader } from './structural-styles-BQUT6wsL.mjs';\nimport { M as MatCommonModule } from './common-module-WayjW0Pb.mjs';\nimport '@angular/cdk/bidi';\n\n/**\n * Token used to provide a `MatAccordion` to `MatExpansionPanel`.\n * Used primarily to avoid circular imports between `MatAccordion` and `MatExpansionPanel`.\n */\nconst _c0 = [\"body\"];\nconst _c1 = [\"bodyWrapper\"];\nconst _c2 = [[[\"mat-expansion-panel-header\"]], \"*\", [[\"mat-action-row\"]]];\nconst _c3 = [\"mat-expansion-panel-header\", \"*\", \"mat-action-row\"];\nfunction MatExpansionPanel_ng_template_7_Template(rf, ctx) {}\nconst _c4 = [[[\"mat-panel-title\"]], [[\"mat-panel-description\"]], \"*\"];\nconst _c5 = [\"mat-panel-title\", \"mat-panel-description\", \"*\"];\nfunction MatExpansionPanelHeader_Conditional_4_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"span\", 1);\n    i0.ɵɵnamespaceSVG();\n    i0.ɵɵelementStart(1, \"svg\", 2);\n    i0.ɵɵelement(2, \"path\", 3);\n    i0.ɵɵelementEnd()();\n  }\n}\nconst MAT_ACCORDION = /*#__PURE__*/new InjectionToken('MAT_ACCORDION');\n\n/**\n * Token used to provide a `MatExpansionPanel` to `MatExpansionPanelContent`.\n * Used to avoid circular imports between `MatExpansionPanel` and `MatExpansionPanelContent`.\n */\nconst MAT_EXPANSION_PANEL = /*#__PURE__*/new InjectionToken('MAT_EXPANSION_PANEL');\n\n/**\n * Expansion panel content that will be rendered lazily\n * after the panel is opened for the first time.\n */\nlet MatExpansionPanelContent = /*#__PURE__*/(() => {\n  class MatExpansionPanelContent {\n    _template = inject(TemplateRef);\n    _expansionPanel = inject(MAT_EXPANSION_PANEL, {\n      optional: true\n    });\n    constructor() {}\n    static ɵfac = function MatExpansionPanelContent_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatExpansionPanelContent)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatExpansionPanelContent,\n      selectors: [[\"ng-template\", \"matExpansionPanelContent\", \"\"]]\n    });\n  }\n  return MatExpansionPanelContent;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Injection token that can be used to configure the default\n * options for the expansion panel component.\n */\nconst MAT_EXPANSION_PANEL_DEFAULT_OPTIONS = /*#__PURE__*/new InjectionToken('MAT_EXPANSION_PANEL_DEFAULT_OPTIONS');\n/**\n * This component can be used as a single element to show expandable content, or as one of\n * multiple children of an element with the MatAccordion directive attached.\n */\nlet MatExpansionPanel = /*#__PURE__*/(() => {\n  class MatExpansionPanel extends CdkAccordionItem {\n    _viewContainerRef = inject(ViewContainerRef);\n    _animationsDisabled = inject(ANIMATION_MODULE_TYPE, {\n      optional: true\n    }) === 'NoopAnimations';\n    _document = inject(DOCUMENT);\n    _ngZone = inject(NgZone);\n    _elementRef = inject(ElementRef);\n    _renderer = inject(Renderer2);\n    _cleanupTransitionEnd;\n    /** Whether the toggle indicator should be hidden. */\n    get hideToggle() {\n      return this._hideToggle || this.accordion && this.accordion.hideToggle;\n    }\n    set hideToggle(value) {\n      this._hideToggle = value;\n    }\n    _hideToggle = false;\n    /** The position of the expansion indicator. */\n    get togglePosition() {\n      return this._togglePosition || this.accordion && this.accordion.togglePosition;\n    }\n    set togglePosition(value) {\n      this._togglePosition = value;\n    }\n    _togglePosition;\n    /** An event emitted after the body's expansion animation happens. */\n    afterExpand = new EventEmitter();\n    /** An event emitted after the body's collapse animation happens. */\n    afterCollapse = new EventEmitter();\n    /** Stream that emits for changes in `@Input` properties. */\n    _inputChanges = new Subject();\n    /** Optionally defined accordion the expansion panel belongs to. */\n    accordion = inject(MAT_ACCORDION, {\n      optional: true,\n      skipSelf: true\n    });\n    /** Content that will be rendered lazily. */\n    _lazyContent;\n    /** Element containing the panel's user-provided content. */\n    _body;\n    /** Element wrapping the panel body. */\n    _bodyWrapper;\n    /** Portal holding the user's content. */\n    _portal;\n    /** ID for the associated header element. Used for a11y labelling. */\n    _headerId = inject(_IdGenerator).getId('mat-expansion-panel-header-');\n    constructor() {\n      super();\n      const defaultOptions = inject(MAT_EXPANSION_PANEL_DEFAULT_OPTIONS, {\n        optional: true\n      });\n      this._expansionDispatcher = inject(UniqueSelectionDispatcher);\n      if (defaultOptions) {\n        this.hideToggle = defaultOptions.hideToggle;\n      }\n    }\n    /** Determines whether the expansion panel should have spacing between it and its siblings. */\n    _hasSpacing() {\n      if (this.accordion) {\n        return this.expanded && this.accordion.displayMode === 'default';\n      }\n      return false;\n    }\n    /** Gets the expanded state string. */\n    _getExpandedState() {\n      return this.expanded ? 'expanded' : 'collapsed';\n    }\n    /** Toggles the expanded state of the expansion panel. */\n    toggle() {\n      this.expanded = !this.expanded;\n    }\n    /** Sets the expanded state of the expansion panel to false. */\n    close() {\n      this.expanded = false;\n    }\n    /** Sets the expanded state of the expansion panel to true. */\n    open() {\n      this.expanded = true;\n    }\n    ngAfterContentInit() {\n      if (this._lazyContent && this._lazyContent._expansionPanel === this) {\n        // Render the content as soon as the panel becomes open.\n        this.opened.pipe(startWith(null), filter(() => this.expanded && !this._portal), take(1)).subscribe(() => {\n          this._portal = new TemplatePortal(this._lazyContent._template, this._viewContainerRef);\n        });\n      }\n      this._setupAnimationEvents();\n    }\n    ngOnChanges(changes) {\n      this._inputChanges.next(changes);\n    }\n    ngOnDestroy() {\n      super.ngOnDestroy();\n      this._cleanupTransitionEnd?.();\n      this._inputChanges.complete();\n    }\n    /** Checks whether the expansion panel's content contains the currently-focused element. */\n    _containsFocus() {\n      if (this._body) {\n        const focusedElement = this._document.activeElement;\n        const bodyElement = this._body.nativeElement;\n        return focusedElement === bodyElement || bodyElement.contains(focusedElement);\n      }\n      return false;\n    }\n    _transitionEndListener = ({\n      target,\n      propertyName\n    }) => {\n      if (target === this._bodyWrapper?.nativeElement && propertyName === 'grid-template-rows') {\n        this._ngZone.run(() => {\n          if (this.expanded) {\n            this.afterExpand.emit();\n          } else {\n            this.afterCollapse.emit();\n          }\n        });\n      }\n    };\n    _setupAnimationEvents() {\n      // This method is defined separately, because we need to\n      // disable this logic in some internal components.\n      this._ngZone.runOutsideAngular(() => {\n        if (this._animationsDisabled) {\n          this.opened.subscribe(() => this._ngZone.run(() => this.afterExpand.emit()));\n          this.closed.subscribe(() => this._ngZone.run(() => this.afterCollapse.emit()));\n        } else {\n          setTimeout(() => {\n            const element = this._elementRef.nativeElement;\n            this._cleanupTransitionEnd = this._renderer.listen(element, 'transitionend', this._transitionEndListener);\n            element.classList.add('mat-expansion-panel-animations-enabled');\n          }, 200);\n        }\n      });\n    }\n    static ɵfac = function MatExpansionPanel_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatExpansionPanel)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatExpansionPanel,\n      selectors: [[\"mat-expansion-panel\"]],\n      contentQueries: function MatExpansionPanel_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, MatExpansionPanelContent, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._lazyContent = _t.first);\n        }\n      },\n      viewQuery: function MatExpansionPanel_Query(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵviewQuery(_c0, 5);\n          i0.ɵɵviewQuery(_c1, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._body = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._bodyWrapper = _t.first);\n        }\n      },\n      hostAttrs: [1, \"mat-expansion-panel\"],\n      hostVars: 4,\n      hostBindings: function MatExpansionPanel_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mat-expanded\", ctx.expanded)(\"mat-expansion-panel-spacing\", ctx._hasSpacing());\n        }\n      },\n      inputs: {\n        hideToggle: [2, \"hideToggle\", \"hideToggle\", booleanAttribute],\n        togglePosition: \"togglePosition\"\n      },\n      outputs: {\n        afterExpand: \"afterExpand\",\n        afterCollapse: \"afterCollapse\"\n      },\n      exportAs: [\"matExpansionPanel\"],\n      features: [i0.ɵɵProvidersFeature([\n      // Provide MatAccordion as undefined to prevent nested expansion panels from registering\n      // to the same accordion.\n      {\n        provide: MAT_ACCORDION,\n        useValue: undefined\n      }, {\n        provide: MAT_EXPANSION_PANEL,\n        useExisting: MatExpansionPanel\n      }]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature],\n      ngContentSelectors: _c3,\n      decls: 9,\n      vars: 4,\n      consts: [[\"bodyWrapper\", \"\"], [\"body\", \"\"], [1, \"mat-expansion-panel-content-wrapper\"], [\"role\", \"region\", 1, \"mat-expansion-panel-content\", 3, \"id\"], [1, \"mat-expansion-panel-body\"], [3, \"cdkPortalOutlet\"]],\n      template: function MatExpansionPanel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c2);\n          i0.ɵɵprojection(0);\n          i0.ɵɵelementStart(1, \"div\", 2, 0)(3, \"div\", 3, 1)(5, \"div\", 4);\n          i0.ɵɵprojection(6, 1);\n          i0.ɵɵtemplate(7, MatExpansionPanel_ng_template_7_Template, 0, 0, \"ng-template\", 5);\n          i0.ɵɵelementEnd();\n          i0.ɵɵprojection(8, 2);\n          i0.ɵɵelementEnd()();\n        }\n        if (rf & 2) {\n          i0.ɵɵadvance();\n          i0.ɵɵattribute(\"inert\", ctx.expanded ? null : \"\");\n          i0.ɵɵadvance(2);\n          i0.ɵɵproperty(\"id\", ctx.id);\n          i0.ɵɵattribute(\"aria-labelledby\", ctx._headerId);\n          i0.ɵɵadvance(4);\n          i0.ɵɵproperty(\"cdkPortalOutlet\", ctx._portal);\n        }\n      },\n      dependencies: [CdkPortalOutlet],\n      styles: [\".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:var(--mat-expansion-container-background-color, var(--mat-sys-surface));color:var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));border-radius:var(--mat-expansion-container-shape, 12px)}.mat-expansion-panel.mat-expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape, 12px);border-top-left-radius:var(--mat-expansion-container-shape, 12px)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape, 12px);border-bottom-left-radius:var(--mat-expansion-container-shape, 12px)}@media(forced-colors: active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden;font-family:var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content{transition:visibility 190ms linear}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper>.mat-expansion-panel-content{visibility:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-sys-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatExpansionPanel;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Actions of a `<mat-expansion-panel>`.\n */\nlet MatExpansionPanelActionRow = /*#__PURE__*/(() => {\n  class MatExpansionPanelActionRow {\n    static ɵfac = function MatExpansionPanelActionRow_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatExpansionPanelActionRow)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatExpansionPanelActionRow,\n      selectors: [[\"mat-action-row\"]],\n      hostAttrs: [1, \"mat-action-row\"]\n    });\n  }\n  return MatExpansionPanelActionRow;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Header element of a `<mat-expansion-panel>`.\n */\nlet MatExpansionPanelHeader = /*#__PURE__*/(() => {\n  class MatExpansionPanelHeader {\n    panel = inject(MatExpansionPanel, {\n      host: true\n    });\n    _element = inject(ElementRef);\n    _focusMonitor = inject(FocusMonitor);\n    _changeDetectorRef = inject(ChangeDetectorRef);\n    _parentChangeSubscription = Subscription.EMPTY;\n    constructor() {\n      inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n      const panel = this.panel;\n      const defaultOptions = inject(MAT_EXPANSION_PANEL_DEFAULT_OPTIONS, {\n        optional: true\n      });\n      const tabIndex = inject(new HostAttributeToken('tabindex'), {\n        optional: true\n      });\n      const accordionHideToggleChange = panel.accordion ? panel.accordion._stateChanges.pipe(filter(changes => !!(changes['hideToggle'] || changes['togglePosition']))) : EMPTY;\n      this.tabIndex = parseInt(tabIndex || '') || 0;\n      // Since the toggle state depends on an @Input on the panel, we\n      // need to subscribe and trigger change detection manually.\n      this._parentChangeSubscription = merge(panel.opened, panel.closed, accordionHideToggleChange, panel._inputChanges.pipe(filter(changes => {\n        return !!(changes['hideToggle'] || changes['disabled'] || changes['togglePosition']);\n      }))).subscribe(() => this._changeDetectorRef.markForCheck());\n      // Avoids focus being lost if the panel contained the focused element and was closed.\n      panel.closed.pipe(filter(() => panel._containsFocus())).subscribe(() => this._focusMonitor.focusVia(this._element, 'program'));\n      if (defaultOptions) {\n        this.expandedHeight = defaultOptions.expandedHeight;\n        this.collapsedHeight = defaultOptions.collapsedHeight;\n      }\n    }\n    /** Height of the header while the panel is expanded. */\n    expandedHeight;\n    /** Height of the header while the panel is collapsed. */\n    collapsedHeight;\n    /** Tab index of the header. */\n    tabIndex = 0;\n    /**\n     * Whether the associated panel is disabled. Implemented as a part of `FocusableOption`.\n     * @docs-private\n     */\n    get disabled() {\n      return this.panel.disabled;\n    }\n    /** Toggles the expanded state of the panel. */\n    _toggle() {\n      if (!this.disabled) {\n        this.panel.toggle();\n      }\n    }\n    /** Gets whether the panel is expanded. */\n    _isExpanded() {\n      return this.panel.expanded;\n    }\n    /** Gets the expanded state string of the panel. */\n    _getExpandedState() {\n      return this.panel._getExpandedState();\n    }\n    /** Gets the panel id. */\n    _getPanelId() {\n      return this.panel.id;\n    }\n    /** Gets the toggle position for the header. */\n    _getTogglePosition() {\n      return this.panel.togglePosition;\n    }\n    /** Gets whether the expand indicator should be shown. */\n    _showToggle() {\n      return !this.panel.hideToggle && !this.panel.disabled;\n    }\n    /**\n     * Gets the current height of the header. Null if no custom height has been\n     * specified, and if the default height from the stylesheet should be used.\n     */\n    _getHeaderHeight() {\n      const isExpanded = this._isExpanded();\n      if (isExpanded && this.expandedHeight) {\n        return this.expandedHeight;\n      } else if (!isExpanded && this.collapsedHeight) {\n        return this.collapsedHeight;\n      }\n      return null;\n    }\n    /** Handle keydown event calling to toggle() if appropriate. */\n    _keydown(event) {\n      switch (event.keyCode) {\n        // Toggle for space and enter keys.\n        case SPACE:\n        case ENTER:\n          if (!hasModifierKey(event)) {\n            event.preventDefault();\n            this._toggle();\n          }\n          break;\n        default:\n          if (this.panel.accordion) {\n            this.panel.accordion._handleHeaderKeydown(event);\n          }\n          return;\n      }\n    }\n    /**\n     * Focuses the panel header. Implemented as a part of `FocusableOption`.\n     * @param origin Origin of the action that triggered the focus.\n     * @docs-private\n     */\n    focus(origin, options) {\n      if (origin) {\n        this._focusMonitor.focusVia(this._element, origin, options);\n      } else {\n        this._element.nativeElement.focus(options);\n      }\n    }\n    ngAfterViewInit() {\n      this._focusMonitor.monitor(this._element).subscribe(origin => {\n        if (origin && this.panel.accordion) {\n          this.panel.accordion._handleHeaderFocus(this);\n        }\n      });\n    }\n    ngOnDestroy() {\n      this._parentChangeSubscription.unsubscribe();\n      this._focusMonitor.stopMonitoring(this._element);\n    }\n    static ɵfac = function MatExpansionPanelHeader_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatExpansionPanelHeader)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatExpansionPanelHeader,\n      selectors: [[\"mat-expansion-panel-header\"]],\n      hostAttrs: [\"role\", \"button\", 1, \"mat-expansion-panel-header\", \"mat-focus-indicator\"],\n      hostVars: 13,\n      hostBindings: function MatExpansionPanelHeader_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"click\", function MatExpansionPanelHeader_click_HostBindingHandler() {\n            return ctx._toggle();\n          })(\"keydown\", function MatExpansionPanelHeader_keydown_HostBindingHandler($event) {\n            return ctx._keydown($event);\n          });\n        }\n        if (rf & 2) {\n          i0.ɵɵattribute(\"id\", ctx.panel._headerId)(\"tabindex\", ctx.disabled ? -1 : ctx.tabIndex)(\"aria-controls\", ctx._getPanelId())(\"aria-expanded\", ctx._isExpanded())(\"aria-disabled\", ctx.panel.disabled);\n          i0.ɵɵstyleProp(\"height\", ctx._getHeaderHeight());\n          i0.ɵɵclassProp(\"mat-expanded\", ctx._isExpanded())(\"mat-expansion-toggle-indicator-after\", ctx._getTogglePosition() === \"after\")(\"mat-expansion-toggle-indicator-before\", ctx._getTogglePosition() === \"before\");\n        }\n      },\n      inputs: {\n        expandedHeight: \"expandedHeight\",\n        collapsedHeight: \"collapsedHeight\",\n        tabIndex: [2, \"tabIndex\", \"tabIndex\", value => value == null ? 0 : numberAttribute(value)]\n      },\n      ngContentSelectors: _c5,\n      decls: 5,\n      vars: 3,\n      consts: [[1, \"mat-content\"], [1, \"mat-expansion-indicator\"], [\"xmlns\", \"http://www.w3.org/2000/svg\", \"viewBox\", \"0 -960 960 960\", \"aria-hidden\", \"true\", \"focusable\", \"false\"], [\"d\", \"M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z\"]],\n      template: function MatExpansionPanelHeader_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c4);\n          i0.ɵɵelementStart(0, \"span\", 0);\n          i0.ɵɵprojection(1);\n          i0.ɵɵprojection(2, 1);\n          i0.ɵɵprojection(3, 2);\n          i0.ɵɵelementEnd();\n          i0.ɵɵtemplate(4, MatExpansionPanelHeader_Conditional_4_Template, 3, 0, \"span\", 1);\n        }\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mat-content-hide-toggle\", !ctx._showToggle());\n          i0.ɵɵadvance(4);\n          i0.ɵɵconditional(ctx._showToggle() ? 4 : -1);\n        }\n      },\n      styles: [\".mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:var(--mat-expansion-header-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title{color:var(--mat-expansion-header-text-color, var(--mat-sys-on-surface))}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header-description{flex-grow:2;color:var(--mat-expansion-header-description-color, var(--mat-sys-on-surface-variant))}.mat-expansion-panel-animations-enabled .mat-expansion-indicator{transition:transform 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header.mat-expanded .mat-expansion-indicator{transform:rotate(180deg)}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:\\\"\\\";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle;color:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-legacy-header-indicator-display, none)}.mat-expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-header-indicator-display, inline-block)}@media(forced-colors: active){.mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatExpansionPanelHeader;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Description element of a `<mat-expansion-panel-header>`.\n */\nlet MatExpansionPanelDescription = /*#__PURE__*/(() => {\n  class MatExpansionPanelDescription {\n    static ɵfac = function MatExpansionPanelDescription_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatExpansionPanelDescription)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatExpansionPanelDescription,\n      selectors: [[\"mat-panel-description\"]],\n      hostAttrs: [1, \"mat-expansion-panel-header-description\"]\n    });\n  }\n  return MatExpansionPanelDescription;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Title element of a `<mat-expansion-panel-header>`.\n */\nlet MatExpansionPanelTitle = /*#__PURE__*/(() => {\n  class MatExpansionPanelTitle {\n    static ɵfac = function MatExpansionPanelTitle_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatExpansionPanelTitle)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatExpansionPanelTitle,\n      selectors: [[\"mat-panel-title\"]],\n      hostAttrs: [1, \"mat-expansion-panel-header-title\"]\n    });\n  }\n  return MatExpansionPanelTitle;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Directive for a Material Design Accordion.\n */\nlet MatAccordion = /*#__PURE__*/(() => {\n  class MatAccordion extends CdkAccordion {\n    _keyManager;\n    /** Headers belonging to this accordion. */\n    _ownHeaders = new QueryList();\n    /** All headers inside the accordion. Includes headers inside nested accordions. */\n    _headers;\n    /** Whether the expansion indicator should be hidden. */\n    hideToggle = false;\n    /**\n     * Display mode used for all expansion panels in the accordion. Currently two display\n     * modes exist:\n     *  default - a gutter-like spacing is placed around any expanded panel, placing the expanded\n     *     panel at a different elevation from the rest of the accordion.\n     *  flat - no spacing is placed around expanded panels, showing all panels at the same\n     *     elevation.\n     */\n    displayMode = 'default';\n    /** The position of the expansion indicator. */\n    togglePosition = 'after';\n    ngAfterContentInit() {\n      this._headers.changes.pipe(startWith(this._headers)).subscribe(headers => {\n        this._ownHeaders.reset(headers.filter(header => header.panel.accordion === this));\n        this._ownHeaders.notifyOnChanges();\n      });\n      this._keyManager = new FocusKeyManager(this._ownHeaders).withWrap().withHomeAndEnd();\n    }\n    /** Handles keyboard events coming in from the panel headers. */\n    _handleHeaderKeydown(event) {\n      this._keyManager.onKeydown(event);\n    }\n    _handleHeaderFocus(header) {\n      this._keyManager.updateActiveItem(header);\n    }\n    ngOnDestroy() {\n      super.ngOnDestroy();\n      this._keyManager?.destroy();\n      this._ownHeaders.destroy();\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatAccordion_BaseFactory;\n      return function MatAccordion_Factory(__ngFactoryType__) {\n        return (ɵMatAccordion_BaseFactory || (ɵMatAccordion_BaseFactory = i0.ɵɵgetInheritedFactory(MatAccordion)))(__ngFactoryType__ || MatAccordion);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatAccordion,\n      selectors: [[\"mat-accordion\"]],\n      contentQueries: function MatAccordion_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, MatExpansionPanelHeader, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._headers = _t);\n        }\n      },\n      hostAttrs: [1, \"mat-accordion\"],\n      hostVars: 2,\n      hostBindings: function MatAccordion_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mat-accordion-multi\", ctx.multi);\n        }\n      },\n      inputs: {\n        hideToggle: [2, \"hideToggle\", \"hideToggle\", booleanAttribute],\n        displayMode: \"displayMode\",\n        togglePosition: \"togglePosition\"\n      },\n      exportAs: [\"matAccordion\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MAT_ACCORDION,\n        useExisting: MatAccordion\n      }]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return MatAccordion;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatExpansionModule = /*#__PURE__*/(() => {\n  class MatExpansionModule {\n    static ɵfac = function MatExpansionModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatExpansionModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: MatExpansionModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [MatCommonModule, CdkAccordionModule, PortalModule]\n    });\n  }\n  return MatExpansionModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Time and timing curve for expansion panel animations.\n * @deprecated No longer used. Will be removed.\n * @breaking-change 21.0.0\n */\nconst EXPANSION_PANEL_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';\n/**\n * Animations used by the Material expansion panel.\n *\n * A bug in angular animation's `state` when ViewContainers are moved using ViewContainerRef.move()\n * causes the animation state of moved components to become `void` upon exit, and not update again\n * upon reentry into the DOM. This can lead a to situation for the expansion panel where the state\n * of the panel is `expanded` or `collapsed` but the animation state is `void`.\n *\n * To correctly handle animating to the next state, we animate between `void` and `collapsed` which\n * are defined to have the same styles. Since angular animates from the current styles to the\n * destination state's style definition, in situations where we are moving from `void`'s styles to\n * `collapsed` this acts a noop since no style values change.\n *\n * In the case where angular's animation state is out of sync with the expansion panel's state, the\n * expansion panel being `expanded` and angular animations being `void`, the animation from the\n * `expanded`'s effective styles (though in a `void` animation state) to the collapsed state will\n * occur as expected.\n *\n * Angular Bug: https://github.com/angular/angular/issues/18847\n *\n * @docs-private\n * @deprecated No longer being used, to be removed.\n * @breaking-change 21.0.0\n */\nconst matExpansionAnimations = {\n  // Represents:\n  // trigger('indicatorRotate', [\n  //   state('collapsed, void', style({transform: 'rotate(0deg)'})),\n  //   state('expanded', style({transform: 'rotate(180deg)'})),\n  //   transition(\n  //     'expanded <=> collapsed, void => collapsed',\n  //     animate(EXPANSION_PANEL_ANIMATION_TIMING),\n  //   ),\n  // ])\n  /** Animation that rotates the indicator arrow. */\n  indicatorRotate: {\n    type: 7,\n    name: 'indicatorRotate',\n    definitions: [{\n      type: 0,\n      name: 'collapsed, void',\n      styles: {\n        type: 6,\n        styles: {\n          transform: 'rotate(0deg)'\n        },\n        offset: null\n      }\n    }, {\n      type: 0,\n      name: 'expanded',\n      styles: {\n        type: 6,\n        styles: {\n          transform: 'rotate(180deg)'\n        },\n        offset: null\n      }\n    }, {\n      type: 1,\n      expr: 'expanded <=> collapsed, void => collapsed',\n      animation: {\n        type: 4,\n        styles: null,\n        timings: '225ms cubic-bezier(0.4,0.0,0.2,1)'\n      },\n      options: null\n    }],\n    options: {}\n  },\n  // Represents:\n  // trigger('bodyExpansion', [\n  //   state('collapsed, void', style({height: '0px', visibility: 'hidden'})),\n  //   // Clear the `visibility` while open, otherwise the content will be visible when placed in\n  //   // a parent that's `visibility: hidden`, because `visibility` doesn't apply to descendants\n  //   // that have a `visibility` of their own (see #27436).\n  //   state('expanded', style({height: '*', visibility: ''})),\n  //   transition(\n  //     'expanded <=> collapsed, void => collapsed',\n  //     animate(EXPANSION_PANEL_ANIMATION_TIMING),\n  //   ),\n  // ])\n  /** Animation that expands and collapses the panel content. */\n  bodyExpansion: {\n    type: 7,\n    name: 'bodyExpansion',\n    definitions: [{\n      type: 0,\n      name: 'collapsed, void',\n      styles: {\n        type: 6,\n        styles: {\n          'height': '0px',\n          'visibility': 'hidden'\n        },\n        offset: null\n      }\n    }, {\n      type: 0,\n      name: 'expanded',\n      styles: {\n        type: 6,\n        styles: {\n          'height': '*',\n          'visibility': ''\n        },\n        offset: null\n      }\n    }, {\n      type: 1,\n      expr: 'expanded <=> collapsed, void => collapsed',\n      animation: {\n        type: 4,\n        styles: null,\n        timings: '225ms cubic-bezier(0.4,0.0,0.2,1)'\n      },\n      options: null\n    }],\n    options: {}\n  }\n};\nexport { EXPANSION_PANEL_ANIMATION_TIMING, MAT_ACCORDION, MAT_EXPANSION_PANEL, MAT_EXPANSION_PANEL_DEFAULT_OPTIONS, MatAccordion, MatExpansionModule, MatExpansionPanel, MatExpansionPanelActionRow, MatExpansionPanelContent, MatExpansionPanelDescription, MatExpansionPanelHeader, MatExpansionPanelTitle, matExpansionAnimations };\n","// core/data/faq.data.ts\r\n\r\nimport { CategorieFaq, FaqItem } from  '../interfaces/faq.interface';\r\n\r\nexport const FAQ_CATEGORIES: CategorieFaq[] = [\r\n  {\r\n    cle: 'process',\r\n    label: 'Délais & Process',\r\n    slug: 'process',\r\n  },\r\n  {\r\n    cle: 'tarifs',\r\n    label: 'Tarifs & Paiements',\r\n    slug: 'tarifs',\r\n  },\r\n  {\r\n    cle: 'seo',\r\n    label: 'SEO & Visibilité',\r\n    slug: 'seo',\r\n  },\r\n  {\r\n    cle: 'maintenance',\r\n    label: 'Maintenance & Évolutions',\r\n    slug: 'maintenance',\r\n  },\r\n  {\r\n    cle: 'localisation',\r\n    label: 'Pau & Collaboration',\r\n    slug: 'pau-collaboration',\r\n  },\r\n];\r\n\r\nexport const FAQ_ITEMS: FaqItem[] = [\r\n\r\n  /* =========================\r\n     🔥 MISE EN AVANT (HOME)\r\n     ========================= */\r\n\r\n  {\r\n    id: 'prix-site-vitrine-pau',\r\n    question: 'Combien coûte la création d’un site vitrine à Pau ?',\r\n    reponse: `Le prix d’un site vitrine à Pau dépend du nombre de pages, des fonctionnalités et du niveau de personnalisation. Pour un site professionnel optimisé SEO, le budget démarre généralement autour de 1 200€ et peut évoluer selon les besoins spécifiques (référencement local, formulaire avancé, blog, etc.). Travailler avec un développeur web freelance à Pau permet d’avoir un accompagnement personnalisé, une meilleure flexibilité et un budget optimisé par rapport à une agence.`,\r\n    categorie: 'tarifs',\r\n    miseEnAvant: true,\r\n  },\r\n\r\n  {\r\n    id: 'delai-site-vitrine',\r\n    question: 'Combien de temps faut-il pour créer un site vitrine professionnel ?',\r\n    reponse: `La création d’un site vitrine professionnel prend en moyenne entre 2 et 4 semaines. Ce délai inclut la phase de conception, le design, le développement et l’optimisation SEO. Pour un projet plus complexe ou sur mesure (Angular ou Symfony), le délai peut être plus long. Un planning clair est défini dès le départ afin de garantir une mise en ligne rapide et structurée.`,\r\n    categorie: 'process',\r\n    miseEnAvant: true,\r\n  },\r\n\r\n  {\r\n    id: 'wordpress-ou-sur-mesure',\r\n    question: 'Quelle est la différence entre un site WordPress et un site sur mesure ?',\r\n    reponse: `WordPress est une solution flexible et rapide à mettre en place, idéale pour les sites vitrines et les blogs. Un site sur mesure (développé en Angular ou Symfony) offre une performance supérieure, une sécurité renforcée et une personnalisation totale. Le choix dépend des objectifs du projet, du budget et des besoins d’évolution à long terme.`,\r\n    categorie: 'process',\r\n    miseEnAvant: true,\r\n  },\r\n\r\n  {\r\n    id: 'seo-local-pau',\r\n    question: 'Comment référencer un site vitrine à Pau ?',\r\n    reponse: `Le référencement local à Pau repose sur une structure technique optimisée, un contenu ciblé sur des mots-clés locaux (ex : \"création site web Pau\"), une fiche Google Business Profile bien configurée et des performances techniques élevées. Un site rapide, sécurisé et bien structuré améliore fortement sa visibilité sur Google.`,\r\n    categorie: 'seo',\r\n    miseEnAvant: true,\r\n  },\r\n\r\n  {\r\n    id: 'freelance-ou-agence',\r\n    question: 'Pourquoi choisir un développeur web freelance plutôt qu’une agence ?',\r\n    reponse: `Un développeur web freelance offre un contact direct, plus de flexibilité et souvent un coût plus maîtrisé qu’une agence. Vous bénéficiez d’un interlocuteur unique, d’un accompagnement personnalisé et d’une relation de confiance sur le long terme. Pour un projet local à Pau ou en Nouvelle-Aquitaine, cette proximité est un réel avantage.`,\r\n    categorie: 'localisation',\r\n    miseEnAvant: true,\r\n  },\r\n\r\n  {\r\n    id: 'site-gratuit-entreprise',\r\n    question: 'Un site web gratuit est-il suffisant pour une entreprise ?',\r\n    reponse: `Les plateformes gratuites peuvent convenir pour un projet personnel, mais elles montrent rapidement leurs limites pour une entreprise : performance réduite, référencement faible, design peu différenciant et absence de personnalisation avancée. Un site professionnel sur mesure ou WordPress optimisé permet d’améliorer la crédibilité et la visibilité sur Google.`,\r\n    categorie: 'tarifs',\r\n    miseEnAvant: true,\r\n  },\r\n\r\n  /* =========================\r\n     PROCESS\r\n     ========================= */\r\n\r\n  { id: 'etapes-creation-site', question: 'Quelles sont les étapes pour créer un site web sur mesure ?', reponse: `La création d’un site web sur mesure suit plusieurs étapes structurées : analyse de vos besoins, définition des objectifs, conception de l’architecture et de l’expérience utilisateur (UX), design graphique, développement technique, optimisation SEO et mise en ligne. Contrairement à une solution standardisée, un développement sur mesure permet d’adapter précisément les fonctionnalités, les performances et la sécurité aux besoins de votre activité. Chaque étape est validée ensemble afin de garantir un résultat professionnel, évolutif et performant.`, categorie: 'process' },\r\n  { id: 'deroulement-projet', question: 'Comment se déroule un projet de création de site web avec un freelance ?', reponse: `Un projet de création de site web avec un freelance commence par un échange approfondi pour comprendre vos objectifs et votre cible. Ensuite, un devis détaillé est établi. Le développement se fait par étapes avec des validations intermédiaires (maquette, version test, ajustements). Cette méthode permet une communication fluide, une grande flexibilité et un accompagnement personnalisé jusqu’à la mise en ligne du site.`, categorie: 'process' },\r\n\r\n  { id: 'cahier-des-charges', question: 'Faut-il un cahier des charges pour créer un site web ?', reponse: `Un cahier des charges n’est pas obligatoire, mais il est fortement recommandé. Il permet de définir clairement les objectifs du site, les fonctionnalités attendues, la structure des pages, le budget et les délais. Même pour un site vitrine, formaliser les besoins évite les incompréhensions et garantit un développement plus efficace et maîtrisé.`, categorie: 'process' },\r\n\r\n  { id: 'site-moins-1-mois', question: 'Peut-on créer un site professionnel en moins d’un mois ?',   reponse: `Oui, il est tout à fait possible de créer un site vitrine professionnel en moins d’un mois, à condition que le contenu (textes, images, logo) soit prêt dès le départ et que le périmètre du projet soit bien défini. Un site simple avec 4 à 6 pages peut être développé rapidement tout en restant optimisé pour le référencement naturel. Pour un projet plus complexe ou sur mesure, le délai peut être légèrement plus long afin de garantir qualité, performance et sécurité.`,\r\n   categorie: 'process' },\r\n\r\n  { id: 'nombre-pages-site', question: 'Combien de pages faut-il pour un site vitrine efficace ?',   reponse: `Un site vitrine efficace comporte généralement entre 4 et 8 pages : accueil, services, à propos, contact, et éventuellement une page dédiée au référencement local ou un blog. L’objectif n’est pas d’avoir le plus grand nombre de pages possible, mais une structure claire, optimisée pour le SEO et orientée conversion. Chaque page doit répondre à une intention précise et intégrer des mots-clés stratégiques.`,\r\n   categorie: 'process' },\r\n\r\n  { id: 'duree-wordpress', question: 'Quelle est la durée moyenne de développement d’un site WordPress ?', reponse: `La création d’un site WordPress prend généralement entre 2 et 5 semaines selon la complexité du projet. Un site vitrine standard peut être mis en ligne rapidement, tandis qu’un site avec fonctionnalités avancées (e-commerce, espace membre, réservations) demande plus de temps. Le délai dépend aussi de la disponibilité des contenus et des validations intermédiaires.`, categorie: 'process' },\r\n\r\n  { id: 'angular-vs-wordpress', question: 'Quelle est la différence entre WordPress et un développement sur mesure ?',\r\n    reponse: `WordPress est une solution flexible et rapide à mettre en place, idéale pour les sites vitrines, blogs ou petites boutiques en ligne. Un développement sur mesure, réalisé avec un framework comme Angular , Symfony,React etc. permet de créer des applications web plus complexes, plus performantes et totalement personnalisées. Le choix dépend des objectifs du projet, du budget et du niveau d’évolutivité souhaité.`, categorie: 'process' },\r\n\r\n  /* =========================\r\n     TARIFS\r\n     ========================= */\r\n\r\n  { id: 'prix-site-2026', question: 'Quel est le prix d’un site vitrine en 2026 ?', reponse: `En 2026, le prix d’un site vitrine professionnel varie généralement entre 1 000€ et 3 000€ selon le niveau de personnalisation, le nombre de pages, l’optimisation SEO et les fonctionnalités spécifiques. Un site sur mesure ou avec des besoins techniques avancés peut nécessiter un budget plus important. L’objectif est d’investir dans un outil durable qui génère de la visibilité et des opportunités commerciales.`, categorie: 'tarifs' },\r\n\r\n  { id: 'prix-freelance-pau', question: 'Combien coûte un développeur web freelance à Pau ?', reponse: `Le tarif d’un développeur web freelance à Pau dépend de l’expérience, de la complexité du projet et des technologies utilisées (WordPress, Angular, Symfony). Un freelance propose généralement un meilleur rapport qualité/prix qu’une agence, avec un accompagnement personnalisé et une communication directe tout au long du projet.`, categorie: 'tarifs' },\r\n\r\n  { id: 'variation-prix-site', question: 'Pourquoi le prix d’un site web varie-t-il autant ?', reponse: `Le prix d’un site web varie selon plusieurs critères : design personnalisé ou template, nombre de pages, fonctionnalités spécifiques (formulaire avancé, espace membre, e-commerce), optimisation SEO, performance et sécurité. Plus le site est stratégique pour votre activité, plus il nécessite un travail technique approfondi.`, categorie: 'tarifs' },\r\n  { id: 'budget-site-pro', question: 'Quel budget prévoir pour un site web professionnel ?', reponse: `Pour un site web professionnel, il est conseillé de prévoir un budget adapté à vos objectifs. Un site vitrine bien optimisé démarre autour de 1 000€, tandis qu’un projet sur mesure ou e-commerce peut nécessiter un investissement plus important. Un site performant doit être considéré comme un levier de développement commercial, et non comme une simple dépense.`, categorie: 'tarifs' },\r\n\r\n  { id: 'cout-maintenance-wordpress', question: 'Combien coûte la maintenance d’un site WordPress ?', reponse: `La maintenance d’un site WordPress comprend les mises à jour du système, des extensions et du thème, les sauvegardes régulières ainsi que la surveillance de sécurité. Son coût dépend du niveau de suivi souhaité (mensuel ou annuel). Une maintenance sérieuse permet d’éviter les piratages, les bugs et les pertes de données.`, categorie: 'tarifs' },\r\n  { id: 'abonnement-site', question: 'Faut-il payer un abonnement mensuel pour un site web ?', reponse: `Un site web ne nécessite pas forcément d’abonnement mensuel obligatoire. Les frais récurrents concernent principalement l’hébergement et le nom de domaine. Certaines prestations complémentaires comme la maintenance ou le référencement peuvent être proposées sous forme de forfait selon vos besoins.`, categorie: 'tarifs' },\r\n\r\n  /* =========================\r\n     SEO\r\n     ========================= */\r\n\r\n  { id: 'apparaitre-google-local', question: 'Comment apparaître sur Google quand on est une entreprise locale ?', reponse: `Pour apparaître sur Google en tant qu’entreprise locale, il est essentiel d’optimiser son site pour le référencement local : mots-clés géolocalisés (ex : \"création site web Pau\"), fiche Google Business Profile complète, site rapide et mobile-friendly. La cohérence des informations (adresse, téléphone) et un contenu pertinent améliorent également la visibilité locale.`, categorie: 'seo' },\r\n  { id: 'wordpress-seo', question: 'Un site WordPress est-il bon pour le SEO ?', reponse: `WordPress est parfaitement adapté au SEO à condition d’être correctement configuré. Une structure optimisée, un thème performant, des extensions adaptées et un contenu stratégique permettent d’obtenir d’excellents résultats. La qualité technique du développement reste cependant déterminante pour le référencement.`, categorie: 'seo' },\r\n\r\n  { id: 'angular-seo', question: 'Angular est-il optimisé pour le référencement naturel ?',   reponse: `Un site développé avec Angular peut être optimisé pour le référencement naturel, à condition d’utiliser une configuration adaptée qui permet aux moteurs de recherche d’indexer correctement le contenu. Bien configuré, un site sur mesure peut offrir d’excellentes performances, une grande rapidité et une structure technique propre, ce qui favorise le SEO. L’optimisation dépend avant tout de la qualité du développement et de la stratégie de contenu.`,\r\n    categorie: 'seo' },\r\n\r\n  { id: 'seo-vs-ads', question: 'Quelle est la différence entre SEO et publicité Google Ads ?',reponse: `Le SEO (référencement naturel) permet d’apparaître durablement dans les résultats de Google sans payer à chaque clic. Google Ads est une solution publicitaire payante qui offre une visibilité immédiate. Le SEO est un investissement long terme, tandis que la publicité génère des résultats rapides mais temporaires.`, categorie: 'seo' },\r\n\r\n  { id: 'temps-resultat-seo', question: 'Combien de temps faut-il pour voir des résultats en SEO ?', reponse: `Les résultats en SEO apparaissent généralement entre 3 et 6 mois selon la concurrence et la qualité de l’optimisation. Le référencement naturel est un travail progressif qui vise à construire une visibilité durable sur Google, notamment sur des requêtes locales stratégiques.`, categorie: 'seo' },\r\n\r\n  { id: 'vitesse-seo', question: 'Pourquoi la vitesse d’un site influence-t-elle le SEO ?', reponse: `La vitesse de chargement influence directement l’expérience utilisateur et le classement sur Google. Un site rapide réduit le taux de rebond, améliore la navigation mobile et favorise un meilleur positionnement dans les résultats de recherche.`, categorie: 'seo' },\r\n\r\n  /* =========================\r\n     MAINTENANCE\r\n     ========================= */\r\n\r\n  { id: 'maj-wordpress', question: 'Faut-il maintenir un site WordPress régulièrement ?', reponse: `Un site WordPress doit être maintenu régulièrement afin d’éviter les failles de sécurité et les problèmes techniques. Les mises à jour de WordPress, des extensions (plugins) et du thème sont essentielles pour garantir la stabilité et la performance du site. Une maintenance régulière permet également de prévenir les bugs et d’assurer un bon fonctionnement dans le temps.`, categorie: 'maintenance' },\r\n  { id: 'frequence-maj', question: 'À quelle fréquence faut-il mettre à jour un site web ?',reponse: `Il est recommandé de vérifier et appliquer les mises à jour au minimum une fois par mois. Certains correctifs de sécurité peuvent nécessiter une intervention plus rapide pour protéger le site.`, categorie: 'maintenance' },\r\n\r\n  { id: 'ajout-boutique', question: 'Peut-on ajouter une boutique en ligne plus tard ?', reponse: `Oui, un site vitrine peut évoluer vers un site e-commerce si l’architecture a été pensée pour être évolutive. Ajouter une boutique en ligne est possible sans reconstruire entièrement le site, à condition d’avoir anticipé cette évolution.`, categorie: 'maintenance' },\r\n  { id: 'securite-wordpress', question: 'Comment sécuriser un site WordPress contre le piratage ?',reponse: `La sécurisation d’un site WordPress passe par des mises à jour régulières, des sauvegardes automatiques, un hébergement fiable et une configuration technique adaptée. Un site bien maintenu limite fortement les risques de piratage.`, categorie: 'maintenance' },\r\n  { id: 'refonte-site', question: 'Quand faut-il envisager une refonte complète ?',reponse: `Une refonte est nécessaire lorsque le site devient obsolète, lent, non adapté au mobile ou mal référencé. Moderniser son site améliore l’image de marque, la performance et la visibilité sur Google.`, categorie: 'maintenance' },\r\n\r\n  /* =========================\r\n     LOCALISATION\r\n     ========================= */\r\n\r\n  { id: 'freelance-pau', question: 'Pourquoi choisir un développeur web freelance à Pau ?', reponse: `Choisir un développeur web freelance à Pau permet de bénéficier d’un accompagnement personnalisé, d’une communication directe et d’une meilleure compréhension du marché local. La proximité facilite les échanges tout en conservant la flexibilité du travail à distance.`, categorie: 'localisation' },\r\n  { id: 'freelance-vs-agence-pau', question: 'Est-il préférable de choisir un freelance ou une agence à Pau ?',reponse: `Un freelance offre généralement un interlocuteur unique, plus de réactivité et un coût maîtrisé. Une agence peut mobiliser plusieurs profils, mais le budget est souvent plus élevé. Le choix dépend de la complexité du projet et du niveau d’accompagnement souhaité.`, categorie: 'localisation' },\r\n  { id: 'choisir-developpeur-pau', question: 'Comment choisir un développeur web à Pau ?', reponse: `Pour choisir un développeur web à Pau, analysez son portfolio, les technologies utilisées (WordPress, Angular, Symfony), les avis clients et sa capacité à comprendre vos objectifs commerciaux. L’expertise technique doit s’accompagner d’une vision stratégique.`, categorie: 'localisation' },\r\n  { id: 'travail-distance', question: 'Peut-on travailler à distance avec un développeur web ?', reponse: `Oui, il est tout à fait possible de travailler à distance grâce aux outils de visioconférence et de gestion de projet. La communication reste fluide et les échanges réguliers garantissent le bon déroulement du projet.`, categorie: 'localisation' },\r\n  { id: 'marche-local-pau', question: 'Comment optimiser un site pour le marché local à Pau ?', reponse: `Optimiser un site pour le marché local à Pau implique d’intégrer des mots-clés géolocalisés, d’optimiser la fiche Google Business et de produire un contenu adapté à votre zone d’intervention. Cela améliore la visibilité auprès des clients locaux.`, categorie: 'localisation' },\r\n\r\n];\r\n","import { Injectable } from '@angular/core';\r\nimport {CategorieFaq, CleCategorieFaq, FaqItem} from '../../../core/interfaces/faq.interface';\r\nimport {FAQ_CATEGORIES, FAQ_ITEMS} from '../../../core/data/faq-questions';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class FaqService {\r\n\r\n  constructor() { }\r\n\r\n  getCategories() : CategorieFaq[]{\r\n    return FAQ_CATEGORIES;\r\n  }\r\n  getAll():FaqItem[]{\r\n    return FAQ_ITEMS;\r\n  }\r\n  getMiseEnAvant(limit =8) : FaqItem[]{\r\n    return FAQ_ITEMS.filter(item=> item.miseEnAvant).slice(0,limit)\r\n  }\r\n  getParCategorie(cle:CleCategorieFaq):FaqItem[]{\r\n    return FAQ_ITEMS.filter(item=> item.categorie === cle);\r\n  }\r\n\r\n  rechercher(terme:string):FaqItem[]{\r\n    const t = terme.toLowerCase();\r\n    return FAQ_ITEMS.filter(item=>\r\n      item.question.toLowerCase().includes(t) ||\r\n      item.reponse.toLowerCase().includes(t) ||\r\n      item.motsCles?.some(mot=> mot.toLowerCase().includes(t))\r\n    );\r\n  }\r\n}\r\n","import {Component, OnInit} from '@angular/core';\r\nimport { MatExpansionModule} from '@angular/material/expansion';\r\nimport {RouterLink} from '@angular/router';\r\nimport {FaqItem} from '../../../../core/interfaces/faq.interface';\r\nimport {FaqService} from '../../../faq-page/services/faq.service';\r\nimport {AnimatedTextDirective} from '../../../../core/directives/animated-text.directive';\r\nimport {AnimatedCardDirective} from '../../../../core/directives/animated-card.directive';\r\nimport {LucideMessageCircle} from '@lucide/angular';\r\n\r\n@Component({\r\n  selector: 'app-faq-section',\r\n  imports: [MatExpansionModule, RouterLink, LucideMessageCircle],\r\n  templateUrl: './faq-section.component.html',\r\n  styleUrl: './faq-section.component.sass'\r\n})\r\nexport class FaqSectionComponent implements OnInit {\r\n\r\n  faqItems !: FaqItem[];\r\n\r\n  constructor(private faqService : FaqService) {\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.faqItems = this.faqService.getMiseEnAvant(6)\r\n  }\r\n\r\n}\r\n","<section id=\"faq-section\" class=\"faq-section\">\r\n\r\n  <div class=\"background\">\r\n    <div class=\"shape shape-left\"></div>\r\n    <div class=\"shape shape-center\"></div>\r\n    <div class=\"shape shape-right\"></div>\r\n  </div>\r\n  <div class=\"container\">\r\n    <div class=\"section-header\">\r\n      <h2 >Questions <span class=\"highlight\">fréquentes</span></h2>\r\n      <p>Tout ce que vous devez savoir avant de lancer votre projet web.</p>\r\n      <div class=\"divider\"></div>\r\n\r\n    </div>\r\n    <div class=\"section-body\">\r\n      <mat-accordion>\r\n        @for (faq of faqItems; track $index) {\r\n\r\n          <mat-expansion-panel >\r\n            <mat-expansion-panel-header>\r\n              <mat-panel-title> {{ faq.question }}</mat-panel-title>\r\n\r\n            </mat-expansion-panel-header>\r\n            <p>{{ faq.reponse }}</p>\r\n          </mat-expansion-panel>\r\n        }\r\n      </mat-accordion>\r\n      <div class=\"faq-cta-container \">\r\n        <div class=\"cta-card\">\r\n          <div class=\"left\">\r\n            <div class=\"icon\"><svg lucideMessageCircle></svg></div>\r\n            <div class=\"card-text\">\r\n              <h3>Vous avez encore une question ?</h3>\r\n              <p class=\"mb-0\">Contactez-moi et discutons de votre projet.</p>\r\n            </div>\r\n          </div>\r\n          <div class=\"right\">\r\n\r\n            <a class=\"btn secondary\" [routerLink]=\"'/questions-frequentes'\">\r\n              Voir toutes les questions\r\n            </a>\r\n            <a href=\"#contact\" class=\"btn primary\">Me contacter</a>\r\n\r\n\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</section>\r\n","import {\r\n  AfterViewInit,\r\n  Component,\r\n  OnDestroy,\r\n\r\n} from '@angular/core';\r\n\r\nimport {MatCardModule} from '@angular/material/card';\r\nimport {MatTooltipModule} from '@angular/material/tooltip';\r\nimport {MatListModule} from '@angular/material/list';\r\nimport { ReactiveFormsModule} from '@angular/forms';\r\n\r\nimport {MatInputModule} from '@angular/material/input';\r\nimport {MatFormFieldModule} from '@angular/material/form-field';\r\nimport {HeroComponent} from './sections/hero/hero.component';\r\nimport {AboutComponent} from './sections/about/about.component';\r\nimport {ServicesComponent} from './sections/services/services.component';\r\nimport {PortfolioComponent} from './sections/portfolio/portfolio.component';\r\nimport {TarifsComponent} from './sections/tarifs/tarifs.component';\r\nimport {ContactComponent} from './sections/contact/contact.component';\r\nimport {FaqSectionComponent} from './sections/faq-section/faq-section.component';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {Subscription} from 'rxjs';\r\nimport {ViewportScroller} from '@angular/common';\r\n\r\n\r\n\r\n\r\n\r\n@Component({\r\n  selector: 'app-home',\r\n  imports: [MatCardModule, MatTooltipModule, MatListModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, HeroComponent, AboutComponent, ServicesComponent, PortfolioComponent, TarifsComponent, ContactComponent, FaqSectionComponent],\r\n  standalone: true,\r\n  templateUrl: './home.component.html',\r\n  styleUrl: './home.component.sass',\r\n})\r\nexport class HomeComponent implements AfterViewInit, OnDestroy {\r\n  private sub?: Subscription;\r\n\r\n  constructor(\r\n    private route: ActivatedRoute,\r\n    private viewportScroller: ViewportScroller\r\n  ) {\r\n    // OPTIONNEL : si header sticky, ajoute un offset (ex: 80px)\r\n    // Mets ici la hauteur réelle de ton header (ou calcule-la).\r\n    this.viewportScroller.setOffset([0, 80]);\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    this.sub = this.route.fragment.subscribe(fragment => {\r\n      if (!fragment) return;\r\n\r\n      // Laisse Angular finir le rendu\r\n      setTimeout(() => {\r\n        this.viewportScroller.scrollToAnchor(fragment);\r\n      }, 0);\r\n    });\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.sub?.unsubscribe();\r\n  }\r\n}\r\n","\r\n  <app-hero></app-hero>\r\n  <app-about></app-about>\r\n  <app-services></app-services>\r\n  <app-portfolio></app-portfolio>\r\n  <app-tarifs></app-tarifs>\r\n  <app-faq-section></app-faq-section>\r\n  <app-contact></app-contact>\r\n\r\n\r\n","import { FocusKeyManager, _IdGenerator, CdkMonitorFocus, FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { hasModifierKey, SPACE, ENTER } from '@angular/cdk/keycodes';\nimport { SharedResizeObserver } from '@angular/cdk/observers/private';\nimport { Platform, _bindEventWithOptions } from '@angular/cdk/platform';\nimport { ViewportRuler, CdkScrollable } from '@angular/cdk/scrolling';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, inject, TemplateRef, Directive, ViewContainerRef, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ContentChild, ViewChild, ElementRef, ChangeDetectorRef, NgZone, Injector, Renderer2, ANIMATION_MODULE_TYPE, EventEmitter, afterNextRender, numberAttribute, Output, ContentChildren, QueryList, ViewChildren, signal, forwardRef, computed, HostAttributeToken, NgModule } from '@angular/core';\nimport { Subject, of, merge, EMPTY, Observable, timer, Subscription, BehaviorSubject } from 'rxjs';\nimport { debounceTime, takeUntil, startWith, switchMap, skip, filter } from 'rxjs/operators';\nimport { CdkPortal, TemplatePortal, CdkPortalOutlet } from '@angular/cdk/portal';\nimport { _CdkPrivateStyleLoader } from '@angular/cdk/private';\nimport { _ as _StructuralStylesLoader } from './structural-styles-BQUT6wsL.mjs';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport { M as MatRipple, a as MAT_RIPPLE_GLOBAL_OPTIONS } from './ripple-BT3tzh6F.mjs';\nimport { M as MatCommonModule } from './common-module-WayjW0Pb.mjs';\nimport '@angular/cdk/coercion';\n\n/**\n * Injection token that can be used to reference instances of `MatTabContent`. It serves as\n * alternative token to the actual `MatTabContent` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst _c0 = [\"*\"];\nfunction MatTab_ng_template_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵprojection(0);\n  }\n}\nconst _c1 = [\"tabListContainer\"];\nconst _c2 = [\"tabList\"];\nconst _c3 = [\"tabListInner\"];\nconst _c4 = [\"nextPaginator\"];\nconst _c5 = [\"previousPaginator\"];\nconst _c6 = [\"content\"];\nfunction MatTabBody_ng_template_2_Template(rf, ctx) {}\nconst _c7 = [\"tabBodyWrapper\"];\nconst _c8 = [\"tabHeader\"];\nfunction MatTabGroup_For_3_Conditional_6_ng_template_0_Template(rf, ctx) {}\nfunction MatTabGroup_For_3_Conditional_6_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵtemplate(0, MatTabGroup_For_3_Conditional_6_ng_template_0_Template, 0, 0, \"ng-template\", 12);\n  }\n  if (rf & 2) {\n    const tab_r4 = i0.ɵɵnextContext().$implicit;\n    i0.ɵɵproperty(\"cdkPortalOutlet\", tab_r4.templateLabel);\n  }\n}\nfunction MatTabGroup_For_3_Conditional_7_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵtext(0);\n  }\n  if (rf & 2) {\n    const tab_r4 = i0.ɵɵnextContext().$implicit;\n    i0.ɵɵtextInterpolate(tab_r4.textLabel);\n  }\n}\nfunction MatTabGroup_For_3_Template(rf, ctx) {\n  if (rf & 1) {\n    const _r2 = i0.ɵɵgetCurrentView();\n    i0.ɵɵelementStart(0, \"div\", 7, 2);\n    i0.ɵɵlistener(\"click\", function MatTabGroup_For_3_Template_div_click_0_listener() {\n      const ctx_r2 = i0.ɵɵrestoreView(_r2);\n      const tab_r4 = ctx_r2.$implicit;\n      const $index_r5 = ctx_r2.$index;\n      const ctx_r5 = i0.ɵɵnextContext();\n      const tabHeader_r7 = i0.ɵɵreference(1);\n      return i0.ɵɵresetView(ctx_r5._handleClick(tab_r4, tabHeader_r7, $index_r5));\n    })(\"cdkFocusChange\", function MatTabGroup_For_3_Template_div_cdkFocusChange_0_listener($event) {\n      const $index_r5 = i0.ɵɵrestoreView(_r2).$index;\n      const ctx_r5 = i0.ɵɵnextContext();\n      return i0.ɵɵresetView(ctx_r5._tabFocusChanged($event, $index_r5));\n    });\n    i0.ɵɵelement(2, \"span\", 8)(3, \"div\", 9);\n    i0.ɵɵelementStart(4, \"span\", 10)(5, \"span\", 11);\n    i0.ɵɵtemplate(6, MatTabGroup_For_3_Conditional_6_Template, 1, 1, null, 12)(7, MatTabGroup_For_3_Conditional_7_Template, 1, 1);\n    i0.ɵɵelementEnd()()();\n  }\n  if (rf & 2) {\n    const tab_r4 = ctx.$implicit;\n    const $index_r5 = ctx.$index;\n    const tabNode_r8 = i0.ɵɵreference(1);\n    const ctx_r5 = i0.ɵɵnextContext();\n    i0.ɵɵclassMap(tab_r4.labelClass);\n    i0.ɵɵclassProp(\"mdc-tab--active\", ctx_r5.selectedIndex === $index_r5);\n    i0.ɵɵproperty(\"id\", ctx_r5._getTabLabelId(tab_r4, $index_r5))(\"disabled\", tab_r4.disabled)(\"fitInkBarToContent\", ctx_r5.fitInkBarToContent);\n    i0.ɵɵattribute(\"tabIndex\", ctx_r5._getTabIndex($index_r5))(\"aria-posinset\", $index_r5 + 1)(\"aria-setsize\", ctx_r5._tabs.length)(\"aria-controls\", ctx_r5._getTabContentId($index_r5))(\"aria-selected\", ctx_r5.selectedIndex === $index_r5)(\"aria-label\", tab_r4.ariaLabel || null)(\"aria-labelledby\", !tab_r4.ariaLabel && tab_r4.ariaLabelledby ? tab_r4.ariaLabelledby : null);\n    i0.ɵɵadvance(3);\n    i0.ɵɵproperty(\"matRippleTrigger\", tabNode_r8)(\"matRippleDisabled\", tab_r4.disabled || ctx_r5.disableRipple);\n    i0.ɵɵadvance(3);\n    i0.ɵɵconditional(tab_r4.templateLabel ? 6 : 7);\n  }\n}\nfunction MatTabGroup_Conditional_4_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵprojection(0);\n  }\n}\nfunction MatTabGroup_For_8_Template(rf, ctx) {\n  if (rf & 1) {\n    const _r9 = i0.ɵɵgetCurrentView();\n    i0.ɵɵelementStart(0, \"mat-tab-body\", 13);\n    i0.ɵɵlistener(\"_onCentered\", function MatTabGroup_For_8_Template_mat_tab_body__onCentered_0_listener() {\n      i0.ɵɵrestoreView(_r9);\n      const ctx_r5 = i0.ɵɵnextContext();\n      return i0.ɵɵresetView(ctx_r5._removeTabBodyWrapperHeight());\n    })(\"_onCentering\", function MatTabGroup_For_8_Template_mat_tab_body__onCentering_0_listener($event) {\n      i0.ɵɵrestoreView(_r9);\n      const ctx_r5 = i0.ɵɵnextContext();\n      return i0.ɵɵresetView(ctx_r5._setTabBodyWrapperHeight($event));\n    })(\"_beforeCentering\", function MatTabGroup_For_8_Template_mat_tab_body__beforeCentering_0_listener($event) {\n      i0.ɵɵrestoreView(_r9);\n      const ctx_r5 = i0.ɵɵnextContext();\n      return i0.ɵɵresetView(ctx_r5._bodyCentered($event));\n    });\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    const tab_r10 = ctx.$implicit;\n    const $index_r11 = ctx.$index;\n    const ctx_r5 = i0.ɵɵnextContext();\n    i0.ɵɵclassMap(tab_r10.bodyClass);\n    i0.ɵɵproperty(\"id\", ctx_r5._getTabContentId($index_r11))(\"content\", tab_r10.content)(\"position\", tab_r10.position)(\"animationDuration\", ctx_r5.animationDuration)(\"preserveContent\", ctx_r5.preserveContent);\n    i0.ɵɵattribute(\"tabindex\", ctx_r5.contentTabIndex != null && ctx_r5.selectedIndex === $index_r11 ? ctx_r5.contentTabIndex : null)(\"aria-labelledby\", ctx_r5._getTabLabelId(tab_r10, $index_r11))(\"aria-hidden\", ctx_r5.selectedIndex !== $index_r11);\n  }\n}\nconst _c9 = [\"mat-tab-nav-bar\", \"\"];\nconst _c10 = [\"mat-tab-link\", \"\"];\nconst MAT_TAB_CONTENT = /*#__PURE__*/new InjectionToken('MatTabContent');\n/** Decorates the `ng-template` tags and reads out the template from it. */\nlet MatTabContent = /*#__PURE__*/(() => {\n  class MatTabContent {\n    template = inject(TemplateRef);\n    constructor() {}\n    static ɵfac = function MatTabContent_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatTabContent)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatTabContent,\n      selectors: [[\"\", \"matTabContent\", \"\"]],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MAT_TAB_CONTENT,\n        useExisting: MatTabContent\n      }])]\n    });\n  }\n  return MatTabContent;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Injection token that can be used to reference instances of `MatTabLabel`. It serves as\n * alternative token to the actual `MatTabLabel` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_TAB_LABEL = /*#__PURE__*/new InjectionToken('MatTabLabel');\n/**\n * Used to provide a tab label to a tab without causing a circular dependency.\n * @docs-private\n */\nconst MAT_TAB = /*#__PURE__*/new InjectionToken('MAT_TAB');\n/** Used to flag tab labels for use with the portal directive */\nlet MatTabLabel = /*#__PURE__*/(() => {\n  class MatTabLabel extends CdkPortal {\n    _closestTab = inject(MAT_TAB, {\n      optional: true\n    });\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatTabLabel_BaseFactory;\n      return function MatTabLabel_Factory(__ngFactoryType__) {\n        return (ɵMatTabLabel_BaseFactory || (ɵMatTabLabel_BaseFactory = i0.ɵɵgetInheritedFactory(MatTabLabel)))(__ngFactoryType__ || MatTabLabel);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatTabLabel,\n      selectors: [[\"\", \"mat-tab-label\", \"\"], [\"\", \"matTabLabel\", \"\"]],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MAT_TAB_LABEL,\n        useExisting: MatTabLabel\n      }]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return MatTabLabel;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Used to provide a tab group to a tab without causing a circular dependency.\n * @docs-private\n */\nconst MAT_TAB_GROUP = /*#__PURE__*/new InjectionToken('MAT_TAB_GROUP');\nlet MatTab = /*#__PURE__*/(() => {\n  class MatTab {\n    _viewContainerRef = inject(ViewContainerRef);\n    _closestTabGroup = inject(MAT_TAB_GROUP, {\n      optional: true\n    });\n    /** whether the tab is disabled. */\n    disabled = false;\n    /** Content for the tab label given by `<ng-template mat-tab-label>`. */\n    get templateLabel() {\n      return this._templateLabel;\n    }\n    set templateLabel(value) {\n      this._setTemplateLabelInput(value);\n    }\n    _templateLabel;\n    /**\n     * Template provided in the tab content that will be used if present, used to enable lazy-loading\n     */\n    _explicitContent = undefined;\n    /** Template inside the MatTab view that contains an `<ng-content>`. */\n    _implicitContent;\n    /** Plain text label for the tab, used when there is no template label. */\n    textLabel = '';\n    /** Aria label for the tab. */\n    ariaLabel;\n    /**\n     * Reference to the element that the tab is labelled by.\n     * Will be cleared if `aria-label` is set at the same time.\n     */\n    ariaLabelledby;\n    /** Classes to be passed to the tab label inside the mat-tab-header container. */\n    labelClass;\n    /** Classes to be passed to the tab mat-tab-body container. */\n    bodyClass;\n    /**\n     * Custom ID for the tab, overriding the auto-generated one by Material.\n     * Note that when using this input, it's your responsibility to ensure that the ID is unique.\n     */\n    id = null;\n    /** Portal that will be the hosted content of the tab */\n    _contentPortal = null;\n    /** @docs-private */\n    get content() {\n      return this._contentPortal;\n    }\n    /** Emits whenever the internal state of the tab changes. */\n    _stateChanges = new Subject();\n    /**\n     * The relatively indexed position where 0 represents the center, negative is left, and positive\n     * represents the right.\n     */\n    position = null;\n    // TODO(crisbeto): we no longer use this, but some internal apps appear to rely on it.\n    /**\n     * The initial relatively index origin of the tab if it was created and selected after there\n     * was already a selected tab. Provides context of what position the tab should originate from.\n     */\n    origin = null;\n    /**\n     * Whether the tab is currently active.\n     */\n    isActive = false;\n    constructor() {\n      inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n    }\n    ngOnChanges(changes) {\n      if (changes.hasOwnProperty('textLabel') || changes.hasOwnProperty('disabled')) {\n        this._stateChanges.next();\n      }\n    }\n    ngOnDestroy() {\n      this._stateChanges.complete();\n    }\n    ngOnInit() {\n      this._contentPortal = new TemplatePortal(this._explicitContent || this._implicitContent, this._viewContainerRef);\n    }\n    /**\n     * This has been extracted to a util because of TS 4 and VE.\n     * View Engine doesn't support property rename inheritance.\n     * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n     * @docs-private\n     */\n    _setTemplateLabelInput(value) {\n      // Only update the label if the query managed to find one. This works around an issue where a\n      // user may have manually set `templateLabel` during creation mode, which would then get\n      // clobbered by `undefined` when the query resolves. Also note that we check that the closest\n      // tab matches the current one so that we don't pick up labels from nested tabs.\n      if (value && value._closestTab === this) {\n        this._templateLabel = value;\n      }\n    }\n    static ɵfac = function MatTab_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatTab)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatTab,\n      selectors: [[\"mat-tab\"]],\n      contentQueries: function MatTab_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, MatTabLabel, 5);\n          i0.ɵɵcontentQuery(dirIndex, MatTabContent, 7, TemplateRef);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templateLabel = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._explicitContent = _t.first);\n        }\n      },\n      viewQuery: function MatTab_Query(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵviewQuery(TemplateRef, 7);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._implicitContent = _t.first);\n        }\n      },\n      hostAttrs: [\"hidden\", \"\"],\n      hostVars: 1,\n      hostBindings: function MatTab_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"id\", null);\n        }\n      },\n      inputs: {\n        disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n        textLabel: [0, \"label\", \"textLabel\"],\n        ariaLabel: [0, \"aria-label\", \"ariaLabel\"],\n        ariaLabelledby: [0, \"aria-labelledby\", \"ariaLabelledby\"],\n        labelClass: \"labelClass\",\n        bodyClass: \"bodyClass\",\n        id: \"id\"\n      },\n      exportAs: [\"matTab\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MAT_TAB,\n        useExisting: MatTab\n      }]), i0.ɵɵNgOnChangesFeature],\n      ngContentSelectors: _c0,\n      decls: 1,\n      vars: 0,\n      template: function MatTab_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef();\n          i0.ɵɵtemplate(0, MatTab_ng_template_0_Template, 1, 0, \"ng-template\");\n        }\n      },\n      encapsulation: 2\n    });\n  }\n  return MatTab;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Class that is applied when a tab indicator is active. */\nconst ACTIVE_CLASS = 'mdc-tab-indicator--active';\n/** Class that is applied when the tab indicator should not transition. */\nconst NO_TRANSITION_CLASS = 'mdc-tab-indicator--no-transition';\n/**\n * Abstraction around the MDC tab indicator that acts as the tab header's ink bar.\n * @docs-private\n */\nclass MatInkBar {\n  _items;\n  /** Item to which the ink bar is aligned currently. */\n  _currentItem;\n  constructor(_items) {\n    this._items = _items;\n  }\n  /** Hides the ink bar. */\n  hide() {\n    this._items.forEach(item => item.deactivateInkBar());\n    this._currentItem = undefined;\n  }\n  /** Aligns the ink bar to a DOM node. */\n  alignToElement(element) {\n    const correspondingItem = this._items.find(item => item.elementRef.nativeElement === element);\n    const currentItem = this._currentItem;\n    if (correspondingItem === currentItem) {\n      return;\n    }\n    currentItem?.deactivateInkBar();\n    if (correspondingItem) {\n      const domRect = currentItem?.elementRef.nativeElement.getBoundingClientRect?.();\n      // The ink bar won't animate unless we give it the `DOMRect` of the previous item.\n      correspondingItem.activateInkBar(domRect);\n      this._currentItem = correspondingItem;\n    }\n  }\n}\nlet InkBarItem = /*#__PURE__*/(() => {\n  class InkBarItem {\n    _elementRef = inject(ElementRef);\n    _inkBarElement;\n    _inkBarContentElement;\n    _fitToContent = false;\n    /** Whether the ink bar should fit to the entire tab or just its content. */\n    get fitInkBarToContent() {\n      return this._fitToContent;\n    }\n    set fitInkBarToContent(newValue) {\n      if (this._fitToContent !== newValue) {\n        this._fitToContent = newValue;\n        if (this._inkBarElement) {\n          this._appendInkBarElement();\n        }\n      }\n    }\n    /** Aligns the ink bar to the current item. */\n    activateInkBar(previousIndicatorClientRect) {\n      const element = this._elementRef.nativeElement;\n      // Early exit if no indicator is present to handle cases where an indicator\n      // may be activated without a prior indicator state\n      if (!previousIndicatorClientRect || !element.getBoundingClientRect || !this._inkBarContentElement) {\n        element.classList.add(ACTIVE_CLASS);\n        return;\n      }\n      // This animation uses the FLIP approach. You can read more about it at the link below:\n      // https://aerotwist.com/blog/flip-your-animations/\n      // Calculate the dimensions based on the dimensions of the previous indicator\n      const currentClientRect = element.getBoundingClientRect();\n      const widthDelta = previousIndicatorClientRect.width / currentClientRect.width;\n      const xPosition = previousIndicatorClientRect.left - currentClientRect.left;\n      element.classList.add(NO_TRANSITION_CLASS);\n      this._inkBarContentElement.style.setProperty('transform', `translateX(${xPosition}px) scaleX(${widthDelta})`);\n      // Force repaint before updating classes and transform to ensure the transform properly takes effect\n      element.getBoundingClientRect();\n      element.classList.remove(NO_TRANSITION_CLASS);\n      element.classList.add(ACTIVE_CLASS);\n      this._inkBarContentElement.style.setProperty('transform', '');\n    }\n    /** Removes the ink bar from the current item. */\n    deactivateInkBar() {\n      this._elementRef.nativeElement.classList.remove(ACTIVE_CLASS);\n    }\n    /** Initializes the foundation. */\n    ngOnInit() {\n      this._createInkBarElement();\n    }\n    /** Destroys the foundation. */\n    ngOnDestroy() {\n      this._inkBarElement?.remove();\n      this._inkBarElement = this._inkBarContentElement = null;\n    }\n    /** Creates and appends the ink bar element. */\n    _createInkBarElement() {\n      const documentNode = this._elementRef.nativeElement.ownerDocument || document;\n      const inkBarElement = this._inkBarElement = documentNode.createElement('span');\n      const inkBarContentElement = this._inkBarContentElement = documentNode.createElement('span');\n      inkBarElement.className = 'mdc-tab-indicator';\n      inkBarContentElement.className = 'mdc-tab-indicator__content mdc-tab-indicator__content--underline';\n      inkBarElement.appendChild(this._inkBarContentElement);\n      this._appendInkBarElement();\n    }\n    /**\n     * Appends the ink bar to the tab host element or content, depending on whether\n     * the ink bar should fit to content.\n     */\n    _appendInkBarElement() {\n      if (!this._inkBarElement && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw Error('Ink bar element has not been created and cannot be appended');\n      }\n      const parentElement = this._fitToContent ? this._elementRef.nativeElement.querySelector('.mdc-tab__content') : this._elementRef.nativeElement;\n      if (!parentElement && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw Error('Missing element to host the ink bar');\n      }\n      parentElement.appendChild(this._inkBarElement);\n    }\n    static ɵfac = function InkBarItem_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || InkBarItem)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: InkBarItem,\n      inputs: {\n        fitInkBarToContent: [2, \"fitInkBarToContent\", \"fitInkBarToContent\", booleanAttribute]\n      }\n    });\n  }\n  return InkBarItem;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * The default positioner function for the MatInkBar.\n * @docs-private\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0\n */\nfunction _MAT_INK_BAR_POSITIONER_FACTORY() {\n  const method = element => ({\n    left: element ? (element.offsetLeft || 0) + 'px' : '0',\n    width: element ? (element.offsetWidth || 0) + 'px' : '0'\n  });\n  return method;\n}\n/** Injection token for the MatInkBar's Positioner. */\nconst _MAT_INK_BAR_POSITIONER = /*#__PURE__*/new InjectionToken('MatInkBarPositioner', {\n  providedIn: 'root',\n  factory: _MAT_INK_BAR_POSITIONER_FACTORY\n});\n\n/**\n * Used in the `mat-tab-group` view to display tab labels.\n * @docs-private\n */\nlet MatTabLabelWrapper = /*#__PURE__*/(() => {\n  class MatTabLabelWrapper extends InkBarItem {\n    elementRef = inject(ElementRef);\n    /** Whether the tab is disabled. */\n    disabled = false;\n    /** Sets focus on the wrapper element */\n    focus() {\n      this.elementRef.nativeElement.focus();\n    }\n    getOffsetLeft() {\n      return this.elementRef.nativeElement.offsetLeft;\n    }\n    getOffsetWidth() {\n      return this.elementRef.nativeElement.offsetWidth;\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatTabLabelWrapper_BaseFactory;\n      return function MatTabLabelWrapper_Factory(__ngFactoryType__) {\n        return (ɵMatTabLabelWrapper_BaseFactory || (ɵMatTabLabelWrapper_BaseFactory = i0.ɵɵgetInheritedFactory(MatTabLabelWrapper)))(__ngFactoryType__ || MatTabLabelWrapper);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatTabLabelWrapper,\n      selectors: [[\"\", \"matTabLabelWrapper\", \"\"]],\n      hostVars: 3,\n      hostBindings: function MatTabLabelWrapper_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"aria-disabled\", !!ctx.disabled);\n          i0.ɵɵclassProp(\"mat-mdc-tab-disabled\", ctx.disabled);\n        }\n      },\n      inputs: {\n        disabled: [2, \"disabled\", \"disabled\", booleanAttribute]\n      },\n      features: [i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return MatTabLabelWrapper;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Config used to bind passive event listeners */\nconst passiveEventListenerOptions = {\n  passive: true\n};\n/**\n * Amount of milliseconds to wait before starting to scroll the header automatically.\n * Set a little conservatively in order to handle fake events dispatched on touch devices.\n */\nconst HEADER_SCROLL_DELAY = 650;\n/**\n * Interval in milliseconds at which to scroll the header\n * while the user is holding their pointer.\n */\nconst HEADER_SCROLL_INTERVAL = 100;\n/**\n * Base class for a tab header that supported pagination.\n * @docs-private\n */\nlet MatPaginatedTabHeader = /*#__PURE__*/(() => {\n  class MatPaginatedTabHeader {\n    _elementRef = inject(ElementRef);\n    _changeDetectorRef = inject(ChangeDetectorRef);\n    _viewportRuler = inject(ViewportRuler);\n    _dir = inject(Directionality, {\n      optional: true\n    });\n    _ngZone = inject(NgZone);\n    _platform = inject(Platform);\n    _sharedResizeObserver = inject(SharedResizeObserver);\n    _injector = inject(Injector);\n    _renderer = inject(Renderer2);\n    _animationMode = inject(ANIMATION_MODULE_TYPE, {\n      optional: true\n    });\n    _eventCleanups;\n    /** The distance in pixels that the tab labels should be translated to the left. */\n    _scrollDistance = 0;\n    /** Whether the header should scroll to the selected index after the view has been checked. */\n    _selectedIndexChanged = false;\n    /** Emits when the component is destroyed. */\n    _destroyed = new Subject();\n    /** Whether the controls for pagination should be displayed */\n    _showPaginationControls = false;\n    /** Whether the tab list can be scrolled more towards the end of the tab label list. */\n    _disableScrollAfter = true;\n    /** Whether the tab list can be scrolled more towards the beginning of the tab label list. */\n    _disableScrollBefore = true;\n    /**\n     * The number of tab labels that are displayed on the header. When this changes, the header\n     * should re-evaluate the scroll position.\n     */\n    _tabLabelCount;\n    /** Whether the scroll distance has changed and should be applied after the view is checked. */\n    _scrollDistanceChanged;\n    /** Used to manage focus between the tabs. */\n    _keyManager;\n    /** Cached text content of the header. */\n    _currentTextContent;\n    /** Stream that will stop the automated scrolling. */\n    _stopScrolling = new Subject();\n    /**\n     * Whether pagination should be disabled. This can be used to avoid unnecessary\n     * layout recalculations if it's known that pagination won't be required.\n     */\n    disablePagination = false;\n    /** The index of the active tab. */\n    get selectedIndex() {\n      return this._selectedIndex;\n    }\n    set selectedIndex(v) {\n      const value = isNaN(v) ? 0 : v;\n      if (this._selectedIndex != value) {\n        this._selectedIndexChanged = true;\n        this._selectedIndex = value;\n        if (this._keyManager) {\n          this._keyManager.updateActiveItem(value);\n        }\n      }\n    }\n    _selectedIndex = 0;\n    /** Event emitted when the option is selected. */\n    selectFocusedIndex = new EventEmitter();\n    /** Event emitted when a label is focused. */\n    indexFocused = new EventEmitter();\n    constructor() {\n      // Bind the `mouseleave` event on the outside since it doesn't change anything in the view.\n      this._eventCleanups = this._ngZone.runOutsideAngular(() => [this._renderer.listen(this._elementRef.nativeElement, 'mouseleave', () => this._stopInterval())]);\n    }\n    ngAfterViewInit() {\n      // We need to handle these events manually, because we want to bind passive event listeners.\n      this._eventCleanups.push(_bindEventWithOptions(this._renderer, this._previousPaginator.nativeElement, 'touchstart', () => this._handlePaginatorPress('before'), passiveEventListenerOptions), _bindEventWithOptions(this._renderer, this._nextPaginator.nativeElement, 'touchstart', () => this._handlePaginatorPress('after'), passiveEventListenerOptions));\n    }\n    ngAfterContentInit() {\n      const dirChange = this._dir ? this._dir.change : of('ltr');\n      // We need to debounce resize events because the alignment logic is expensive.\n      // If someone animates the width of tabs, we don't want to realign on every animation frame.\n      // Once we haven't seen any more resize events in the last 32ms (~2 animaion frames) we can\n      // re-align.\n      const resize = this._sharedResizeObserver.observe(this._elementRef.nativeElement).pipe(debounceTime(32), takeUntil(this._destroyed));\n      // Note: We do not actually need to watch these events for proper functioning of the tabs,\n      // the resize events above should capture any viewport resize that we care about. However,\n      // removing this is fairly breaking for screenshot tests, so we're leaving it here for now.\n      const viewportResize = this._viewportRuler.change(150).pipe(takeUntil(this._destroyed));\n      const realign = () => {\n        this.updatePagination();\n        this._alignInkBarToSelectedTab();\n      };\n      this._keyManager = new FocusKeyManager(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap()\n      // Allow focus to land on disabled tabs, as per https://w3c.github.io/aria-practices/#kbd_disabled_controls\n      .skipPredicate(() => false);\n      // Fall back to the first link as being active if there isn't a selected one.\n      // This is relevant primarily for the tab nav bar.\n      this._keyManager.updateActiveItem(Math.max(this._selectedIndex, 0));\n      // Note: We do not need to realign after the first render for proper functioning of the tabs\n      // the resize events above should fire when we first start observing the element. However,\n      // removing this is fairly breaking for screenshot tests, so we're leaving it here for now.\n      afterNextRender(realign, {\n        injector: this._injector\n      });\n      // On dir change or resize, realign the ink bar and update the orientation of\n      // the key manager if the direction has changed.\n      merge(dirChange, viewportResize, resize, this._items.changes, this._itemsResized()).pipe(takeUntil(this._destroyed)).subscribe(() => {\n        // We need to defer this to give the browser some time to recalculate\n        // the element dimensions. The call has to be wrapped in `NgZone.run`,\n        // because the viewport change handler runs outside of Angular.\n        this._ngZone.run(() => {\n          Promise.resolve().then(() => {\n            // Clamp the scroll distance, because it can change with the number of tabs.\n            this._scrollDistance = Math.max(0, Math.min(this._getMaxScrollDistance(), this._scrollDistance));\n            realign();\n          });\n        });\n        this._keyManager?.withHorizontalOrientation(this._getLayoutDirection());\n      });\n      // If there is a change in the focus key manager we need to emit the `indexFocused`\n      // event in order to provide a public event that notifies about focus changes. Also we realign\n      // the tabs container by scrolling the new focused tab into the visible section.\n      this._keyManager.change.subscribe(newFocusIndex => {\n        this.indexFocused.emit(newFocusIndex);\n        this._setTabFocus(newFocusIndex);\n      });\n    }\n    /** Sends any changes that could affect the layout of the items. */\n    _itemsResized() {\n      if (typeof ResizeObserver !== 'function') {\n        return EMPTY;\n      }\n      return this._items.changes.pipe(startWith(this._items), switchMap(tabItems => new Observable(observer => this._ngZone.runOutsideAngular(() => {\n        const resizeObserver = new ResizeObserver(entries => observer.next(entries));\n        tabItems.forEach(item => resizeObserver.observe(item.elementRef.nativeElement));\n        return () => {\n          resizeObserver.disconnect();\n        };\n      }))),\n      // Skip the first emit since the resize observer emits when an item\n      // is observed for new items when the tab is already inserted\n      skip(1),\n      // Skip emissions where all the elements are invisible since we don't want\n      // the header to try and re-render with invalid measurements. See #25574.\n      filter(entries => entries.some(e => e.contentRect.width > 0 && e.contentRect.height > 0)));\n    }\n    ngAfterContentChecked() {\n      // If the number of tab labels have changed, check if scrolling should be enabled\n      if (this._tabLabelCount != this._items.length) {\n        this.updatePagination();\n        this._tabLabelCount = this._items.length;\n        this._changeDetectorRef.markForCheck();\n      }\n      // If the selected index has changed, scroll to the label and check if the scrolling controls\n      // should be disabled.\n      if (this._selectedIndexChanged) {\n        this._scrollToLabel(this._selectedIndex);\n        this._checkScrollingControls();\n        this._alignInkBarToSelectedTab();\n        this._selectedIndexChanged = false;\n        this._changeDetectorRef.markForCheck();\n      }\n      // If the scroll distance has been changed (tab selected, focused, scroll controls activated),\n      // then translate the header to reflect this.\n      if (this._scrollDistanceChanged) {\n        this._updateTabScrollPosition();\n        this._scrollDistanceChanged = false;\n        this._changeDetectorRef.markForCheck();\n      }\n    }\n    ngOnDestroy() {\n      this._eventCleanups.forEach(cleanup => cleanup());\n      this._keyManager?.destroy();\n      this._destroyed.next();\n      this._destroyed.complete();\n      this._stopScrolling.complete();\n    }\n    /** Handles keyboard events on the header. */\n    _handleKeydown(event) {\n      // We don't handle any key bindings with a modifier key.\n      if (hasModifierKey(event)) {\n        return;\n      }\n      switch (event.keyCode) {\n        case ENTER:\n        case SPACE:\n          if (this.focusIndex !== this.selectedIndex) {\n            const item = this._items.get(this.focusIndex);\n            if (item && !item.disabled) {\n              this.selectFocusedIndex.emit(this.focusIndex);\n              this._itemSelected(event);\n            }\n          }\n          break;\n        default:\n          this._keyManager?.onKeydown(event);\n      }\n    }\n    /**\n     * Callback for when the MutationObserver detects that the content has changed.\n     */\n    _onContentChanges() {\n      const textContent = this._elementRef.nativeElement.textContent;\n      // We need to diff the text content of the header, because the MutationObserver callback\n      // will fire even if the text content didn't change which is inefficient and is prone\n      // to infinite loops if a poorly constructed expression is passed in (see #14249).\n      if (textContent !== this._currentTextContent) {\n        this._currentTextContent = textContent || '';\n        // The content observer runs outside the `NgZone` by default, which\n        // means that we need to bring the callback back in ourselves.\n        this._ngZone.run(() => {\n          this.updatePagination();\n          this._alignInkBarToSelectedTab();\n          this._changeDetectorRef.markForCheck();\n        });\n      }\n    }\n    /**\n     * Updates the view whether pagination should be enabled or not.\n     *\n     * WARNING: Calling this method can be very costly in terms of performance. It should be called\n     * as infrequently as possible from outside of the Tabs component as it causes a reflow of the\n     * page.\n     */\n    updatePagination() {\n      this._checkPaginationEnabled();\n      this._checkScrollingControls();\n      this._updateTabScrollPosition();\n    }\n    /** Tracks which element has focus; used for keyboard navigation */\n    get focusIndex() {\n      return this._keyManager ? this._keyManager.activeItemIndex : 0;\n    }\n    /** When the focus index is set, we must manually send focus to the correct label */\n    set focusIndex(value) {\n      if (!this._isValidIndex(value) || this.focusIndex === value || !this._keyManager) {\n        return;\n      }\n      this._keyManager.setActiveItem(value);\n    }\n    /**\n     * Determines if an index is valid.  If the tabs are not ready yet, we assume that the user is\n     * providing a valid index and return true.\n     */\n    _isValidIndex(index) {\n      return this._items ? !!this._items.toArray()[index] : true;\n    }\n    /**\n     * Sets focus on the HTML element for the label wrapper and scrolls it into the view if\n     * scrolling is enabled.\n     */\n    _setTabFocus(tabIndex) {\n      if (this._showPaginationControls) {\n        this._scrollToLabel(tabIndex);\n      }\n      if (this._items && this._items.length) {\n        this._items.toArray()[tabIndex].focus();\n        // Do not let the browser manage scrolling to focus the element, this will be handled\n        // by using translation. In LTR, the scroll left should be 0. In RTL, the scroll width\n        // should be the full width minus the offset width.\n        const containerEl = this._tabListContainer.nativeElement;\n        const dir = this._getLayoutDirection();\n        if (dir == 'ltr') {\n          containerEl.scrollLeft = 0;\n        } else {\n          containerEl.scrollLeft = containerEl.scrollWidth - containerEl.offsetWidth;\n        }\n      }\n    }\n    /** The layout direction of the containing app. */\n    _getLayoutDirection() {\n      return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n    }\n    /** Performs the CSS transformation on the tab list that will cause the list to scroll. */\n    _updateTabScrollPosition() {\n      if (this.disablePagination) {\n        return;\n      }\n      const scrollDistance = this.scrollDistance;\n      const translateX = this._getLayoutDirection() === 'ltr' ? -scrollDistance : scrollDistance;\n      // Don't use `translate3d` here because we don't want to create a new layer. A new layer\n      // seems to cause flickering and overflow in Internet Explorer. For example, the ink bar\n      // and ripples will exceed the boundaries of the visible tab bar.\n      // See: https://github.com/angular/components/issues/10276\n      // We round the `transform` here, because transforms with sub-pixel precision cause some\n      // browsers to blur the content of the element.\n      this._tabList.nativeElement.style.transform = `translateX(${Math.round(translateX)}px)`;\n      // Setting the `transform` on IE will change the scroll offset of the parent, causing the\n      // position to be thrown off in some cases. We have to reset it ourselves to ensure that\n      // it doesn't get thrown off. Note that we scope it only to IE and Edge, because messing\n      // with the scroll position throws off Chrome 71+ in RTL mode (see #14689).\n      if (this._platform.TRIDENT || this._platform.EDGE) {\n        this._tabListContainer.nativeElement.scrollLeft = 0;\n      }\n    }\n    /** Sets the distance in pixels that the tab header should be transformed in the X-axis. */\n    get scrollDistance() {\n      return this._scrollDistance;\n    }\n    set scrollDistance(value) {\n      this._scrollTo(value);\n    }\n    /**\n     * Moves the tab list in the 'before' or 'after' direction (towards the beginning of the list or\n     * the end of the list, respectively). The distance to scroll is computed to be a third of the\n     * length of the tab list view window.\n     *\n     * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\n     * should be called sparingly.\n     */\n    _scrollHeader(direction) {\n      const viewLength = this._tabListContainer.nativeElement.offsetWidth;\n      // Move the scroll distance one-third the length of the tab list's viewport.\n      const scrollAmount = (direction == 'before' ? -1 : 1) * viewLength / 3;\n      return this._scrollTo(this._scrollDistance + scrollAmount);\n    }\n    /** Handles click events on the pagination arrows. */\n    _handlePaginatorClick(direction) {\n      this._stopInterval();\n      this._scrollHeader(direction);\n    }\n    /**\n     * Moves the tab list such that the desired tab label (marked by index) is moved into view.\n     *\n     * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\n     * should be called sparingly.\n     */\n    _scrollToLabel(labelIndex) {\n      if (this.disablePagination) {\n        return;\n      }\n      const selectedLabel = this._items ? this._items.toArray()[labelIndex] : null;\n      if (!selectedLabel) {\n        return;\n      }\n      // The view length is the visible width of the tab labels.\n      const viewLength = this._tabListContainer.nativeElement.offsetWidth;\n      const {\n        offsetLeft,\n        offsetWidth\n      } = selectedLabel.elementRef.nativeElement;\n      let labelBeforePos, labelAfterPos;\n      if (this._getLayoutDirection() == 'ltr') {\n        labelBeforePos = offsetLeft;\n        labelAfterPos = labelBeforePos + offsetWidth;\n      } else {\n        labelAfterPos = this._tabListInner.nativeElement.offsetWidth - offsetLeft;\n        labelBeforePos = labelAfterPos - offsetWidth;\n      }\n      const beforeVisiblePos = this.scrollDistance;\n      const afterVisiblePos = this.scrollDistance + viewLength;\n      if (labelBeforePos < beforeVisiblePos) {\n        // Scroll header to move label to the before direction\n        this.scrollDistance -= beforeVisiblePos - labelBeforePos;\n      } else if (labelAfterPos > afterVisiblePos) {\n        // Scroll header to move label to the after direction\n        this.scrollDistance += Math.min(labelAfterPos - afterVisiblePos, labelBeforePos - beforeVisiblePos);\n      }\n    }\n    /**\n     * Evaluate whether the pagination controls should be displayed. If the scroll width of the\n     * tab list is wider than the size of the header container, then the pagination controls should\n     * be shown.\n     *\n     * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\n     * should be called sparingly.\n     */\n    _checkPaginationEnabled() {\n      if (this.disablePagination) {\n        this._showPaginationControls = false;\n      } else {\n        const scrollWidth = this._tabListInner.nativeElement.scrollWidth;\n        const containerWidth = this._elementRef.nativeElement.offsetWidth;\n        // Usually checking that the scroll width is greater than the container width should be\n        // enough, but on Safari at specific widths the browser ends up rounding up when there's\n        // no pagination and rounding down once the pagination is added. This can throw the component\n        // into an infinite loop where the pagination shows up and disappears constantly. We work\n        // around it by adding a threshold to the calculation. From manual testing the threshold\n        // can be lowered to 2px and still resolve the issue, but we set a higher one to be safe.\n        // This shouldn't cause any content to be clipped, because tabs have a 24px horizontal\n        // padding. See b/316395154 for more information.\n        const isEnabled = scrollWidth - containerWidth >= 5;\n        if (!isEnabled) {\n          this.scrollDistance = 0;\n        }\n        if (isEnabled !== this._showPaginationControls) {\n          this._showPaginationControls = isEnabled;\n          this._changeDetectorRef.markForCheck();\n        }\n      }\n    }\n    /**\n     * Evaluate whether the before and after controls should be enabled or disabled.\n     * If the header is at the beginning of the list (scroll distance is equal to 0) then disable the\n     * before button. If the header is at the end of the list (scroll distance is equal to the\n     * maximum distance we can scroll), then disable the after button.\n     *\n     * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\n     * should be called sparingly.\n     */\n    _checkScrollingControls() {\n      if (this.disablePagination) {\n        this._disableScrollAfter = this._disableScrollBefore = true;\n      } else {\n        // Check if the pagination arrows should be activated.\n        this._disableScrollBefore = this.scrollDistance == 0;\n        this._disableScrollAfter = this.scrollDistance == this._getMaxScrollDistance();\n        this._changeDetectorRef.markForCheck();\n      }\n    }\n    /**\n     * Determines what is the maximum length in pixels that can be set for the scroll distance. This\n     * is equal to the difference in width between the tab list container and tab header container.\n     *\n     * This is an expensive call that forces a layout reflow to compute box and scroll metrics and\n     * should be called sparingly.\n     */\n    _getMaxScrollDistance() {\n      const lengthOfTabList = this._tabListInner.nativeElement.scrollWidth;\n      const viewLength = this._tabListContainer.nativeElement.offsetWidth;\n      return lengthOfTabList - viewLength || 0;\n    }\n    /** Tells the ink-bar to align itself to the current label wrapper */\n    _alignInkBarToSelectedTab() {\n      const selectedItem = this._items && this._items.length ? this._items.toArray()[this.selectedIndex] : null;\n      const selectedLabelWrapper = selectedItem ? selectedItem.elementRef.nativeElement : null;\n      if (selectedLabelWrapper) {\n        this._inkBar.alignToElement(selectedLabelWrapper);\n      } else {\n        this._inkBar.hide();\n      }\n    }\n    /** Stops the currently-running paginator interval.  */\n    _stopInterval() {\n      this._stopScrolling.next();\n    }\n    /**\n     * Handles the user pressing down on one of the paginators.\n     * Starts scrolling the header after a certain amount of time.\n     * @param direction In which direction the paginator should be scrolled.\n     */\n    _handlePaginatorPress(direction, mouseEvent) {\n      // Don't start auto scrolling for right mouse button clicks. Note that we shouldn't have to\n      // null check the `button`, but we do it so we don't break tests that use fake events.\n      if (mouseEvent && mouseEvent.button != null && mouseEvent.button !== 0) {\n        return;\n      }\n      // Avoid overlapping timers.\n      this._stopInterval();\n      // Start a timer after the delay and keep firing based on the interval.\n      timer(HEADER_SCROLL_DELAY, HEADER_SCROLL_INTERVAL)\n      // Keep the timer going until something tells it to stop or the component is destroyed.\n      .pipe(takeUntil(merge(this._stopScrolling, this._destroyed))).subscribe(() => {\n        const {\n          maxScrollDistance,\n          distance\n        } = this._scrollHeader(direction);\n        // Stop the timer if we've reached the start or the end.\n        if (distance === 0 || distance >= maxScrollDistance) {\n          this._stopInterval();\n        }\n      });\n    }\n    /**\n     * Scrolls the header to a given position.\n     * @param position Position to which to scroll.\n     * @returns Information on the current scroll distance and the maximum.\n     */\n    _scrollTo(position) {\n      if (this.disablePagination) {\n        return {\n          maxScrollDistance: 0,\n          distance: 0\n        };\n      }\n      const maxScrollDistance = this._getMaxScrollDistance();\n      this._scrollDistance = Math.max(0, Math.min(maxScrollDistance, position));\n      // Mark that the scroll distance has changed so that after the view is checked, the CSS\n      // transformation can move the header.\n      this._scrollDistanceChanged = true;\n      this._checkScrollingControls();\n      return {\n        maxScrollDistance,\n        distance: this._scrollDistance\n      };\n    }\n    static ɵfac = function MatPaginatedTabHeader_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatPaginatedTabHeader)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatPaginatedTabHeader,\n      inputs: {\n        disablePagination: [2, \"disablePagination\", \"disablePagination\", booleanAttribute],\n        selectedIndex: [2, \"selectedIndex\", \"selectedIndex\", numberAttribute]\n      },\n      outputs: {\n        selectFocusedIndex: \"selectFocusedIndex\",\n        indexFocused: \"indexFocused\"\n      }\n    });\n  }\n  return MatPaginatedTabHeader;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * The header of the tab group which displays a list of all the tabs in the tab group. Includes\n * an ink bar that follows the currently selected tab. When the tabs list's width exceeds the\n * width of the header container, then arrows will be displayed to allow the user to scroll\n * left and right across the header.\n * @docs-private\n */\nlet MatTabHeader = /*#__PURE__*/(() => {\n  class MatTabHeader extends MatPaginatedTabHeader {\n    _items;\n    _tabListContainer;\n    _tabList;\n    _tabListInner;\n    _nextPaginator;\n    _previousPaginator;\n    _inkBar;\n    /** Aria label of the header. */\n    ariaLabel;\n    /** Sets the `aria-labelledby` of the header. */\n    ariaLabelledby;\n    /** Whether the ripple effect is disabled or not. */\n    disableRipple = false;\n    ngAfterContentInit() {\n      this._inkBar = new MatInkBar(this._items);\n      super.ngAfterContentInit();\n    }\n    _itemSelected(event) {\n      event.preventDefault();\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatTabHeader_BaseFactory;\n      return function MatTabHeader_Factory(__ngFactoryType__) {\n        return (ɵMatTabHeader_BaseFactory || (ɵMatTabHeader_BaseFactory = i0.ɵɵgetInheritedFactory(MatTabHeader)))(__ngFactoryType__ || MatTabHeader);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatTabHeader,\n      selectors: [[\"mat-tab-header\"]],\n      contentQueries: function MatTabHeader_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, MatTabLabelWrapper, 4);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._items = _t);\n        }\n      },\n      viewQuery: function MatTabHeader_Query(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵviewQuery(_c1, 7);\n          i0.ɵɵviewQuery(_c2, 7);\n          i0.ɵɵviewQuery(_c3, 7);\n          i0.ɵɵviewQuery(_c4, 5);\n          i0.ɵɵviewQuery(_c5, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._tabListContainer = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._tabList = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._tabListInner = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._nextPaginator = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._previousPaginator = _t.first);\n        }\n      },\n      hostAttrs: [1, \"mat-mdc-tab-header\"],\n      hostVars: 4,\n      hostBindings: function MatTabHeader_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mat-mdc-tab-header-pagination-controls-enabled\", ctx._showPaginationControls)(\"mat-mdc-tab-header-rtl\", ctx._getLayoutDirection() == \"rtl\");\n        }\n      },\n      inputs: {\n        ariaLabel: [0, \"aria-label\", \"ariaLabel\"],\n        ariaLabelledby: [0, \"aria-labelledby\", \"ariaLabelledby\"],\n        disableRipple: [2, \"disableRipple\", \"disableRipple\", booleanAttribute]\n      },\n      features: [i0.ɵɵInheritDefinitionFeature],\n      ngContentSelectors: _c0,\n      decls: 13,\n      vars: 10,\n      consts: [[\"previousPaginator\", \"\"], [\"tabListContainer\", \"\"], [\"tabList\", \"\"], [\"tabListInner\", \"\"], [\"nextPaginator\", \"\"], [\"mat-ripple\", \"\", 1, \"mat-mdc-tab-header-pagination\", \"mat-mdc-tab-header-pagination-before\", 3, \"click\", \"mousedown\", \"touchend\", \"matRippleDisabled\"], [1, \"mat-mdc-tab-header-pagination-chevron\"], [1, \"mat-mdc-tab-label-container\", 3, \"keydown\"], [\"role\", \"tablist\", 1, \"mat-mdc-tab-list\", 3, \"cdkObserveContent\"], [1, \"mat-mdc-tab-labels\"], [\"mat-ripple\", \"\", 1, \"mat-mdc-tab-header-pagination\", \"mat-mdc-tab-header-pagination-after\", 3, \"mousedown\", \"click\", \"touchend\", \"matRippleDisabled\"]],\n      template: function MatTabHeader_Template(rf, ctx) {\n        if (rf & 1) {\n          const _r1 = i0.ɵɵgetCurrentView();\n          i0.ɵɵprojectionDef();\n          i0.ɵɵelementStart(0, \"div\", 5, 0);\n          i0.ɵɵlistener(\"click\", function MatTabHeader_Template_div_click_0_listener() {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._handlePaginatorClick(\"before\"));\n          })(\"mousedown\", function MatTabHeader_Template_div_mousedown_0_listener($event) {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._handlePaginatorPress(\"before\", $event));\n          })(\"touchend\", function MatTabHeader_Template_div_touchend_0_listener() {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._stopInterval());\n          });\n          i0.ɵɵelement(2, \"div\", 6);\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(3, \"div\", 7, 1);\n          i0.ɵɵlistener(\"keydown\", function MatTabHeader_Template_div_keydown_3_listener($event) {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._handleKeydown($event));\n          });\n          i0.ɵɵelementStart(5, \"div\", 8, 2);\n          i0.ɵɵlistener(\"cdkObserveContent\", function MatTabHeader_Template_div_cdkObserveContent_5_listener() {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._onContentChanges());\n          });\n          i0.ɵɵelementStart(7, \"div\", 9, 3);\n          i0.ɵɵprojection(9);\n          i0.ɵɵelementEnd()()();\n          i0.ɵɵelementStart(10, \"div\", 10, 4);\n          i0.ɵɵlistener(\"mousedown\", function MatTabHeader_Template_div_mousedown_10_listener($event) {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._handlePaginatorPress(\"after\", $event));\n          })(\"click\", function MatTabHeader_Template_div_click_10_listener() {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._handlePaginatorClick(\"after\"));\n          })(\"touchend\", function MatTabHeader_Template_div_touchend_10_listener() {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._stopInterval());\n          });\n          i0.ɵɵelement(12, \"div\", 6);\n          i0.ɵɵelementEnd();\n        }\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mat-mdc-tab-header-pagination-disabled\", ctx._disableScrollBefore);\n          i0.ɵɵproperty(\"matRippleDisabled\", ctx._disableScrollBefore || ctx.disableRipple);\n          i0.ɵɵadvance(3);\n          i0.ɵɵclassProp(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\");\n          i0.ɵɵadvance(2);\n          i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel || null)(\"aria-labelledby\", ctx.ariaLabelledby || null);\n          i0.ɵɵadvance(5);\n          i0.ɵɵclassProp(\"mat-mdc-tab-header-pagination-disabled\", ctx._disableScrollAfter);\n          i0.ɵɵproperty(\"matRippleDisabled\", ctx._disableScrollAfter || ctx.disableRipple);\n        }\n      },\n      dependencies: [MatRipple, CdkObserveContent],\n      styles: [\".mat-mdc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mdc-tab-indicator .mdc-tab-indicator__content{transition-duration:var(--mat-tab-animation-duration, 250ms)}.mat-mdc-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;outline:0}.mat-mdc-tab-header-pagination::-moz-focus-inner{border:0}.mat-mdc-tab-header-pagination .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-header-pagination-controls-enabled .mat-mdc-tab-header-pagination{display:flex}.mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after{padding-left:4px}.mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-pagination-after{padding-right:4px}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-mdc-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:var(--mat-tab-header-pagination-icon-color, var(--mat-sys-on-surface))}.mat-mdc-tab-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mat-mdc-tab-header-pagination-disabled .mat-mdc-tab-header-pagination-chevron{opacity:.4}.mat-mdc-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-mdc-tab-list{transition:none}.mat-mdc-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1;border-bottom-style:solid;border-bottom-width:var(--mat-tab-header-divider-height, 1px);border-bottom-color:var(--mat-tab-header-divider-color, var(--mat-sys-surface-variant))}.mat-mdc-tab-group-inverted-header .mat-mdc-tab-label-container{border-bottom:none;border-top-style:solid;border-top-width:var(--mat-tab-header-divider-height, 1px);border-top-color:var(--mat-tab-header-divider-color, var(--mat-sys-surface-variant))}.mat-mdc-tab-labels{display:flex;flex:1 0 auto}[mat-align-tabs=center]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:flex-end}.cdk-drop-list .mat-mdc-tab-labels,.mat-mdc-tab-labels.cdk-drop-list{min-height:var(--mdc-secondary-navigation-tab-container-height, 48px)}.mat-mdc-tab::before{margin:5px}@media(forced-colors: active){.mat-mdc-tab[aria-disabled=true]{color:GrayText}}\\n\"],\n      encapsulation: 2\n    });\n  }\n  return MatTabHeader;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Injection token that can be used to provide the default options the tabs module. */\nconst MAT_TABS_CONFIG = /*#__PURE__*/new InjectionToken('MAT_TABS_CONFIG');\n\n/**\n * The portal host directive for the contents of the tab.\n * @docs-private\n */\nlet MatTabBodyPortal = /*#__PURE__*/(() => {\n  class MatTabBodyPortal extends CdkPortalOutlet {\n    _host = inject(MatTabBody);\n    /** Subscription to events for when the tab body begins centering. */\n    _centeringSub = Subscription.EMPTY;\n    /** Subscription to events for when the tab body finishes leaving from center position. */\n    _leavingSub = Subscription.EMPTY;\n    constructor() {\n      super();\n    }\n    /** Set initial visibility or set up subscription for changing visibility. */\n    ngOnInit() {\n      super.ngOnInit();\n      this._centeringSub = this._host._beforeCentering.pipe(startWith(this._host._isCenterPosition())).subscribe(isCentering => {\n        if (this._host._content && isCentering && !this.hasAttached()) {\n          this.attach(this._host._content);\n        }\n      });\n      this._leavingSub = this._host._afterLeavingCenter.subscribe(() => {\n        if (!this._host.preserveContent) {\n          this.detach();\n        }\n      });\n    }\n    /** Clean up centering subscription. */\n    ngOnDestroy() {\n      super.ngOnDestroy();\n      this._centeringSub.unsubscribe();\n      this._leavingSub.unsubscribe();\n    }\n    static ɵfac = function MatTabBodyPortal_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatTabBodyPortal)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatTabBodyPortal,\n      selectors: [[\"\", \"matTabBodyHost\", \"\"]],\n      features: [i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return MatTabBodyPortal;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Wrapper for the contents of a tab.\n * @docs-private\n */\nlet MatTabBody = /*#__PURE__*/(() => {\n  class MatTabBody {\n    _elementRef = inject(ElementRef);\n    _dir = inject(Directionality, {\n      optional: true\n    });\n    _ngZone = inject(NgZone);\n    _injector = inject(Injector);\n    _renderer = inject(Renderer2);\n    _animationsModule = inject(ANIMATION_MODULE_TYPE, {\n      optional: true\n    });\n    _eventCleanups;\n    _initialized;\n    _fallbackTimer;\n    /** Current position of the tab-body in the tab-group. Zero means that the tab is visible. */\n    _positionIndex;\n    /** Subscription to the directionality change observable. */\n    _dirChangeSubscription = Subscription.EMPTY;\n    /** Current position of the body within the tab group. */\n    _position;\n    /** Previous position of the body. */\n    _previousPosition;\n    /** Event emitted when the tab begins to animate towards the center as the active tab. */\n    _onCentering = new EventEmitter();\n    /** Event emitted before the centering of the tab begins. */\n    _beforeCentering = new EventEmitter();\n    /** Event emitted before the centering of the tab begins. */\n    _afterLeavingCenter = new EventEmitter();\n    /** Event emitted when the tab completes its animation towards the center. */\n    _onCentered = new EventEmitter(true);\n    /** The portal host inside of this container into which the tab body content will be loaded. */\n    _portalHost;\n    /** Element in which the content is rendered. */\n    _contentElement;\n    /** The tab body content to display. */\n    _content;\n    // Note that the default value will always be overwritten by `MatTabBody`, but we need one\n    // anyway to prevent the animations module from throwing an error if the body is used on its own.\n    /** Duration for the tab's animation. */\n    animationDuration = '500ms';\n    /** Whether the tab's content should be kept in the DOM while it's off-screen. */\n    preserveContent = false;\n    /** The shifted index position of the tab body, where zero represents the active center tab. */\n    set position(position) {\n      this._positionIndex = position;\n      this._computePositionAnimationState();\n    }\n    constructor() {\n      if (this._dir) {\n        const changeDetectorRef = inject(ChangeDetectorRef);\n        this._dirChangeSubscription = this._dir.change.subscribe(dir => {\n          this._computePositionAnimationState(dir);\n          changeDetectorRef.markForCheck();\n        });\n      }\n    }\n    ngOnInit() {\n      this._bindTransitionEvents();\n      if (this._position === 'center') {\n        this._setActiveClass(true);\n        // Allows for the dynamic height to animate properly on the initial run.\n        afterNextRender(() => this._onCentering.emit(this._elementRef.nativeElement.clientHeight), {\n          injector: this._injector\n        });\n      }\n      this._initialized = true;\n    }\n    ngOnDestroy() {\n      clearTimeout(this._fallbackTimer);\n      this._eventCleanups?.forEach(cleanup => cleanup());\n      this._dirChangeSubscription.unsubscribe();\n    }\n    /** Sets up the transition events. */\n    _bindTransitionEvents() {\n      this._ngZone.runOutsideAngular(() => {\n        const element = this._elementRef.nativeElement;\n        const transitionDone = event => {\n          if (event.target === this._contentElement?.nativeElement) {\n            this._elementRef.nativeElement.classList.remove('mat-tab-body-animating');\n            // Only fire the actual callback when a transition is fully finished,\n            // otherwise the content can jump around when the next transition starts.\n            if (event.type === 'transitionend') {\n              this._transitionDone();\n            }\n          }\n        };\n        this._eventCleanups = [this._renderer.listen(element, 'transitionstart', event => {\n          if (event.target === this._contentElement?.nativeElement) {\n            this._elementRef.nativeElement.classList.add('mat-tab-body-animating');\n            this._transitionStarted();\n          }\n        }), this._renderer.listen(element, 'transitionend', transitionDone), this._renderer.listen(element, 'transitioncancel', transitionDone)];\n      });\n    }\n    /** Called when a transition has started. */\n    _transitionStarted() {\n      clearTimeout(this._fallbackTimer);\n      const isCentering = this._position === 'center';\n      this._beforeCentering.emit(isCentering);\n      if (isCentering) {\n        this._onCentering.emit(this._elementRef.nativeElement.clientHeight);\n      }\n    }\n    /** Called when a transition is done. */\n    _transitionDone() {\n      if (this._position === 'center') {\n        this._onCentered.emit();\n      } else if (this._previousPosition === 'center') {\n        this._afterLeavingCenter.emit();\n      }\n    }\n    /** Sets the active styling on the tab body based on its current position. */\n    _setActiveClass(isActive) {\n      this._elementRef.nativeElement.classList.toggle('mat-mdc-tab-body-active', isActive);\n    }\n    /** The text direction of the containing app. */\n    _getLayoutDirection() {\n      return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n    }\n    /** Whether the provided position state is considered center, regardless of origin. */\n    _isCenterPosition() {\n      return this._positionIndex === 0;\n    }\n    /** Computes the position state that will be used for the tab-body animation trigger. */\n    _computePositionAnimationState(dir = this._getLayoutDirection()) {\n      this._previousPosition = this._position;\n      if (this._positionIndex < 0) {\n        this._position = dir == 'ltr' ? 'left' : 'right';\n      } else if (this._positionIndex > 0) {\n        this._position = dir == 'ltr' ? 'right' : 'left';\n      } else {\n        this._position = 'center';\n      }\n      if (this._animationsDisabled()) {\n        this._simulateTransitionEvents();\n      } else if (this._initialized && (this._position === 'center' || this._previousPosition === 'center')) {\n        // The transition events are load-bearing and in some cases they might not fire (e.g.\n        // tests setting `* {transition: none}` to disable animations). This timeout will simulate\n        // them if a transition doesn't start within a certain amount of time.\n        clearTimeout(this._fallbackTimer);\n        this._fallbackTimer = this._ngZone.runOutsideAngular(() => setTimeout(() => this._simulateTransitionEvents(), 100));\n      }\n    }\n    /** Simulates the body's transition events in an environment where they might not fire. */\n    _simulateTransitionEvents() {\n      this._transitionStarted();\n      afterNextRender(() => this._transitionDone(), {\n        injector: this._injector\n      });\n    }\n    /** Whether animations are disabled for the tab group. */\n    _animationsDisabled() {\n      return this._animationsModule === 'NoopAnimations' || this.animationDuration === '0ms' || this.animationDuration === '0s';\n    }\n    static ɵfac = function MatTabBody_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatTabBody)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatTabBody,\n      selectors: [[\"mat-tab-body\"]],\n      viewQuery: function MatTabBody_Query(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵviewQuery(MatTabBodyPortal, 5);\n          i0.ɵɵviewQuery(_c6, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._portalHost = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._contentElement = _t.first);\n        }\n      },\n      hostAttrs: [1, \"mat-mdc-tab-body\"],\n      hostVars: 1,\n      hostBindings: function MatTabBody_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"inert\", ctx._position === \"center\" ? null : \"\");\n        }\n      },\n      inputs: {\n        _content: [0, \"content\", \"_content\"],\n        animationDuration: \"animationDuration\",\n        preserveContent: \"preserveContent\",\n        position: \"position\"\n      },\n      outputs: {\n        _onCentering: \"_onCentering\",\n        _beforeCentering: \"_beforeCentering\",\n        _onCentered: \"_onCentered\"\n      },\n      decls: 3,\n      vars: 6,\n      consts: [[\"content\", \"\"], [\"cdkScrollable\", \"\", 1, \"mat-mdc-tab-body-content\"], [\"matTabBodyHost\", \"\"]],\n      template: function MatTabBody_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵelementStart(0, \"div\", 1, 0);\n          i0.ɵɵtemplate(2, MatTabBody_ng_template_2_Template, 0, 0, \"ng-template\", 2);\n          i0.ɵɵelementEnd();\n        }\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mat-tab-body-content-left\", ctx._position === \"left\")(\"mat-tab-body-content-right\", ctx._position === \"right\")(\"mat-tab-body-content-can-animate\", ctx._position === \"center\" || ctx._previousPosition === \"center\");\n        }\n      },\n      dependencies: [MatTabBodyPortal, CdkScrollable],\n      styles: [\".mat-mdc-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-mdc-tab-body.mat-mdc-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-mdc-tab-group.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body.mat-mdc-tab-body-active{overflow-y:hidden}.mat-mdc-tab-body-content{height:100%;overflow:auto;transform:none;visibility:hidden}.mat-tab-body-animating>.mat-mdc-tab-body-content,.mat-mdc-tab-body-active>.mat-mdc-tab-body-content{visibility:visible}.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body-content{overflow:hidden}.mat-tab-body-content-can-animate{transition:transform var(--mat-tab-animation-duration) 1ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable .mat-tab-body-content-can-animate{transition:none}.mat-tab-body-content-left{transform:translate3d(-100%, 0, 0)}.mat-tab-body-content-right{transform:translate3d(100%, 0, 0)}\\n\"],\n      encapsulation: 2\n    });\n  }\n  return MatTabBody;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Material design tab-group component. Supports basic tab pairs (label + content) and includes\n * animated ink-bar, keyboard navigation, and screen reader.\n * See: https://material.io/design/components/tabs.html\n */\nlet MatTabGroup = /*#__PURE__*/(() => {\n  class MatTabGroup {\n    _elementRef = inject(ElementRef);\n    _changeDetectorRef = inject(ChangeDetectorRef);\n    _ngZone = inject(NgZone);\n    _tabsSubscription = Subscription.EMPTY;\n    _tabLabelSubscription = Subscription.EMPTY;\n    _tabBodySubscription = Subscription.EMPTY;\n    _diAnimationsDisabled = inject(ANIMATION_MODULE_TYPE, {\n      optional: true\n    }) === 'NoopAnimations';\n    /**\n     * All tabs inside the tab group. This includes tabs that belong to groups that are nested\n     * inside the current one. We filter out only the tabs that belong to this group in `_tabs`.\n     */\n    _allTabs;\n    _tabBodies;\n    _tabBodyWrapper;\n    _tabHeader;\n    /** All of the tabs that belong to the group. */\n    _tabs = new QueryList();\n    /** The tab index that should be selected after the content has been checked. */\n    _indexToSelect = 0;\n    /** Index of the tab that was focused last. */\n    _lastFocusedTabIndex = null;\n    /** Snapshot of the height of the tab body wrapper before another tab is activated. */\n    _tabBodyWrapperHeight = 0;\n    /**\n     * Theme color of the tab group. This API is supported in M2 themes only, it\n     * has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/tabs/styling.\n     *\n     * For information on applying color variants in M3, see\n     * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n     */\n    color;\n    /** Whether the ink bar should fit its width to the size of the tab label content. */\n    get fitInkBarToContent() {\n      return this._fitInkBarToContent;\n    }\n    set fitInkBarToContent(value) {\n      this._fitInkBarToContent = value;\n      this._changeDetectorRef.markForCheck();\n    }\n    _fitInkBarToContent = false;\n    /** Whether tabs should be stretched to fill the header. */\n    stretchTabs = true;\n    /** Alignment for tabs label. */\n    alignTabs = null;\n    /** Whether the tab group should grow to the size of the active tab. */\n    dynamicHeight = false;\n    /** The index of the active tab. */\n    get selectedIndex() {\n      return this._selectedIndex;\n    }\n    set selectedIndex(value) {\n      this._indexToSelect = isNaN(value) ? null : value;\n    }\n    _selectedIndex = null;\n    /** Position of the tab header. */\n    headerPosition = 'above';\n    /** Duration for the tab animation. Will be normalized to milliseconds if no units are set. */\n    get animationDuration() {\n      return this._animationDuration;\n    }\n    set animationDuration(value) {\n      const stringValue = value + '';\n      this._animationDuration = /^\\d+$/.test(stringValue) ? value + 'ms' : stringValue;\n    }\n    _animationDuration;\n    /**\n     * `tabindex` to be set on the inner element that wraps the tab content. Can be used for improved\n     * accessibility when the tab does not have focusable elements or if it has scrollable content.\n     * The `tabindex` will be removed automatically for inactive tabs.\n     * Read more at https://www.w3.org/TR/wai-aria-practices/examples/tabs/tabs-2/tabs.html\n     */\n    get contentTabIndex() {\n      return this._contentTabIndex;\n    }\n    set contentTabIndex(value) {\n      this._contentTabIndex = isNaN(value) ? null : value;\n    }\n    _contentTabIndex;\n    /**\n     * Whether pagination should be disabled. This can be used to avoid unnecessary\n     * layout recalculations if it's known that pagination won't be required.\n     */\n    disablePagination = false;\n    /** Whether ripples in the tab group are disabled. */\n    disableRipple = false;\n    /**\n     * By default tabs remove their content from the DOM while it's off-screen.\n     * Setting this to `true` will keep it in the DOM which will prevent elements\n     * like iframes and videos from reloading next time it comes back into the view.\n     */\n    preserveContent = false;\n    /**\n     * Theme color of the background of the tab group. This API is supported in M2 themes only, it\n     * has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/tabs/styling.\n     *\n     * For information on applying color variants in M3, see\n     * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n     *\n     * @deprecated The background color should be customized through Sass theming APIs.\n     * @breaking-change 20.0.0 Remove this input\n     */\n    get backgroundColor() {\n      return this._backgroundColor;\n    }\n    set backgroundColor(value) {\n      const classList = this._elementRef.nativeElement.classList;\n      classList.remove('mat-tabs-with-background', `mat-background-${this.backgroundColor}`);\n      if (value) {\n        classList.add('mat-tabs-with-background', `mat-background-${value}`);\n      }\n      this._backgroundColor = value;\n    }\n    _backgroundColor;\n    /** Aria label of the inner `tablist` of the group. */\n    ariaLabel;\n    /** Sets the `aria-labelledby` of the inner `tablist` of the group. */\n    ariaLabelledby;\n    /** Output to enable support for two-way binding on `[(selectedIndex)]` */\n    selectedIndexChange = new EventEmitter();\n    /** Event emitted when focus has changed within a tab group. */\n    focusChange = new EventEmitter();\n    /** Event emitted when the body animation has completed */\n    animationDone = new EventEmitter();\n    /** Event emitted when the tab selection has changed. */\n    selectedTabChange = new EventEmitter(true);\n    _groupId;\n    /** Whether the tab group is rendered on the server. */\n    _isServer = !inject(Platform).isBrowser;\n    constructor() {\n      const defaultConfig = inject(MAT_TABS_CONFIG, {\n        optional: true\n      });\n      this._groupId = inject(_IdGenerator).getId('mat-tab-group-');\n      this.animationDuration = defaultConfig && defaultConfig.animationDuration ? defaultConfig.animationDuration : '500ms';\n      this.disablePagination = defaultConfig && defaultConfig.disablePagination != null ? defaultConfig.disablePagination : false;\n      this.dynamicHeight = defaultConfig && defaultConfig.dynamicHeight != null ? defaultConfig.dynamicHeight : false;\n      if (defaultConfig?.contentTabIndex != null) {\n        this.contentTabIndex = defaultConfig.contentTabIndex;\n      }\n      this.preserveContent = !!defaultConfig?.preserveContent;\n      this.fitInkBarToContent = defaultConfig && defaultConfig.fitInkBarToContent != null ? defaultConfig.fitInkBarToContent : false;\n      this.stretchTabs = defaultConfig && defaultConfig.stretchTabs != null ? defaultConfig.stretchTabs : true;\n      this.alignTabs = defaultConfig && defaultConfig.alignTabs != null ? defaultConfig.alignTabs : null;\n    }\n    /**\n     * After the content is checked, this component knows what tabs have been defined\n     * and what the selected index should be. This is where we can know exactly what position\n     * each tab should be in according to the new selected index, and additionally we know how\n     * a new selected tab should transition in (from the left or right).\n     */\n    ngAfterContentChecked() {\n      // Don't clamp the `indexToSelect` immediately in the setter because it can happen that\n      // the amount of tabs changes before the actual change detection runs.\n      const indexToSelect = this._indexToSelect = this._clampTabIndex(this._indexToSelect);\n      // If there is a change in selected index, emit a change event. Should not trigger if\n      // the selected index has not yet been initialized.\n      if (this._selectedIndex != indexToSelect) {\n        const isFirstRun = this._selectedIndex == null;\n        if (!isFirstRun) {\n          this.selectedTabChange.emit(this._createChangeEvent(indexToSelect));\n          // Preserve the height so page doesn't scroll up during tab change.\n          // Fixes https://stackblitz.com/edit/mat-tabs-scroll-page-top-on-tab-change\n          const wrapper = this._tabBodyWrapper.nativeElement;\n          wrapper.style.minHeight = wrapper.clientHeight + 'px';\n        }\n        // Changing these values after change detection has run\n        // since the checked content may contain references to them.\n        Promise.resolve().then(() => {\n          this._tabs.forEach((tab, index) => tab.isActive = index === indexToSelect);\n          if (!isFirstRun) {\n            this.selectedIndexChange.emit(indexToSelect);\n            // Clear the min-height, this was needed during tab change to avoid\n            // unnecessary scrolling.\n            this._tabBodyWrapper.nativeElement.style.minHeight = '';\n          }\n        });\n      }\n      // Setup the position for each tab and optionally setup an origin on the next selected tab.\n      this._tabs.forEach((tab, index) => {\n        tab.position = index - indexToSelect;\n        // If there is already a selected tab, then set up an origin for the next selected tab\n        // if it doesn't have one already.\n        if (this._selectedIndex != null && tab.position == 0 && !tab.origin) {\n          tab.origin = indexToSelect - this._selectedIndex;\n        }\n      });\n      if (this._selectedIndex !== indexToSelect) {\n        this._selectedIndex = indexToSelect;\n        this._lastFocusedTabIndex = null;\n        this._changeDetectorRef.markForCheck();\n      }\n    }\n    ngAfterContentInit() {\n      this._subscribeToAllTabChanges();\n      this._subscribeToTabLabels();\n      // Subscribe to changes in the amount of tabs, in order to be\n      // able to re-render the content as new tabs are added or removed.\n      this._tabsSubscription = this._tabs.changes.subscribe(() => {\n        const indexToSelect = this._clampTabIndex(this._indexToSelect);\n        // Maintain the previously-selected tab if a new tab is added or removed and there is no\n        // explicit change that selects a different tab.\n        if (indexToSelect === this._selectedIndex) {\n          const tabs = this._tabs.toArray();\n          let selectedTab;\n          for (let i = 0; i < tabs.length; i++) {\n            if (tabs[i].isActive) {\n              // Assign both to the `_indexToSelect` and `_selectedIndex` so we don't fire a changed\n              // event, otherwise the consumer may end up in an infinite loop in some edge cases like\n              // adding a tab within the `selectedIndexChange` event.\n              this._indexToSelect = this._selectedIndex = i;\n              this._lastFocusedTabIndex = null;\n              selectedTab = tabs[i];\n              break;\n            }\n          }\n          // If we haven't found an active tab and a tab exists at the selected index, it means\n          // that the active tab was swapped out. Since this won't be picked up by the rendering\n          // loop in `ngAfterContentChecked`, we need to sync it up manually.\n          if (!selectedTab && tabs[indexToSelect]) {\n            Promise.resolve().then(() => {\n              tabs[indexToSelect].isActive = true;\n              this.selectedTabChange.emit(this._createChangeEvent(indexToSelect));\n            });\n          }\n        }\n        this._changeDetectorRef.markForCheck();\n      });\n    }\n    ngAfterViewInit() {\n      this._tabBodySubscription = this._tabBodies.changes.subscribe(() => this._bodyCentered(true));\n    }\n    /** Listens to changes in all of the tabs. */\n    _subscribeToAllTabChanges() {\n      // Since we use a query with `descendants: true` to pick up the tabs, we may end up catching\n      // some that are inside of nested tab groups. We filter them out manually by checking that\n      // the closest group to the tab is the current one.\n      this._allTabs.changes.pipe(startWith(this._allTabs)).subscribe(tabs => {\n        this._tabs.reset(tabs.filter(tab => {\n          return tab._closestTabGroup === this || !tab._closestTabGroup;\n        }));\n        this._tabs.notifyOnChanges();\n      });\n    }\n    ngOnDestroy() {\n      this._tabs.destroy();\n      this._tabsSubscription.unsubscribe();\n      this._tabLabelSubscription.unsubscribe();\n      this._tabBodySubscription.unsubscribe();\n    }\n    /** Re-aligns the ink bar to the selected tab element. */\n    realignInkBar() {\n      if (this._tabHeader) {\n        this._tabHeader._alignInkBarToSelectedTab();\n      }\n    }\n    /**\n     * Recalculates the tab group's pagination dimensions.\n     *\n     * WARNING: Calling this method can be very costly in terms of performance. It should be called\n     * as infrequently as possible from outside of the Tabs component as it causes a reflow of the\n     * page.\n     */\n    updatePagination() {\n      if (this._tabHeader) {\n        this._tabHeader.updatePagination();\n      }\n    }\n    /**\n     * Sets focus to a particular tab.\n     * @param index Index of the tab to be focused.\n     */\n    focusTab(index) {\n      const header = this._tabHeader;\n      if (header) {\n        header.focusIndex = index;\n      }\n    }\n    _focusChanged(index) {\n      this._lastFocusedTabIndex = index;\n      this.focusChange.emit(this._createChangeEvent(index));\n    }\n    _createChangeEvent(index) {\n      const event = new MatTabChangeEvent();\n      event.index = index;\n      if (this._tabs && this._tabs.length) {\n        event.tab = this._tabs.toArray()[index];\n      }\n      return event;\n    }\n    /**\n     * Subscribes to changes in the tab labels. This is needed, because the @Input for the label is\n     * on the MatTab component, whereas the data binding is inside the MatTabGroup. In order for the\n     * binding to be updated, we need to subscribe to changes in it and trigger change detection\n     * manually.\n     */\n    _subscribeToTabLabels() {\n      if (this._tabLabelSubscription) {\n        this._tabLabelSubscription.unsubscribe();\n      }\n      this._tabLabelSubscription = merge(...this._tabs.map(tab => tab._stateChanges)).subscribe(() => this._changeDetectorRef.markForCheck());\n    }\n    /** Clamps the given index to the bounds of 0 and the tabs length. */\n    _clampTabIndex(index) {\n      // Note the `|| 0`, which ensures that values like NaN can't get through\n      // and which would otherwise throw the component into an infinite loop\n      // (since Math.max(NaN, 0) === NaN).\n      return Math.min(this._tabs.length - 1, Math.max(index || 0, 0));\n    }\n    /** Returns a unique id for each tab label element */\n    _getTabLabelId(tab, index) {\n      return tab.id || `${this._groupId}-label-${index}`;\n    }\n    /** Returns a unique id for each tab content element */\n    _getTabContentId(index) {\n      return `${this._groupId}-content-${index}`;\n    }\n    /**\n     * Sets the height of the body wrapper to the height of the activating tab if dynamic\n     * height property is true.\n     */\n    _setTabBodyWrapperHeight(tabHeight) {\n      if (!this.dynamicHeight || !this._tabBodyWrapperHeight) {\n        this._tabBodyWrapperHeight = tabHeight;\n        return;\n      }\n      const wrapper = this._tabBodyWrapper.nativeElement;\n      wrapper.style.height = this._tabBodyWrapperHeight + 'px';\n      // This conditional forces the browser to paint the height so that\n      // the animation to the new height can have an origin.\n      if (this._tabBodyWrapper.nativeElement.offsetHeight) {\n        wrapper.style.height = tabHeight + 'px';\n      }\n    }\n    /** Removes the height of the tab body wrapper. */\n    _removeTabBodyWrapperHeight() {\n      const wrapper = this._tabBodyWrapper.nativeElement;\n      this._tabBodyWrapperHeight = wrapper.clientHeight;\n      wrapper.style.height = '';\n      this._ngZone.run(() => this.animationDone.emit());\n    }\n    /** Handle click events, setting new selected index if appropriate. */\n    _handleClick(tab, tabHeader, index) {\n      tabHeader.focusIndex = index;\n      if (!tab.disabled) {\n        this.selectedIndex = index;\n      }\n    }\n    /** Retrieves the tabindex for the tab. */\n    _getTabIndex(index) {\n      const targetIndex = this._lastFocusedTabIndex ?? this.selectedIndex;\n      return index === targetIndex ? 0 : -1;\n    }\n    /** Callback for when the focused state of a tab has changed. */\n    _tabFocusChanged(focusOrigin, index) {\n      // Mouse/touch focus happens during the `mousedown`/`touchstart` phase which\n      // can cause the tab to be moved out from under the pointer, interrupting the\n      // click sequence (see #21898). We don't need to scroll the tab into view for\n      // such cases anyway, because it will be done when the tab becomes selected.\n      if (focusOrigin && focusOrigin !== 'mouse' && focusOrigin !== 'touch') {\n        this._tabHeader.focusIndex = index;\n      }\n    }\n    /**\n     * Callback invoked when the centered state of a tab body changes.\n     * @param isCenter Whether the tab will be in the center.\n     */\n    _bodyCentered(isCenter) {\n      // Marks all the existing tabs as inactive and the center tab as active. Note that this can\n      // be achieved much easier by using a class binding on each body. The problem with\n      // doing so is that we can't control the timing of when the class is removed from the\n      // previously-active element and added to the newly-active one. If there's a tick between\n      // removing the class and adding the new one, the content will jump in a very jarring way.\n      // We go through the trouble of setting the classes ourselves to guarantee that they're\n      // swapped out at the same time.\n      if (isCenter) {\n        this._tabBodies?.forEach((body, i) => body._setActiveClass(i === this._selectedIndex));\n      }\n    }\n    _animationsDisabled() {\n      return this._diAnimationsDisabled || this.animationDuration === '0' || this.animationDuration === '0ms';\n    }\n    static ɵfac = function MatTabGroup_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatTabGroup)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatTabGroup,\n      selectors: [[\"mat-tab-group\"]],\n      contentQueries: function MatTabGroup_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, MatTab, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._allTabs = _t);\n        }\n      },\n      viewQuery: function MatTabGroup_Query(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵviewQuery(_c7, 5);\n          i0.ɵɵviewQuery(_c8, 5);\n          i0.ɵɵviewQuery(MatTabBody, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._tabBodyWrapper = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._tabHeader = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._tabBodies = _t);\n        }\n      },\n      hostAttrs: [1, \"mat-mdc-tab-group\"],\n      hostVars: 11,\n      hostBindings: function MatTabGroup_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"mat-align-tabs\", ctx.alignTabs);\n          i0.ɵɵclassMap(\"mat-\" + (ctx.color || \"primary\"));\n          i0.ɵɵstyleProp(\"--mat-tab-animation-duration\", ctx.animationDuration);\n          i0.ɵɵclassProp(\"mat-mdc-tab-group-dynamic-height\", ctx.dynamicHeight)(\"mat-mdc-tab-group-inverted-header\", ctx.headerPosition === \"below\")(\"mat-mdc-tab-group-stretch-tabs\", ctx.stretchTabs);\n        }\n      },\n      inputs: {\n        color: \"color\",\n        fitInkBarToContent: [2, \"fitInkBarToContent\", \"fitInkBarToContent\", booleanAttribute],\n        stretchTabs: [2, \"mat-stretch-tabs\", \"stretchTabs\", booleanAttribute],\n        alignTabs: [0, \"mat-align-tabs\", \"alignTabs\"],\n        dynamicHeight: [2, \"dynamicHeight\", \"dynamicHeight\", booleanAttribute],\n        selectedIndex: [2, \"selectedIndex\", \"selectedIndex\", numberAttribute],\n        headerPosition: \"headerPosition\",\n        animationDuration: \"animationDuration\",\n        contentTabIndex: [2, \"contentTabIndex\", \"contentTabIndex\", numberAttribute],\n        disablePagination: [2, \"disablePagination\", \"disablePagination\", booleanAttribute],\n        disableRipple: [2, \"disableRipple\", \"disableRipple\", booleanAttribute],\n        preserveContent: [2, \"preserveContent\", \"preserveContent\", booleanAttribute],\n        backgroundColor: \"backgroundColor\",\n        ariaLabel: [0, \"aria-label\", \"ariaLabel\"],\n        ariaLabelledby: [0, \"aria-labelledby\", \"ariaLabelledby\"]\n      },\n      outputs: {\n        selectedIndexChange: \"selectedIndexChange\",\n        focusChange: \"focusChange\",\n        animationDone: \"animationDone\",\n        selectedTabChange: \"selectedTabChange\"\n      },\n      exportAs: [\"matTabGroup\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MAT_TAB_GROUP,\n        useExisting: MatTabGroup\n      }])],\n      ngContentSelectors: _c0,\n      decls: 9,\n      vars: 8,\n      consts: [[\"tabHeader\", \"\"], [\"tabBodyWrapper\", \"\"], [\"tabNode\", \"\"], [3, \"indexFocused\", \"selectFocusedIndex\", \"selectedIndex\", \"disableRipple\", \"disablePagination\", \"aria-label\", \"aria-labelledby\"], [\"role\", \"tab\", \"matTabLabelWrapper\", \"\", \"cdkMonitorElementFocus\", \"\", 1, \"mdc-tab\", \"mat-mdc-tab\", \"mat-focus-indicator\", 3, \"id\", \"mdc-tab--active\", \"class\", \"disabled\", \"fitInkBarToContent\"], [1, \"mat-mdc-tab-body-wrapper\"], [\"role\", \"tabpanel\", 3, \"id\", \"class\", \"content\", \"position\", \"animationDuration\", \"preserveContent\"], [\"role\", \"tab\", \"matTabLabelWrapper\", \"\", \"cdkMonitorElementFocus\", \"\", 1, \"mdc-tab\", \"mat-mdc-tab\", \"mat-focus-indicator\", 3, \"click\", \"cdkFocusChange\", \"id\", \"disabled\", \"fitInkBarToContent\"], [1, \"mdc-tab__ripple\"], [\"mat-ripple\", \"\", 1, \"mat-mdc-tab-ripple\", 3, \"matRippleTrigger\", \"matRippleDisabled\"], [1, \"mdc-tab__content\"], [1, \"mdc-tab__text-label\"], [3, \"cdkPortalOutlet\"], [\"role\", \"tabpanel\", 3, \"_onCentered\", \"_onCentering\", \"_beforeCentering\", \"id\", \"content\", \"position\", \"animationDuration\", \"preserveContent\"]],\n      template: function MatTabGroup_Template(rf, ctx) {\n        if (rf & 1) {\n          const _r1 = i0.ɵɵgetCurrentView();\n          i0.ɵɵprojectionDef();\n          i0.ɵɵelementStart(0, \"mat-tab-header\", 3, 0);\n          i0.ɵɵlistener(\"indexFocused\", function MatTabGroup_Template_mat_tab_header_indexFocused_0_listener($event) {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._focusChanged($event));\n          })(\"selectFocusedIndex\", function MatTabGroup_Template_mat_tab_header_selectFocusedIndex_0_listener($event) {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx.selectedIndex = $event);\n          });\n          i0.ɵɵrepeaterCreate(2, MatTabGroup_For_3_Template, 8, 17, \"div\", 4, i0.ɵɵrepeaterTrackByIdentity);\n          i0.ɵɵelementEnd();\n          i0.ɵɵtemplate(4, MatTabGroup_Conditional_4_Template, 1, 0);\n          i0.ɵɵelementStart(5, \"div\", 5, 1);\n          i0.ɵɵrepeaterCreate(7, MatTabGroup_For_8_Template, 1, 10, \"mat-tab-body\", 6, i0.ɵɵrepeaterTrackByIdentity);\n          i0.ɵɵelementEnd();\n        }\n        if (rf & 2) {\n          i0.ɵɵproperty(\"selectedIndex\", ctx.selectedIndex || 0)(\"disableRipple\", ctx.disableRipple)(\"disablePagination\", ctx.disablePagination)(\"aria-label\", ctx.ariaLabel)(\"aria-labelledby\", ctx.ariaLabelledby);\n          i0.ɵɵadvance(2);\n          i0.ɵɵrepeater(ctx._tabs);\n          i0.ɵɵadvance(2);\n          i0.ɵɵconditional(ctx._isServer ? 4 : -1);\n          i0.ɵɵadvance();\n          i0.ɵɵclassProp(\"_mat-animation-noopable\", ctx._animationsDisabled());\n          i0.ɵɵadvance(2);\n          i0.ɵɵrepeater(ctx._tabs);\n        }\n      },\n      dependencies: [MatTabHeader, MatTabLabelWrapper, CdkMonitorFocus, MatRipple, CdkPortalOutlet, MatTabBody],\n      styles: [\".mdc-tab{min-width:90px;padding:0 24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;z-index:1}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab--active .mdc-tab__text-label{transition-delay:100ms}._mat-animation-noopable .mdc-tab__text-label{transition:none}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transition:var(--mat-tab-animation-duration, 250ms) transform cubic-bezier(0.4, 0, 0.2, 1);transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}._mat-animation-noopable .mdc-tab-indicator__content,.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mat-mdc-tab-ripple.mat-mdc-tab-ripple{position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none}.mat-mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;height:var(--mdc-secondary-navigation-tab-container-height, 48px);font-family:var(--mat-tab-header-label-text-font, var(--mat-sys-title-small-font));font-size:var(--mat-tab-header-label-text-size, var(--mat-sys-title-small-size));letter-spacing:var(--mat-tab-header-label-text-tracking, var(--mat-sys-title-small-tracking));line-height:var(--mat-tab-header-label-text-line-height, var(--mat-sys-title-small-line-height));font-weight:var(--mat-tab-header-label-text-weight, var(--mat-sys-title-small-weight))}.mat-mdc-tab.mdc-tab{flex-grow:0}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-color:var(--mdc-tab-indicator-active-indicator-color, var(--mat-sys-primary));border-top-width:var(--mdc-tab-indicator-active-indicator-height, 2px);border-radius:var(--mdc-tab-indicator-active-indicator-shape, 0)}.mat-mdc-tab:hover .mdc-tab__text-label{color:var(--mat-tab-header-inactive-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab:focus .mdc-tab__text-label{color:var(--mat-tab-header-inactive-focus-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--mat-tab-header-active-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active .mdc-tab__ripple::before,.mat-mdc-tab.mdc-tab--active .mat-ripple-element{background-color:var(--mat-tab-header-active-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab__text-label{color:var(--mat-tab-header-active-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-hover-indicator-color, var(--mat-sys-primary))}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab__text-label{color:var(--mat-tab-header-active-focus-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-focus-indicator-color, var(--mat-sys-primary))}.mat-mdc-tab.mat-mdc-tab-disabled{opacity:.4;pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__ripple::before,.mat-mdc-tab.mat-mdc-tab-disabled .mat-ripple-element{background-color:var(--mat-tab-header-disabled-ripple-color)}.mat-mdc-tab .mdc-tab__ripple::before{content:\\\"\\\";display:block;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none;background-color:var(--mat-tab-header-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-header-inactive-label-text-color, var(--mat-sys-on-surface));display:inline-flex;align-items:center}.mat-mdc-tab .mdc-tab__content{position:relative;pointer-events:auto}.mat-mdc-tab:hover .mdc-tab__ripple::before{opacity:.04}.mat-mdc-tab.cdk-program-focused .mdc-tab__ripple::before,.mat-mdc-tab.cdk-keyboard-focused .mdc-tab__ripple::before{opacity:.12}.mat-mdc-tab .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-group.mat-mdc-tab-group-stretch-tabs>.mat-mdc-tab-header .mat-mdc-tab{flex-grow:1}.mat-mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination{background-color:var(--mat-tab-header-with-background-background-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-focus-indicator::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-focus-indicator::before{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mdc-tab__ripple::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mdc-tab__ripple::before{background-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header{flex-direction:column-reverse}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mat-mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important}\\n\"],\n      encapsulation: 2\n    });\n  }\n  return MatTabGroup;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** A simple change event emitted on focus or selection changes. */\nclass MatTabChangeEvent {\n  /** Index of the currently-selected tab. */\n  index;\n  /** Reference to the currently-selected tab. */\n  tab;\n}\n\n/**\n * Navigation component matching the styles of the tab group header.\n * Provides anchored navigation with animated ink bar.\n */\nlet MatTabNav = /*#__PURE__*/(() => {\n  class MatTabNav extends MatPaginatedTabHeader {\n    _focusedItem = signal(null);\n    /** Whether the ink bar should fit its width to the size of the tab label content. */\n    get fitInkBarToContent() {\n      return this._fitInkBarToContent.value;\n    }\n    set fitInkBarToContent(value) {\n      this._fitInkBarToContent.next(value);\n      this._changeDetectorRef.markForCheck();\n    }\n    _fitInkBarToContent = new BehaviorSubject(false);\n    /** Whether tabs should be stretched to fill the header. */\n    stretchTabs = true;\n    get animationDuration() {\n      return this._animationDuration;\n    }\n    set animationDuration(value) {\n      const stringValue = value + '';\n      this._animationDuration = /^\\d+$/.test(stringValue) ? value + 'ms' : stringValue;\n    }\n    _animationDuration;\n    /** Query list of all tab links of the tab navigation. */\n    _items;\n    /**\n     * Theme color of the background of the tab nav. This API is supported in M2 themes only, it\n     * has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/tabs/styling.\n     *\n     * For information on applying color variants in M3, see\n     * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n     */\n    get backgroundColor() {\n      return this._backgroundColor;\n    }\n    set backgroundColor(value) {\n      const classList = this._elementRef.nativeElement.classList;\n      classList.remove('mat-tabs-with-background', `mat-background-${this.backgroundColor}`);\n      if (value) {\n        classList.add('mat-tabs-with-background', `mat-background-${value}`);\n      }\n      this._backgroundColor = value;\n    }\n    _backgroundColor;\n    /** Whether the ripple effect is disabled or not. */\n    disableRipple = false;\n    /**\n     * Theme color of the nav bar. This API is supported in M2 themes only, it has\n     * no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/tabs/styling.\n     *\n     * For information on applying color variants in M3, see\n     * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n     */\n    color = 'primary';\n    /**\n     * Associated tab panel controlled by the nav bar. If not provided, then the nav bar\n     * follows the ARIA link / navigation landmark pattern. If provided, it follows the\n     * ARIA tabs design pattern.\n     */\n    tabPanel;\n    _tabListContainer;\n    _tabList;\n    _tabListInner;\n    _nextPaginator;\n    _previousPaginator;\n    _inkBar;\n    constructor() {\n      const elementRef = inject(ElementRef);\n      const dir = inject(Directionality, {\n        optional: true\n      });\n      const ngZone = inject(NgZone);\n      const changeDetectorRef = inject(ChangeDetectorRef);\n      const viewportRuler = inject(ViewportRuler);\n      const platform = inject(Platform);\n      const animationMode = inject(ANIMATION_MODULE_TYPE, {\n        optional: true\n      });\n      const defaultConfig = inject(MAT_TABS_CONFIG, {\n        optional: true\n      });\n      super(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode);\n      this.disablePagination = defaultConfig && defaultConfig.disablePagination != null ? defaultConfig.disablePagination : false;\n      this.fitInkBarToContent = defaultConfig && defaultConfig.fitInkBarToContent != null ? defaultConfig.fitInkBarToContent : false;\n      this.stretchTabs = defaultConfig && defaultConfig.stretchTabs != null ? defaultConfig.stretchTabs : true;\n    }\n    _itemSelected() {\n      // noop\n    }\n    ngAfterContentInit() {\n      this._inkBar = new MatInkBar(this._items);\n      // We need this to run before the `changes` subscription in parent to ensure that the\n      // selectedIndex is up-to-date by the time the super class starts looking for it.\n      this._items.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => this.updateActiveLink());\n      super.ngAfterContentInit();\n      // Turn the `change` stream into a signal to try and avoid \"changed after checked\" errors.\n      this._keyManager.change.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => this._focusedItem.set(this._keyManager?.activeItem || null));\n    }\n    ngAfterViewInit() {\n      if (!this.tabPanel && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw new Error('A mat-tab-nav-panel must be specified via [tabPanel].');\n      }\n      super.ngAfterViewInit();\n    }\n    /** Notifies the component that the active link has been changed. */\n    updateActiveLink() {\n      if (!this._items) {\n        return;\n      }\n      const items = this._items.toArray();\n      for (let i = 0; i < items.length; i++) {\n        if (items[i].active) {\n          this.selectedIndex = i;\n          if (this.tabPanel) {\n            this.tabPanel._activeTabId = items[i].id;\n          }\n          // Updating the `selectedIndex` won't trigger the `change` event on\n          // the key manager so we need to set the signal from here.\n          this._focusedItem.set(items[i]);\n          this._changeDetectorRef.markForCheck();\n          return;\n        }\n      }\n      this.selectedIndex = -1;\n    }\n    _getRole() {\n      return this.tabPanel ? 'tablist' : this._elementRef.nativeElement.getAttribute('role');\n    }\n    _hasFocus(link) {\n      return this._keyManager?.activeItem === link;\n    }\n    static ɵfac = function MatTabNav_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatTabNav)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatTabNav,\n      selectors: [[\"\", \"mat-tab-nav-bar\", \"\"]],\n      contentQueries: function MatTabNav_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, MatTabLink, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._items = _t);\n        }\n      },\n      viewQuery: function MatTabNav_Query(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵviewQuery(_c1, 7);\n          i0.ɵɵviewQuery(_c2, 7);\n          i0.ɵɵviewQuery(_c3, 7);\n          i0.ɵɵviewQuery(_c4, 5);\n          i0.ɵɵviewQuery(_c5, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._tabListContainer = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._tabList = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._tabListInner = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._nextPaginator = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._previousPaginator = _t.first);\n        }\n      },\n      hostAttrs: [1, \"mat-mdc-tab-nav-bar\", \"mat-mdc-tab-header\"],\n      hostVars: 17,\n      hostBindings: function MatTabNav_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"role\", ctx._getRole());\n          i0.ɵɵstyleProp(\"--mat-tab-animation-duration\", ctx.animationDuration);\n          i0.ɵɵclassProp(\"mat-mdc-tab-header-pagination-controls-enabled\", ctx._showPaginationControls)(\"mat-mdc-tab-header-rtl\", ctx._getLayoutDirection() == \"rtl\")(\"mat-mdc-tab-nav-bar-stretch-tabs\", ctx.stretchTabs)(\"mat-primary\", ctx.color !== \"warn\" && ctx.color !== \"accent\")(\"mat-accent\", ctx.color === \"accent\")(\"mat-warn\", ctx.color === \"warn\")(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\");\n        }\n      },\n      inputs: {\n        fitInkBarToContent: [2, \"fitInkBarToContent\", \"fitInkBarToContent\", booleanAttribute],\n        stretchTabs: [2, \"mat-stretch-tabs\", \"stretchTabs\", booleanAttribute],\n        animationDuration: \"animationDuration\",\n        backgroundColor: \"backgroundColor\",\n        disableRipple: [2, \"disableRipple\", \"disableRipple\", booleanAttribute],\n        color: \"color\",\n        tabPanel: \"tabPanel\"\n      },\n      exportAs: [\"matTabNavBar\", \"matTabNav\"],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c9,\n      ngContentSelectors: _c0,\n      decls: 13,\n      vars: 6,\n      consts: [[\"previousPaginator\", \"\"], [\"tabListContainer\", \"\"], [\"tabList\", \"\"], [\"tabListInner\", \"\"], [\"nextPaginator\", \"\"], [\"mat-ripple\", \"\", 1, \"mat-mdc-tab-header-pagination\", \"mat-mdc-tab-header-pagination-before\", 3, \"click\", \"mousedown\", \"touchend\", \"matRippleDisabled\"], [1, \"mat-mdc-tab-header-pagination-chevron\"], [1, \"mat-mdc-tab-link-container\", 3, \"keydown\"], [1, \"mat-mdc-tab-list\", 3, \"cdkObserveContent\"], [1, \"mat-mdc-tab-links\"], [\"mat-ripple\", \"\", 1, \"mat-mdc-tab-header-pagination\", \"mat-mdc-tab-header-pagination-after\", 3, \"mousedown\", \"click\", \"touchend\", \"matRippleDisabled\"]],\n      template: function MatTabNav_Template(rf, ctx) {\n        if (rf & 1) {\n          const _r1 = i0.ɵɵgetCurrentView();\n          i0.ɵɵprojectionDef();\n          i0.ɵɵelementStart(0, \"div\", 5, 0);\n          i0.ɵɵlistener(\"click\", function MatTabNav_Template_div_click_0_listener() {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._handlePaginatorClick(\"before\"));\n          })(\"mousedown\", function MatTabNav_Template_div_mousedown_0_listener($event) {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._handlePaginatorPress(\"before\", $event));\n          })(\"touchend\", function MatTabNav_Template_div_touchend_0_listener() {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._stopInterval());\n          });\n          i0.ɵɵelement(2, \"div\", 6);\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(3, \"div\", 7, 1);\n          i0.ɵɵlistener(\"keydown\", function MatTabNav_Template_div_keydown_3_listener($event) {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._handleKeydown($event));\n          });\n          i0.ɵɵelementStart(5, \"div\", 8, 2);\n          i0.ɵɵlistener(\"cdkObserveContent\", function MatTabNav_Template_div_cdkObserveContent_5_listener() {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._onContentChanges());\n          });\n          i0.ɵɵelementStart(7, \"div\", 9, 3);\n          i0.ɵɵprojection(9);\n          i0.ɵɵelementEnd()()();\n          i0.ɵɵelementStart(10, \"div\", 10, 4);\n          i0.ɵɵlistener(\"mousedown\", function MatTabNav_Template_div_mousedown_10_listener($event) {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._handlePaginatorPress(\"after\", $event));\n          })(\"click\", function MatTabNav_Template_div_click_10_listener() {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._handlePaginatorClick(\"after\"));\n          })(\"touchend\", function MatTabNav_Template_div_touchend_10_listener() {\n            i0.ɵɵrestoreView(_r1);\n            return i0.ɵɵresetView(ctx._stopInterval());\n          });\n          i0.ɵɵelement(12, \"div\", 6);\n          i0.ɵɵelementEnd();\n        }\n        if (rf & 2) {\n          i0.ɵɵclassProp(\"mat-mdc-tab-header-pagination-disabled\", ctx._disableScrollBefore);\n          i0.ɵɵproperty(\"matRippleDisabled\", ctx._disableScrollBefore || ctx.disableRipple);\n          i0.ɵɵadvance(10);\n          i0.ɵɵclassProp(\"mat-mdc-tab-header-pagination-disabled\", ctx._disableScrollAfter);\n          i0.ɵɵproperty(\"matRippleDisabled\", ctx._disableScrollAfter || ctx.disableRipple);\n        }\n      },\n      dependencies: [MatRipple, CdkObserveContent],\n      styles: [\".mdc-tab{min-width:90px;padding:0 24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;z-index:1}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab--active .mdc-tab__text-label{transition-delay:100ms}._mat-animation-noopable .mdc-tab__text-label{transition:none}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transition:var(--mat-tab-animation-duration, 250ms) transform cubic-bezier(0.4, 0, 0.2, 1);transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}._mat-animation-noopable .mdc-tab-indicator__content,.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mat-mdc-tab-ripple.mat-mdc-tab-ripple{position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none}.mat-mdc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mdc-tab-indicator .mdc-tab-indicator__content{transition-duration:var(--mat-tab-animation-duration, 250ms)}.mat-mdc-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;outline:0}.mat-mdc-tab-header-pagination::-moz-focus-inner{border:0}.mat-mdc-tab-header-pagination .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-header-pagination-controls-enabled .mat-mdc-tab-header-pagination{display:flex}.mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after{padding-left:4px}.mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-pagination-after{padding-right:4px}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-mdc-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:var(--mat-tab-header-pagination-icon-color, var(--mat-sys-on-surface))}.mat-mdc-tab-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mat-mdc-tab-header-pagination-disabled .mat-mdc-tab-header-pagination-chevron{opacity:.4}.mat-mdc-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-mdc-tab-list{transition:none}.mat-mdc-tab-links{display:flex;flex:1 0 auto}[mat-align-tabs=center]>.mat-mdc-tab-link-container .mat-mdc-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-mdc-tab-link-container .mat-mdc-tab-links{justify-content:flex-end}.cdk-drop-list .mat-mdc-tab-links,.mat-mdc-tab-links.cdk-drop-list{min-height:var(--mdc-secondary-navigation-tab-container-height, 48px)}.mat-mdc-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1;border-bottom-style:solid;border-bottom-width:var(--mat-tab-header-divider-height, 1px);border-bottom-color:var(--mat-tab-header-divider-color, var(--mat-sys-surface-variant))}.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination{background-color:var(--mat-tab-header-with-background-background-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background.mat-primary>.mat-mdc-tab-link-container .mat-mdc-tab-link .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background.mat-primary>.mat-mdc-tab-link-container .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-link-container .mat-mdc-tab-link:not(.mdc-tab--active) .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-link-container .mat-mdc-tab-link:not(.mdc-tab--active) .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container .mat-focus-indicator::before,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-focus-indicator::before{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container .mat-ripple-element,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container .mdc-tab__ripple::before,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-ripple-element,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mdc-tab__ripple::before{background-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron{color:var(--mat-tab-header-with-background-foreground-color)}\\n\"],\n      encapsulation: 2\n    });\n  }\n  return MatTabNav;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Link inside a `mat-tab-nav-bar`.\n */\nlet MatTabLink = /*#__PURE__*/(() => {\n  class MatTabLink extends InkBarItem {\n    _tabNavBar = inject(MatTabNav);\n    elementRef = inject(ElementRef);\n    _focusMonitor = inject(FocusMonitor);\n    _destroyed = new Subject();\n    /** Whether the tab link is active or not. */\n    _isActive = false;\n    _tabIndex = computed(() => this._tabNavBar._focusedItem() === this ? this.tabIndex : -1);\n    /** Whether the link is active. */\n    get active() {\n      return this._isActive;\n    }\n    set active(value) {\n      if (value !== this._isActive) {\n        this._isActive = value;\n        this._tabNavBar.updateActiveLink();\n      }\n    }\n    /** Whether the tab link is disabled. */\n    disabled = false;\n    /** Whether ripples are disabled on the tab link. */\n    disableRipple = false;\n    tabIndex = 0;\n    /**\n     * Ripple configuration for ripples that are launched on pointer down. The ripple config\n     * is set to the global ripple options since we don't have any configurable options for\n     * the tab link ripples.\n     * @docs-private\n     */\n    rippleConfig;\n    /**\n     * Whether ripples are disabled on interaction.\n     * @docs-private\n     */\n    get rippleDisabled() {\n      return this.disabled || this.disableRipple || this._tabNavBar.disableRipple || !!this.rippleConfig.disabled;\n    }\n    /** Unique id for the tab. */\n    id = inject(_IdGenerator).getId('mat-tab-link-');\n    constructor() {\n      super();\n      inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n      const globalRippleOptions = inject(MAT_RIPPLE_GLOBAL_OPTIONS, {\n        optional: true\n      });\n      const tabIndex = inject(new HostAttributeToken('tabindex'), {\n        optional: true\n      });\n      const animationMode = inject(ANIMATION_MODULE_TYPE, {\n        optional: true\n      });\n      this.rippleConfig = globalRippleOptions || {};\n      this.tabIndex = tabIndex == null ? 0 : parseInt(tabIndex) || 0;\n      if (animationMode === 'NoopAnimations') {\n        this.rippleConfig.animation = {\n          enterDuration: 0,\n          exitDuration: 0\n        };\n      }\n      this._tabNavBar._fitInkBarToContent.pipe(takeUntil(this._destroyed)).subscribe(fitInkBarToContent => {\n        this.fitInkBarToContent = fitInkBarToContent;\n      });\n    }\n    /** Focuses the tab link. */\n    focus() {\n      this.elementRef.nativeElement.focus();\n    }\n    ngAfterViewInit() {\n      this._focusMonitor.monitor(this.elementRef);\n    }\n    ngOnDestroy() {\n      this._destroyed.next();\n      this._destroyed.complete();\n      super.ngOnDestroy();\n      this._focusMonitor.stopMonitoring(this.elementRef);\n    }\n    _handleFocus() {\n      // Since we allow navigation through tabbing in the nav bar, we\n      // have to update the focused index whenever the link receives focus.\n      this._tabNavBar.focusIndex = this._tabNavBar._items.toArray().indexOf(this);\n    }\n    _handleKeydown(event) {\n      if (event.keyCode === SPACE || event.keyCode === ENTER) {\n        if (this.disabled) {\n          event.preventDefault();\n        } else if (this._tabNavBar.tabPanel) {\n          // Only prevent the default action on space since it can scroll the page.\n          // Don't prevent enter since it can break link navigation.\n          if (event.keyCode === SPACE) {\n            event.preventDefault();\n          }\n          this.elementRef.nativeElement.click();\n        }\n      }\n    }\n    _getAriaControls() {\n      return this._tabNavBar.tabPanel ? this._tabNavBar.tabPanel?.id : this.elementRef.nativeElement.getAttribute('aria-controls');\n    }\n    _getAriaSelected() {\n      if (this._tabNavBar.tabPanel) {\n        return this.active ? 'true' : 'false';\n      } else {\n        return this.elementRef.nativeElement.getAttribute('aria-selected');\n      }\n    }\n    _getAriaCurrent() {\n      return this.active && !this._tabNavBar.tabPanel ? 'page' : null;\n    }\n    _getRole() {\n      return this._tabNavBar.tabPanel ? 'tab' : this.elementRef.nativeElement.getAttribute('role');\n    }\n    static ɵfac = function MatTabLink_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatTabLink)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatTabLink,\n      selectors: [[\"\", \"mat-tab-link\", \"\"], [\"\", \"matTabLink\", \"\"]],\n      hostAttrs: [1, \"mdc-tab\", \"mat-mdc-tab-link\", \"mat-focus-indicator\"],\n      hostVars: 11,\n      hostBindings: function MatTabLink_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"focus\", function MatTabLink_focus_HostBindingHandler() {\n            return ctx._handleFocus();\n          })(\"keydown\", function MatTabLink_keydown_HostBindingHandler($event) {\n            return ctx._handleKeydown($event);\n          });\n        }\n        if (rf & 2) {\n          i0.ɵɵattribute(\"aria-controls\", ctx._getAriaControls())(\"aria-current\", ctx._getAriaCurrent())(\"aria-disabled\", ctx.disabled)(\"aria-selected\", ctx._getAriaSelected())(\"id\", ctx.id)(\"tabIndex\", ctx._tabIndex())(\"role\", ctx._getRole());\n          i0.ɵɵclassProp(\"mat-mdc-tab-disabled\", ctx.disabled)(\"mdc-tab--active\", ctx.active);\n        }\n      },\n      inputs: {\n        active: [2, \"active\", \"active\", booleanAttribute],\n        disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n        disableRipple: [2, \"disableRipple\", \"disableRipple\", booleanAttribute],\n        tabIndex: [2, \"tabIndex\", \"tabIndex\", value => value == null ? 0 : numberAttribute(value)],\n        id: \"id\"\n      },\n      exportAs: [\"matTabLink\"],\n      features: [i0.ɵɵInheritDefinitionFeature],\n      attrs: _c10,\n      ngContentSelectors: _c0,\n      decls: 5,\n      vars: 2,\n      consts: [[1, \"mdc-tab__ripple\"], [\"mat-ripple\", \"\", 1, \"mat-mdc-tab-ripple\", 3, \"matRippleTrigger\", \"matRippleDisabled\"], [1, \"mdc-tab__content\"], [1, \"mdc-tab__text-label\"]],\n      template: function MatTabLink_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef();\n          i0.ɵɵelement(0, \"span\", 0)(1, \"div\", 1);\n          i0.ɵɵelementStart(2, \"span\", 2)(3, \"span\", 3);\n          i0.ɵɵprojection(4);\n          i0.ɵɵelementEnd()();\n        }\n        if (rf & 2) {\n          i0.ɵɵadvance();\n          i0.ɵɵproperty(\"matRippleTrigger\", ctx.elementRef.nativeElement)(\"matRippleDisabled\", ctx.rippleDisabled);\n        }\n      },\n      dependencies: [MatRipple],\n      styles: [\".mat-mdc-tab-link{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;height:var(--mdc-secondary-navigation-tab-container-height, 48px);font-family:var(--mat-tab-header-label-text-font, var(--mat-sys-title-small-font));font-size:var(--mat-tab-header-label-text-size, var(--mat-sys-title-small-size));letter-spacing:var(--mat-tab-header-label-text-tracking, var(--mat-sys-title-small-tracking));line-height:var(--mat-tab-header-label-text-line-height, var(--mat-sys-title-small-line-height));font-weight:var(--mat-tab-header-label-text-weight, var(--mat-sys-title-small-weight))}.mat-mdc-tab-link.mdc-tab{flex-grow:0}.mat-mdc-tab-link .mdc-tab-indicator__content--underline{border-color:var(--mdc-tab-indicator-active-indicator-color, var(--mat-sys-primary));border-top-width:var(--mdc-tab-indicator-active-indicator-height, 2px);border-radius:var(--mdc-tab-indicator-active-indicator-shape, 0)}.mat-mdc-tab-link:hover .mdc-tab__text-label{color:var(--mat-tab-header-inactive-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link:focus .mdc-tab__text-label{color:var(--mat-tab-header-inactive-focus-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link.mdc-tab--active .mdc-tab__text-label{color:var(--mat-tab-header-active-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link.mdc-tab--active .mdc-tab__ripple::before,.mat-mdc-tab-link.mdc-tab--active .mat-ripple-element{background-color:var(--mat-tab-header-active-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link.mdc-tab--active:hover .mdc-tab__text-label{color:var(--mat-tab-header-active-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-hover-indicator-color, var(--mat-sys-primary))}.mat-mdc-tab-link.mdc-tab--active:focus .mdc-tab__text-label{color:var(--mat-tab-header-active-focus-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-focus-indicator-color, var(--mat-sys-primary))}.mat-mdc-tab-link.mat-mdc-tab-disabled{opacity:.4;pointer-events:none}.mat-mdc-tab-link.mat-mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mat-mdc-tab-link.mat-mdc-tab-disabled .mdc-tab__ripple::before,.mat-mdc-tab-link.mat-mdc-tab-disabled .mat-ripple-element{background-color:var(--mat-tab-header-disabled-ripple-color)}.mat-mdc-tab-link .mdc-tab__ripple::before{content:\\\"\\\";display:block;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none;background-color:var(--mat-tab-header-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-link .mdc-tab__text-label{color:var(--mat-tab-header-inactive-label-text-color, var(--mat-sys-on-surface));display:inline-flex;align-items:center}.mat-mdc-tab-link .mdc-tab__content{position:relative;pointer-events:auto}.mat-mdc-tab-link:hover .mdc-tab__ripple::before{opacity:.04}.mat-mdc-tab-link.cdk-program-focused .mdc-tab__ripple::before,.mat-mdc-tab-link.cdk-keyboard-focused .mdc-tab__ripple::before{opacity:.12}.mat-mdc-tab-link .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-header.mat-mdc-tab-nav-bar-stretch-tabs .mat-mdc-tab-link{flex-grow:1}.mat-mdc-tab-link::before{margin:5px}@media(max-width: 599px){.mat-mdc-tab-link{min-width:72px}}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatTabLink;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Tab panel component associated with MatTabNav.\n */\nlet MatTabNavPanel = /*#__PURE__*/(() => {\n  class MatTabNavPanel {\n    /** Unique id for the tab panel. */\n    id = inject(_IdGenerator).getId('mat-tab-nav-panel-');\n    /** Id of the active tab in the nav bar. */\n    _activeTabId;\n    static ɵfac = function MatTabNavPanel_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatTabNavPanel)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatTabNavPanel,\n      selectors: [[\"mat-tab-nav-panel\"]],\n      hostAttrs: [\"role\", \"tabpanel\", 1, \"mat-mdc-tab-nav-panel\"],\n      hostVars: 2,\n      hostBindings: function MatTabNavPanel_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"aria-labelledby\", ctx._activeTabId)(\"id\", ctx.id);\n        }\n      },\n      inputs: {\n        id: \"id\"\n      },\n      exportAs: [\"matTabNavPanel\"],\n      ngContentSelectors: _c0,\n      decls: 1,\n      vars: 0,\n      template: function MatTabNavPanel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef();\n          i0.ɵɵprojection(0);\n        }\n      },\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatTabNavPanel;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatTabsModule = /*#__PURE__*/(() => {\n  class MatTabsModule {\n    static ɵfac = function MatTabsModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatTabsModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: MatTabsModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [MatCommonModule, MatCommonModule]\n    });\n  }\n  return MatTabsModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Animations used by the Material tabs.\n * @docs-private\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0.\n */\nconst matTabsAnimations = {\n  // Represents:\n  // trigger('translateTab', [\n  //   // Transitions to `none` instead of 0, because some browsers might blur the content.\n  //   state(\n  //     'center, void, left-origin-center, right-origin-center',\n  //     style({transform: 'none', visibility: 'visible'}),\n  //   ),\n  //   // If the tab is either on the left or right, we additionally add a `min-height` of 1px\n  //   // in order to ensure that the element has a height before its state changes. This is\n  //   // necessary because Chrome does seem to skip the transition in RTL mode if the element does\n  //   // not have a static height and is not rendered. See related issue: #9465\n  //   state(\n  //     'left',\n  //     style({\n  //       transform: 'translate3d(-100%, 0, 0)',\n  //       minHeight: '1px',\n  //       // Normally this is redundant since we detach the content from the DOM, but if the user\n  //       // opted into keeping the content in the DOM, we have to hide it so it isn't focusable.\n  //       visibility: 'hidden',\n  //     }),\n  //   ),\n  //   state(\n  //     'right',\n  //     style({\n  //       transform: 'translate3d(100%, 0, 0)',\n  //       minHeight: '1px',\n  //       visibility: 'hidden',\n  //     }),\n  //   ),\n  //   transition(\n  //     '* => left, * => right, left => center, right => center',\n  //     animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)'),\n  //   ),\n  //   transition('void => left-origin-center', [\n  //     style({transform: 'translate3d(-100%, 0, 0)', visibility: 'hidden'}),\n  //     animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)'),\n  //   ]),\n  //   transition('void => right-origin-center', [\n  //     style({transform: 'translate3d(100%, 0, 0)', visibility: 'hidden'}),\n  //     animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)'),\n  //   ]),\n  // ])\n  /** Animation translates a tab along the X axis. */\n  translateTab: {\n    type: 7,\n    name: 'translateTab',\n    definitions: [{\n      type: 0,\n      name: 'center, void, left-origin-center, right-origin-center',\n      styles: {\n        type: 6,\n        styles: {\n          transform: 'none',\n          visibility: 'visible'\n        },\n        offset: null\n      }\n    }, {\n      type: 0,\n      name: 'left',\n      styles: {\n        type: 6,\n        styles: {\n          transform: 'translate3d(-100%, 0, 0)',\n          minHeight: '1px',\n          visibility: 'hidden'\n        },\n        offset: null\n      }\n    }, {\n      type: 0,\n      name: 'right',\n      styles: {\n        type: 6,\n        styles: {\n          transform: 'translate3d(100%, 0, 0)',\n          minHeight: '1px',\n          visibility: 'hidden'\n        },\n        offset: null\n      }\n    }, {\n      type: 1,\n      expr: '* => left, * => right, left => center, right => center',\n      animation: {\n        type: 4,\n        styles: null,\n        timings: '{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)'\n      },\n      options: null\n    }, {\n      type: 1,\n      expr: 'void => left-origin-center',\n      animation: [{\n        type: 6,\n        styles: {\n          transform: 'translate3d(-100%, 0, 0)',\n          visibility: 'hidden'\n        },\n        offset: null\n      }, {\n        type: 4,\n        styles: null,\n        timings: '{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)'\n      }],\n      options: null\n    }, {\n      type: 1,\n      expr: 'void => right-origin-center',\n      animation: [{\n        type: 6,\n        styles: {\n          transform: 'translate3d(100%, 0, 0)',\n          visibility: 'hidden'\n        },\n        offset: null\n      }, {\n        type: 4,\n        styles: null,\n        timings: '{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)'\n      }],\n      options: null\n    }],\n    options: {}\n  }\n};\nexport { MAT_TAB, MAT_TABS_CONFIG, MAT_TAB_CONTENT, MAT_TAB_GROUP, MAT_TAB_LABEL, MatInkBar, MatPaginatedTabHeader, MatTab, MatTabBody, MatTabBodyPortal, MatTabChangeEvent, MatTabContent, MatTabGroup, MatTabHeader, MatTabLabel, MatTabLabelWrapper, MatTabLink, MatTabNav, MatTabNavPanel, MatTabsModule, _MAT_INK_BAR_POSITIONER, _MAT_INK_BAR_POSITIONER_FACTORY, matTabsAnimations };\n","import {Component, OnInit} from '@angular/core';\r\n\r\nimport {MatTabsModule} from '@angular/material/tabs';\r\nimport {FaqService} from './services/faq.service';\r\nimport {CategorieFaq, CleCategorieFaq, FaqItem} from '../../core/interfaces/faq.interface';\r\nimport {MatExpansionModule} from '@angular/material/expansion';\r\n\r\n@Component({\r\n  selector: 'app-faq-page',\r\n  imports: [MatTabsModule, MatExpansionModule],\r\n  templateUrl: './faq-page.component.html',\r\n  styleUrl: './faq-page.component.sass'\r\n})\r\nexport class FaqPageComponent implements OnInit{\r\n  faqItems!: FaqItem[];\r\n  faqCategories !: CategorieFaq[];\r\n\r\n  constructor(private faqService: FaqService ) {}\r\n\r\n  ngOnInit() {\r\n    this.faqItems = this.faqService.getAll();\r\n    this.faqCategories = this.faqService.getCategories();\r\n    console.log(this.faqItems)\r\n  }\r\n\r\n  getQuestionsByCategory(category: CleCategorieFaq) {\r\n    const questions = this.faqService.getParCategorie(category)\r\n    return questions;\r\n  }\r\n\r\n\r\n}\r\n","<section id=\"faq-page\" class=\"faq-page\">\r\n\r\n  <div class=\"faq-header section-header\">\r\n    <div class=\"background\">\r\n      <div class=\"shape shape-right\"></div>\r\n    </div>\r\n   <div class=\"texte\">\r\n     <h1><span class=\"highlight\">Questions</span> fréquentes</h1>\r\n     <p>Tout ce que vous devez savoir avant de démarrer votre projet web.\r\n       Des réponses claires pour avancer en toute confiance.</p>\r\n   </div>\r\n    <div class=\"divider\"></div>\r\n  </div>\r\n  <div class=\"faq-body\">\r\n      <mat-tab-group >\r\n        @for (categorie of faqCategories; track categorie.cle) {\r\n\r\n          <mat-tab label=\"{{categorie.label}}\">\r\n            <mat-accordion  class=\"custom-faq-accordion\">\r\n              @for (question of getQuestionsByCategory(categorie.cle); track question.id) {\r\n\r\n\r\n                <mat-expansion-panel>\r\n                  <mat-expansion-panel-header>\r\n                    <mat-panel-title> {{ question.question }}</mat-panel-title>\r\n\r\n                  </mat-expansion-panel-header>\r\n                  <p>{{ question.reponse }}</p>\r\n                </mat-expansion-panel>\r\n\r\n              }\r\n            </mat-accordion>\r\n\r\n          </mat-tab>\r\n        }\r\n\r\n      </mat-tab-group>\r\n\r\n  </div>\r\n\r\n\r\n</section>\r\n","import { Component } from '@angular/core';\r\nimport {RouterLink} from '@angular/router';\r\nimport {FooterComponent} from '../../core/components/footer/footer.component';\r\n\r\n@Component({\r\n  selector: 'app-mentions-legales',\r\n  imports: [\r\n    RouterLink,\r\n  ],\r\n  templateUrl: './mentions-legales.component.html',\r\n  styleUrl: './mentions-legales.component.sass'\r\n})\r\nexport class MentionsLegalesComponent {\r\n\r\n  readonly email = 'contact@cristian-tudoroiu.fr';\r\n  readonly derniereMaj = 'Février 2026';\r\n\r\n  // Remplace par l’adresse que tu souhaites afficher\r\n  readonly adresse = 'Pau, Nouvelle-Aquitaine, France';\r\n}\r\n","<!-- pages/mentions-legales/mentions-legales-page.component.html -->\r\n<section class=\"legal-content\" >\r\n  <a class=\"legal-back\" routerLink=\"/\">\r\n    <span class=\"legal-back__icon\" aria-hidden=\"true\">←</span>\r\n    Retour à l'accueil\r\n  </a>\r\n\r\n  <header class=\"legal-header\">\r\n    <h1 class=\"legal-title\">\r\n      Mentions <span class=\"legal-title__accent\">légales</span>\r\n    </h1>\r\n    <div class=\"legal-separator\" aria-hidden=\"true\"></div>\r\n  </header>\r\n\r\n  <div class=\"legal-sections\">\r\n    <section class=\"legal-section\" aria-labelledby=\"editeur\">\r\n      <h2 id=\"editeur\" class=\"legal-section__title\">1. Éditeur du site</h2>\r\n\r\n      <p>\r\n        En vertu de l'article 6 de la loi n° 2004-575 du 21 juin 2004 pour la confiance dans\r\n        l'économie numérique, il est précisé aux utilisateurs du site\r\n        <strong>www.cristian-tudoroiu.fr</strong> l'identité des différents intervenants dans le cadre\r\n        de sa réalisation et de son suivi :\r\n      </p>\r\n\r\n      <p class=\"legal-section__lead\">\r\n        Le site <strong>cristian-tudoroiu.fr</strong> est édité par :\r\n      </p>\r\n\r\n      <ul class=\"legal-list\">\r\n        <li><strong>Nom / Raison sociale :</strong> Cristian TUDOROIU | MICRO-ENTREPRISE</li>\r\n        <li><strong>Adresse :</strong> {{ adresse }}</li>\r\n        <li><strong>SIREN :</strong> 988 072 807</li>\r\n        <li><strong>Responsable de la publication :</strong> Cristian TUDOROIU</li>\r\n        <li>\r\n          <strong>Contact :</strong>\r\n          <a class=\"legal-link\" [href]=\"'mailto:' + email\">{{ email }}</a>\r\n        </li>\r\n      </ul>\r\n    </section>\r\n\r\n    <section class=\"legal-section\" aria-labelledby=\"hebergeur\">\r\n      <h2 id=\"hebergeur\" class=\"legal-section__title\">2. Hébergeur</h2>\r\n\r\n      <p>Le site est hébergé par :</p>\r\n\r\n      <ul class=\"legal-list\">\r\n        <li><strong>Nom de l’hébergeur :</strong> O2Switch</li>\r\n        <li><strong>Adresse :</strong> Chemin des Pardiaux, 63000 Clermont-Ferrand, France</li>\r\n        <li><strong>Téléphone :</strong> 04 44 44 60 40</li>\r\n        <li><strong>Site web :</strong> <span class=\"legal-muted\">www.o2switch.fr</span></li>\r\n      </ul>\r\n    </section>\r\n\r\n    <section class=\"legal-section\" aria-labelledby=\"pi\">\r\n      <h2 id=\"pi\" class=\"legal-section__title\">3. Propriété intellectuelle</h2>\r\n\r\n      <p>\r\n        L’ensemble du contenu du site <strong>cristian-tudoroiu.fr</strong> (textes, images,\r\n        graphismes, logo, code source) est protégé par le droit d’auteur.\r\n      </p>\r\n      <p>\r\n        Toute reproduction, représentation, modification, publication, adaptation de tout ou partie\r\n        des éléments du site, quel que soit le moyen ou le procédé utilisé, est interdite sauf\r\n        autorisation écrite préalable.\r\n      </p>\r\n    </section>\r\n\r\n    <section class=\"legal-section\" aria-labelledby=\"responsabilite\">\r\n      <h2 id=\"responsabilite\" class=\"legal-section__title\">4. Responsabilité</h2>\r\n\r\n      <p>L’éditeur ne peut être tenu responsable :</p>\r\n      <ul class=\"legal-list legal-list--bullets\">\r\n        <li>des erreurs ou omissions dans les contenus publiés,</li>\r\n        <li>des dommages directs ou indirects liés à l’utilisation du site,</li>\r\n        <li>des liens hypertextes présents vers d’autres sites dont il n’a pas le contrôle.</li>\r\n      </ul>\r\n    </section>\r\n\r\n    <section class=\"legal-section\" aria-labelledby=\"donnees\">\r\n      <h2 id=\"donnees\" class=\"legal-section__title\">5. Données personnelles</h2>\r\n\r\n      <p>\r\n        Les informations collectées sur ce site sont traitées conformément au Règlement Général sur\r\n        la Protection des Données (RGPD).\r\n      </p>\r\n      <p>\r\n        Pour en savoir plus sur la collecte et le traitement de vos données personnelles, consultez\r\n        notre\r\n        <a class=\"legal-link\" routerLink=\"/politique-de-confidentialite\">\r\n          Politique de confidentialité\r\n        </a>.\r\n      </p>\r\n    </section>\r\n\r\n    <section class=\"legal-section\" aria-labelledby=\"cookies\">\r\n      <h2 id=\"cookies\" class=\"legal-section__title\">6. Cookies</h2>\r\n\r\n      <p>\r\n        Le site utilise des cookies pour améliorer l’expérience utilisateur et mesurer l’audience.\r\n        Vous pouvez gérer vos préférences via le bandeau de consentement affiché lors de votre\r\n        première visite.\r\n      </p>\r\n    </section>\r\n\r\n    <section class=\"legal-section\" aria-labelledby=\"droit\">\r\n      <h2 id=\"droit\" class=\"legal-section__title\">7. Droit applicable</h2>\r\n\r\n      <p>\r\n        Les présentes mentions légales sont soumises au droit français. En cas de litige, seuls les\r\n        tribunaux français seront compétents.\r\n      </p>\r\n    </section>\r\n  </div>\r\n\r\n  <p class=\"legal-updated\">Dernière mise à jour : {{ derniereMaj }}</p>\r\n</section>\r\n","import { Component } from '@angular/core';\r\nimport {RouterLink} from '@angular/router';\r\n\r\n@Component({\r\n  selector: 'app-politique-de-confidentialite',\r\n  imports: [\r\n    RouterLink\r\n  ],\r\n  templateUrl: './politique-de-confidentialite.component.html',\r\n  styleUrl: './politique-de-confidentialite.component.sass'\r\n})\r\nexport class PolitiqueDeConfidentialiteComponent {\r\n  readonly email = 'contact@cristian-tudoroiu.fr';\r\n  readonly derniereMaj = 'Février 2026';\r\n}\r\n","<section class=\"legal-content\" >\r\n  <a class=\"legal-back\" [routerLink]=\"'/'\">\r\n    <span class=\"legal-back__icon\">←</span>\r\n    Retour à l'accueil\r\n  </a>\r\n\r\n  <header class=\"legal-header\">\r\n    <h1 class=\"legal-title\">\r\n      Politique de <span class=\"legal-title__accent\">confidentialité</span>\r\n    </h1>\r\n    <div class=\"legal-separator\"></div>\r\n  </header>\r\n\r\n  <div class=\"legal-sections\">\r\n\r\n    <!-- ARTICLE 1 -->\r\n    <section class=\"legal-section\">\r\n      <h2 class=\"legal-section__title\">ARTICLE 1 : PRÉAMBULE</h2>\r\n\r\n      <p>\r\n        La présente politique de confidentialité a pour but d’informer les utilisateurs du site\r\n        <strong>cristian-tudoroiu.fr</strong> :\r\n      </p>\r\n\r\n      <ul class=\"legal-list legal-list--bullets\">\r\n        <li>Sur la manière dont sont collectées leurs données personnelles ;</li>\r\n        <li>Sur les droits dont ils disposent concernant ces données ;</li>\r\n        <li>Sur la personne responsable du traitement des données collectées ;</li>\r\n        <li>Sur les destinataires de ces données ;</li>\r\n        <li>Sur la politique du site en matière de cookies.</li>\r\n      </ul>\r\n\r\n      <p>\r\n        Cette politique complète les\r\n        <a routerLink=\"/mentions-legales\" class=\"legal-link\">Mentions légales</a>.\r\n      </p>\r\n    </section>\r\n\r\n    <!-- ARTICLE 2 -->\r\n    <section class=\"legal-section\">\r\n      <h2 class=\"legal-section__title\">\r\n        ARTICLE 2 : PRINCIPES RELATIFS À LA COLLECTE ET AU TRAITEMENT DES DONNÉES\r\n      </h2>\r\n\r\n      <p>Conformément au RGPD (Règlement européen 2016/679) :</p>\r\n\r\n      <ul class=\"legal-list legal-list--bullets\">\r\n        <li>Les données sont traitées de manière licite, transparente et sécurisée.</li>\r\n        <li>Elles sont collectées uniquement pour des finalités légitimes.</li>\r\n        <li>Elles sont limitées au strict nécessaire.</li>\r\n        <li>Elles sont conservées uniquement le temps nécessaire.</li>\r\n        <li>Des mesures techniques et organisationnelles protègent ces données.</li>\r\n      </ul>\r\n    </section>\r\n\r\n    <!-- ARTICLE 3 -->\r\n    <section class=\"legal-section\">\r\n      <h2 class=\"legal-section__title\">\r\n        ARTICLE 3 : DONNÉES PERSONNELLES COLLECTÉES ET TRAITÉES\r\n      </h2>\r\n\r\n      <h3 class=\"legal-subtitle\">3.1 Données collectées</h3>\r\n\r\n      <p>\r\n        Lors de votre navigation sur cristian-tudoroiu.fr, nous pouvons collecter :\r\n      </p>\r\n\r\n      <ul class=\"legal-list legal-list--bullets\">\r\n        <li>Données techniques : adresse IP, navigateur, pages visitées (via Google Analytics uniquement si vous l’acceptez).</li>\r\n        <li>Données fournies volontairement : nom, email (via un formulaire de contact).</li>\r\n      </ul>\r\n\r\n      <p>Ces données sont collectées pour :</p>\r\n\r\n      <ul class=\"legal-list legal-list--bullets\">\r\n        <li>Améliorer votre expérience utilisateur</li>\r\n        <li>Analyser l’audience et les performances du site</li>\r\n        <li>Répondre à vos demandes via le formulaire de contact</li>\r\n      </ul>\r\n\r\n      <h3 class=\"legal-subtitle\">3.2 Mode de collecte</h3>\r\n\r\n      <ul class=\"legal-list legal-list--bullets\">\r\n        <li>Automatiquement : cookies, logs serveur, mesures d’audience.</li>\r\n        <li>Manuellement : formulaire de contact.</li>\r\n      </ul>\r\n\r\n      <p>\r\n        Ces données sont conservées 12 mois maximum pour les cookies analytiques,\r\n        et le temps nécessaire au traitement de vos demandes pour les formulaires.\r\n      </p>\r\n\r\n      <h3 class=\"legal-subtitle\">3.3 Hébergement des données</h3>\r\n\r\n      <p>Le site est hébergé par :</p>\r\n\r\n      <ul class=\"legal-list\">\r\n        <li><strong>O2Switch</strong></li>\r\n        <li>Chemin des Pardiaux, 63000 Clermont-Ferrand, France</li>\r\n        <li>www.o2switch.fr</li>\r\n      </ul>\r\n\r\n      <p>\r\n        Les données sont stockées sur des serveurs sécurisés situés en Union Européenne.\r\n      </p>\r\n\r\n      <h3 class=\"legal-subtitle\">3.4 Transmission des données à des tiers</h3>\r\n\r\n      <ul class=\"legal-list legal-list--bullets\">\r\n        <li>Google Analytics (uniquement si vous avez donné votre consentement)</li>\r\n        <li>Sous-traitants techniques nécessaires au fonctionnement du site</li>\r\n      </ul>\r\n\r\n      <p>Les données ne sont jamais vendues.</p>\r\n\r\n      <h3 class=\"legal-subtitle\">3.5 Cookies</h3>\r\n\r\n      <ul class=\"legal-list legal-list--bullets\">\r\n        <li>Cookies essentiels : nécessaires au bon fonctionnement du site.</li>\r\n        <li>Cookies analytiques (Google Analytics) : uniquement après consentement.</li>\r\n      </ul>\r\n\r\n      <p>\r\n        Vous pouvez accepter ou refuser les cookies via la bannière affichée lors de votre première visite.\r\n      </p>\r\n    </section>\r\n\r\n    <!-- ARTICLE 4 -->\r\n    <section class=\"legal-section\">\r\n      <h2 class=\"legal-section__title\">ARTICLE 4 : RESPONSABLE DU TRAITEMENT</h2>\r\n\r\n      <p>\r\n        Les données personnelles sont collectées par :\r\n        <strong>Cristian TUDOROIU – Micro-entreprise</strong>, Pau, France.\r\n      </p>\r\n\r\n      <p>\r\n        Contact : <a class=\"legal-link\" [href]=\"'mailto:' + email\">{{ email }}</a>\r\n      </p>\r\n    </section>\r\n\r\n    <!-- ARTICLE 5 -->\r\n    <section class=\"legal-section\">\r\n      <h2 class=\"legal-section__title\">ARTICLE 5 : VOS DROITS</h2>\r\n\r\n      <ul class=\"legal-list legal-list--bullets\">\r\n        <li>Droit d’accès, de rectification et d’effacement</li>\r\n        <li>Droit à la portabilité des données</li>\r\n        <li>Droit à la limitation et à l’opposition</li>\r\n        <li>Droit de retirer votre consentement à tout moment</li>\r\n        <li>Droit de déposer une réclamation auprès de la CNIL</li>\r\n      </ul>\r\n\r\n      <p>\r\n        Pour exercer vos droits :\r\n        <a class=\"legal-link\" [href]=\"'mailto:' + email\">{{ email }}</a>\r\n      </p>\r\n    </section>\r\n\r\n    <!-- ARTICLE 6 -->\r\n    <section class=\"legal-section\">\r\n      <h2 class=\"legal-section__title\">ARTICLE 6 : MODIFICATIONS</h2>\r\n\r\n      <p>\r\n        La présente politique peut être mise à jour à tout moment afin de rester conforme à la réglementation en vigueur.\r\n      </p>\r\n    </section>\r\n\r\n  </div>\r\n\r\n  <p class=\"legal-updated\">\r\n    Dernière mise à jour : {{ derniereMaj }}\r\n  </p>\r\n</section>\r\n","import { Component } from '@angular/core';\r\nimport {RouterLink} from '@angular/router';\r\n\r\n@Component({\r\n  selector: 'app-conditions-generales-prestation',\r\n  imports: [\r\n    RouterLink\r\n  ],\r\n  templateUrl: './conditions-generales-prestation.component.html',\r\n  styleUrl: './conditions-generales-prestation.component.sass'\r\n})\r\nexport class ConditionsGeneralesPrestationComponent {\r\n  readonly derniereMaj = 'Février 2026';\r\n\r\n  // À personnaliser si tu veux (ou remplacer directement dans le HTML)\r\n  readonly prestataire = 'Cristian TUDOROIU';\r\n  readonly villeJuridiction = 'Pau';\r\n}\r\n","<!-- pages/conditions-generales-prestation/conditions-generales-prestation-page.component.html -->\r\n<section class=\"legal-content\" >\r\n  <a class=\"legal-back\" routerLink=\"/\">\r\n    <span class=\"legal-back__icon\" aria-hidden=\"true\">←</span>\r\n    Retour à l'accueil\r\n  </a>\r\n\r\n  <header class=\"legal-header\">\r\n    <h1 class=\"legal-title\">\r\n      Conditions générales de <span class=\"legal-title__accent\">prestation</span>\r\n    </h1>\r\n    <div class=\"legal-separator\" aria-hidden=\"true\"></div>\r\n  </header>\r\n\r\n  <div class=\"legal-sections\">\r\n    <section class=\"legal-section\" aria-labelledby=\"a1\">\r\n      <h2 id=\"a1\" class=\"legal-section__title\">Article 1 – Objet</h2>\r\n      <p>\r\n        Les présentes conditions générales de prestation (ci-après « CGP ») ont pour objet de définir\r\n        les modalités et conditions dans lesquelles {{prestataire}}, développeur web freelance, fournit\r\n        ses services de conception, développement et maintenance de sites web et d'applications web à\r\n        ses clients.\r\n      </p>\r\n      <p>\r\n        Toute commande de prestation implique l'acceptation sans réserve par le client des présentes\r\n        conditions générales.\r\n      </p>\r\n    </section>\r\n\r\n    <section class=\"legal-section\" aria-labelledby=\"a2\">\r\n      <h2 id=\"a2\" class=\"legal-section__title\">Article 2 – Devis</h2>\r\n      <p>\r\n        Chaque projet fait l'objet d'un devis détaillé et personnalisé, établi gratuitement après un\r\n        échange approfondi sur les besoins du client. Le devis précise la nature des prestations, le\r\n        calendrier prévisionnel, le montant total et les conditions de paiement.\r\n      </p>\r\n      <p>\r\n        Le devis est valable pendant une durée de 30 jours à compter de sa date d'émission. Passé ce\r\n        délai, le prestataire se réserve le droit de le réviser. Le projet démarre à réception du\r\n        devis signé et du versement de l'acompte.\r\n      </p>\r\n    </section>\r\n\r\n    <section class=\"legal-section\" aria-labelledby=\"a3\">\r\n      <h2 id=\"a3\" class=\"legal-section__title\">Article 3 – Tarifs et paiement</h2>\r\n      <p>\r\n        Les tarifs sont exprimés en euros (€) et sont non soumis à la TVA (TVA non applicable,\r\n        article 293 B du CGI), sauf mention contraire sur le devis.\r\n      </p>\r\n\r\n      <h3 class=\"legal-subtitle\">Modalités de paiement :</h3>\r\n      <ul class=\"legal-list legal-list--bullets\">\r\n        <li>30 % d'acompte à la signature du devis</li>\r\n        <li>40 % à la validation de la maquette / phase de développement</li>\r\n        <li>30 % à la livraison et mise en ligne du site</li>\r\n      </ul>\r\n\r\n      <p>\r\n        Les paiements sont effectués par virement bancaire ou tout autre moyen convenu entre les\r\n        parties. En cas de retard de paiement, des pénalités de retard pourront être appliquées\r\n        conformément à la législation en vigueur.\r\n      </p>\r\n    </section>\r\n\r\n    <section class=\"legal-section\" aria-labelledby=\"a4\">\r\n      <h2 id=\"a4\" class=\"legal-section__title\">Article 4 – Délais</h2>\r\n      <p>\r\n        Les délais de réalisation sont indiqués à titre indicatif dans le devis. Ils courent à\r\n        compter de la réception de l'ensemble des éléments nécessaires à la réalisation du projet\r\n        (contenus, images, accès, etc.) et du versement de l'acompte.\r\n      </p>\r\n      <p>\r\n        Tout retard dans la fourniture des éléments par le client entraîne un décalage proportionnel\r\n        du calendrier de livraison. Le prestataire s'engage à informer le client de tout retard\r\n        prévisible dans les meilleurs délais.\r\n      </p>\r\n    </section>\r\n\r\n    <section class=\"legal-section\" aria-labelledby=\"a5\">\r\n      <h2 id=\"a5\" class=\"legal-section__title\">Article 5 – Obligations du client</h2>\r\n      <p>Le client s'engage à :</p>\r\n      <ul class=\"legal-list legal-list--bullets\">\r\n        <li>Fournir l'ensemble des contenus (textes, images, logos) dans les délais convenus</li>\r\n        <li>Désigner un interlocuteur unique pour le suivi du projet</li>\r\n        <li>Valider les étapes clés du projet dans un délai raisonnable (5 jours ouvrés maximum)</li>\r\n        <li>S'assurer de la conformité légale des contenus fournis (droits d'auteur, droit à l'image)</li>\r\n        <li>Régler les factures dans les délais convenus</li>\r\n      </ul>\r\n    </section>\r\n\r\n    <section class=\"legal-section\" aria-labelledby=\"a6\">\r\n      <h2 id=\"a6\" class=\"legal-section__title\">Article 6 – Propriété intellectuelle</h2>\r\n      <p>\r\n        Le transfert de propriété intellectuelle des créations réalisées dans le cadre du projet est\r\n        effectif après le paiement intégral de la prestation. Jusqu'au paiement complet, le\r\n        prestataire reste propriétaire de l'ensemble des éléments créés.\r\n      </p>\r\n      <p>\r\n        Le prestataire se réserve le droit de mentionner la réalisation du projet dans son portfolio\r\n        et ses supports de communication, sauf accord contraire écrit du client.\r\n      </p>\r\n    </section>\r\n\r\n    <section class=\"legal-section\" aria-labelledby=\"a7\">\r\n      <h2 id=\"a7\" class=\"legal-section__title\">Article 7 – Responsabilité</h2>\r\n      <p>\r\n        Le prestataire s'engage à réaliser les prestations avec le plus grand soin et dans le\r\n        respect des règles de l'art. Il s'agit d'une obligation de moyens et non de résultat.\r\n      </p>\r\n      <p>\r\n        Le prestataire ne saurait être tenu responsable des dommages indirects, tels que la perte de\r\n        données, de chiffre d'affaires, de clientèle ou de bénéfices, résultant de l'utilisation ou\r\n        de l'impossibilité d'utiliser le site livré.\r\n      </p>\r\n    </section>\r\n\r\n    <section class=\"legal-section\" aria-labelledby=\"a8\">\r\n      <h2 id=\"a8\" class=\"legal-section__title\">Article 8 – Droit applicable</h2>\r\n      <p>\r\n        Les présentes conditions générales sont régies par le droit français. En cas de litige, les\r\n        parties s'engagent à rechercher une solution amiable avant toute action judiciaire. À défaut\r\n        d'accord amiable, le litige sera porté devant les tribunaux compétents de Pau.\r\n      </p>\r\n    </section>\r\n  </div>\r\n\r\n  <p class=\"legal-updated\">Dernière mise à jour : {{ derniereMaj }}</p>\r\n</section>\r\n","import {Component, Input} from '@angular/core';\r\nimport {LucideChartNoAxesCombined, LucideCircleCheck, LucideRocket, LucideStar} from '@lucide/angular';\r\nimport {NgClass} from '@angular/common';\r\n\r\n@Component({\r\n  selector: 'app-tarif-card',\r\n  imports: [\r\n    LucideCircleCheck,\r\n    NgClass,\r\n    LucideChartNoAxesCombined,\r\n    LucideRocket,\r\n    LucideStar\r\n  ],\r\n  templateUrl: './tarif-card.component.html',\r\n  styleUrl: './tarif-card.component.sass'\r\n})\r\nexport class TarifCardComponent {\r\n\r\n  @Input() tarif: any;\r\n\r\n}\r\n","<div class=\"tarif-card \" [ngClass]=\"{'featured': tarif.recomended}\">\r\n  <div class=\"card-header\">\r\n    @if (tarif.recomended) {\r\n    <div class=\"recommended\">\r\n      <svg class=\"icon\" lucideStar [size]=\"14\" fill=\"#ffffff\" ></svg>\r\n      <span>La plus démandée</span>\r\n    </div>\r\n    }\r\n    <div class=\"icon-wrapper\">\r\n      @switch (tarif.icon) {\r\n        @case('rocket'){\r\n        <svg class=\"icon\" lucideRocket [size]=\"32\"></svg>\r\n          }\r\n        @case('chart'){\r\n          <svg class=\"icon\" lucideChartNoAxesCombined [size]=\"32\"></svg>\r\n        }\r\n        @case('star'){\r\n          <svg class=\"icon\" lucideStar [size]=\"32\" ></svg>\r\n        }\r\n      }\r\n    </div>\r\n    <h2 class=\"title\">{{ tarif.title }}</h2>\r\n    <p class=\"subtitle\">{{ tarif.subtitle }}</p>\r\n    <div class=\"price\"><span class=\"starting-text\">À partir de</span> <strong class=\"highlight starting-price\">{{ tarif.price }}€</strong></div>\r\n    <hr>\r\n  </div>\r\n  <div class=\"card-content\">\r\n    <ul class=\"features-list\">\r\n      @for (f of tarif.features; track $index) {\r\n        <li class=\"feature-item\">\r\n          <svg lucideCircleCheck class=\"icon\"></svg>\r\n          {{ f.feature }}\r\n        </li>\r\n      }\r\n    </ul>\r\n  </div>\r\n  <div class=\"card-footer\">\r\n    <p><strong class=\"highlight\">Idéal pour</strong> {{ tarif.target }}</p>\r\n  </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\nimport {LucideMenu} from \"@lucide/angular\";\r\nimport {RouterLink} from '@angular/router';\r\n\r\n@Component({\r\n  selector: 'app-landing-header',\r\n  imports: [\r\n    LucideMenu,\r\n    RouterLink\r\n  ],\r\n  templateUrl: './landing-header.component.html',\r\n  styleUrl: './landing-header.component.sass'\r\n})\r\nexport class LandingHeaderComponent {\r\n  scrollToSection(sectionTitle: string): void {\r\n    const section = document.getElementById(sectionTitle) as HTMLElement;\r\n    section.scrollIntoView({\r\n      behavior: 'smooth',\r\n      block: 'start'\r\n    });\r\n  }\r\n}\r\n","<nav class=\"navbar navbar-expand-lg\" >\r\n  <div class=\"container-fluid nav-container\">\r\n    <!--    <div class=\"wrapper-logo\"></div>-->\r\n    <a  [routerLink]=\"'/landing-page'\"\r\n        [fragment]=\"'hero'\"  queryParamsHandling=\"preserve\" class=\"navbar-brand\" aria-label=\"Retour en haut de la page\">\r\n      <img src=\"/assets/img/logo.webp\" alt=\"Logo TGC Studios\" width=\"150\" height=\"100\" class=\"logo\">\r\n\r\n    </a>\r\n    <button class=\"navbar-toggler\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbarNav\"\r\n            aria-controls=\"navbarNav\" aria-expanded=\"false\" aria-label=\"Toggle navigation\">\r\n      <span> <svg lucideMenu class=\"icon icon--right\"></svg></span>\r\n    </button>\r\n    <div class=\"collapse navbar-collapse\" #navbarNav id=\"navbarNav\">\r\n      <div class=\"container-center\">\r\n        <a  [routerLink]=\"'/landing-page'\"\r\n            fragment=\"hero\"  queryParamsHandling=\"preserve\" class=\"navbar-brand\" aria-label=\"Retour en haut de la page\">\r\n\r\n          <img src=\"/assets/img/logo.webp\" alt=\"Logo TGC Studios\" width=\"150\" height=\"100\" class=\"logo__dropdown\">\r\n        </a>\r\n\r\n        <ul class=\"navbar-nav\">\r\n          <li class=\"nav-item\">\r\n            <a class=\"nav-link\"  [routerLink]=\"'/landing-page'\"\r\n               [fragment]=\"'services'\"  queryParamsHandling=\"preserve\" >\r\n              Prestations\r\n            </a>\r\n          </li>\r\n\r\n          <li class=\"nav-item\">\r\n            <a class=\"nav-link\" [routerLink]=\"'/landing-page'\"\r\n               [fragment]=\"'realisations'\"  queryParamsHandling=\"preserve\">\r\n              Réalisations\r\n            </a>\r\n          </li>\r\n\r\n          <li class=\"nav-item\">\r\n            <a class=\"nav-link\" [routerLink]=\"'/landing-page'\"\r\n               [fragment]=\"'tarifs'\"  queryParamsHandling=\"preserve\" >\r\n              Tarifs\r\n            </a>\r\n          </li>\r\n\r\n          <li class=\"nav-item\">\r\n            <a class=\"nav-link\"  [routerLink]=\"'/landing-page'\"\r\n               [fragment]=\"'faq'\"  queryParamsHandling=\"preserve\">\r\n              FAQ\r\n            </a>\r\n          </li>\r\n        </ul>\r\n        <a  [routerLink]=\"'/landing-page'\"\r\n            [fragment]=\"'contact-landing-page'\"  queryParamsHandling=\"preserve\" class=\"nav__cta__dropdown\">\r\n          Discutons de votre projet\r\n        </a>\r\n      </div>\r\n    </div>\r\n    <a [routerLink]=\"'/landing-page'\"\r\n       [fragment]=\"'contact-landing-page'\"  queryParamsHandling=\"preserve\" class=\"nav__cta\">\r\n      Discutons de votre projet\r\n    </a>\r\n  </div>\r\n</nav>\r\n","import { Component } from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {\r\n  LucideArrowRight, LucideCalendarClock, LucideCircleCheck,\r\n\r\n  LucideClock, LucideFileText, LucideHandshake,\r\n  LucideMapPin, LucideShield,\r\n  LucideShieldCheck,\r\n  LucideUser, LucideUserCheck, LucideUserRound\r\n} from '@lucide/angular';\r\nimport {ContactFormComponent} from '../../../core/components/contact-form/contact-form.component';\r\nimport {ContactInfoComponent} from '../../../core/components/contact-info/contact-info.component';\r\nimport {\r\n  MatAccordion,\r\n  MatExpansionPanel,\r\n  MatExpansionPanelHeader,\r\n  MatExpansionPanelTitle\r\n} from '@angular/material/expansion';\r\nimport {tarifsLandingPage} from '../../../core/data/offres-tarifs';\r\nimport {TarifCardComponent} from '../components/tarif-card/tarif-card.component';\r\nimport {LandingHeaderComponent} from '../../../core/components/landing-header/landing-header.component';\r\n\r\n@Component({\r\n  selector: 'app-google-ads-landing-page',\r\n  imports: [CommonModule,\r\n    LucideArrowRight,\r\n    LucideClock,\r\n    LucideMapPin,\r\n    LucideShieldCheck,\r\n    LucideUserCheck,\r\n    LucideCircleCheck, ContactFormComponent, ContactInfoComponent, MatAccordion, MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, TarifCardComponent, LucideFileText, LucideUser, LucideCalendarClock, LandingHeaderComponent, LucideHandshake, LucideUserRound, LucideShield],\r\n  templateUrl: './google-ads-landing-page.component.html',\r\n  styleUrl: './google-ads-landing-page.component.sass'\r\n})\r\nexport class GoogleAdsLandingPageComponent {\r\n\r\n\r\n  tarifs = tarifsLandingPage;\r\n\r\n  faqQuestions:any[] = [\r\n    {\r\n      id: 'prix-refonte',\r\n      question: 'Combien coûte une refonte de site ?',\r\n      reponse: 'Chaque projet étant différent, le tarif dépend de l\\'état actuel du site, du nombre de pages et des fonctionnalités souhaitées. Après un premier échange, je vous fournis un devis détaillé et sans engagement adapté à vos besoins.'\r\n    },\r\n    {\r\n      id: 'delai-livraison',\r\n      question: 'En combien de temps mon site sera-t-il livré ?',\r\n      reponse: 'La plupart des sites vitrines sont réalisés entre 2 et 4 semaines. Pour une refonte ou un projet plus complexe, le délai est défini dès le début du projet afin de garantir une livraison dans les meilleures conditions.'\r\n    },\r\n    {\r\n      id: 'fournir-contenu',\r\n      question: 'Dois-je fournir les textes et les images ?',\r\n      reponse: 'Si vous disposez déjà de vos contenus, je peux les intégrer. Si ce n\\'est pas le cas, je vous accompagne dans leur rédaction et je peux également vous conseiller ou fournir des visuels adaptés à votre activité.'\r\n    },\r\n    {\r\n      id: 'referencement-conserve',\r\n      question: 'Mon référencement sera-t-il conservé ?',\r\n      reponse: 'Oui. Lors d\\'une refonte, une attention particulière est portée à la conservation du référencement existant. Les redirections nécessaires sont mises en place et les bonnes pratiques SEO sont respectées afin de limiter tout impact sur votre visibilité.'\r\n    },\r\n    {\r\n      id: 'travail-distance',\r\n      question: 'Travaillez-vous à distance ?',\r\n      reponse: 'Oui, j\\'accompagne mes clients partout en France. Les échanges peuvent se faire par téléphone, visioconférence ou e-mail. Si vous êtes dans la région de Pau, une rencontre sur place est également possible.'\r\n    },\r\n    {\r\n      id: 'modification-seule',\r\n      question: 'Puis-je modifier mon site moi-même après ?',\r\n      reponse: 'Bien sûr. Selon la solution choisie, vous pourrez modifier vos textes, images et contenus en toute autonomie. Une formation rapide peut également être prévue à la livraison du projet.'\r\n    },\r\n  ];\r\n  scrollToSection(sectionTitle: string): void {\r\n    const section = document.getElementById(sectionTitle) as HTMLElement;\r\n    section.scrollIntoView({\r\n      behavior: 'smooth',\r\n      block: 'center'\r\n    });\r\n  }\r\n\r\n}\r\n","<app-landing-header></app-landing-header>\r\n<div class=\"landing-page\">\r\n\r\n\r\n  <section class=\"hero section\" id=\"hero\">\r\n    <div class=\"hero__bg\">\r\n      <div class=\"hero__blur hero__blur--right\"></div>\r\n      <div class=\"hero__blur hero__blur--left\"></div>\r\n    </div>\r\n\r\n    <div class=\"container hero__content \">\r\n      <div class=\"hero__stack\">\r\n        <span class=\"badge\">\r\n          Développeur Web Freelance à Pau\r\n        </span>\r\n\r\n        <h1 class=\"hero__title\">\r\n          Votre activité mérite\r\n          <span>un site qui travaille pour vous</span>\r\n        </h1>\r\n\r\n        <p class=\"hero__text\">\r\n          Je conçois des sites web modernes, rapides et optimisés pour le référencement afin d'aider les <strong>indépendants</strong>,\r\n          <strong>artisans</strong> et <strong>PME</strong> à gagner en visibilité et convertir davantage de visiteurs\r\n          en clients.\r\n        </p>\r\n\r\n        <div class=\"hero__actions\">\r\n          <button (click)=\"scrollToSection('contact-landing-page')\" class=\"btn btn--primary btn--lg\">\r\n            Recevoir mon devis gratuit\r\n            <svg lucideArrowRight class=\"icon icon--right\"></svg>\r\n          </button>\r\n\r\n          <div class=\"hero__highlights\">\r\n            <span>\r\n              <svg lucideCheckCircle2 class=\"icon icon--sm text-emerald\"></svg>\r\n              Développeur web expérimenté\r\n            </span>\r\n            <span>\r\n              <svg lucideCheckCircle2 class=\"icon icon--sm text-emerald\"></svg>\r\n              Réponse sous 24h\r\n            </span>\r\n            <span>\r\n              <svg lucideCheckCircle2 class=\"icon icon--sm text-emerald\"></svg>\r\n              Devis sans engagement\r\n            </span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"hero__image\">\r\n        <img src=\"assets/img/hero-landing-page-no-bg-2-resized.webp\" alt=\"Illustration de moi au bureau\" width=\"664\"\r\n             height=\"512\"  loading=\"eager\"\r\n             fetchpriority=\"high\"\r\n             decoding=\"async\">\r\n      </div>\r\n    </div>\r\n    <div class=\"hero__experience grid grid--4\">\r\n      <div class=\"experience__item\">\r\n        <div class=\"experience__item__titre\">\r\n          +20\r\n        </div>\r\n\r\n        <div class=\"experience__item__texte\">\r\n          Projets réalisés\r\n        </div>\r\n      </div>\r\n      <div class=\"experience__item\">\r\n        <div class=\"experience__item__titre\">\r\n          +4 ans\r\n        </div>\r\n        <div class=\"experience__item__texte\">\r\n          d'experience\r\n        </div>\r\n      </div>\r\n      <div class=\"experience__item\">\r\n        <div class=\"experience__item__titre\">\r\n          100%\r\n        </div>\r\n        <div class=\"experience__item__texte\">\r\n          Clients satisfaits\r\n        </div>\r\n      </div>\r\n      <div class=\"experience__item\">\r\n        <div class=\"experience__item__titre\">\r\n          Basé à Pau\r\n        </div>\r\n        <div class=\"experience__item__texte\">\r\n          Disponible à distance\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </section>\r\n\r\n  <section class=\"section  bordered\">\r\n    <div class=\"container reveal\">\r\n      <div class=\"section-heading\">\r\n        <h2>Vous reconnaissez-vous dans ces situations ?</h2>\r\n        <div class=\"divider\"></div>\r\n        <p>\r\n          Si vous vous reconnaissez dans l'un de ces cas, je peux vous aider.\r\n        </p>\r\n      </div>\r\n\r\n      <div class=\"grid grid--3\">\r\n        <article class=\"card card--center hover-lift\">\r\n          <div class=\"icon-box \">\r\n            <img src=\"assets/img/no-website-resized.webp\" alt=\"illustration icone pas de site internet \" width=\"200\"\r\n                 height=\"133\" loading=\"lazy\">\r\n          </div>\r\n          <h3>Pas de site internet</h3>\r\n          <p>\r\n            Aujourd’hui, beaucoup de clients recherchent une entreprise en ligne avant de prendre contact.\r\n            Sans site internet, il est plus difficile de présenter votre activité et de rassurer vos prospects.\r\n          </p>\r\n        </article>\r\n\r\n        <article class=\"card card--center hover-lift\">\r\n          <div class=\"icon-box icon-box--orange\">\r\n            <img src=\"assets/img/slow-website-resized.webp\" alt=\"illustration icone de site internet lent\" width=\"200\"\r\n                 height=\"133\" loading=\"lazy\">\r\n          </div>\r\n          <h3>Un site qui fait fuir</h3>\r\n          <p>\r\n            Un site lent, peu lisible sur mobile ou visuellement dépassé peut nuire à l’image de votre entreprise\r\n            et décourager vos visiteurs avant même qu’ils vous contactent.\r\n          </p>\r\n        </article>\r\n\r\n        <article class=\"card card--center hover-lift\">\r\n          <div class=\"icon-box icon-box--amber\">\r\n            <img src=\"assets/img/no-conversion-resized.webp\" alt=\"Site internet sans conversion \" width=\"200\"\r\n                 height=\"133\" loading=\"lazy\">\r\n          </div>\r\n          <h3>Peu de demandes via votre site</h3>\r\n          <p>\r\n            Votre site est peut-être en ligne, mais il ne met pas encore suffisamment en valeur votre activité\r\n            ni ne facilite la prise de contact.\r\n          </p>\r\n        </article>\r\n      </div>\r\n      <button (click)=\"scrollToSection('contact-landing-page')\"\r\n              class=\"btn btn--primary btn--lg btn--self-center btn--margin-top--2\">\r\n        Recevoir mon audit gratuit\r\n        <svg lucideArrowRight class=\"icon icon--right\"></svg>\r\n      </button>\r\n    </div>\r\n  </section>\r\n  <!-- TODO :: a voir si je le laisse ou pas -->\r\n  <!--  <section class=\"section\">-->\r\n  <!--    <div class=\"container reveal\">-->\r\n  <!--      <div class=\"split\">-->\r\n  <!--        <div class=\"split__content\">-->\r\n  <!--          <h2>Mon objectif : un site pensé pour convertir vos visiteurs en contacts</h2>-->\r\n  <!--          <p>-->\r\n  <!--            Je conçois des sites pensés pour être clairs, rapides et simples à utiliser,-->\r\n  <!--            avec une attention particulière portée à la lisibilité, au mobile et à la prise de contact.-->\r\n  <!--          </p>-->\r\n\r\n  <!--          <ul class=\"feature-list\">-->\r\n  <!--            @for (item of solutions; track item.text) {-->\r\n  <!--              <li>-->\r\n  <!--                <div class=\"feature-list__icon\">-->\r\n  <!--                  @switch (item.icon) {-->\r\n  <!--                    @case ('laptop') {-->\r\n  <!--                      <svg lucideLaptop class=\"icon icon&#45;&#45;xs\"></svg>-->\r\n  <!--                    }-->\r\n  <!--                    @case ('zap') {-->\r\n  <!--                      <svg lucideZap class=\"icon icon&#45;&#45;xs\"></svg>-->\r\n  <!--                    }-->\r\n  <!--                    @case ('smartphone') {-->\r\n  <!--                      <svg lucideSmartphone class=\"icon icon&#45;&#45;xs\"></svg>-->\r\n  <!--                    }-->\r\n  <!--                    @case ('search') {-->\r\n  <!--                      <svg lucideSearch class=\"icon icon&#45;&#45;xs\"></svg>-->\r\n  <!--                    }-->\r\n  <!--                    @case ('user-check') {-->\r\n  <!--                      <svg lucideUserCheck class=\"icon icon&#45;&#45;xs\"></svg>-->\r\n  <!--                    }-->\r\n  <!--                  }-->\r\n  <!--                </div>-->\r\n  <!--                <span>{{ item.text }}</span>-->\r\n  <!--              </li>-->\r\n  <!--            }-->\r\n  <!--          </ul>-->\r\n  <!--        </div>-->\r\n\r\n  <!--        <div class=\"split__visual\">-->\r\n  <!--          <img src=\"assets/img/objectif-section-reverse-resized.webp\" alt=\"Caricature de moi au bureau\" width=\"768\"-->\r\n  <!--               height=\"512\" loading=\"lazy\" decoding=\"async\">-->\r\n\r\n  <!--        </div>-->\r\n  <!--      </div>-->\r\n  <!--    </div>-->\r\n  <!--  </section>-->\r\n\r\n  <section class=\"section section--muted bordered\" id=\"services\">\r\n    <div class=\"container reveal\">\r\n      <div class=\"section-heading\">\r\n        <h2>Ce que je peux faire pour vous</h2>\r\n        <div class=\"divider\"></div>\r\n      </div>\r\n\r\n      <div class=\"services-grid\">\r\n        <article class=\"services-card hover-lift card--center\">\r\n          <div class=\"icon-box icon-box\">\r\n            <img src=\"assets/img/website-creation-resized.webp\" alt=\"illustration icone creation site internet \"\r\n                 width=\"200\" height=\"133\" loading=\"lazy\">\r\n          </div>\r\n          <h3>Création de site vitrine professionnel</h3>\r\n          <p>\r\n            Un site professionnel pour présenter votre activité de manière claire,\r\n            avec un design soigné, un formulaire de contact simple et les informations utiles à vos visiteurs.\r\n          </p>\r\n          <p class=\"services-card__prix\">À partir de 600 €</p>\r\n        </article>\r\n\r\n        <article class=\"services-card services-card--featured  card--center hover-lift\">\r\n          <span class=\"services-card__tag\">LE PLUS DEMANDÉ</span>\r\n          <div class=\"icon-box icon-box\">\r\n            <img src=\"assets/img/website-redesign-resized.webp\" alt=\"illustration icone refonte site internet \"\r\n                 width=\"200\" height=\"133\" loading=\"lazy\">\r\n          </div>\r\n          <h3>Refonte de site internet</h3>\r\n          <p>\r\n            Si votre site actuel ne reflète plus correctement votre activité,\r\n            je peux le moderniser pour améliorer son apparence, sa lisibilité sur mobile et le confort d’utilisation.\r\n          </p>\r\n          <p class=\"services-card__prix\">À partir de 500 €</p>\r\n        </article>\r\n\r\n        <article class=\"services-card hover-lift card--center\">\r\n          <div class=\"icon-box icon-box\">\r\n            <img src=\"assets/img/website-maintenance-resized.webp\" alt=\"illustration icone maintenance site internet \"\r\n                 width=\"200\" height=\"133\" loading=\"lazy\">\r\n          </div>\r\n          <h3>Maintenance et suivi</h3>\r\n          <p>\r\n            Un accompagnement pour garder votre site à jour, fonctionnel et sécurisé :\r\n            maintenance, sauvegardes et améliorations selon vos besoins.\r\n          </p>\r\n          <p class=\"services-card__prix\">À partir de 50 €/mois</p>\r\n        </article>\r\n      </div>\r\n      <div class=\"audit-block\">\r\n        <p>Votre site mérite mieux.<br/> <span class=\"colored-text\">Recevez un audit gratuit</span> de votre site en\r\n          moins de 24h.</p>\r\n        <button (click)=\"scrollToSection('contact-landing-page')\"\r\n                class=\"btn btn--primary btn--lg btn--self-center btn--margin-top--2\">\r\n          Recevoir mon audit gratuit\r\n          <svg lucideArrowRight class=\"icon icon--right\"></svg>\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </section>\r\n\r\n  <section class=\"section\" id=\"realisations\">\r\n    <div class=\"container reveal\">\r\n      <div class=\"section-heading\">\r\n        <h2>Quelques projets réalisés</h2>\r\n        <div class=\"divider\"></div>\r\n        <p>\r\n          Chaque projet est conçu pour répondre à un vrai besoin métier.\r\n        </p>\r\n      </div>\r\n\r\n      <div class=\"grid grid--3\">\r\n        <article class=\"project-card hover-lift\">\r\n          <div class=\"project-card__image\">\r\n            <img src=\"assets/img/project-img/zaab-resized.webp\" alt=\"Conciergerie ZaabAgence\" width=\"768\" height=\"408\"\r\n                 loading=\"lazy\">\r\n          </div>\r\n          <div class=\"project-card__content\">\r\n            <div class=\"eyebrow\">Plateforme de réservation</div>\r\n            <h3>Conciergerie ZaabAgence</h3>\r\n            <p>\r\n              Création d’un site de conciergerie sur mesure permettant la gestion de locations,\r\n              des réservations et des services associés (ménage, options, etc.).\r\n            </p>\r\n            <ul class=\"objectif-list\">\r\n              <li><span><svg lucideCircleCheck class=\"icon\"></svg></span>Image professionnelle renforcée</li>\r\n              <li><span><svg lucideCircleCheck class=\"icon\"></svg></span>Réservations en ligne simplifiées</li>\r\n              <li><span><svg lucideCircleCheck class=\"icon\"></svg></span>Meilleure visibilité locale</li>\r\n            </ul>\r\n          </div>\r\n        </article>\r\n\r\n        <article class=\"project-card hover-lift\">\r\n          <div class=\"project-card__image\">\r\n            <img src=\"assets/img/project-img/nru-resized.webp\" alt=\"NotarisquesUrba\" width=\"768\" height=\"392\"\r\n                 loading=\"lazy\">\r\n          </div>\r\n          <div class=\"project-card__content\">\r\n            <div class=\"eyebrow\">Application métier</div>\r\n            <h3>Nota Risques Urba</h3>\r\n            <p>\r\n              Refonte complète d’une plateforme utilisée par des études notariales pour la gestion\r\n              de documents et de commandes en ligne.\r\n            </p>\r\n            <ul class=\"objectif-list\">\r\n              <li><span><svg lucideCircleCheck></svg></span>Interface modernisée</li>\r\n              <li><span><svg lucideCircleCheck></svg></span>Navigation plus fluide</li>\r\n              <li><span><svg lucideCircleCheck></svg></span>Fonctionnalités optimisées</li>\r\n            </ul>\r\n          </div>\r\n        </article>\r\n\r\n        <article class=\"project-card hover-lift\">\r\n          <div class=\"project-card__image\">\r\n            <img src=\"assets/img/project-img/dct-resized.webp\" alt=\"DCT Folientechnik\" width=\"768\" height=\"378\"\r\n                 loading=\"lazy\">\r\n          </div>\r\n          <div class=\"project-card__content\">\r\n            <div class=\"eyebrow\">Site Vitrine</div>\r\n            <h3>DCT Folientechnik</h3>\r\n            <p>\r\n              Création d’un site vitrine WordPress pour une entreprise de covering automobile,\r\n              avec galerie et présentation des services.\r\n            </p>\r\n            <ul class=\"objectif-list\">\r\n              <li><span><svg lucideCircleCheck></svg></span>Nouvelle image professionnelle</li>\r\n              <li><span><svg lucideCircleCheck></svg></span>Demandes de contact facilitées</li>\r\n              <li><span><svg lucideCircleCheck></svg></span>Référencement optimisé</li>\r\n            </ul>\r\n          </div>\r\n        </article>\r\n      </div>\r\n    </div>\r\n  </section>\r\n  <section class=\"section tarifs\" id=\"tarifs\">\r\n    <div class=\"container reveal\">\r\n      <div class=\"section-heading\">\r\n         <span class=\"badge align-self-start\">\r\n          Tarifs transparents\r\n        </span>\r\n        <h2>Des solutions adaptées à <strong class=\"highlight\">chaque projet</strong></h2>\r\n        <div class=\"divider\"></div>\r\n        <p>Chaque site est unique. Voici des formules claires pour vous aider à vous situer. Un devis détaillé est\r\n          réalisé gratuitement et sans engagement.</p>\r\n      </div>\r\n      <div class=\"tarif-card-container \">\r\n        @for (tarif of tarifs; track tarif.id) {\r\n          <app-tarif-card [tarif]=\"tarif\" class=\"d-flex\"></app-tarif-card>\r\n        }\r\n      </div>\r\n      <div class=\"tarifs__infos grid grid--4\">\r\n        <div class=\"tarifs__item\">\r\n          <div class=\"tarifs__item__icon\">\r\n            <svg class=\"icon\" lucideFileText [size]=\"36\"></svg>\r\n          </div>\r\n          <div class=\"tarifs__item__titre\">\r\n            Devis gratuit\r\n          </div>\r\n\r\n          <div class=\"tarifs__item__texte\">\r\n            et sans engagement\r\n          </div>\r\n        </div>\r\n        <div class=\"tarifs__item\">\r\n          <div class=\"tarifs__item__icon\">\r\n            <svg class=\"icon\" lucideClock [size]=\"36\"></svg>\r\n          </div>\r\n          <div class=\"tarifs__item__titre\">\r\n            Réponse rapide\r\n          </div>\r\n          <div class=\"tarifs__item__texte\">\r\n            Réponse sous 24h\r\n          </div>\r\n        </div>\r\n        <div class=\"tarifs__item\">\r\n          <div class=\"tarifs__item__icon\">\r\n            <svg class=\"icon\" lucideShieldCheck [size]=\"36\"></svg>\r\n          </div>\r\n          <div class=\"tarifs__item__titre\">\r\n            Sites sécurisés\r\n\r\n          </div>\r\n          <div class=\"tarifs__item__texte\">\r\n            et maintenables\r\n          </div>\r\n        </div>\r\n        <div class=\"tarifs__item\">\r\n          <div class=\"tarifs__item__icon\">\r\n            <svg class=\"icon\" lucideUser [size]=\"36\"></svg>\r\n          </div>\r\n          <div class=\"tarifs__item__titre\">\r\n           Accompagnement\r\n          </div>\r\n          <div class=\"tarifs__item__texte\">\r\n            pérsonnalisé\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"audit-block\">\r\n        <div class=\"icon-wrapper\">\r\n          <svg class=\"icon\" lucideCalendarClock [size]=\"64\"></svg>\r\n        </div>\r\n        <div class=\"texte\">\r\n        <h2 class=\"title\">Un projet en tête ? <span class=\"highlight\">Parlons-en.</span> </h2>\r\n        <p class=\"subtitle\">Décrivez-moi votre projet et recevez un devis gratuit adapté à vos besoins.</p>\r\n        </div>\r\n        <button (click)=\"scrollToSection('contact-landing-page')\"\r\n                class=\"btn btn--primary btn--lg btn--self-center btn--margin-top--2\">\r\n          Discutons de votre projet\r\n          <svg lucideArrowRight class=\"icon icon--right\"></svg>\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </section>\r\n\r\n  <section class=\"section bordered-top\">\r\n    <div class=\"container\">\r\n\r\n      <div class=\"section-heading\">\r\n        <span class=\"badge badge--google\">\r\n          ⭐ Retours sur mes projets\r\n        </span>\r\n        <h2>Ils m'ont fait confiance, pourquoi pas vous ?</h2>\r\n        <div class=\"divider\"></div>\r\n      </div>\r\n\r\n      <div class=\"grid grid--2 grid--narrow\">\r\n\r\n        <!-- Avis 1 -->\r\n        <article class=\"testimonial hover-lift\">\r\n          <div class=\"stars\">\r\n            ⭐⭐⭐⭐⭐\r\n          </div>\r\n\r\n          <blockquote>\r\n            « Très satisfait du résultat : le site est moderne, rapide et correspond parfaitement à ce que j’imaginais,\r\n            voire mieux.\r\n            Le rapport qualité-prix est excellent comparé à d’autres prestataires.\r\n            Communication fluide, très professionnel et à l’écoute. Je recommande sans hésitation. »\r\n          </blockquote>\r\n\r\n          <div class=\"author\">\r\n            <div class=\"author__avatar\">DF</div>\r\n            <div>\r\n              <div class=\"author__name\">DCT Folientechnik</div>\r\n              <div class=\"author__role\">Entreprise de covering automobile — Avis Google</div>\r\n            </div>\r\n          </div>\r\n        </article>\r\n\r\n        <!-- Avis 2 -->\r\n        <article class=\"testimonial hover-lift\">\r\n          <div class=\"stars\">\r\n            ⭐⭐⭐⭐⭐\r\n          </div>\r\n\r\n          <blockquote>\r\n            « Je suis très satisfait du travail réalisé. Le service est professionnel, la communication est claire et le\r\n            résultat final est parfait. Je recommande sans hésitation. »\r\n          </blockquote>\r\n\r\n          <div class=\"author\">\r\n            <div class=\"author__avatar\">PV</div>\r\n            <div>\r\n              <div class=\"author__name\">Paul V.</div>\r\n              <div class=\"author__role\">Client — Avis Google</div>\r\n            </div>\r\n          </div>\r\n        </article>\r\n\r\n\r\n      </div>\r\n      <div class=\"trust-note grid grid--4\">\r\n        <div class=\"trust-note__item\">\r\n          <div class=\"trust-note__item__icon\">\r\n            <svg lucideHandshake [size]=\"36\"></svg>\r\n          </div>\r\n          <div class=\"trust-note__item__titre\">\r\n            Tarifs clairs\r\n          </div>\r\n\r\n          <div class=\"trust-note__item__texte\">\r\n            Aucune surprise\r\n          </div>\r\n        </div>\r\n        <div class=\"trust-note__item\">\r\n          <div class=\"trust-note__item__icon\">\r\n            <svg lucideClock [size]=\"36\"></svg>\r\n          </div>\r\n          <div class=\"trust-note__item__titre\">\r\n            Délais respectés\r\n          </div>\r\n          <div class=\"trust-note__item__texte\">\r\n            Livraison à temps\r\n          </div>\r\n        </div>\r\n        <div class=\"trust-note__item\">\r\n          <div class=\"trust-note__item__icon\">\r\n            <svg lucideUserRound [size]=\"36\"></svg>\r\n          </div>\r\n          <div class=\"trust-note__item__titre\">\r\n            Suivi inclus\r\n          </div>\r\n          <div class=\"trust-note__item__texte\">\r\n            Accompagnement après livraison\r\n          </div>\r\n        </div>\r\n        <div class=\"trust-note__item\">\r\n          <div class=\"trust-note__item__icon\">\r\n            <svg lucideShield [size]=\"36\"></svg>\r\n          </div>\r\n          <div class=\"trust-note__item__titre\">\r\n            Sécurisé & SEO\r\n          </div>\r\n          <div class=\"trust-note__item__texte\">\r\n            Sites rapides et optimisés\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n    </div>\r\n  </section>\r\n\r\n  <section class=\"section section--muted  bordered\" id=\"faq\">\r\n    <div class=\"container\">\r\n\r\n      <div class=\"section-heading\">\r\n        <h2>Questions fréquentes</h2>\r\n        <div class=\"divider\"></div>\r\n      </div>\r\n    </div>\r\n    <div class=\"grid grid--2 faq-grid\">\r\n      <mat-accordion>\r\n        @for (faq of faqQuestions.slice(0, 3); track $index) {\r\n\r\n          <mat-expansion-panel>\r\n            <mat-expansion-panel-header>\r\n              <mat-panel-title> {{ faq.question }}</mat-panel-title>\r\n\r\n            </mat-expansion-panel-header>\r\n            <p>{{ faq.reponse }}</p>\r\n          </mat-expansion-panel>\r\n        }\r\n      </mat-accordion>\r\n      <mat-accordion>\r\n        @for (faq of faqQuestions.slice(3, 6); track $index) {\r\n\r\n          <mat-expansion-panel>\r\n            <mat-expansion-panel-header>\r\n              <mat-panel-title> {{ faq.question }}</mat-panel-title>\r\n\r\n            </mat-expansion-panel-header>\r\n            <p>{{ faq.reponse }}</p>\r\n          </mat-expansion-panel>\r\n        }\r\n      </mat-accordion>\r\n    </div>\r\n\r\n\r\n  </section>\r\n\r\n  <section #contact_landing_page id=\"contact-landing-page\" class=\"section section--contact\">\r\n    <div class=\"contact-pattern\"></div>\r\n\r\n    <div class=\"container contact reveal\">\r\n      <div class=\"section-heading section-heading--light\">\r\n        <h2>Parlons de votre projet</h2>\r\n        <p>\r\n          Décrivez votre projet en quelques lignes. Je vous réponds sous 24h avec des conseils adaptés , sans\r\n          engagement, même si votre projet n’est pas encore défini.\r\n        </p>\r\n      </div>\r\n      <div class=\"section-body\">\r\n        <app-contact-info></app-contact-info>\r\n\r\n        <div class=\"form-card\">\r\n          <app-contact-form></app-contact-form>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </section>\r\n\r\n  <section class=\"section section--trust\">\r\n    <div class=\"container\">\r\n      <div class=\"grid grid--4 trust-grid\">\r\n        <div class=\"trust-item\">\r\n          <div class=\"icon-box icon-box--emerald icon-box--round\">\r\n            <svg lucideMapPin class=\"icon icon--md\"></svg>\r\n          </div>\r\n          <h4>Freelance local</h4>\r\n          <p>Basé à Pau</p>\r\n        </div>\r\n\r\n        <div class=\"trust-item\">\r\n          <div class=\"icon-box icon-box--emerald icon-box--round\">\r\n            <svg lucideClock class=\"icon icon--md\"></svg>\r\n          </div>\r\n          <h4>Réponse rapide</h4>\r\n          <p>Retour sous 24h</p>\r\n        </div>\r\n\r\n        <div class=\"trust-item\">\r\n          <div class=\"icon-box icon-box--emerald icon-box--round\">\r\n            <svg lucideShieldCheck class=\"icon icon--md\"></svg>\r\n          </div>\r\n          <h4>Devis sans engagement</h4>\r\n          <p>Une proposition claire avant tout démarrage</p>\r\n        </div>\r\n\r\n        <div class=\"trust-item\">\r\n          <div class=\"icon-box icon-box--emerald icon-box--round\">\r\n            <svg lucideUserCheck class=\"icon icon--md\"></svg>\r\n          </div>\r\n          <h4>Accompagnement sur mesure</h4>\r\n          <p>Un site adapté à votre activité</p>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </section>\r\n\r\n  <footer class=\"footer\">\r\n    <div class=\"container footer__inner\">\r\n      <p>© 2026 Cristian Tudoroiu — Développeur web freelance à Pau</p>\r\n\r\n      <div class=\"footer__links\">\r\n        <a href=\"/mentions-legales\">Mentions légales</a>\r\n        <a href=\"/politique-de-confidentialite\">Politique de confidentialité</a>\r\n      </div>\r\n    </div>\r\n  </footer>\r\n</div>\r\n","import { FocusMonitor, _IdGenerator, FocusKeyManager } from '@angular/cdk/a11y';\nimport { ENTER, SPACE, BACKSPACE, DELETE, TAB, hasModifierKey, UP_ARROW, DOWN_ARROW } from '@angular/cdk/keycodes';\nimport { _CdkPrivateStyleLoader, _VisuallyHiddenLoader } from '@angular/cdk/private';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, inject, ElementRef, booleanAttribute, numberAttribute, Directive, Input, ChangeDetectorRef, NgZone, EventEmitter, Injector, ANIMATION_MODULE_TYPE, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, Output, ContentChild, ViewChild, afterNextRender, QueryList, forwardRef, NgModule } from '@angular/core';\nimport { Subject, merge } from 'rxjs';\nimport { _ as _StructuralStylesLoader } from './structural-styles-BQUT6wsL.mjs';\nimport { a as MAT_RIPPLE_GLOBAL_OPTIONS } from './ripple-BT3tzh6F.mjs';\nimport { M as MatRippleLoader } from './ripple-loader-Ce3DAhPW.mjs';\nimport { takeUntil, startWith, switchMap } from 'rxjs/operators';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { NG_VALUE_ACCESSOR, NgControl, Validators, NgForm, FormGroupDirective } from '@angular/forms';\nimport { E as ErrorStateMatcher } from './error-options-Dm2JJUbF.mjs';\nimport { _ as _ErrorStateTracker } from './error-state-Dtb1IHM-.mjs';\nimport { k as MatFormFieldControl, h as MAT_FORM_FIELD } from './form-field-DqPi4knt.mjs';\nimport { M as MatCommonModule } from './common-module-WayjW0Pb.mjs';\nimport { M as MatRippleModule } from './index-SYVYjXwK.mjs';\nimport '@angular/cdk/platform';\nimport '@angular/cdk/coercion';\nimport '@angular/cdk/observers/private';\n\n/** Injection token to be used to override the default options for the chips module. */\nconst _c0 = [\"*\", [[\"mat-chip-avatar\"], [\"\", \"matChipAvatar\", \"\"]], [[\"mat-chip-trailing-icon\"], [\"\", \"matChipRemove\", \"\"], [\"\", \"matChipTrailingIcon\", \"\"]]];\nconst _c1 = [\"*\", \"mat-chip-avatar, [matChipAvatar]\", \"mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]\"];\nfunction MatChip_Conditional_3_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"span\", 3);\n    i0.ɵɵprojection(1, 1);\n    i0.ɵɵelementEnd();\n  }\n}\nfunction MatChip_Conditional_7_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"span\", 6);\n    i0.ɵɵprojection(1, 2);\n    i0.ɵɵelementEnd();\n  }\n}\nfunction MatChipOption_Conditional_3_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"span\", 3);\n    i0.ɵɵprojection(1, 1);\n    i0.ɵɵelementStart(2, \"span\", 8);\n    i0.ɵɵnamespaceSVG();\n    i0.ɵɵelementStart(3, \"svg\", 9);\n    i0.ɵɵelement(4, \"path\", 10);\n    i0.ɵɵelementEnd()()();\n  }\n}\nfunction MatChipOption_Conditional_7_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"span\", 6);\n    i0.ɵɵprojection(1, 2);\n    i0.ɵɵelementEnd();\n  }\n}\nconst _c2 = \".mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}@media(forced-colors: active){.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{forced-color-adjust:none}}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary::before{border-width:var(--mdc-chip-outline-width, 1px);border-radius:var(--mdc-chip-container-shape-radius, 8px);box-sizing:border-box;content:\\\"\\\";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary::before{border-color:var(--mdc-chip-outline-color, var(--mat-sys-outline))}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):not(.mdc-ripple-upgraded):focus::before{border-color:var(--mdc-chip-focus-outline-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary::before{border-color:var(--mdc-chip-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary::before{border-width:var(--mdc-chip-flat-selected-outline-width, 0)}.mat-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--trailing{position:relative;overflow:visible}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--trailing{color:var(--mdc-chip-with-trailing-icon-trailing-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--trailing{color:var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:var(--mdc-chip-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mdc-chip-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mdc-chip-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mdc-chip-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mdc-chip-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mdc-chip-label-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mdc-chip-selected-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:var(--mdc-chip-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.mat-mdc-standard-chip .mdc-evolution-chip__graphic{width:var(--mdc-chip-with-avatar-avatar-size, 24px);height:var(--mdc-chip-with-avatar-avatar-size, 24px);font-size:var(--mdc-chip-with-avatar-avatar-size, 24px)}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:var(--mdc-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:var(--mdc-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1);transform:translate(-75%, -50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%, -50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}@media(forced-colors: active){.mdc-evolution-chip__checkmark-path{stroke:CanvasText !important}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove{opacity:calc(var(--mat-chip-trailing-action-opacity, 1)*var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove:focus{opacity:calc(var(--mat-chip-trailing-action-focus-opacity, 1)*var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mat-mdc-standard-chip{border-radius:var(--mdc-chip-container-shape-radius, 8px);height:var(--mdc-chip-container-height, 32px)}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:var(--mdc-chip-elevated-container-color, transparent)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:var(--mdc-chip-elevated-disabled-container-color)}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:var(--mdc-chip-elevated-selected-container-color, var(--mat-sys-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:var(--mdc-chip-flat-disabled-selected-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}@media(forced-colors: active){.mat-mdc-standard-chip{outline:solid 1px}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:var(--mdc-chip-with-avatar-avatar-shape-radius, 24px);width:var(--mdc-chip-with-icon-icon-size, 18px);height:var(--mdc-chip-with-icon-icon-size, 18px);font-size:var(--mdc-chip-with-icon-icon-size, 18px)}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:var(--mdc-chip-with-icon-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:var(--mdc-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-highlighted{--mdc-chip-with-icon-icon-color:var(--mdc-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container));--mdc-chip-elevated-container-color:var(--mdc-chip-elevated-selected-container-color, var(--mat-sys-secondary-container));--mdc-chip-label-text-color:var(--mdc-chip-selected-label-text-color, var(--mat-sys-on-secondary-container));--mdc-chip-outline-width:var(--mdc-chip-flat-selected-outline-width, 0)}.mat-mdc-chip-focus-overlay{background:var(--mdc-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-selected .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-chip:hover .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-hover-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mdc-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-focus-overlay .mat-mdc-chip-selected:hover,.mat-mdc-chip-highlighted:hover .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-selected-hover-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mdc-chip-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mdc-chip-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected.cdk-focused .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mdc-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .mat-mdc-chip-avatar{opacity:var(--mdc-chip-with-avatar-disabled-avatar-opacity, 0.38)}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{opacity:var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38)}.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:var(--mdc-chip-with-icon-disabled-icon-opacity, 0.38)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:var(--mat-chip-disabled-container-opacity, 1)}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-trailing-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-remove{opacity:var(--mat-chip-trailing-action-opacity, 1)}.mat-mdc-chip-remove:focus{opacity:var(--mat-chip-trailing-action-focus-opacity, 1)}.mat-mdc-chip-remove::after{background-color:var(--mat-chip-trailing-action-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-remove:hover::after{opacity:var(--mat-chip-trailing-action-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-remove:focus::after{opacity:var(--mat-chip-trailing-action-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected .mat-mdc-chip-remove::after,.mat-mdc-chip-highlighted .mat-mdc-chip-remove::after{background-color:var(--mat-chip-selected-trailing-action-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-standard-chip .mdc-evolution-chip__cell--primary,.mat-mdc-standard-chip .mdc-evolution-chip__action--primary,.mat-mdc-standard-chip .mat-mdc-chip-action-label{overflow:visible}.mat-mdc-standard-chip .mat-mdc-chip-graphic,.mat-mdc-standard-chip .mat-mdc-chip-trailing-icon{box-sizing:content-box}.mat-mdc-standard-chip._mat-animation-noopable,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__graphic,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.mat-mdc-chip-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity 150ms linear}._mat-animation-noopable .mat-mdc-chip-focus-overlay{transition:none}.mat-mdc-basic-chip .mat-mdc-chip-focus-overlay{display:none}.mat-mdc-chip .mat-ripple.mat-mdc-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-chip-avatar{text-align:center;line-height:1;color:var(--mdc-chip-with-icon-icon-color, currentColor)}.mat-mdc-chip{position:relative;z-index:0}.mat-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .mat-mdc-chip-action-label{text-align:right}.mat-mdc-chip.mdc-evolution-chip--with-trailing-action .mat-mdc-chip-action-label{position:relative}.mat-mdc-chip-action-label .mat-mdc-chip-primary-focus-indicator{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mat-mdc-chip-action-label .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-chip-remove::before{margin:calc(var(--mat-focus-indicator-border-width, 3px)*-1);left:8px;right:8px}.mat-mdc-chip-remove::after{content:\\\"\\\";display:block;opacity:0;position:absolute;top:-3px;bottom:-3px;left:5px;right:5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.mat-mdc-chip-remove .mat-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.mat-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}@media(forced-colors: active){.mat-mdc-chip-selected:not(.mat-mdc-chip-multiple){outline-width:3px}}.mat-mdc-chip-action:focus .mat-focus-indicator::before{content:\\\"\\\"}.mdc-evolution-chip__icon,.mat-mdc-chip-remove .mat-icon{min-height:fit-content}\\n\";\nconst _c3 = [[[\"mat-chip-avatar\"], [\"\", \"matChipAvatar\", \"\"]], [[\"\", \"matChipEditInput\", \"\"]], \"*\", [[\"mat-chip-trailing-icon\"], [\"\", \"matChipRemove\", \"\"], [\"\", \"matChipTrailingIcon\", \"\"]]];\nconst _c4 = [\"mat-chip-avatar, [matChipAvatar]\", \"[matChipEditInput]\", \"*\", \"mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]\"];\nfunction MatChipRow_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelement(0, \"span\", 0);\n  }\n}\nfunction MatChipRow_Conditional_2_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"span\", 2);\n    i0.ɵɵprojection(1);\n    i0.ɵɵelementEnd();\n  }\n}\nfunction MatChipRow_Conditional_4_Conditional_0_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵprojection(0, 1);\n  }\n}\nfunction MatChipRow_Conditional_4_Conditional_1_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelement(0, \"span\", 7);\n  }\n}\nfunction MatChipRow_Conditional_4_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵtemplate(0, MatChipRow_Conditional_4_Conditional_0_Template, 1, 0)(1, MatChipRow_Conditional_4_Conditional_1_Template, 1, 0, \"span\", 7);\n  }\n  if (rf & 2) {\n    const ctx_r0 = i0.ɵɵnextContext();\n    i0.ɵɵconditional(ctx_r0.contentEditInput ? 0 : 1);\n  }\n}\nfunction MatChipRow_Conditional_5_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵprojection(0, 2);\n  }\n}\nfunction MatChipRow_Conditional_7_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"span\", 5);\n    i0.ɵɵprojection(1, 3);\n    i0.ɵɵelementEnd();\n  }\n}\nconst _c5 = [\"*\"];\nconst _c6 = \".mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}\\n\";\nconst MAT_CHIPS_DEFAULT_OPTIONS = /*#__PURE__*/new InjectionToken('mat-chips-default-options', {\n  providedIn: 'root',\n  factory: () => ({\n    separatorKeyCodes: [ENTER]\n  })\n});\n/**\n * Injection token that can be used to reference instances of `MatChipAvatar`. It serves as\n * alternative token to the actual `MatChipAvatar` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_CHIP_AVATAR = /*#__PURE__*/new InjectionToken('MatChipAvatar');\n/**\n * Injection token that can be used to reference instances of `MatChipTrailingIcon`. It serves as\n * alternative token to the actual `MatChipTrailingIcon` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_CHIP_TRAILING_ICON = /*#__PURE__*/new InjectionToken('MatChipTrailingIcon');\n/**\n * Injection token that can be used to reference instances of `MatChipRemove`. It serves as\n * alternative token to the actual `MatChipRemove` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_CHIP_REMOVE = /*#__PURE__*/new InjectionToken('MatChipRemove');\n/**\n * Injection token used to avoid a circular dependency between the `MatChip` and `MatChipAction`.\n */\nconst MAT_CHIP = /*#__PURE__*/new InjectionToken('MatChip');\n\n/**\n * Section within a chip.\n * @docs-private\n */\nlet MatChipAction = /*#__PURE__*/(() => {\n  class MatChipAction {\n    _elementRef = inject(ElementRef);\n    _parentChip = inject(MAT_CHIP);\n    /** Whether the action is interactive. */\n    isInteractive = true;\n    /** Whether this is the primary action in the chip. */\n    _isPrimary = true;\n    /** Whether the action is disabled. */\n    get disabled() {\n      return this._disabled || this._parentChip?.disabled || false;\n    }\n    set disabled(value) {\n      this._disabled = value;\n    }\n    _disabled = false;\n    /** Tab index of the action. */\n    tabIndex = -1;\n    /**\n     * Private API to allow focusing this chip when it is disabled.\n     */\n    _allowFocusWhenDisabled = false;\n    /**\n     * Determine the value of the disabled attribute for this chip action.\n     */\n    _getDisabledAttribute() {\n      // When this chip action is disabled and focusing disabled chips is not permitted, return empty\n      // string to indicate that disabled attribute should be included.\n      return this.disabled && !this._allowFocusWhenDisabled ? '' : null;\n    }\n    /**\n     * Determine the value of the tabindex attribute for this chip action.\n     */\n    _getTabindex() {\n      return this.disabled && !this._allowFocusWhenDisabled || !this.isInteractive ? null : this.tabIndex.toString();\n    }\n    constructor() {\n      inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n      if (this._elementRef.nativeElement.nodeName === 'BUTTON') {\n        this._elementRef.nativeElement.setAttribute('type', 'button');\n      }\n    }\n    focus() {\n      this._elementRef.nativeElement.focus();\n    }\n    _handleClick(event) {\n      if (!this.disabled && this.isInteractive && this._isPrimary) {\n        event.preventDefault();\n        this._parentChip._handlePrimaryActionInteraction();\n      }\n    }\n    _handleKeydown(event) {\n      if ((event.keyCode === ENTER || event.keyCode === SPACE) && !this.disabled && this.isInteractive && this._isPrimary && !this._parentChip._isEditing) {\n        event.preventDefault();\n        this._parentChip._handlePrimaryActionInteraction();\n      }\n    }\n    static ɵfac = function MatChipAction_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatChipAction)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatChipAction,\n      selectors: [[\"\", \"matChipAction\", \"\"]],\n      hostAttrs: [1, \"mdc-evolution-chip__action\", \"mat-mdc-chip-action\"],\n      hostVars: 9,\n      hostBindings: function MatChipAction_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"click\", function MatChipAction_click_HostBindingHandler($event) {\n            return ctx._handleClick($event);\n          })(\"keydown\", function MatChipAction_keydown_HostBindingHandler($event) {\n            return ctx._handleKeydown($event);\n          });\n        }\n        if (rf & 2) {\n          i0.ɵɵattribute(\"tabindex\", ctx._getTabindex())(\"disabled\", ctx._getDisabledAttribute())(\"aria-disabled\", ctx.disabled);\n          i0.ɵɵclassProp(\"mdc-evolution-chip__action--primary\", ctx._isPrimary)(\"mdc-evolution-chip__action--presentational\", !ctx.isInteractive)(\"mdc-evolution-chip__action--trailing\", !ctx._isPrimary);\n        }\n      },\n      inputs: {\n        isInteractive: \"isInteractive\",\n        disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n        tabIndex: [2, \"tabIndex\", \"tabIndex\", value => value == null ? -1 : numberAttribute(value)],\n        _allowFocusWhenDisabled: \"_allowFocusWhenDisabled\"\n      }\n    });\n  }\n  return MatChipAction;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Avatar image within a chip. */\nlet MatChipAvatar = /*#__PURE__*/(() => {\n  class MatChipAvatar {\n    static ɵfac = function MatChipAvatar_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatChipAvatar)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatChipAvatar,\n      selectors: [[\"mat-chip-avatar\"], [\"\", \"matChipAvatar\", \"\"]],\n      hostAttrs: [\"role\", \"img\", 1, \"mat-mdc-chip-avatar\", \"mdc-evolution-chip__icon\", \"mdc-evolution-chip__icon--primary\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MAT_CHIP_AVATAR,\n        useExisting: MatChipAvatar\n      }])]\n    });\n  }\n  return MatChipAvatar;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Non-interactive trailing icon in a chip. */\nlet MatChipTrailingIcon = /*#__PURE__*/(() => {\n  class MatChipTrailingIcon extends MatChipAction {\n    /**\n     * MDC considers all trailing actions as a remove icon,\n     * but we support non-interactive trailing icons.\n     */\n    isInteractive = false;\n    _isPrimary = false;\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatChipTrailingIcon_BaseFactory;\n      return function MatChipTrailingIcon_Factory(__ngFactoryType__) {\n        return (ɵMatChipTrailingIcon_BaseFactory || (ɵMatChipTrailingIcon_BaseFactory = i0.ɵɵgetInheritedFactory(MatChipTrailingIcon)))(__ngFactoryType__ || MatChipTrailingIcon);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatChipTrailingIcon,\n      selectors: [[\"mat-chip-trailing-icon\"], [\"\", \"matChipTrailingIcon\", \"\"]],\n      hostAttrs: [\"aria-hidden\", \"true\", 1, \"mat-mdc-chip-trailing-icon\", \"mdc-evolution-chip__icon\", \"mdc-evolution-chip__icon--trailing\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MAT_CHIP_TRAILING_ICON,\n        useExisting: MatChipTrailingIcon\n      }]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return MatChipTrailingIcon;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Directive to remove the parent chip when the trailing icon is clicked or\n * when the ENTER key is pressed on it.\n *\n * Recommended for use with the Material Design \"cancel\" icon\n * available at https://material.io/icons/#ic_cancel.\n *\n * Example:\n *\n * ```\n * <mat-chip>\n *   <mat-icon matChipRemove>cancel</mat-icon>\n * </mat-chip>\n * ```\n */\nlet MatChipRemove = /*#__PURE__*/(() => {\n  class MatChipRemove extends MatChipAction {\n    _isPrimary = false;\n    _handleClick(event) {\n      if (!this.disabled) {\n        event.stopPropagation();\n        event.preventDefault();\n        this._parentChip.remove();\n      }\n    }\n    _handleKeydown(event) {\n      if ((event.keyCode === ENTER || event.keyCode === SPACE) && !this.disabled) {\n        event.stopPropagation();\n        event.preventDefault();\n        this._parentChip.remove();\n      }\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatChipRemove_BaseFactory;\n      return function MatChipRemove_Factory(__ngFactoryType__) {\n        return (ɵMatChipRemove_BaseFactory || (ɵMatChipRemove_BaseFactory = i0.ɵɵgetInheritedFactory(MatChipRemove)))(__ngFactoryType__ || MatChipRemove);\n      };\n    })();\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatChipRemove,\n      selectors: [[\"\", \"matChipRemove\", \"\"]],\n      hostAttrs: [\"role\", \"button\", 1, \"mat-mdc-chip-remove\", \"mat-mdc-chip-trailing-icon\", \"mat-focus-indicator\", \"mdc-evolution-chip__icon\", \"mdc-evolution-chip__icon--trailing\"],\n      hostVars: 1,\n      hostBindings: function MatChipRemove_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵattribute(\"aria-hidden\", null);\n        }\n      },\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MAT_CHIP_REMOVE,\n        useExisting: MatChipRemove\n      }]), i0.ɵɵInheritDefinitionFeature]\n    });\n  }\n  return MatChipRemove;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Material design styled Chip base component. Used inside the MatChipSet component.\n *\n * Extended by MatChipOption and MatChipRow for different interaction patterns.\n */\nlet MatChip = /*#__PURE__*/(() => {\n  class MatChip {\n    _changeDetectorRef = inject(ChangeDetectorRef);\n    _elementRef = inject(ElementRef);\n    _ngZone = inject(NgZone);\n    _focusMonitor = inject(FocusMonitor);\n    _globalRippleOptions = inject(MAT_RIPPLE_GLOBAL_OPTIONS, {\n      optional: true\n    });\n    _document = inject(DOCUMENT);\n    /** Emits when the chip is focused. */\n    _onFocus = new Subject();\n    /** Emits when the chip is blurred. */\n    _onBlur = new Subject();\n    /** Whether this chip is a basic (unstyled) chip. */\n    _isBasicChip;\n    /** Role for the root of the chip. */\n    role = null;\n    /** Whether the chip has focus. */\n    _hasFocusInternal = false;\n    /** Whether moving focus into the chip is pending. */\n    _pendingFocus;\n    /** Subscription to changes in the chip's actions. */\n    _actionChanges;\n    /** Whether animations for the chip are enabled. */\n    _animationsDisabled;\n    /** All avatars present in the chip. */\n    _allLeadingIcons;\n    /** All trailing icons present in the chip. */\n    _allTrailingIcons;\n    /** All remove icons present in the chip. */\n    _allRemoveIcons;\n    _hasFocus() {\n      return this._hasFocusInternal;\n    }\n    /** A unique id for the chip. If none is supplied, it will be auto-generated. */\n    id = inject(_IdGenerator).getId('mat-mdc-chip-');\n    // TODO(#26104): Consider deprecating and using `_computeAriaAccessibleName` instead.\n    // `ariaLabel` may be unnecessary, and `_computeAriaAccessibleName` only supports\n    // datepicker's use case.\n    /** ARIA label for the content of the chip. */\n    ariaLabel = null;\n    // TODO(#26104): Consider deprecating and using `_computeAriaAccessibleName` instead.\n    // `ariaDescription` may be unnecessary, and `_computeAriaAccessibleName` only supports\n    // datepicker's use case.\n    /** ARIA description for the content of the chip. */\n    ariaDescription = null;\n    /** Id of a span that contains this chip's aria description. */\n    _ariaDescriptionId = `${this.id}-aria-description`;\n    /** Whether the chip list is disabled. */\n    _chipListDisabled = false;\n    _textElement;\n    /**\n     * The value of the chip. Defaults to the content inside\n     * the `mat-mdc-chip-action-label` element.\n     */\n    get value() {\n      return this._value !== undefined ? this._value : this._textElement.textContent.trim();\n    }\n    set value(value) {\n      this._value = value;\n    }\n    _value;\n    // TODO: should be typed as `ThemePalette` but internal apps pass in arbitrary strings.\n    /**\n     * Theme color of the chip. This API is supported in M2 themes only, it has no\n     * effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/chips/styling.\n     *\n     * For information on applying color variants in M3, see\n     * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n     */\n    color;\n    /**\n     * Determines whether or not the chip displays the remove styling and emits (removed) events.\n     */\n    removable = true;\n    /**\n     * Colors the chip for emphasis as if it were selected.\n     */\n    highlighted = false;\n    /** Whether the ripple effect is disabled or not. */\n    disableRipple = false;\n    /** Whether the chip is disabled. */\n    get disabled() {\n      return this._disabled || this._chipListDisabled;\n    }\n    set disabled(value) {\n      this._disabled = value;\n    }\n    _disabled = false;\n    /** Emitted when a chip is to be removed. */\n    removed = new EventEmitter();\n    /** Emitted when the chip is destroyed. */\n    destroyed = new EventEmitter();\n    /** The unstyled chip selector for this component. */\n    basicChipAttrName = 'mat-basic-chip';\n    /** The chip's leading icon. */\n    leadingIcon;\n    /** The chip's trailing icon. */\n    trailingIcon;\n    /** The chip's trailing remove icon. */\n    removeIcon;\n    /** Action receiving the primary set of user interactions. */\n    primaryAction;\n    /**\n     * Handles the lazy creation of the MatChip ripple.\n     * Used to improve initial load time of large applications.\n     */\n    _rippleLoader = inject(MatRippleLoader);\n    _injector = inject(Injector);\n    constructor() {\n      const styleLoader = inject(_CdkPrivateStyleLoader);\n      styleLoader.load(_StructuralStylesLoader);\n      styleLoader.load(_VisuallyHiddenLoader);\n      const animationMode = inject(ANIMATION_MODULE_TYPE, {\n        optional: true\n      });\n      this._animationsDisabled = animationMode === 'NoopAnimations';\n      this._monitorFocus();\n      this._rippleLoader?.configureRipple(this._elementRef.nativeElement, {\n        className: 'mat-mdc-chip-ripple',\n        disabled: this._isRippleDisabled()\n      });\n    }\n    ngOnInit() {\n      // This check needs to happen in `ngOnInit` so the overridden value of\n      // `basicChipAttrName` coming from base classes can be picked up.\n      const element = this._elementRef.nativeElement;\n      this._isBasicChip = element.hasAttribute(this.basicChipAttrName) || element.tagName.toLowerCase() === this.basicChipAttrName;\n    }\n    ngAfterViewInit() {\n      this._textElement = this._elementRef.nativeElement.querySelector('.mat-mdc-chip-action-label');\n      if (this._pendingFocus) {\n        this._pendingFocus = false;\n        this.focus();\n      }\n    }\n    ngAfterContentInit() {\n      // Since the styling depends on the presence of some\n      // actions, we have to mark for check on changes.\n      this._actionChanges = merge(this._allLeadingIcons.changes, this._allTrailingIcons.changes, this._allRemoveIcons.changes).subscribe(() => this._changeDetectorRef.markForCheck());\n    }\n    ngDoCheck() {\n      this._rippleLoader.setDisabled(this._elementRef.nativeElement, this._isRippleDisabled());\n    }\n    ngOnDestroy() {\n      this._focusMonitor.stopMonitoring(this._elementRef);\n      this._rippleLoader?.destroyRipple(this._elementRef.nativeElement);\n      this._actionChanges?.unsubscribe();\n      this.destroyed.emit({\n        chip: this\n      });\n      this.destroyed.complete();\n    }\n    /**\n     * Allows for programmatic removal of the chip.\n     *\n     * Informs any listeners of the removal request. Does not remove the chip from the DOM.\n     */\n    remove() {\n      if (this.removable) {\n        this.removed.emit({\n          chip: this\n        });\n      }\n    }\n    /** Whether or not the ripple should be disabled. */\n    _isRippleDisabled() {\n      return this.disabled || this.disableRipple || this._animationsDisabled || this._isBasicChip || !!this._globalRippleOptions?.disabled;\n    }\n    /** Returns whether the chip has a trailing icon. */\n    _hasTrailingIcon() {\n      return !!(this.trailingIcon || this.removeIcon);\n    }\n    /** Handles keyboard events on the chip. */\n    _handleKeydown(event) {\n      // Ignore backspace events where the user is holding down the key\n      // so that we don't accidentally remove too many chips.\n      if (event.keyCode === BACKSPACE && !event.repeat || event.keyCode === DELETE) {\n        event.preventDefault();\n        this.remove();\n      }\n    }\n    /** Allows for programmatic focusing of the chip. */\n    focus() {\n      if (!this.disabled) {\n        // If `focus` is called before `ngAfterViewInit`, we won't have access to the primary action.\n        // This can happen if the consumer tries to focus a chip immediately after it is added.\n        // Queue the method to be called again on init.\n        if (this.primaryAction) {\n          this.primaryAction.focus();\n        } else {\n          this._pendingFocus = true;\n        }\n      }\n    }\n    /** Gets the action that contains a specific target node. */\n    _getSourceAction(target) {\n      return this._getActions().find(action => {\n        const element = action._elementRef.nativeElement;\n        return element === target || element.contains(target);\n      });\n    }\n    /** Gets all of the actions within the chip. */\n    _getActions() {\n      const result = [];\n      if (this.primaryAction) {\n        result.push(this.primaryAction);\n      }\n      if (this.removeIcon) {\n        result.push(this.removeIcon);\n      }\n      if (this.trailingIcon) {\n        result.push(this.trailingIcon);\n      }\n      return result;\n    }\n    /** Handles interactions with the primary action of the chip. */\n    _handlePrimaryActionInteraction() {\n      // Empty here, but is overwritten in child classes.\n    }\n    /** Starts the focus monitoring process on the chip. */\n    _monitorFocus() {\n      this._focusMonitor.monitor(this._elementRef, true).subscribe(origin => {\n        const hasFocus = origin !== null;\n        if (hasFocus !== this._hasFocusInternal) {\n          this._hasFocusInternal = hasFocus;\n          if (hasFocus) {\n            this._onFocus.next({\n              chip: this\n            });\n          } else {\n            // When animations are enabled, Angular may end up removing the chip from the DOM a little\n            // earlier than usual, causing it to be blurred and throwing off the logic in the chip list\n            // that moves focus to the next item. To work around the issue, we defer marking the chip\n            // as not focused until after the next render.\n            this._changeDetectorRef.markForCheck();\n            setTimeout(() => this._ngZone.run(() => this._onBlur.next({\n              chip: this\n            })));\n          }\n        }\n      });\n    }\n    static ɵfac = function MatChip_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatChip)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatChip,\n      selectors: [[\"mat-basic-chip\"], [\"\", \"mat-basic-chip\", \"\"], [\"mat-chip\"], [\"\", \"mat-chip\", \"\"]],\n      contentQueries: function MatChip_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, MAT_CHIP_AVATAR, 5);\n          i0.ɵɵcontentQuery(dirIndex, MAT_CHIP_TRAILING_ICON, 5);\n          i0.ɵɵcontentQuery(dirIndex, MAT_CHIP_REMOVE, 5);\n          i0.ɵɵcontentQuery(dirIndex, MAT_CHIP_AVATAR, 5);\n          i0.ɵɵcontentQuery(dirIndex, MAT_CHIP_TRAILING_ICON, 5);\n          i0.ɵɵcontentQuery(dirIndex, MAT_CHIP_REMOVE, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.leadingIcon = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.trailingIcon = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.removeIcon = _t.first);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._allLeadingIcons = _t);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._allTrailingIcons = _t);\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._allRemoveIcons = _t);\n        }\n      },\n      viewQuery: function MatChip_Query(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵviewQuery(MatChipAction, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.primaryAction = _t.first);\n        }\n      },\n      hostAttrs: [1, \"mat-mdc-chip\"],\n      hostVars: 31,\n      hostBindings: function MatChip_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"keydown\", function MatChip_keydown_HostBindingHandler($event) {\n            return ctx._handleKeydown($event);\n          });\n        }\n        if (rf & 2) {\n          i0.ɵɵhostProperty(\"id\", ctx.id);\n          i0.ɵɵattribute(\"role\", ctx.role)(\"aria-label\", ctx.ariaLabel);\n          i0.ɵɵclassMap(\"mat-\" + (ctx.color || \"primary\"));\n          i0.ɵɵclassProp(\"mdc-evolution-chip\", !ctx._isBasicChip)(\"mdc-evolution-chip--disabled\", ctx.disabled)(\"mdc-evolution-chip--with-trailing-action\", ctx._hasTrailingIcon())(\"mdc-evolution-chip--with-primary-graphic\", ctx.leadingIcon)(\"mdc-evolution-chip--with-primary-icon\", ctx.leadingIcon)(\"mdc-evolution-chip--with-avatar\", ctx.leadingIcon)(\"mat-mdc-chip-with-avatar\", ctx.leadingIcon)(\"mat-mdc-chip-highlighted\", ctx.highlighted)(\"mat-mdc-chip-disabled\", ctx.disabled)(\"mat-mdc-basic-chip\", ctx._isBasicChip)(\"mat-mdc-standard-chip\", !ctx._isBasicChip)(\"mat-mdc-chip-with-trailing-icon\", ctx._hasTrailingIcon())(\"_mat-animation-noopable\", ctx._animationsDisabled);\n        }\n      },\n      inputs: {\n        role: \"role\",\n        id: \"id\",\n        ariaLabel: [0, \"aria-label\", \"ariaLabel\"],\n        ariaDescription: [0, \"aria-description\", \"ariaDescription\"],\n        value: \"value\",\n        color: \"color\",\n        removable: [2, \"removable\", \"removable\", booleanAttribute],\n        highlighted: [2, \"highlighted\", \"highlighted\", booleanAttribute],\n        disableRipple: [2, \"disableRipple\", \"disableRipple\", booleanAttribute],\n        disabled: [2, \"disabled\", \"disabled\", booleanAttribute]\n      },\n      outputs: {\n        removed: \"removed\",\n        destroyed: \"destroyed\"\n      },\n      exportAs: [\"matChip\"],\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MAT_CHIP,\n        useExisting: MatChip\n      }])],\n      ngContentSelectors: _c1,\n      decls: 8,\n      vars: 3,\n      consts: [[1, \"mat-mdc-chip-focus-overlay\"], [1, \"mdc-evolution-chip__cell\", \"mdc-evolution-chip__cell--primary\"], [\"matChipAction\", \"\", 3, \"isInteractive\"], [1, \"mdc-evolution-chip__graphic\", \"mat-mdc-chip-graphic\"], [1, \"mdc-evolution-chip__text-label\", \"mat-mdc-chip-action-label\"], [1, \"mat-mdc-chip-primary-focus-indicator\", \"mat-focus-indicator\"], [1, \"mdc-evolution-chip__cell\", \"mdc-evolution-chip__cell--trailing\"]],\n      template: function MatChip_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c0);\n          i0.ɵɵelement(0, \"span\", 0);\n          i0.ɵɵelementStart(1, \"span\", 1)(2, \"span\", 2);\n          i0.ɵɵtemplate(3, MatChip_Conditional_3_Template, 2, 0, \"span\", 3);\n          i0.ɵɵelementStart(4, \"span\", 4);\n          i0.ɵɵprojection(5);\n          i0.ɵɵelement(6, \"span\", 5);\n          i0.ɵɵelementEnd()()();\n          i0.ɵɵtemplate(7, MatChip_Conditional_7_Template, 2, 0, \"span\", 6);\n        }\n        if (rf & 2) {\n          i0.ɵɵadvance(2);\n          i0.ɵɵproperty(\"isInteractive\", false);\n          i0.ɵɵadvance();\n          i0.ɵɵconditional(ctx.leadingIcon ? 3 : -1);\n          i0.ɵɵadvance(4);\n          i0.ɵɵconditional(ctx._hasTrailingIcon() ? 7 : -1);\n        }\n      },\n      dependencies: [MatChipAction],\n      styles: [\".mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}@media(forced-colors: active){.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{forced-color-adjust:none}}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary::before{border-width:var(--mdc-chip-outline-width, 1px);border-radius:var(--mdc-chip-container-shape-radius, 8px);box-sizing:border-box;content:\\\"\\\";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary::before{border-color:var(--mdc-chip-outline-color, var(--mat-sys-outline))}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):not(.mdc-ripple-upgraded):focus::before{border-color:var(--mdc-chip-focus-outline-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary::before{border-color:var(--mdc-chip-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary::before{border-width:var(--mdc-chip-flat-selected-outline-width, 0)}.mat-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--trailing{position:relative;overflow:visible}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--trailing{color:var(--mdc-chip-with-trailing-icon-trailing-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--trailing{color:var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:var(--mdc-chip-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mdc-chip-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mdc-chip-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mdc-chip-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mdc-chip-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mdc-chip-label-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mdc-chip-selected-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:var(--mdc-chip-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.mat-mdc-standard-chip .mdc-evolution-chip__graphic{width:var(--mdc-chip-with-avatar-avatar-size, 24px);height:var(--mdc-chip-with-avatar-avatar-size, 24px);font-size:var(--mdc-chip-with-avatar-avatar-size, 24px)}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:var(--mdc-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:var(--mdc-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1);transform:translate(-75%, -50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%, -50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}@media(forced-colors: active){.mdc-evolution-chip__checkmark-path{stroke:CanvasText !important}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove{opacity:calc(var(--mat-chip-trailing-action-opacity, 1)*var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove:focus{opacity:calc(var(--mat-chip-trailing-action-focus-opacity, 1)*var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mat-mdc-standard-chip{border-radius:var(--mdc-chip-container-shape-radius, 8px);height:var(--mdc-chip-container-height, 32px)}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:var(--mdc-chip-elevated-container-color, transparent)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:var(--mdc-chip-elevated-disabled-container-color)}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:var(--mdc-chip-elevated-selected-container-color, var(--mat-sys-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:var(--mdc-chip-flat-disabled-selected-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}@media(forced-colors: active){.mat-mdc-standard-chip{outline:solid 1px}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:var(--mdc-chip-with-avatar-avatar-shape-radius, 24px);width:var(--mdc-chip-with-icon-icon-size, 18px);height:var(--mdc-chip-with-icon-icon-size, 18px);font-size:var(--mdc-chip-with-icon-icon-size, 18px)}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:var(--mdc-chip-with-icon-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:var(--mdc-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-highlighted{--mdc-chip-with-icon-icon-color:var(--mdc-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container));--mdc-chip-elevated-container-color:var(--mdc-chip-elevated-selected-container-color, var(--mat-sys-secondary-container));--mdc-chip-label-text-color:var(--mdc-chip-selected-label-text-color, var(--mat-sys-on-secondary-container));--mdc-chip-outline-width:var(--mdc-chip-flat-selected-outline-width, 0)}.mat-mdc-chip-focus-overlay{background:var(--mdc-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-selected .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-chip:hover .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-hover-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mdc-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-focus-overlay .mat-mdc-chip-selected:hover,.mat-mdc-chip-highlighted:hover .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-selected-hover-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mdc-chip-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mdc-chip-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected.cdk-focused .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mdc-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .mat-mdc-chip-avatar{opacity:var(--mdc-chip-with-avatar-disabled-avatar-opacity, 0.38)}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{opacity:var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38)}.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:var(--mdc-chip-with-icon-disabled-icon-opacity, 0.38)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:var(--mat-chip-disabled-container-opacity, 1)}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-trailing-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-remove{opacity:var(--mat-chip-trailing-action-opacity, 1)}.mat-mdc-chip-remove:focus{opacity:var(--mat-chip-trailing-action-focus-opacity, 1)}.mat-mdc-chip-remove::after{background-color:var(--mat-chip-trailing-action-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-remove:hover::after{opacity:var(--mat-chip-trailing-action-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-remove:focus::after{opacity:var(--mat-chip-trailing-action-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected .mat-mdc-chip-remove::after,.mat-mdc-chip-highlighted .mat-mdc-chip-remove::after{background-color:var(--mat-chip-selected-trailing-action-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-standard-chip .mdc-evolution-chip__cell--primary,.mat-mdc-standard-chip .mdc-evolution-chip__action--primary,.mat-mdc-standard-chip .mat-mdc-chip-action-label{overflow:visible}.mat-mdc-standard-chip .mat-mdc-chip-graphic,.mat-mdc-standard-chip .mat-mdc-chip-trailing-icon{box-sizing:content-box}.mat-mdc-standard-chip._mat-animation-noopable,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__graphic,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.mat-mdc-chip-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity 150ms linear}._mat-animation-noopable .mat-mdc-chip-focus-overlay{transition:none}.mat-mdc-basic-chip .mat-mdc-chip-focus-overlay{display:none}.mat-mdc-chip .mat-ripple.mat-mdc-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-chip-avatar{text-align:center;line-height:1;color:var(--mdc-chip-with-icon-icon-color, currentColor)}.mat-mdc-chip{position:relative;z-index:0}.mat-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .mat-mdc-chip-action-label{text-align:right}.mat-mdc-chip.mdc-evolution-chip--with-trailing-action .mat-mdc-chip-action-label{position:relative}.mat-mdc-chip-action-label .mat-mdc-chip-primary-focus-indicator{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mat-mdc-chip-action-label .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-chip-remove::before{margin:calc(var(--mat-focus-indicator-border-width, 3px)*-1);left:8px;right:8px}.mat-mdc-chip-remove::after{content:\\\"\\\";display:block;opacity:0;position:absolute;top:-3px;bottom:-3px;left:5px;right:5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.mat-mdc-chip-remove .mat-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.mat-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}@media(forced-colors: active){.mat-mdc-chip-selected:not(.mat-mdc-chip-multiple){outline-width:3px}}.mat-mdc-chip-action:focus .mat-focus-indicator::before{content:\\\"\\\"}.mdc-evolution-chip__icon,.mat-mdc-chip-remove .mat-icon{min-height:fit-content}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatChip;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Event object emitted by MatChipOption when selected or deselected. */\nclass MatChipSelectionChange {\n  source;\n  selected;\n  isUserInput;\n  constructor(/** Reference to the chip that emitted the event. */\n  source, /** Whether the chip that emitted the event is selected. */\n  selected, /** Whether the selection change was a result of a user interaction. */\n  isUserInput = false) {\n    this.source = source;\n    this.selected = selected;\n    this.isUserInput = isUserInput;\n  }\n}\n/**\n * An extension of the MatChip component that supports chip selection. Used with MatChipListbox.\n *\n * Unlike other chips, the user can focus on disabled chip options inside a MatChipListbox. The\n * user cannot click disabled chips.\n */\nlet MatChipOption = /*#__PURE__*/(() => {\n  class MatChipOption extends MatChip {\n    /** Default chip options. */\n    _defaultOptions = inject(MAT_CHIPS_DEFAULT_OPTIONS, {\n      optional: true\n    });\n    /** Whether the chip list is selectable. */\n    chipListSelectable = true;\n    /** Whether the chip list is in multi-selection mode. */\n    _chipListMultiple = false;\n    /** Whether the chip list hides single-selection indicator. */\n    _chipListHideSingleSelectionIndicator = this._defaultOptions?.hideSingleSelectionIndicator ?? false;\n    /**\n     * Whether or not the chip is selectable.\n     *\n     * When a chip is not selectable, changes to its selected state are always\n     * ignored. By default an option chip is selectable, and it becomes\n     * non-selectable if its parent chip list is not selectable.\n     */\n    get selectable() {\n      return this._selectable && this.chipListSelectable;\n    }\n    set selectable(value) {\n      this._selectable = value;\n      this._changeDetectorRef.markForCheck();\n    }\n    _selectable = true;\n    /** Whether the chip is selected. */\n    get selected() {\n      return this._selected;\n    }\n    set selected(value) {\n      this._setSelectedState(value, false, true);\n    }\n    _selected = false;\n    /**\n     * The ARIA selected applied to the chip. Conforms to WAI ARIA best practices for listbox\n     * interaction patterns.\n     *\n     * From [WAI ARIA Listbox authoring practices guide](\n     * https://www.w3.org/WAI/ARIA/apg/patterns/listbox/):\n     *  \"If any options are selected, each selected option has either aria-selected or aria-checked\n     *  set to true. All options that are selectable but not selected have either aria-selected or\n     *  aria-checked set to false.\"\n     *\n     * Set `aria-selected=\"false\"` on not-selected listbox options that are selectable to fix\n     * VoiceOver reading every option as \"selected\" (#25736).\n     */\n    get ariaSelected() {\n      return this.selectable ? this.selected.toString() : null;\n    }\n    /** The unstyled chip selector for this component. */\n    basicChipAttrName = 'mat-basic-chip-option';\n    /** Emitted when the chip is selected or deselected. */\n    selectionChange = new EventEmitter();\n    ngOnInit() {\n      super.ngOnInit();\n      this.role = 'presentation';\n    }\n    /** Selects the chip. */\n    select() {\n      this._setSelectedState(true, false, true);\n    }\n    /** Deselects the chip. */\n    deselect() {\n      this._setSelectedState(false, false, true);\n    }\n    /** Selects this chip and emits userInputSelection event */\n    selectViaInteraction() {\n      this._setSelectedState(true, true, true);\n    }\n    /** Toggles the current selected state of this chip. */\n    toggleSelected(isUserInput = false) {\n      this._setSelectedState(!this.selected, isUserInput, true);\n      return this.selected;\n    }\n    _handlePrimaryActionInteraction() {\n      if (!this.disabled) {\n        // Interacting with the primary action implies that the chip already has focus, however\n        // there's a bug in Safari where focus ends up lingering on the previous chip (see #27544).\n        // We work around it by explicitly focusing the primary action of the current chip.\n        this.focus();\n        if (this.selectable) {\n          this.toggleSelected(true);\n        }\n      }\n    }\n    _hasLeadingGraphic() {\n      if (this.leadingIcon) {\n        return true;\n      }\n      // The checkmark graphic communicates selected state for both single-select and multi-select.\n      // Include checkmark in single-select to fix a11y issue where selected state is communicated\n      // visually only using color (#25886).\n      return !this._chipListHideSingleSelectionIndicator || this._chipListMultiple;\n    }\n    _setSelectedState(isSelected, isUserInput, emitEvent) {\n      if (isSelected !== this.selected) {\n        this._selected = isSelected;\n        if (emitEvent) {\n          this.selectionChange.emit({\n            source: this,\n            isUserInput,\n            selected: this.selected\n          });\n        }\n        this._changeDetectorRef.markForCheck();\n      }\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatChipOption_BaseFactory;\n      return function MatChipOption_Factory(__ngFactoryType__) {\n        return (ɵMatChipOption_BaseFactory || (ɵMatChipOption_BaseFactory = i0.ɵɵgetInheritedFactory(MatChipOption)))(__ngFactoryType__ || MatChipOption);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatChipOption,\n      selectors: [[\"mat-basic-chip-option\"], [\"\", \"mat-basic-chip-option\", \"\"], [\"mat-chip-option\"], [\"\", \"mat-chip-option\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-chip\", \"mat-mdc-chip-option\"],\n      hostVars: 37,\n      hostBindings: function MatChipOption_HostBindings(rf, ctx) {\n        if (rf & 2) {\n          i0.ɵɵhostProperty(\"id\", ctx.id);\n          i0.ɵɵattribute(\"tabindex\", null)(\"aria-label\", null)(\"aria-description\", null)(\"role\", ctx.role);\n          i0.ɵɵclassProp(\"mdc-evolution-chip\", !ctx._isBasicChip)(\"mdc-evolution-chip--filter\", !ctx._isBasicChip)(\"mdc-evolution-chip--selectable\", !ctx._isBasicChip)(\"mat-mdc-chip-selected\", ctx.selected)(\"mat-mdc-chip-multiple\", ctx._chipListMultiple)(\"mat-mdc-chip-disabled\", ctx.disabled)(\"mat-mdc-chip-with-avatar\", ctx.leadingIcon)(\"mdc-evolution-chip--disabled\", ctx.disabled)(\"mdc-evolution-chip--selected\", ctx.selected)(\"mdc-evolution-chip--selecting\", !ctx._animationsDisabled)(\"mdc-evolution-chip--with-trailing-action\", ctx._hasTrailingIcon())(\"mdc-evolution-chip--with-primary-icon\", ctx.leadingIcon)(\"mdc-evolution-chip--with-primary-graphic\", ctx._hasLeadingGraphic())(\"mdc-evolution-chip--with-avatar\", ctx.leadingIcon)(\"mat-mdc-chip-highlighted\", ctx.highlighted)(\"mat-mdc-chip-with-trailing-icon\", ctx._hasTrailingIcon());\n        }\n      },\n      inputs: {\n        selectable: [2, \"selectable\", \"selectable\", booleanAttribute],\n        selected: [2, \"selected\", \"selected\", booleanAttribute]\n      },\n      outputs: {\n        selectionChange: \"selectionChange\"\n      },\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MatChip,\n        useExisting: MatChipOption\n      }, {\n        provide: MAT_CHIP,\n        useExisting: MatChipOption\n      }]), i0.ɵɵInheritDefinitionFeature],\n      ngContentSelectors: _c1,\n      decls: 10,\n      vars: 8,\n      consts: [[1, \"mat-mdc-chip-focus-overlay\"], [1, \"mdc-evolution-chip__cell\", \"mdc-evolution-chip__cell--primary\"], [\"matChipAction\", \"\", \"role\", \"option\", 3, \"_allowFocusWhenDisabled\"], [1, \"mdc-evolution-chip__graphic\", \"mat-mdc-chip-graphic\"], [1, \"mdc-evolution-chip__text-label\", \"mat-mdc-chip-action-label\"], [1, \"mat-mdc-chip-primary-focus-indicator\", \"mat-focus-indicator\"], [1, \"mdc-evolution-chip__cell\", \"mdc-evolution-chip__cell--trailing\"], [1, \"cdk-visually-hidden\", 3, \"id\"], [1, \"mdc-evolution-chip__checkmark\"], [\"viewBox\", \"-2 -3 30 30\", \"focusable\", \"false\", \"aria-hidden\", \"true\", 1, \"mdc-evolution-chip__checkmark-svg\"], [\"fill\", \"none\", \"stroke\", \"currentColor\", \"d\", \"M1.73,12.91 8.1,19.28 22.79,4.59\", 1, \"mdc-evolution-chip__checkmark-path\"]],\n      template: function MatChipOption_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c0);\n          i0.ɵɵelement(0, \"span\", 0);\n          i0.ɵɵelementStart(1, \"span\", 1)(2, \"button\", 2);\n          i0.ɵɵtemplate(3, MatChipOption_Conditional_3_Template, 5, 0, \"span\", 3);\n          i0.ɵɵelementStart(4, \"span\", 4);\n          i0.ɵɵprojection(5);\n          i0.ɵɵelement(6, \"span\", 5);\n          i0.ɵɵelementEnd()()();\n          i0.ɵɵtemplate(7, MatChipOption_Conditional_7_Template, 2, 0, \"span\", 6);\n          i0.ɵɵelementStart(8, \"span\", 7);\n          i0.ɵɵtext(9);\n          i0.ɵɵelementEnd();\n        }\n        if (rf & 2) {\n          i0.ɵɵadvance(2);\n          i0.ɵɵproperty(\"_allowFocusWhenDisabled\", true);\n          i0.ɵɵattribute(\"aria-selected\", ctx.ariaSelected)(\"aria-label\", ctx.ariaLabel)(\"aria-describedby\", ctx._ariaDescriptionId);\n          i0.ɵɵadvance();\n          i0.ɵɵconditional(ctx._hasLeadingGraphic() ? 3 : -1);\n          i0.ɵɵadvance(4);\n          i0.ɵɵconditional(ctx._hasTrailingIcon() ? 7 : -1);\n          i0.ɵɵadvance();\n          i0.ɵɵproperty(\"id\", ctx._ariaDescriptionId);\n          i0.ɵɵadvance();\n          i0.ɵɵtextInterpolate(ctx.ariaDescription);\n        }\n      },\n      dependencies: [MatChipAction],\n      styles: [_c2],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatChipOption;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * A directive that makes a span editable and exposes functions to modify and retrieve the\n * element's contents.\n */\nlet MatChipEditInput = /*#__PURE__*/(() => {\n  class MatChipEditInput {\n    _elementRef = inject(ElementRef);\n    _document = inject(DOCUMENT);\n    constructor() {}\n    initialize(initialValue) {\n      this.getNativeElement().focus();\n      this.setValue(initialValue);\n    }\n    getNativeElement() {\n      return this._elementRef.nativeElement;\n    }\n    setValue(value) {\n      this.getNativeElement().textContent = value;\n      this._moveCursorToEndOfInput();\n    }\n    getValue() {\n      return this.getNativeElement().textContent || '';\n    }\n    _moveCursorToEndOfInput() {\n      const range = this._document.createRange();\n      range.selectNodeContents(this.getNativeElement());\n      range.collapse(false);\n      const sel = window.getSelection();\n      sel.removeAllRanges();\n      sel.addRange(range);\n    }\n    static ɵfac = function MatChipEditInput_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatChipEditInput)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatChipEditInput,\n      selectors: [[\"span\", \"matChipEditInput\", \"\"]],\n      hostAttrs: [\"role\", \"textbox\", \"tabindex\", \"-1\", \"contenteditable\", \"true\", 1, \"mat-chip-edit-input\"]\n    });\n  }\n  return MatChipEditInput;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * An extension of the MatChip component used with MatChipGrid and\n * the matChipInputFor directive.\n */\nlet MatChipRow = /*#__PURE__*/(() => {\n  class MatChipRow extends MatChip {\n    basicChipAttrName = 'mat-basic-chip-row';\n    /**\n     * The editing action has to be triggered in a timeout. While we're waiting on it, a blur\n     * event might occur which will interrupt the editing. This flag is used to avoid interruptions\n     * while the editing action is being initialized.\n     */\n    _editStartPending = false;\n    editable = false;\n    /** Emitted when the chip is edited. */\n    edited = new EventEmitter();\n    /** The default chip edit input that is used if none is projected into this chip row. */\n    defaultEditInput;\n    /** The projected chip edit input. */\n    contentEditInput;\n    _isEditing = false;\n    constructor() {\n      super();\n      this.role = 'row';\n      this._onBlur.pipe(takeUntil(this.destroyed)).subscribe(() => {\n        if (this._isEditing && !this._editStartPending) {\n          this._onEditFinish();\n        }\n      });\n    }\n    _hasTrailingIcon() {\n      // The trailing icon is hidden while editing.\n      return !this._isEditing && super._hasTrailingIcon();\n    }\n    /** Sends focus to the first gridcell when the user clicks anywhere inside the chip. */\n    _handleFocus() {\n      if (!this._isEditing && !this.disabled) {\n        this.focus();\n      }\n    }\n    _handleKeydown(event) {\n      if (event.keyCode === ENTER && !this.disabled) {\n        if (this._isEditing) {\n          event.preventDefault();\n          this._onEditFinish();\n        } else if (this.editable) {\n          this._startEditing(event);\n        }\n      } else if (this._isEditing) {\n        // Stop the event from reaching the chip set in order to avoid navigating.\n        event.stopPropagation();\n      } else {\n        super._handleKeydown(event);\n      }\n    }\n    _handleDoubleclick(event) {\n      if (!this.disabled && this.editable) {\n        this._startEditing(event);\n      }\n    }\n    _startEditing(event) {\n      if (!this.primaryAction || this.removeIcon && this._getSourceAction(event.target) === this.removeIcon) {\n        return;\n      }\n      // The value depends on the DOM so we need to extract it before we flip the flag.\n      const value = this.value;\n      this._isEditing = this._editStartPending = true;\n      // Defer initializing the input until after it has been added to the DOM.\n      afterNextRender(() => {\n        this._getEditInput().initialize(value);\n        this._editStartPending = false;\n      }, {\n        injector: this._injector\n      });\n    }\n    _onEditFinish() {\n      this._isEditing = this._editStartPending = false;\n      this.edited.emit({\n        chip: this,\n        value: this._getEditInput().getValue()\n      });\n      // If the edit input is still focused or focus was returned to the body after it was destroyed,\n      // return focus to the chip contents.\n      if (this._document.activeElement === this._getEditInput().getNativeElement() || this._document.activeElement === this._document.body) {\n        this.primaryAction.focus();\n      }\n    }\n    _isRippleDisabled() {\n      return super._isRippleDisabled() || this._isEditing;\n    }\n    /**\n     * Gets the projected chip edit input, or the default input if none is projected in. One of these\n     * two values is guaranteed to be defined.\n     */\n    _getEditInput() {\n      return this.contentEditInput || this.defaultEditInput;\n    }\n    static ɵfac = function MatChipRow_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatChipRow)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatChipRow,\n      selectors: [[\"mat-chip-row\"], [\"\", \"mat-chip-row\", \"\"], [\"mat-basic-chip-row\"], [\"\", \"mat-basic-chip-row\", \"\"]],\n      contentQueries: function MatChipRow_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, MatChipEditInput, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentEditInput = _t.first);\n        }\n      },\n      viewQuery: function MatChipRow_Query(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵviewQuery(MatChipEditInput, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.defaultEditInput = _t.first);\n        }\n      },\n      hostAttrs: [1, \"mat-mdc-chip\", \"mat-mdc-chip-row\", \"mdc-evolution-chip\"],\n      hostVars: 27,\n      hostBindings: function MatChipRow_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"focus\", function MatChipRow_focus_HostBindingHandler() {\n            return ctx._handleFocus();\n          })(\"dblclick\", function MatChipRow_dblclick_HostBindingHandler($event) {\n            return ctx._handleDoubleclick($event);\n          });\n        }\n        if (rf & 2) {\n          i0.ɵɵhostProperty(\"id\", ctx.id);\n          i0.ɵɵattribute(\"tabindex\", ctx.disabled ? null : -1)(\"aria-label\", null)(\"aria-description\", null)(\"role\", ctx.role);\n          i0.ɵɵclassProp(\"mat-mdc-chip-with-avatar\", ctx.leadingIcon)(\"mat-mdc-chip-disabled\", ctx.disabled)(\"mat-mdc-chip-editing\", ctx._isEditing)(\"mat-mdc-chip-editable\", ctx.editable)(\"mdc-evolution-chip--disabled\", ctx.disabled)(\"mdc-evolution-chip--with-trailing-action\", ctx._hasTrailingIcon())(\"mdc-evolution-chip--with-primary-graphic\", ctx.leadingIcon)(\"mdc-evolution-chip--with-primary-icon\", ctx.leadingIcon)(\"mdc-evolution-chip--with-avatar\", ctx.leadingIcon)(\"mat-mdc-chip-highlighted\", ctx.highlighted)(\"mat-mdc-chip-with-trailing-icon\", ctx._hasTrailingIcon());\n        }\n      },\n      inputs: {\n        editable: \"editable\"\n      },\n      outputs: {\n        edited: \"edited\"\n      },\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MatChip,\n        useExisting: MatChipRow\n      }, {\n        provide: MAT_CHIP,\n        useExisting: MatChipRow\n      }]), i0.ɵɵInheritDefinitionFeature],\n      ngContentSelectors: _c4,\n      decls: 10,\n      vars: 9,\n      consts: [[1, \"mat-mdc-chip-focus-overlay\"], [\"role\", \"gridcell\", \"matChipAction\", \"\", 1, \"mdc-evolution-chip__cell\", \"mdc-evolution-chip__cell--primary\", 3, \"disabled\"], [1, \"mdc-evolution-chip__graphic\", \"mat-mdc-chip-graphic\"], [1, \"mdc-evolution-chip__text-label\", \"mat-mdc-chip-action-label\"], [\"aria-hidden\", \"true\", 1, \"mat-mdc-chip-primary-focus-indicator\", \"mat-focus-indicator\"], [\"role\", \"gridcell\", 1, \"mdc-evolution-chip__cell\", \"mdc-evolution-chip__cell--trailing\"], [1, \"cdk-visually-hidden\", 3, \"id\"], [\"matChipEditInput\", \"\"]],\n      template: function MatChipRow_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef(_c3);\n          i0.ɵɵtemplate(0, MatChipRow_Conditional_0_Template, 1, 0, \"span\", 0);\n          i0.ɵɵelementStart(1, \"span\", 1);\n          i0.ɵɵtemplate(2, MatChipRow_Conditional_2_Template, 2, 0, \"span\", 2);\n          i0.ɵɵelementStart(3, \"span\", 3);\n          i0.ɵɵtemplate(4, MatChipRow_Conditional_4_Template, 2, 1)(5, MatChipRow_Conditional_5_Template, 1, 0);\n          i0.ɵɵelement(6, \"span\", 4);\n          i0.ɵɵelementEnd()();\n          i0.ɵɵtemplate(7, MatChipRow_Conditional_7_Template, 2, 0, \"span\", 5);\n          i0.ɵɵelementStart(8, \"span\", 6);\n          i0.ɵɵtext(9);\n          i0.ɵɵelementEnd();\n        }\n        if (rf & 2) {\n          i0.ɵɵconditional(!ctx._isEditing ? 0 : -1);\n          i0.ɵɵadvance();\n          i0.ɵɵproperty(\"disabled\", ctx.disabled);\n          i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel)(\"aria-describedby\", ctx._ariaDescriptionId);\n          i0.ɵɵadvance();\n          i0.ɵɵconditional(ctx.leadingIcon ? 2 : -1);\n          i0.ɵɵadvance(2);\n          i0.ɵɵconditional(ctx._isEditing ? 4 : 5);\n          i0.ɵɵadvance(3);\n          i0.ɵɵconditional(ctx._hasTrailingIcon() ? 7 : -1);\n          i0.ɵɵadvance();\n          i0.ɵɵproperty(\"id\", ctx._ariaDescriptionId);\n          i0.ɵɵadvance();\n          i0.ɵɵtextInterpolate(ctx.ariaDescription);\n        }\n      },\n      dependencies: [MatChipAction, MatChipEditInput],\n      styles: [_c2],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatChipRow;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Basic container component for the MatChip component.\n *\n * Extended by MatChipListbox and MatChipGrid for different interaction patterns.\n */\nlet MatChipSet = /*#__PURE__*/(() => {\n  class MatChipSet {\n    _elementRef = inject(ElementRef);\n    _changeDetectorRef = inject(ChangeDetectorRef);\n    _dir = inject(Directionality, {\n      optional: true\n    });\n    /** Index of the last destroyed chip that had focus. */\n    _lastDestroyedFocusedChipIndex = null;\n    /** Used to manage focus within the chip list. */\n    _keyManager;\n    /** Subject that emits when the component has been destroyed. */\n    _destroyed = new Subject();\n    /** Role to use if it hasn't been overwritten by the user. */\n    _defaultRole = 'presentation';\n    /** Combined stream of all of the child chips' focus events. */\n    get chipFocusChanges() {\n      return this._getChipStream(chip => chip._onFocus);\n    }\n    /** Combined stream of all of the child chips' destroy events. */\n    get chipDestroyedChanges() {\n      return this._getChipStream(chip => chip.destroyed);\n    }\n    /** Combined stream of all of the child chips' remove events. */\n    get chipRemovedChanges() {\n      return this._getChipStream(chip => chip.removed);\n    }\n    /** Whether the chip set is disabled. */\n    get disabled() {\n      return this._disabled;\n    }\n    set disabled(value) {\n      this._disabled = value;\n      this._syncChipsState();\n    }\n    _disabled = false;\n    /** Whether the chip list contains chips or not. */\n    get empty() {\n      return !this._chips || this._chips.length === 0;\n    }\n    /** The ARIA role applied to the chip set. */\n    get role() {\n      if (this._explicitRole) {\n        return this._explicitRole;\n      }\n      return this.empty ? null : this._defaultRole;\n    }\n    /** Tabindex of the chip set. */\n    tabIndex = 0;\n    set role(value) {\n      this._explicitRole = value;\n    }\n    _explicitRole = null;\n    /** Whether any of the chips inside of this chip-set has focus. */\n    get focused() {\n      return this._hasFocusedChip();\n    }\n    /** The chips that are part of this chip set. */\n    _chips;\n    /** Flat list of all the actions contained within the chips. */\n    _chipActions = new QueryList();\n    constructor() {}\n    ngAfterViewInit() {\n      this._setUpFocusManagement();\n      this._trackChipSetChanges();\n      this._trackDestroyedFocusedChip();\n    }\n    ngOnDestroy() {\n      this._keyManager?.destroy();\n      this._chipActions.destroy();\n      this._destroyed.next();\n      this._destroyed.complete();\n    }\n    /** Checks whether any of the chips is focused. */\n    _hasFocusedChip() {\n      return this._chips && this._chips.some(chip => chip._hasFocus());\n    }\n    /** Syncs the chip-set's state with the individual chips. */\n    _syncChipsState() {\n      this._chips?.forEach(chip => {\n        chip._chipListDisabled = this._disabled;\n        chip._changeDetectorRef.markForCheck();\n      });\n    }\n    /** Dummy method for subclasses to override. Base chip set cannot be focused. */\n    focus() {}\n    /** Handles keyboard events on the chip set. */\n    _handleKeydown(event) {\n      if (this._originatesFromChip(event)) {\n        this._keyManager.onKeydown(event);\n      }\n    }\n    /**\n     * Utility to ensure all indexes are valid.\n     *\n     * @param index The index to be checked.\n     * @returns True if the index is valid for our list of chips.\n     */\n    _isValidIndex(index) {\n      return index >= 0 && index < this._chips.length;\n    }\n    /**\n     * Removes the `tabindex` from the chip set and resets it back afterwards, allowing the\n     * user to tab out of it. This prevents the set from capturing focus and redirecting\n     * it back to the first chip, creating a focus trap, if it user tries to tab away.\n     */\n    _allowFocusEscape() {\n      const previous = this._elementRef.nativeElement.tabIndex;\n      if (previous !== -1) {\n        // Set the tabindex directly on the element, instead of going through\n        // the data binding, because we aren't guaranteed that change detection\n        // will run quickly enough to allow focus to escape.\n        this._elementRef.nativeElement.tabIndex = -1;\n        // Note that this needs to be a `setTimeout`, because a `Promise.resolve`\n        // doesn't allow enough time for the focus to escape.\n        setTimeout(() => this._elementRef.nativeElement.tabIndex = previous);\n      }\n    }\n    /**\n     * Gets a stream of events from all the chips within the set.\n     * The stream will automatically incorporate any newly-added chips.\n     */\n    _getChipStream(mappingFunction) {\n      return this._chips.changes.pipe(startWith(null), switchMap(() => merge(...this._chips.map(mappingFunction))));\n    }\n    /** Checks whether an event comes from inside a chip element. */\n    _originatesFromChip(event) {\n      let currentElement = event.target;\n      while (currentElement && currentElement !== this._elementRef.nativeElement) {\n        if (currentElement.classList.contains('mat-mdc-chip')) {\n          return true;\n        }\n        currentElement = currentElement.parentElement;\n      }\n      return false;\n    }\n    /** Sets up the chip set's focus management logic. */\n    _setUpFocusManagement() {\n      // Create a flat `QueryList` containing the actions of all of the chips.\n      // This allows us to navigate both within the chip and move to the next/previous\n      // one using the existing `ListKeyManager`.\n      this._chips.changes.pipe(startWith(this._chips)).subscribe(chips => {\n        const actions = [];\n        chips.forEach(chip => chip._getActions().forEach(action => actions.push(action)));\n        this._chipActions.reset(actions);\n        this._chipActions.notifyOnChanges();\n      });\n      this._keyManager = new FocusKeyManager(this._chipActions).withVerticalOrientation().withHorizontalOrientation(this._dir ? this._dir.value : 'ltr').withHomeAndEnd().skipPredicate(action => this._skipPredicate(action));\n      // Keep the manager active index in sync so that navigation picks\n      // up from the current chip if the user clicks into the list directly.\n      this.chipFocusChanges.pipe(takeUntil(this._destroyed)).subscribe(({\n        chip\n      }) => {\n        const action = chip._getSourceAction(document.activeElement);\n        if (action) {\n          this._keyManager.updateActiveItem(action);\n        }\n      });\n      this._dir?.change.pipe(takeUntil(this._destroyed)).subscribe(direction => this._keyManager.withHorizontalOrientation(direction));\n    }\n    /**\n     * Determines if key manager should avoid putting a given chip action in the tab index. Skip\n     * non-interactive and disabled actions since the user can't do anything with them.\n     */\n    _skipPredicate(action) {\n      // Skip chips that the user cannot interact with. `mat-chip-set` does not permit focusing disabled\n      // chips.\n      return !action.isInteractive || action.disabled;\n    }\n    /** Listens to changes in the chip set and syncs up the state of the individual chips. */\n    _trackChipSetChanges() {\n      this._chips.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => {\n        if (this.disabled) {\n          // Since this happens after the content has been\n          // checked, we need to defer it to the next tick.\n          Promise.resolve().then(() => this._syncChipsState());\n        }\n        this._redirectDestroyedChipFocus();\n      });\n    }\n    /** Starts tracking the destroyed chips in order to capture the focused one. */\n    _trackDestroyedFocusedChip() {\n      this.chipDestroyedChanges.pipe(takeUntil(this._destroyed)).subscribe(event => {\n        const chipArray = this._chips.toArray();\n        const chipIndex = chipArray.indexOf(event.chip);\n        // If the focused chip is destroyed, save its index so that we can move focus to the next\n        // chip. We only save the index here, rather than move the focus immediately, because we want\n        // to wait until the chip is removed from the chip list before focusing the next one. This\n        // allows us to keep focus on the same index if the chip gets swapped out.\n        if (this._isValidIndex(chipIndex) && event.chip._hasFocus()) {\n          this._lastDestroyedFocusedChipIndex = chipIndex;\n        }\n      });\n    }\n    /**\n     * Finds the next appropriate chip to move focus to,\n     * if the currently-focused chip is destroyed.\n     */\n    _redirectDestroyedChipFocus() {\n      if (this._lastDestroyedFocusedChipIndex == null) {\n        return;\n      }\n      if (this._chips.length) {\n        const newIndex = Math.min(this._lastDestroyedFocusedChipIndex, this._chips.length - 1);\n        const chipToFocus = this._chips.toArray()[newIndex];\n        if (chipToFocus.disabled) {\n          // If we're down to one disabled chip, move focus back to the set.\n          if (this._chips.length === 1) {\n            this.focus();\n          } else {\n            this._keyManager.setPreviousItemActive();\n          }\n        } else {\n          chipToFocus.focus();\n        }\n      } else {\n        this.focus();\n      }\n      this._lastDestroyedFocusedChipIndex = null;\n    }\n    static ɵfac = function MatChipSet_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatChipSet)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatChipSet,\n      selectors: [[\"mat-chip-set\"]],\n      contentQueries: function MatChipSet_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, MatChip, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._chips = _t);\n        }\n      },\n      hostAttrs: [1, \"mat-mdc-chip-set\", \"mdc-evolution-chip-set\"],\n      hostVars: 1,\n      hostBindings: function MatChipSet_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"keydown\", function MatChipSet_keydown_HostBindingHandler($event) {\n            return ctx._handleKeydown($event);\n          });\n        }\n        if (rf & 2) {\n          i0.ɵɵattribute(\"role\", ctx.role);\n        }\n      },\n      inputs: {\n        disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n        role: \"role\",\n        tabIndex: [2, \"tabIndex\", \"tabIndex\", value => value == null ? 0 : numberAttribute(value)]\n      },\n      ngContentSelectors: _c5,\n      decls: 2,\n      vars: 0,\n      consts: [[\"role\", \"presentation\", 1, \"mdc-evolution-chip-set__chips\"]],\n      template: function MatChipSet_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef();\n          i0.ɵɵelementStart(0, \"div\", 0);\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementEnd();\n        }\n      },\n      styles: [\".mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}\\n\"],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatChipSet;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Change event object that is emitted when the chip listbox value has changed. */\nclass MatChipListboxChange {\n  source;\n  value;\n  constructor(/** Chip listbox that emitted the event. */\n  source, /** Value of the chip listbox when the event was emitted. */\n  value) {\n    this.source = source;\n    this.value = value;\n  }\n}\n/**\n * Provider Expression that allows mat-chip-listbox to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nconst MAT_CHIP_LISTBOX_CONTROL_VALUE_ACCESSOR = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: /*#__PURE__*/forwardRef(() => MatChipListbox),\n  multi: true\n};\n/**\n * An extension of the MatChipSet component that supports chip selection.\n * Used with MatChipOption chips.\n */\nlet MatChipListbox = /*#__PURE__*/(() => {\n  class MatChipListbox extends MatChipSet {\n    /**\n     * Function when touched. Set as part of ControlValueAccessor implementation.\n     * @docs-private\n     */\n    _onTouched = () => {};\n    /**\n     * Function when changed. Set as part of ControlValueAccessor implementation.\n     * @docs-private\n     */\n    _onChange = () => {};\n    // TODO: MDC uses `grid` here\n    _defaultRole = 'listbox';\n    /** Default chip options. */\n    _defaultOptions = inject(MAT_CHIPS_DEFAULT_OPTIONS, {\n      optional: true\n    });\n    /** Whether the user should be allowed to select multiple chips. */\n    get multiple() {\n      return this._multiple;\n    }\n    set multiple(value) {\n      this._multiple = value;\n      this._syncListboxProperties();\n    }\n    _multiple = false;\n    /** The array of selected chips inside the chip listbox. */\n    get selected() {\n      const selectedChips = this._chips.toArray().filter(chip => chip.selected);\n      return this.multiple ? selectedChips : selectedChips[0];\n    }\n    /** Orientation of the chip list. */\n    ariaOrientation = 'horizontal';\n    /**\n     * Whether or not this chip listbox is selectable.\n     *\n     * When a chip listbox is not selectable, the selected states for all\n     * the chips inside the chip listbox are always ignored.\n     */\n    get selectable() {\n      return this._selectable;\n    }\n    set selectable(value) {\n      this._selectable = value;\n      this._syncListboxProperties();\n    }\n    _selectable = true;\n    /**\n     * A function to compare the option values with the selected values. The first argument\n     * is a value from an option. The second is a value from the selection. A boolean\n     * should be returned.\n     */\n    compareWith = (o1, o2) => o1 === o2;\n    /** Whether this chip listbox is required. */\n    required = false;\n    /** Whether checkmark indicator for single-selection options is hidden. */\n    get hideSingleSelectionIndicator() {\n      return this._hideSingleSelectionIndicator;\n    }\n    set hideSingleSelectionIndicator(value) {\n      this._hideSingleSelectionIndicator = value;\n      this._syncListboxProperties();\n    }\n    _hideSingleSelectionIndicator = this._defaultOptions?.hideSingleSelectionIndicator ?? false;\n    /** Combined stream of all of the child chips' selection change events. */\n    get chipSelectionChanges() {\n      return this._getChipStream(chip => chip.selectionChange);\n    }\n    /** Combined stream of all of the child chips' blur events. */\n    get chipBlurChanges() {\n      return this._getChipStream(chip => chip._onBlur);\n    }\n    /** The value of the listbox, which is the combined value of the selected chips. */\n    get value() {\n      return this._value;\n    }\n    set value(value) {\n      if (this._chips && this._chips.length) {\n        this._setSelectionByValue(value, false);\n      }\n      this._value = value;\n    }\n    _value;\n    /** Event emitted when the selected chip listbox value has been changed by the user. */\n    change = new EventEmitter();\n    _chips = undefined;\n    ngAfterContentInit() {\n      this._chips.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => {\n        if (this.value !== undefined) {\n          Promise.resolve().then(() => {\n            this._setSelectionByValue(this.value, false);\n          });\n        }\n        // Update listbox selectable/multiple properties on chips\n        this._syncListboxProperties();\n      });\n      this.chipBlurChanges.pipe(takeUntil(this._destroyed)).subscribe(() => this._blur());\n      this.chipSelectionChanges.pipe(takeUntil(this._destroyed)).subscribe(event => {\n        if (!this.multiple) {\n          this._chips.forEach(chip => {\n            if (chip !== event.source) {\n              chip._setSelectedState(false, false, false);\n            }\n          });\n        }\n        if (event.isUserInput) {\n          this._propagateChanges();\n        }\n      });\n    }\n    /**\n     * Focuses the first selected chip in this chip listbox, or the first non-disabled chip when there\n     * are no selected chips.\n     */\n    focus() {\n      if (this.disabled) {\n        return;\n      }\n      const firstSelectedChip = this._getFirstSelectedChip();\n      if (firstSelectedChip && !firstSelectedChip.disabled) {\n        firstSelectedChip.focus();\n      } else if (this._chips.length > 0) {\n        this._keyManager.setFirstItemActive();\n      } else {\n        this._elementRef.nativeElement.focus();\n      }\n    }\n    /**\n     * Implemented as part of ControlValueAccessor.\n     * @docs-private\n     */\n    writeValue(value) {\n      if (value != null) {\n        this.value = value;\n      } else {\n        this.value = undefined;\n      }\n    }\n    /**\n     * Implemented as part of ControlValueAccessor.\n     * @docs-private\n     */\n    registerOnChange(fn) {\n      this._onChange = fn;\n    }\n    /**\n     * Implemented as part of ControlValueAccessor.\n     * @docs-private\n     */\n    registerOnTouched(fn) {\n      this._onTouched = fn;\n    }\n    /**\n     * Implemented as part of ControlValueAccessor.\n     * @docs-private\n     */\n    setDisabledState(isDisabled) {\n      this.disabled = isDisabled;\n    }\n    /** Selects all chips with value. */\n    _setSelectionByValue(value, isUserInput = true) {\n      this._clearSelection();\n      if (Array.isArray(value)) {\n        value.forEach(currentValue => this._selectValue(currentValue, isUserInput));\n      } else {\n        this._selectValue(value, isUserInput);\n      }\n    }\n    /** When blurred, marks the field as touched when focus moved outside the chip listbox. */\n    _blur() {\n      if (!this.disabled) {\n        // Wait to see if focus moves to an individual chip.\n        setTimeout(() => {\n          if (!this.focused) {\n            this._markAsTouched();\n          }\n        });\n      }\n    }\n    _keydown(event) {\n      if (event.keyCode === TAB) {\n        super._allowFocusEscape();\n      }\n    }\n    /** Marks the field as touched */\n    _markAsTouched() {\n      this._onTouched();\n      this._changeDetectorRef.markForCheck();\n    }\n    /** Emits change event to set the model value. */\n    _propagateChanges() {\n      let valueToEmit = null;\n      if (Array.isArray(this.selected)) {\n        valueToEmit = this.selected.map(chip => chip.value);\n      } else {\n        valueToEmit = this.selected ? this.selected.value : undefined;\n      }\n      this._value = valueToEmit;\n      this.change.emit(new MatChipListboxChange(this, valueToEmit));\n      this._onChange(valueToEmit);\n      this._changeDetectorRef.markForCheck();\n    }\n    /**\n     * Deselects every chip in the listbox.\n     * @param skip Chip that should not be deselected.\n     */\n    _clearSelection(skip) {\n      this._chips.forEach(chip => {\n        if (chip !== skip) {\n          chip.deselect();\n        }\n      });\n    }\n    /**\n     * Finds and selects the chip based on its value.\n     * @returns Chip that has the corresponding value.\n     */\n    _selectValue(value, isUserInput) {\n      const correspondingChip = this._chips.find(chip => {\n        return chip.value != null && this.compareWith(chip.value, value);\n      });\n      if (correspondingChip) {\n        isUserInput ? correspondingChip.selectViaInteraction() : correspondingChip.select();\n      }\n      return correspondingChip;\n    }\n    /** Syncs the chip-listbox selection state with the individual chips. */\n    _syncListboxProperties() {\n      if (this._chips) {\n        // Defer setting the value in order to avoid the \"Expression\n        // has changed after it was checked\" errors from Angular.\n        Promise.resolve().then(() => {\n          this._chips.forEach(chip => {\n            chip._chipListMultiple = this.multiple;\n            chip.chipListSelectable = this._selectable;\n            chip._chipListHideSingleSelectionIndicator = this.hideSingleSelectionIndicator;\n            chip._changeDetectorRef.markForCheck();\n          });\n        });\n      }\n    }\n    /** Returns the first selected chip in this listbox, or undefined if no chips are selected. */\n    _getFirstSelectedChip() {\n      if (Array.isArray(this.selected)) {\n        return this.selected.length ? this.selected[0] : undefined;\n      } else {\n        return this.selected;\n      }\n    }\n    /**\n     * Determines if key manager should avoid putting a given chip action in the tab index. Skip\n     * non-interactive actions since the user can't do anything with them.\n     */\n    _skipPredicate(action) {\n      // Override the skip predicate in the base class to avoid skipping disabled chips. Allow\n      // disabled chip options to receive focus to align with WAI ARIA recommendation. Normally WAI\n      // ARIA's instructions are to exclude disabled items from the tab order, but it makes a few\n      // exceptions for compound widgets.\n      //\n      // From [Developing a Keyboard Interface](\n      // https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/):\n      //   \"For the following composite widget elements, keep them focusable when disabled: Options in a\n      //   Listbox...\"\n      return !action.isInteractive;\n    }\n    static ɵfac = /* @__PURE__ */(() => {\n      let ɵMatChipListbox_BaseFactory;\n      return function MatChipListbox_Factory(__ngFactoryType__) {\n        return (ɵMatChipListbox_BaseFactory || (ɵMatChipListbox_BaseFactory = i0.ɵɵgetInheritedFactory(MatChipListbox)))(__ngFactoryType__ || MatChipListbox);\n      };\n    })();\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatChipListbox,\n      selectors: [[\"mat-chip-listbox\"]],\n      contentQueries: function MatChipListbox_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, MatChipOption, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._chips = _t);\n        }\n      },\n      hostAttrs: [1, \"mdc-evolution-chip-set\", \"mat-mdc-chip-listbox\"],\n      hostVars: 10,\n      hostBindings: function MatChipListbox_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"focus\", function MatChipListbox_focus_HostBindingHandler() {\n            return ctx.focus();\n          })(\"blur\", function MatChipListbox_blur_HostBindingHandler() {\n            return ctx._blur();\n          })(\"keydown\", function MatChipListbox_keydown_HostBindingHandler($event) {\n            return ctx._keydown($event);\n          });\n        }\n        if (rf & 2) {\n          i0.ɵɵhostProperty(\"tabIndex\", ctx.disabled || ctx.empty ? -1 : ctx.tabIndex);\n          i0.ɵɵattribute(\"role\", ctx.role)(\"aria-required\", ctx.role ? ctx.required : null)(\"aria-disabled\", ctx.disabled.toString())(\"aria-multiselectable\", ctx.multiple)(\"aria-orientation\", ctx.ariaOrientation);\n          i0.ɵɵclassProp(\"mat-mdc-chip-list-disabled\", ctx.disabled)(\"mat-mdc-chip-list-required\", ctx.required);\n        }\n      },\n      inputs: {\n        multiple: [2, \"multiple\", \"multiple\", booleanAttribute],\n        ariaOrientation: [0, \"aria-orientation\", \"ariaOrientation\"],\n        selectable: [2, \"selectable\", \"selectable\", booleanAttribute],\n        compareWith: \"compareWith\",\n        required: [2, \"required\", \"required\", booleanAttribute],\n        hideSingleSelectionIndicator: [2, \"hideSingleSelectionIndicator\", \"hideSingleSelectionIndicator\", booleanAttribute],\n        value: \"value\"\n      },\n      outputs: {\n        change: \"change\"\n      },\n      features: [i0.ɵɵProvidersFeature([MAT_CHIP_LISTBOX_CONTROL_VALUE_ACCESSOR]), i0.ɵɵInheritDefinitionFeature],\n      ngContentSelectors: _c5,\n      decls: 2,\n      vars: 0,\n      consts: [[\"role\", \"presentation\", 1, \"mdc-evolution-chip-set__chips\"]],\n      template: function MatChipListbox_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef();\n          i0.ɵɵelementStart(0, \"div\", 0);\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementEnd();\n        }\n      },\n      styles: [_c6],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatChipListbox;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Change event object that is emitted when the chip grid value has changed. */\nclass MatChipGridChange {\n  source;\n  value;\n  constructor(/** Chip grid that emitted the event. */\n  source, /** Value of the chip grid when the event was emitted. */\n  value) {\n    this.source = source;\n    this.value = value;\n  }\n}\n/**\n * An extension of the MatChipSet component used with MatChipRow chips and\n * the matChipInputFor directive.\n */\nlet MatChipGrid = /*#__PURE__*/(() => {\n  class MatChipGrid extends MatChipSet {\n    ngControl = inject(NgControl, {\n      optional: true,\n      self: true\n    });\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    controlType = 'mat-chip-grid';\n    /** The chip input to add more chips */\n    _chipInput;\n    _defaultRole = 'grid';\n    _errorStateTracker;\n    /**\n     * List of element ids to propagate to the chipInput's aria-describedby attribute.\n     */\n    _ariaDescribedbyIds = [];\n    /**\n     * Function when touched. Set as part of ControlValueAccessor implementation.\n     * @docs-private\n     */\n    _onTouched = () => {};\n    /**\n     * Function when changed. Set as part of ControlValueAccessor implementation.\n     * @docs-private\n     */\n    _onChange = () => {};\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    get disabled() {\n      return this.ngControl ? !!this.ngControl.disabled : this._disabled;\n    }\n    set disabled(value) {\n      this._disabled = value;\n      this._syncChipsState();\n      this.stateChanges.next();\n    }\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    get id() {\n      return this._chipInput.id;\n    }\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    get empty() {\n      return (!this._chipInput || this._chipInput.empty) && (!this._chips || this._chips.length === 0);\n    }\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    get placeholder() {\n      return this._chipInput ? this._chipInput.placeholder : this._placeholder;\n    }\n    set placeholder(value) {\n      this._placeholder = value;\n      this.stateChanges.next();\n    }\n    _placeholder;\n    /** Whether any chips or the matChipInput inside of this chip-grid has focus. */\n    get focused() {\n      return this._chipInput.focused || this._hasFocusedChip();\n    }\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    get required() {\n      return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;\n    }\n    set required(value) {\n      this._required = value;\n      this.stateChanges.next();\n    }\n    _required;\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    get shouldLabelFloat() {\n      return !this.empty || this.focused;\n    }\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    get value() {\n      return this._value;\n    }\n    set value(value) {\n      this._value = value;\n    }\n    _value = [];\n    /** An object used to control when error messages are shown. */\n    get errorStateMatcher() {\n      return this._errorStateTracker.matcher;\n    }\n    set errorStateMatcher(value) {\n      this._errorStateTracker.matcher = value;\n    }\n    /** Combined stream of all of the child chips' blur events. */\n    get chipBlurChanges() {\n      return this._getChipStream(chip => chip._onBlur);\n    }\n    /** Emits when the chip grid value has been changed by the user. */\n    change = new EventEmitter();\n    /**\n     * Emits whenever the raw value of the chip-grid changes. This is here primarily\n     * to facilitate the two-way binding for the `value` input.\n     * @docs-private\n     */\n    valueChange = new EventEmitter();\n    _chips = undefined;\n    /**\n     * Emits whenever the component state changes and should cause the parent\n     * form-field to update. Implemented as part of `MatFormFieldControl`.\n     * @docs-private\n     */\n    stateChanges = new Subject();\n    /** Whether the chip grid is in an error state. */\n    get errorState() {\n      return this._errorStateTracker.errorState;\n    }\n    set errorState(value) {\n      this._errorStateTracker.errorState = value;\n    }\n    constructor() {\n      super();\n      const parentForm = inject(NgForm, {\n        optional: true\n      });\n      const parentFormGroup = inject(FormGroupDirective, {\n        optional: true\n      });\n      const defaultErrorStateMatcher = inject(ErrorStateMatcher);\n      if (this.ngControl) {\n        this.ngControl.valueAccessor = this;\n      }\n      this._errorStateTracker = new _ErrorStateTracker(defaultErrorStateMatcher, this.ngControl, parentFormGroup, parentForm, this.stateChanges);\n    }\n    ngAfterContentInit() {\n      this.chipBlurChanges.pipe(takeUntil(this._destroyed)).subscribe(() => {\n        this._blur();\n        this.stateChanges.next();\n      });\n      merge(this.chipFocusChanges, this._chips.changes).pipe(takeUntil(this._destroyed)).subscribe(() => this.stateChanges.next());\n    }\n    ngAfterViewInit() {\n      super.ngAfterViewInit();\n      if (!this._chipInput && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n        throw Error('mat-chip-grid must be used in combination with matChipInputFor.');\n      }\n    }\n    ngDoCheck() {\n      if (this.ngControl) {\n        // We need to re-evaluate this on every change detection cycle, because there are some\n        // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n        // that whatever logic is in here has to be super lean or we risk destroying the performance.\n        this.updateErrorState();\n      }\n    }\n    ngOnDestroy() {\n      super.ngOnDestroy();\n      this.stateChanges.complete();\n    }\n    /** Associates an HTML input element with this chip grid. */\n    registerInput(inputElement) {\n      this._chipInput = inputElement;\n      this._chipInput.setDescribedByIds(this._ariaDescribedbyIds);\n    }\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    onContainerClick(event) {\n      if (!this.disabled && !this._originatesFromChip(event)) {\n        this.focus();\n      }\n    }\n    /**\n     * Focuses the first chip in this chip grid, or the associated input when there\n     * are no eligible chips.\n     */\n    focus() {\n      if (this.disabled || this._chipInput.focused) {\n        return;\n      }\n      if (!this._chips.length || this._chips.first.disabled) {\n        // Delay until the next tick, because this can cause a \"changed after checked\"\n        // error if the input does something on focus (e.g. opens an autocomplete).\n        Promise.resolve().then(() => this._chipInput.focus());\n      } else {\n        const activeItem = this._keyManager.activeItem;\n        if (activeItem) {\n          activeItem.focus();\n        } else {\n          this._keyManager.setFirstItemActive();\n        }\n      }\n      this.stateChanges.next();\n    }\n    /**\n     * Implemented as part of MatFormFieldControl.\n     * @docs-private\n     */\n    setDescribedByIds(ids) {\n      // We must keep this up to date to handle the case where ids are set\n      // before the chip input is registered.\n      this._ariaDescribedbyIds = ids;\n      this._chipInput?.setDescribedByIds(ids);\n    }\n    /**\n     * Implemented as part of ControlValueAccessor.\n     * @docs-private\n     */\n    writeValue(value) {\n      // The user is responsible for creating the child chips, so we just store the value.\n      this._value = value;\n    }\n    /**\n     * Implemented as part of ControlValueAccessor.\n     * @docs-private\n     */\n    registerOnChange(fn) {\n      this._onChange = fn;\n    }\n    /**\n     * Implemented as part of ControlValueAccessor.\n     * @docs-private\n     */\n    registerOnTouched(fn) {\n      this._onTouched = fn;\n    }\n    /**\n     * Implemented as part of ControlValueAccessor.\n     * @docs-private\n     */\n    setDisabledState(isDisabled) {\n      this.disabled = isDisabled;\n      this.stateChanges.next();\n    }\n    /** Refreshes the error state of the chip grid. */\n    updateErrorState() {\n      this._errorStateTracker.updateErrorState();\n    }\n    /** When blurred, mark the field as touched when focus moved outside the chip grid. */\n    _blur() {\n      if (!this.disabled) {\n        // Check whether the focus moved to chip input.\n        // If the focus is not moved to chip input, mark the field as touched. If the focus moved\n        // to chip input, do nothing.\n        // Timeout is needed to wait for the focus() event trigger on chip input.\n        setTimeout(() => {\n          if (!this.focused) {\n            this._propagateChanges();\n            this._markAsTouched();\n          }\n        });\n      }\n    }\n    /**\n     * Removes the `tabindex` from the chip grid and resets it back afterwards, allowing the\n     * user to tab out of it. This prevents the grid from capturing focus and redirecting\n     * it back to the first chip, creating a focus trap, if it user tries to tab away.\n     */\n    _allowFocusEscape() {\n      if (!this._chipInput.focused) {\n        super._allowFocusEscape();\n      }\n    }\n    /** Handles custom keyboard events. */\n    _handleKeydown(event) {\n      const keyCode = event.keyCode;\n      const activeItem = this._keyManager.activeItem;\n      if (keyCode === TAB) {\n        if (this._chipInput.focused && hasModifierKey(event, 'shiftKey') && this._chips.length && !this._chips.last.disabled) {\n          event.preventDefault();\n          if (activeItem) {\n            this._keyManager.setActiveItem(activeItem);\n          } else {\n            this._focusLastChip();\n          }\n        } else {\n          // Use the super method here since it doesn't check for the input\n          // focused state. This allows focus to escape if there's only one\n          // disabled chip left in the list.\n          super._allowFocusEscape();\n        }\n      } else if (!this._chipInput.focused) {\n        // The up and down arrows are supposed to navigate between the individual rows in the grid.\n        // We do this by filtering the actions down to the ones that have the same `_isPrimary`\n        // flag as the active action and moving focus between them ourseles instead of delegating\n        // to the key manager. For more information, see #29359 and:\n        // https://www.w3.org/WAI/ARIA/apg/patterns/grid/examples/layout-grids/#ex2_label\n        if ((keyCode === UP_ARROW || keyCode === DOWN_ARROW) && activeItem) {\n          const eligibleActions = this._chipActions.filter(action => action._isPrimary === activeItem._isPrimary && !this._skipPredicate(action));\n          const currentIndex = eligibleActions.indexOf(activeItem);\n          const delta = event.keyCode === UP_ARROW ? -1 : 1;\n          event.preventDefault();\n          if (currentIndex > -1 && this._isValidIndex(currentIndex + delta)) {\n            this._keyManager.setActiveItem(eligibleActions[currentIndex + delta]);\n          }\n        } else {\n          super._handleKeydown(event);\n        }\n      }\n      this.stateChanges.next();\n    }\n    _focusLastChip() {\n      if (this._chips.length) {\n        this._chips.last.focus();\n      }\n    }\n    /** Emits change event to set the model value. */\n    _propagateChanges() {\n      const valueToEmit = this._chips.length ? this._chips.toArray().map(chip => chip.value) : [];\n      this._value = valueToEmit;\n      this.change.emit(new MatChipGridChange(this, valueToEmit));\n      this.valueChange.emit(valueToEmit);\n      this._onChange(valueToEmit);\n      this._changeDetectorRef.markForCheck();\n    }\n    /** Mark the field as touched */\n    _markAsTouched() {\n      this._onTouched();\n      this._changeDetectorRef.markForCheck();\n      this.stateChanges.next();\n    }\n    static ɵfac = function MatChipGrid_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatChipGrid)();\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: MatChipGrid,\n      selectors: [[\"mat-chip-grid\"]],\n      contentQueries: function MatChipGrid_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, MatChipRow, 5);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._chips = _t);\n        }\n      },\n      hostAttrs: [1, \"mat-mdc-chip-set\", \"mat-mdc-chip-grid\", \"mdc-evolution-chip-set\"],\n      hostVars: 10,\n      hostBindings: function MatChipGrid_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"focus\", function MatChipGrid_focus_HostBindingHandler() {\n            return ctx.focus();\n          })(\"blur\", function MatChipGrid_blur_HostBindingHandler() {\n            return ctx._blur();\n          });\n        }\n        if (rf & 2) {\n          i0.ɵɵattribute(\"role\", ctx.role)(\"tabindex\", ctx.disabled || ctx._chips && ctx._chips.length === 0 ? -1 : ctx.tabIndex)(\"aria-disabled\", ctx.disabled.toString())(\"aria-invalid\", ctx.errorState);\n          i0.ɵɵclassProp(\"mat-mdc-chip-list-disabled\", ctx.disabled)(\"mat-mdc-chip-list-invalid\", ctx.errorState)(\"mat-mdc-chip-list-required\", ctx.required);\n        }\n      },\n      inputs: {\n        disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n        placeholder: \"placeholder\",\n        required: [2, \"required\", \"required\", booleanAttribute],\n        value: \"value\",\n        errorStateMatcher: \"errorStateMatcher\"\n      },\n      outputs: {\n        change: \"change\",\n        valueChange: \"valueChange\"\n      },\n      features: [i0.ɵɵProvidersFeature([{\n        provide: MatFormFieldControl,\n        useExisting: MatChipGrid\n      }]), i0.ɵɵInheritDefinitionFeature],\n      ngContentSelectors: _c5,\n      decls: 2,\n      vars: 0,\n      consts: [[\"role\", \"presentation\", 1, \"mdc-evolution-chip-set__chips\"]],\n      template: function MatChipGrid_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef();\n          i0.ɵɵelementStart(0, \"div\", 0);\n          i0.ɵɵprojection(1);\n          i0.ɵɵelementEnd();\n        }\n      },\n      styles: [_c6],\n      encapsulation: 2,\n      changeDetection: 0\n    });\n  }\n  return MatChipGrid;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Directive that adds chip-specific behaviors to an input element inside `<mat-form-field>`.\n * May be placed inside or outside of a `<mat-chip-grid>`.\n */\nlet MatChipInput = /*#__PURE__*/(() => {\n  class MatChipInput {\n    _elementRef = inject(ElementRef);\n    /** Whether the control is focused. */\n    focused = false;\n    /** Register input for chip list */\n    get chipGrid() {\n      return this._chipGrid;\n    }\n    set chipGrid(value) {\n      if (value) {\n        this._chipGrid = value;\n        this._chipGrid.registerInput(this);\n      }\n    }\n    _chipGrid;\n    /**\n     * Whether or not the chipEnd event will be emitted when the input is blurred.\n     */\n    addOnBlur = false;\n    /**\n     * The list of key codes that will trigger a chipEnd event.\n     *\n     * Defaults to `[ENTER]`.\n     */\n    separatorKeyCodes;\n    /** Emitted when a chip is to be added. */\n    chipEnd = new EventEmitter();\n    /** The input's placeholder text. */\n    placeholder = '';\n    /** Unique id for the input. */\n    id = inject(_IdGenerator).getId('mat-mdc-chip-list-input-');\n    /** Whether the input is disabled. */\n    get disabled() {\n      return this._disabled || this._chipGrid && this._chipGrid.disabled;\n    }\n    set disabled(value) {\n      this._disabled = value;\n    }\n    _disabled = false;\n    /** Whether the input is empty. */\n    get empty() {\n      return !this.inputElement.value;\n    }\n    /** The native input element to which this directive is attached. */\n    inputElement;\n    constructor() {\n      const defaultOptions = inject(MAT_CHIPS_DEFAULT_OPTIONS);\n      const formField = inject(MAT_FORM_FIELD, {\n        optional: true\n      });\n      this.inputElement = this._elementRef.nativeElement;\n      this.separatorKeyCodes = defaultOptions.separatorKeyCodes;\n      if (formField) {\n        this.inputElement.classList.add('mat-mdc-form-field-input-control');\n      }\n    }\n    ngOnChanges() {\n      this._chipGrid.stateChanges.next();\n    }\n    ngOnDestroy() {\n      this.chipEnd.complete();\n    }\n    /** Utility method to make host definition/tests more clear. */\n    _keydown(event) {\n      if (this.empty && event.keyCode === BACKSPACE) {\n        // Ignore events where the user is holding down backspace\n        // so that we don't accidentally remove too many chips.\n        if (!event.repeat) {\n          this._chipGrid._focusLastChip();\n        }\n        event.preventDefault();\n      } else {\n        this._emitChipEnd(event);\n      }\n    }\n    /** Checks to see if the blur should emit the (chipEnd) event. */\n    _blur() {\n      if (this.addOnBlur) {\n        this._emitChipEnd();\n      }\n      this.focused = false;\n      // Blur the chip list if it is not focused\n      if (!this._chipGrid.focused) {\n        this._chipGrid._blur();\n      }\n      this._chipGrid.stateChanges.next();\n    }\n    _focus() {\n      this.focused = true;\n      this._chipGrid.stateChanges.next();\n    }\n    /** Checks to see if the (chipEnd) event needs to be emitted. */\n    _emitChipEnd(event) {\n      if (!event || this._isSeparatorKey(event) && !event.repeat) {\n        this.chipEnd.emit({\n          input: this.inputElement,\n          value: this.inputElement.value,\n          chipInput: this\n        });\n        event?.preventDefault();\n      }\n    }\n    _onInput() {\n      // Let chip list know whenever the value changes.\n      this._chipGrid.stateChanges.next();\n    }\n    /** Focuses the input. */\n    focus() {\n      this.inputElement.focus();\n    }\n    /** Clears the input */\n    clear() {\n      this.inputElement.value = '';\n    }\n    setDescribedByIds(ids) {\n      const element = this._elementRef.nativeElement;\n      // Set the value directly in the DOM since this binding\n      // is prone to \"changed after checked\" errors.\n      if (ids.length) {\n        element.setAttribute('aria-describedby', ids.join(' '));\n      } else {\n        element.removeAttribute('aria-describedby');\n      }\n    }\n    /** Checks whether a keycode is one of the configured separators. */\n    _isSeparatorKey(event) {\n      return !hasModifierKey(event) && new Set(this.separatorKeyCodes).has(event.keyCode);\n    }\n    static ɵfac = function MatChipInput_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatChipInput)();\n    };\n    static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n      type: MatChipInput,\n      selectors: [[\"input\", \"matChipInputFor\", \"\"]],\n      hostAttrs: [1, \"mat-mdc-chip-input\", \"mat-mdc-input-element\", \"mdc-text-field__input\", \"mat-input-element\"],\n      hostVars: 6,\n      hostBindings: function MatChipInput_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"keydown\", function MatChipInput_keydown_HostBindingHandler($event) {\n            return ctx._keydown($event);\n          })(\"blur\", function MatChipInput_blur_HostBindingHandler() {\n            return ctx._blur();\n          })(\"focus\", function MatChipInput_focus_HostBindingHandler() {\n            return ctx._focus();\n          })(\"input\", function MatChipInput_input_HostBindingHandler() {\n            return ctx._onInput();\n          });\n        }\n        if (rf & 2) {\n          i0.ɵɵhostProperty(\"id\", ctx.id);\n          i0.ɵɵattribute(\"disabled\", ctx.disabled || null)(\"placeholder\", ctx.placeholder || null)(\"aria-invalid\", ctx._chipGrid && ctx._chipGrid.ngControl ? ctx._chipGrid.ngControl.invalid : null)(\"aria-required\", ctx._chipGrid && ctx._chipGrid.required || null)(\"required\", ctx._chipGrid && ctx._chipGrid.required || null);\n        }\n      },\n      inputs: {\n        chipGrid: [0, \"matChipInputFor\", \"chipGrid\"],\n        addOnBlur: [2, \"matChipInputAddOnBlur\", \"addOnBlur\", booleanAttribute],\n        separatorKeyCodes: [0, \"matChipInputSeparatorKeyCodes\", \"separatorKeyCodes\"],\n        placeholder: \"placeholder\",\n        id: \"id\",\n        disabled: [2, \"disabled\", \"disabled\", booleanAttribute]\n      },\n      outputs: {\n        chipEnd: \"matChipInputTokenEnd\"\n      },\n      exportAs: [\"matChipInput\", \"matChipInputFor\"],\n      features: [i0.ɵɵNgOnChangesFeature]\n    });\n  }\n  return MatChipInput;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst CHIP_DECLARATIONS = [MatChip, MatChipAvatar, MatChipEditInput, MatChipGrid, MatChipInput, MatChipListbox, MatChipOption, MatChipRemove, MatChipRow, MatChipSet, MatChipTrailingIcon];\nlet MatChipsModule = /*#__PURE__*/(() => {\n  class MatChipsModule {\n    static ɵfac = function MatChipsModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || MatChipsModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: MatChipsModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      providers: [ErrorStateMatcher, {\n        provide: MAT_CHIPS_DEFAULT_OPTIONS,\n        useValue: {\n          separatorKeyCodes: [ENTER]\n        }\n      }],\n      imports: [MatCommonModule, MatRippleModule, MatCommonModule]\n    });\n  }\n  return MatChipsModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { MAT_CHIP, MAT_CHIPS_DEFAULT_OPTIONS, MAT_CHIP_AVATAR, MAT_CHIP_LISTBOX_CONTROL_VALUE_ACCESSOR, MAT_CHIP_REMOVE, MAT_CHIP_TRAILING_ICON, MatChip, MatChipAvatar, MatChipEditInput, MatChipGrid, MatChipGridChange, MatChipInput, MatChipListbox, MatChipListboxChange, MatChipOption, MatChipRemove, MatChipRow, MatChipSelectionChange, MatChipSet, MatChipTrailingIcon, MatChipsModule };\n","\r\n\r\nexport const blogCategories = [\r\n  {id:1, slug: 'all', label: 'Tous les articles'  , filter:'all'},\r\n  {id:2, slug: 'site-web', label: 'Création de site web' , filter:'creation-site-web' },\r\n  {id:3, slug: 'seo', label: 'Référencement SEO' , filter:'seo' },\r\n  {id:4, slug: 'gbp', label: 'Google Business Profile' , filter:'google-business-profile' },\r\n  {id:5, slug: 'conversion', label: 'Conversion' , filter:'conversion' },\r\n  {id:6, slug: 'freelance', label: 'Conseils pour indépendants' , filter:'conseils-independants' }\r\n];\r\n","import {inject, Injectable} from '@angular/core';\r\nimport {BlogArticle} from '../../../core/interfaces/blogArticle.interface';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {Observable} from 'rxjs';\r\nimport {environment} from '../../../../environment/environment';\r\nimport {BlogArticleDetailResponse} from '../../../core/interfaces/BlogArticleDetailResponse';\r\nimport {blogCategories} from '../../../core/data/blog-categories';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class BlogService {\r\n\r\n  private schemaScript?: HTMLScriptElement;\r\n  private http = inject(HttpClient);\r\n  private blogCategories = blogCategories;\r\n\r\n\r\n  getAllArticles(): Observable<BlogArticle[]> {\r\n\r\n    return this.http.get<BlogArticle[]>(environment.apiURL + '/api/blog');\r\n  }\r\n\r\n  getArticleBySlug(slug: string): Observable<BlogArticleDetailResponse> {\r\n    return this.http.get<BlogArticleDetailResponse>(environment.apiURL + `/api/blog/${slug}`);\r\n  }\r\n\r\n  getRelatedArticles(articleId: number): Observable<BlogArticle[]> {\r\n    return this.http.get<BlogArticle[]>(environment.apiURL + `/api/blog/related/${articleId}`)\r\n  }\r\n\r\n\r\n  generateHeadingId(text: string): string {\r\n    return text\r\n      .toLowerCase()\r\n      .normalize('NFD')\r\n      .replace(/[\\u0300-\\u036f]/g, '')\r\n      .replace(/[^a-z0-9]+/g, '-')\r\n      .replace(/^-|-$/g, '');\r\n  }\r\n\r\n  generateSummary(content: string) {\r\n\r\n    const regex = /^##\\s+(.+)$/gm;\r\n\r\n    const summary = [];\r\n\r\n    let match;\r\n\r\n    while ((match = regex.exec(content)) !== null) {\r\n\r\n      summary.push({\r\n        id: this.generateHeadingId(match[1]),\r\n        title: match[1]\r\n      });\r\n\r\n    }\r\n\r\n    return summary;\r\n  }\r\n\r\n  getArticleCategoryLabel(article: BlogArticle): string {\r\n    return blogCategories.find(category => category.filter === article.category)?.label ?? 'all'\r\n  }\r\n\r\n}\r\n","import {Component, inject, Input, OnInit} from '@angular/core';\r\nimport {LucideCalendar, LucideClock4} from \"@lucide/angular\";\r\nimport {RouterLink} from \"@angular/router\";\r\nimport {DatePipe} from '@angular/common';\r\nimport {BlogService} from '../../services/blog.service';\r\n\r\n@Component({\r\n  selector: 'app-article-card',\r\n  imports: [\r\n    LucideCalendar,\r\n    LucideClock4,\r\n    RouterLink,\r\n    DatePipe\r\n  ],\r\n  templateUrl: './article-card.component.html',\r\n  styleUrl: './article-card.component.sass'\r\n})\r\nexport class ArticleCardComponent implements OnInit{\r\n  @Input() article: any;\r\n  articleCategorieLabel : string | undefined;\r\n  private blogService = inject(BlogService);\r\n\r\n  ngOnInit() {\r\n    this.articleCategorieLabel  = this.blogService.getArticleCategoryLabel(this.article);\r\n  }\r\n\r\n}\r\n","<article class=\"article-card flex-grow-1\">\r\n  <a\r\n    class=\"article-link-overlay\"\r\n    [routerLink]=\"['/blog', article.slug]\"\r\n    aria-label=\"Lire l'article\">\r\n  </a>\r\n  <div class=\"article-image\">\r\n    <img\r\n      src=\"assets/img/blog/thumb/{{article.coverImage}}\"\r\n      alt=\"{{article.title}}\"\r\n      loading=\"lazy\">\r\n    <span class=\"category-label\">{{ articleCategorieLabel }}</span>\r\n  </div>\r\n  <div class=\"article-content\">\r\n    <h4 class=\"article-title\">\r\n\r\n      {{ article.title }}\r\n\r\n    </h4>\r\n\r\n    <p class=\"article-short-description\">\r\n      {{ article.excerpt }}\r\n    </p>\r\n\r\n  </div>\r\n  <div class=\"footer mt-auto\">\r\n\r\n    <hr class=\"article-separator\">\r\n    <div class=\"article-meta\">\r\n                    <span class=\"article-reading-time\">\r\n                  <svg lucideClock4 class=\"icon\"></svg>\r\n                      {{article.readingTime}} min de lecture\r\n              </span>\r\n\r\n      <time datetime=\"2025-01-12\" class=\"article-date\">\r\n        <svg lucideCalendar class=\"icon\"></svg>\r\n        {{article.publishedAt | date: 'dd MMMM yyyy'}}\r\n      </time>\r\n    </div>\r\n  </div>\r\n\r\n</article>\r\n","import {Component, inject, Input, OnInit} from '@angular/core';\r\nimport {DatePipe} from \"@angular/common\";\r\nimport {LucideArrowRight, LucideCalendar, LucideClock4} from \"@lucide/angular\";\r\nimport {RouterLink} from \"@angular/router\";\r\nimport {blogCategories} from '../../../../core/data/blog-categories';\r\nimport {BlogService} from '../../services/blog.service';\r\n\r\n@Component({\r\n  selector: 'app-featured-article',\r\n    imports: [\r\n        DatePipe,\r\n        LucideArrowRight,\r\n        LucideCalendar,\r\n        LucideClock4,\r\n        RouterLink\r\n    ],\r\n  templateUrl: './featured-article.component.html',\r\n  styleUrl: './featured-article.component.sass'\r\n})\r\nexport class FeaturedArticleComponent implements OnInit {\r\n@Input() featuredArticle: any;\r\ncategories= blogCategories;\r\narticleCategorieLabel : string | undefined;\r\nprivate blogService = inject(BlogService);\r\n\r\nngOnInit() {\r\n  this.articleCategorieLabel  = this.blogService.getArticleCategoryLabel(this.featuredArticle);\r\n}\r\n\r\n}\r\n","<article class=\"latest-article\">\r\n  <a\r\n    class=\"article-link-overlay\"\r\n    [routerLink]=\"['/blog', featuredArticle.slug]\"\r\n    aria-label=\"Lire l'article\">\r\n  </a>\r\n  <div class=\"article-image\">\r\n\r\n    <img\r\n      src=\"assets/img/blog/cover/{{featuredArticle.coverImage}}\"\r\n      alt=\"{{featuredArticle.title}}\"\r\n      loading=\"eager\">\r\n    <span class=\"article-category-absolute\">\r\n          {{articleCategorieLabel}}\r\n        </span>\r\n  </div>\r\n\r\n  <div class=\"article-content\">\r\n    <div class=\"article-meta\">\r\n        <span class=\"article-category\">\r\n          {{articleCategorieLabel}}\r\n        </span>\r\n      <span class=\"article-reading-time\">\r\n            <svg lucideClock4 class=\"icon\"></svg>\r\n        {{ featuredArticle.readingTime }} min\r\n        </span>\r\n\r\n      <time datetime=\"2025-01-12\" class=\"article-date\">\r\n        <svg lucideCalendar class=\"icon\"></svg>\r\n        {{featuredArticle.publishedAt | date: 'dd MMMM yyyy'}}\r\n      </time>\r\n    </div>\r\n\r\n    <h2 class=\"article-title\">\r\n        {{featuredArticle.title}}\r\n    </h2>\r\n\r\n    <p class=\"article-short-description\">\r\n      {{featuredArticle.excerpt}}\r\n    </p>\r\n\r\n    <a\r\n      routerLink=\"/blog/{{featuredArticle.slug}}\"\r\n      class=\"read-more-btn\">\r\n      Lire l'article\r\n      <svg lucideArrowRight class=\"icon\"></svg>\r\n    </a>\r\n\r\n  </div>\r\n\r\n</article>\r\n","import {Component, inject} from '@angular/core';\r\nimport {FormControl, FormsModule, ReactiveFormsModule, Validators} from \"@angular/forms\";\r\nimport {LucideMail} from \"@lucide/angular\";\r\nimport {ToolsService} from '../../../../core/services/tools.service';\r\n\r\n@Component({\r\n  selector: 'app-newsletter',\r\n  imports: [\r\n    FormsModule,\r\n    LucideMail,\r\n    ReactiveFormsModule\r\n  ],\r\n  templateUrl: './newsletter.component.html',\r\n  styleUrl: './newsletter.component.sass'\r\n})\r\nexport class NewsletterComponent {\r\n\r\n  email: FormControl = new FormControl('', [Validators.required, Validators.email]);\r\n  suscribed : boolean = false;\r\n\r\n  private tools = inject(ToolsService);\r\n\r\n  subscribeToNewsletter() {\r\n    if (this.email.valid) {\r\n      this.tools.openSnackBar(\"Merci pour votre abonnement !\",true);\r\n      console.log('this.email.value', this.email.value)\r\n      this.suscribed = true;\r\n    } else {\r\n      this.email.markAsTouched();\r\n      return;\r\n    }\r\n  }\r\n\r\n}\r\n","<section class=\"newsletter-section\">\r\n  <div class=\"newsletter-container\">\r\n    <div class=\"newsletter-icon\">\r\n      <svg lucideMail class=\"icon\"></svg>\r\n    </div>\r\n    <h3 class=\"newsletter-title\">\r\n      Ne manquez aucun conseil\r\n    </h3>\r\n    <p class=\"newsletter-description\">Recevez un email lorsqu'un nouvel article ou une nouvelle ressource est publiée. Pas de spam, uniquement du\r\n      contenu utile pour développer votre présence en ligne.</p>\r\n    <div class=\"newsletter-form\">\r\n      @if (!suscribed) {\r\n        <div class=\"newsletter-form\">\r\n\r\n          <input\r\n            type=\"email\"\r\n            [formControl]=\"email\"\r\n            placeholder=\"Votre adresse email\">\r\n          @if (email.invalid && email.touched) {\r\n            <span class=\"error-message\">Veuillez saisir une adresse email valide.</span>\r\n          }\r\n          <button\r\n            class=\"newsletter-btn\"\r\n            (click)=\"subscribeToNewsletter()\">\r\n            S'abonner\r\n          </button>\r\n\r\n        </div>\r\n\r\n\r\n\r\n\r\n      }\r\n    </div>\r\n    <p class=\"anti-spam-message\">Un simple email lorsqu'un nouvel article est publié. Désinscription en un clic.</p>\r\n  </div>\r\n</section>\r\n","import { Component } from '@angular/core';\r\nimport {LucideArrowRight} from '@lucide/angular';\r\nimport {RouterLink} from '@angular/router';\r\n\r\n@Component({\r\n  selector: 'app-project-cta',\r\n  imports: [\r\n    LucideArrowRight,\r\n    RouterLink\r\n  ],\r\n  templateUrl: './project-cta.component.html',\r\n  styleUrl: './project-cta.component.sass'\r\n})\r\nexport class ProjectCtaComponent {\r\n\r\n}\r\n","<section class=\"cta-section\">\r\n<div class=\"cta-container\">\r\n  <h3 class=\"cta-titre\">Un projet en tête ?</h3>\r\n  <p class=\"cta-texte\">Besoin d'un site web, d'une application ou d'une refonte ? Échangeons sur vos besoins et trouvons ensemble la solution adaptée à votre activité.</p>\r\n  <a class=\"cta-btn\" [routerLink]=\"'/'\" [fragment]=\"'contact'\">Demander un devis <svg lucideArrowRight></svg></a>\r\n</div>\r\n</section>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-featured-article-skeleton',\r\n  imports: [],\r\n  templateUrl: './featured-article-skeleton.component.html',\r\n  styleUrl: './featured-article-skeleton.component.sass'\r\n})\r\nexport class FeaturedArticleSkeletonComponent {\r\n\r\n}\r\n","<div class=\"featured-skeleton skeleton\">\r\n  <div class=\"image\"></div>\r\n\r\n  <div class=\"content\">\r\n    <div class=\"badge\"></div>\r\n\r\n    <div class=\"title\"></div>\r\n    <div class=\"title short\"></div>\r\n\r\n    <div class=\"text\"></div>\r\n    <div class=\"text\"></div>\r\n    <div class=\"text short\"></div>\r\n\r\n    <div class=\"meta\"></div>\r\n  </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-article-card-skeleton',\r\n  imports: [],\r\n  templateUrl: './article-card-skeleton.component.html',\r\n  styleUrl: './article-card-skeleton.component.sass'\r\n})\r\nexport class ArticleCardSkeletonComponent {\r\n\r\n}\r\n","\r\n<div class=\"article-card-skeleton skeleton\">\r\n  <div class=\"image\"></div>\r\n\r\n  <div class=\"content\">\r\n\r\n    <div class=\"title\"></div>\r\n\r\n    <div class=\"text\"></div>\r\n    <div class=\"text\"></div>\r\n\r\n    <div class=\"meta\"></div>\r\n\r\n  </div>\r\n</div>\r\n","import {Component, inject, OnInit} from '@angular/core';\r\nimport {LucideArrowRight} from '@lucide/angular';\r\nimport {MatChipsModule} from '@angular/material/chips';\r\nimport {ReactiveFormsModule} from '@angular/forms';\r\n\r\n\r\nimport {ArticleCardComponent} from '../../components/blog-article/article-card.component';\r\nimport {FeaturedArticleComponent} from '../../components/featured-article/featured-article.component';\r\nimport {NewsletterComponent} from '../../components/newsletter/newsletter.component';\r\nimport {ProjectCtaComponent} from '../../components/project-cta/project-cta.component';\r\nimport {BlogCategories} from '../../../../core/interfaces/blogArticleCategory.type';\r\nimport {BlogService} from '../../services/blog.service';\r\nimport {blogCategories} from '../../../../core/data/blog-categories';\r\nimport {\r\n  FeaturedArticleSkeletonComponent\r\n} from '../../components/featured-article-skeleton/featured-article-skeleton.component';\r\nimport {BehaviorSubject, combineLatest, map, Observable} from 'rxjs';\r\nimport {AsyncPipe} from '@angular/common';\r\nimport {ArticleCardSkeletonComponent} from '../../components/article-card-skeleton/article-card-skeleton.component';\r\nimport {BlogArticle} from '../../../../core/interfaces/blogArticle.interface';\r\n\r\n\r\n@Component({\r\n  selector: 'app-blog',\r\n  imports: [\r\n    MatChipsModule,\r\n    ReactiveFormsModule,\r\n    ArticleCardComponent,\r\n    FeaturedArticleComponent,\r\n    NewsletterComponent,\r\n    ProjectCtaComponent,\r\n    FeaturedArticleSkeletonComponent,\r\n    ArticleCardSkeletonComponent,\r\n    AsyncPipe\r\n\r\n  ],\r\n  templateUrl: './blog.component.html',\r\n  styleUrl: './blog.component.sass'\r\n})\r\nexport class BlogComponent implements OnInit{\r\n\r\n\r\n  private readonly blogService = inject(BlogService);\r\n\r\n  categories: BlogCategories[] = blogCategories;\r\n\r\n  selectedCategory = 'all';\r\n  featuredArticle !: BlogArticle | undefined;\r\n\r\n  private selectedCategorySubject =\r\n    new BehaviorSubject<string>('all');\r\n\r\n  readonly articles$ =\r\n    this.blogService.getAllArticles();\r\n\r\n  readonly filteredArticles$ = combineLatest([\r\n    this.articles$,\r\n    this.selectedCategorySubject\r\n  ]).pipe(\r\n    map(([articles, category]) => {\r\n\r\n      if (category === 'all') {\r\n        return articles;\r\n      }\r\n      console.log(articles)\r\n      return articles.filter(\r\n        article =>\r\n          article.category === category\r\n      );\r\n    })\r\n  );\r\n\r\n  ngOnInit(): void {\r\n    this.findFeatured();\r\n  }\r\n\r\n  selectCategory(category: string): void {\r\n\r\n    this.selectedCategory = category;\r\n\r\n    this.selectedCategorySubject.next(category);\r\n  }\r\n\r\n  findFeatured(){\r\n     this.articles$.subscribe(articles => {\r\n       this.featuredArticle = articles.find(article => article.featured);\r\n    })\r\n  }\r\n}\r\n","<div class=\"blog-page\" >\r\n  <section class=\"blog-hero\">\r\n    <!-- Background shapes -->\r\n    <div class=\"hero-glow\">\r\n      <div class=\"hero-glow__gradient\"></div>\r\n    </div>\r\n\r\n    <div class=\"hero-content\">\r\n      <div class=\"hero-badge\">\r\n        <span>Blog</span>\r\n        <span class=\"dot\">•</span>\r\n        <span>Développement Web</span>\r\n        <span class=\"dot\">•</span>\r\n        <span>SEO</span>\r\n        <span class=\"dot\">•</span>\r\n        <span>Businness</span>\r\n      </div>\r\n      <h1 class=\"hero-title \">\r\n        Conseils <strong class=\"highlight\">Web & SEO</strong>\r\n      </h1>\r\n\r\n      <p class=\"hero-subtitle\">\r\n        Des guides pratiques et des stratégies concrètes pour aider les entrepreneurs, artisans et PME à développer leur\r\n        présence en ligne et générer plus de revenus.\r\n      </p>\r\n    </div>\r\n\r\n  </section>\r\n\r\n  <section class=\"featured-article\">\r\n    <h2>Articles à la une</h2>\r\n\r\n    @if (featuredArticle) {\r\n\r\n      <app-featured-article [featuredArticle]=\"featuredArticle\"></app-featured-article>\r\n    } @else {\r\n      <app-featured-article-skeleton></app-featured-article-skeleton>\r\n\r\n    }\r\n\r\n\r\n  </section>\r\n  <section class=\"latest-posts\">\r\n    <h2>Derniers articles</h2>\r\n    @if (filteredArticles$ | async; as articles) {\r\n      <div class=\"categories-filter\">\r\n        @for (category of categories; track category.id) {\r\n          <button\r\n            class=\"filter-chip\"\r\n            [class.active]=\"selectedCategory === category.filter\"\r\n            (click)=\"selectCategory(category.filter)\"\r\n          >\r\n            {{ category.label }}\r\n          </button>\r\n        }\r\n      </div>\r\n      <div class=\"list-articles\">\r\n        @if (articles.length > 0) {\r\n\r\n          @for (article of articles; track article.id) {\r\n            <app-article-card [article]=\"article\"></app-article-card>\r\n          }\r\n\r\n        } @else {\r\n          @for (item of [1, 2, 3, 4, 5, 6]; track item) {\r\n            <app-article-card-skeleton></app-article-card-skeleton>\r\n          }\r\n        }\r\n      </div>\r\n\r\n    }\r\n\r\n  </section>\r\n  <app-newsletter></app-newsletter>\r\n\r\n  <app-project-cta></app-project-cta>\r\n\r\n</div>\r\n","/**\n * marked v15.0.12 - a markdown parser\n * Copyright (c) 2011-2025, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n// src/defaults.ts\nfunction _getDefaults() {\n  return {\n    async: false,\n    breaks: false,\n    extensions: null,\n    gfm: true,\n    hooks: null,\n    pedantic: false,\n    renderer: null,\n    silent: false,\n    tokenizer: null,\n    walkTokens: null\n  };\n}\nvar _defaults = _getDefaults();\nfunction changeDefaults(newDefaults) {\n  _defaults = newDefaults;\n}\n\n// src/rules.ts\nvar noopTest = {\n  exec: () => null\n};\nfunction edit(regex, opt = \"\") {\n  let source = typeof regex === \"string\" ? regex : regex.source;\n  const obj = {\n    replace: (name, val) => {\n      let valSource = typeof val === \"string\" ? val : val.source;\n      valSource = valSource.replace(other.caret, \"$1\");\n      source = source.replace(name, valSource);\n      return obj;\n    },\n    getRegex: () => {\n      return new RegExp(source, opt);\n    }\n  };\n  return obj;\n}\nvar other = {\n  codeRemoveIndent: /^(?: {1,4}| {0,3}\\t)/gm,\n  outputLinkReplace: /\\\\([\\[\\]])/g,\n  indentCodeCompensation: /^(\\s+)(?:```)/,\n  beginningSpace: /^\\s+/,\n  endingHash: /#$/,\n  startingSpaceChar: /^ /,\n  endingSpaceChar: / $/,\n  nonSpaceChar: /[^ ]/,\n  newLineCharGlobal: /\\n/g,\n  tabCharGlobal: /\\t/g,\n  multipleSpaceGlobal: /\\s+/g,\n  blankLine: /^[ \\t]*$/,\n  doubleBlankLine: /\\n[ \\t]*\\n[ \\t]*$/,\n  blockquoteStart: /^ {0,3}>/,\n  blockquoteSetextReplace: /\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g,\n  blockquoteSetextReplace2: /^ {0,3}>[ \\t]?/gm,\n  listReplaceTabs: /^\\t+/,\n  listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g,\n  listIsTask: /^\\[[ xX]\\] /,\n  listReplaceTask: /^\\[[ xX]\\] +/,\n  anyLine: /\\n.*\\n/,\n  hrefBrackets: /^<(.*)>$/,\n  tableDelimiter: /[:|]/,\n  tableAlignChars: /^\\||\\| *$/g,\n  tableRowBlankLine: /\\n[ \\t]*$/,\n  tableAlignRight: /^ *-+: *$/,\n  tableAlignCenter: /^ *:-+: *$/,\n  tableAlignLeft: /^ *:-+ *$/,\n  startATag: /^<a /i,\n  endATag: /^<\\/a>/i,\n  startPreScriptTag: /^<(pre|code|kbd|script)(\\s|>)/i,\n  endPreScriptTag: /^<\\/(pre|code|kbd|script)(\\s|>)/i,\n  startAngleBracket: /^</,\n  endAngleBracket: />$/,\n  pedanticHrefTitle: /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/,\n  unicodeAlphaNumeric: /[\\p{L}\\p{N}]/u,\n  escapeTest: /[&<>\"']/,\n  escapeReplace: /[&<>\"']/g,\n  escapeTestNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,\n  escapeReplaceNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g,\n  unescapeTest: /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig,\n  caret: /(^|[^\\[])\\^/g,\n  percentDecode: /%25/g,\n  findPipe: /\\|/g,\n  splitPipe: / \\|/,\n  slashPipe: /\\\\\\|/g,\n  carriageReturn: /\\r\\n|\\r/g,\n  spaceLine: /^ +$/gm,\n  notSpaceStart: /^\\S*/,\n  endingNewline: /\\n$/,\n  listItemRegex: bull => new RegExp(`^( {0,3}${bull})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`),\n  nextBulletRegex: indent => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`),\n  hrRegex: indent => new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`),\n  fencesBeginRegex: indent => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`),\n  headingBeginRegex: indent => new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`),\n  htmlBeginRegex: indent => new RegExp(`^ {0,${Math.min(3, indent - 1)}}<(?:[a-z].*>|!--)`, \"i\")\n};\nvar newline = /^(?:[ \\t]*(?:\\n|$))+/;\nvar blockCode = /^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/;\nvar fences = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/;\nvar hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/;\nvar heading = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/;\nvar bullet = /(?:[*+-]|\\d{1,9}[.)])/;\nvar lheadingCore = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/;\nvar lheading = edit(lheadingCore).replace(/bull/g, bullet).replace(/blockCode/g, /(?: {4}| {0,3}\\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g, \"\").getRegex();\nvar lheadingGfm = edit(lheadingCore).replace(/bull/g, bullet).replace(/blockCode/g, /(?: {4}| {0,3}\\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\\n>]+>\\n/).replace(/table/g, / {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex();\nvar _paragraph = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/;\nvar blockText = /^[^\\n]+/;\nvar _blockLabel = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\nvar def = edit(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace(\"label\", _blockLabel).replace(\"title\", /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex();\nvar list = edit(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g, bullet).getRegex();\nvar _tag = \"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\";\nvar _comment = /<!--(?:-?>|[\\s\\S]*?(?:-->|$))/;\nvar html = edit(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$))\", \"i\").replace(\"comment\", _comment).replace(\"tag\", _tag).replace(\"attribute\", / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex();\nvar paragraph = edit(_paragraph).replace(\"hr\", hr).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\").replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", _tag).getRegex();\nvar blockquote = edit(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\", paragraph).getRegex();\nvar blockNormal = {\n  blockquote,\n  code: blockCode,\n  def,\n  fences,\n  heading,\n  hr,\n  html,\n  lheading,\n  list,\n  newline,\n  paragraph,\n  table: noopTest,\n  text: blockText\n};\nvar gfmTable = edit(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\", hr).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\", \" {0,3}>\").replace(\"code\", \"(?: {4}| {0,3}\t)[^\\\\n]\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", _tag).getRegex();\nvar blockGfm = {\n  ...blockNormal,\n  lheading: lheadingGfm,\n  table: gfmTable,\n  paragraph: edit(_paragraph).replace(\"hr\", hr).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\").replace(\"table\", gfmTable).replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", _tag).getRegex()\n};\nvar blockPedantic = {\n  ...blockNormal,\n  html: edit(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\\\s[^'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\", _comment).replace(/tag/g, \"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),\n  def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n  heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n  fences: noopTest,\n  // fences not supported\n  lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n  paragraph: edit(_paragraph).replace(\"hr\", hr).replace(\"heading\", \" *#{1,6} *[^\\n]\").replace(\"lheading\", lheading).replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"|fences\", \"\").replace(\"|list\", \"\").replace(\"|html\", \"\").replace(\"|tag\", \"\").getRegex()\n};\nvar escape = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/;\nvar inlineCode = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/;\nvar br = /^( {2,}|\\\\)\\n(?!\\s*$)/;\nvar inlineText = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/;\nvar _punctuation = /[\\p{P}\\p{S}]/u;\nvar _punctuationOrSpace = /[\\s\\p{P}\\p{S}]/u;\nvar _notPunctuationOrSpace = /[^\\s\\p{P}\\p{S}]/u;\nvar punctuation = edit(/^((?![*_])punctSpace)/, \"u\").replace(/punctSpace/g, _punctuationOrSpace).getRegex();\nvar _punctuationGfmStrongEm = /(?!~)[\\p{P}\\p{S}]/u;\nvar _punctuationOrSpaceGfmStrongEm = /(?!~)[\\s\\p{P}\\p{S}]/u;\nvar _notPunctuationOrSpaceGfmStrongEm = /(?:[^\\s\\p{P}\\p{S}]|~)/u;\nvar blockSkip = /\\[[^[\\]]*?\\]\\((?:\\\\.|[^\\\\\\(\\)]|\\((?:\\\\.|[^\\\\\\(\\)])*\\))*\\)|`[^`]*?`|<[^<>]*?>/g;\nvar emStrongLDelimCore = /^(?:\\*+(?:((?!\\*)punct)|[^\\s*]))|^_+(?:((?!_)punct)|([^\\s_]))/;\nvar emStrongLDelim = edit(emStrongLDelimCore, \"u\").replace(/punct/g, _punctuation).getRegex();\nvar emStrongLDelimGfm = edit(emStrongLDelimCore, \"u\").replace(/punct/g, _punctuationGfmStrongEm).getRegex();\nvar emStrongRDelimAstCore = \"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)\";\nvar emStrongRDelimAst = edit(emStrongRDelimAstCore, \"gu\").replace(/notPunctSpace/g, _notPunctuationOrSpace).replace(/punctSpace/g, _punctuationOrSpace).replace(/punct/g, _punctuation).getRegex();\nvar emStrongRDelimAstGfm = edit(emStrongRDelimAstCore, \"gu\").replace(/notPunctSpace/g, _notPunctuationOrSpaceGfmStrongEm).replace(/punctSpace/g, _punctuationOrSpaceGfmStrongEm).replace(/punct/g, _punctuationGfmStrongEm).getRegex();\nvar emStrongRDelimUnd = edit(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)\", \"gu\").replace(/notPunctSpace/g, _notPunctuationOrSpace).replace(/punctSpace/g, _punctuationOrSpace).replace(/punct/g, _punctuation).getRegex();\nvar anyPunctuation = edit(/\\\\(punct)/, \"gu\").replace(/punct/g, _punctuation).getRegex();\nvar autolink = edit(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex();\nvar _inlineComment = edit(_comment).replace(\"(?:-->|$)\", \"-->\").getRegex();\nvar tag = edit(\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\").replace(\"comment\", _inlineComment).replace(\"attribute\", /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex();\nvar _inlineLabel = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\nvar link = edit(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]*(?:\\n[ \\t]*)?)(title))?\\s*\\)/).replace(\"label\", _inlineLabel).replace(\"href\", /<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace(\"title\", /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex();\nvar reflink = edit(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\", _inlineLabel).replace(\"ref\", _blockLabel).getRegex();\nvar nolink = edit(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\", _blockLabel).getRegex();\nvar reflinkSearch = edit(\"reflink|nolink(?!\\\\()\", \"g\").replace(\"reflink\", reflink).replace(\"nolink\", nolink).getRegex();\nvar inlineNormal = {\n  _backpedal: noopTest,\n  // only used for GFM url\n  anyPunctuation,\n  autolink,\n  blockSkip,\n  br,\n  code: inlineCode,\n  del: noopTest,\n  emStrongLDelim,\n  emStrongRDelimAst,\n  emStrongRDelimUnd,\n  escape,\n  link,\n  nolink,\n  punctuation,\n  reflink,\n  reflinkSearch,\n  tag,\n  text: inlineText,\n  url: noopTest\n};\nvar inlinePedantic = {\n  ...inlineNormal,\n  link: edit(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\", _inlineLabel).getRegex(),\n  reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\", _inlineLabel).getRegex()\n};\nvar inlineGfm = {\n  ...inlineNormal,\n  emStrongRDelimAst: emStrongRDelimAstGfm,\n  emStrongLDelim: emStrongLDelimGfm,\n  url: edit(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/, \"i\").replace(\"email\", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),\n  _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n  del: /^(~~?)(?=[^\\s~])((?:\\\\.|[^\\\\])*?(?:\\\\.|[^\\s~\\\\]))\\1(?=[^~]|$)/,\n  text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/\n};\nvar inlineBreaks = {\n  ...inlineGfm,\n  br: edit(br).replace(\"{2,}\", \"*\").getRegex(),\n  text: edit(inlineGfm.text).replace(\"\\\\b_\", \"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g, \"*\").getRegex()\n};\nvar block = {\n  normal: blockNormal,\n  gfm: blockGfm,\n  pedantic: blockPedantic\n};\nvar inline = {\n  normal: inlineNormal,\n  gfm: inlineGfm,\n  breaks: inlineBreaks,\n  pedantic: inlinePedantic\n};\n\n// src/helpers.ts\nvar escapeReplacements = {\n  \"&\": \"&amp;\",\n  \"<\": \"&lt;\",\n  \">\": \"&gt;\",\n  '\"': \"&quot;\",\n  \"'\": \"&#39;\"\n};\nvar getEscapeReplacement = ch => escapeReplacements[ch];\nfunction escape2(html2, encode) {\n  if (encode) {\n    if (other.escapeTest.test(html2)) {\n      return html2.replace(other.escapeReplace, getEscapeReplacement);\n    }\n  } else {\n    if (other.escapeTestNoEncode.test(html2)) {\n      return html2.replace(other.escapeReplaceNoEncode, getEscapeReplacement);\n    }\n  }\n  return html2;\n}\nfunction cleanUrl(href) {\n  try {\n    href = encodeURI(href).replace(other.percentDecode, \"%\");\n  } catch {\n    return null;\n  }\n  return href;\n}\nfunction splitCells(tableRow, count) {\n  const row = tableRow.replace(other.findPipe, (match, offset, str) => {\n      let escaped = false;\n      let curr = offset;\n      while (--curr >= 0 && str[curr] === \"\\\\\") escaped = !escaped;\n      if (escaped) {\n        return \"|\";\n      } else {\n        return \" |\";\n      }\n    }),\n    cells = row.split(other.splitPipe);\n  let i = 0;\n  if (!cells[0].trim()) {\n    cells.shift();\n  }\n  if (cells.length > 0 && !cells.at(-1)?.trim()) {\n    cells.pop();\n  }\n  if (count) {\n    if (cells.length > count) {\n      cells.splice(count);\n    } else {\n      while (cells.length < count) cells.push(\"\");\n    }\n  }\n  for (; i < cells.length; i++) {\n    cells[i] = cells[i].trim().replace(other.slashPipe, \"|\");\n  }\n  return cells;\n}\nfunction rtrim(str, c, invert) {\n  const l = str.length;\n  if (l === 0) {\n    return \"\";\n  }\n  let suffLen = 0;\n  while (suffLen < l) {\n    const currChar = str.charAt(l - suffLen - 1);\n    if (currChar === c && !invert) {\n      suffLen++;\n    } else if (currChar !== c && invert) {\n      suffLen++;\n    } else {\n      break;\n    }\n  }\n  return str.slice(0, l - suffLen);\n}\nfunction findClosingBracket(str, b) {\n  if (str.indexOf(b[1]) === -1) {\n    return -1;\n  }\n  let level = 0;\n  for (let i = 0; i < str.length; i++) {\n    if (str[i] === \"\\\\\") {\n      i++;\n    } else if (str[i] === b[0]) {\n      level++;\n    } else if (str[i] === b[1]) {\n      level--;\n      if (level < 0) {\n        return i;\n      }\n    }\n  }\n  if (level > 0) {\n    return -2;\n  }\n  return -1;\n}\n\n// src/Tokenizer.ts\nfunction outputLink(cap, link2, raw, lexer2, rules) {\n  const href = link2.href;\n  const title = link2.title || null;\n  const text = cap[1].replace(rules.other.outputLinkReplace, \"$1\");\n  lexer2.state.inLink = true;\n  const token = {\n    type: cap[0].charAt(0) === \"!\" ? \"image\" : \"link\",\n    raw,\n    href,\n    title,\n    text,\n    tokens: lexer2.inlineTokens(text)\n  };\n  lexer2.state.inLink = false;\n  return token;\n}\nfunction indentCodeCompensation(raw, text, rules) {\n  const matchIndentToCode = raw.match(rules.other.indentCodeCompensation);\n  if (matchIndentToCode === null) {\n    return text;\n  }\n  const indentToCode = matchIndentToCode[1];\n  return text.split(\"\\n\").map(node => {\n    const matchIndentInNode = node.match(rules.other.beginningSpace);\n    if (matchIndentInNode === null) {\n      return node;\n    }\n    const [indentInNode] = matchIndentInNode;\n    if (indentInNode.length >= indentToCode.length) {\n      return node.slice(indentToCode.length);\n    }\n    return node;\n  }).join(\"\\n\");\n}\nvar _Tokenizer = class {\n  options;\n  rules;\n  // set by the lexer\n  lexer;\n  // set by the lexer\n  constructor(options2) {\n    this.options = options2 || _defaults;\n  }\n  space(src) {\n    const cap = this.rules.block.newline.exec(src);\n    if (cap && cap[0].length > 0) {\n      return {\n        type: \"space\",\n        raw: cap[0]\n      };\n    }\n  }\n  code(src) {\n    const cap = this.rules.block.code.exec(src);\n    if (cap) {\n      const text = cap[0].replace(this.rules.other.codeRemoveIndent, \"\");\n      return {\n        type: \"code\",\n        raw: cap[0],\n        codeBlockStyle: \"indented\",\n        text: !this.options.pedantic ? rtrim(text, \"\\n\") : text\n      };\n    }\n  }\n  fences(src) {\n    const cap = this.rules.block.fences.exec(src);\n    if (cap) {\n      const raw = cap[0];\n      const text = indentCodeCompensation(raw, cap[3] || \"\", this.rules);\n      return {\n        type: \"code\",\n        raw,\n        lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, \"$1\") : cap[2],\n        text\n      };\n    }\n  }\n  heading(src) {\n    const cap = this.rules.block.heading.exec(src);\n    if (cap) {\n      let text = cap[2].trim();\n      if (this.rules.other.endingHash.test(text)) {\n        const trimmed = rtrim(text, \"#\");\n        if (this.options.pedantic) {\n          text = trimmed.trim();\n        } else if (!trimmed || this.rules.other.endingSpaceChar.test(trimmed)) {\n          text = trimmed.trim();\n        }\n      }\n      return {\n        type: \"heading\",\n        raw: cap[0],\n        depth: cap[1].length,\n        text,\n        tokens: this.lexer.inline(text)\n      };\n    }\n  }\n  hr(src) {\n    const cap = this.rules.block.hr.exec(src);\n    if (cap) {\n      return {\n        type: \"hr\",\n        raw: rtrim(cap[0], \"\\n\")\n      };\n    }\n  }\n  blockquote(src) {\n    const cap = this.rules.block.blockquote.exec(src);\n    if (cap) {\n      let lines = rtrim(cap[0], \"\\n\").split(\"\\n\");\n      let raw = \"\";\n      let text = \"\";\n      const tokens = [];\n      while (lines.length > 0) {\n        let inBlockquote = false;\n        const currentLines = [];\n        let i;\n        for (i = 0; i < lines.length; i++) {\n          if (this.rules.other.blockquoteStart.test(lines[i])) {\n            currentLines.push(lines[i]);\n            inBlockquote = true;\n          } else if (!inBlockquote) {\n            currentLines.push(lines[i]);\n          } else {\n            break;\n          }\n        }\n        lines = lines.slice(i);\n        const currentRaw = currentLines.join(\"\\n\");\n        const currentText = currentRaw.replace(this.rules.other.blockquoteSetextReplace, \"\\n    $1\").replace(this.rules.other.blockquoteSetextReplace2, \"\");\n        raw = raw ? `${raw}\n${currentRaw}` : currentRaw;\n        text = text ? `${text}\n${currentText}` : currentText;\n        const top = this.lexer.state.top;\n        this.lexer.state.top = true;\n        this.lexer.blockTokens(currentText, tokens, true);\n        this.lexer.state.top = top;\n        if (lines.length === 0) {\n          break;\n        }\n        const lastToken = tokens.at(-1);\n        if (lastToken?.type === \"code\") {\n          break;\n        } else if (lastToken?.type === \"blockquote\") {\n          const oldToken = lastToken;\n          const newText = oldToken.raw + \"\\n\" + lines.join(\"\\n\");\n          const newToken = this.blockquote(newText);\n          tokens[tokens.length - 1] = newToken;\n          raw = raw.substring(0, raw.length - oldToken.raw.length) + newToken.raw;\n          text = text.substring(0, text.length - oldToken.text.length) + newToken.text;\n          break;\n        } else if (lastToken?.type === \"list\") {\n          const oldToken = lastToken;\n          const newText = oldToken.raw + \"\\n\" + lines.join(\"\\n\");\n          const newToken = this.list(newText);\n          tokens[tokens.length - 1] = newToken;\n          raw = raw.substring(0, raw.length - lastToken.raw.length) + newToken.raw;\n          text = text.substring(0, text.length - oldToken.raw.length) + newToken.raw;\n          lines = newText.substring(tokens.at(-1).raw.length).split(\"\\n\");\n          continue;\n        }\n      }\n      return {\n        type: \"blockquote\",\n        raw,\n        tokens,\n        text\n      };\n    }\n  }\n  list(src) {\n    let cap = this.rules.block.list.exec(src);\n    if (cap) {\n      let bull = cap[1].trim();\n      const isordered = bull.length > 1;\n      const list2 = {\n        type: \"list\",\n        raw: \"\",\n        ordered: isordered,\n        start: isordered ? +bull.slice(0, -1) : \"\",\n        loose: false,\n        items: []\n      };\n      bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n      if (this.options.pedantic) {\n        bull = isordered ? bull : \"[*+-]\";\n      }\n      const itemRegex = this.rules.other.listItemRegex(bull);\n      let endsWithBlankLine = false;\n      while (src) {\n        let endEarly = false;\n        let raw = \"\";\n        let itemContents = \"\";\n        if (!(cap = itemRegex.exec(src))) {\n          break;\n        }\n        if (this.rules.block.hr.test(src)) {\n          break;\n        }\n        raw = cap[0];\n        src = src.substring(raw.length);\n        let line = cap[2].split(\"\\n\", 1)[0].replace(this.rules.other.listReplaceTabs, t => \" \".repeat(3 * t.length));\n        let nextLine = src.split(\"\\n\", 1)[0];\n        let blankLine = !line.trim();\n        let indent = 0;\n        if (this.options.pedantic) {\n          indent = 2;\n          itemContents = line.trimStart();\n        } else if (blankLine) {\n          indent = cap[1].length + 1;\n        } else {\n          indent = cap[2].search(this.rules.other.nonSpaceChar);\n          indent = indent > 4 ? 1 : indent;\n          itemContents = line.slice(indent);\n          indent += cap[1].length;\n        }\n        if (blankLine && this.rules.other.blankLine.test(nextLine)) {\n          raw += nextLine + \"\\n\";\n          src = src.substring(nextLine.length + 1);\n          endEarly = true;\n        }\n        if (!endEarly) {\n          const nextBulletRegex = this.rules.other.nextBulletRegex(indent);\n          const hrRegex = this.rules.other.hrRegex(indent);\n          const fencesBeginRegex = this.rules.other.fencesBeginRegex(indent);\n          const headingBeginRegex = this.rules.other.headingBeginRegex(indent);\n          const htmlBeginRegex = this.rules.other.htmlBeginRegex(indent);\n          while (src) {\n            const rawLine = src.split(\"\\n\", 1)[0];\n            let nextLineWithoutTabs;\n            nextLine = rawLine;\n            if (this.options.pedantic) {\n              nextLine = nextLine.replace(this.rules.other.listReplaceNesting, \"  \");\n              nextLineWithoutTabs = nextLine;\n            } else {\n              nextLineWithoutTabs = nextLine.replace(this.rules.other.tabCharGlobal, \"    \");\n            }\n            if (fencesBeginRegex.test(nextLine)) {\n              break;\n            }\n            if (headingBeginRegex.test(nextLine)) {\n              break;\n            }\n            if (htmlBeginRegex.test(nextLine)) {\n              break;\n            }\n            if (nextBulletRegex.test(nextLine)) {\n              break;\n            }\n            if (hrRegex.test(nextLine)) {\n              break;\n            }\n            if (nextLineWithoutTabs.search(this.rules.other.nonSpaceChar) >= indent || !nextLine.trim()) {\n              itemContents += \"\\n\" + nextLineWithoutTabs.slice(indent);\n            } else {\n              if (blankLine) {\n                break;\n              }\n              if (line.replace(this.rules.other.tabCharGlobal, \"    \").search(this.rules.other.nonSpaceChar) >= 4) {\n                break;\n              }\n              if (fencesBeginRegex.test(line)) {\n                break;\n              }\n              if (headingBeginRegex.test(line)) {\n                break;\n              }\n              if (hrRegex.test(line)) {\n                break;\n              }\n              itemContents += \"\\n\" + nextLine;\n            }\n            if (!blankLine && !nextLine.trim()) {\n              blankLine = true;\n            }\n            raw += rawLine + \"\\n\";\n            src = src.substring(rawLine.length + 1);\n            line = nextLineWithoutTabs.slice(indent);\n          }\n        }\n        if (!list2.loose) {\n          if (endsWithBlankLine) {\n            list2.loose = true;\n          } else if (this.rules.other.doubleBlankLine.test(raw)) {\n            endsWithBlankLine = true;\n          }\n        }\n        let istask = null;\n        let ischecked;\n        if (this.options.gfm) {\n          istask = this.rules.other.listIsTask.exec(itemContents);\n          if (istask) {\n            ischecked = istask[0] !== \"[ ] \";\n            itemContents = itemContents.replace(this.rules.other.listReplaceTask, \"\");\n          }\n        }\n        list2.items.push({\n          type: \"list_item\",\n          raw,\n          task: !!istask,\n          checked: ischecked,\n          loose: false,\n          text: itemContents,\n          tokens: []\n        });\n        list2.raw += raw;\n      }\n      const lastItem = list2.items.at(-1);\n      if (lastItem) {\n        lastItem.raw = lastItem.raw.trimEnd();\n        lastItem.text = lastItem.text.trimEnd();\n      } else {\n        return;\n      }\n      list2.raw = list2.raw.trimEnd();\n      for (let i = 0; i < list2.items.length; i++) {\n        this.lexer.state.top = false;\n        list2.items[i].tokens = this.lexer.blockTokens(list2.items[i].text, []);\n        if (!list2.loose) {\n          const spacers = list2.items[i].tokens.filter(t => t.type === \"space\");\n          const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => this.rules.other.anyLine.test(t.raw));\n          list2.loose = hasMultipleLineBreaks;\n        }\n      }\n      if (list2.loose) {\n        for (let i = 0; i < list2.items.length; i++) {\n          list2.items[i].loose = true;\n        }\n      }\n      return list2;\n    }\n  }\n  html(src) {\n    const cap = this.rules.block.html.exec(src);\n    if (cap) {\n      const token = {\n        type: \"html\",\n        block: true,\n        raw: cap[0],\n        pre: cap[1] === \"pre\" || cap[1] === \"script\" || cap[1] === \"style\",\n        text: cap[0]\n      };\n      return token;\n    }\n  }\n  def(src) {\n    const cap = this.rules.block.def.exec(src);\n    if (cap) {\n      const tag2 = cap[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, \" \");\n      const href = cap[2] ? cap[2].replace(this.rules.other.hrefBrackets, \"$1\").replace(this.rules.inline.anyPunctuation, \"$1\") : \"\";\n      const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, \"$1\") : cap[3];\n      return {\n        type: \"def\",\n        tag: tag2,\n        raw: cap[0],\n        href,\n        title\n      };\n    }\n  }\n  table(src) {\n    const cap = this.rules.block.table.exec(src);\n    if (!cap) {\n      return;\n    }\n    if (!this.rules.other.tableDelimiter.test(cap[2])) {\n      return;\n    }\n    const headers = splitCells(cap[1]);\n    const aligns = cap[2].replace(this.rules.other.tableAlignChars, \"\").split(\"|\");\n    const rows = cap[3]?.trim() ? cap[3].replace(this.rules.other.tableRowBlankLine, \"\").split(\"\\n\") : [];\n    const item = {\n      type: \"table\",\n      raw: cap[0],\n      header: [],\n      align: [],\n      rows: []\n    };\n    if (headers.length !== aligns.length) {\n      return;\n    }\n    for (const align of aligns) {\n      if (this.rules.other.tableAlignRight.test(align)) {\n        item.align.push(\"right\");\n      } else if (this.rules.other.tableAlignCenter.test(align)) {\n        item.align.push(\"center\");\n      } else if (this.rules.other.tableAlignLeft.test(align)) {\n        item.align.push(\"left\");\n      } else {\n        item.align.push(null);\n      }\n    }\n    for (let i = 0; i < headers.length; i++) {\n      item.header.push({\n        text: headers[i],\n        tokens: this.lexer.inline(headers[i]),\n        header: true,\n        align: item.align[i]\n      });\n    }\n    for (const row of rows) {\n      item.rows.push(splitCells(row, item.header.length).map((cell, i) => {\n        return {\n          text: cell,\n          tokens: this.lexer.inline(cell),\n          header: false,\n          align: item.align[i]\n        };\n      }));\n    }\n    return item;\n  }\n  lheading(src) {\n    const cap = this.rules.block.lheading.exec(src);\n    if (cap) {\n      return {\n        type: \"heading\",\n        raw: cap[0],\n        depth: cap[2].charAt(0) === \"=\" ? 1 : 2,\n        text: cap[1],\n        tokens: this.lexer.inline(cap[1])\n      };\n    }\n  }\n  paragraph(src) {\n    const cap = this.rules.block.paragraph.exec(src);\n    if (cap) {\n      const text = cap[1].charAt(cap[1].length - 1) === \"\\n\" ? cap[1].slice(0, -1) : cap[1];\n      return {\n        type: \"paragraph\",\n        raw: cap[0],\n        text,\n        tokens: this.lexer.inline(text)\n      };\n    }\n  }\n  text(src) {\n    const cap = this.rules.block.text.exec(src);\n    if (cap) {\n      return {\n        type: \"text\",\n        raw: cap[0],\n        text: cap[0],\n        tokens: this.lexer.inline(cap[0])\n      };\n    }\n  }\n  escape(src) {\n    const cap = this.rules.inline.escape.exec(src);\n    if (cap) {\n      return {\n        type: \"escape\",\n        raw: cap[0],\n        text: cap[1]\n      };\n    }\n  }\n  tag(src) {\n    const cap = this.rules.inline.tag.exec(src);\n    if (cap) {\n      if (!this.lexer.state.inLink && this.rules.other.startATag.test(cap[0])) {\n        this.lexer.state.inLink = true;\n      } else if (this.lexer.state.inLink && this.rules.other.endATag.test(cap[0])) {\n        this.lexer.state.inLink = false;\n      }\n      if (!this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(cap[0])) {\n        this.lexer.state.inRawBlock = true;\n      } else if (this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(cap[0])) {\n        this.lexer.state.inRawBlock = false;\n      }\n      return {\n        type: \"html\",\n        raw: cap[0],\n        inLink: this.lexer.state.inLink,\n        inRawBlock: this.lexer.state.inRawBlock,\n        block: false,\n        text: cap[0]\n      };\n    }\n  }\n  link(src) {\n    const cap = this.rules.inline.link.exec(src);\n    if (cap) {\n      const trimmedUrl = cap[2].trim();\n      if (!this.options.pedantic && this.rules.other.startAngleBracket.test(trimmedUrl)) {\n        if (!this.rules.other.endAngleBracket.test(trimmedUrl)) {\n          return;\n        }\n        const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), \"\\\\\");\n        if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n          return;\n        }\n      } else {\n        const lastParenIndex = findClosingBracket(cap[2], \"()\");\n        if (lastParenIndex === -2) {\n          return;\n        }\n        if (lastParenIndex > -1) {\n          const start = cap[0].indexOf(\"!\") === 0 ? 5 : 4;\n          const linkLen = start + cap[1].length + lastParenIndex;\n          cap[2] = cap[2].substring(0, lastParenIndex);\n          cap[0] = cap[0].substring(0, linkLen).trim();\n          cap[3] = \"\";\n        }\n      }\n      let href = cap[2];\n      let title = \"\";\n      if (this.options.pedantic) {\n        const link2 = this.rules.other.pedanticHrefTitle.exec(href);\n        if (link2) {\n          href = link2[1];\n          title = link2[3];\n        }\n      } else {\n        title = cap[3] ? cap[3].slice(1, -1) : \"\";\n      }\n      href = href.trim();\n      if (this.rules.other.startAngleBracket.test(href)) {\n        if (this.options.pedantic && !this.rules.other.endAngleBracket.test(trimmedUrl)) {\n          href = href.slice(1);\n        } else {\n          href = href.slice(1, -1);\n        }\n      }\n      return outputLink(cap, {\n        href: href ? href.replace(this.rules.inline.anyPunctuation, \"$1\") : href,\n        title: title ? title.replace(this.rules.inline.anyPunctuation, \"$1\") : title\n      }, cap[0], this.lexer, this.rules);\n    }\n  }\n  reflink(src, links) {\n    let cap;\n    if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {\n      const linkString = (cap[2] || cap[1]).replace(this.rules.other.multipleSpaceGlobal, \" \");\n      const link2 = links[linkString.toLowerCase()];\n      if (!link2) {\n        const text = cap[0].charAt(0);\n        return {\n          type: \"text\",\n          raw: text,\n          text\n        };\n      }\n      return outputLink(cap, link2, cap[0], this.lexer, this.rules);\n    }\n  }\n  emStrong(src, maskedSrc, prevChar = \"\") {\n    let match = this.rules.inline.emStrongLDelim.exec(src);\n    if (!match) return;\n    if (match[3] && prevChar.match(this.rules.other.unicodeAlphaNumeric)) return;\n    const nextChar = match[1] || match[2] || \"\";\n    if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n      const lLength = [...match[0]].length - 1;\n      let rDelim,\n        rLength,\n        delimTotal = lLength,\n        midDelimTotal = 0;\n      const endReg = match[0][0] === \"*\" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n      endReg.lastIndex = 0;\n      maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n      while ((match = endReg.exec(maskedSrc)) != null) {\n        rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n        if (!rDelim) continue;\n        rLength = [...rDelim].length;\n        if (match[3] || match[4]) {\n          delimTotal += rLength;\n          continue;\n        } else if (match[5] || match[6]) {\n          if (lLength % 3 && !((lLength + rLength) % 3)) {\n            midDelimTotal += rLength;\n            continue;\n          }\n        }\n        delimTotal -= rLength;\n        if (delimTotal > 0) continue;\n        rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n        const lastCharLength = [...match[0]][0].length;\n        const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n        if (Math.min(lLength, rLength) % 2) {\n          const text2 = raw.slice(1, -1);\n          return {\n            type: \"em\",\n            raw,\n            text: text2,\n            tokens: this.lexer.inlineTokens(text2)\n          };\n        }\n        const text = raw.slice(2, -2);\n        return {\n          type: \"strong\",\n          raw,\n          text,\n          tokens: this.lexer.inlineTokens(text)\n        };\n      }\n    }\n  }\n  codespan(src) {\n    const cap = this.rules.inline.code.exec(src);\n    if (cap) {\n      let text = cap[2].replace(this.rules.other.newLineCharGlobal, \" \");\n      const hasNonSpaceChars = this.rules.other.nonSpaceChar.test(text);\n      const hasSpaceCharsOnBothEnds = this.rules.other.startingSpaceChar.test(text) && this.rules.other.endingSpaceChar.test(text);\n      if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n        text = text.substring(1, text.length - 1);\n      }\n      return {\n        type: \"codespan\",\n        raw: cap[0],\n        text\n      };\n    }\n  }\n  br(src) {\n    const cap = this.rules.inline.br.exec(src);\n    if (cap) {\n      return {\n        type: \"br\",\n        raw: cap[0]\n      };\n    }\n  }\n  del(src) {\n    const cap = this.rules.inline.del.exec(src);\n    if (cap) {\n      return {\n        type: \"del\",\n        raw: cap[0],\n        text: cap[2],\n        tokens: this.lexer.inlineTokens(cap[2])\n      };\n    }\n  }\n  autolink(src) {\n    const cap = this.rules.inline.autolink.exec(src);\n    if (cap) {\n      let text, href;\n      if (cap[2] === \"@\") {\n        text = cap[1];\n        href = \"mailto:\" + text;\n      } else {\n        text = cap[1];\n        href = text;\n      }\n      return {\n        type: \"link\",\n        raw: cap[0],\n        text,\n        href,\n        tokens: [{\n          type: \"text\",\n          raw: text,\n          text\n        }]\n      };\n    }\n  }\n  url(src) {\n    let cap;\n    if (cap = this.rules.inline.url.exec(src)) {\n      let text, href;\n      if (cap[2] === \"@\") {\n        text = cap[0];\n        href = \"mailto:\" + text;\n      } else {\n        let prevCapZero;\n        do {\n          prevCapZero = cap[0];\n          cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? \"\";\n        } while (prevCapZero !== cap[0]);\n        text = cap[0];\n        if (cap[1] === \"www.\") {\n          href = \"http://\" + cap[0];\n        } else {\n          href = cap[0];\n        }\n      }\n      return {\n        type: \"link\",\n        raw: cap[0],\n        text,\n        href,\n        tokens: [{\n          type: \"text\",\n          raw: text,\n          text\n        }]\n      };\n    }\n  }\n  inlineText(src) {\n    const cap = this.rules.inline.text.exec(src);\n    if (cap) {\n      const escaped = this.lexer.state.inRawBlock;\n      return {\n        type: \"text\",\n        raw: cap[0],\n        text: cap[0],\n        escaped\n      };\n    }\n  }\n};\n\n// src/Lexer.ts\nvar _Lexer = class __Lexer {\n  tokens;\n  options;\n  state;\n  tokenizer;\n  inlineQueue;\n  constructor(options2) {\n    this.tokens = [];\n    this.tokens.links = /* @__PURE__ */Object.create(null);\n    this.options = options2 || _defaults;\n    this.options.tokenizer = this.options.tokenizer || new _Tokenizer();\n    this.tokenizer = this.options.tokenizer;\n    this.tokenizer.options = this.options;\n    this.tokenizer.lexer = this;\n    this.inlineQueue = [];\n    this.state = {\n      inLink: false,\n      inRawBlock: false,\n      top: true\n    };\n    const rules = {\n      other,\n      block: block.normal,\n      inline: inline.normal\n    };\n    if (this.options.pedantic) {\n      rules.block = block.pedantic;\n      rules.inline = inline.pedantic;\n    } else if (this.options.gfm) {\n      rules.block = block.gfm;\n      if (this.options.breaks) {\n        rules.inline = inline.breaks;\n      } else {\n        rules.inline = inline.gfm;\n      }\n    }\n    this.tokenizer.rules = rules;\n  }\n  /**\n   * Expose Rules\n   */\n  static get rules() {\n    return {\n      block,\n      inline\n    };\n  }\n  /**\n   * Static Lex Method\n   */\n  static lex(src, options2) {\n    const lexer2 = new __Lexer(options2);\n    return lexer2.lex(src);\n  }\n  /**\n   * Static Lex Inline Method\n   */\n  static lexInline(src, options2) {\n    const lexer2 = new __Lexer(options2);\n    return lexer2.inlineTokens(src);\n  }\n  /**\n   * Preprocessing\n   */\n  lex(src) {\n    src = src.replace(other.carriageReturn, \"\\n\");\n    this.blockTokens(src, this.tokens);\n    for (let i = 0; i < this.inlineQueue.length; i++) {\n      const next = this.inlineQueue[i];\n      this.inlineTokens(next.src, next.tokens);\n    }\n    this.inlineQueue = [];\n    return this.tokens;\n  }\n  blockTokens(src, tokens = [], lastParagraphClipped = false) {\n    if (this.options.pedantic) {\n      src = src.replace(other.tabCharGlobal, \"    \").replace(other.spaceLine, \"\");\n    }\n    while (src) {\n      let token;\n      if (this.options.extensions?.block?.some(extTokenizer => {\n        if (token = extTokenizer.call({\n          lexer: this\n        }, src, tokens)) {\n          src = src.substring(token.raw.length);\n          tokens.push(token);\n          return true;\n        }\n        return false;\n      })) {\n        continue;\n      }\n      if (token = this.tokenizer.space(src)) {\n        src = src.substring(token.raw.length);\n        const lastToken = tokens.at(-1);\n        if (token.raw.length === 1 && lastToken !== void 0) {\n          lastToken.raw += \"\\n\";\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n      if (token = this.tokenizer.code(src)) {\n        src = src.substring(token.raw.length);\n        const lastToken = tokens.at(-1);\n        if (lastToken?.type === \"paragraph\" || lastToken?.type === \"text\") {\n          lastToken.raw += \"\\n\" + token.raw;\n          lastToken.text += \"\\n\" + token.text;\n          this.inlineQueue.at(-1).src = lastToken.text;\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n      if (token = this.tokenizer.fences(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      if (token = this.tokenizer.heading(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      if (token = this.tokenizer.hr(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      if (token = this.tokenizer.blockquote(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      if (token = this.tokenizer.list(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      if (token = this.tokenizer.html(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      if (token = this.tokenizer.def(src)) {\n        src = src.substring(token.raw.length);\n        const lastToken = tokens.at(-1);\n        if (lastToken?.type === \"paragraph\" || lastToken?.type === \"text\") {\n          lastToken.raw += \"\\n\" + token.raw;\n          lastToken.text += \"\\n\" + token.raw;\n          this.inlineQueue.at(-1).src = lastToken.text;\n        } else if (!this.tokens.links[token.tag]) {\n          this.tokens.links[token.tag] = {\n            href: token.href,\n            title: token.title\n          };\n        }\n        continue;\n      }\n      if (token = this.tokenizer.table(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      if (token = this.tokenizer.lheading(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      let cutSrc = src;\n      if (this.options.extensions?.startBlock) {\n        let startIndex = Infinity;\n        const tempSrc = src.slice(1);\n        let tempStart;\n        this.options.extensions.startBlock.forEach(getStartIndex => {\n          tempStart = getStartIndex.call({\n            lexer: this\n          }, tempSrc);\n          if (typeof tempStart === \"number\" && tempStart >= 0) {\n            startIndex = Math.min(startIndex, tempStart);\n          }\n        });\n        if (startIndex < Infinity && startIndex >= 0) {\n          cutSrc = src.substring(0, startIndex + 1);\n        }\n      }\n      if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n        const lastToken = tokens.at(-1);\n        if (lastParagraphClipped && lastToken?.type === \"paragraph\") {\n          lastToken.raw += \"\\n\" + token.raw;\n          lastToken.text += \"\\n\" + token.text;\n          this.inlineQueue.pop();\n          this.inlineQueue.at(-1).src = lastToken.text;\n        } else {\n          tokens.push(token);\n        }\n        lastParagraphClipped = cutSrc.length !== src.length;\n        src = src.substring(token.raw.length);\n        continue;\n      }\n      if (token = this.tokenizer.text(src)) {\n        src = src.substring(token.raw.length);\n        const lastToken = tokens.at(-1);\n        if (lastToken?.type === \"text\") {\n          lastToken.raw += \"\\n\" + token.raw;\n          lastToken.text += \"\\n\" + token.text;\n          this.inlineQueue.pop();\n          this.inlineQueue.at(-1).src = lastToken.text;\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n      if (src) {\n        const errMsg = \"Infinite loop on byte: \" + src.charCodeAt(0);\n        if (this.options.silent) {\n          console.error(errMsg);\n          break;\n        } else {\n          throw new Error(errMsg);\n        }\n      }\n    }\n    this.state.top = true;\n    return tokens;\n  }\n  inline(src, tokens = []) {\n    this.inlineQueue.push({\n      src,\n      tokens\n    });\n    return tokens;\n  }\n  /**\n   * Lexing/Compiling\n   */\n  inlineTokens(src, tokens = []) {\n    let maskedSrc = src;\n    let match = null;\n    if (this.tokens.links) {\n      const links = Object.keys(this.tokens.links);\n      if (links.length > 0) {\n        while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n          if (links.includes(match[0].slice(match[0].lastIndexOf(\"[\") + 1, -1))) {\n            maskedSrc = maskedSrc.slice(0, match.index) + \"[\" + \"a\".repeat(match[0].length - 2) + \"]\" + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n          }\n        }\n      }\n    }\n    while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {\n      maskedSrc = maskedSrc.slice(0, match.index) + \"++\" + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n    }\n    while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n      maskedSrc = maskedSrc.slice(0, match.index) + \"[\" + \"a\".repeat(match[0].length - 2) + \"]\" + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n    }\n    let keepPrevChar = false;\n    let prevChar = \"\";\n    while (src) {\n      if (!keepPrevChar) {\n        prevChar = \"\";\n      }\n      keepPrevChar = false;\n      let token;\n      if (this.options.extensions?.inline?.some(extTokenizer => {\n        if (token = extTokenizer.call({\n          lexer: this\n        }, src, tokens)) {\n          src = src.substring(token.raw.length);\n          tokens.push(token);\n          return true;\n        }\n        return false;\n      })) {\n        continue;\n      }\n      if (token = this.tokenizer.escape(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      if (token = this.tokenizer.tag(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      if (token = this.tokenizer.link(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n        src = src.substring(token.raw.length);\n        const lastToken = tokens.at(-1);\n        if (token.type === \"text\" && lastToken?.type === \"text\") {\n          lastToken.raw += token.raw;\n          lastToken.text += token.text;\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n      if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      if (token = this.tokenizer.codespan(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      if (token = this.tokenizer.br(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      if (token = this.tokenizer.del(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      if (token = this.tokenizer.autolink(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n      let cutSrc = src;\n      if (this.options.extensions?.startInline) {\n        let startIndex = Infinity;\n        const tempSrc = src.slice(1);\n        let tempStart;\n        this.options.extensions.startInline.forEach(getStartIndex => {\n          tempStart = getStartIndex.call({\n            lexer: this\n          }, tempSrc);\n          if (typeof tempStart === \"number\" && tempStart >= 0) {\n            startIndex = Math.min(startIndex, tempStart);\n          }\n        });\n        if (startIndex < Infinity && startIndex >= 0) {\n          cutSrc = src.substring(0, startIndex + 1);\n        }\n      }\n      if (token = this.tokenizer.inlineText(cutSrc)) {\n        src = src.substring(token.raw.length);\n        if (token.raw.slice(-1) !== \"_\") {\n          prevChar = token.raw.slice(-1);\n        }\n        keepPrevChar = true;\n        const lastToken = tokens.at(-1);\n        if (lastToken?.type === \"text\") {\n          lastToken.raw += token.raw;\n          lastToken.text += token.text;\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n      if (src) {\n        const errMsg = \"Infinite loop on byte: \" + src.charCodeAt(0);\n        if (this.options.silent) {\n          console.error(errMsg);\n          break;\n        } else {\n          throw new Error(errMsg);\n        }\n      }\n    }\n    return tokens;\n  }\n};\n\n// src/Renderer.ts\nvar _Renderer = class {\n  options;\n  parser;\n  // set by the parser\n  constructor(options2) {\n    this.options = options2 || _defaults;\n  }\n  space(token) {\n    return \"\";\n  }\n  code({\n    text,\n    lang,\n    escaped\n  }) {\n    const langString = (lang || \"\").match(other.notSpaceStart)?.[0];\n    const code = text.replace(other.endingNewline, \"\") + \"\\n\";\n    if (!langString) {\n      return \"<pre><code>\" + (escaped ? code : escape2(code, true)) + \"</code></pre>\\n\";\n    }\n    return '<pre><code class=\"language-' + escape2(langString) + '\">' + (escaped ? code : escape2(code, true)) + \"</code></pre>\\n\";\n  }\n  blockquote({\n    tokens\n  }) {\n    const body = this.parser.parse(tokens);\n    return `<blockquote>\n${body}</blockquote>\n`;\n  }\n  html({\n    text\n  }) {\n    return text;\n  }\n  heading({\n    tokens,\n    depth\n  }) {\n    return `<h${depth}>${this.parser.parseInline(tokens)}</h${depth}>\n`;\n  }\n  hr(token) {\n    return \"<hr>\\n\";\n  }\n  list(token) {\n    const ordered = token.ordered;\n    const start = token.start;\n    let body = \"\";\n    for (let j = 0; j < token.items.length; j++) {\n      const item = token.items[j];\n      body += this.listitem(item);\n    }\n    const type = ordered ? \"ol\" : \"ul\";\n    const startAttr = ordered && start !== 1 ? ' start=\"' + start + '\"' : \"\";\n    return \"<\" + type + startAttr + \">\\n\" + body + \"</\" + type + \">\\n\";\n  }\n  listitem(item) {\n    let itemBody = \"\";\n    if (item.task) {\n      const checkbox = this.checkbox({\n        checked: !!item.checked\n      });\n      if (item.loose) {\n        if (item.tokens[0]?.type === \"paragraph\") {\n          item.tokens[0].text = checkbox + \" \" + item.tokens[0].text;\n          if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === \"text\") {\n            item.tokens[0].tokens[0].text = checkbox + \" \" + escape2(item.tokens[0].tokens[0].text);\n            item.tokens[0].tokens[0].escaped = true;\n          }\n        } else {\n          item.tokens.unshift({\n            type: \"text\",\n            raw: checkbox + \" \",\n            text: checkbox + \" \",\n            escaped: true\n          });\n        }\n      } else {\n        itemBody += checkbox + \" \";\n      }\n    }\n    itemBody += this.parser.parse(item.tokens, !!item.loose);\n    return `<li>${itemBody}</li>\n`;\n  }\n  checkbox({\n    checked\n  }) {\n    return \"<input \" + (checked ? 'checked=\"\" ' : \"\") + 'disabled=\"\" type=\"checkbox\">';\n  }\n  paragraph({\n    tokens\n  }) {\n    return `<p>${this.parser.parseInline(tokens)}</p>\n`;\n  }\n  table(token) {\n    let header = \"\";\n    let cell = \"\";\n    for (let j = 0; j < token.header.length; j++) {\n      cell += this.tablecell(token.header[j]);\n    }\n    header += this.tablerow({\n      text: cell\n    });\n    let body = \"\";\n    for (let j = 0; j < token.rows.length; j++) {\n      const row = token.rows[j];\n      cell = \"\";\n      for (let k = 0; k < row.length; k++) {\n        cell += this.tablecell(row[k]);\n      }\n      body += this.tablerow({\n        text: cell\n      });\n    }\n    if (body) body = `<tbody>${body}</tbody>`;\n    return \"<table>\\n<thead>\\n\" + header + \"</thead>\\n\" + body + \"</table>\\n\";\n  }\n  tablerow({\n    text\n  }) {\n    return `<tr>\n${text}</tr>\n`;\n  }\n  tablecell(token) {\n    const content = this.parser.parseInline(token.tokens);\n    const type = token.header ? \"th\" : \"td\";\n    const tag2 = token.align ? `<${type} align=\"${token.align}\">` : `<${type}>`;\n    return tag2 + content + `</${type}>\n`;\n  }\n  /**\n   * span level renderer\n   */\n  strong({\n    tokens\n  }) {\n    return `<strong>${this.parser.parseInline(tokens)}</strong>`;\n  }\n  em({\n    tokens\n  }) {\n    return `<em>${this.parser.parseInline(tokens)}</em>`;\n  }\n  codespan({\n    text\n  }) {\n    return `<code>${escape2(text, true)}</code>`;\n  }\n  br(token) {\n    return \"<br>\";\n  }\n  del({\n    tokens\n  }) {\n    return `<del>${this.parser.parseInline(tokens)}</del>`;\n  }\n  link({\n    href,\n    title,\n    tokens\n  }) {\n    const text = this.parser.parseInline(tokens);\n    const cleanHref = cleanUrl(href);\n    if (cleanHref === null) {\n      return text;\n    }\n    href = cleanHref;\n    let out = '<a href=\"' + href + '\"';\n    if (title) {\n      out += ' title=\"' + escape2(title) + '\"';\n    }\n    out += \">\" + text + \"</a>\";\n    return out;\n  }\n  image({\n    href,\n    title,\n    text,\n    tokens\n  }) {\n    if (tokens) {\n      text = this.parser.parseInline(tokens, this.parser.textRenderer);\n    }\n    const cleanHref = cleanUrl(href);\n    if (cleanHref === null) {\n      return escape2(text);\n    }\n    href = cleanHref;\n    let out = `<img src=\"${href}\" alt=\"${text}\"`;\n    if (title) {\n      out += ` title=\"${escape2(title)}\"`;\n    }\n    out += \">\";\n    return out;\n  }\n  text(token) {\n    return \"tokens\" in token && token.tokens ? this.parser.parseInline(token.tokens) : \"escaped\" in token && token.escaped ? token.text : escape2(token.text);\n  }\n};\n\n// src/TextRenderer.ts\nvar _TextRenderer = class {\n  // no need for block level renderers\n  strong({\n    text\n  }) {\n    return text;\n  }\n  em({\n    text\n  }) {\n    return text;\n  }\n  codespan({\n    text\n  }) {\n    return text;\n  }\n  del({\n    text\n  }) {\n    return text;\n  }\n  html({\n    text\n  }) {\n    return text;\n  }\n  text({\n    text\n  }) {\n    return text;\n  }\n  link({\n    text\n  }) {\n    return \"\" + text;\n  }\n  image({\n    text\n  }) {\n    return \"\" + text;\n  }\n  br() {\n    return \"\";\n  }\n};\n\n// src/Parser.ts\nvar _Parser = class __Parser {\n  options;\n  renderer;\n  textRenderer;\n  constructor(options2) {\n    this.options = options2 || _defaults;\n    this.options.renderer = this.options.renderer || new _Renderer();\n    this.renderer = this.options.renderer;\n    this.renderer.options = this.options;\n    this.renderer.parser = this;\n    this.textRenderer = new _TextRenderer();\n  }\n  /**\n   * Static Parse Method\n   */\n  static parse(tokens, options2) {\n    const parser2 = new __Parser(options2);\n    return parser2.parse(tokens);\n  }\n  /**\n   * Static Parse Inline Method\n   */\n  static parseInline(tokens, options2) {\n    const parser2 = new __Parser(options2);\n    return parser2.parseInline(tokens);\n  }\n  /**\n   * Parse Loop\n   */\n  parse(tokens, top = true) {\n    let out = \"\";\n    for (let i = 0; i < tokens.length; i++) {\n      const anyToken = tokens[i];\n      if (this.options.extensions?.renderers?.[anyToken.type]) {\n        const genericToken = anyToken;\n        const ret = this.options.extensions.renderers[genericToken.type].call({\n          parser: this\n        }, genericToken);\n        if (ret !== false || ![\"space\", \"hr\", \"heading\", \"code\", \"table\", \"blockquote\", \"list\", \"html\", \"paragraph\", \"text\"].includes(genericToken.type)) {\n          out += ret || \"\";\n          continue;\n        }\n      }\n      const token = anyToken;\n      switch (token.type) {\n        case \"space\":\n          {\n            out += this.renderer.space(token);\n            continue;\n          }\n        case \"hr\":\n          {\n            out += this.renderer.hr(token);\n            continue;\n          }\n        case \"heading\":\n          {\n            out += this.renderer.heading(token);\n            continue;\n          }\n        case \"code\":\n          {\n            out += this.renderer.code(token);\n            continue;\n          }\n        case \"table\":\n          {\n            out += this.renderer.table(token);\n            continue;\n          }\n        case \"blockquote\":\n          {\n            out += this.renderer.blockquote(token);\n            continue;\n          }\n        case \"list\":\n          {\n            out += this.renderer.list(token);\n            continue;\n          }\n        case \"html\":\n          {\n            out += this.renderer.html(token);\n            continue;\n          }\n        case \"paragraph\":\n          {\n            out += this.renderer.paragraph(token);\n            continue;\n          }\n        case \"text\":\n          {\n            let textToken = token;\n            let body = this.renderer.text(textToken);\n            while (i + 1 < tokens.length && tokens[i + 1].type === \"text\") {\n              textToken = tokens[++i];\n              body += \"\\n\" + this.renderer.text(textToken);\n            }\n            if (top) {\n              out += this.renderer.paragraph({\n                type: \"paragraph\",\n                raw: body,\n                text: body,\n                tokens: [{\n                  type: \"text\",\n                  raw: body,\n                  text: body,\n                  escaped: true\n                }]\n              });\n            } else {\n              out += body;\n            }\n            continue;\n          }\n        default:\n          {\n            const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n            if (this.options.silent) {\n              console.error(errMsg);\n              return \"\";\n            } else {\n              throw new Error(errMsg);\n            }\n          }\n      }\n    }\n    return out;\n  }\n  /**\n   * Parse Inline Tokens\n   */\n  parseInline(tokens, renderer = this.renderer) {\n    let out = \"\";\n    for (let i = 0; i < tokens.length; i++) {\n      const anyToken = tokens[i];\n      if (this.options.extensions?.renderers?.[anyToken.type]) {\n        const ret = this.options.extensions.renderers[anyToken.type].call({\n          parser: this\n        }, anyToken);\n        if (ret !== false || ![\"escape\", \"html\", \"link\", \"image\", \"strong\", \"em\", \"codespan\", \"br\", \"del\", \"text\"].includes(anyToken.type)) {\n          out += ret || \"\";\n          continue;\n        }\n      }\n      const token = anyToken;\n      switch (token.type) {\n        case \"escape\":\n          {\n            out += renderer.text(token);\n            break;\n          }\n        case \"html\":\n          {\n            out += renderer.html(token);\n            break;\n          }\n        case \"link\":\n          {\n            out += renderer.link(token);\n            break;\n          }\n        case \"image\":\n          {\n            out += renderer.image(token);\n            break;\n          }\n        case \"strong\":\n          {\n            out += renderer.strong(token);\n            break;\n          }\n        case \"em\":\n          {\n            out += renderer.em(token);\n            break;\n          }\n        case \"codespan\":\n          {\n            out += renderer.codespan(token);\n            break;\n          }\n        case \"br\":\n          {\n            out += renderer.br(token);\n            break;\n          }\n        case \"del\":\n          {\n            out += renderer.del(token);\n            break;\n          }\n        case \"text\":\n          {\n            out += renderer.text(token);\n            break;\n          }\n        default:\n          {\n            const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n            if (this.options.silent) {\n              console.error(errMsg);\n              return \"\";\n            } else {\n              throw new Error(errMsg);\n            }\n          }\n      }\n    }\n    return out;\n  }\n};\n\n// src/Hooks.ts\nvar _Hooks = /*#__PURE__*/(() => {\n  let _Hooks = class {\n    options;\n    block;\n    constructor(options2) {\n      this.options = options2 || _defaults;\n    }\n    static passThroughHooks = /* @__PURE__ */new Set([\"preprocess\", \"postprocess\", \"processAllTokens\"]);\n    /**\n     * Process markdown before marked\n     */\n    preprocess(markdown) {\n      return markdown;\n    }\n    /**\n     * Process HTML after marked is finished\n     */\n    postprocess(html2) {\n      return html2;\n    }\n    /**\n     * Process all tokens before walk tokens\n     */\n    processAllTokens(tokens) {\n      return tokens;\n    }\n    /**\n     * Provide function to tokenize markdown\n     */\n    provideLexer() {\n      return this.block ? _Lexer.lex : _Lexer.lexInline;\n    }\n    /**\n     * Provide function to parse tokens\n     */\n    provideParser() {\n      return this.block ? _Parser.parse : _Parser.parseInline;\n    }\n  };\n  return _Hooks;\n})();\n\n// src/Instance.ts\nvar Marked = class {\n  defaults = _getDefaults();\n  options = this.setOptions;\n  parse = this.parseMarkdown(true);\n  parseInline = this.parseMarkdown(false);\n  Parser = _Parser;\n  Renderer = _Renderer;\n  TextRenderer = _TextRenderer;\n  Lexer = _Lexer;\n  Tokenizer = _Tokenizer;\n  Hooks = _Hooks;\n  constructor(...args) {\n    this.use(...args);\n  }\n  /**\n   * Run callback for every token\n   */\n  walkTokens(tokens, callback) {\n    let values = [];\n    for (const token of tokens) {\n      values = values.concat(callback.call(this, token));\n      switch (token.type) {\n        case \"table\":\n          {\n            const tableToken = token;\n            for (const cell of tableToken.header) {\n              values = values.concat(this.walkTokens(cell.tokens, callback));\n            }\n            for (const row of tableToken.rows) {\n              for (const cell of row) {\n                values = values.concat(this.walkTokens(cell.tokens, callback));\n              }\n            }\n            break;\n          }\n        case \"list\":\n          {\n            const listToken = token;\n            values = values.concat(this.walkTokens(listToken.items, callback));\n            break;\n          }\n        default:\n          {\n            const genericToken = token;\n            if (this.defaults.extensions?.childTokens?.[genericToken.type]) {\n              this.defaults.extensions.childTokens[genericToken.type].forEach(childTokens => {\n                const tokens2 = genericToken[childTokens].flat(Infinity);\n                values = values.concat(this.walkTokens(tokens2, callback));\n              });\n            } else if (genericToken.tokens) {\n              values = values.concat(this.walkTokens(genericToken.tokens, callback));\n            }\n          }\n      }\n    }\n    return values;\n  }\n  use(...args) {\n    const extensions = this.defaults.extensions || {\n      renderers: {},\n      childTokens: {}\n    };\n    args.forEach(pack => {\n      const opts = {\n        ...pack\n      };\n      opts.async = this.defaults.async || opts.async || false;\n      if (pack.extensions) {\n        pack.extensions.forEach(ext => {\n          if (!ext.name) {\n            throw new Error(\"extension name required\");\n          }\n          if (\"renderer\" in ext) {\n            const prevRenderer = extensions.renderers[ext.name];\n            if (prevRenderer) {\n              extensions.renderers[ext.name] = function (...args2) {\n                let ret = ext.renderer.apply(this, args2);\n                if (ret === false) {\n                  ret = prevRenderer.apply(this, args2);\n                }\n                return ret;\n              };\n            } else {\n              extensions.renderers[ext.name] = ext.renderer;\n            }\n          }\n          if (\"tokenizer\" in ext) {\n            if (!ext.level || ext.level !== \"block\" && ext.level !== \"inline\") {\n              throw new Error(\"extension level must be 'block' or 'inline'\");\n            }\n            const extLevel = extensions[ext.level];\n            if (extLevel) {\n              extLevel.unshift(ext.tokenizer);\n            } else {\n              extensions[ext.level] = [ext.tokenizer];\n            }\n            if (ext.start) {\n              if (ext.level === \"block\") {\n                if (extensions.startBlock) {\n                  extensions.startBlock.push(ext.start);\n                } else {\n                  extensions.startBlock = [ext.start];\n                }\n              } else if (ext.level === \"inline\") {\n                if (extensions.startInline) {\n                  extensions.startInline.push(ext.start);\n                } else {\n                  extensions.startInline = [ext.start];\n                }\n              }\n            }\n          }\n          if (\"childTokens\" in ext && ext.childTokens) {\n            extensions.childTokens[ext.name] = ext.childTokens;\n          }\n        });\n        opts.extensions = extensions;\n      }\n      if (pack.renderer) {\n        const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n        for (const prop in pack.renderer) {\n          if (!(prop in renderer)) {\n            throw new Error(`renderer '${prop}' does not exist`);\n          }\n          if ([\"options\", \"parser\"].includes(prop)) {\n            continue;\n          }\n          const rendererProp = prop;\n          const rendererFunc = pack.renderer[rendererProp];\n          const prevRenderer = renderer[rendererProp];\n          renderer[rendererProp] = (...args2) => {\n            let ret = rendererFunc.apply(renderer, args2);\n            if (ret === false) {\n              ret = prevRenderer.apply(renderer, args2);\n            }\n            return ret || \"\";\n          };\n        }\n        opts.renderer = renderer;\n      }\n      if (pack.tokenizer) {\n        const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n        for (const prop in pack.tokenizer) {\n          if (!(prop in tokenizer)) {\n            throw new Error(`tokenizer '${prop}' does not exist`);\n          }\n          if ([\"options\", \"rules\", \"lexer\"].includes(prop)) {\n            continue;\n          }\n          const tokenizerProp = prop;\n          const tokenizerFunc = pack.tokenizer[tokenizerProp];\n          const prevTokenizer = tokenizer[tokenizerProp];\n          tokenizer[tokenizerProp] = (...args2) => {\n            let ret = tokenizerFunc.apply(tokenizer, args2);\n            if (ret === false) {\n              ret = prevTokenizer.apply(tokenizer, args2);\n            }\n            return ret;\n          };\n        }\n        opts.tokenizer = tokenizer;\n      }\n      if (pack.hooks) {\n        const hooks = this.defaults.hooks || new _Hooks();\n        for (const prop in pack.hooks) {\n          if (!(prop in hooks)) {\n            throw new Error(`hook '${prop}' does not exist`);\n          }\n          if ([\"options\", \"block\"].includes(prop)) {\n            continue;\n          }\n          const hooksProp = prop;\n          const hooksFunc = pack.hooks[hooksProp];\n          const prevHook = hooks[hooksProp];\n          if (_Hooks.passThroughHooks.has(prop)) {\n            hooks[hooksProp] = arg => {\n              if (this.defaults.async) {\n                return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret2 => {\n                  return prevHook.call(hooks, ret2);\n                });\n              }\n              const ret = hooksFunc.call(hooks, arg);\n              return prevHook.call(hooks, ret);\n            };\n          } else {\n            hooks[hooksProp] = (...args2) => {\n              let ret = hooksFunc.apply(hooks, args2);\n              if (ret === false) {\n                ret = prevHook.apply(hooks, args2);\n              }\n              return ret;\n            };\n          }\n        }\n        opts.hooks = hooks;\n      }\n      if (pack.walkTokens) {\n        const walkTokens2 = this.defaults.walkTokens;\n        const packWalktokens = pack.walkTokens;\n        opts.walkTokens = function (token) {\n          let values = [];\n          values.push(packWalktokens.call(this, token));\n          if (walkTokens2) {\n            values = values.concat(walkTokens2.call(this, token));\n          }\n          return values;\n        };\n      }\n      this.defaults = {\n        ...this.defaults,\n        ...opts\n      };\n    });\n    return this;\n  }\n  setOptions(opt) {\n    this.defaults = {\n      ...this.defaults,\n      ...opt\n    };\n    return this;\n  }\n  lexer(src, options2) {\n    return _Lexer.lex(src, options2 ?? this.defaults);\n  }\n  parser(tokens, options2) {\n    return _Parser.parse(tokens, options2 ?? this.defaults);\n  }\n  parseMarkdown(blockType) {\n    const parse2 = (src, options2) => {\n      const origOpt = {\n        ...options2\n      };\n      const opt = {\n        ...this.defaults,\n        ...origOpt\n      };\n      const throwError = this.onError(!!opt.silent, !!opt.async);\n      if (this.defaults.async === true && origOpt.async === false) {\n        return throwError(new Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));\n      }\n      if (typeof src === \"undefined\" || src === null) {\n        return throwError(new Error(\"marked(): input parameter is undefined or null\"));\n      }\n      if (typeof src !== \"string\") {\n        return throwError(new Error(\"marked(): input parameter is of type \" + Object.prototype.toString.call(src) + \", string expected\"));\n      }\n      if (opt.hooks) {\n        opt.hooks.options = opt;\n        opt.hooks.block = blockType;\n      }\n      const lexer2 = opt.hooks ? opt.hooks.provideLexer() : blockType ? _Lexer.lex : _Lexer.lexInline;\n      const parser2 = opt.hooks ? opt.hooks.provideParser() : blockType ? _Parser.parse : _Parser.parseInline;\n      if (opt.async) {\n        return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src).then(src2 => lexer2(src2, opt)).then(tokens => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens).then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens).then(tokens => parser2(tokens, opt)).then(html2 => opt.hooks ? opt.hooks.postprocess(html2) : html2).catch(throwError);\n      }\n      try {\n        if (opt.hooks) {\n          src = opt.hooks.preprocess(src);\n        }\n        let tokens = lexer2(src, opt);\n        if (opt.hooks) {\n          tokens = opt.hooks.processAllTokens(tokens);\n        }\n        if (opt.walkTokens) {\n          this.walkTokens(tokens, opt.walkTokens);\n        }\n        let html2 = parser2(tokens, opt);\n        if (opt.hooks) {\n          html2 = opt.hooks.postprocess(html2);\n        }\n        return html2;\n      } catch (e) {\n        return throwError(e);\n      }\n    };\n    return parse2;\n  }\n  onError(silent, async) {\n    return e => {\n      e.message += \"\\nPlease report this to https://github.com/markedjs/marked.\";\n      if (silent) {\n        const msg = \"<p>An error occurred:</p><pre>\" + escape2(e.message + \"\", true) + \"</pre>\";\n        if (async) {\n          return Promise.resolve(msg);\n        }\n        return msg;\n      }\n      if (async) {\n        return Promise.reject(e);\n      }\n      throw e;\n    };\n  }\n};\n\n// src/marked.ts\nvar markedInstance = new Marked();\nfunction marked(src, opt) {\n  return markedInstance.parse(src, opt);\n}\nmarked.options = marked.setOptions = function (options2) {\n  markedInstance.setOptions(options2);\n  marked.defaults = markedInstance.defaults;\n  changeDefaults(marked.defaults);\n  return marked;\n};\nmarked.getDefaults = _getDefaults;\nmarked.defaults = _defaults;\nmarked.use = function (...args) {\n  markedInstance.use(...args);\n  marked.defaults = markedInstance.defaults;\n  changeDefaults(marked.defaults);\n  return marked;\n};\nmarked.walkTokens = function (tokens, callback) {\n  return markedInstance.walkTokens(tokens, callback);\n};\nmarked.parseInline = markedInstance.parseInline;\nmarked.Parser = _Parser;\nmarked.parser = _Parser.parse;\nmarked.Renderer = _Renderer;\nmarked.TextRenderer = _TextRenderer;\nmarked.Lexer = _Lexer;\nmarked.lexer = _Lexer.lex;\nmarked.Tokenizer = _Tokenizer;\nmarked.Hooks = _Hooks;\nmarked.parse = marked;\nvar options = marked.options;\nvar setOptions = marked.setOptions;\nvar use = marked.use;\nvar walkTokens = marked.walkTokens;\nvar parseInline = marked.parseInline;\nvar parse = marked;\nvar parser = _Parser.parse;\nvar lexer = _Lexer.lex;\nexport { _Hooks as Hooks, _Lexer as Lexer, Marked, _Parser as Parser, _Renderer as Renderer, _TextRenderer as TextRenderer, _Tokenizer as Tokenizer, _defaults as defaults, _getDefaults as getDefaults, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens };\n","import { AsyncPipe, isPlatformBrowser, CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Component, ChangeDetectionStrategy, InjectionToken, Pipe, PLATFORM_ID, Injectable, Inject, Optional, EventEmitter, Input, Output, SecurityContext, NgModule } from '@angular/core';\nimport { Subject, merge, of, timer } from 'rxjs';\nimport { switchMap, mapTo, distinctUntilChanged, shareReplay, startWith, map, takeUntil, first } from 'rxjs/operators';\nimport { Renderer, marked } from 'marked';\nconst _c0 = [\"*\"];\nexport { Renderer as MarkedRenderer } from 'marked';\nimport * as i1 from '@angular/common/http';\nimport * as i2 from '@angular/platform-browser';\nconst BUTTON_TEXT_COPY = 'Copy';\nconst BUTTON_TEXT_COPIED = 'Copied';\nlet ClipboardButtonComponent = /*#__PURE__*/(() => {\n  class ClipboardButtonComponent {\n    constructor() {\n      this._buttonClick$ = new Subject();\n      this.copied$ = this._buttonClick$.pipe(switchMap(() => merge(of(true), timer(3000).pipe(mapTo(false)))), distinctUntilChanged(), shareReplay(1));\n      this.copiedText$ = this.copied$.pipe(startWith(false), map(copied => copied ? BUTTON_TEXT_COPIED : BUTTON_TEXT_COPY));\n    }\n    onCopyToClipboardClick() {\n      this._buttonClick$.next();\n    }\n    static {\n      this.ɵfac = function ClipboardButtonComponent_Factory(__ngFactoryType__) {\n        return new (__ngFactoryType__ || ClipboardButtonComponent)();\n      };\n    }\n    static {\n      this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n        type: ClipboardButtonComponent,\n        selectors: [[\"markdown-clipboard\"]],\n        decls: 4,\n        vars: 7,\n        consts: [[1, \"markdown-clipboard-button\", 3, \"click\"]],\n        template: function ClipboardButtonComponent_Template(rf, ctx) {\n          if (rf & 1) {\n            i0.ɵɵelementStart(0, \"button\", 0);\n            i0.ɵɵpipe(1, \"async\");\n            i0.ɵɵlistener(\"click\", function ClipboardButtonComponent_Template_button_click_0_listener() {\n              return ctx.onCopyToClipboardClick();\n            });\n            i0.ɵɵtext(2);\n            i0.ɵɵpipe(3, \"async\");\n            i0.ɵɵelementEnd();\n          }\n          if (rf & 2) {\n            i0.ɵɵclassProp(\"copied\", i0.ɵɵpipeBind1(1, 3, ctx.copied$));\n            i0.ɵɵadvance(2);\n            i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 5, ctx.copiedText$));\n          }\n        },\n        dependencies: [AsyncPipe],\n        encapsulation: 2,\n        changeDetection: 0\n      });\n    }\n  }\n  return ClipboardButtonComponent;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst CLIPBOARD_OPTIONS = new InjectionToken('CLIPBOARD_OPTIONS');\n\n/* eslint-disable */\nclass KatexSpecificOptions {}\nlet LanguagePipe = /*#__PURE__*/(() => {\n  class LanguagePipe {\n    transform(value, language) {\n      if (value == null) {\n        value = '';\n      }\n      if (language == null) {\n        language = '';\n      }\n      if (typeof value !== 'string') {\n        console.error(`LanguagePipe has been invoked with an invalid value type [${typeof value}]`);\n        return value;\n      }\n      if (typeof language !== 'string') {\n        console.error(`LanguagePipe has been invoked with an invalid parameter [${typeof language}]`);\n        return value;\n      }\n      return '```' + language + '\\n' + value + '\\n```';\n    }\n    static {\n      this.ɵfac = function LanguagePipe_Factory(__ngFactoryType__) {\n        return new (__ngFactoryType__ || LanguagePipe)();\n      };\n    }\n    static {\n      this.ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n        name: \"language\",\n        type: LanguagePipe,\n        pure: true\n      });\n    }\n  }\n  return LanguagePipe;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nvar PrismPlugin = /*#__PURE__*/function (PrismPlugin) {\n  PrismPlugin[\"CommandLine\"] = \"command-line\";\n  PrismPlugin[\"LineHighlight\"] = \"line-highlight\";\n  PrismPlugin[\"LineNumbers\"] = \"line-numbers\";\n  return PrismPlugin;\n}(PrismPlugin || {});\nconst MARKED_EXTENSIONS = new InjectionToken('MARKED_EXTENSIONS');\nconst MARKED_OPTIONS = new InjectionToken('MARKED_OPTIONS');\nconst MERMAID_OPTIONS = new InjectionToken('MERMAID_OPTIONS');\nconst errorJoyPixelsNotLoaded = '[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information';\nconst errorKatexNotLoaded = '[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information';\nconst errorMermaidNotLoaded = '[ngx-markdown] When using the `mermaid` attribute you *have to* include Mermaid files to `angular.json` or use imports. See README for more information';\nconst errorClipboardNotLoaded = '[ngx-markdown] When using the `clipboard` attribute you *have to* include Clipboard files to `angular.json` or use imports. See README for more information';\nconst errorClipboardViewContainerRequired = '[ngx-markdown] When using the `clipboard` attribute you *have to* provide the `viewContainerRef` parameter to `MarkdownService.render()` function';\nconst errorSrcWithoutHttpClient = '[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information';\nconst SECURITY_CONTEXT = new InjectionToken('SECURITY_CONTEXT');\nclass ExtendedRenderer extends Renderer {\n  constructor() {\n    super(...arguments);\n    this.ɵNgxMarkdownRendererExtendedForExtensions = false;\n    this.ɵNgxMarkdownRendererExtendedForMermaid = false;\n  }\n}\nlet MarkdownService = /*#__PURE__*/(() => {\n  class MarkdownService {\n    get options() {\n      return this._options;\n    }\n    set options(value) {\n      this._options = {\n        ...this.DEFAULT_MARKED_OPTIONS,\n        ...value\n      };\n    }\n    get renderer() {\n      return this.options.renderer;\n    }\n    set renderer(value) {\n      this.options.renderer = value;\n    }\n    constructor(clipboardOptions, extensions, options, mermaidOptions, platform, securityContext, http, sanitizer) {\n      this.clipboardOptions = clipboardOptions;\n      this.extensions = extensions;\n      this.mermaidOptions = mermaidOptions;\n      this.platform = platform;\n      this.securityContext = securityContext;\n      this.http = http;\n      this.sanitizer = sanitizer;\n      this.DEFAULT_MARKED_OPTIONS = {\n        renderer: new Renderer()\n      };\n      this.DEFAULT_KATEX_OPTIONS = {\n        delimiters: [{\n          left: '$$',\n          right: '$$',\n          display: true\n        }, {\n          left: '$',\n          right: '$',\n          display: false\n        }, {\n          left: '\\\\(',\n          right: '\\\\)',\n          display: false\n        }, {\n          left: '\\\\begin{equation}',\n          right: '\\\\end{equation}',\n          display: true\n        }, {\n          left: '\\\\begin{align}',\n          right: '\\\\end{align}',\n          display: true\n        }, {\n          left: '\\\\begin{alignat}',\n          right: '\\\\end{alignat}',\n          display: true\n        }, {\n          left: '\\\\begin{gather}',\n          right: '\\\\end{gather}',\n          display: true\n        }, {\n          left: '\\\\begin{CD}',\n          right: '\\\\end{CD}',\n          display: true\n        }, {\n          left: '\\\\[',\n          right: '\\\\]',\n          display: true\n        }]\n      };\n      this.DEFAULT_MERMAID_OPTIONS = {\n        startOnLoad: false\n      };\n      this.DEFAULT_CLIPBOARD_OPTIONS = {\n        buttonComponent: undefined\n      };\n      this.DEFAULT_PARSE_OPTIONS = {\n        decodeHtml: false,\n        inline: false,\n        emoji: false,\n        mermaid: false,\n        markedOptions: undefined,\n        disableSanitizer: false\n      };\n      this.DEFAULT_RENDER_OPTIONS = {\n        clipboard: false,\n        clipboardOptions: undefined,\n        katex: false,\n        katexOptions: undefined,\n        mermaid: false,\n        mermaidOptions: undefined\n      };\n      this._reload$ = new Subject();\n      this.reload$ = this._reload$.asObservable();\n      this.options = options;\n    }\n    parse(markdown, parseOptions = this.DEFAULT_PARSE_OPTIONS) {\n      const {\n        decodeHtml,\n        inline,\n        emoji,\n        mermaid,\n        disableSanitizer\n      } = parseOptions;\n      const markedOptions = {\n        ...this.options,\n        ...parseOptions.markedOptions\n      };\n      const renderer = markedOptions.renderer || this.renderer || new Renderer();\n      if (this.extensions) {\n        this.renderer = this.extendsRendererForExtensions(renderer);\n      }\n      if (mermaid) {\n        this.renderer = this.extendsRendererForMermaid(renderer);\n      }\n      const trimmed = this.trimIndentation(markdown);\n      const decoded = decodeHtml ? this.decodeHtml(trimmed) : trimmed;\n      const emojified = emoji ? this.parseEmoji(decoded) : decoded;\n      const marked = this.parseMarked(emojified, markedOptions, inline);\n      const sanitized = disableSanitizer ? marked : this.sanitizer.sanitize(this.securityContext, marked);\n      return sanitized || '';\n    }\n    render(element, options = this.DEFAULT_RENDER_OPTIONS, viewContainerRef) {\n      const {\n        clipboard,\n        clipboardOptions,\n        katex,\n        katexOptions,\n        mermaid,\n        mermaidOptions\n      } = options;\n      if (katex) {\n        this.renderKatex(element, {\n          ...this.DEFAULT_KATEX_OPTIONS,\n          ...katexOptions\n        });\n      }\n      if (mermaid) {\n        this.renderMermaid(element, {\n          ...this.DEFAULT_MERMAID_OPTIONS,\n          ...this.mermaidOptions,\n          ...mermaidOptions\n        });\n      }\n      if (clipboard) {\n        this.renderClipboard(element, viewContainerRef, {\n          ...this.DEFAULT_CLIPBOARD_OPTIONS,\n          ...this.clipboardOptions,\n          ...clipboardOptions\n        });\n      }\n      this.highlight(element);\n    }\n    reload() {\n      this._reload$.next();\n    }\n    getSource(src) {\n      if (!this.http) {\n        throw new Error(errorSrcWithoutHttpClient);\n      }\n      return this.http.get(src, {\n        responseType: 'text'\n      }).pipe(map(markdown => this.handleExtension(src, markdown)));\n    }\n    highlight(element) {\n      if (!isPlatformBrowser(this.platform)) {\n        return;\n      }\n      if (typeof Prism === 'undefined' || typeof Prism.highlightAllUnder === 'undefined') {\n        return;\n      }\n      if (!element) {\n        element = document;\n      }\n      const noLanguageElements = element.querySelectorAll('pre code:not([class*=\"language-\"])');\n      Array.prototype.forEach.call(noLanguageElements, x => x.classList.add('language-none'));\n      Prism.highlightAllUnder(element);\n    }\n    decodeHtml(html) {\n      if (!isPlatformBrowser(this.platform)) {\n        return html;\n      }\n      const textarea = document.createElement('textarea');\n      textarea.innerHTML = html;\n      return textarea.value;\n    }\n    extendsRendererForExtensions(renderer) {\n      const extendedRenderer = renderer;\n      if (extendedRenderer.ɵNgxMarkdownRendererExtendedForExtensions === true) {\n        return renderer;\n      }\n      if (this.extensions?.length > 0) {\n        marked.use(...this.extensions);\n      }\n      extendedRenderer.ɵNgxMarkdownRendererExtendedForExtensions = true;\n      return renderer;\n    }\n    extendsRendererForMermaid(renderer) {\n      const extendedRenderer = renderer;\n      if (extendedRenderer.ɵNgxMarkdownRendererExtendedForMermaid === true) {\n        return renderer;\n      }\n      const defaultCode = renderer.code;\n      renderer.code = token => {\n        return token.lang === 'mermaid' ? `<div class=\"mermaid\">${token.text}</div>` : defaultCode(token);\n      };\n      extendedRenderer.ɵNgxMarkdownRendererExtendedForMermaid = true;\n      return renderer;\n    }\n    handleExtension(src, markdown) {\n      const urlProtocolIndex = src.lastIndexOf('://');\n      const urlWithoutProtocol = urlProtocolIndex > -1 ? src.substring(urlProtocolIndex + 4) : src;\n      const lastSlashIndex = urlWithoutProtocol.lastIndexOf('/');\n      const lastUrlSegment = lastSlashIndex > -1 ? urlWithoutProtocol.substring(lastSlashIndex + 1).split('?')[0] : '';\n      const lastDotIndex = lastUrlSegment.lastIndexOf('.');\n      const extension = lastDotIndex > -1 ? lastUrlSegment.substring(lastDotIndex + 1) : '';\n      return !!extension && extension !== 'md' ? '```' + extension + '\\n' + markdown + '\\n```' : markdown;\n    }\n    parseMarked(html, markedOptions, inline = false) {\n      if (markedOptions.renderer) {\n        // clone renderer and remove extended flags otherwise\n        // marked throws an error thinking it is a renderer prop\n        const renderer = {\n          ...markedOptions.renderer\n        };\n        delete renderer.ɵNgxMarkdownRendererExtendedForExtensions;\n        delete renderer.ɵNgxMarkdownRendererExtendedForMermaid;\n        // remove renderer from markedOptions because if renderer is\n        // passed to marked.parse method, it will ignore all extensions\n        delete markedOptions.renderer;\n        marked.use({\n          renderer\n        });\n      }\n      return inline ? marked.parseInline(html, markedOptions) : marked.parse(html, markedOptions);\n    }\n    parseEmoji(html) {\n      if (!isPlatformBrowser(this.platform)) {\n        return html;\n      }\n      if (typeof joypixels === 'undefined' || typeof joypixels.shortnameToUnicode === 'undefined') {\n        throw new Error(errorJoyPixelsNotLoaded);\n      }\n      return joypixels.shortnameToUnicode(html);\n    }\n    renderKatex(element, options) {\n      if (!isPlatformBrowser(this.platform)) {\n        return;\n      }\n      if (typeof katex === 'undefined' || typeof renderMathInElement === 'undefined') {\n        throw new Error(errorKatexNotLoaded);\n      }\n      renderMathInElement(element, options);\n    }\n    renderClipboard(element, viewContainerRef, options) {\n      if (!isPlatformBrowser(this.platform)) {\n        return;\n      }\n      if (typeof ClipboardJS === 'undefined') {\n        throw new Error(errorClipboardNotLoaded);\n      }\n      if (!viewContainerRef) {\n        throw new Error(errorClipboardViewContainerRequired);\n      }\n      const {\n        buttonComponent,\n        buttonTemplate\n      } = options;\n      // target every <pre> elements\n      const preElements = element.querySelectorAll('pre');\n      for (let i = 0; i < preElements.length; i++) {\n        const preElement = preElements.item(i);\n        // create <pre> wrapper element\n        const preWrapperElement = document.createElement('div');\n        preWrapperElement.style.position = 'relative';\n        preElement.parentNode.insertBefore(preWrapperElement, preElement);\n        preWrapperElement.appendChild(preElement);\n        // create toolbar element\n        const toolbarWrapperElement = document.createElement('div');\n        toolbarWrapperElement.classList.add('markdown-clipboard-toolbar');\n        toolbarWrapperElement.style.position = 'absolute';\n        toolbarWrapperElement.style.top = '.5em';\n        toolbarWrapperElement.style.right = '.5em';\n        toolbarWrapperElement.style.zIndex = '1';\n        preWrapperElement.insertAdjacentElement('beforeend', toolbarWrapperElement);\n        // register listener to show/hide toolbar\n        preWrapperElement.onmouseenter = () => toolbarWrapperElement.classList.add('hover');\n        preWrapperElement.onmouseleave = () => toolbarWrapperElement.classList.remove('hover');\n        // declare embeddedViewRef holding variable\n        let embeddedViewRef;\n        // use provided component via input property\n        // or provided via ClipboardOptions provider\n        if (buttonComponent) {\n          const componentRef = viewContainerRef.createComponent(buttonComponent);\n          embeddedViewRef = componentRef.hostView;\n          componentRef.changeDetectorRef.markForCheck();\n        }\n        // use provided template via input property\n        else if (buttonTemplate) {\n          embeddedViewRef = viewContainerRef.createEmbeddedView(buttonTemplate);\n        }\n        // use default component\n        else {\n          const componentRef = viewContainerRef.createComponent(ClipboardButtonComponent);\n          embeddedViewRef = componentRef.hostView;\n          componentRef.changeDetectorRef.markForCheck();\n        }\n        // declare clipboard instance variable\n        let clipboardInstance;\n        // attach clipboard.js to root node\n        embeddedViewRef.rootNodes.forEach(node => {\n          toolbarWrapperElement.appendChild(node);\n          clipboardInstance = new ClipboardJS(node, {\n            text: () => preElement.innerText\n          });\n        });\n        // destroy clipboard instance when view is destroyed\n        embeddedViewRef.onDestroy(() => clipboardInstance.destroy());\n      }\n    }\n    renderMermaid(element, options = this.DEFAULT_MERMAID_OPTIONS) {\n      if (!isPlatformBrowser(this.platform)) {\n        return;\n      }\n      if (typeof mermaid === 'undefined' || typeof mermaid.initialize === 'undefined') {\n        throw new Error(errorMermaidNotLoaded);\n      }\n      const mermaidElements = element.querySelectorAll('.mermaid');\n      if (mermaidElements.length === 0) {\n        return;\n      }\n      mermaid.initialize(options);\n      mermaid.run({\n        nodes: mermaidElements\n      });\n    }\n    trimIndentation(markdown) {\n      if (!markdown) {\n        return '';\n      }\n      let indentStart;\n      return markdown.split('\\n').map(line => {\n        let lineIdentStart = indentStart;\n        if (line.length > 0) {\n          lineIdentStart = isNaN(lineIdentStart) ? line.search(/\\S|$/) : Math.min(line.search(/\\S|$/), lineIdentStart);\n        }\n        if (isNaN(indentStart)) {\n          indentStart = lineIdentStart;\n        }\n        return lineIdentStart ? line.substring(lineIdentStart) : line;\n      }).join('\\n');\n    }\n    static {\n      this.ɵfac = function MarkdownService_Factory(__ngFactoryType__) {\n        return new (__ngFactoryType__ || MarkdownService)(i0.ɵɵinject(CLIPBOARD_OPTIONS, 8), i0.ɵɵinject(MARKED_EXTENSIONS, 8), i0.ɵɵinject(MARKED_OPTIONS, 8), i0.ɵɵinject(MERMAID_OPTIONS, 8), i0.ɵɵinject(PLATFORM_ID), i0.ɵɵinject(SECURITY_CONTEXT), i0.ɵɵinject(i1.HttpClient, 8), i0.ɵɵinject(i2.DomSanitizer));\n      };\n    }\n    static {\n      this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n        token: MarkdownService,\n        factory: MarkdownService.ɵfac\n      });\n    }\n  }\n  return MarkdownService;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MarkdownComponent = /*#__PURE__*/(() => {\n  class MarkdownComponent {\n    get disableSanitizer() {\n      return this._disableSanitizer;\n    }\n    set disableSanitizer(value) {\n      this._disableSanitizer = this.coerceBooleanProperty(value);\n    }\n    get inline() {\n      return this._inline;\n    }\n    set inline(value) {\n      this._inline = this.coerceBooleanProperty(value);\n    }\n    // Plugin - clipboard\n    get clipboard() {\n      return this._clipboard;\n    }\n    set clipboard(value) {\n      this._clipboard = this.coerceBooleanProperty(value);\n    }\n    // Plugin - emoji\n    get emoji() {\n      return this._emoji;\n    }\n    set emoji(value) {\n      this._emoji = this.coerceBooleanProperty(value);\n    }\n    // Plugin - katex\n    get katex() {\n      return this._katex;\n    }\n    set katex(value) {\n      this._katex = this.coerceBooleanProperty(value);\n    }\n    // Plugin - mermaid\n    get mermaid() {\n      return this._mermaid;\n    }\n    set mermaid(value) {\n      this._mermaid = this.coerceBooleanProperty(value);\n    }\n    // Plugin - lineHighlight\n    get lineHighlight() {\n      return this._lineHighlight;\n    }\n    set lineHighlight(value) {\n      this._lineHighlight = this.coerceBooleanProperty(value);\n    }\n    // Plugin - lineNumbers\n    get lineNumbers() {\n      return this._lineNumbers;\n    }\n    set lineNumbers(value) {\n      this._lineNumbers = this.coerceBooleanProperty(value);\n    }\n    // Plugin - commandLine\n    get commandLine() {\n      return this._commandLine;\n    }\n    set commandLine(value) {\n      this._commandLine = this.coerceBooleanProperty(value);\n    }\n    constructor(element, markdownService, viewContainerRef) {\n      this.element = element;\n      this.markdownService = markdownService;\n      this.viewContainerRef = viewContainerRef;\n      // Event emitters\n      this.error = new EventEmitter();\n      this.load = new EventEmitter();\n      this.ready = new EventEmitter();\n      this._clipboard = false;\n      this._commandLine = false;\n      this._disableSanitizer = false;\n      this._emoji = false;\n      this._inline = false;\n      this._katex = false;\n      this._lineHighlight = false;\n      this._lineNumbers = false;\n      this._mermaid = false;\n      this.destroyed$ = new Subject();\n    }\n    ngOnChanges() {\n      this.loadContent();\n    }\n    loadContent() {\n      if (this.data != null) {\n        this.handleData();\n        return;\n      }\n      if (this.src != null) {\n        this.handleSrc();\n        return;\n      }\n    }\n    ngAfterViewInit() {\n      if (!this.data && !this.src) {\n        this.handleTransclusion();\n      }\n      this.markdownService.reload$.pipe(takeUntil(this.destroyed$)).subscribe(() => this.loadContent());\n    }\n    ngOnDestroy() {\n      this.destroyed$.next();\n      this.destroyed$.complete();\n    }\n    async render(markdown, decodeHtml = false) {\n      const parsedOptions = {\n        decodeHtml,\n        inline: this.inline,\n        emoji: this.emoji,\n        mermaid: this.mermaid,\n        disableSanitizer: this.disableSanitizer\n      };\n      const renderOptions = {\n        clipboard: this.clipboard,\n        clipboardOptions: this.getClipboardOptions(),\n        katex: this.katex,\n        katexOptions: this.katexOptions,\n        mermaid: this.mermaid,\n        mermaidOptions: this.mermaidOptions\n      };\n      const parsed = await this.markdownService.parse(markdown, parsedOptions);\n      this.element.nativeElement.innerHTML = parsed;\n      this.handlePlugins();\n      this.markdownService.render(this.element.nativeElement, renderOptions, this.viewContainerRef);\n      this.ready.emit();\n    }\n    coerceBooleanProperty(value) {\n      return value != null && `${String(value)}` !== 'false';\n    }\n    getClipboardOptions() {\n      if (this.clipboardButtonComponent || this.clipboardButtonTemplate) {\n        return {\n          buttonComponent: this.clipboardButtonComponent,\n          buttonTemplate: this.clipboardButtonTemplate\n        };\n      }\n      return undefined;\n    }\n    handleData() {\n      this.render(this.data);\n    }\n    handleSrc() {\n      this.markdownService.getSource(this.src).subscribe({\n        next: markdown => {\n          this.render(markdown).then(() => {\n            this.load.emit(markdown);\n          });\n        },\n        error: error => this.error.emit(error)\n      });\n    }\n    handleTransclusion() {\n      this.render(this.element.nativeElement.innerHTML, true);\n    }\n    handlePlugins() {\n      if (this.commandLine) {\n        this.setPluginClass(this.element.nativeElement, PrismPlugin.CommandLine);\n        this.setPluginOptions(this.element.nativeElement, {\n          dataFilterOutput: this.filterOutput,\n          dataHost: this.host,\n          dataPrompt: this.prompt,\n          dataOutput: this.output,\n          dataUser: this.user\n        });\n      }\n      if (this.lineHighlight) {\n        this.setPluginOptions(this.element.nativeElement, {\n          dataLine: this.line,\n          dataLineOffset: this.lineOffset\n        });\n      }\n      if (this.lineNumbers) {\n        this.setPluginClass(this.element.nativeElement, PrismPlugin.LineNumbers);\n        this.setPluginOptions(this.element.nativeElement, {\n          dataStart: this.start\n        });\n      }\n    }\n    setPluginClass(element, plugin) {\n      const preElements = element.querySelectorAll('pre');\n      for (let i = 0; i < preElements.length; i++) {\n        const classes = plugin instanceof Array ? plugin : [plugin];\n        preElements.item(i).classList.add(...classes);\n      }\n    }\n    setPluginOptions(element, options) {\n      const preElements = element.querySelectorAll('pre');\n      for (let i = 0; i < preElements.length; i++) {\n        Object.keys(options).forEach(option => {\n          const attributeValue = options[option];\n          if (attributeValue) {\n            const attributeName = this.toLispCase(option);\n            preElements.item(i).setAttribute(attributeName, attributeValue.toString());\n          }\n        });\n      }\n    }\n    toLispCase(value) {\n      const upperChars = value.match(/([A-Z])/g);\n      if (!upperChars) {\n        return value;\n      }\n      let str = value.toString();\n      for (let i = 0, n = upperChars.length; i < n; i++) {\n        str = str.replace(new RegExp(upperChars[i]), '-' + upperChars[i].toLowerCase());\n      }\n      if (str.slice(0, 1) === '-') {\n        str = str.slice(1);\n      }\n      return str;\n    }\n    static {\n      this.ɵfac = function MarkdownComponent_Factory(__ngFactoryType__) {\n        return new (__ngFactoryType__ || MarkdownComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(MarkdownService), i0.ɵɵdirectiveInject(i0.ViewContainerRef));\n      };\n    }\n    static {\n      this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n        type: MarkdownComponent,\n        selectors: [[\"markdown\"], [\"\", \"markdown\", \"\"]],\n        inputs: {\n          data: \"data\",\n          src: \"src\",\n          disableSanitizer: \"disableSanitizer\",\n          inline: \"inline\",\n          clipboard: \"clipboard\",\n          clipboardButtonComponent: \"clipboardButtonComponent\",\n          clipboardButtonTemplate: \"clipboardButtonTemplate\",\n          emoji: \"emoji\",\n          katex: \"katex\",\n          katexOptions: \"katexOptions\",\n          mermaid: \"mermaid\",\n          mermaidOptions: \"mermaidOptions\",\n          lineHighlight: \"lineHighlight\",\n          line: \"line\",\n          lineOffset: \"lineOffset\",\n          lineNumbers: \"lineNumbers\",\n          start: \"start\",\n          commandLine: \"commandLine\",\n          filterOutput: \"filterOutput\",\n          host: \"host\",\n          prompt: \"prompt\",\n          output: \"output\",\n          user: \"user\"\n        },\n        outputs: {\n          error: \"error\",\n          load: \"load\",\n          ready: \"ready\"\n        },\n        features: [i0.ɵɵNgOnChangesFeature],\n        ngContentSelectors: _c0,\n        decls: 1,\n        vars: 0,\n        template: function MarkdownComponent_Template(rf, ctx) {\n          if (rf & 1) {\n            i0.ɵɵprojectionDef();\n            i0.ɵɵprojection(0);\n          }\n        },\n        encapsulation: 2\n      });\n    }\n  }\n  return MarkdownComponent;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MarkdownPipe = /*#__PURE__*/(() => {\n  class MarkdownPipe {\n    constructor(domSanitizer, elementRef, markdownService, viewContainerRef, zone) {\n      this.domSanitizer = domSanitizer;\n      this.elementRef = elementRef;\n      this.markdownService = markdownService;\n      this.viewContainerRef = viewContainerRef;\n      this.zone = zone;\n    }\n    async transform(value, options) {\n      if (value == null) {\n        return '';\n      }\n      if (typeof value !== 'string') {\n        console.error(`MarkdownPipe has been invoked with an invalid value type [${typeof value}]`);\n        return value;\n      }\n      const markdown = await this.markdownService.parse(value, options);\n      this.zone.onStable.pipe(first()).subscribe(() => this.markdownService.render(this.elementRef.nativeElement, options, this.viewContainerRef));\n      return this.domSanitizer.bypassSecurityTrustHtml(markdown);\n    }\n    static {\n      this.ɵfac = function MarkdownPipe_Factory(__ngFactoryType__) {\n        return new (__ngFactoryType__ || MarkdownPipe)(i0.ɵɵdirectiveInject(i2.DomSanitizer, 16), i0.ɵɵdirectiveInject(i0.ElementRef, 16), i0.ɵɵdirectiveInject(MarkdownService, 16), i0.ɵɵdirectiveInject(i0.ViewContainerRef, 16), i0.ɵɵdirectiveInject(i0.NgZone, 16));\n      };\n    }\n    static {\n      this.ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n        name: \"markdown\",\n        type: MarkdownPipe,\n        pure: true\n      });\n    }\n  }\n  return MarkdownPipe;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction provideMarkdown(markdownModuleConfig) {\n  return [MarkdownService, markdownModuleConfig?.loader ?? [], markdownModuleConfig?.clipboardOptions ?? [], markdownModuleConfig?.markedOptions ?? [], markdownModuleConfig?.mermaidOptions ?? [], getMarkedExtensionProvider(markdownModuleConfig?.markedExtensions) ?? [], {\n    provide: SECURITY_CONTEXT,\n    useValue: markdownModuleConfig?.sanitize ?? SecurityContext.HTML\n  }];\n}\n;\n;\nfunction isTypedProvider(provider) {\n  return provider != null && provider.provide != null;\n}\nfunction getMarkedExtensionProvider(markedExtensions) {\n  if (!markedExtensions) {\n    return undefined;\n  }\n  return markedExtensions.reduce((acc, markedExtension) => {\n    const provider = isTypedProvider(markedExtension) ? {\n      ...markedExtension,\n      multi: true\n    } : {\n      provide: MARKED_EXTENSIONS,\n      useValue: markedExtension,\n      multi: true\n    };\n    return [...acc, provider];\n  }, []);\n}\nconst sharedDeclarations = [ClipboardButtonComponent, LanguagePipe, MarkdownComponent, MarkdownPipe];\nlet MarkdownModule = /*#__PURE__*/(() => {\n  class MarkdownModule {\n    static forRoot(markdownModuleConfig) {\n      return {\n        ngModule: MarkdownModule,\n        providers: [provideMarkdown(markdownModuleConfig)]\n      };\n    }\n    static forChild() {\n      return {\n        ngModule: MarkdownModule\n      };\n    }\n    static {\n      this.ɵfac = function MarkdownModule_Factory(__ngFactoryType__) {\n        return new (__ngFactoryType__ || MarkdownModule)();\n      };\n    }\n    static {\n      this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n        type: MarkdownModule\n      });\n    }\n    static {\n      this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n        imports: [CommonModule]\n      });\n    }\n  }\n  return MarkdownModule;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CLIPBOARD_OPTIONS, ClipboardButtonComponent, ExtendedRenderer, KatexSpecificOptions, LanguagePipe, MARKED_EXTENSIONS, MARKED_OPTIONS, MERMAID_OPTIONS, MarkdownComponent, MarkdownModule, MarkdownPipe, MarkdownService, PrismPlugin, SECURITY_CONTEXT, errorClipboardNotLoaded, errorClipboardViewContainerRequired, errorJoyPixelsNotLoaded, errorKatexNotLoaded, errorMermaidNotLoaded, errorSrcWithoutHttpClient, getMarkedExtensionProvider, isTypedProvider, provideMarkdown };\n","import {inject, Inject, Injectable, PLATFORM_ID} from '@angular/core';\r\nimport {Meta, Title} from '@angular/platform-browser';\r\nimport {BlogArticle} from '../interfaces/blogArticle.interface';\r\nimport {environment} from '../../../environment/environment';\r\nimport {isPlatformBrowser} from '@angular/common';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class SeoService {\r\n\r\n  private schemaScript?: HTMLScriptElement;\r\nprivate platformId =   inject(PLATFORM_ID);\r\n\r\n  constructor(private titleService: Title,\r\n              private meta: Meta) {\r\n  }\r\n\r\n  setBlogPostingSchema(article: BlogArticle): void {\r\n\r\n    this.removeSchema();\r\n    const baseUrl = environment.baseUrl;\r\n\r\n    const schema = {\r\n      '@context': 'https://schema.org',\r\n      '@type': 'BlogPosting',\r\n\r\n      headline: article.title,\r\n\r\n      description: article.excerpt,\r\n\r\n      image: [\r\n        `${baseUrl}/${article.coverImage.replace(/^\\//, '')}`\r\n      ],\r\n\r\n      datePublished: article.publishedAt,\r\n\r\n      dateModified:\r\n        article.updatedAt ??\r\n        article.publishedAt,\r\n\r\n      articleSection:\r\n      article.category,\r\n\r\n      keywords:\r\n        article.tags.join(', '),\r\n\r\n      author: {\r\n        '@type': 'Person',\r\n        name: 'Cristian TUDOROIU'\r\n      },\r\n\r\n      publisher: {\r\n        '@type': 'Organization',\r\n        name: 'TGC Studios',\r\n        logo: {\r\n          '@type': 'ImageObject',\r\n          url: `${baseUrl}/assets/img/logo.webp`\r\n        }\r\n      },\r\n\r\n      mainEntityOfPage: {\r\n        '@type': 'WebPage',\r\n        '@id': `${baseUrl}/blog/${article.slug}`\r\n      }\r\n    };\r\n\r\n    if (!isPlatformBrowser(this.platformId)) return;\r\n    this.schemaScript =\r\n      document.createElement('script');\r\n\r\n    this.schemaScript.type =\r\n      'application/ld+json';\r\n\r\n    this.schemaScript.textContent =\r\n      JSON.stringify(schema);\r\n\r\n    document.head.appendChild(\r\n      this.schemaScript\r\n    );\r\n  }\r\n\r\n  removeSchema(): void {\r\n    this.schemaScript?.remove();\r\n  }\r\n}\r\n","import {AfterViewInit, Component, ElementRef, inject, OnDestroy, OnInit, ViewChild} from '@angular/core';\r\nimport {BlogService} from '../../services/blog.service';\r\nimport {ActivatedRoute, Router, RouterLink} from '@angular/router';\r\nimport {\r\n  LucideArrowLeft,\r\n  LucideCalendar,\r\n  LucideClock4, LucideGlobe,\r\n  LucideRepeat2\r\n} from '@lucide/angular';\r\nimport {DatePipe} from '@angular/common';\r\nimport {MarkdownComponent} from 'ngx-markdown';\r\n\r\nimport {PLATFORM_ID} from '@angular/core';\r\nimport {isPlatformBrowser} from '@angular/common';\r\nimport {myInfo} from '../../../../core/data/my-data';\r\nimport {NewsletterComponent} from '../../components/newsletter/newsletter.component';\r\nimport {ProjectCtaComponent} from '../../components/project-cta/project-cta.component';\r\nimport {BlogArticle} from '../../../../core/interfaces/blogArticle.interface';\r\nimport {SeoService} from '../../../../core/services/seo.service';\r\nimport {ArticleCardComponent} from '../../components/blog-article/article-card.component';\r\n\r\n\r\n\r\n@Component({\r\n  selector: 'app-blog-detail',\r\n  imports: [\r\n    LucideArrowLeft,\r\n    DatePipe,\r\n    LucideClock4,\r\n    LucideCalendar,\r\n    MarkdownComponent,\r\n    RouterLink,\r\n    NewsletterComponent,\r\n    ProjectCtaComponent,\r\n    LucideRepeat2,\r\n    ArticleCardComponent,\r\n    LucideGlobe\r\n  ],\r\n  templateUrl: './blog-detail.component.html',\r\n  styleUrl: './blog-detail.component.sass'\r\n})\r\nexport class BlogDetailComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n  private blogService = inject(BlogService);\r\n  private route = inject(ActivatedRoute);\r\n  private seoService = inject(SeoService);\r\n  private router = inject(Router);\r\n\r\n  protected article !: BlogArticle | undefined;\r\n  protected relatedArticles: BlogArticle[] = [];\r\n  summary: { id: string, title: string }[] = [];\r\n  @ViewChild('articleContent')\r\n  articleContent!: ElementRef;\r\n  private platformId = inject(PLATFORM_ID);\r\n  activeHeading = '';\r\n  private observer?: IntersectionObserver;\r\n\r\n  mydata = myInfo;\r\n\r\n\r\n  ngOnInit(): void {\r\n    this.route.data.subscribe(({ articleData }) => {\r\n\r\n      this.article = articleData.article;\r\n      this.relatedArticles = articleData.relatedArticles;\r\n\r\n      if (!this.article) {\r\n        this.router.navigate(['/']);\r\n        return;\r\n      }\r\n\r\n      this.seoService.setBlogPostingSchema(this.article);\r\n\r\n      this.summary = this.blogService.generateSummary(\r\n        this.article.content\r\n      );\r\n\r\n      if (isPlatformBrowser(this.platformId)) {\r\n        setTimeout(() => this.initSummaryObserver());\r\n      }\r\n    });\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    if (!isPlatformBrowser(this.platformId)) {\r\n      return;\r\n    }\r\n    this.initSummaryObserver();\r\n  }\r\n\r\n  private initSummaryObserver(): void {\r\n\r\n    this.observer?.disconnect();\r\n\r\n    setTimeout(() => {\r\n\r\n      const headings =\r\n        this.articleContent.nativeElement.querySelectorAll('h2');\r\n\r\n      if (!headings.length) {\r\n        return;\r\n      }\r\n\r\n      headings.forEach((heading: HTMLElement) => {\r\n\r\n        heading.id = this.blogService.generateHeadingId(\r\n          heading.textContent ?? ''\r\n        );\r\n\r\n      });\r\n\r\n      this.observer = new IntersectionObserver(\r\n        (entries) => {\r\n\r\n          entries.forEach(entry => {\r\n\r\n            if (entry.isIntersecting) {\r\n              this.activeHeading =\r\n                (entry.target as HTMLElement).id;\r\n            }\r\n\r\n          });\r\n\r\n        },\r\n        {\r\n          rootMargin: '-100px 0px -70% 0px'\r\n        }\r\n      );\r\n\r\n      headings.forEach((heading: HTMLElement) => {\r\n        this.observer?.observe(heading);\r\n      });\r\n\r\n    });\r\n\r\n  }\r\n\r\n  scrollTo(id: string) {\r\n    const element = document.getElementById(id);\r\n\r\n    if (!element) {\r\n      return;\r\n    }\r\n\r\n    element.scrollIntoView({\r\n      behavior: 'smooth',\r\n      block: 'start'\r\n    });\r\n\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.observer?.disconnect();\r\n    this.seoService.removeSchema();\r\n  }\r\n\r\n}\r\n","@if (article){\r\n  <section class=\"blog-detail-container\" >\r\n    <section class=\"blog-detail\">\r\n      <div class=\"blog-detail-header\">\r\n        <a routerLink=\"/blog\" class=\"back-btn\">\r\n          <svg lucideArrowLeft class=\"icon\"></svg>\r\n          Retour au blog</a>\r\n        <div class=\"header-meta\">\r\n          <span class=\"article-category\">{{ article.category }}</span>\r\n          <div class=\"infos\">\r\n          <span class=\"article-reading-time\"><svg lucideClock4 class=\"icon\" ></svg>\r\n            {{ article.readingTime }}min</span>\r\n            <time\r\n              class=\"article-date\"\r\n              [attr.datetime]=\"article.publishedAt\">\r\n\r\n              <svg lucideCalendar class=\"icon\"></svg>\r\n              {{ article.publishedAt | date:'dd MMMM yyyy' }}\r\n\r\n            </time>\r\n            @if (article.updatedAt) {\r\n              <time>\r\n                <svg lucideRepeat2 class=\"icon\"></svg>\r\n                {{ article.updatedAt | date:'dd MMMM yyyy' }}\r\n              </time>\r\n            }\r\n          </div>\r\n        </div>\r\n        <h1 class=\"article-title\">{{ article.title }}</h1>\r\n      </div>\r\n      <div class=\"article-image\">\r\n        <img\r\n          [src]=\"'assets/img/blog/cover/'+article.coverImage\"\r\n          [alt]=\"article.title\"\r\n          width=\"1200\"\r\n          height=\"630\"\r\n          fetchpriority=\"high\">\r\n      </div>\r\n      <div class=\"article-body\">\r\n        <div class=\"article-content\" #articleContent>\r\n          <markdown [data]=\"article.content\" class=\"blog-content\"></markdown>\r\n          <div class=\"author-content\">\r\n            <div class=\"author-avatar\">\r\n              <span>TGC</span>\r\n            </div>\r\n            <div class=\"content\">\r\n              <h5 class=\"nom\">Cristian TUDOROIU</h5>\r\n              <h6 class=\"metier\">Développeur Fullstack Freelance</h6>\r\n              <p class=\"texte\">Développeur web freelance passionné par la création d'interfaces performantes et\r\n                l'optimisation SEO. J'aide les entreprises à transformer leur présence en ligne en véritable levier de\r\n                croissance.</p>\r\n              <div class=\"icons\">\r\n                <a href=\"{{mydata.linkedinLink}}\" target=\"_blank\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 640 640\" fill=\"currentColor\"><path d=\"M196.3 512L103.4 512L103.4 212.9L196.3 212.9L196.3 512zM149.8 172.1C120.1 172.1 96 147.5 96 117.8C96 103.5 101.7 89.9 111.8 79.8C121.9 69.7 135.6 64 149.8 64C164 64 177.7 69.7 187.8 79.8C197.9 89.9 203.6 103.6 203.6 117.8C203.6 147.5 179.5 172.1 149.8 172.1zM543.9 512L451.2 512L451.2 366.4C451.2 331.7 450.5 287.2 402.9 287.2C354.6 287.2 347.2 324.9 347.2 363.9L347.2 512L254.4 512L254.4 212.9L343.5 212.9L343.5 253.7L344.8 253.7C357.2 230.2 387.5 205.4 432.7 205.4C526.7 205.4 544 267.3 544 347.7L544 512L543.9 512z\"/></svg></a>\r\n                <a href=\"https://www.cristian-tudoroiu.fr\" target=\"_blank\"> <svg lucideGlobe class=\"icon\"></svg></a>\r\n                <a href=\"{{mydata.googleLink}}\" target=\"_blank\"> <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\" width=\"24\" height=\"24\" fill=\"currentColor\"><path d=\"M564 325.8C564 467.3 467.1 568 324 568C186.8 568 76 457.2 76 320C76 182.8 186.8 72 324 72C390.8 72 447 96.5 490.3 136.9L422.8 201.8C334.5 116.6 170.3 180.6 170.3 320C170.3 406.5 239.4 476.6 324 476.6C422.2 476.6 459 406.2 464.8 369.7L324 369.7L324 284.4L560.1 284.4C562.4 297.1 564 309.3 564 325.8z\"/></svg></a>\r\n\r\n\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <aside class=\"article-summary\">\r\n\r\n          <div class=\"summary-card\">\r\n\r\n            <h3>Sommaire</h3>\r\n\r\n            @for (item of summary; track item.id) {\r\n\r\n              <a (click)=\"scrollTo(item.id)\" [class.active]=\"activeHeading === item.id\">\r\n                {{ item.title }}\r\n              </a>\r\n\r\n            }\r\n\r\n          </div>\r\n\r\n        </aside>\r\n      </div>\r\n    </section>\r\n    <section class=\"related-articles\">\r\n      <div class=\"related-articles-header\">\r\n        <h6 class=\"subtitle\">Continuez votre lecture</h6>\r\n        <h2 class=\"title\">Articles similaires</h2>\r\n        <p class=\"texte\">Découvrez d'autres ressources séléctionnées pour approfondir le sujet et faire passer votre présence en ligne\r\n          au niveau supérieur.\r\n        </p>\r\n\r\n      </div>\r\n      <div class=\"list-related-articles\">\r\n        @if (relatedArticles.length > 0) {\r\n          @for (relatedArticle of relatedArticles; track relatedArticle.id) {\r\n            <app-article-card [article]=\"relatedArticle\"></app-article-card>\r\n          }\r\n        }\r\n\r\n\r\n\r\n      </div>\r\n    </section>\r\n    <app-newsletter></app-newsletter>\r\n    <app-project-cta></app-project-cta>\r\n  </section>\r\n\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { ResolveFn, Router } from '@angular/router';\r\nimport { catchError, EMPTY,delay } from 'rxjs';\r\n\r\nimport { BlogService } from '../services/blog.service';\r\nimport {BlogArticleDetailResponse} from '../../../core/interfaces/BlogArticleDetailResponse';\r\n\r\nexport const articleResolver: ResolveFn<BlogArticleDetailResponse> = (route) => {\r\n  const blogService = inject(BlogService);\r\n  const router = inject(Router);\r\n\r\n  const slug = route.paramMap.get('slug')!;\r\n\r\n  return blogService.getArticleBySlug(slug).pipe(\r\n    catchError(() => {\r\n      router.navigate(['/']);\r\n      return EMPTY;\r\n    })\r\n  )\r\n};\r\n","import { Routes } from '@angular/router';\r\nimport { HomeComponent } from './pages/home/home.component';\r\nimport {FaqPageComponent} from './pages/faq-page/faq-page.component';\r\nimport {MentionsLegalesComponent} from './pages/mentions-legales/mentions-legales.component';\r\nimport {\r\n  PolitiqueDeConfidentialiteComponent\r\n} from './pages/politique-de-confidentialite/politique-de-confidentialite.component';\r\nimport {\r\n  ConditionsGeneralesPrestationComponent\r\n} from './pages/conditions-generales-prestation/conditions-generales-prestation.component';\r\nimport {\r\n  GoogleAdsLandingPageComponent\r\n} from './pages/landing-pages/google-ads-landing-page/google-ads-landing-page.component';\r\nimport {BlogComponent} from './pages/blog/pages/blog-list/blog.component';\r\nimport {BlogDetailComponent} from './pages/blog/pages/blog-detail/blog-detail.component';\r\nimport {articleResolver} from './pages/blog/resolvers/article.resolver';\r\n\r\n\r\nexport const routes: Routes = [\r\n  { path: '', component: HomeComponent },\r\n  {path: 'questions-frequentes', component: FaqPageComponent},\r\n  { path: 'mentions-legales', component: MentionsLegalesComponent },\r\n  { path: 'politique-de-confidentialite', component: PolitiqueDeConfidentialiteComponent },\r\n  { path: 'conditions-generales-prestation', component: ConditionsGeneralesPrestationComponent },\r\n  {path:\"landing-page\",component:GoogleAdsLandingPageComponent},\r\n  {path:\"blog\",component:BlogComponent},\r\n  {path:\"blog/:slug\",component:BlogDetailComponent,resolve:{\r\n      articleData: articleResolver\r\n    },},\r\n  {path: '**', redirectTo: ''}\r\n];\r\n\r\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { ANIMATION_MODULE_TYPE, NgZone, RendererFactory2, Inject, Injectable, ɵperformanceMarkFeature as _performanceMarkFeature, NgModule } from '@angular/core';\nexport { ANIMATION_MODULE_TYPE } from '@angular/core';\nimport * as i1 from '@angular/animations/browser';\nimport { NoopAnimationDriver, AnimationDriver, ɵAnimationStyleNormalizer as _AnimationStyleNormalizer, ɵAnimationEngine as _AnimationEngine, ɵWebAnimationsDriver as _WebAnimationsDriver, ɵWebAnimationsStyleNormalizer as _WebAnimationsStyleNormalizer, ɵAnimationRendererFactory as _AnimationRendererFactory } from '@angular/animations/browser';\nimport { DOCUMENT } from '@angular/common';\nimport { DomRendererFactory2 } from './dom_renderer-DGKzginR.mjs';\nimport { BrowserModule } from './browser-0WrrQdE0.mjs';\nlet InjectableAnimationEngine = /*#__PURE__*/(() => {\n  class InjectableAnimationEngine extends _AnimationEngine {\n    // The `ApplicationRef` is injected here explicitly to force the dependency ordering.\n    // Since the `ApplicationRef` should be created earlier before the `AnimationEngine`, they\n    // both have `ngOnDestroy` hooks and `flush()` must be called after all views are destroyed.\n    constructor(doc, driver, normalizer) {\n      super(doc, driver, normalizer);\n    }\n    ngOnDestroy() {\n      this.flush();\n    }\n    static ɵfac = function InjectableAnimationEngine_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || InjectableAnimationEngine)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i1.AnimationDriver), i0.ɵɵinject(i1.ɵAnimationStyleNormalizer));\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: InjectableAnimationEngine,\n      factory: InjectableAnimationEngine.ɵfac\n    });\n  }\n  return InjectableAnimationEngine;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction instantiateDefaultStyleNormalizer() {\n  return new _WebAnimationsStyleNormalizer();\n}\nfunction instantiateRendererFactory(renderer, engine, zone) {\n  return new _AnimationRendererFactory(renderer, engine, zone);\n}\nconst SHARED_ANIMATION_PROVIDERS = [{\n  provide: _AnimationStyleNormalizer,\n  useFactory: instantiateDefaultStyleNormalizer\n}, {\n  provide: _AnimationEngine,\n  useClass: InjectableAnimationEngine\n}, {\n  provide: RendererFactory2,\n  useFactory: instantiateRendererFactory,\n  deps: [DomRendererFactory2, _AnimationEngine, NgZone]\n}];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nconst BROWSER_NOOP_ANIMATIONS_PROVIDERS = [{\n  provide: AnimationDriver,\n  useClass: NoopAnimationDriver\n}, {\n  provide: ANIMATION_MODULE_TYPE,\n  useValue: 'NoopAnimations'\n}, ...SHARED_ANIMATION_PROVIDERS];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nconst BROWSER_ANIMATIONS_PROVIDERS = [\n// Note: the `ngServerMode` happen inside factories to give the variable time to initialize.\n{\n  provide: AnimationDriver,\n  useFactory: () => typeof ngServerMode !== 'undefined' && ngServerMode ? new NoopAnimationDriver() : new _WebAnimationsDriver()\n}, {\n  provide: ANIMATION_MODULE_TYPE,\n  useFactory: () => typeof ngServerMode !== 'undefined' && ngServerMode ? 'NoopAnimations' : 'BrowserAnimations'\n}, ...SHARED_ANIMATION_PROVIDERS];\n\n/**\n * Exports `BrowserModule` with additional dependency-injection providers\n * for use with animations. See [Animations](guide/animations).\n * @publicApi\n */\nlet BrowserAnimationsModule = /*#__PURE__*/(() => {\n  class BrowserAnimationsModule {\n    /**\n     * Configures the module based on the specified object.\n     *\n     * @param config Object used to configure the behavior of the `BrowserAnimationsModule`.\n     * @see {@link BrowserAnimationsModuleConfig}\n     *\n     * @usageNotes\n     * When registering the `BrowserAnimationsModule`, you can use the `withConfig`\n     * function as follows:\n     * ```ts\n     * @NgModule({\n     *   imports: [BrowserAnimationsModule.withConfig(config)]\n     * })\n     * class MyNgModule {}\n     * ```\n     */\n    static withConfig(config) {\n      return {\n        ngModule: BrowserAnimationsModule,\n        providers: config.disableAnimations ? BROWSER_NOOP_ANIMATIONS_PROVIDERS : BROWSER_ANIMATIONS_PROVIDERS\n      };\n    }\n    static ɵfac = function BrowserAnimationsModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || BrowserAnimationsModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: BrowserAnimationsModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      providers: BROWSER_ANIMATIONS_PROVIDERS,\n      imports: [BrowserModule]\n    });\n  }\n  return BrowserAnimationsModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Returns the set of dependency-injection providers\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```ts\n * bootstrapApplication(RootComponent, {\n *   providers: [\n *     provideAnimations()\n *   ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideAnimations() {\n  _performanceMarkFeature('NgEagerAnimations');\n  // Return a copy to prevent changes to the original array in case any in-place\n  // alterations are performed to the `provideAnimations` call results in app code.\n  return [...BROWSER_ANIMATIONS_PROVIDERS];\n}\n/**\n * A null player that must be imported to allow disabling of animations.\n * @publicApi\n */\nlet NoopAnimationsModule = /*#__PURE__*/(() => {\n  class NoopAnimationsModule {\n    static ɵfac = function NoopAnimationsModule_Factory(__ngFactoryType__) {\n      return new (__ngFactoryType__ || NoopAnimationsModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: NoopAnimationsModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n      imports: [BrowserModule]\n    });\n  }\n  return NoopAnimationsModule;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Returns the set of dependency-injection providers\n * to disable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to bootstrap an application using\n * the `bootstrapApplication` function, but you need to disable animations\n * (for example, when running tests).\n *\n * ```ts\n * bootstrapApplication(RootComponent, {\n *   providers: [\n *     provideNoopAnimations()\n *   ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideNoopAnimations() {\n  // Return a copy to prevent changes to the original array in case any in-place\n  // alterations are performed to the `provideNoopAnimations` call results in app code.\n  return [...BROWSER_NOOP_ANIMATIONS_PROVIDERS];\n}\nexport { BrowserAnimationsModule, NoopAnimationsModule, provideAnimations, provideNoopAnimations, InjectableAnimationEngine as ɵInjectableAnimationEngine };\n","/**\n * @license Angular v19.2.20\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, inject, Injector, ɵRuntimeError as _RuntimeError, ɵChangeDetectionScheduler as _ChangeDetectionScheduler, Injectable, ɵperformanceMarkFeature as _performanceMarkFeature, makeEnvironmentProviders, NgZone, RendererFactory2, ANIMATION_MODULE_TYPE } from '@angular/core';\nimport { DomRendererFactory2 } from '../dom_renderer-DGKzginR.mjs';\nconst ANIMATION_PREFIX = '@';\nlet AsyncAnimationRendererFactory = /*#__PURE__*/(() => {\n  class AsyncAnimationRendererFactory {\n    doc;\n    delegate;\n    zone;\n    animationType;\n    moduleImpl;\n    _rendererFactoryPromise = null;\n    scheduler = null;\n    injector = inject(Injector);\n    loadingSchedulerFn = inject(ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN, {\n      optional: true\n    });\n    _engine;\n    /**\n     *\n     * @param moduleImpl allows to provide a mock implmentation (or will load the animation module)\n     */\n    constructor(doc, delegate, zone, animationType, moduleImpl) {\n      this.doc = doc;\n      this.delegate = delegate;\n      this.zone = zone;\n      this.animationType = animationType;\n      this.moduleImpl = moduleImpl;\n    }\n    /** @docs-private */\n    ngOnDestroy() {\n      // When the root view is removed, the renderer defers the actual work to the\n      // `TransitionAnimationEngine` to do this, and the `TransitionAnimationEngine` doesn't actually\n      // remove the DOM node, but just calls `markElementAsRemoved()`. The actual DOM node is not\n      // removed until `TransitionAnimationEngine` \"flushes\".\n      // Note: we already flush on destroy within the `InjectableAnimationEngine`. The injectable\n      // engine is not provided when async animations are used.\n      this._engine?.flush();\n    }\n    /**\n     * @internal\n     */\n    loadImpl() {\n      // Note on the `.then(m => m)` part below: Closure compiler optimizations in g3 require\n      // `.then` to be present for a dynamic import (or an import should be `await`ed) to detect\n      // the set of imported symbols.\n      const loadFn = () => this.moduleImpl ?? import('@angular/animations/browser').then(m => m);\n      let moduleImplPromise;\n      if (this.loadingSchedulerFn) {\n        moduleImplPromise = this.loadingSchedulerFn(loadFn);\n      } else {\n        moduleImplPromise = loadFn();\n      }\n      return moduleImplPromise.catch(e => {\n        throw new _RuntimeError(5300 /* RuntimeErrorCode.ANIMATION_RENDERER_ASYNC_LOADING_FAILURE */, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Async loading for animations package was ' + 'enabled, but loading failed. Angular falls back to using regular rendering. ' + \"No animations will be displayed and their styles won't be applied.\");\n      }).then(({\n        ɵcreateEngine,\n        ɵAnimationRendererFactory\n      }) => {\n        // We can't create the renderer yet because we might need the hostElement and the type\n        // Both are provided in createRenderer().\n        this._engine = ɵcreateEngine(this.animationType, this.doc);\n        const rendererFactory = new ɵAnimationRendererFactory(this.delegate, this._engine, this.zone);\n        this.delegate = rendererFactory;\n        return rendererFactory;\n      });\n    }\n    /**\n     * This method is delegating the renderer creation to the factories.\n     * It uses default factory while the animation factory isn't loaded\n     * and will rely on the animation factory once it is loaded.\n     *\n     * Calling this method will trigger as side effect the loading of the animation module\n     * if the renderered component uses animations.\n     */\n    createRenderer(hostElement, rendererType) {\n      const renderer = this.delegate.createRenderer(hostElement, rendererType);\n      if (renderer.ɵtype === 0 /* AnimationRendererType.Regular */) {\n        // The factory is already loaded, this is an animation renderer\n        return renderer;\n      }\n      // We need to prevent the DomRenderer to throw an error because of synthetic properties\n      if (typeof renderer.throwOnSyntheticProps === 'boolean') {\n        renderer.throwOnSyntheticProps = false;\n      }\n      // Using a dynamic renderer to switch the renderer implementation once the module is loaded.\n      const dynamicRenderer = new DynamicDelegationRenderer(renderer);\n      // Kick off the module loading if the component uses animations but the module hasn't been\n      // loaded yet.\n      if (rendererType?.data?.['animation'] && !this._rendererFactoryPromise) {\n        this._rendererFactoryPromise = this.loadImpl();\n      }\n      this._rendererFactoryPromise?.then(animationRendererFactory => {\n        const animationRenderer = animationRendererFactory.createRenderer(hostElement, rendererType);\n        dynamicRenderer.use(animationRenderer);\n        this.scheduler ??= this.injector.get(_ChangeDetectionScheduler, null, {\n          optional: true\n        });\n        this.scheduler?.notify(10 /* NotificationSource.AsyncAnimationsLoaded */);\n      }).catch(e => {\n        // Permanently use regular renderer when loading fails.\n        dynamicRenderer.use(renderer);\n      });\n      return dynamicRenderer;\n    }\n    begin() {\n      this.delegate.begin?.();\n    }\n    end() {\n      this.delegate.end?.();\n    }\n    whenRenderingDone() {\n      return this.delegate.whenRenderingDone?.() ?? Promise.resolve();\n    }\n    /**\n     * Used during HMR to clear any cached data about a component.\n     * @param componentId ID of the component that is being replaced.\n     */\n    componentReplaced(componentId) {\n      // Flush the engine since the renderer destruction waits for animations to be done.\n      this._engine?.flush();\n      this.delegate.componentReplaced?.(componentId);\n    }\n    static ɵfac = function AsyncAnimationRendererFactory_Factory(__ngFactoryType__) {\n      i0.ɵɵinvalidFactory();\n    };\n    static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n      token: AsyncAnimationRendererFactory,\n      factory: AsyncAnimationRendererFactory.ɵfac\n    });\n  }\n  return AsyncAnimationRendererFactory;\n})();\n/*#__PURE__*/(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * The class allows to dynamicly switch between different renderer implementations\n * by changing the delegate renderer.\n */\nclass DynamicDelegationRenderer {\n  delegate;\n  // List of callbacks that need to be replayed on the animation renderer once its loaded\n  replay = [];\n  ɵtype = 1 /* AnimationRendererType.Delegated */;\n  constructor(delegate) {\n    this.delegate = delegate;\n  }\n  use(impl) {\n    this.delegate = impl;\n    if (this.replay !== null) {\n      // Replay queued actions using the animation renderer to apply\n      // all events and properties collected while loading was in progress.\n      for (const fn of this.replay) {\n        fn(impl);\n      }\n      // Set to `null` to indicate that the queue was processed\n      // and we no longer need to collect events and properties.\n      this.replay = null;\n    }\n  }\n  get data() {\n    return this.delegate.data;\n  }\n  destroy() {\n    this.replay = null;\n    this.delegate.destroy();\n  }\n  createElement(name, namespace) {\n    return this.delegate.createElement(name, namespace);\n  }\n  createComment(value) {\n    return this.delegate.createComment(value);\n  }\n  createText(value) {\n    return this.delegate.createText(value);\n  }\n  get destroyNode() {\n    return this.delegate.destroyNode;\n  }\n  appendChild(parent, newChild) {\n    this.delegate.appendChild(parent, newChild);\n  }\n  insertBefore(parent, newChild, refChild, isMove) {\n    this.delegate.insertBefore(parent, newChild, refChild, isMove);\n  }\n  removeChild(parent, oldChild, isHostElement) {\n    this.delegate.removeChild(parent, oldChild, isHostElement);\n  }\n  selectRootElement(selectorOrNode, preserveContent) {\n    return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n  }\n  parentNode(node) {\n    return this.delegate.parentNode(node);\n  }\n  nextSibling(node) {\n    return this.delegate.nextSibling(node);\n  }\n  setAttribute(el, name, value, namespace) {\n    this.delegate.setAttribute(el, name, value, namespace);\n  }\n  removeAttribute(el, name, namespace) {\n    this.delegate.removeAttribute(el, name, namespace);\n  }\n  addClass(el, name) {\n    this.delegate.addClass(el, name);\n  }\n  removeClass(el, name) {\n    this.delegate.removeClass(el, name);\n  }\n  setStyle(el, style, value, flags) {\n    this.delegate.setStyle(el, style, value, flags);\n  }\n  removeStyle(el, style, flags) {\n    this.delegate.removeStyle(el, style, flags);\n  }\n  setProperty(el, name, value) {\n    // We need to keep track of animation properties set on default renderer\n    // So we can also set them also on the animation renderer\n    if (this.shouldReplay(name)) {\n      this.replay.push(renderer => renderer.setProperty(el, name, value));\n    }\n    this.delegate.setProperty(el, name, value);\n  }\n  setValue(node, value) {\n    this.delegate.setValue(node, value);\n  }\n  listen(target, eventName, callback, options) {\n    // We need to keep track of animation events registred by the default renderer\n    // So we can also register them against the animation renderer\n    if (this.shouldReplay(eventName)) {\n      this.replay.push(renderer => renderer.listen(target, eventName, callback, options));\n    }\n    return this.delegate.listen(target, eventName, callback, options);\n  }\n  shouldReplay(propOrEventName) {\n    //`null` indicates that we no longer need to collect events and properties\n    return this.replay !== null && propOrEventName.startsWith(ANIMATION_PREFIX);\n  }\n}\n/**\n * Provides a custom scheduler function for the async loading of the animation package.\n *\n * Private token for investigation purposes\n */\nconst ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN = /*#__PURE__*/new InjectionToken(ngDevMode ? 'async_animation_loading_scheduler_fn' : '');\n\n/**\n * Returns the set of dependency-injection providers\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * When you use this function instead of the eager `provideAnimations()`, animations won't be\n * rendered until the renderer is loaded.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```ts\n * bootstrapApplication(RootComponent, {\n *   providers: [\n *     provideAnimationsAsync()\n *   ]\n * });\n * ```\n *\n * @param type pass `'noop'` as argument to disable animations.\n *\n * @publicApi\n */\nfunction provideAnimationsAsync(type = 'animations') {\n  _performanceMarkFeature('NgAsyncAnimations');\n  // Animations don't work on the server so we switch them over to no-op automatically.\n  if (typeof ngServerMode !== 'undefined' && ngServerMode) {\n    type = 'noop';\n  }\n  return makeEnvironmentProviders([{\n    provide: RendererFactory2,\n    useFactory: (doc, renderer, zone) => {\n      return new AsyncAnimationRendererFactory(doc, renderer, zone, type);\n    },\n    deps: [DOCUMENT, DomRendererFactory2, NgZone]\n  }, {\n    provide: ANIMATION_MODULE_TYPE,\n    useValue: type === 'noop' ? 'NoopAnimations' : 'BrowserAnimations'\n  }]);\n}\nexport { provideAnimationsAsync, ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN, AsyncAnimationRendererFactory as ɵAsyncAnimationRendererFactory };\n","import {\r\n  ApplicationConfig,\r\n  importProvidersFrom,\r\n  provideZoneChangeDetection\r\n} from '@angular/core';\r\nimport {provideRouter, withInMemoryScrolling} from '@angular/router';\r\n\r\nimport { routes } from './app.routes';\r\nimport { provideClientHydration } from '@angular/platform-browser';\r\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\r\nimport {provideHttpClient, withFetch} from '@angular/common/http';\r\nimport {provideAnimationsAsync} from '@angular/platform-browser/animations/async';\r\n\r\nimport { LOCALE_ID } from '@angular/core';\r\nimport {provideMarkdown} from 'ngx-markdown';\r\n\r\n\r\n\r\nexport const appConfig: ApplicationConfig = {\r\n  providers: [\r\n    provideZoneChangeDetection({ eventCoalescing: true }),\r\n    provideRouter(routes,withInMemoryScrolling({\r\n      anchorScrolling: 'enabled',\r\n      scrollPositionRestoration: 'enabled',\r\n    })),\r\n    provideClientHydration(),\r\n    provideHttpClient(withFetch()),\r\n    provideAnimationsAsync(),\r\n    importProvidersFrom(BrowserAnimationsModule),\r\n    {\r\n      provide: LOCALE_ID,\r\n      useValue: 'fr'\r\n    },\r\n    provideMarkdown(),\r\n  ]\r\n};\r\n\r\n","import { mergeApplicationConfig, ApplicationConfig } from '@angular/core';\r\nimport { provideServerRendering } from '@angular/platform-server';\r\nimport { appConfig } from './app.config';\r\n\r\nconst serverConfig: ApplicationConfig = {\r\n  providers: [\r\n    provideServerRendering(),\r\n  ]\r\n};\r\n\r\nexport const config = mergeApplicationConfig(appConfig, serverConfig);\r\n","import { bootstrapApplication, BootstrapContext } from '@angular/platform-browser';\r\nimport { AppComponent } from './app/app.component';\r\nimport { config } from './app/app.config.server';\r\n\r\nconst bootstrap = (context: BootstrapContext) => bootstrapApplication(AppComponent, config, context);\r\n\r\nexport default bootstrap;\r\n"],"mappings":"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J,GACZrH,GAAQ,KAAK5lB,CAAC,EACd,KACJ,CACF,CACA,SAASmtB,GAAyCntB,EAAG,CACnD,OAAQA,EAAG,CACT,IAAK,IACHmnB,GAAa,EACblD,EAAYmJ,GACZ,MACF,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACHjG,GAAa,EACbvB,GAAQ,KAAK,EAAE,EACf+F,GAAU3rB,EAAGqtB,EAAqC,EAClD,MACF,QACEzH,GAAQ,KAAK,EAAE,EACf+F,GAAU3rB,EAAGitB,EAAyB,EACtC,KACJ,CACF,CACA,SAASG,GAAuCptB,EAAG,CACjD,OAAQA,EAAG,CACT,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK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","names":["DOCUMENT","InjectionToken","_DOM","getDOM","setRootDomAdapter","adapter","DomAdapter","PlatformLocation","relativePosition","__ngFactoryType__","ɵɵdefineInjectable","inject","BrowserPlatformLocation","BrowserPlatformLocation","PlatformLocation","inject","DOCUMENT","getDOM","fn","window","newPath","state","title","url","relativePosition","__ngFactoryType__","ɵɵdefineInjectable","joinWithSlash","start","end","stripTrailingSlash","pathEndIdx","normalizeQueryParams","params","LocationStrategy","PathLocationStrategy","APP_BASE_HREF","InjectionToken","_platformLocation","href","internal","includeHash","pathname","hash","queryParams","externalUrl","ɵɵinject","Location","Subject","locationStrategy","baseHref","_stripOrigin","_stripIndexHtml","ev","path","query","_stripBasePath","v","fnIndex","onNext","onThrow","onReturn","createLocation","basePath","strippedUrl","FormStyle","TranslationWidth","FormatWidth","NumberSymbol","getLocaleId","locale","findLocaleData","LocaleDataIndex","getLocaleDayPeriods","formStyle","width","data","amPmData","amPm","getLastDefinedValue","getLocaleDayNames","daysData","days","getLocaleMonthNames","monthsData","months","getLocaleEraNames","erasData","getLocaleDateFormat","locale","width","data","findLocaleData","getLastDefinedValue","LocaleDataIndex","getLocaleTimeFormat","getLocaleDateTimeFormat","dateTimeFormatData","getLocaleNumberSymbol","symbol","res","NumberSymbol","checkFullData","data","LocaleDataIndex","getLocaleExtraDayPeriodRules","locale","findLocaleData","rule","extractTime","getLocaleExtraDayPeriods","formStyle","width","dayPeriodsData","dayPeriods","getLastDefinedValue","getLastDefinedValue","data","index","i","extractTime","time","h","m","ISO8601_DATE_REGEX","NAMED_FORMATS","DATE_FORMATS_SPLIT","formatDate","value","format","locale","timezone","date","toDate","getNamedFormat","parts","match","part","dateTimezoneOffset","timezoneToOffset","convertTimezoneToLocal","text","dateFormatter","getDateFormatter","createDate","year","month","newDate","localeId","getLocaleId","formatValue","getLocaleDateFormat","FormatWidth","getLocaleTimeFormat","shortTime","shortDate","formatDateTime","getLocaleDateTimeFormat","mediumTime","mediumDate","longTime","longDate","fullTime","fullDate","str","opt_values","key","padNumber","num","digits","minusSign","trim","negWrap","neg","strNum","formatFractionalSeconds","milliseconds","dateGetter","name","size","offset","getDatePart","localeMinus","getLocaleNumberSymbol","NumberSymbol","dateStrGetter","width","form","FormStyle","extended","getDateTranslation","getLocaleMonthNames","getLocaleDayNames","currentHours","currentMinutes","rules","getLocaleExtraDayPeriodRules","dayPeriods","getLocaleExtraDayPeriods","index","rule","from","to","afterFrom","beforeTo","getLocaleDayPeriods","getLocaleEraNames","unexpected","timeZoneGetter","zone","hours","JANUARY","THURSDAY","getFirstThursdayOfYear","firstDayOfYear","getThursdayThisIsoWeek","datetime","currentDay","deltaToThursday","weekGetter","monthBased","result","nbDaysBefore1stDayOfMonth","today","thisThurs","firstThurs","diff","weekNumberingYearGetter","weekNumberingYear","DATE_FORMATS","formatter","TranslationWidth","fallback","requestedTimezoneOffset","addDateMinutes","minutes","reverse","timezoneOffset","isDate","y","m","d","val","parsedNb","isoStringToDate","tzHour","tzMin","dateSetter","timeSetter","h","ms","WS_REGEXP","EMPTY_ARRAY","NgClass","_ngEl","_renderer","value","klass","rawClass","nextEnabled","state","stateEntry","enabled","__ngFactoryType__","ɵɵdirectiveInject","ElementRef","Renderer2","ɵɵdefineDirective","invalidPipeArgumentError","type","value","RuntimeError","SubscribableStrategy","async","updateLatestValue","untracked","e","subscription","PromiseStrategy","v","_promiseStrategy","_subscribableStrategy","AsyncPipe","ref","obj","isPromise","isSubscribable","__ngFactoryType__","ɵɵdirectiveInject","ChangeDetectorRef","ɵɵdefinePipe","DEFAULT_DATE_FORMAT","DATE_PIPE_DEFAULT_TIMEZONE","InjectionToken","DATE_PIPE_DEFAULT_OPTIONS","DatePipe","locale","defaultTimezone","defaultOptions","value","format","timezone","_format","_timezone","formatDate","error","invalidPipeArgumentError","__ngFactoryType__","ɵɵdirectiveInject","LOCALE_ID","ɵɵdefinePipe","CommonModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","parseCookieValue","cookieStr","name","cookie","eqIndex","cookieName","cookieValue","PLATFORM_BROWSER_ID","PLATFORM_SERVER_ID","isPlatformBrowser","platformId","isPlatformServer","XhrFactory","registerLocaleData","data","localeId","extraData","ViewportScroller","ɵɵdefineInjectable","NullViewportScroller","NullViewportScroller","offset","position","anchor","scrollRestoration","noopImageLoader","config","IMAGE_LOADER","InjectionToken","PRELOADED_IMAGES","InjectionToken","PreloadLinkCreator","inject","DOCUMENT","renderer","src","srcset","sizes","preload","__ngFactoryType__","ɵɵdefineInjectable","VALID_WIDTH_DESCRIPTOR_SRCSET","DENSITY_SRCSET_MULTIPLIERS","VIEWPORT_BREAKPOINT_CUTOFF","FIXED_SRCSET_WIDTH_LIMIT","FIXED_SRCSET_HEIGHT_LIMIT","NgOptimizedImage","inject","IMAGE_LOADER","processConfig","IMAGE_CONFIG","Renderer2","ElementRef","Injector","performanceMarkFeature","rewrittenSrcset","VALID_WIDTH_DESCRIPTOR_SRCSET","PreloadLinkCreator","changes","oldSrc","configWithoutCustomParams","augmentedConfig","imgConfig","widthSrcSet","src","srcStr","width","breakpoints","filteredBreakpoints","bp","VIEWPORT_BREAKPOINT_CUTOFF","forceSrcRecalc","rewrittenSrc","DENSITY_SRCSET_MULTIPLIERS","multiplier","oversizedImage","FIXED_SRCSET_WIDTH_LIMIT","FIXED_SRCSET_HEIGHT_LIMIT","noopImageLoader","placeholderInput","placeholderResolution","placeholderConfig","img","callback","changeDetectorRef","ChangeDetectorRef","removeLoadListenerFn","removeErrorListenerFn","callOnLoadIfImageIsLoaded","name","value","__ngFactoryType__","ɵɵdefineDirective","rf","ctx","ɵɵstyleProp","unwrapSafeUrl","numberAttribute","booleanAttribute","booleanOrUrlAttribute","ɵɵNgOnChangesFeature","config","sortedBreakpoints","a","b","IMAGE_CONFIG_DEFAULTS","callOnLoadIfImageIsLoaded","img","callback","unwrapSafeUrl","value","unwrapSafeValue","booleanOrUrlAttribute","booleanAttribute","validateUrl","url","allowedHosts","hostname","isHostAllowed","isHostAllowed","hostname","allowedHosts","allowedHost","domain","EVENT_MANAGER_PLUGINS","InjectionToken","EventManager","plugins","_zone","plugin","element","eventName","handler","options","RuntimeError","__ngFactoryType__","ɵɵinject","NgZone","ɵɵdefineInjectable","EventManagerPlugin","_doc","APP_ID_ATTRIBUTE_NAME","removeElements","elements","createStyleElement","style","doc","styleElement","addServerStyles","appId","inline","external","createLinkElement","url","linkElement","SharedStylesHost","nonce","platformId","isPlatformServer","styles","urls","value","usages","creator","record","host","hostNode","DOCUMENT","APP_ID","CSP_NONCE","PLATFORM_ID","NAMESPACE_URIS","COMPONENT_REGEX","COMPONENT_VARIABLE","HOST_ATTR","CONTENT_ATTR","REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT","REMOVE_STYLES_ON_COMPONENT_DESTROY","InjectionToken","shimContentAttribute","componentShortId","COMPONENT_REGEX","shimHostAttribute","shimStylesContent","compId","styles","s","DomRendererFactory2","eventManager","sharedStylesHost","appId","removeStylesOnCompDestroy","doc","platformId","ngZone","nonce","tracingService","isPlatformServer","DefaultDomRenderer2","element","type","ViewEncapsulation","__spreadProps","__spreadValues","renderer","EmulatedEncapsulationDomRenderer2","NoneEncapsulationDomRenderer","rendererByCompId","platformIsServer","ShadowDomRenderer","componentId","__ngFactoryType__","ɵɵinject","EventManager","SharedStylesHost","APP_ID","REMOVE_STYLES_ON_COMPONENT_DESTROY","DOCUMENT","PLATFORM_ID","NgZone","CSP_NONCE","TracingService","ɵɵdefineInjectable","name","namespace","NAMESPACE_URIS","value","parent","newChild","isTemplateNode","refChild","_parent","oldChild","selectorOrNode","preserveContent","el","RuntimeError","node","namespaceUri","style","flags","RendererStyleFlags2","target","event","callback","options","getDOM","wrappedCallback","eventHandler","isTemplateNode","node","ShadowDomRenderer","DefaultDomRenderer2","eventManager","sharedStylesHost","hostEl","component","doc","ngZone","nonce","platformIsServer","tracingService","styles","shimStylesContent","style","styleEl","styleUrls","styleUrl","linkEl","createLinkElement","parent","newChild","refChild","_parent","oldChild","NoneEncapsulationDomRenderer","removeStylesOnCompDestroy","compId","EmulatedEncapsulationDomRenderer2","appId","shimContentAttribute","shimHostAttribute","element","name","el","BrowserDomAdapter","_BrowserDomAdapter","DomAdapter","setRootDomAdapter","el","evt","listener","options","node","tagName","doc","target","href","getBaseElementHref","relativePath","baseElement","name","parseCookieValue","url","BrowserGetTestability","registry","_global","elem","findInAncestors","testability","RuntimeError","whenAllStable","callback","testabilities","count","decrement","t","getDOM","BrowserXhr","__ngFactoryType__","ɵɵdefineInjectable","DomEventsPlugin","EventManagerPlugin","eventName","element","handler","ɵɵinject","DOCUMENT","MODIFIER_KEYS","_keyMap","MODIFIER_KEY_GETTERS","event","KeyEventsPlugin","parsedEvent","outsideHandler","parts","domEventName","key","fullKey","codeIX","modifierName","index","result","fullKeyCode","keycode","modifierGetter","zone","keyName","bootstrapApplication","rootComponent","context","internalCreateApplication","__spreadValues","createProvidersConfig","createProvidersConfig","options","BROWSER_MODULE_PROVIDERS","INTERNAL_BROWSER_PLATFORM_PROVIDERS","initDomAdapter","BrowserDomAdapter","errorHandler","ErrorHandler","_document","setDocument","INTERNAL_BROWSER_PLATFORM_PROVIDERS","PLATFORM_ID","PLATFORM_BROWSER_ID","PLATFORM_INITIALIZER","DOCUMENT","TESTABILITY_PROVIDERS","TESTABILITY_GETTER","BrowserGetTestability","TESTABILITY","Testability","NgZone","TestabilityRegistry","BROWSER_MODULE_PROVIDERS","INJECTOR_SCOPE","ErrorHandler","errorHandler","EVENT_MANAGER_PLUGINS","DomEventsPlugin","DOCUMENT","KeyEventsPlugin","DomRendererFactory2","SharedStylesHost","EventManager","RendererFactory2","XhrFactory","BrowserXhr","BrowserModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","CommonModule","ApplicationModule","HttpHandler","HttpBackend","HttpHeaders","_HttpHeaders","headers","line","index","name","value","values","lcName","update","other","key","clone","base","toDelete","existing","headerValues","fn","HttpUrlEncodingCodec","key","standardEncoding","value","paramParser","rawParams","codec","map","param","eqIdx","val","list","STANDARD_ENCODING_REGEX","STANDARD_ENCODING_REPLACEMENTS","v","s","t","valueToString","HttpParams","_HttpParams","options","RuntimeError","values","res","params","updates","_value","eKey","update","clone","base","idx","HttpContext","token","value","mightHaveBody","method","isArrayBuffer","isBlob","isFormData","isUrlSearchParams","CONTENT_TYPE_HEADER","ACCEPT_HEADER","X_REQUEST_URL_HEADER","TEXT_CONTENT_TYPE","JSON_CONTENT_TYPE","ACCEPT_HEADER_VALUE","HttpRequest","_HttpRequest","url","third","fourth","options","HttpHeaders","HttpParams","params","qIdx","sep","update","responseType","transferCache","body","withCredentials","reportProgress","headers","context","name","param","HttpEventType","HttpResponseBase","init","defaultStatus","defaultStatusText","HttpHeaderResponse","_HttpHeaderResponse","HttpResponse","_HttpResponse","HttpErrorResponse","HTTP_STATUS_CODE_OK","HTTP_STATUS_CODE_NO_CONTENT","addBody","options","body","HttpClient","handler","first","url","req","HttpRequest","headers","HttpHeaders","params","HttpParams","events$","of","concatMap","res$","filter","event","HttpResponse","map","res","RuntimeError","callbackParam","__ngFactoryType__","ɵɵinject","HttpHandler","ɵɵdefineInjectable","XSSI_PREFIX$1","getResponseUrl$1","response","xRequestUrl","X_REQUEST_URL_HEADER","FETCH_BACKEND","InjectionToken","FetchBackend","inject","FetchFactory","args","NgZone","DestroyRef","request","Observable","observer","aborter","noop","error","HttpErrorResponse","signal","__async","init","fetchPromise","__spreadValues","silenceSuperfluousUnhandledPromiseRejection","HttpEventType","statusText","status","HttpHeaderResponse","contentLength","chunks","reader","receivedLength","decoder","partialText","reqZone","canceled","done","value","reportProgress","chunksAll","contentType","CONTENT_TYPE_HEADER","HTTP_STATUS_CODE_OK","binContent","text","credentials","name","values","ACCEPT_HEADER","ACCEPT_HEADER_VALUE","detectedType","totalLength","position","chunk","promise","interceptorChainEndFn","finalHandlerFn","chainedInterceptorFn","chainTailFn","interceptorFn","injector","initialRequest","finalHandlerFn","runInInjectionContext","downstreamRequest","HTTP_INTERCEPTOR_FNS","InjectionToken","HTTP_ROOT_INTERCEPTOR_FNS","REQUESTS_CONTRIBUTE_TO_STABILITY","HttpInterceptorHandler","HttpHandler","inject","PendingTasksInternal","REQUESTS_CONTRIBUTE_TO_STABILITY","backend","injector","initialRequest","dedupedInterceptorFns","HTTP_INTERCEPTOR_FNS","HTTP_ROOT_INTERCEPTOR_FNS","nextSequencedFn","interceptorFn","chainedInterceptorFn","interceptorChainEndFn","taskId","downstreamRequest","finalize","__ngFactoryType__","ɵɵinject","HttpBackend","EnvironmentInjector","ɵɵdefineInjectable","XSSI_PREFIX","X_REQUEST_URL_REGEXP","X_REQUEST_URL_HEADER","getResponseUrl","xhr","HttpXhrBackend","xhrFactory","req","RuntimeError","from","of","switchMap","Observable","observer","name","values","ACCEPT_HEADER","ACCEPT_HEADER_VALUE","CONTENT_TYPE_HEADER","detectedType","responseType","reqBody","headerResponse","partialFromXhr","statusText","headers","HttpHeaders","url","HttpHeaderResponse","onLoad","status","body","HTTP_STATUS_CODE_NO_CONTENT","HTTP_STATUS_CODE_OK","ok","originalBody","error","HttpResponse","HttpErrorResponse","onError","res","sentHeaders","onDownProgress","event","progressEvent","HttpEventType","onUpProgress","progress","__ngFactoryType__","ɵɵinject","XhrFactory","ɵɵdefineInjectable","XSRF_ENABLED","InjectionToken","XSRF_DEFAULT_COOKIE_NAME","XSRF_COOKIE_NAME","XSRF_DEFAULT_HEADER_NAME","XSRF_HEADER_NAME","HttpXsrfTokenExtractor","HttpXsrfCookieExtractor","doc","cookieName","DOCUMENT","ABSOLUTE_URL_REGEX","xsrfInterceptorFn","next","inject","token","headerName","HttpFeatureKind","makeHttpFeature","kind","providers","provideHttpClient","features","HttpClient","HttpXhrBackend","HttpInterceptorHandler","HttpHandler","HttpBackend","inject","FETCH_BACKEND","HTTP_INTERCEPTOR_FNS","xsrfInterceptorFn","XSRF_ENABLED","HttpXsrfTokenExtractor","HttpXsrfCookieExtractor","feature","makeEnvironmentProviders","withFetch","makeHttpFeature","HttpFeatureKind","FetchBackend","FETCH_BACKEND","HttpBackend","HTTP_TRANSFER_CACHE_ORIGIN_MAP","InjectionToken","BODY","HEADERS","STATUS","STATUS_TEXT","REQ_URL","RESPONSE_TYPE","CACHE_OPTIONS","ALLOWED_METHODS","transferCacheInterceptorFn","req","next","_a","inject","isCacheActive","globalOptions","__objRest","requestOptions","requestMethod","hasAuthHeaders","transferState","TransferState","originMap","requestUrl","mapRequestOriginUrl","storeKey","makeCacheKey","response","headersToInclude","undecodedBody","responseType","httpHeaders","status","statusText","url","body","headers","HttpHeaders","of","HttpResponse","tap","event","getFilteredHeaders","includeHeaders","headersMap","key","values","sortAndConcatParams","params","k","request","mappedRequestUrl","method","encodedParams","serializedBody","hash","generateHash","value","char","withHttpTransferCache","cacheOptions","performanceMarkFeature","__spreadValues","HTTP_ROOT_INTERCEPTOR_FNS","APP_BOOTSTRAP_LISTENER","appRef","ApplicationRef","cacheState","mapRequestOriginUrl","url","originMap","origin","mappedOrigin","Meta","_doc","getDOM","tag","forceCreation","tags","result","attrSelector","list","selector","meta","elem","element","el","prop","attr","key","META_KEYS_MAP","__ngFactoryType__","ɵɵinject","DOCUMENT","ɵɵdefineInjectable","Title","newTitle","DomSanitizer","__ngFactoryType__","ɵɵdefineInjectable","__ngConditionalFactory__","ɵɵinject","DomSanitizerImpl","_doc","ctx","value","SecurityContext","allowSanitizationBypassAndThrow","unwrapSafeValue","_sanitizeHtml","RuntimeError","_sanitizeUrl","bypassSanitizationTrustHtml","bypassSanitizationTrustStyle","bypassSanitizationTrustScript","bypassSanitizationTrustUrl","bypassSanitizationTrustResourceUrl","DOCUMENT","HydrationFeatureKind","provideClientHydration","features","providers","featuresKind","ɵproviders","ɵkind","hasHttpTransferCacheOptions","HydrationFeatureKind","makeEnvironmentProviders","withDomHydration","withHttpTransferCache","PRIMARY_OUTLET","RouteTitleKey","ParamsAsMap","params","name","v","convertToParamMap","defaultUrlMatcher","segments","segmentGroup","route","parts","posParams","index","part","segment","shallowEqualArrays","a","b","i","shallowEqual","k1","getDataKeys","k2","key","equalArraysOrString","obj","aSorted","bSorted","val","last","wrapIntoObservable","value","isObservable","isPromise","from","of","pathCompareMap","equalSegmentGroups","containsSegmentGroup","paramCompareMap","equalParams","containsParams","containsTree","container","containee","options","matrixParams","equalPath","matrixParamsMatch","c","containsSegmentGroupHelper","containeePaths","current","next","containerPaths","containeeSegment","UrlTree","root","UrlSegmentGroup","queryParams","fragment","DEFAULT_SERIALIZER","children","serializePaths","UrlSegment","path","parameters","serializePath","equalSegments","as","bs","mapChildrenIntoArray","fn","res","childOutlet","child","UrlSerializer","__ngFactoryType__","ɵɵdefineInjectable","DefaultUrlSerializer","url","p","UrlParser","tree","serializeSegment","query","serializeQueryParams","encodeUriFragment","primary","k","encodeUriString","s","encodeUriQuery","encodeUriSegment","decode","decodeQuery","serializeMatrixParams","strParams","SEGMENT_RE","matchSegments","str","match","MATRIX_PARAM_SEGMENT_RE","matchMatrixKeySegments","QUERY_PARAM_RE","matchQueryParams","QUERY_PARAM_VALUE_RE","matchUrlQueryParamValue","RuntimeError","valueMatch","decodedKey","decodedVal","currentVal","allowPrimary","outletName","createRoot","rootCandidate","squashSegmentGroup","newChildren","childCandidate","grandChildOutlet","grandChild","mergeTrivialChildren","isUrlTree","createUrlTreeFromSnapshot","relativeTo","commands","relativeToUrlSegmentGroup","createSegmentGroupFromRoute","createUrlTreeFromSegmentGroup","targetGroup","createSegmentGroupFromRouteRecursive","currentRoute","childOutlets","childSnapshot","rootSegmentGroup","nav","computeNavigation","position","findStartingPositionForTargetGroup","newSegmentGroup","updateSegmentGroupChildren","updateSegmentGroup","isMatrixParams","command","isCommandWithOutlets","oldRoot","oldSegmentGroup","qp","replaceSegment","newRoot","oldSegment","newSegment","Navigation","isAbsolute","numberOfDoubleDots","cmdWithOutlet","cmd","cmdIdx","outlets","urlPart","partIndex","Position","processChildren","target","modifier","createPositionApplyingDoubleDots","group","g","ci","dd","getOutlets","startIndex","m","prefixedWith","slicedCommands","createNewSegmentGroup","o","childrenOfEmptyChild","outlet","currentCommandIndex","currentPathIndex","noMatch","curr","compare","paths","createNewSegmentChildren","stringify","IMPERATIVE_NAVIGATION","EventType","RouterEvent","id","NavigationStart","navigationTrigger","restoredState","NavigationEnd","urlAfterRedirects","NavigationCancellationCode","NavigationSkippedCode","NavigationCancel","reason","code","NavigationSkipped","NavigationError","error","RoutesRecognized","state","GuardsCheckStart","GuardsCheckEnd","shouldActivate","ResolveStart","ResolveEnd","RouteConfigLoadStart","RouteConfigLoadEnd","ChildActivationStart","snapshot","ChildActivationEnd","ActivationStart","ActivationEnd","Scroll","routerEvent","anchor","pos","BeforeActivateRoutes","RedirectRequest","navigationBehaviorOptions","getOrCreateRouteInjectorIfNeeded","route","currentInjector","createEnvironmentInjector","getOutlet","route","PRIMARY_OUTLET","sortByMatchingOutlets","routes","outletName","sortedConfig","r","getClosestRouteInjector","snapshot","s","OutletContext","rootInjector","ChildrenOutletContexts","childName","outlet","context","contexts","__ngFactoryType__","ɵɵinject","EnvironmentInjector","ɵɵdefineInjectable","Tree","root","t","p","n","findNode","findPath","c","cc","value","node","child","path","TreeNode","children","nodeChildrenAsMap","map","RouterState","setRouterState","createEmptyState","rootComponent","createEmptyStateSnapshot","emptyUrl","BehaviorSubject","UrlSegment","emptyParams","emptyData","emptyQueryParams","fragment","activated","ActivatedRoute","ActivatedRouteSnapshot","RouterStateSnapshot","urlSubject","paramsSubject","queryParamsSubject","fragmentSubject","dataSubject","component","futureSnapshot","d","RouteTitleKey","of","convertToParamMap","getInherited","parent","paramsInheritanceStrategy","inherited","routeConfig","__spreadValues","hasStaticTitle","url","params","queryParams","data","resolve","segment","matched","serializeNode","state","advanceActivatedRoute","currentSnapshot","nextSnapshot","shallowEqual","shallowEqualArrays","equalParamsAndUrlSegments","a","b","equalUrlParams","equalSegments","parentsMismatch","config","ROUTER_OUTLET_DATA","InjectionToken","RouterOutlet","EventEmitter","input","inject","ViewContainerRef","ChangeDetectorRef","INPUT_BINDER","changes","firstChange","previousValue","RuntimeError","cmp","ref","activatedRoute","environmentInjector","location","childContexts","injector","OutletInjector","ɵɵdefineDirective","ɵɵNgOnChangesFeature","outletData","token","notFoundValue","ɵEmptyOutletComponent","__ngFactoryType__","ɵɵdefineComponent","rf","ctx","ɵɵelement","RouterOutlet","standardizeConfig","r","children","c","__spreadProps","__spreadValues","PRIMARY_OUTLET","createRouterState","routeReuseStrategy","curr","prevState","root","createNode","RouterState","value","createOrReuseChildren","TreeNode","detachedRouteHandle","tree","createActivatedRoute","child","p","ActivatedRoute","BehaviorSubject","RedirectCommand","redirectTo","navigationBehaviorOptions","NAVIGATION_CANCELING_ERROR","redirectingNavigationError","urlSerializer","redirect","isUrlTree","error","navigationCancelingError","NavigationCancellationCode","message","code","isRedirectingNavigationCancelingError","isNavigationCancelingError","activateRoutes","rootContexts","routeReuseStrategy","forwardEvent","inputBindingEnabled","map","t","ActivateRoutes","futureState","currState","parentContexts","futureRoot","currRoot","advanceActivatedRoute","futureNode","currNode","contexts","children","nodeChildrenAsMap","futureChild","childOutletName","v","parentContext","future","curr","context","route","treeNode","componentRef","c","ActivationEnd","ChildActivationEnd","stored","CanActivate","path","CanDeactivate","component","getAllRouteGuards","getChildRouteGuards","getCanActivateChild","p","canActivateChild","getTokenOrFunctionIdentity","tokenOrFunction","injector","NOT_FOUND","result","isInjectable","futurePath","checks","prevChildren","getRouteGuards","k","deactivateRouteAndItsChildren","shouldRun","shouldRunGuardsAndResolvers","mode","equalPath","shallowEqual","equalParamsAndUrlSegments","r","childName","node","isFunction","isBoolean","isCanLoad","guard","isCanActivate","isCanActivateChild","isCanDeactivate","isCanMatch","isEmptyError","e","EmptyError","INITIAL_VALUE","prioritizedGuardValue","switchMap","obs","combineLatest","o","take","startWith","results","isRedirect","filter","item","val","isUrlTree","RedirectCommand","checkGuards","mergeMap","targetSnapshot","currentSnapshot","canActivateChecks","canDeactivateChecks","of","__spreadProps","__spreadValues","runCanDeactivateChecks","canDeactivate","runCanActivateChecks","guardsResult","futureRSS","currRSS","from","check","runCanDeactivate","first","futureSnapshot","concatMap","concat","fireChildActivationStart","fireActivationStart","runCanActivateChild","runCanActivate","snapshot","ActivationStart","ChildActivationStart","futureARS","canActivate","canActivateObservables","defer","closestInjector","getClosestRouteInjector","guardVal","runInInjectionContext","wrapIntoObservable","canActivateChildGuardsMapped","_","d","guardsMapped","currARS","canDeactivateObservables","runCanLoadGuards","segments","urlSerializer","canLoad","canLoadObservables","injectionToken","redirectIfUrlTree","pipe","tap","redirectingNavigationError","runCanMatchGuards","canMatch","canMatchObservables","NoMatch","segmentGroup","AbsoluteRedirect","urlTree","noMatch$1","throwError","namedOutletsRedirect","redirectTo","RuntimeError","canLoadFails","navigationCancelingError","NavigationCancellationCode","ApplyRedirects","res","PRIMARY_OUTLET","posParams","redirectToFn","queryParams","fragment","routeConfig","url","outlet","params","data","title","newRedirect","UrlTree","newTree","newRoot","redirectToParams","actualParams","sourceName","group","updatedSegments","name","child","UrlSegmentGroup","redirectToSegments","actualSegments","s","redirectToUrlSegment","pos","idx","noMatch","matchWithChecks","match","getOrCreateRouteInjectorIfNeeded","createWildcardMatchResult","defaultUrlMatcher","parameters","last","split","consumedSegments","slicedSegments","config","containsEmptyPathMatchesWithNamedOutlets","createChildrenForEmptyPaths","containsEmptyPathMatches","addEmptyPathsToChildrenIfNeeded","routes","emptyPathMatch","getOutlet","primarySegment","noLeftoversInUrl","NoLeftoversInUrl","recognize$1","configLoader","rootComponentType","paramsInheritanceStrategy","Recognizer","MAX_ALLOWED_REDIRECTS","rootSegmentGroup","rootSnapshot","rootNode","TreeNode","routeState","RouterStateSnapshot","tree","createUrlTreeFromSnapshot","ActivatedRouteSnapshot","catchError","parentRoute","childOutlets","childOutlet","sortedConfig","sortByMatchingOutlets","scan","outletChildren","defaultIfEmpty","mergedChildren","mergeEmptyPathMatches","sortActivatedRouteSnapshots","allowRedirects","x","rawSegment","matched","positionalParamSegments","remainingSegments","getData","getResolve","inherited","getInherited","newSegments","matchResult","childConfig","childInjector","matchedOnOutlet","shouldLoadResult","cfg","nodes","a","b","hasEmptyPathConfig","mergedNodes","duplicateEmptyPathNode","resultNode","mergedNode","getData","route","getResolve","recognize","injector","configLoader","rootComponentType","config","serializer","paramsInheritanceStrategy","mergeMap","t","recognize$1","map","targetSnapshot","urlAfterRedirects","__spreadProps","__spreadValues","resolveData","canActivateChecks","of","routesWithResolversToRun","check","routesNeedingDataUpdates","newRoute","flattenRouteTree","routesProcessed","from","concatMap","runResolve","getInherited","tap","takeLast","_","EMPTY","descendants","child","futureARS","futureRSS","resolve","hasStaticTitle","RouteTitleKey","resolveNode","resolvedData","keys","getDataKeys","data","key","getResolver","first","value","RedirectCommand","redirectingNavigationError","DefaultUrlSerializer","catchError","e","isEmptyError","throwError","injectionToken","closestInjector","getClosestRouteInjector","resolver","getTokenOrFunctionIdentity","resolverValue","runInInjectionContext","wrapIntoObservable","switchTap","next","switchMap","v","nextResult","TitleStrategy","snapshot","pageTitle","PRIMARY_OUTLET","__ngFactoryType__","ɵɵdefineInjectable","inject","DefaultTitleStrategy","title","ɵɵinject","Title","ROUTER_CONFIGURATION","InjectionToken","ROUTES","RouterConfigLoader","Compiler","loadRunner","maybeUnwrapDefaultExport","component","finalize","loader","ConnectableObservable","Subject","refCount","parentInjector","loadChildren","compiler","onLoadEndListener","NgModuleFactory$1","factoryOrRoutes","rawRoutes","requireStandaloneComponents","standardizeConfig","isWrappedDefaultExport","input","UrlHandlingStrategy","DefaultUrlHandlingStrategy","url","newUrlPart","wholeUrl","CREATE_VIEW_TRANSITION","NAVIGATION_ERROR_HANDLER","InjectionToken","NavigationTransitions","Subject","inject","RouterConfigLoader","EnvironmentInjector","DestroyRef","UrlSerializer","ChildrenOutletContexts","Location","INPUT_BINDER","TitleStrategy","ROUTER_CONFIGURATION","UrlHandlingStrategy","CREATE_VIEW_TRANSITION","of","onLoadStart","r","RouteConfigLoadStart","onLoadEnd","RouteConfigLoadEnd","request","id","__spreadProps","__spreadValues","router","BehaviorSubject","filter","t","switchMap","overallTransitionState","completed","errored","NavigationCancellationCode","EMPTY","urlTransition","onSameUrlNavigation","reason","NavigationSkipped","NavigationSkippedCode","NavigationStart","recognize","tap","routesRecognized","RoutesRecognized","extractedUrl","source","restoredState","extras","navStart","targetSnapshot","createEmptyState","guardsStart","GuardsCheckStart","map","getAllRouteGuards","checkGuards","evt","redirectingNavigationError","guardsEnd","GuardsCheckEnd","switchTap","resolveStart","ResolveStart","dataResolved","resolveData","resolveEnd","ResolveEnd","loadComponents","route","loaders","loadedComponent","child","combineLatest","defaultIfEmpty","take","currentSnapshot","viewTransitionStarted","from","targetRouterState","createRouterState","BeforeActivateRoutes","activateRoutes","NavigationEnd","takeUntil","err","finalize","catchError","e","isNavigationCancelingError","NavigationCancel","isRedirectingNavigationCancelingError","RedirectRequest","navigationError","NavigationError","navigationErrorHandlerResult","runInInjectionContext","RedirectCommand","message","cancellationCode","ee","code","navCancel","currentBrowserUrl","targetBrowserUrl","__ngFactoryType__","ɵɵdefineInjectable","isBrowserTriggeredNavigation","IMPERATIVE_NAVIGATION","RouteReuseStrategy","DefaultRouteReuseStrategy","BaseRouteReuseStrategy","detachedTree","future","curr","ɵDefaultRouteReuseStrategy_BaseFactory","ɵɵgetInheritedFactory","StateManager","UrlTree","finalUrl","initialUrl","rawUrl","url","HistoryStateManager","listener","event","currentTransition","path","replaceUrl","state","currentBrowserPageId","newState","navigation","restoringFromCaughtError","targetPagePosition","navigationId","routerPageId","ɵHistoryStateManager_BaseFactory","afterNextNavigation","action","result","exactMatchOptions","subsetMatchOptions","Router","Console","PendingTasksInternal","ROUTES","Subscription","subscription","currentNavigation","opts","mergedTree","isPublicRouterEvent","rootComponentType","stateCopy","urlTree","config","standardizeConfig","commands","navigationExtras","relativeTo","queryParams","fragment","queryParamsHandling","preserveFragment","f","q","relativeToUrlSegmentGroup","relativeToSnapshot","createSegmentGroupFromRoute","createUrlTreeFromSegmentGroup","isUrlTree","validateCommands","matchOptions","options","containsTree","params","key","value","priorPromise","resolve","reject","promise","res","rej","taskId","RuntimeError","RouterLink","Subject","router","route","tabIndexAttribute","renderer","el","locationStrategy","tagName","s","NavigationEnd","newTabIndex","changes","commandsOrUrlTree","isUrlTree","button","ctrlKey","shiftKey","altKey","metaKey","urlTree","extras","sanitizedValue","ɵɵsanitizeUrlOrResourceUrl","attrName","attrValue","nativeElement","__ngFactoryType__","ɵɵdirectiveInject","Router","ActivatedRoute","ɵɵinjectAttribute","Renderer2","ElementRef","LocationStrategy","ɵɵdefineDirective","rf","ctx","ɵɵlistener","$event","ɵɵattribute","booleanAttribute","ɵɵNgOnChangesFeature","ROUTER_SCROLLER","InjectionToken","RouterScroller","urlSerializer","transitions","viewportScroller","zone","options","NavigationStart","NavigationEnd","NavigationSkipped","NavigationSkippedCode","Scroll","routerEvent","anchor","__ngFactoryType__","ɵɵinvalidFactory","ɵɵdefineInjectable","provideRouter","routes","features","makeEnvironmentProviders","ROUTES","ActivatedRoute","rootRoute","Router","APP_BOOTSTRAP_LISTENER","getBootstrapListener","feature","router","routerFeature","kind","providers","withInMemoryScrolling","options","routerFeature","ROUTER_SCROLLER","viewportScroller","inject","ViewportScroller","zone","NgZone","transitions","NavigationTransitions","urlSerializer","UrlSerializer","RouterScroller","getBootstrapListener","injector","Injector","bootstrappedComponentRef","ref","ApplicationRef","router","Router","bootstrapDone","BOOTSTRAP_DONE","INITIAL_NAVIGATION","ROUTER_PRELOADER","InjectFlags","InjectionToken","Subject","ROUTER_PRELOADER","InjectionToken","__getOwnPropNames","__commonJS","cb","mod","require_Event","exports","module","Event","type","dictionary","p","bubbles","cancelable","require_UIEvent","UIEvent","view","detail","require_MouseEvent","MouseEvent","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","key","require_config","require_utils","isApiWritable","expr","msg","src","c","n","a","b","m","s","require_EventTarget","utils","EventTarget","listener","capture","list","i","l","obj","event","trusted","invoke","target","event2","phase","handler","rv","f","i2","n2","fn","ancestors","ii","nn","activated","click","result","require_LinkedList","LinkedList","a_first","a_last","b_first","b_last","prev","next","require_NodeUtils","serializeOne","escapeMatchingClosingTag","escapeClosingCommentTag","escapeProcessingInstructionContent","NAMESPACE","hasRawContent","emptyElements","extraNewLine","ESCAPE_REGEXP","ESCAPE_ATTR_REGEXP","escape","escapeAttr","attrname","ns","rawText","parentTag","parentClosingTag","matches","match","CLOSING_COMMENT_REGEXP","rawContent","kid","parent","html","tagname","j","k","ss","parenttag","content","require_Node","Node","NodeUtils","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","CDATA_SECTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","NOTATION_NODE","DOCUMENT_POSITION_DISCONNECTED","DOCUMENT_POSITION_PRECEDING","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC","node","v","sum","child","isPreinsert","refChild","that","these","those","c1","c2","deep","clone","e","prefix","defaultNamespace","kids","before","isReplace","before_index","child_index","bothRooted","spliceArgs","len","time","prevChild","require_NodeList_es6","idx","require_NodeList_es5","item","NodeList","require_NodeList","require_ContainerNode","ContainerNode","first","childNodes","root","require_xmlnames","isValidName","isValidQName","simplename","simpleqname","ncnamestartchars","ncnamechars","ncname","namestartchars","namechars","name","qname","hassurrogates","surrogatechars","surrogatepairs","surrogatename","surrogateqname","chars","pairs","require_attributes","attr","valid","val","missingValueDefault","invalidValueDefault","numberPropDesc","def","unsigned_long","signed_long","unsigned_fallback","min","max","setmin","require_FilteredElementList","FilteredElementList","filter","elt","start","require_DOMTokenList","DOMTokenList","getter","setter","index","getList","token","handleErrors","force","newToken","idx2","fixIndex","clist","oldLength","toArray","length","arr","strProp","str","seen","require_select","window","compareDocumentPosition","order","el","lastChild","parentIsElement","nodeType","unquote","ch","rules","cp","decodeid","indexOf","makeInside","end","regex","replace","truncateUrl","url","num","parseNth","param_","test","param","cap","nth","last","group","offset","find2","advance","rel","pos","selectors","op","operators","sel","compileGroup","args","arg","con","context","el2","href","prop","text","find","combinators","ref","doc","nodes","compile","sel_","buff","subject","tok","makeSubject","makeSimple","makeTest","value","func","scope","tests","results","id","r","require_ChildNode","createDocumentFragmentFromArguments","document","docFrag","argItem","isNode","ChildNode","argArr","parentNode","nextSibling","prevSibling","require_NonDocumentTypeChildNode","NonDocumentTypeChildNode","require_NamedNodeMap","NamedNodeMap","element","qualifiedName","namespace","localName","lname","require_Element","Element","xml","attributes","select","uppercaseCache","namespaceURI","recursiveGetText","tn","up","strings","newtext","parser","position","data","textNode","ChildrenCollection","AttributesArray","htmlLocalNameElementFilter","localNameElementFilter","namespaceElementFilter","namespaceLocalNameElementFilter","names","classNamesElementFilter","elementNameFilter","originalElement","isnew","Attr","oldAttrs","oldAttr","onchange","existing","self","dtlist","selector","oldval","newval","_a","namedElts","lclname","require_Leaf","Leaf","HierarchyRequestError","NotFoundError","require_CharacterData","CharacterData","count","curtext","suffix","require_Text","Text","nodeValue","newdata","newnode","require_Comment","Comment","require_DocumentFragment","DocumentFragment","require_ProcessingInstruction","ProcessingInstruction","require_NodeFilter","NodeFilter","require_NodeTraversal","nextSkippingChildren","nextAncestorSibling","previous","deepLastChild","stayWithin","require_TreeWalker","TreeWalker","NodeTraversal","mapChild","mapSibling","traverseChildren","tw","sibling","traverseSiblings","whatToShow","previousSibling","firstChild","CHILDREN","require_NodeIterator","NodeIterator","move","directionIsNext","isInclusiveAncestor","possibleChild","traverse","ni","beforeNode","toBeRemovedNode","require_URL","URL","userinfo","relative","base","t","remove_dot_segments","merge","basepath","refpath","lastslash","path","output","twochars","threechars","fourchars","segment","require_CustomEvent","CustomEvent","require_events","require_style_parser","parse","styles","parenDepth","quote","valueStart","propStart","currentProp","hyphenate","styleVal","require_CSSStyleDeclaration","style","CSSStyleDeclaration","property","dasherizeProperty","IMPORTANT_BANG","parseStyles","styleValues","value2","NO_CHANGE","priority","newprops","require_URLUtils","URLUtils","originForPort","defaultPort","origin","proto","desc","require_defineElement","spec","defaultConstructor","tagList","tagNameToImpl","props","addEventHandlers","tag","EventHandlerBuilder","body","form","EventHandlerChangeHandler","eventHandlerTypes","require_htmlelts","defineElement","htmlElements","htmlNameToImpl","impl","HTMLUnknownElement","define","HTMLElement","CORS","REFERRER","focusableElements","HTMLFormElement","success","formAssociatedProps","items","require_svg","svgElements","svgNameToImpl","SVGElement","require_MutationConstants","require_Document","Document","DOMImplementation","require_DOMImplementation","events","svg","MUTATE","isHTML","address","supportedEvents","replacementEvent","mirrorAttr","defaultValue","o","validateAndExtract","targetNid","details","ve","interfaceName","constructor","root2","toBeRemoved","MultiId","recursivelySetOwner","head","htmlElement","namedHTMLChild","d","recursivelyUproot","recursivelyRoot","newDoc","uproot","owner","nid","require_DocumentType","DocumentType","ownerDocument","publicId","systemId","require_HTMLParser","HTMLParser","pushAll","EOF","TEXT","TAG","ENDTAG","COMMENT","DOCTYPE","NOATTRS","quirkyPublicIds","quirkySystemId","conditionallyQuirkyPublicIds","limitedQuirkyPublicIds","specialSet","addressdivpSet","dddtSet","tablesectionrowSet","impliedEndTagsSet","thoroughImpliedEndTagsSet","tableContextSet","tableBodyContextSet","tableRowContextSet","formassociatedSet","inScopeSet","inListItemScopeSet","inButtonScopeSet","inTableScopeSet","invertedSelectScopeSet","mathmlTextIntegrationPointSet","htmlIntegrationPointSet","foreignAttributes","svgAttrAdjustments","svgTagNameAdjustments","numericCharRefReplacements","namedCharRefs","NAMEDCHARREF","DBLQUOTEATTRVAL","SINGLEQUOTEATTRVAL","UNQUOTEDATTRVAL","TAGNAME","ATTRNAME","CDATATEXT","DATATEXT","RAWTEXT","PLAINTEXT","SIMPLETAG","SIMPLEATTR","NONWS","ALLNONWS","NONWSNONNUL","LEADINGWS","NULCHARS","buf2str","buf","CHUNKSIZE","str2buf","isA","set","tagnames","isMathmlTextIntegrationPoint","isHTMLIntegrationPoint","encoding","adjustSVGTagName","adjustSVGAttributes","attrs","adjustMathMLAttributes","adjustForeignAttributes","transferAttributes","localname","butnot","thorough","endTagSet","equal","attrcopy","newelt","oldelt","oldattrs","oldname","fragmentContext","options","numchars","nextchar","input_complete","scanner_skip_newline","reentrant_invocations","saved_scanner_state","leftovers","first_batch","paused","tokenizer","data_state","return_state","character_reference_code","tagnamebuf","lasttagname","tempbuf","attrnamebuf","attrvaluebuf","commentbuf","doctypenamebuf","doctypepublicbuf","doctypesystembuf","is_end_tag","initial_mode","originalInsertionMode","templateInsertionModes","stack","afe","fragment","head_element_pointer","form_element_pointer","scripting_enabled","frameset_ok","force_quirks","pending_table_text","text_integration_mode","textrun","textIncludesNUL","ignore_linefeed","htmlparser","frag","shouldPauseFunc","moreToDo","scanChars","rcdata_state","plaintext_state","in_template_mode","resetInsertionMode","codepoint","pattern","eof","needsString","addAttribute","handleSimpleAttribute","matched","after_attribute_value_quoted_state","before_attribute_name_state","beginTagName","beginEndTagName","beginTempBuf","beginAttrName","beginAttrValue","beginComment","beginDoctype","beginDoctypePublicId","beginDoctypeSystemId","forcequirks","cdataAllowed","appropriateEndTag","flushText","insertToken","getMatchingChars","emitCharsWhile","emitCharString","emitTag","emitSimpleTag","endtag","emitSelfClosingTag","emitDoctype","emitEOF","arg3","arg4","current","insertForeignToken","insertComment","foster_parent_mode","fosterParent","doc2","insertText","createHTMLElt","insertHTMLElement","insertElement","eltFunc","insertForeignElement","lastElementOfType","lastTable","lastTemplate","ancestor","in_select_in_table_mode","in_select_mode","in_row_mode","in_table_body_mode","in_caption_mode","in_column_group_mode","in_table_mode","in_body_mode","in_frameset_mode","before_head_mode","after_head_mode","in_head_mode","in_cell_mode","parseRawText","rawtext_state","text_mode","parseRCDATA","afeclone","afereconstruct","entry","BOOKMARK","adoptionAgency","outer","fmtelt","furthestblock","furthestblockindex","lastnode","nodeindex","nodeafeindex","inner","newelt2","handleScriptEnd","stopParsing","reconsume","new_state","character_reference_state","tag_open_state","rcdata_less_than_sign_state","rawtext_less_than_sign_state","script_data_state","script_data_less_than_sign_state","markup_declaration_open_state","end_tag_open_state","tag_name_state","bogus_comment_state","self_closing_start_tag_state","rcdata_end_tag_open_state","rcdata_end_tag_name_state","rawtext_end_tag_open_state","rawtext_end_tag_name_state","script_data_end_tag_open_state","script_data_escape_start_state","script_data_end_tag_name_state","script_data_escape_start_dash_state","script_data_escaped_dash_dash_state","script_data_escaped_state","script_data_escaped_dash_state","script_data_escaped_less_than_sign_state","script_data_escaped_end_tag_open_state","script_data_double_escape_start_state","script_data_escaped_end_tag_name_state","script_data_double_escaped_state","script_data_double_escaped_dash_state","script_data_double_escaped_less_than_sign_state","script_data_double_escaped_dash_dash_state","script_data_double_escape_end_state","attribute_name_state","after_attribute_name_state","before_attribute_value_state","attribute_value_double_quoted_state","attribute_value_single_quoted_state","attribute_value_unquoted_state","lookahead","comment","comment_start_state","doctype_state","cdata_section_state","comment_start_dash_state","comment_state","comment_end_state","comment_less_than_sign_state","comment_end_dash_state","comment_less_than_sign_bang_state","comment_less_than_sign_bang_dash_state","comment_less_than_sign_bang_dash_dash_state","comment_end_bang_state","before_doctype_name_state","doctype_name_state","after_doctype_name_state","after_doctype_public_keyword_state","after_doctype_system_keyword_state","bogus_doctype_state","before_doctype_public_identifier_state","doctype_public_identifier_double_quoted_state","doctype_public_identifier_single_quoted_state","after_doctype_public_identifier_state","between_doctype_public_and_system_identifiers_state","doctype_system_identifier_double_quoted_state","doctype_system_identifier_single_quoted_state","before_doctype_system_identifier_state","after_doctype_system_identifier_state","cdata_section_bracket_state","cdata_section_end_state","character_reference_end_state","numeric_character_reference_state","named_character_reference_state","hexadecimal_character_reference_start_state","decimal_character_reference_start_state","hexadecimal_character_reference_state","decimal_character_reference_state","numeric_character_reference_end_state","publicid","systemid","before_html_mode","ws","in_head_noscript_mode","activeElement","after_body_mode","openform","getTypeAttr","in_table_text_mode","end_caption","endsect","endrow","switchModeAndReprocess","mode","after_after_body_mode","after_frameset_mode","after_after_frameset_mode","isHTMLFont","input","initialState","lastStartTag","charbychar","tokens","contextObject","supportedFeatures","feature","version","doctype","titleText","title","require_Location","Location","newurl","require_NavigatorID","NavigatorID","require_WindowTimers","WindowTimers","require_impl","require_Window","Window","require_lib","domino","setDomTypes","parseDocument","serializeDocument","DominoAdapter","BrowserDomAdapter","setRootDomAdapter","evt","win","INITIAL_CONFIG","InjectionToken","BEFORE_APP_SERIALIZED","ENABLE_DOM_EMULATION","PlatformState","enableDomEmulation","inject","Injector","_doc","measuringLabel","startMeasuring","rendered","stopMeasuring","__ngFactoryType__","ɵɵinject","DOCUMENT","ɵɵdefineInjectable","injector","ServerXhr","__async","xhr","relativeUrlsTransformerInterceptorFn","request","platformLocation","PlatformLocation","protocol","hostname","port","urlPrefix","baseHref","baseUrl","newUrl","SERVER_HTTP_PROVIDERS","XhrFactory","HTTP_ROOT_INTERCEPTOR_FNS","RESOLVE_PROTOCOL","parseUrl","urlStr","pathname","search","hash","ServerPlatformLocation","Subject","_config","config","getDOM","subscription","oldUrl","state","parsedUrl","ServerEventManagerPlugin","EventManagerPlugin","eventName","TRANSFER_STATE_SERIALIZATION_PROVIDERS","BEFORE_APP_SERIALIZED","serializeTransferStateFactory","createScript","doc","textContent","nonce","script","serializeTransferStateFactory","doc","inject","DOCUMENT","appId","APP_ID","transferStore","TransferState","injector","Injector","measuringLabel","startMeasuring","content","script","createScript","stopMeasuring","INTERNAL_SERVER_PLATFORM_PROVIDERS","_document","PLATFORM_ID","PLATFORM_SERVER_ID","PLATFORM_INITIALIZER","initDominoAdapter","PlatformLocation","ServerPlatformLocation","Optional","INITIAL_CONFIG","PlatformState","_enableDomEmulation","enableDomEmulation","DominoAdapter","BrowserDomAdapter","SERVER_RENDER_PROVIDERS","EVENT_MANAGER_PLUGINS","ServerEventManagerPlugin","PLATFORM_SERVER_PROVIDERS","TRANSFER_STATE_SERIALIZATION_PROVIDERS","SERVER_HTTP_PROVIDERS","Testability","TESTABILITY","ViewportScroller","NullViewportScroller","_document","injector","config","INITIAL_CONFIG","_enableDomEmulation","enableDomEmulation","document","parseDocument","getDOM","setDocument","platformServer","extraProviders","createPlatformFactory","platformCore","INTERNAL_SERVER_PLATFORM_PROVIDERS","provideServerRendering","makeEnvironmentProviders","PLATFORM_SERVER_PROVIDERS","EVENT_DISPATCH_SCRIPT_ID","createServerPlatform","options","extraProviders","measuringLabel","startMeasuring","platform","platformServer","INITIAL_CONFIG","stopMeasuring","findEventDispatchScript","doc","removeEventDispatchScript","prepareForHydration","platformState","applicationRef","environmentInjector","IS_HYDRATION_DOM_REUSE_ENABLED","appendSsrContentIntegrityMarker","eventTypesToReplay","annotateForHydration","insertEventRecordScript","APP_ID","CSP_NONCE","comment","SSR_CONTENT_INTEGRITY_MARKER","appendServerContextInfo","injector","serverContext","sanitizeServerContext","SERVER_CONTEXT","DEFAULT_SERVER_CONTEXT","componentRef","renderer","Renderer2","element","appId","nonce","regular","capture","eventDispatchScript","replayScriptContents","replayScript","createScript","renderInternal","platformRef","__async","PlatformState","callbacks","BEFORE_APP_SERIALIZED","asyncCallbacks","callback","callbackResult","e","result","asyncDestroyPlatform","resolve","InjectionToken","context","renderModule","moduleType","document","url","platformProviders","ApplicationRef","renderApplication","bootstrap","renderAppLabel","bootstrapLabel","_renderLabel","rendered","createNotImplementedError","name","notImplemented","readFile$1","notImplemented","callbackify","fn","fnc","args","cb","error","val","readFile","readFile$1","_DRIVE_LETTER_START_RE","normalizeWindowsPath","input","r","_UNC_REGEX","_IS_ABSOLUTE_RE","_DRIVE_LETTER_RE","_ROOT_FOLDER_RE","sep","delimiter","normalize","path","isUNCPath","isPathAbsolute","isAbsolute","trailingSeparator","normalizeString","join","arguments_","joined","argument","cwd","resolve","resolvedPath","resolvedAbsolute","index","allowAboveRoot","res","lastSegmentLength","lastSlash","dots","char","lastSlashIndex","p","toNamespacedPath","_EXTNAME_RE","extname","match","relative","from","to","_from","_to","_fromCopy","segment","dirname","segments","format","basename","extension","lastSegment","parse$3","root","base","_path","_pathModule","__spreadProps","__spreadValues","getDefaultExportFromCjs","x","getAugmentedNamespace","n","f","a","isInstance","k","d","picocolors_browser","hasRequiredPicocolors_browser","requirePicocolors_browser","create","_nodeResolve_empty","_nodeResolve_empty$1","require$$2","cssSyntaxError","hasRequiredCssSyntaxError","requireCssSyntaxError","pico","terminalHighlight","CssSyntaxError","message","line","column","source","file","plugin","color","css","aside","text","mark","highlight","bold","gray","red","lines","start","end","maxWidth","number","gutter","padding","subLineStart","subLineEnd","subLine","spacing","code","stringifier","hasRequiredStringifier","requireStringifier","DEFAULT_RAW","capitalize","str","Stringifier","builder","node","semicolon","name","params","detect","value","buf","depth","indent","step","between","after","last","i","child","before","left","right","string","own","parent","method","parts","prop","raw","stringify_1","hasRequiredStringify","requireStringify","stringify","symbols","hasRequiredSymbols","requireSymbols","hasRequiredNode$1","requireNode$1","isClean","my","cloneNode","obj","cloned","type","j","sourceOffset","inputCSS","position","offset","Node","defaults","s","add","overrides","keepBetween","opts","next","pos","inputString","defaultType","nodes","bookmark","foundSelf","result","_","inputs","fixed","emitInputs","inputsNextIndex","inputId","data","comment","hasRequiredComment","requireComment","Comment","declaration","hasRequiredDeclaration","requireDeclaration","Declaration","container","hasRequiredContainer$1","requireContainer$1","AtRule","parse","Root","Rule","cleanSource","markTreeDirty","Container","children","callback","iterator","condition","other","exist","existIndex","id","sample","pattern","decl","e","selector","dependant","atRule","hasRequiredAtRule","requireAtRule","document","hasRequiredDocument","requireDocument","LazyResult","Processor","Document","nonSecure","hasRequiredNonSecure","requireNonSecure","urlAlphabet","size","alphabet","defaultSize","previousMap","hasRequiredPreviousMap","requirePreviousMap","existsSync","readFileSync","SourceMapConsumer","SourceMapGenerator","fromBase64","PreviousMap","prev","baseCharsetUri","baseUri","charsetUri","uri","uriMatch","baseUriMatch","encoding","sourceMapString","map","comments","prevPath","hasRequiredInput","requireInput","nanoid","fileURLToPath","pathToFileURL","fromOffsetCache","sourceMapAvailable","pathAvailable","Input","endColumn","endLine","origin","lastLine","lineToIndex","prevIndex","l","min","max","mid","consumer","fromUrl","json","hasRequiredRoot","requireRoot","ignore","list_1","hasRequiredList","requireList","list","spaces","separators","array","current","split","func","inQuote","prevQuote","escape","letter","rule","hasRequiredRule","requireRule","values","fromJSON_1","hasRequiredFromJSON","requireFromJSON","fromJSON","_a","ownInputs","__objRest","inputHydrated","_b","mapGenerator","hasRequiredMapGenerator","requireMapGenerator","MapGenerator","cssString","content","eol","noSource","mapping","annotation","cached","already","fileURL","url","tokenize","hasRequiredTokenize","requireTokenize","SINGLE_QUOTE","DOUBLE_QUOTE","BACKSLASH","SLASH","NEWLINE","SPACE","FEED","TAB","CR","OPEN_SQUARE","CLOSE_SQUARE","OPEN_PARENTHESES","CLOSE_PARENTHESES","OPEN_CURLY","CLOSE_CURLY","SEMICOLON","ASTERISK","COLON","AT","RE_AT_END","RE_WORD_END","RE_BAD_BRACKET","RE_HEX_ESCAPE","options","quote","currentToken","escaped","escapePos","length","buffer","returned","unclosed","what","endOfFile","nextToken","ignoreUnclosed","controlChar","back","token","parser","hasRequiredParser","requireParser","tokenizer","SAFE_COMMENT_NEIGHBOR","findLastWithPosition","tokens","Parser","shift","open","brackets","colon","founded","element","customProperty","firstSpaces","cache","bracket","clean","all","lastTokenType","parse_1","hasRequiredParse","requireParse","warning","hasRequiredWarning","requireWarning","Warning","range","opt","hasRequiredResult","requireResult","Result","processor","warnOnce","hasRequiredWarnOnce","requireWarnOnce","printed","lazyResult","hasRequiredLazyResult","requireLazyResult","TYPE_TO_CLASS_NAME","PLUGIN_PROPS","NOT_VISITORS","CHILDREN","isPromise","getEvents","key","toStack","events","cleanMarks","postcss","onRejected","onFinally","pluginName","pluginVer","runtimeVer","b","err","event","filter","__async","promise","stack","visitor","roots","subRoot","onFulfilled","visitors","visit","noWorkResult","hasRequiredNoWorkResult","requireNoWorkResult","NoWorkResult","self","generatedCSS","generatedMap","hasRequiredProcessor","requireProcessor","plugins","normalized","postcss_1","hasRequiredPostcss","requirePostcss","initializer","warningPrinted","creator","transformer","processOpts","pluginOpts","postcssExports","parse$2","dist","Node$1","hasRequiredNode","requireNode","hasRequiredContainer","requireContainer","_Node","_Node2","_interopRequireDefault","Container$1","_this","hasFilter","filterReg","filtered","parsers","hasRequiredParsers","requireParsers","parseMediaFeature","parseMediaQuery","parseMediaList","_Container","_Container2","modesEntered","lastModeIndex","mediaFeature","mediaFeatureValue","indexLocal","stringNormalized","character","mediaFeatureValueStr","localLevel","insideSomeValue","resetNode","_i","interimIndex","levelLocal","doesHaveUrl","parenthesesLv","_i2","_character","_mediaQueryString","_spaceBefore","mediaQueryString","spaceBefore","hasRequiredDist","requireDist","parseMedia","_parsers","distExports","mediaParser","ElementType","isTag$1","elem","Text$1","Directive","Comment$1","Script","Style","Tag","CDATA$1","Doctype","recursive","DataNode","Text","ProcessingInstruction","NodeWithChildren","CDATA","Element","attribs","isTag","isCDATA","isText","isComment","isDirective","isDocument","hasChildren","cloneChildren","clone","instruction","childs","defaultOpts","DomHandler","elementCB","lastNode","previousSibling","_a$1","fromCodePoint$1","_a$1","codePoint","output","xmlReplacer","xmlCodeMap","getCodePoint","str","index","c","encodeXML","ret","lastIdx","match","i","char","next","getEscaper","regex","map","data","result","escapeAttribute","escapeText","elementNames","val","attributeNames","unencodedElements","replaceQuotes","value","formatAttributes","attributes","opts","_a","encode","encodeXML","escapeAttribute","key","_b","singleTag","render","node","options","nodes","output","i","renderNode","Root","Doctype","Directive","renderDirective","Comment$1","renderComment","CDATA$1","renderCdata","Script","Style","Tag","renderTag","Text$1","renderText","foreignModeIntegrationPoints","foreignElements","elem","__spreadProps","__spreadValues","tag","attribs","data","escapeText","getOuterHTML","getInnerHTML","hasChildren","getText","isTag","isCDATA","isText","textContent","isComment","innerText","ElementType","getChildren","getParent","getSiblings","parent","siblings","prev","next","getAttributeValue","name","hasAttrib","getName","nextElementSibling","prevElementSibling","removeElement","childs","childsIndex","replaceElement","replacement","appendChild","child","sibling","append","currNext","prependChild","prepend","filter","test","recurse","limit","find","result","nodeStack","indexStack","findOneChild","findOne","searchedNodes","found","existsOne","findAll","Checks","type","getAttribCheck","attrib","combineFuncs","a","b","compileTest","funcs","testElement","getElements","getElementById","id","getElementsByTagName","tagName","getElementsByClassName","className","getElementsByTagType","removeSubsets","idx","ancestor","DocumentPosition","compareDocumentPosition","nodeA","nodeB","aParents","bParents","current","maxIdx","sharedParent","aSibling","bSibling","uniqueSort","arr","relative","getFeed","doc","feedRoot","getOneElement","isValidFeed","getAtomFeed","getRssFeed","feed","item","children","entry","getMediaElements","addConditionally","href","description","fetch","pubDate","updated","MEDIA_KEYS_STRING","MEDIA_KEYS_INT","where","media","obj","prop","DomUtils","isDocument","boolbase$1","hasRequiredBoolbase","requireBoolbase","boolbaseExports","boolbase","getDefaultExportFromCjs","SelectorType","AttributeAction","reName","reEscape","actionTypes","unpackPseudos","isTraversal$1","selector","stripQuotesFromPseudos","funescape","_","escaped","escapedWhitespace","high","unescapeCSS","str","isQuote","c","isWhitespace$1","parse$1","subselects","endIndex","parseSelector","selectorIndex","tokens","offset","match","stripWhitespace","readValueWithParenthesis","start","counter","isEscaped","pos","slashCount","ensureNotTraversal","addTraversal","addSpecialAttribute","action","finalizeSubselector","loop","firstChar","namespace","possibleAction","ignoreCase","quote","sectionEnd","valueStart","forceIgnore","attributeSelector","quot","attribValChars","pseudoValChars","procedure","isTraversal","token","sortByProcedure","procs","getProcedure","procNew","j","proc","d","reChars","escapeRegex","caseInsensitiveAttributes","shouldIgnoreCase","attributeRules","adapter","attr","len","regex","whitespace","ZERO","NINE","parse","formula","sign","readSign","number","readNumber","skipWhitespace","compile","parsed","index","absA","bMod","nthCheck","getChildFunc","filters","text","itext","rule","equals","func","currentSibling","_rule","context","dynamicStatePseudo","pseudos","firstChild","elemName","verifyPseudoArgs","subselect","argIndex","aliases","PLACEHOLDER_ELEMENT","ensureIsTag","getNextSiblings","elemIndex","copyOptions","is","compileToken","_context","s","compiled","hasElement","shouldTestNextSiblings","nextElements","compilePseudoSelector","userPseudo","stringPseudo","alias","pseudo","getElementParent","compileGeneralSelector","isFalseCache","previous","lastElement","compileUnsafe","includesScopePseudo","DESCENDANT_TOKEN","FLEXIBLE_DESCENDANT_TOKEN","SCOPE_TOKEN","absolutize","hasContext","e","t","isArrayContext","finalContext","query","rules","first","second","compileRules","reduceRules","defaultEquals","defaultOptions","convertOptionFormats","_c","_d","getSelectorFunc","searchFunc","elements","filteredElements","prepareContext","elems","appendNextSiblings","elemsLength","nextSiblings","selectAll","selectOne","htmlDecodeTree","xmlDecodeTree","decodeMap","fromCodePoint","codePoint","replaceCodePoint","CharCodes$1","CharCodes","TO_LOWER_BIT","BinTrieFlags","isNumber","code","isHexadecimalCharacter","isAsciiAlphaNumeric","isEntityInAttributeInvalidEnd","EntityDecoderState","DecodingMode","EntityDecoder","decodeTree","emitCodePoint","errors","decodeMode","input","end","base","digitCount","startIndex","char","lastCp","expectedLength","valueLength","determineBranch","consumed","nodeIndex","branchCount","jumpOffset","lo","hi","mid","midValue","State","isWhitespace","isEndOfTagSection","isASCIIAlpha","QuoteType","Sequences","Tokenizer","xmlMode","decodeEntities","cbs","cp","chunk","isEnd","endOfText","actualIndex","sequence","lower","length","formTags","pTag","tableSectionTags","ddtTags","rtpTags","openImpliesClose","voidElements","foreignContextElements","htmlIntegrationElements","reNameEnd","Parser","_e","_f","impliesClose","element","isImplied","_g","_h","isOpenImplied","_j","_k","slice","parseDocument","handler","DomHandler","picocolors_browserExports","requirePicocolors_browser","pc","parseStylesheet","stylesheet","parse$2","serializeStylesheet","ast","cssParts","stringify","prefix","lastItemIdx","markOnly","predicate","sel","applyMarkedSelectors","walkStyleRules","iterator","hasNestedRules","filterSelectors","walkStyleRulesWithReverseMirror","node2","splitFilter","_rules","rules2","rule2","n","aOut","bOut","MEDIA_TYPES","MEDIA_KEYWORDS","MEDIA_FEATURES","feature","validateMediaType","nodeType","nodeValue","validateMediaQuery","mediaTree","mediaParser","nodeTypes","stack","classCache","idCache","buildCache","container","queue","cls","createDocument","html","document","extendDocument","extendElement","Element","beastiesContainer","serializeDocument","extended","referenceNode","Text","cachedQuerySelector","selectorTokensCache","selectorTokens","parseRelevantSelectors","relevantTokens","tokenGroup","LOG_LEVELS","defaultLogger","msg","createLogger","logLevel","logLevelIdx","logger","isSubpath","basePath","currentPath","_pathModule","removePseudoClassesAndElementsPattern","doubleNestingPattern","removeTrailingCommasPattern","Beasties","#selectorCache","filename","fs","resolve","reject","callback","err","readFile","__async","externalSheets","link","styles","style","sheet","_style","outputPath","publicPath","normalizedPath","pathPrefix","styleSheetsIncluded","sources","cssFile","preloadMode","cssLoaderPreamble","noscriptFallback","updateLinkToPreload","noscriptLink","script","js","bodyLink","noscript","before","sheetInverse","minSize","shouldInline","keyframesMode","astInverse","criticalFonts","failedSelectors","criticalKeyframeNames","includeNext","includeAll","excludeNext","excludeAll","shouldPreloadFonts","shouldInlineFonts","beastiesComment","command","exp","decl","name2","nameTrimmed","preloadedFonts","family","src","preload","afterText","styleInlinedCompletely","formatSize","percent","normalizedSelector","size","abbreviations","roundedSize","fractionDigits","ServerAssets","manifest","path","asset","IGNORED_LOGS","Console","message","angularAppManifest","setAngularAppManifest","getAngularAppManifest","stripLeadingSlash","url","addLeadingSlash","addTrailingSlash","joinUrlParts","parts","normalizedParts","part","start","end","stripIndexHtmlFromURL","modifiedURL","buildPathWithParams","toPath","fromPath","fromPathParts","toPathParts","resolvedParts","index","renderAngular","html","bootstrap","platformProviders","serverContext","providers","SERVER_CONTEXT","Console","urlToRender","isNgModule","renderModule","renderApplication","value","promiseWithAbort","promise","signal","errorMessagePrefix","resolve","reject","abortHandler","RenderMode","PrerenderFallback","SERVER_ROUTES_CONFIG","InjectionToken","RouteTree","_RouteTree","route","metadata","node","segments","normalizedSegments","segment","normalizedSegment","childNode","__spreadProps","__spreadValues","addLeadingSlash","value","tree","_a","_b","__objRest","__yieldStar","currentIndex","exactMatch","match","wildcardMatch","MODULE_PRELOAD_MAX","CATCH_ALL_REGEXP","URL_PARAMETER_REGEXP","VALID_REDIRECT_RESPONSE_CODES","handleRoute","options","__asyncGenerator","currentRoutePath","compiler","parentInjector","serverConfigRouteTree","entryPointToBrowserMapping","invokeGetPrerenderParams","includePrerenderFallbackRoutes","redirectTo","loadChildren","loadComponent","children","ɵentryName","appendPreloadToMetadata","RenderMode","handleSSGRoute","resolveRedirectTo","traverseRoutesConfig","loadedChildRoutes","__await","childRoutes","injector","error","routeConfigs","parentPreloads","parentRoute","matcher","path","joinUrlParts","foundMatch","matchedMetaData","stripLeadingSlash","addTrailingSlash","entryName","includeDynamicImports","existingPreloads","preload","combinedPreloads","dynamicImport","fallback","meta","getPrerenderParams","isCatchAllRoute","catchAllRoutePath","parameters","runInInjectionContext","params","replacer","handlePrerenderParamsReplacement","routeWithResolvedParams","PrerenderFallback","parameterName","routePath","buildServerConfigRouteTree","routes","appShellRoute","serverRoutes","errors","getRoutesFromAngularRouterConfig","bootstrap","document","url","__async","protocol","host","platformRef","platformServer","INITIAL_CONFIG","Console","ENABLE_ROOT_COMPONENT_BOOTSTRAP","applicationRef","isNgModule","ApplicationRef","router","Router","rawBaseHref","APP_BASE_HREF","PlatformLocation","baseHref","Compiler","serverRoutesConfig","SERVER_ROUTES_CONFIG","result","routesResults","traverseRoutes","seenRoutes","iter","__forAwait","more","temp","routeMetadata","resolve","presentInClientRouter","rootRouteMetadata","extractRoutesAndCreateRouteTree","manifest","getAngularAppManifest","signal","extract","routeTree","ServerAssets","key","fullRoute","promiseWithAbort","Hooks","name","context","hooks","ctx","hook","handler","ServerRouter","_ServerRouter","#extractionPromise","pathname","stripIndexHtmlFromURL","sha256","data","encodedData","hashBuffer","hashParts","h","MEDIA_SET_HANDLER_PATTERN","CSP_MEDIA_ATTR","LINK_LOAD_SCRIPT_CONTENT","BeastiesBase","Beasties","InlineCriticalCssProcessor","_InlineCriticalCssProcessor","readFile","outputPath","s","link","media","returnValue","__superGet","cspNonce","beastiesMedia","child","nonceElement","nonce","script","LRUCache","capacity","cachedNode","newNode","tail","MAX_INLINE_CSS_CACHE_ENTRIES","SERVER_CONTEXT_VALUE","AngularServerApp","request","requestContext","matchedRoute","status","renderMode","buildPathWithParams","response","headers","method","assetPath","locale","assets","text","hash","size","etag","platformProviders","inlineCriticalCss","responseInit","REQUEST","REQUEST_CONTEXT","RESPONSE_INIT","html","LOCALE_ID","renderAngular","fileName","cacheKey","htmlWithCriticalCss","appendPreloadHintsToHtml","angularServerApp","getOrCreateAngularServerApp","destroyAngularServerApp","bodyCloseIdx","val","_c0","_c1","_c2","_c3","LucideIconBase_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c80","LucideArrowLeft_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c84","LucideArrowRight_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c120","LucideBadgeQuestionMark_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c259","LucideCalendarClock_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c267","LucideCalendarDays_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c275","LucideCalendar_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c318","LucideChartNoAxesCombined_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c362","LucideCircleCheck_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c422","LucideClock4_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c431","LucideClock_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c456","LucideCodeXml_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c630","LucideFileText_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c748","LucideGlobe_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c773","LucideHandshake_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c932","LucideMail_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c948","LucideMapPin_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c963","LucideMenu_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c976","LucideMessageCircle_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c1141","LucidePhone_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c1223","LucideRepeat2_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c1230","LucideRocket_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c1290","LucideSend_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c1309","LucideShieldCheck_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c1318","LucideShield_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c1455","LucideStar_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c1462","LucideStore_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c1597","LucideUserCheck_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c1609","LucideUserRound_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c1613","LucideUser_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","_c1677","LucideWrench_Conditional_0_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","lucideDefaultConfig","LUCIDE_CONFIG","InjectionToken","transformNumericStringInput","value","defaultValue","parsedValue","LucideIconBase","inject","LUCIDE_CONFIG","ElementRef","Renderer2","viewChild","input","effect","onCleanup","icon","absoluteStrokeWidth","name","node","aliases","classes","item","cssClass","refChild","elements","attrs","element","__ngFactoryType__","ɵɵdefineComponent","rf","ctx","ɵɵviewQuerySignal","_c0","ɵɵqueryAdvance","ɵɵattribute","_c1","_c3","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideIconBase_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideArrowLeft","LucideIconBase","signal","ɵLucideArrowLeft_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c80","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideArrowLeft_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideArrowRight","LucideIconBase","signal","ɵLucideArrowRight_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c84","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideArrowRight_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideBadgeQuestionMark","LucideIconBase","signal","ɵLucideBadgeQuestionMark_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c120","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideBadgeQuestionMark_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideCalendarClock","LucideIconBase","signal","ɵLucideCalendarClock_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c259","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideCalendarClock_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideCalendarDays","LucideIconBase","signal","ɵLucideCalendarDays_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c267","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideCalendarDays_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideCalendar","LucideIconBase","signal","ɵLucideCalendar_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c275","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideCalendar_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideChartNoAxesCombined","LucideIconBase","signal","ɵLucideChartNoAxesCombined_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c318","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideChartNoAxesCombined_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideCircleCheck","LucideIconBase","signal","ɵLucideCircleCheck_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c362","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideCircleCheck_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideClock4","LucideIconBase","signal","ɵLucideClock4_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c422","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideClock4_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideClock","LucideIconBase","signal","ɵLucideClock_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c431","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideClock_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideCodeXml","LucideIconBase","signal","ɵLucideCodeXml_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c456","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideCodeXml_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideFileText","LucideIconBase","signal","ɵLucideFileText_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c630","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideFileText_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideGlobe","LucideIconBase","signal","ɵLucideGlobe_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c748","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideGlobe_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideHandshake","LucideIconBase","signal","ɵLucideHandshake_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c773","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideHandshake_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideMail","LucideIconBase","signal","ɵLucideMail_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c932","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideMail_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideMapPin","LucideIconBase","signal","ɵLucideMapPin_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c948","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideMapPin_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideMenu","LucideIconBase","signal","ɵLucideMenu_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c963","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideMenu_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideMessageCircle","LucideIconBase","signal","ɵLucideMessageCircle_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c976","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideMessageCircle_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucidePhone","LucideIconBase","signal","ɵLucidePhone_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c1141","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucidePhone_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideRepeat2","LucideIconBase","signal","ɵLucideRepeat2_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c1223","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideRepeat2_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideRocket","LucideIconBase","signal","ɵLucideRocket_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c1230","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideRocket_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideSend","LucideIconBase","signal","ɵLucideSend_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c1290","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideSend_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideShieldCheck","LucideIconBase","signal","ɵLucideShieldCheck_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c1309","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideShieldCheck_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideShield","LucideIconBase","signal","ɵLucideShield_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c1318","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideShield_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideStar","LucideIconBase","signal","ɵLucideStar_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c1455","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideStar_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideStore","LucideIconBase","signal","ɵLucideStore_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c1462","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideStore_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideUserCheck","LucideIconBase","signal","ɵLucideUserCheck_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c1597","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideUserCheck_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideUserRound","LucideIconBase","signal","ɵLucideUserRound_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c1609","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideUserRound_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideUser","LucideIconBase","signal","ɵLucideUser_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c1613","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideUser_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LucideWrench","LucideIconBase","signal","ɵLucideWrench_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵInheritDefinitionFeature","_c1677","_c3","rf","ctx","ɵɵprojectionDef","_c2","ɵɵtemplate","LucideWrench_Conditional_0_Template","ɵɵprojection","ɵɵelementContainer","tmp_1_0","ɵɵconditional","LUCIDE_ICONS","InjectionToken","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","link_r2","route","fragment","ɵɵtextInterpolate1","label","HeaderComponent","router","viewportScroller","isScrolled","activeLink","navbarNav","navLinks","constructor","onWindowScroll","window","scrollY","setActive","linkId","nativeElement","classList","remove","scrollToSection","sectionTitle","url","document","getElementById","scrollIntoView","behavior","block","navigate","ɵɵdirectiveInject","Router","ViewportScroller","selectors","viewQuery","rf","ctx","ɵɵlistener","ɵɵresolveWindow","ɵɵelement","ɵɵrepeaterCreate","HeaderComponent_For_14_Template","ɵɵrepeaterTrackByIndex","i0","ɵɵrestoreView","_r1","ɵɵresetView","ɵɵpureFunction1","_c1","ɵɵrepeater","NgClass","LucideMenu","RouterLink","styles","GoogleAnalyticsService","platformId","isBrowser","constructor","isPlatformBrowser","sendPageView","url","window","gtag","page_path","sendEvent","eventName","params","ɵɵinject","PLATFORM_ID","factory","ɵfac","providedIn","myInfo","lastName","firstName","location","email","phone","portfolioLink","githubLink","linkedinLink","googleLink","cvLink","currentAge","actualDate","Date","age","getFullYear","getMonth","yearsOfExperience","technologies","category","loadScriptOnce","src","Promise","resolve","reject","document","querySelector","s","createElement","async","onload","onerror","Error","head","appendChild","environment","production","apiURL","baseUrl","recaptchaSiteKey","ga4MeasurementId","TarteaucitronService","booted","enabledJobs","Set","platformId","inject","PLATFORM_ID","isBrowser","isPlatformBrowser","tac","window","tarteaucitron","boot","__async","loadScriptOnce","cdn","lang","tarteaucitronForceLanguage","user","gtagUa","environment","ga4MeasurementId","init","language","privacyUrl","hashtag","cookieName","orientation","showAlertSmall","showIcon","cookieslist","AcceptAllCta","DenyAllCta","highPrivacy","removeCredit","job","push","openPanel","location","hash","enableJob","has","add","isServiceAllowed","service","state","enableRecaptchaV3","siteKey","recaptchaapi","enableGA4","measurementId","factory","ɵfac","providedIn","FooterComponent","tac","constructor","openTacPanel","openPanel","myData","myInfo","currentYear","Date","getFullYear","ɵɵdirectiveInject","TarteaucitronService","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵadvance","ɵɵproperty","linkedinLink","ɵɵsanitizeUrl","githubLink","ɵɵpropertyInterpolate","googleLink","email","ɵɵtextInterpolate1","RouterLink","LucideMapPin","LucideCodeXml","LucideMail","styles","FloatingHelperComponent","router","viewPortScroller","platformId","isVisible","isBrowser","ticking","canShow","constructor","isPlatformBrowser","ngOnInit","shouldShowHelper","onScroll","requestAnimationFrame","scrollPosition","window","scrollY","triggerPoint","innerHeight","isContactVisible","anchor","url","startsWith","el","document","getElementById","rect","getBoundingClientRect","top","bottom","contact","scrollToAnchor","close","localStorage","setItem","JSON","stringify","closedAt","Date","now","raw","getItem","data","parse","ɵɵdirectiveInject","Router","ViewportScroller","PLATFORM_ID","selectors","hostBindings","rf","ctx","ɵɵlistener","ɵɵresolveWindow","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵtext","ɵɵclassProp","LucideArrowRight","styles","plural","val","n","i","v","e","fr_default","ɵɵelement","ɵɵstyleProp","ctx_r0","readingProgress","registerLocaleData","localeFr","AppComponent","router","inject","Router","gaService","GoogleAnalyticsService","tacService","TarteaucitronService","platformId","PLATFORM_ID","title","showReadingProgress","constructor","events","subscribe","event","NavigationStart","console","log","url","NavigationEnd","ngOnInit","pipe","filter","urlAfterRedirects","sendPageView","startsWith","setTimeout","updateReadingProgress","ngAfterViewInit","isPlatformBrowser","requestIdleCallback","boot","onScroll","document","querySelector","scrollTop","window","scrollY","documentHeight","documentElement","scrollHeight","innerHeight","isLandingPage","isBlog","isBlogArticle","selectors","hostBindings","rf","ctx","ɵɵlistener","ɵɵresolveWindow","ɵɵtemplate","AppComponent_Conditional_0_Template","AppComponent_Conditional_1_Template","AppComponent_Conditional_2_Template","ɵɵelementStart","ɵɵelementEnd","AppComponent_Conditional_5_Template","ɵɵconditional","ɵɵadvance","RouterOutlet","HeaderComponent","FooterComponent","FloatingHelperComponent","styles","isFakeMousedownFromScreenReader","event","isFakeTouchstartFromScreenReader","touch","shadowDomIsSupported","_supportsShadowDom","head","_getShadowRoot","element","rootNode","_getEventTarget","event","_bindEventWithOptions","renderer","target","eventName","callback","options","major","VERSION","minor","hasV8BreakIterator","Platform","inject","PLATFORM_ID","isPlatformBrowser","__ngFactoryType__","ɵɵdefineInjectable","supportsPassiveEvents","supportsPassiveEventListeners","normalizePassiveListenerOptions","options","coerceNumberProperty","value","fallbackValue","_isNumberValue","coerceElement","elementOrRef","ElementRef","INPUT_MODALITY_DETECTOR_OPTIONS","InjectionToken","INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS","TOUCH_BUFFER_MS","modalityEventListenerOptions","InputModalityDetector","inject","Platform","BehaviorSubject","event","keyCode","_getEventTarget","isFakeMousedownFromScreenReader","isFakeTouchstartFromScreenReader","ngZone","NgZone","document","DOCUMENT","options","__spreadValues","skip","distinctUntilChanged","renderer","RendererFactory2","_bindEventWithOptions","cleanup","__ngFactoryType__","ɵɵdefineInjectable","FocusMonitorDetectionMode","FOCUS_MONITOR_DEFAULT_OPTIONS","captureEventListenerOptions","normalizePassiveListenerOptions","FocusMonitor","Subject","target","element","checkChildren","nativeElement","coerceElement","of","rootNode","_getShadowRoot","cachedInfo","info","elementInfo","origin","focusedElement","currentElement","_info","focusEventTarget","isFromInteraction","ms","rootNodeFocusListeners","takeUntil","modality","results","mostRecentTarget","mostRecentModality","labels","i","CdkMonitorFocus","ElementRef","EventEmitter","ɵɵdefineDirective","appsWithLoaders","_CdkPrivateStyleLoader","inject","Injector","EnvironmentInjector","loader","appRef","ApplicationRef","data","ref","createComponent","__ngFactoryType__","ɵɵdefineInjectable","_VisuallyHiddenLoader","__ngFactoryType__","ɵɵdefineComponent","rf","ctx","coerceArray","value","mediaQueriesForWebkitCompatibility","mediaQueryStyleNode","MediaMatcher","inject","Platform","CSP_NONCE","noopMatchMedia","query","createEmptyStyleRule","__ngFactoryType__","ɵɵdefineInjectable","nonce","BreakpointObserver","NgZone","Subject","value","splitQueries","coerceArray","mediaQuery","observables","stateObservable","combineLatest","concat","take","skip","debounceTime","map","breakpointStates","response","matches","mql","output","Observable","observer","handler","e","startWith","takeUntil","queries","a1","a2","shouldIgnoreRecord","record","MutationObserverFactory","callback","__ngFactoryType__","ɵɵdefineInjectable","ContentObserver","inject","NgZone","_","element","elementOrRef","coerceElement","Observable","observer","subscription","map","records","filter","stream","Subject","mutations","CdkObserveContent","ElementRef","EventEmitter","value","coerceNumberProperty","debounceTime","ɵɵdefineDirective","booleanAttribute","ObserversModule","ɵɵdefineNgModule","ɵɵdefineInjector","LIVE_ANNOUNCER_ELEMENT_TOKEN","InjectionToken","LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY","LIVE_ANNOUNCER_DEFAULT_OPTIONS","uniqueIds","LiveAnnouncer","inject","NgZone","DOCUMENT","elementToken","message","args","defaultOptions","politeness","duration","resolve","elementClass","previousElements","liveEl","i","id","modals","modal","ariaOwns","__ngFactoryType__","ɵɵdefineInjectable","HighContrastMode","BLACK_ON_WHITE_CSS_CLASS","WHITE_ON_BLACK_CSS_CLASS","HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS","HighContrastModeDetector","inject","Platform","DOCUMENT","BreakpointObserver","testElement","documentWindow","computedStyle","computedColor","bodyClasses","mode","__ngFactoryType__","ɵɵdefineInjectable","A11yModule","ɵɵdefineNgModule","ɵɵdefineInjector","ObserversModule","counters","_IdGenerator","inject","APP_ID","prefix","__ngFactoryType__","ɵɵdefineInjectable","DEFAULT_TYPEAHEAD_DEBOUNCE_INTERVAL_MS","Typeahead","Subject","initialItems","config","typeAheadInterval","index","items","event","keyCode","tap","letter","debounceTime","filter","map","inputString","i","item","hasModifierKey","event","modifiers","modifier","ListKeyManager","signal","Subscription","item","_items","injector","QueryList","newItems","isSignal","effect","Subject","predicate","shouldWrap","enabled","direction","keys","debounceInterval","items","Typeahead","delta","previousActiveItem","event","keyCode","isModifierAllowed","modifier","targetIndex","itemsLength","hasModifierKey","itemArray","index","activeItem","i","fallbackDelta","newIndex","FocusKeyManager","ListKeyManager","origin","item","ID_DELIMITER","addAriaReferencedId","el","attr","id","ids","getAriaReferenceIds","existingId","removeAriaReferencedId","filteredIds","val","CDK_DESCRIBEDBY_ID_PREFIX","CDK_DESCRIBEDBY_HOST_ATTRIBUTE","nextId","AriaDescriber","inject","Platform","DOCUMENT","_CdkPrivateStyleLoader","_VisuallyHiddenLoader","APP_ID","hostElement","message","role","key","getKey","setMessageId","registeredMessage","describedElements","i","messageElement","containerClassName","serverContainers","messagesContainer","element","originalReferenceIds","getAriaReferenceIds","id","addAriaReferencedId","removeAriaReferencedId","referenceIds","messageId","trimmedMessage","ariaLabel","__ngFactoryType__","ɵɵdefineInjectable","serviceId","DIR_DOCUMENT","InjectionToken","DIR_DOCUMENT_FACTORY","inject","DOCUMENT","RTL_LOCALE_PATTERN","_resolveDirectionality","rawValue","value","Directionality","EventEmitter","_document","bodyDir","htmlDir","__ngFactoryType__","ɵɵdefineInjectable","BidiModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","MatCommonModule","inject","HighContrastModeDetector","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","BidiModule","MatCardModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","MatCommonModule","_isTestEnvironment","coerceCssPixelValue","value","RtlScrollAxisType","rtlScrollAxisType","scrollBehaviorSupported","supportsScrollBehavior","scrollToFunction","getRtlScrollAxisType","scrollContainer","containerStyle","content","contentStyle","DEFAULT_SCROLL_TIME","ScrollDispatcher","inject","NgZone","Platform","RendererFactory2","Subject","scrollable","scrollableReference","auditTimeInMs","Observable","observer","subscription","auditTime","of","_","container","elementOrElementRef","ancestors","filter","target","scrollingContainers","_subscription","element","coerceElement","scrollableElement","__ngFactoryType__","ɵɵdefineInjectable","CdkScrollable","ElementRef","Directionality","Renderer2","event","options","el","isRtl","getRtlScrollAxisType","RtlScrollAxisType","supportsScrollBehavior","from","LEFT","RIGHT","ɵɵdefineDirective","DEFAULT_RESIZE_TIME","ViewportRuler","DOCUMENT","ngZone","renderer","changeListener","cleanup","output","scrollPosition","width","height","document","window","documentElement","documentRect","top","left","throttleTime","CdkScrollableModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","ScrollingModule","BidiModule","Portal","host","ComponentPortal","component","viewContainerRef","injector","_componentFactoryResolver","projectableNodes","TemplatePortal","templateRef","context","DomPortal","element","ElementRef","BasePortalOutlet","portal","fn","DomPortalOutlet","BasePortalOutlet","outletElement","_unusedComponentFactoryResolver","_appRef","_defaultInjector","_document","portal","componentRef","injector","ngModuleRef","NgModuleRef$1","appRef","elementInjector","Injector","environmentInjector","EnvironmentInjector","createComponent","viewContainer","viewRef","rootNode","index","element","anchorNode","CdkPortal","TemplatePortal","templateRef","inject","TemplateRef","viewContainerRef","ViewContainerRef","__ngFactoryType__","ɵɵdefineDirective","ɵɵInheritDefinitionFeature","CdkPortalOutlet","BasePortalOutlet","inject","NgModuleRef$1","DOCUMENT","ViewContainerRef","portal","EventEmitter","viewContainerRef","ref","viewRef","element","anchorNode","nativeElement","__ngFactoryType__","ɵɵdefineDirective","ɵɵInheritDefinitionFeature","PortalModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","scrollBehaviorSupported","supportsScrollBehavior","BlockScrollStrategy","_viewportRuler","document","root","coerceCssPixelValue","html","body","htmlStyle","bodyStyle","previousHtmlScrollBehavior","previousBodyScrollBehavior","rootElement","viewport","CloseScrollStrategy","_scrollDispatcher","_ngZone","_viewportRuler","_config","overlayRef","stream","filter","scrollable","scrollPosition","NoopScrollStrategy","isElementScrolledOutsideView","element","scrollContainers","containerBounds","outsideAbove","outsideBelow","outsideLeft","outsideRight","isElementClippedByScrolling","scrollContainerRect","clippedAbove","clippedBelow","clippedLeft","clippedRight","RepositionScrollStrategy","throttle","overlayRect","width","height","ScrollStrategyOptions","inject","ScrollDispatcher","ViewportRuler","NgZone","DOCUMENT","config","BlockScrollStrategy","__ngFactoryType__","ɵɵdefineInjectable","OverlayConfig","configKeys","key","ConnectedOverlayPositionChange","connectionPair","scrollableViewProperties","BaseOverlayDispatcher","inject","DOCUMENT","overlayRef","index","__ngFactoryType__","ɵɵdefineInjectable","OverlayKeyboardDispatcher","NgZone","RendererFactory2","event","overlays","i","ɵOverlayKeyboardDispatcher_BaseFactory","ɵɵgetInheritedFactory","OverlayOutsideClickDispatcher","Platform","body","eventOptions","_bindEventWithOptions","cleanup","_getEventTarget","target","origin","containsPierceShadowDom","outsidePointerEvents","ɵOverlayOutsideClickDispatcher_BaseFactory","parent","child","supportsShadowRoot","current","_CdkOverlayStyleLoader","ɵɵdefineComponent","rf","ctx","OverlayContainer","_CdkPrivateStyleLoader","containerClass","_isTestEnvironment","oppositePlatformContainers","container","BackdropRef","document","_renderer","_ngZone","onClick","element","OverlayRef","Subject","Subscription","_portalOutlet","_host","_pane","_config","_keyboardDispatcher","_document","_location","_outsideClickDispatcher","_animationsDisabled","_injector","untracked","afterRender","portal","attachResult","afterNextRender","detachmentResult","isAttached","strategy","sizeConfig","__spreadValues","dir","__spreadProps","classes","direction","style","coerceCssPixelValue","enablePointer","showingClass","cssClasses","isAdd","coerceArray","c","subscription","takeUntil","merge","scrollStrategy","boundingBoxClass","cssUnitPattern","FlexibleConnectedPositionStrategy","connectedTo","_viewportRuler","_platform","_overlayContainer","originRect","overlayRect","viewportRect","containerRect","flexibleFits","fallback","pos","originPoint","overlayPoint","overlayFit","bestFit","bestScore","fit","score","extendStyles","lastPosition","scrollables","positions","margin","flexibleDimensions","growAfterOpen","canPush","isLocked","offset","selector","x","startX","endX","y","overlayStartX","overlayStartY","point","rawOverlayRect","viewport","position","overlay","getRoundedBoundingClientRect","offsetX","offsetY","leftOverflow","rightOverflow","topOverflow","bottomOverflow","visibleWidth","visibleHeight","visibleArea","availableHeight","availableWidth","minHeight","getPixelValue","minWidth","verticalFit","horizontalFit","start","scrollPosition","overflowRight","overflowBottom","overflowTop","overflowLeft","pushX","pushY","scrollVisibility","compareScrollVisibility","changeEvent","ConnectedOverlayPositionChange","elements","xOrigin","yOrigin","isRtl","height","top","bottom","smallestDistanceToViewportEdge","previousHeight","isBoundedByRightViewportEdge","isBoundedByLeftViewportEdge","width","left","right","previousWidth","boundingBoxRect","styles","maxHeight","maxWidth","hasExactPosition","hasFlexibleDimensions","config","transformString","documentHeight","horizontalStyleProperty","documentWidth","originBounds","overlayBounds","scrollContainerBounds","scrollable","isElementClippedByScrolling","isElementScrolledOutsideView","length","overflows","currentValue","currentOverflow","axis","cssClass","ElementRef","destination","source","key","input","value","units","clientRect","a","b","wrapperClass","GlobalPositionStrategy","overlayRef","config","value","offset","styles","parentStyles","width","height","maxWidth","maxHeight","shouldBeFlushHorizontally","shouldBeFlushVertically","xPosition","xOffset","isRtl","marginLeft","marginRight","justifyContent","parent","OverlayPositionBuilder","inject","ViewportRuler","DOCUMENT","Platform","OverlayContainer","origin","FlexibleConnectedPositionStrategy","__ngFactoryType__","ɵɵdefineInjectable","Overlay","ScrollStrategyOptions","OverlayKeyboardDispatcher","Injector","NgZone","Directionality","Location","OverlayOutsideClickDispatcher","ANIMATION_MODULE_TYPE","_IdGenerator","RendererFactory2","_CdkPrivateStyleLoader","_CdkOverlayStyleLoader","host","pane","portalOutlet","overlayConfig","OverlayConfig","OverlayRef","EnvironmentInjector","ApplicationRef","DomPortalOutlet","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY","InjectionToken","overlay","inject","Overlay","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY","overlay","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY","Overlay","OverlayModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","BidiModule","PortalModule","ScrollingModule","coerceBooleanProperty","value","_c0","SCROLL_THROTTLE_MS","MAT_TOOLTIP_SCROLL_STRATEGY","InjectionToken","overlay","inject","Overlay","SCROLL_THROTTLE_MS","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER","MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY","MAT_TOOLTIP_DEFAULT_OPTIONS","PANEL_CLASS","passiveListenerOptions","normalizePassiveListenerOptions","MIN_VIEWPORT_TOOLTIP_THRESHOLD","UNBOUNDED_ANCHOR_GAP","MIN_HEIGHT","MAX_WIDTH","MatTooltip","inject","ElementRef","NgZone","Platform","AriaDescriber","FocusMonitor","Directionality","Injector","ViewContainerRef","MAT_TOOLTIP_DEFAULT_OPTIONS","TooltipComponent","value","coerceBooleanProperty","isDisabled","coerceNumberProperty","oldMessage","Subject","defaultOptions","takeUntil","origin","nativeElement","event","listener","delay","overlayRef","ComponentPortal","instance","existingStrategy","scrollableAncestors","ScrollDispatcher","overlay","Overlay","strategy","change","MAT_TOOLTIP_SCROLL_STRATEGY","hasModifierKey","position","__spreadValues","offset","isLtr","originPosition","x","y","overlayPosition","afterNextRender","tooltipClass","connectionPair","overlayY","originX","originY","newPosition","classPrefix","point","touch","DEFAULT_LONGPRESS_DELAY","exitListeners","newTarget","touchendListener","listeners","elementUnderPointer","DOCUMENT","element","gestures","style","__ngFactoryType__","ɵɵdefineDirective","rf","ctx","ɵɵclassProp","ChangeDetectorRef","animationMode","ANIMATION_MODULE_TYPE","relatedTarget","rect","animationName","toVisible","isVisible","tooltip","showClass","hideClass","styles","ɵɵdefineComponent","ɵɵviewQuery","_c0","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵlistener","$event","_r1","ɵɵgetCurrentView","ɵɵelementStart","ɵɵrestoreView","ɵɵresetView","ɵɵtext","ɵɵelementEnd","ɵɵproperty","ɵɵadvance","ɵɵtextInterpolate","NgClass","MatTooltipModule","ɵɵdefineNgModule","ɵɵdefineInjector","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER","A11yModule","OverlayModule","MatCommonModule","CdkScrollableModule","RippleState","RippleRef","_renderer","element","config","_animationForciblyDisabledThroughCss","passiveCapturingEventOptions$1","normalizePassiveListenerOptions","RippleEventManager","ngZone","name","handler","handlersForEvent","handlersForElement","event","target","_getEventTarget","handlers","defaultRippleAnimationConfig","ignoreMouseEventsTimeout","passiveCapturingEventOptions","pointerDownEvents","pointerUpEvents","_MatRippleStylesLoader","__ngFactoryType__","ɵɵdefineComponent","rf","ctx","RippleRenderer","_RippleRenderer","_target","_ngZone","elementOrElementRef","_platform","injector","coerceElement","_CdkPrivateStyleLoader","x","y","containerRect","animationConfig","__spreadValues","radius","distanceToFurthestCorner","offsetX","offsetY","enterDuration","ripple","computedStyles","userTransitionProperty","userTransitionDuration","animationForciblyDisabledThroughCss","rippleRef","eventListeners","onTransitionEnd","fallbackTimer","onTransitionCancel","rippleEl","type","isMostRecentTransientRipple","persistent","isFakeMousedown","isFakeMousedownFromScreenReader","isSyntheticEvent","isFakeTouchstartFromScreenReader","touches","i","isVisible","trigger","rect","distX","distY","MAT_RIPPLE_GLOBAL_OPTIONS","InjectionToken","MatRipple","inject","ElementRef","ANIMATION_MODULE_TYPE","value","NgZone","platform","Platform","globalOptions","Injector","configOrX","ɵɵdefineDirective","ɵɵclassProp","_StructuralStylesLoader","__ngFactoryType__","ɵɵdefineComponent","rf","ctx","MatDividerModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","MatCommonModule","UniqueSelectionDispatcher","id","name","listener","registered","__ngFactoryType__","ɵɵdefineInjectable","BaseControlValueAccessor","_","_renderer","_elementRef","key","value","fn","isDisabled","__ngFactoryType__","ɵɵdirectiveInject","Renderer2","ElementRef","ɵɵdefineDirective","BuiltInControlValueAccessor","ɵBuiltInControlValueAccessor_BaseFactory","ɵɵgetInheritedFactory","ɵɵInheritDefinitionFeature","NG_VALUE_ACCESSOR","InjectionToken","CHECKBOX_VALUE_ACCESSOR","forwardRef","CheckboxControlValueAccessor","ɵCheckboxControlValueAccessor_BaseFactory","rf","ctx","ɵɵlistener","$event","ɵɵProvidersFeature","DEFAULT_VALUE_ACCESSOR","DefaultValueAccessor","_isAndroid","userAgent","getDOM","COMPOSITION_BUFFER_MODE","renderer","elementRef","_compositionMode","normalizedValue","isEmptyInputValue","lengthOrSize","NG_VALIDATORS","NG_ASYNC_VALIDATORS","EMAIL_REGEXP","Validators","min","minValidator","max","maxValidator","control","requiredValidator","requiredTrueValidator","emailValidator","minLength","minLengthValidator","maxLength","maxLengthValidator","pattern","patternValidator","nullValidator","validators","compose","composeAsync","length","regex","regexStr","isPresent","o","toObservable","isPromise","from","mergeErrors","arrayOfErrors","res","errors","__spreadValues","executeValidators","validator","isValidatorFn","normalizeValidators","c","presentValidators","composeValidators","observables","forkJoin","map","composeAsyncValidators","mergeValidators","controlValidators","dirValidator","getControlValidators","getControlAsyncValidators","makeValidatorsArray","hasValidator","addValidators","currentValidators","current","v","removeValidators","AbstractControlDirective","errorCode","path","ControlContainer","NgControl","AbstractControlStatus","cd","ngControlStatusHost","ngGroupStatusHost","__spreadProps","NgControlStatus","ɵɵclassProp","NgControlStatusGroup","VALID","INVALID","PENDING","DISABLED","ControlEvent","ValueChangeEvent","value","source","PristineChangeEvent","pristine","TouchedChangeEvent","touched","StatusChangeEvent","status","FormSubmittedEvent","FormResetEvent","pickValidators","validatorOrOpts","isOptionsObj","coerceToValidator","validator","composeValidators","pickAsyncValidators","asyncValidator","coerceToAsyncValidator","composeAsyncValidators","assertControlPresent","parent","isGroup","key","controls","RuntimeError","assertAllValuesPresent","control","_","AbstractControl","validators","asyncValidators","validatorFn","asyncValidatorFn","untracked","v","computed","signal","Subject","addValidators","removeValidators","hasValidator","opts","changed","sourceControl","__spreadProps","__spreadValues","skipPristineCheck","changeFn","shouldHaveEmitted","ctrl","emitEvent","obs","toObservable","errors","path","currPath","name","errorCode","x","changedControl","EventEmitter","newPristine","fn","onlySelf","parentDirty","FormGroup","options","controlName","acc","subtreeUpdated","updated","child","cb","condition","initValue","res","FormRecord","FormGroup","CALL_SET_DISABLED_STATE","InjectionToken","setDisabledStateDefault","controlPath","name","parent","setUpControl","control","dir","callSetDisabledState","setUpValidators","setUpViewChangePipeline","setUpModelChangePipeline","setUpBlurPipeline","setUpDisabledChangeHandler","cleanUpControl","validateControlPresenceOnChange","noop","cleanUpValidators","registerOnValidatorChange","validators","onChange","validator","onDisabledChange","isDisabled","getControlValidators","mergeValidators","asyncValidators","getControlAsyncValidators","onValidatorChange","isControlUpdated","updatedValidators","updatedAsyncValidators","asyncValidator","newValue","updateControl","emitModelEvent","setUpFormContainer","cleanUpFormContainer","isPropertyUpdated","changes","viewModel","change","isBuiltInAccessor","valueAccessor","BuiltInControlValueAccessor","syncPendingControls","form","directives","dir","control","selectValueAccessor","valueAccessors","defaultAccessor","builtinAccessor","customAccessor","v","DefaultValueAccessor","removeListItem$1","list","el","index","removeListItem","list","el","index","isFormControlState","formState","FormControl","AbstractControl","validatorOrOpts","asyncValidator","pickValidators","pickAsyncValidators","isOptionsObj","value","options","changeFn","condition","fn","cb","isFormControl","control","FormControl","ɵNgNoValidate","__ngFactoryType__","ɵɵdefineDirective","NG_MODEL_WITH_FORM_CONTROL_WARNING","InjectionToken","formControlBinding","NgControl","forwardRef","FormControlDirective","isDisabled","EventEmitter","validators","asyncValidators","valueAccessors","_ngModelWarningConfig","callSetDisabledState","selectValueAccessor","changes","previousForm","cleanUpControl","setUpControl","isPropertyUpdated","newValue","__ngFactoryType__","ɵɵdirectiveInject","NG_VALIDATORS","NG_ASYNC_VALIDATORS","NG_VALUE_ACCESSOR","CALL_SET_DISABLED_STATE","ɵɵdefineDirective","ɵɵProvidersFeature","ɵɵInheritDefinitionFeature","ɵɵNgOnChangesFeature","formDirectiveProvider","ControlContainer","FormGroupDirective","untracked","value","computed","signal","cleanUpValidators","dir","ctrl","removeListItem$1","$event","syncPendingControls","FormSubmittedEvent","FormResetEvent","oldCtrl","newCtrl","isFormControl","setUpFormContainer","cleanUpFormContainer","setUpValidators","rf","ctx","ɵɵlistener","controlNameBinding","NgControl","forwardRef","FormControlName","isDisabled","EventEmitter","parent","validators","asyncValidators","valueAccessors","_ngModelWarningConfig","selectValueAccessor","changes","isPropertyUpdated","newValue","controlPath","__ngFactoryType__","ɵɵdirectiveInject","ControlContainer","NG_VALIDATORS","NG_ASYNC_VALIDATORS","NG_VALUE_ACCESSOR","NG_MODEL_WITH_FORM_CONTROL_WARNING","ɵɵdefineDirective","ɵɵProvidersFeature","ɵɵInheritDefinitionFeature","ɵɵNgOnChangesFeature","AbstractValidatorDirective","nullValidator","changes","input","control","fn","__ngFactoryType__","ɵɵdefineDirective","ɵɵNgOnChangesFeature","REQUIRED_VALIDATOR","NG_VALIDATORS","forwardRef","RequiredValidator","RequiredValidator","AbstractValidatorDirective","booleanAttribute","input","requiredValidator","ɵRequiredValidator_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineDirective","rf","ctx","ɵɵattribute","ɵɵProvidersFeature","REQUIRED_VALIDATOR","ɵɵInheritDefinitionFeature","ɵInternalFormsSharedModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","FormArray","AbstractControl","controls","validatorOrOpts","asyncValidator","pickValidators","pickAsyncValidators","index","control","options","adjustedIndex","value","assertAllValuesPresent","newValue","assertControlPresent","subtreeUpdated","updated","child","cb","condition","name","isAbstractControlOptions","options","FormBuilder","nnfb","controls","reducedControls","newOptions","FormGroup","FormRecord","formState","validatorOrOpts","asyncValidator","FormControl","__spreadProps","__spreadValues","createdControls","c","FormArray","controlName","AbstractControl","value","validator","__ngFactoryType__","ɵɵdefineInjectable","FormsModule","opts","CALL_SET_DISABLED_STATE","setDisabledStateDefault","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","ɵInternalFormsSharedModule","ReactiveFormsModule","NG_MODEL_WITH_FORM_CONTROL_WARNING","MatRippleModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","MatCommonModule","MatPseudoCheckboxModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","MatCommonModule","MatListModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","ObserversModule","MatCommonModule","MatRippleModule","MatPseudoCheckboxModule","MatDividerModule","TextFieldModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","SingleBoxSharedResizeObserver","Subject","_box","entries","target","Observable","observer","subscription","filter","entry","shareReplay","takeUntil","SharedResizeObserver","inject","NgZone","options","box","__ngFactoryType__","ɵɵdefineInjectable","ErrorStateMatcher","control","form","__ngFactoryType__","ɵɵdefineInjectable","MatFormFieldModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","MatCommonModule","ObserversModule","MatInputModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","MatCommonModule","MatFormFieldModule","TextFieldModule","HeroComponent","scrollToSection","sectionTitle","document","getElementById","scrollIntoView","behavior","block","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵtext","ɵɵlistener","i0","ɵɵrestoreView","_r1","ɵɵresetView","AboutComponent","myData","myInfo","scrollToSection","sectionTitle","document","getElementById","scrollIntoView","behavior","block","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵtext","ɵɵadvance","ɵɵpropertyInterpolate","ɵɵsanitizeUrl","ɵɵtextInterpolate1","yearsOfExperience","services","title","icon","description","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵtext","ɵɵadvance","ɵɵproperty","service_r1","icon","ɵɵtextInterpolate","title","ɵɵtextInterpolate1","description","ServicesComponent","myServices","services","selectors","decls","vars","consts","template","rf","ctx","ɵɵrepeaterCreate","ServicesComponent_For_40_Template","ɵɵrepeaterTrackByIndex","ɵɵrepeater","NgOptimizedImage","LucideMapPin","styles","projectsData","number","client","title","imagePath","imageWidth","imageHeight","shortDescription","impact","description","fr","en","missions","imageName","technos","url","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","t_r1","ɵɵelement","ɵɵrepeaterCreate","PortfolioComponent_For_19_For_10_Template","ɵɵrepeaterTrackByIndex","ɵɵtemplate","PortfolioComponent_For_19_Conditional_12_Template","PortfolioComponent_For_19_Conditional_13_Template","ɵɵproperty","p_r2","imagePath","title","imageWidth","imageHeight","ɵɵtextInterpolate1","impact","ɵɵrepeater","technos","url","ɵɵsanitizeUrl","ɵɵconditional","PortfolioComponent","projects","projectsData","recentProjects","slice","reverse","selectors","decls","vars","consts","template","rf","ctx","PortfolioComponent_For_19_Template","_forTrack0","NgOptimizedImage","styles","offresTarifs","id","type","icon","title","subtitle","price","features","feature","hint","tarifsLandingPage","recomended","target","ɵɵelement","ɵɵproperty","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","offre_r2","price","ctx_r2","getPriceValue","ɵɵpropertyInterpolate","features_r4","hint","ɵɵtemplate","TarifsComponent_For_21_For_20_Conditional_3_Template","ɵɵtextInterpolate1","feature","ɵɵconditional","TarifsComponent_For_21_Case_3_Template","TarifsComponent_For_21_Case_4_Template","TarifsComponent_For_21_Case_5_Template","TarifsComponent_For_21_Case_6_Template","TarifsComponent_For_21_Conditional_12_Template","TarifsComponent_For_21_Conditional_13_Template","TarifsComponent_For_21_Conditional_14_Template","ɵɵlistener","ɵɵrestoreView","_r1","ɵɵnextContext","ɵɵresetView","scrollToSection","ɵɵrepeaterCreate","TarifsComponent_For_21_For_20_Template","ɵɵrepeaterTrackByIndex","tmp_11_0","icon","title","subtitle","type","ɵɵrepeater","features","TarifsComponent","myOffres","offresTarifs","offre","index","Array","isArray","sectionTitle","document","getElementById","scrollIntoView","behavior","block","selectors","decls","vars","consts","template","rf","ctx","TarifsComponent_For_21_Template","_forTrack0","MatTooltip","LucideCircleCheck","LucideBadgeQuestionMark","LucideRocket","LucideWrench","LucideStore","styles","ContactService","fb","http","constructor","createContactForm","group","name","Validators","required","minLength","maxLength","email","phone","subject","site","message","website","rgpdConsent","contactConsent","sendEmail","formData","post","environment","apiURL","value","ɵɵinject","FormBuilder","HttpClient","factory","ɵfac","providedIn","eventListenerOptions","rippleInteractionEvents","matRippleUninitialized","matRippleClassName","matRippleCentered","matRippleDisabled","MatRippleLoader","inject","DOCUMENT","ANIMATION_MODULE_TYPE","MAT_RIPPLE_GLOBAL_OPTIONS","Platform","NgZone","Injector","renderer","RendererFactory2","name","_bindEventWithOptions","hosts","host","cleanup","config","disabled","ripple","event","eventTarget","_getEventTarget","element","rippleEl","isNoopAnimations","globalOptions","enterDuration","defaultRippleAnimationConfig","exitDuration","target","RippleRenderer","hasSetUpEvents","__ngFactoryType__","ɵɵdefineInjectable","MAT_BUTTON_CONFIG","InjectionToken","HOST_SELECTOR_MDC_CLASS_PAIR","MatButtonBase","inject","ElementRef","NgZone","ANIMATION_MODULE_TYPE","FocusMonitor","MatRippleLoader","value","_CdkPrivateStyleLoader","_StructuralStylesLoader","config","MAT_BUTTON_CONFIG","element","classList","attribute","mdcClasses","origin","options","__ngFactoryType__","ɵɵdefineDirective","booleanAttribute","_c0","_c1","_c2","MatButton","MatButtonBase","ɵMatButton_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineComponent","rf","ctx","ɵɵattribute","ɵɵclassMap","ɵɵclassProp","ɵɵInheritDefinitionFeature","_c0","_c2","ɵɵprojectionDef","_c1","ɵɵelement","ɵɵprojection","ɵɵelementStart","ɵɵelementEnd","Breakpoints","SimpleSnackBar_Conditional_2_Template","rf","ctx","_r1","ɵɵgetCurrentView","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","ctx_r1","ɵɵnextContext","ɵɵresetView","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","_c0","MatSnackBarContainer_ng_template_4_Template","MAX_TIMEOUT","MatSnackBarRef","Subject","containerInstance","_overlayRef","duration","MAT_SNACK_BAR_DATA","InjectionToken","MatSnackBarConfig","MatSnackBarLabel","__ngFactoryType__","ɵɵdefineDirective","MatSnackBarActions","MatSnackBarAction","SimpleSnackBar","inject","ɵɵdefineComponent","ɵɵtemplate","ɵɵconditional","MatButton","ENTER_ANIMATION","EXIT_ANIMATION","MatSnackBarContainer","BasePortalOutlet","NgZone","ElementRef","ChangeDetectorRef","Platform","ANIMATION_MODULE_TYPE","DOCUMENT","_IdGenerator","config","afterRender","portal","result","animationName","take","of","element","panelClasses","cssClass","label","labelClass","id","modals","i","modal","ariaOwns","newValue","inertElement","liveElement","focusedElement","ɵɵviewQuery","CdkPortalOutlet","_t","ɵɵqueryRefresh","ɵɵloadQuery","$event","ɵɵclassProp","ɵɵInheritDefinitionFeature","ɵɵelement","ɵɵattribute","MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY","MAT_SNACK_BAR_DEFAULT_OPTIONS","MatSnackBar","Overlay","LiveAnnouncer","Injector","BreakpointObserver","parent","value","component","template","message","action","_config","__spreadValues","overlayRef","userInjector","injector","containerPortal","ComponentPortal","containerRef","content","userConfig","container","snackBarRef","TemplateRef","TemplatePortal","contentRef","Breakpoints","takeUntil","state","overlayConfig","OverlayConfig","positionStrategy","isRtl","isLeft","isRight","ɵɵdefineInjectable","ToolsService","_snackBar","constructor","openSnackBar","msg","type","open","horizontalPosition","verticalPosition","duration","panelClass","ɵɵinject","MatSnackBar","factory","ɵfac","providedIn","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","ctx_r0","errorId","ɵɵadvance","ɵɵtextInterpolate1","getErrorMessage","ɵɵelement","contactForm","invalid","ContactFormComponent","contactService","toolsService","ga","tac","loader","signal","constructor","ngOnInit","createContactForm","control","name","get","shouldShowError","c","dirty","touched","isInvalid","ariaDescribedBy","hasError","onSubmitContactForm","__async","openSnackBar","set","sendEmail","subscribe","next","data","success","reset","sendEvent","method","form_name","page_path","window","location","pathname","message","error","ɵɵdirectiveInject","ContactService","ToolsService","GoogleAnalyticsService","TarteaucitronService","selectors","decls","vars","consts","template","rf","ctx","ɵɵlistener","ɵɵtemplate","ContactFormComponent_Conditional_9_Template","ContactFormComponent_Conditional_17_Template","ContactFormComponent_Conditional_24_Template","ContactFormComponent_Conditional_31_Template","ContactFormComponent_Conditional_38_Template","ContactFormComponent_Conditional_39_Template","ɵɵconditional","ReactiveFormsModule","ɵNgNoValidate","DefaultValueAccessor","CheckboxControlValueAccessor","NgControlStatus","NgControlStatusGroup","RequiredValidator","FormGroupDirective","FormControlName","LucideSend","styles","ContactInfoComponent","myData","myInfo","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵpropertyInterpolate1","email","ɵɵsanitizeUrl","ɵɵtextInterpolate","phone","location","ɵɵpropertyInterpolate","githubLink","linkedinLink","googleLink","LucideMail","LucidePhone","LucideCalendarDays","LucideMapPin","styles","ContactComponent","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵtext","ReactiveFormsModule","ContactFormComponent","ContactInfoComponent","styles","CDK_ACCORDION","InjectionToken","CdkAccordion","Subject","inject","_IdGenerator","changes","__ngFactoryType__","ɵɵdefineDirective","booleanAttribute","ɵɵProvidersFeature","ɵɵNgOnChangesFeature","CdkAccordionItem","ChangeDetectorRef","UniqueSelectionDispatcher","Subscription","EventEmitter","expanded","accordionId","id","CdkAccordionModule","ɵɵdefineNgModule","ɵɵdefineInjector","_c0","_c1","_c2","_c3","MatExpansionPanel_ng_template_7_Template","rf","ctx","_c4","_c5","MatExpansionPanelHeader_Conditional_4_Template","ɵɵelementStart","ɵɵnamespaceSVG","ɵɵelement","ɵɵelementEnd","MAT_ACCORDION","InjectionToken","MAT_EXPANSION_PANEL","MatExpansionPanelContent","inject","TemplateRef","__ngFactoryType__","ɵɵdefineDirective","MAT_EXPANSION_PANEL_DEFAULT_OPTIONS","MatExpansionPanel","CdkAccordionItem","ViewContainerRef","ANIMATION_MODULE_TYPE","DOCUMENT","NgZone","ElementRef","Renderer2","value","EventEmitter","Subject","_IdGenerator","defaultOptions","UniqueSelectionDispatcher","startWith","filter","take","TemplatePortal","changes","focusedElement","bodyElement","target","propertyName","element","ɵɵdefineComponent","dirIndex","ɵɵcontentQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵviewQuery","ɵɵclassProp","booleanAttribute","ɵɵProvidersFeature","ɵɵInheritDefinitionFeature","ɵɵNgOnChangesFeature","ɵɵprojectionDef","ɵɵprojection","ɵɵtemplate","ɵɵadvance","ɵɵattribute","ɵɵproperty","CdkPortalOutlet","MatExpansionPanelHeader","inject","MatExpansionPanel","ElementRef","FocusMonitor","ChangeDetectorRef","Subscription","_CdkPrivateStyleLoader","_StructuralStylesLoader","panel","defaultOptions","MAT_EXPANSION_PANEL_DEFAULT_OPTIONS","tabIndex","HostAttributeToken","accordionHideToggleChange","filter","changes","EMPTY","merge","isExpanded","event","hasModifierKey","origin","options","__ngFactoryType__","ɵɵdefineComponent","rf","ctx","ɵɵlistener","$event","ɵɵattribute","ɵɵstyleProp","ɵɵclassProp","value","numberAttribute","_c5","ɵɵprojectionDef","_c4","ɵɵelementStart","ɵɵprojection","ɵɵelementEnd","ɵɵtemplate","MatExpansionPanelHeader_Conditional_4_Template","ɵɵadvance","ɵɵconditional","MatExpansionPanelTitle","__ngFactoryType__","ɵɵdefineDirective","MatAccordion","CdkAccordion","QueryList","startWith","headers","header","FocusKeyManager","event","ɵMatAccordion_BaseFactory","ɵɵgetInheritedFactory","rf","ctx","dirIndex","ɵɵcontentQuery","MatExpansionPanelHeader","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵclassProp","booleanAttribute","ɵɵProvidersFeature","MAT_ACCORDION","ɵɵInheritDefinitionFeature","MatExpansionModule","ɵɵdefineNgModule","ɵɵdefineInjector","MatCommonModule","CdkAccordionModule","PortalModule","FAQ_CATEGORIES","cle","label","slug","FAQ_ITEMS","id","question","reponse","categorie","miseEnAvant","FaqService","constructor","getCategories","FAQ_CATEGORIES","getAll","FAQ_ITEMS","getMiseEnAvant","limit","filter","item","miseEnAvant","slice","getParCategorie","cle","categorie","rechercher","terme","t","toLowerCase","question","includes","reponse","motsCles","some","mot","factory","ɵfac","providedIn","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","faq_r1","question","ɵɵtextInterpolate","reponse","FaqSectionComponent","faqService","faqItems","constructor","ngOnInit","getMiseEnAvant","ɵɵdirectiveInject","FaqService","selectors","decls","vars","consts","template","rf","ctx","ɵɵelement","ɵɵrepeaterCreate","FaqSectionComponent_For_17_Template","ɵɵrepeaterTrackByIndex","ɵɵrepeater","ɵɵproperty","MatExpansionModule","MatAccordion","MatExpansionPanel","MatExpansionPanelHeader","MatExpansionPanelTitle","RouterLink","LucideMessageCircle","styles","HomeComponent","route","viewportScroller","sub","constructor","setOffset","ngAfterViewInit","fragment","subscribe","setTimeout","scrollToAnchor","ngOnDestroy","unsubscribe","ɵɵdirectiveInject","ActivatedRoute","ViewportScroller","selectors","decls","vars","template","rf","ctx","ɵɵelement","MatCardModule","MatTooltipModule","MatListModule","ReactiveFormsModule","MatFormFieldModule","MatInputModule","HeroComponent","AboutComponent","ServicesComponent","PortfolioComponent","TarifsComponent","ContactComponent","FaqSectionComponent","styles","_c0","MatTab_ng_template_0_Template","rf","ctx","ɵɵprojection","_c1","_c2","_c3","_c4","_c5","_c6","MatTabBody_ng_template_2_Template","_c7","_c8","MatTabGroup_For_3_Conditional_6_ng_template_0_Template","MatTabGroup_For_3_Conditional_6_Template","ɵɵtemplate","tab_r4","ɵɵnextContext","ɵɵproperty","MatTabGroup_For_3_Conditional_7_Template","ɵɵtext","ɵɵtextInterpolate","MatTabGroup_For_3_Template","_r2","ɵɵgetCurrentView","ɵɵelementStart","ɵɵlistener","ctx_r2","ɵɵrestoreView","$index_r5","ctx_r5","tabHeader_r7","ɵɵreference","ɵɵresetView","$event","ɵɵelement","ɵɵelementEnd","tabNode_r8","ɵɵclassMap","ɵɵclassProp","ɵɵattribute","ɵɵadvance","ɵɵconditional","MatTabGroup_Conditional_4_Template","MatTabGroup_For_8_Template","_r9","tab_r10","$index_r11","MAT_TAB_CONTENT","InjectionToken","MatTabContent","inject","TemplateRef","__ngFactoryType__","ɵɵdefineDirective","ɵɵProvidersFeature","MAT_TAB_LABEL","MAT_TAB","MatTabLabel","CdkPortal","ɵMatTabLabel_BaseFactory","ɵɵgetInheritedFactory","ɵɵInheritDefinitionFeature","MAT_TAB_GROUP","MatTab","ViewContainerRef","value","Subject","_CdkPrivateStyleLoader","_StructuralStylesLoader","changes","TemplatePortal","ɵɵdefineComponent","rf","ctx","dirIndex","ɵɵcontentQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵviewQuery","ɵɵattribute","booleanAttribute","ɵɵNgOnChangesFeature","_c0","ɵɵprojectionDef","ɵɵtemplate","MatTab_ng_template_0_Template","ACTIVE_CLASS","NO_TRANSITION_CLASS","MatInkBar","_items","item","element","correspondingItem","currentItem","domRect","InkBarItem","ElementRef","newValue","previousIndicatorClientRect","currentClientRect","widthDelta","xPosition","documentNode","inkBarElement","inkBarContentElement","parentElement","MatTabLabelWrapper","InkBarItem","inject","ElementRef","ɵMatTabLabelWrapper_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineDirective","rf","ctx","ɵɵattribute","ɵɵclassProp","booleanAttribute","ɵɵInheritDefinitionFeature","passiveEventListenerOptions","HEADER_SCROLL_DELAY","HEADER_SCROLL_INTERVAL","MatPaginatedTabHeader","ChangeDetectorRef","ViewportRuler","Directionality","NgZone","Platform","SharedResizeObserver","Injector","Renderer2","ANIMATION_MODULE_TYPE","Subject","v","value","EventEmitter","_bindEventWithOptions","dirChange","of","resize","debounceTime","takeUntil","viewportResize","realign","FocusKeyManager","afterNextRender","merge","newFocusIndex","EMPTY","startWith","switchMap","tabItems","Observable","observer","resizeObserver","entries","item","skip","filter","e","cleanup","event","hasModifierKey","textContent","index","tabIndex","containerEl","scrollDistance","translateX","direction","viewLength","scrollAmount","labelIndex","selectedLabel","offsetLeft","offsetWidth","labelBeforePos","labelAfterPos","beforeVisiblePos","afterVisiblePos","scrollWidth","containerWidth","isEnabled","lengthOfTabList","selectedItem","selectedLabelWrapper","mouseEvent","timer","maxScrollDistance","distance","position","numberAttribute","MatTabHeader","MatInkBar","ɵMatTabHeader_BaseFactory","ɵɵdefineComponent","dirIndex","ɵɵcontentQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵviewQuery","_c1","_c2","_c3","_c4","_c5","_c0","_r1","ɵɵgetCurrentView","ɵɵprojectionDef","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","ɵɵresetView","$event","ɵɵelement","ɵɵelementEnd","ɵɵprojection","ɵɵproperty","ɵɵadvance","MatRipple","CdkObserveContent","MAT_TABS_CONFIG","InjectionToken","MatTabBodyPortal","CdkPortalOutlet","MatTabBody","Subscription","isCentering","changeDetectorRef","dir","element","transitionDone","isActive","_c6","ɵɵtemplate","MatTabBody_ng_template_2_Template","CdkScrollable","MatTabGroup","QueryList","stringValue","classList","defaultConfig","_IdGenerator","indexToSelect","isFirstRun","wrapper","tab","tabs","selectedTab","i","header","MatTabChangeEvent","tabHeight","tabHeader","targetIndex","focusOrigin","isCenter","body","MatTab","_c7","_c8","ɵɵclassMap","ɵɵstyleProp","ɵɵProvidersFeature","MAT_TAB_GROUP","ɵɵrepeaterCreate","MatTabGroup_For_3_Template","ɵɵrepeaterTrackByIdentity","MatTabGroup_Conditional_4_Template","MatTabGroup_For_8_Template","ɵɵrepeater","ɵɵconditional","CdkMonitorFocus","MatTabsModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","MatCommonModule","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","question_r1","question","ɵɵtextInterpolate","reponse","ɵɵrepeaterCreate","FaqPageComponent_For_15_For_3_Template","_forTrack1","ɵɵpropertyInterpolate","categorie_r2","label","ɵɵrepeater","ctx_r2","getQuestionsByCategory","cle","FaqPageComponent","faqService","faqItems","faqCategories","constructor","ngOnInit","getAll","getCategories","console","log","category","getParCategorie","ɵɵdirectiveInject","FaqService","selectors","decls","vars","consts","template","rf","ctx","ɵɵelement","FaqPageComponent_For_15_Template","_forTrack0","MatTabsModule","MatTab","MatTabGroup","MatExpansionModule","MatAccordion","MatExpansionPanel","MatExpansionPanelHeader","MatExpansionPanelTitle","styles","MentionsLegalesComponent","email","derniereMaj","adresse","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate1","ɵɵproperty","ɵɵsanitizeUrl","ɵɵtextInterpolate","RouterLink","styles","PolitiqueDeConfidentialiteComponent","email","derniereMaj","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵproperty","ɵɵsanitizeUrl","ɵɵtextInterpolate","ɵɵtextInterpolate1","RouterLink","styles","ConditionsGeneralesPrestationComponent","derniereMaj","prestataire","villeJuridiction","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate1","RouterLink","styles","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ɵɵtextInterpolate1","f_r1","feature","TarifCardComponent","tarif","selectors","inputs","decls","vars","consts","template","rf","ctx","ɵɵtemplate","TarifCardComponent_Conditional_2_Template","TarifCardComponent_Case_4_Template","TarifCardComponent_Case_5_Template","TarifCardComponent_Case_6_Template","ɵɵrepeaterCreate","TarifCardComponent_For_20_Template","ɵɵrepeaterTrackByIndex","ɵɵpureFunction1","_c0","recomended","ɵɵconditional","tmp_2_0","icon","ɵɵtextInterpolate","title","subtitle","price","ɵɵrepeater","features","target","LucideCircleCheck","NgClass","LucideChartNoAxesCombined","LucideRocket","LucideStar","styles","LandingHeaderComponent","scrollToSection","sectionTitle","document","getElementById","scrollIntoView","behavior","block","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵtext","ɵɵadvance","ɵɵproperty","LucideMenu","RouterLink","styles","ɵɵelement","ɵɵproperty","tarif_r2","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","faq_r3","question","ɵɵtextInterpolate","reponse","faq_r4","GoogleAdsLandingPageComponent","tarifs","tarifsLandingPage","faqQuestions","id","scrollToSection","sectionTitle","document","getElementById","scrollIntoView","behavior","block","selectors","decls","vars","consts","template","rf","ctx","ɵɵlistener","i0","ɵɵrestoreView","_r1","ɵɵresetView","ɵɵrepeaterCreate","GoogleAdsLandingPageComponent_For_233_Template","_forTrack0","GoogleAdsLandingPageComponent_For_349_Template","ɵɵrepeaterTrackByIndex","GoogleAdsLandingPageComponent_For_352_Template","ɵɵrepeater","slice","CommonModule","LucideArrowRight","LucideClock","LucideMapPin","LucideShieldCheck","LucideUserCheck","LucideCircleCheck","ContactFormComponent","ContactInfoComponent","MatAccordion","MatExpansionPanel","MatExpansionPanelHeader","MatExpansionPanelTitle","TarifCardComponent","LucideFileText","LucideUser","LucideCalendarClock","LandingHeaderComponent","LucideHandshake","LucideUserRound","LucideShield","styles","MAT_CHIPS_DEFAULT_OPTIONS","InjectionToken","MatChipsModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","ErrorStateMatcher","MAT_CHIPS_DEFAULT_OPTIONS","MatCommonModule","MatRippleModule","blogCategories","id","slug","label","filter","BlogService","schemaScript","http","inject","HttpClient","blogCategories","getAllArticles","get","environment","apiURL","getArticleBySlug","slug","getRelatedArticles","articleId","generateHeadingId","text","toLowerCase","normalize","replace","generateSummary","content","regex","summary","match","exec","push","id","title","getArticleCategoryLabel","article","find","category","filter","label","factory","ɵfac","providedIn","ArticleCardComponent","article","articleCategorieLabel","blogService","inject","BlogService","ngOnInit","getArticleCategoryLabel","selectors","inputs","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ɵɵpureFunction1","_c0","slug","ɵɵpropertyInterpolate1","coverImage","ɵɵsanitizeUrl","ɵɵpropertyInterpolate","title","ɵɵtextInterpolate","ɵɵtextInterpolate1","excerpt","readingTime","ɵɵpipeBind2","publishedAt","LucideCalendar","LucideClock4","RouterLink","DatePipe","styles","FeaturedArticleComponent","featuredArticle","categories","blogCategories","articleCategorieLabel","blogService","inject","BlogService","ngOnInit","getArticleCategoryLabel","selectors","inputs","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ɵɵpureFunction1","_c0","slug","ɵɵpropertyInterpolate1","coverImage","ɵɵsanitizeUrl","ɵɵpropertyInterpolate","title","ɵɵtextInterpolate1","readingTime","ɵɵpipeBind2","publishedAt","excerpt","DatePipe","LucideArrowRight","LucideCalendar","LucideClock4","RouterLink","styles","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵtemplate","NewsletterComponent_Conditional_9_Conditional_2_Template","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","subscribeToNewsletter","ɵɵadvance","ɵɵproperty","email","ɵɵconditional","invalid","touched","NewsletterComponent","FormControl","Validators","required","suscribed","tools","inject","ToolsService","valid","openSnackBar","console","log","value","markAsTouched","selectors","decls","vars","consts","template","rf","ctx","NewsletterComponent_Conditional_9_Template","FormsModule","DefaultValueAccessor","NgControlStatus","LucideMail","ReactiveFormsModule","FormControlDirective","styles","ProjectCtaComponent","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵproperty","LucideArrowRight","RouterLink","styles","FeaturedArticleSkeletonComponent","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ArticleCardSkeletonComponent","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵelement","ɵɵproperty","ctx_r0","featuredArticle","ɵɵelementStart","ɵɵlistener","category_r3","ɵɵrestoreView","_r2","$implicit","ɵɵnextContext","ɵɵresetView","selectCategory","filter","ɵɵtext","ɵɵelementEnd","ɵɵclassProp","selectedCategory","ɵɵadvance","ɵɵtextInterpolate1","label","article_r4","ɵɵrepeaterCreate","BlogComponent_Conditional_34_Conditional_4_For_1_Template","_forTrack0","ɵɵrepeater","articles_r5","BlogComponent_Conditional_34_Conditional_5_For_1_Template","ɵɵrepeaterTrackByIdentity","ɵɵpureFunction0","_c0","BlogComponent_Conditional_34_For_2_Template","ɵɵtemplate","BlogComponent_Conditional_34_Conditional_4_Template","BlogComponent_Conditional_34_Conditional_5_Template","categories","ɵɵconditional","ctx","length","BlogComponent","blogService","inject","BlogService","blogCategories","selectedCategorySubject","BehaviorSubject","articles$","getAllArticles","filteredArticles$","combineLatest","pipe","map","articles","category","console","log","article","ngOnInit","findFeatured","next","subscribe","find","featured","selectors","decls","vars","consts","template","rf","BlogComponent_Conditional_29_Template","BlogComponent_Conditional_30_Template","BlogComponent_Conditional_34_Template","tmp_1_0","ɵɵpipeBind1","MatChipsModule","ReactiveFormsModule","ArticleCardComponent","FeaturedArticleComponent","NewsletterComponent","ProjectCtaComponent","FeaturedArticleSkeletonComponent","ArticleCardSkeletonComponent","AsyncPipe","styles","_getDefaults","_defaults","changeDefaults","newDefaults","noopTest","edit","regex","opt","source","obj","name","val","valSource","other","bull","indent","newline","blockCode","fences","hr","heading","bullet","lheadingCore","lheading","lheadingGfm","_paragraph","blockText","_blockLabel","def","list","_tag","_comment","html","paragraph","blockquote","blockNormal","gfmTable","blockGfm","__spreadProps","__spreadValues","blockPedantic","escape","inlineCode","br","inlineText","_punctuation","_punctuationOrSpace","_notPunctuationOrSpace","punctuation","_punctuationGfmStrongEm","_punctuationOrSpaceGfmStrongEm","_notPunctuationOrSpaceGfmStrongEm","blockSkip","emStrongLDelimCore","emStrongLDelim","emStrongLDelimGfm","emStrongRDelimAstCore","emStrongRDelimAst","emStrongRDelimAstGfm","emStrongRDelimUnd","anyPunctuation","autolink","_inlineComment","tag","_inlineLabel","link","reflink","nolink","reflinkSearch","inlineNormal","inlinePedantic","inlineGfm","inlineBreaks","block","inline","escapeReplacements","getEscapeReplacement","ch","escape2","html2","encode","cleanUrl","href","splitCells","tableRow","count","row","match","offset","str","escaped","curr","cells","i","rtrim","c","invert","l","suffLen","currChar","findClosingBracket","b","level","outputLink","cap","link2","raw","lexer2","rules","title","text","token","indentCodeCompensation","matchIndentToCode","indentToCode","node","matchIndentInNode","indentInNode","_Tokenizer","options2","src","trimmed","lines","tokens","inBlockquote","currentLines","currentRaw","currentText","top","lastToken","oldToken","newText","newToken","isordered","list2","itemRegex","endsWithBlankLine","endEarly","itemContents","line","t","nextLine","blankLine","nextBulletRegex","hrRegex","fencesBeginRegex","headingBeginRegex","htmlBeginRegex","rawLine","nextLineWithoutTabs","istask","ischecked","lastItem","spacers","hasMultipleLineBreaks","tag2","headers","aligns","rows","item","align","cell","trimmedUrl","rtrimSlash","lastParenIndex","linkLen","links","linkString","maskedSrc","prevChar","lLength","rDelim","rLength","delimTotal","midDelimTotal","endReg","lastCharLength","text2","hasNonSpaceChars","hasSpaceCharsOnBothEnds","prevCapZero","_Lexer","__Lexer","next","lastParagraphClipped","extTokenizer","cutSrc","startIndex","tempSrc","tempStart","getStartIndex","errMsg","keepPrevChar","_Renderer","lang","langString","code","depth","ordered","start","body","j","type","startAttr","itemBody","checkbox","checked","header","k","content","cleanHref","out","_TextRenderer","_Parser","__Parser","anyToken","genericToken","ret","textToken","renderer","_Hooks","markdown","Marked","args","callback","values","tableToken","listToken","childTokens","tokens2","extensions","pack","opts","ext","prevRenderer","args2","extLevel","prop","rendererProp","rendererFunc","tokenizer","tokenizerProp","tokenizerFunc","prevTokenizer","hooks","hooksProp","hooksFunc","prevHook","arg","ret2","walkTokens2","packWalktokens","blockType","origOpt","throwError","parser2","src2","e","silent","async","msg","markedInstance","marked","options","setOptions","use","walkTokens","parseInline","parser","_Parser","lexer","_Lexer","_c0","BUTTON_TEXT_COPY","BUTTON_TEXT_COPIED","ClipboardButtonComponent","Subject","switchMap","merge","of","timer","mapTo","distinctUntilChanged","shareReplay","startWith","map","copied","__ngFactoryType__","ɵɵdefineComponent","rf","ctx","ɵɵelementStart","ɵɵpipe","ɵɵlistener","ɵɵtext","ɵɵelementEnd","ɵɵclassProp","ɵɵpipeBind1","ɵɵadvance","ɵɵtextInterpolate","AsyncPipe","CLIPBOARD_OPTIONS","InjectionToken","PrismPlugin","MARKED_EXTENSIONS","InjectionToken","MARKED_OPTIONS","MERMAID_OPTIONS","errorJoyPixelsNotLoaded","errorKatexNotLoaded","errorMermaidNotLoaded","errorClipboardNotLoaded","errorClipboardViewContainerRequired","errorSrcWithoutHttpClient","SECURITY_CONTEXT","MarkdownService","value","__spreadValues","clipboardOptions","extensions","options","mermaidOptions","platform","securityContext","http","sanitizer","_Renderer","Subject","markdown","parseOptions","decodeHtml","inline","emoji","mermaid","disableSanitizer","markedOptions","renderer","trimmed","decoded","emojified","marked","element","viewContainerRef","clipboard","katex","katexOptions","src","errorSrcWithoutHttpClient","map","isPlatformBrowser","noLanguageElements","x","html","textarea","extendedRenderer","defaultCode","token","urlProtocolIndex","urlWithoutProtocol","lastSlashIndex","lastUrlSegment","lastDotIndex","extension","errorJoyPixelsNotLoaded","errorKatexNotLoaded","errorClipboardNotLoaded","errorClipboardViewContainerRequired","buttonComponent","buttonTemplate","preElements","i","preElement","preWrapperElement","toolbarWrapperElement","embeddedViewRef","componentRef","ClipboardButtonComponent","clipboardInstance","node","errorMermaidNotLoaded","mermaidElements","indentStart","line","lineIdentStart","__ngFactoryType__","ɵɵinject","CLIPBOARD_OPTIONS","MARKED_EXTENSIONS","MARKED_OPTIONS","MERMAID_OPTIONS","PLATFORM_ID","SECURITY_CONTEXT","HttpClient","DomSanitizer","ɵɵdefineInjectable","MarkdownComponent","markdownService","EventEmitter","takeUntil","__async","parsedOptions","renderOptions","parsed","error","PrismPlugin","plugin","classes","option","attributeValue","attributeName","upperChars","str","n","ɵɵdirectiveInject","ElementRef","ViewContainerRef","ɵɵdefineComponent","ɵɵNgOnChangesFeature","_c0","rf","ctx","ɵɵprojectionDef","ɵɵprojection","provideMarkdown","markdownModuleConfig","MarkdownService","getMarkedExtensionProvider","SECURITY_CONTEXT","SecurityContext","isTypedProvider","provider","markedExtensions","acc","markedExtension","__spreadProps","__spreadValues","MARKED_EXTENSIONS","SeoService","titleService","meta","schemaScript","platformId","inject","PLATFORM_ID","constructor","setBlogPostingSchema","article","removeSchema","baseUrl","environment","schema","headline","title","description","excerpt","image","coverImage","replace","datePublished","publishedAt","dateModified","updatedAt","articleSection","category","keywords","tags","join","author","name","publisher","logo","url","mainEntityOfPage","slug","isPlatformBrowser","document","createElement","type","textContent","JSON","stringify","head","appendChild","remove","ɵɵinject","Title","Meta","factory","ɵfac","providedIn","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind2","ctx_r0","article","updatedAt","ɵɵlistener","item_r3","ɵɵrestoreView","_r2","$implicit","ɵɵnextContext","ɵɵresetView","scrollTo","id","ɵɵclassProp","activeHeading","title","ɵɵproperty","relatedArticle_r4","ɵɵrepeaterCreate","BlogDetailComponent_Conditional_0_Conditional_61_For_1_Template","_forTrack0","ɵɵrepeater","relatedArticles","ɵɵtemplate","BlogDetailComponent_Conditional_0_Conditional_17_Template","BlogDetailComponent_Conditional_0_For_51_Template","BlogDetailComponent_Conditional_0_Conditional_61_Template","ɵɵtextInterpolate","category","readingTime","publishedAt","ɵɵconditional","coverImage","ɵɵsanitizeUrl","content","ɵɵpropertyInterpolate","mydata","linkedinLink","googleLink","summary","length","BlogDetailComponent","blogService","inject","BlogService","route","ActivatedRoute","seoService","SeoService","router","Router","articleContent","platformId","PLATFORM_ID","observer","myInfo","ngOnInit","data","subscribe","articleData","navigate","setBlogPostingSchema","generateSummary","isPlatformBrowser","setTimeout","initSummaryObserver","ngAfterViewInit","disconnect","headings","nativeElement","querySelectorAll","forEach","heading","generateHeadingId","textContent","IntersectionObserver","entries","entry","isIntersecting","target","rootMargin","observe","element","document","getElementById","scrollIntoView","behavior","block","ngOnDestroy","removeSchema","selectors","viewQuery","rf","ctx","BlogDetailComponent_Conditional_0_Template","LucideArrowLeft","DatePipe","LucideClock4","LucideCalendar","MarkdownComponent","RouterLink","NewsletterComponent","ProjectCtaComponent","LucideRepeat2","ArticleCardComponent","LucideGlobe","styles","articleResolver","route","blogService","inject","BlogService","router","Router","slug","paramMap","get","getArticleBySlug","pipe","catchError","navigate","EMPTY","routes","path","component","HomeComponent","FaqPageComponent","MentionsLegalesComponent","PolitiqueDeConfidentialiteComponent","ConditionsGeneralesPrestationComponent","GoogleAdsLandingPageComponent","BlogComponent","BlogDetailComponent","resolve","articleData","articleResolver","redirectTo","InjectableAnimationEngine","AnimationEngine","doc","driver","normalizer","__ngFactoryType__","ɵɵinject","DOCUMENT","AnimationDriver","AnimationStyleNormalizer","ɵɵdefineInjectable","instantiateDefaultStyleNormalizer","WebAnimationsStyleNormalizer","instantiateRendererFactory","renderer","engine","zone","AnimationRendererFactory","SHARED_ANIMATION_PROVIDERS","RendererFactory2","DomRendererFactory2","NgZone","BROWSER_NOOP_ANIMATIONS_PROVIDERS","NoopAnimationDriver","ANIMATION_MODULE_TYPE","BROWSER_ANIMATIONS_PROVIDERS","BrowserAnimationsModule","config","ɵɵdefineNgModule","ɵɵdefineInjector","BrowserModule","ANIMATION_PREFIX","AsyncAnimationRendererFactory","inject","Injector","ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN","doc","delegate","zone","animationType","moduleImpl","loadFn","m","moduleImplPromise","e","RuntimeError","ɵcreateEngine","ɵAnimationRendererFactory","rendererFactory","hostElement","rendererType","renderer","dynamicRenderer","DynamicDelegationRenderer","animationRendererFactory","animationRenderer","ChangeDetectionScheduler","componentId","__ngFactoryType__","ɵɵinvalidFactory","ɵɵdefineInjectable","impl","fn","name","namespace","value","parent","newChild","refChild","isMove","oldChild","isHostElement","selectorOrNode","preserveContent","node","el","style","flags","target","eventName","callback","options","propOrEventName","InjectionToken","provideAnimationsAsync","type","performanceMarkFeature","makeEnvironmentProviders","RendererFactory2","DOCUMENT","DomRendererFactory2","NgZone","ANIMATION_MODULE_TYPE","appConfig","providers","provideZoneChangeDetection","eventCoalescing","provideRouter","routes","withInMemoryScrolling","anchorScrolling","scrollPositionRestoration","provideClientHydration","provideHttpClient","withFetch","provideAnimationsAsync","importProvidersFrom","BrowserAnimationsModule","provide","LOCALE_ID","useValue","provideMarkdown","serverConfig","providers","provideServerRendering","config","mergeApplicationConfig","appConfig","bootstrap","context","bootstrapApplication","AppComponent","config","main_server_default"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,29,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,90,91,92,93,94,102,103,110,125,142,143,149,150]}