@angular/platform-browser 22.2.0 → 22.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v22.2.0
2
+ * @license Angular v22.2.2
3
3
  * (c) 2010-2026 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -225,7 +225,7 @@ class KeyEventsPlugin extends EventManagerPlugin {
225
225
  }
226
226
  static ɵfac = i0.ɵɵngDeclareFactory({
227
227
  minVersion: "12.0.0",
228
- version: "22.2.0",
228
+ version: "22.2.2",
229
229
  ngImport: i0,
230
230
  type: KeyEventsPlugin,
231
231
  deps: [{
@@ -235,14 +235,14 @@ class KeyEventsPlugin extends EventManagerPlugin {
235
235
  });
236
236
  static ɵprov = i0.ɵɵngDeclareInjectable({
237
237
  minVersion: "12.0.0",
238
- version: "22.2.0",
238
+ version: "22.2.2",
239
239
  ngImport: i0,
240
240
  type: KeyEventsPlugin
241
241
  });
242
242
  }
243
243
  i0.ɵɵngDeclareClassMetadata({
244
244
  minVersion: "12.0.0",
245
- version: "22.2.0",
245
+ version: "22.2.2",
246
246
  ngImport: i0,
247
247
  type: KeyEventsPlugin,
248
248
  decorators: [{
@@ -369,7 +369,7 @@ class BrowserModule {
369
369
  }
370
370
  static ɵfac = i0.ɵɵngDeclareFactory({
371
371
  minVersion: "12.0.0",
372
- version: "22.2.0",
372
+ version: "22.2.2",
373
373
  ngImport: i0,
374
374
  type: BrowserModule,
375
375
  deps: [],
@@ -377,14 +377,14 @@ class BrowserModule {
377
377
  });
378
378
  static ɵmod = i0.ɵɵngDeclareNgModule({
379
379
  minVersion: "14.0.0",
380
- version: "22.2.0",
380
+ version: "22.2.2",
381
381
  ngImport: i0,
382
382
  type: BrowserModule,
383
383
  exports: [CommonModule, ApplicationModule]
384
384
  });
385
385
  static ɵinj = i0.ɵɵngDeclareInjector({
386
386
  minVersion: "12.0.0",
387
- version: "22.2.0",
387
+ version: "22.2.2",
388
388
  ngImport: i0,
389
389
  type: BrowserModule,
390
390
  providers: [...BROWSER_MODULE_PROVIDERS, ...TESTABILITY_PROVIDERS],
@@ -393,7 +393,7 @@ class BrowserModule {
393
393
  }
394
394
  i0.ɵɵngDeclareClassMetadata({
395
395
  minVersion: "12.0.0",
396
- version: "22.2.0",
396
+ version: "22.2.2",
397
397
  ngImport: i0,
398
398
  type: BrowserModule,
399
399
  decorators: [{
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v22.2.0
2
+ * @license Angular v22.2.2
3
3
  * (c) 2010-2026 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -32,7 +32,7 @@ class DomEventsPlugin extends EventManagerPlugin {
32
32
  }
33
33
  static ɵfac = i0.ɵɵngDeclareFactory({
34
34
  minVersion: "12.0.0",
35
- version: "22.2.0",
35
+ version: "22.2.2",
36
36
  ngImport: i0,
37
37
  type: DomEventsPlugin,
38
38
  deps: [{
@@ -42,14 +42,14 @@ class DomEventsPlugin extends EventManagerPlugin {
42
42
  });
43
43
  static ɵprov = i0.ɵɵngDeclareInjectable({
44
44
  minVersion: "12.0.0",
45
- version: "22.2.0",
45
+ version: "22.2.2",
46
46
  ngImport: i0,
47
47
  type: DomEventsPlugin
48
48
  });
49
49
  }
50
50
  i0.ɵɵngDeclareClassMetadata({
51
51
  minVersion: "12.0.0",
52
- version: "22.2.0",
52
+ version: "22.2.2",
53
53
  ngImport: i0,
54
54
  type: DomEventsPlugin,
55
55
  decorators: [{
@@ -103,7 +103,7 @@ class EventManager {
103
103
  }
104
104
  static ɵfac = i0.ɵɵngDeclareFactory({
105
105
  minVersion: "12.0.0",
106
- version: "22.2.0",
106
+ version: "22.2.2",
107
107
  ngImport: i0,
108
108
  type: EventManager,
109
109
  deps: [{
@@ -115,14 +115,14 @@ class EventManager {
115
115
  });
116
116
  static ɵprov = i0.ɵɵngDeclareInjectable({
117
117
  minVersion: "12.0.0",
118
- version: "22.2.0",
118
+ version: "22.2.2",
119
119
  ngImport: i0,
120
120
  type: EventManager
121
121
  });
122
122
  }
123
123
  i0.ɵɵngDeclareClassMetadata({
124
124
  minVersion: "12.0.0",
125
- version: "22.2.0",
125
+ version: "22.2.2",
126
126
  ngImport: i0,
127
127
  type: EventManager,
128
128
  decorators: [{
@@ -272,7 +272,7 @@ class SharedStylesHost {
272
272
  }
273
273
  static ɵfac = i0.ɵɵngDeclareFactory({
274
274
  minVersion: "12.0.0",
275
- version: "22.2.0",
275
+ version: "22.2.2",
276
276
  ngImport: i0,
277
277
  type: SharedStylesHost,
278
278
  deps: [{
@@ -289,14 +289,14 @@ class SharedStylesHost {
289
289
  });
290
290
  static ɵprov = i0.ɵɵngDeclareInjectable({
291
291
  minVersion: "12.0.0",
292
- version: "22.2.0",
292
+ version: "22.2.2",
293
293
  ngImport: i0,
294
294
  type: SharedStylesHost
295
295
  });
296
296
  }
297
297
  i0.ɵɵngDeclareClassMetadata({
298
298
  minVersion: "12.0.0",
299
- version: "22.2.0",
299
+ version: "22.2.2",
300
300
  ngImport: i0,
301
301
  type: SharedStylesHost,
302
302
  decorators: [{
@@ -462,7 +462,7 @@ class DomRendererFactory2 {
462
462
  }
463
463
  static ɵfac = i0.ɵɵngDeclareFactory({
464
464
  minVersion: "12.0.0",
465
- version: "22.2.0",
465
+ version: "22.2.2",
466
466
  ngImport: i0,
467
467
  type: DomRendererFactory2,
468
468
  deps: [{
@@ -490,14 +490,14 @@ class DomRendererFactory2 {
490
490
  });
491
491
  static ɵprov = i0.ɵɵngDeclareInjectable({
492
492
  minVersion: "12.0.0",
493
- version: "22.2.0",
493
+ version: "22.2.2",
494
494
  ngImport: i0,
495
495
  type: DomRendererFactory2
496
496
  });
497
497
  }
498
498
  i0.ɵɵngDeclareClassMetadata({
499
499
  minVersion: "12.0.0",
500
- version: "22.2.0",
500
+ version: "22.2.2",
501
501
  ngImport: i0,
502
502
  type: DomRendererFactory2,
503
503
  decorators: [{
@@ -706,6 +706,11 @@ class DefaultDomRenderer2 {
706
706
  };
707
707
  }
708
708
  }
709
+ function disableThrowOnSyntheticProps(renderer) {
710
+ if (renderer instanceof DefaultDomRenderer2) {
711
+ renderer.throwOnSyntheticProps = false;
712
+ }
713
+ }
709
714
  const AT_CHARCODE = (() => '@'.charCodeAt(0))();
710
715
  function checkNoSyntheticProp(name, nameKind) {
711
716
  if (name.charCodeAt(0) === AT_CHARCODE) {
@@ -827,5 +832,5 @@ class EmulatedEncapsulationDomRenderer2 extends NoneEncapsulationDomRenderer {
827
832
  }
828
833
  }
829
834
 
830
- export { CSS_VAR_NAMESPACE, DomEventsPlugin, DomRendererFactory2, EVENT_MANAGER_PLUGINS, EventManager, EventManagerPlugin, REMOVE_STYLES_ON_COMPONENT_DESTROY, SharedStylesHost, provideCssVarNamespacing };
835
+ export { CSS_VAR_NAMESPACE, DomEventsPlugin, DomRendererFactory2, EVENT_MANAGER_PLUGINS, EventManager, EventManagerPlugin, REMOVE_STYLES_ON_COMPONENT_DESTROY, SharedStylesHost, disableThrowOnSyntheticProps, provideCssVarNamespacing };
831
836
  //# sourceMappingURL=_dom_renderer-chunk.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"_dom_renderer-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/events/event_manager_plugin.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/events/dom_events.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/events/event_manager.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/shared_styles_host.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/dom_renderer.ts"],"sourcesContent":["/**\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\nimport type {ListenerOptions} from '@angular/core';\nimport type {EventManager} from './event_manager';\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 * @see [Extend event handling](guide/templates/event-listeners#extend-event-handling)\n *\n * @publicApi\n */\nexport abstract class EventManagerPlugin {\n // TODO: remove (has some usage in G3)\n constructor(private _doc: any) {}\n\n // Using non-null assertion because it's set by EventManager's constructor\n manager!: EventManager;\n\n /**\n * Should return `true` for every event name that should be supported by this plugin\n */\n abstract supports(eventName: string): boolean;\n\n /**\n * Implement the behaviour for the supported events\n */\n abstract addEventListener(\n element: HTMLElement,\n eventName: string,\n handler: Function,\n options?: ListenerOptions,\n ): Function;\n}\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\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, type ListenerOptions} from '@angular/core';\nimport {EventManagerPlugin} from './event_manager_plugin';\n\n@Injectable()\nexport class DomEventsPlugin extends EventManagerPlugin {\n constructor(@Inject(DOCUMENT) doc: any) {\n super(doc);\n }\n\n // This plugin should come last in the list of plugins, because it accepts all\n // events.\n override supports(eventName: string): boolean {\n return true;\n }\n\n override addEventListener(\n element: HTMLElement,\n eventName: string,\n handler: Function,\n options?: ListenerOptions,\n ): Function {\n element.addEventListener(eventName, handler as EventListener, options);\n return () => this.removeEventListener(element, eventName, handler as EventListener, options);\n }\n\n removeEventListener(\n target: any,\n eventName: string,\n callback: Function,\n options?: ListenerOptions,\n ): void {\n return target.removeEventListener(eventName, callback as EventListener, options);\n }\n}\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\nimport {\n Inject,\n Injectable,\n InjectionToken,\n NgZone,\n ɵRuntimeError as RuntimeError,\n type ListenerOptions,\n} from '@angular/core';\n\nimport {RuntimeErrorCode} from '../../errors';\n\nimport type {EventManagerPlugin} from './event_manager_plugin';\n\nimport {DomEventsPlugin} from './dom_events';\n\n/**\n * The injection token for plugins of the `EventManager` service.\n *\n * @see [Extend event handling](guide/templates/event-listeners#extend-event-handling)\n *\n * @publicApi\n */\nexport const EVENT_MANAGER_PLUGINS = new InjectionToken<EventManagerPlugin[]>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'EventManagerPlugins' : '',\n);\n\n/**\n * An injectable service that provides event management for Angular\n * through a browser plug-in.\n *\n * @publicApi\n */\n@Injectable()\nexport class EventManager {\n private _plugins: EventManagerPlugin[];\n private _eventNameToPlugin = new Map<string, EventManagerPlugin>();\n\n /**\n * Initializes an instance of the event-manager service.\n */\n constructor(\n @Inject(EVENT_MANAGER_PLUGINS) plugins: EventManagerPlugin[],\n private _zone: NgZone,\n ) {\n plugins.forEach((plugin) => {\n plugin.manager = this;\n });\n\n const otherPlugins = plugins.filter((p) => !(p instanceof DomEventsPlugin));\n this._plugins = otherPlugins.slice().reverse();\n\n // DomEventsPlugin.supports() always returns true, it should always be the last plugin.\n const domEventPlugin = plugins.find((p) => p instanceof DomEventsPlugin);\n if (domEventPlugin) {\n this._plugins.push(domEventPlugin);\n }\n }\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(\n element: HTMLElement,\n eventName: string,\n handler: Function,\n options?: ListenerOptions,\n ): Function {\n const plugin = this._findPluginFor(eventName);\n return plugin.addEventListener(element, eventName, handler, options);\n }\n\n /**\n * Retrieves the compilation zone in which event listeners are registered.\n */\n getZone(): NgZone {\n return this._zone;\n }\n\n /** @internal */\n _findPluginFor(eventName: string): EventManagerPlugin {\n let plugin = this._eventNameToPlugin.get(eventName);\n if (plugin) {\n return plugin;\n }\n\n const plugins = this._plugins;\n plugin = plugins.find((plugin) => plugin.supports(eventName));\n if (!plugin) {\n throw new RuntimeError(\n RuntimeErrorCode.NO_PLUGIN_FOR_EVENT,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `No event manager plugin found for event ${eventName}`,\n );\n }\n\n this._eventNameToPlugin.set(eventName, plugin);\n return plugin;\n }\n}\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\nimport {DOCUMENT} from '@angular/common';\nimport {\n APP_ID,\n CSP_NONCE,\n Inject,\n Injectable,\n OnDestroy,\n Optional,\n PLATFORM_ID,\n ɵSharedStylesHost,\n} from '@angular/core';\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/**\n * A record of usage for a specific style including all elements added to the DOM\n * that contain a given style.\n */\ninterface UsageRecord<T> {\n elements: T[];\n usage: number;\n}\n\n/**\n * Removes all provided elements from the document.\n * @param elements An array of HTML Elements.\n */\nfunction removeElements(elements: Iterable<HTMLElement>): void {\n for (const element of elements) {\n element.remove();\n }\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: string, doc: Document): HTMLStyleElement {\n const styleElement = doc.createElement('style');\n styleElement.textContent = style;\n\n return styleElement;\n}\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 identifier.\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 * @returns Whether or not styles were added.\n */\nfunction addServerStyles(\n doc: Document,\n appId: string,\n inline: Map<string, UsageRecord<HTMLStyleElement>>,\n external: Map<string, UsageRecord<HTMLLinkElement>>,\n): boolean {\n const elements = doc.head?.querySelectorAll<HTMLStyleElement | HTMLLinkElement>(\n `style[${APP_ID_ATTRIBUTE_NAME}=\"${appId}\"],link[${APP_ID_ATTRIBUTE_NAME}=\"${appId}\"]`,\n );\n\n if (!elements || elements.length === 0) return false;\n\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, {usage: 0, elements: [styleElement]});\n }\n }\n\n return true;\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 */\nexport function createLinkElement(url: string, doc: Document): HTMLLinkElement {\n const linkElement = doc.createElement('link');\n linkElement.setAttribute('rel', 'stylesheet');\n linkElement.setAttribute('href', url);\n\n return linkElement;\n}\n\n@Injectable()\nexport class SharedStylesHost implements ɵSharedStylesHost, OnDestroy {\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 private readonly inline = new Map<string /** content */, UsageRecord<HTMLStyleElement>>();\n\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 private readonly external = new Map<string /** URL */, UsageRecord<HTMLLinkElement>>();\n\n /**\n * Set of host DOM nodes that will have styles attached.\n */\n private readonly hosts = new Set<Node>();\n\n constructor(\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(APP_ID) private readonly appId: string,\n @Inject(CSP_NONCE) @Optional() private readonly nonce?: string | null,\n // Cannot remove it due to backward compatibility\n // (it seems some TGP targets might be calling this constructor directly).\n @Inject(PLATFORM_ID) platformId: object = {},\n ) {\n const added = addServerStyles(doc, appId, this.inline, this.external);\n if (added) this.hosts.add(doc.head);\n }\n\n addStyles(styles: string[], urls?: string[]): void {\n for (const value of styles) {\n this.addUsage(value, this.inline, createStyleElement);\n }\n\n urls?.forEach((value) => this.addUsage(value, this.external, createLinkElement));\n }\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: string[], urls?: string[]): void {\n for (const value of styles) {\n this.removeUsage(value, this.inline);\n }\n\n urls?.forEach((value) => this.removeUsage(value, this.external));\n }\n\n protected addUsage<T extends HTMLElement>(\n value: string,\n usages: Map<string, UsageRecord<T>>,\n creator: (value: string, doc: Document) => T,\n ): void {\n // Attempt to get any current usage of the value\n const record = usages.get(value);\n\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\n protected removeUsage<T extends HTMLElement>(\n value: string,\n usages: Map<string, UsageRecord<T>>,\n ): void {\n // Attempt to get any current usage of the value\n const record = usages.get(value);\n\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\n ngOnDestroy(): void {\n for (const [, {elements}] of [...this.inline, ...this.external]) {\n removeElements(elements);\n }\n this.hosts.clear();\n }\n\n addHost(hostNode: Node): void {\n if (this.hosts.has(hostNode)) return;\n\n this.hosts.add(hostNode);\n\n // Add existing styles to new host\n for (const [style, {elements}] of this.inline) {\n elements.push(this.addElement(hostNode, createStyleElement(style, this.doc)));\n }\n for (const [url, {elements}] of this.external) {\n elements.push(this.addElement(hostNode, createLinkElement(url, this.doc)));\n }\n }\n\n removeHost(hostNode: Node): void {\n this.hosts.delete(hostNode);\n\n for (const record of [...this.inline.values(), ...this.external.values()]) {\n const remaining: Array<HTMLStyleElement | HTMLLinkElement> = [];\n for (const element of record.elements) {\n if (element.parentNode === hostNode) {\n element.remove();\n } else {\n remaining.push(element);\n }\n }\n record.elements = remaining;\n }\n }\n\n private addElement<T extends HTMLElement>(host: Node, element: T): T {\n // Add a nonce if present\n if (this.nonce) {\n element.setAttribute('nonce', this.nonce);\n }\n\n // Add application identifier when on the server to support client-side reuse\n if (typeof ngServerMode !== 'undefined' && ngServerMode) {\n element.setAttribute(APP_ID_ATTRIBUTE_NAME, this.appId);\n }\n\n // Insert the element into the DOM with the host node as parent\n return host.appendChild(element);\n }\n}\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\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/common';\nimport {\n APP_ID,\n CSP_NONCE,\n Inject,\n Injectable,\n InjectionToken,\n NgZone,\n OnDestroy,\n Renderer2,\n RendererFactory2,\n RendererStyleFlags2,\n RendererType2,\n ViewEncapsulation,\n ɵdescribeDomNode as describeDomNode,\n ɵRuntimeError as RuntimeError,\n type ListenerOptions,\n ɵTracingService as TracingService,\n ɵTracingSnapshot as TracingSnapshot,\n Optional,\n ɵallLeavingAnimations as allLeavingAnimations,\n ɵSHARED_STYLES_HOST as SHARED_STYLES_HOST,\n makeEnvironmentProviders,\n type EnvironmentProviders,\n} from '@angular/core';\n\nimport {RuntimeErrorCode} from '../errors';\n\nimport {EventManager} from './events/event_manager';\nimport {createLinkElement, SharedStylesHost} from './shared_styles_host';\n\nexport const NAMESPACE_URIS: {[ns: string]: string} = {\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};\n\nconst COMPONENT_REGEX = /%COMP%/g;\nconst SOURCEMAP_URL_REGEXP = /\\/\\*#\\s*sourceMappingURL=([^\\s*]+)\\s*\\*\\//;\nconst PROTOCOL_REGEXP = /^https?:/;\n\nexport const COMPONENT_VARIABLE = '%COMP%';\nexport const HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;\nexport const CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;\n\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/**\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 */\nexport const REMOVE_STYLES_ON_COMPONENT_DESTROY = new InjectionToken<boolean>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'RemoveStylesOnCompDestroy' : '',\n {\n factory: () => REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT,\n },\n);\n\n/**\n * An injection token that allows an application to configure a prefix to be used for all\n * CSS variables generated compiled with CSS namespacing enabled.\n *\n * Typically set via {@link provideCssVarNamespacing}.\n */\nexport const CSS_VAR_NAMESPACE = new InjectionToken<string>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'CSS_VAR_NAMESPACE' : '',\n);\n\n/**\n * Configures the application to use the given namespace for all CSS variables.\n *\n * @param namespace The prefix string to use as a namespace. If not provided, it defaults\n * to the `APP_ID`. An underscore is appended unconditionally.\n * @publicApi\n */\nexport function provideCssVarNamespacing(namespace?: string): EnvironmentProviders {\n return makeEnvironmentProviders([\n {\n provide: CSS_VAR_NAMESPACE,\n useFactory: (appId: string) => `${namespace ?? appId}_`,\n deps: [APP_ID],\n },\n ]);\n}\n\nexport function shimContentAttribute(componentShortId: string): string {\n return CONTENT_ATTR.replace(COMPONENT_REGEX, componentShortId);\n}\n\nexport function shimHostAttribute(componentShortId: string): string {\n return HOST_ATTR.replace(COMPONENT_REGEX, componentShortId);\n}\n\nexport function shimStylesContent(compId: string, styles: string[]): string[] {\n return styles.map((s) => s.replace(COMPONENT_REGEX, compId));\n}\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 */\nexport function addBaseHrefToCssSourceMap(baseHref: string, styles: string[]): string[] {\n if (!baseHref) {\n return styles;\n }\n\n const absoluteBaseHrefUrl = new URL(baseHref, 'http://localhost');\n\n return styles.map((cssContent) => {\n if (!cssContent.includes('sourceMappingURL=')) {\n return cssContent;\n }\n\n return cssContent.replace(SOURCEMAP_URL_REGEXP, (_, sourceMapUrl) => {\n if (\n sourceMapUrl[0] === '/' ||\n sourceMapUrl.startsWith('data:') ||\n PROTOCOL_REGEXP.test(sourceMapUrl)\n ) {\n return `/*# sourceMappingURL=${sourceMapUrl} */`;\n }\n\n const {pathname: resolvedSourceMapUrl} = new URL(sourceMapUrl, absoluteBaseHrefUrl);\n\n return `/*# sourceMappingURL=${resolvedSourceMapUrl} */`;\n });\n });\n}\n\n@Injectable()\nexport class DomRendererFactory2 implements RendererFactory2, OnDestroy {\n private readonly rendererByCompId = new Map<\n string,\n EmulatedEncapsulationDomRenderer2 | NoneEncapsulationDomRenderer\n >();\n private readonly defaultRenderer: Renderer2;\n private readonly cssVarNamespace: string;\n\n constructor(\n private readonly eventManager: EventManager,\n @Inject(SHARED_STYLES_HOST) private readonly sharedStylesHost: SharedStylesHost,\n @Inject(APP_ID) private readonly appId: string,\n @Inject(REMOVE_STYLES_ON_COMPONENT_DESTROY) private removeStylesOnCompDestroy: boolean,\n @Inject(DOCUMENT) private readonly doc: Document,\n readonly ngZone: NgZone,\n @Inject(CSP_NONCE) private readonly nonce: string | null = null,\n @Inject(TracingService)\n @Optional()\n private readonly tracingService: TracingService<TracingSnapshot> | null = null,\n @Inject(CSS_VAR_NAMESPACE) @Optional() cssVarNamespace: string | null = null,\n ) {\n this.cssVarNamespace = cssVarNamespace ?? '';\n this.defaultRenderer = new DefaultDomRenderer2(\n eventManager,\n doc,\n ngZone,\n this.tracingService,\n this.cssVarNamespace,\n );\n }\n\n createRenderer(element: any, type: RendererType2 | null): Renderer2 {\n if (!element || !type) {\n return this.defaultRenderer;\n }\n\n if (\n typeof ngServerMode !== 'undefined' &&\n ngServerMode &&\n (type.encapsulation === ViewEncapsulation.ShadowDom ||\n type.encapsulation === ViewEncapsulation.ExperimentalIsolatedShadowDom)\n ) {\n // Domino does not support shadow DOM.\n type = {...type, 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\n return renderer;\n }\n\n private getOrCreateRenderer(element: any, type: RendererType2): Renderer2 {\n const rendererByCompId = this.rendererByCompId;\n let renderer = rendererByCompId.get(type.id);\n\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 tracingService = this.tracingService;\n\n switch (type.encapsulation) {\n case ViewEncapsulation.Emulated:\n renderer = new EmulatedEncapsulationDomRenderer2(\n eventManager,\n sharedStylesHost,\n type,\n this.appId,\n removeStylesOnCompDestroy,\n doc,\n ngZone,\n tracingService,\n this.cssVarNamespace,\n );\n break;\n case ViewEncapsulation.ShadowDom:\n return new ShadowDomRenderer(\n eventManager,\n element,\n type,\n doc,\n ngZone,\n this.nonce,\n tracingService,\n this.cssVarNamespace,\n sharedStylesHost,\n );\n case ViewEncapsulation.ExperimentalIsolatedShadowDom:\n return new ShadowDomRenderer(\n eventManager,\n element,\n type,\n doc,\n ngZone,\n this.nonce,\n tracingService,\n this.cssVarNamespace,\n );\n\n default:\n renderer = new NoneEncapsulationDomRenderer(\n eventManager,\n sharedStylesHost,\n type,\n removeStylesOnCompDestroy,\n doc,\n ngZone,\n tracingService,\n this.cssVarNamespace,\n );\n break;\n }\n\n rendererByCompId.set(type.id, renderer);\n }\n\n return renderer;\n }\n\n ngOnDestroy() {\n this.rendererByCompId.clear();\n }\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 protected componentReplaced(componentId: string) {\n this.rendererByCompId.delete(componentId);\n }\n}\n\nclass DefaultDomRenderer2 implements Renderer2 {\n data: {[key: string]: any} = Object.create(null);\n\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\n constructor(\n private readonly eventManager: EventManager,\n private readonly doc: Document,\n protected readonly ngZone: NgZone,\n private readonly tracingService: TracingService<TracingSnapshot> | null,\n private readonly cssVarNamespace: string = '',\n ) {}\n\n destroy(): void {}\n\n destroyNode = null;\n\n createElement(name: string, namespace?: string): any {\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\n return this.doc.createElement(name);\n }\n\n createComment(value: string): any {\n return this.doc.createComment(value);\n }\n\n createText(value: string): any {\n return this.doc.createTextNode(value);\n }\n\n appendChild(parent: any, newChild: any): void {\n const targetParent = isTemplateNode(parent) ? parent.content : parent;\n targetParent.appendChild(newChild);\n }\n\n insertBefore(parent: any, newChild: any, refChild: any): void {\n if (parent) {\n const targetParent = isTemplateNode(parent) ? parent.content : parent;\n // If something outside Angular removed or moved `refChild` (a browser extension, for\n // example), the native call below throws a `NotFoundError` with no useful info. Catch it\n // here so we can say what actually happened.\n if (refChild != null && refChild.parentNode !== targetParent) {\n throw new RuntimeError(\n RuntimeErrorCode.INSERT_BEFORE_NODE_NOT_FOUND,\n ngDevMode &&\n `Angular could not insert a node before ${describeDomNode(refChild)} because it is no longer a child of ${describeDomNode(targetParent)}. ` +\n `This can happen when code outside of Angular's control (for example, a browser extension or a script that directly manipulates the DOM) ` +\n `has moved or removed a node that Angular is still managing.`,\n );\n }\n targetParent.insertBefore(newChild, refChild);\n }\n }\n\n removeChild(_parent: any, oldChild: any): void {\n // child was removed\n oldChild.remove();\n }\n\n selectRootElement(selectorOrNode: string | any, preserveContent?: boolean): any {\n let el: any =\n typeof selectorOrNode === 'string' ? this.doc.querySelector(selectorOrNode) : selectorOrNode;\n if (!el) {\n throw new RuntimeError(\n RuntimeErrorCode.ROOT_NODE_NOT_FOUND,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `The selector \"${selectorOrNode}\" did not match any elements`,\n );\n }\n if (!preserveContent) {\n el.textContent = '';\n }\n return el;\n }\n\n parentNode(node: any): any {\n return node.parentNode;\n }\n\n nextSibling(node: any): any {\n return node.nextSibling;\n }\n\n setAttribute(el: any, name: string, value: string, namespace?: string): void {\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\n removeAttribute(el: any, name: string, namespace?: string): void {\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\n addClass(el: any, name: string): void {\n el.classList.add(name);\n }\n\n removeClass(el: any, name: string): void {\n el.classList.remove(name);\n }\n\n setStyle(el: any, style: string, value: any, flags: RendererStyleFlags2): void {\n const isVariable = style.startsWith('--');\n if (isVariable) {\n style = style.replace('%NS%', this.cssVarNamespace);\n }\n if (isVariable || 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\n removeStyle(el: any, style: string, flags: RendererStyleFlags2): void {\n const isVariable = style.startsWith('--');\n if (isVariable) {\n style = style.replace('%NS%', this.cssVarNamespace);\n }\n if (isVariable || 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\n setProperty(el: any, name: string, value: any): void {\n if (el == null) {\n return;\n }\n\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n this.throwOnSyntheticProps &&\n checkNoSyntheticProp(name, 'property');\n el[name] = value;\n }\n\n setValue(node: any, value: string): void {\n node.nodeValue = value;\n }\n\n listen(\n target: 'window' | 'document' | 'body' | any,\n event: string,\n callback: (event: any) => boolean,\n options?: ListenerOptions,\n ): () => void {\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n this.throwOnSyntheticProps &&\n checkNoSyntheticProp(event, 'listener');\n if (typeof target === 'string') {\n target = getDOM().getGlobalEventTarget(this.doc, target);\n if (!target) {\n throw new RuntimeError(\n RuntimeErrorCode.UNSUPPORTED_EVENT_TARGET,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `Unsupported event target ${target} for event ${event}`,\n );\n }\n }\n\n let wrappedCallback = this.decoratePreventDefault(callback);\n\n if (this.tracingService?.wrapEventListener) {\n wrappedCallback = this.tracingService.wrapEventListener(target, event, wrappedCallback);\n }\n\n return this.eventManager.addEventListener(\n target,\n event,\n wrappedCallback,\n options,\n ) as VoidFunction;\n }\n\n private decoratePreventDefault(eventHandler: Function): Function {\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: any) => {\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\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 =\n typeof ngServerMode !== 'undefined' && ngServerMode\n ? this.ngZone.runGuarded(() => eventHandler(event))\n : eventHandler(event);\n if (allowDefaultBehavior === false) {\n event.preventDefault();\n }\n\n return undefined;\n };\n }\n}\n\nconst AT_CHARCODE = (() => '@'.charCodeAt(0))();\n\nfunction checkNoSyntheticProp(name: string, nameKind: string) {\n if (name.charCodeAt(0) === AT_CHARCODE) {\n throw new RuntimeError(\n RuntimeErrorCode.UNEXPECTED_SYNTHETIC_PROPERTY,\n `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 }\n}\n\nfunction isTemplateNode(node: any): node is HTMLTemplateElement {\n return node.tagName === 'TEMPLATE' && node.content !== undefined;\n}\n\nclass ShadowDomRenderer extends DefaultDomRenderer2 {\n private readonly shadowRoot: ShadowRoot;\n\n constructor(\n eventManager: EventManager,\n private readonly hostEl: Element,\n component: RendererType2,\n doc: Document,\n ngZone: NgZone,\n nonce: string | null,\n tracingService: TracingService<TracingSnapshot> | null,\n cssVarNamespace: string,\n private sharedStylesHost?: SharedStylesHost,\n ) {\n super(eventManager, doc, ngZone, tracingService, cssVarNamespace);\n this.shadowRoot = hostEl.attachShadow({mode: 'open'});\n\n // SharedStylesHost is used to add styles to the shadow root by ShadowDom.\n // This is optional as it is not used by ExperimentalIsolatedShadowDom.\n if (this.sharedStylesHost) {\n this.sharedStylesHost.addHost(this.shadowRoot);\n }\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\n styles = shimStylesContent(component.id, styles).map((s) =>\n s.replace(/%NS%/g, cssVarNamespace),\n );\n\n for (const style of styles) {\n const styleEl = document.createElement('style');\n\n if (nonce) {\n styleEl.setAttribute('nonce', nonce);\n }\n\n styleEl.textContent = style;\n this.shadowRoot.appendChild(styleEl);\n }\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\n private nodeOrShadowRoot(node: any): any {\n return node === this.hostEl ? this.shadowRoot : node;\n }\n\n override appendChild(parent: any, newChild: any): void {\n return super.appendChild(this.nodeOrShadowRoot(parent), newChild);\n }\n\n override insertBefore(parent: any, newChild: any, refChild: any): void {\n return super.insertBefore(this.nodeOrShadowRoot(parent), newChild, refChild);\n }\n\n override removeChild(_parent: any, oldChild: any): void {\n return super.removeChild(null, oldChild);\n }\n\n override parentNode(node: any): any {\n return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(node)));\n }\n\n override destroy() {\n if (this.sharedStylesHost) {\n this.sharedStylesHost.removeHost(this.shadowRoot);\n }\n }\n}\n\nclass NoneEncapsulationDomRenderer extends DefaultDomRenderer2 {\n private readonly styles: string[];\n private readonly styleUrls?: string[];\n\n constructor(\n eventManager: EventManager,\n private readonly sharedStylesHost: SharedStylesHost,\n component: RendererType2,\n private removeStylesOnCompDestroy: boolean,\n doc: Document,\n ngZone: NgZone,\n tracingService: TracingService<TracingSnapshot> | null,\n cssVarNamespace: string,\n compId?: string,\n ) {\n super(eventManager, doc, ngZone, tracingService, cssVarNamespace);\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\n const shimmed = compId ? shimStylesContent(compId, styles) : styles;\n this.styles = shimmed.map((s) => s.replace(/%NS%/g, cssVarNamespace));\n this.styleUrls = component.getExternalStyles?.(compId);\n }\n\n applyStyles(): void {\n this.sharedStylesHost.addStyles(this.styles, this.styleUrls);\n }\n\n override destroy(): void {\n if (!this.removeStylesOnCompDestroy) {\n return;\n }\n if (allLeavingAnimations.size === 0) {\n this.sharedStylesHost.removeStyles(this.styles, this.styleUrls);\n }\n }\n}\n\nclass EmulatedEncapsulationDomRenderer2 extends NoneEncapsulationDomRenderer {\n private contentAttr: string;\n private hostAttr: string;\n\n constructor(\n eventManager: EventManager,\n sharedStylesHost: SharedStylesHost,\n component: RendererType2,\n appId: string,\n removeStylesOnCompDestroy: boolean,\n doc: Document,\n ngZone: NgZone,\n tracingService: TracingService<TracingSnapshot> | null,\n cssVarNamespace: string,\n ) {\n const compId = appId + '-' + component.id;\n super(\n eventManager,\n sharedStylesHost,\n component,\n removeStylesOnCompDestroy,\n doc,\n ngZone,\n tracingService,\n cssVarNamespace,\n compId,\n );\n this.contentAttr = shimContentAttribute(compId);\n this.hostAttr = shimHostAttribute(compId);\n }\n\n applyToHost(element: any): void {\n this.applyStyles();\n this.setAttribute(element, this.hostAttr, '');\n }\n\n override createElement(parent: any, name: string): Element {\n const el = super.createElement(parent, name);\n super.setAttribute(el, this.contentAttr, '');\n return el;\n }\n}\n"],"names":["RuntimeError","i1.EventManager","SHARED_STYLES_HOST","TracingService","describeDomNode","getDOM","allLeavingAnimations"],"mappings":"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"}
1
+ {"version":3,"file":"_dom_renderer-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/events/event_manager_plugin.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/events/dom_events.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/events/event_manager.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/shared_styles_host.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/dom_renderer.ts"],"sourcesContent":["/**\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\nimport type {ListenerOptions} from '@angular/core';\nimport type {EventManager} from './event_manager';\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 * @see [Extend event handling](guide/templates/event-listeners#extend-event-handling)\n *\n * @publicApi\n */\nexport abstract class EventManagerPlugin {\n // TODO: remove (has some usage in G3)\n constructor(private _doc: any) {}\n\n // Using non-null assertion because it's set by EventManager's constructor\n manager!: EventManager;\n\n /**\n * Should return `true` for every event name that should be supported by this plugin\n */\n abstract supports(eventName: string): boolean;\n\n /**\n * Implement the behaviour for the supported events\n */\n abstract addEventListener(\n element: HTMLElement,\n eventName: string,\n handler: Function,\n options?: ListenerOptions,\n ): Function;\n}\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\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, type ListenerOptions} from '@angular/core';\nimport {EventManagerPlugin} from './event_manager_plugin';\n\n@Injectable()\nexport class DomEventsPlugin extends EventManagerPlugin {\n constructor(@Inject(DOCUMENT) doc: any) {\n super(doc);\n }\n\n // This plugin should come last in the list of plugins, because it accepts all\n // events.\n override supports(eventName: string): boolean {\n return true;\n }\n\n override addEventListener(\n element: HTMLElement,\n eventName: string,\n handler: Function,\n options?: ListenerOptions,\n ): Function {\n element.addEventListener(eventName, handler as EventListener, options);\n return () => this.removeEventListener(element, eventName, handler as EventListener, options);\n }\n\n removeEventListener(\n target: any,\n eventName: string,\n callback: Function,\n options?: ListenerOptions,\n ): void {\n return target.removeEventListener(eventName, callback as EventListener, options);\n }\n}\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\nimport {\n Inject,\n Injectable,\n InjectionToken,\n NgZone,\n ɵRuntimeError as RuntimeError,\n type ListenerOptions,\n} from '@angular/core';\n\nimport {RuntimeErrorCode} from '../../errors';\n\nimport type {EventManagerPlugin} from './event_manager_plugin';\n\nimport {DomEventsPlugin} from './dom_events';\n\n/**\n * The injection token for plugins of the `EventManager` service.\n *\n * @see [Extend event handling](guide/templates/event-listeners#extend-event-handling)\n *\n * @publicApi\n */\nexport const EVENT_MANAGER_PLUGINS = new InjectionToken<EventManagerPlugin[]>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'EventManagerPlugins' : '',\n);\n\n/**\n * An injectable service that provides event management for Angular\n * through a browser plug-in.\n *\n * @publicApi\n */\n@Injectable()\nexport class EventManager {\n private _plugins: EventManagerPlugin[];\n private _eventNameToPlugin = new Map<string, EventManagerPlugin>();\n\n /**\n * Initializes an instance of the event-manager service.\n */\n constructor(\n @Inject(EVENT_MANAGER_PLUGINS) plugins: EventManagerPlugin[],\n private _zone: NgZone,\n ) {\n plugins.forEach((plugin) => {\n plugin.manager = this;\n });\n\n const otherPlugins = plugins.filter((p) => !(p instanceof DomEventsPlugin));\n this._plugins = otherPlugins.slice().reverse();\n\n // DomEventsPlugin.supports() always returns true, it should always be the last plugin.\n const domEventPlugin = plugins.find((p) => p instanceof DomEventsPlugin);\n if (domEventPlugin) {\n this._plugins.push(domEventPlugin);\n }\n }\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(\n element: HTMLElement,\n eventName: string,\n handler: Function,\n options?: ListenerOptions,\n ): Function {\n const plugin = this._findPluginFor(eventName);\n return plugin.addEventListener(element, eventName, handler, options);\n }\n\n /**\n * Retrieves the compilation zone in which event listeners are registered.\n */\n getZone(): NgZone {\n return this._zone;\n }\n\n /** @internal */\n _findPluginFor(eventName: string): EventManagerPlugin {\n let plugin = this._eventNameToPlugin.get(eventName);\n if (plugin) {\n return plugin;\n }\n\n const plugins = this._plugins;\n plugin = plugins.find((plugin) => plugin.supports(eventName));\n if (!plugin) {\n throw new RuntimeError(\n RuntimeErrorCode.NO_PLUGIN_FOR_EVENT,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `No event manager plugin found for event ${eventName}`,\n );\n }\n\n this._eventNameToPlugin.set(eventName, plugin);\n return plugin;\n }\n}\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\nimport {DOCUMENT} from '@angular/common';\nimport {\n APP_ID,\n CSP_NONCE,\n Inject,\n Injectable,\n OnDestroy,\n Optional,\n PLATFORM_ID,\n ɵSharedStylesHost,\n} from '@angular/core';\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/**\n * A record of usage for a specific style including all elements added to the DOM\n * that contain a given style.\n */\ninterface UsageRecord<T> {\n elements: T[];\n usage: number;\n}\n\n/**\n * Removes all provided elements from the document.\n * @param elements An array of HTML Elements.\n */\nfunction removeElements(elements: Iterable<HTMLElement>): void {\n for (const element of elements) {\n element.remove();\n }\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: string, doc: Document): HTMLStyleElement {\n const styleElement = doc.createElement('style');\n styleElement.textContent = style;\n\n return styleElement;\n}\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 identifier.\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 * @returns Whether or not styles were added.\n */\nfunction addServerStyles(\n doc: Document,\n appId: string,\n inline: Map<string, UsageRecord<HTMLStyleElement>>,\n external: Map<string, UsageRecord<HTMLLinkElement>>,\n): boolean {\n const elements = doc.head?.querySelectorAll<HTMLStyleElement | HTMLLinkElement>(\n `style[${APP_ID_ATTRIBUTE_NAME}=\"${appId}\"],link[${APP_ID_ATTRIBUTE_NAME}=\"${appId}\"]`,\n );\n\n if (!elements || elements.length === 0) return false;\n\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, {usage: 0, elements: [styleElement]});\n }\n }\n\n return true;\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 */\nexport function createLinkElement(url: string, doc: Document): HTMLLinkElement {\n const linkElement = doc.createElement('link');\n linkElement.setAttribute('rel', 'stylesheet');\n linkElement.setAttribute('href', url);\n\n return linkElement;\n}\n\n@Injectable()\nexport class SharedStylesHost implements ɵSharedStylesHost, OnDestroy {\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 private readonly inline = new Map<string /** content */, UsageRecord<HTMLStyleElement>>();\n\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 private readonly external = new Map<string /** URL */, UsageRecord<HTMLLinkElement>>();\n\n /**\n * Set of host DOM nodes that will have styles attached.\n */\n private readonly hosts = new Set<Node>();\n\n constructor(\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(APP_ID) private readonly appId: string,\n @Inject(CSP_NONCE) @Optional() private readonly nonce?: string | null,\n // Cannot remove it due to backward compatibility\n // (it seems some TGP targets might be calling this constructor directly).\n @Inject(PLATFORM_ID) platformId: object = {},\n ) {\n const added = addServerStyles(doc, appId, this.inline, this.external);\n if (added) this.hosts.add(doc.head);\n }\n\n addStyles(styles: string[], urls?: string[]): void {\n for (const value of styles) {\n this.addUsage(value, this.inline, createStyleElement);\n }\n\n urls?.forEach((value) => this.addUsage(value, this.external, createLinkElement));\n }\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: string[], urls?: string[]): void {\n for (const value of styles) {\n this.removeUsage(value, this.inline);\n }\n\n urls?.forEach((value) => this.removeUsage(value, this.external));\n }\n\n protected addUsage<T extends HTMLElement>(\n value: string,\n usages: Map<string, UsageRecord<T>>,\n creator: (value: string, doc: Document) => T,\n ): void {\n // Attempt to get any current usage of the value\n const record = usages.get(value);\n\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\n protected removeUsage<T extends HTMLElement>(\n value: string,\n usages: Map<string, UsageRecord<T>>,\n ): void {\n // Attempt to get any current usage of the value\n const record = usages.get(value);\n\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\n ngOnDestroy(): void {\n for (const [, {elements}] of [...this.inline, ...this.external]) {\n removeElements(elements);\n }\n this.hosts.clear();\n }\n\n addHost(hostNode: Node): void {\n if (this.hosts.has(hostNode)) return;\n\n this.hosts.add(hostNode);\n\n // Add existing styles to new host\n for (const [style, {elements}] of this.inline) {\n elements.push(this.addElement(hostNode, createStyleElement(style, this.doc)));\n }\n for (const [url, {elements}] of this.external) {\n elements.push(this.addElement(hostNode, createLinkElement(url, this.doc)));\n }\n }\n\n removeHost(hostNode: Node): void {\n this.hosts.delete(hostNode);\n\n for (const record of [...this.inline.values(), ...this.external.values()]) {\n const remaining: Array<HTMLStyleElement | HTMLLinkElement> = [];\n for (const element of record.elements) {\n if (element.parentNode === hostNode) {\n element.remove();\n } else {\n remaining.push(element);\n }\n }\n record.elements = remaining;\n }\n }\n\n private addElement<T extends HTMLElement>(host: Node, element: T): T {\n // Add a nonce if present\n if (this.nonce) {\n element.setAttribute('nonce', this.nonce);\n }\n\n // Add application identifier when on the server to support client-side reuse\n if (typeof ngServerMode !== 'undefined' && ngServerMode) {\n element.setAttribute(APP_ID_ATTRIBUTE_NAME, this.appId);\n }\n\n // Insert the element into the DOM with the host node as parent\n return host.appendChild(element);\n }\n}\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\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/common';\nimport {\n APP_ID,\n CSP_NONCE,\n Inject,\n Injectable,\n InjectionToken,\n NgZone,\n OnDestroy,\n Renderer2,\n RendererFactory2,\n RendererStyleFlags2,\n RendererType2,\n ViewEncapsulation,\n ɵdescribeDomNode as describeDomNode,\n ɵRuntimeError as RuntimeError,\n type ListenerOptions,\n ɵTracingService as TracingService,\n ɵTracingSnapshot as TracingSnapshot,\n Optional,\n ɵallLeavingAnimations as allLeavingAnimations,\n ɵSHARED_STYLES_HOST as SHARED_STYLES_HOST,\n makeEnvironmentProviders,\n type EnvironmentProviders,\n} from '@angular/core';\n\nimport {RuntimeErrorCode} from '../errors';\n\nimport {EventManager} from './events/event_manager';\nimport {createLinkElement, SharedStylesHost} from './shared_styles_host';\n\nexport const NAMESPACE_URIS: {[ns: string]: string} = {\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};\n\nconst COMPONENT_REGEX = /%COMP%/g;\nconst SOURCEMAP_URL_REGEXP = /\\/\\*#\\s*sourceMappingURL=([^\\s*]+)\\s*\\*\\//;\nconst PROTOCOL_REGEXP = /^https?:/;\n\nexport const COMPONENT_VARIABLE = '%COMP%';\nexport const HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;\nexport const CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;\n\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/**\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 */\nexport const REMOVE_STYLES_ON_COMPONENT_DESTROY = new InjectionToken<boolean>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'RemoveStylesOnCompDestroy' : '',\n {\n factory: () => REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT,\n },\n);\n\n/**\n * An injection token that allows an application to configure a prefix to be used for all\n * CSS variables generated compiled with CSS namespacing enabled.\n *\n * Typically set via {@link provideCssVarNamespacing}.\n */\nexport const CSS_VAR_NAMESPACE = new InjectionToken<string>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'CSS_VAR_NAMESPACE' : '',\n);\n\n/**\n * Configures the application to use the given namespace for all CSS variables.\n *\n * @param namespace The prefix string to use as a namespace. If not provided, it defaults\n * to the `APP_ID`. An underscore is appended unconditionally.\n * @see [Namespacing CSS custom properties](guide/components/styling#namespacing-css-custom-properties)\n * @publicApi\n */\nexport function provideCssVarNamespacing(namespace?: string): EnvironmentProviders {\n return makeEnvironmentProviders([\n {\n provide: CSS_VAR_NAMESPACE,\n useFactory: (appId: string) => `${namespace ?? appId}_`,\n deps: [APP_ID],\n },\n ]);\n}\n\nexport function shimContentAttribute(componentShortId: string): string {\n return CONTENT_ATTR.replace(COMPONENT_REGEX, componentShortId);\n}\n\nexport function shimHostAttribute(componentShortId: string): string {\n return HOST_ATTR.replace(COMPONENT_REGEX, componentShortId);\n}\n\nexport function shimStylesContent(compId: string, styles: string[]): string[] {\n return styles.map((s) => s.replace(COMPONENT_REGEX, compId));\n}\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 */\nexport function addBaseHrefToCssSourceMap(baseHref: string, styles: string[]): string[] {\n if (!baseHref) {\n return styles;\n }\n\n const absoluteBaseHrefUrl = new URL(baseHref, 'http://localhost');\n\n return styles.map((cssContent) => {\n if (!cssContent.includes('sourceMappingURL=')) {\n return cssContent;\n }\n\n return cssContent.replace(SOURCEMAP_URL_REGEXP, (_, sourceMapUrl) => {\n if (\n sourceMapUrl[0] === '/' ||\n sourceMapUrl.startsWith('data:') ||\n PROTOCOL_REGEXP.test(sourceMapUrl)\n ) {\n return `/*# sourceMappingURL=${sourceMapUrl} */`;\n }\n\n const {pathname: resolvedSourceMapUrl} = new URL(sourceMapUrl, absoluteBaseHrefUrl);\n\n return `/*# sourceMappingURL=${resolvedSourceMapUrl} */`;\n });\n });\n}\n\n@Injectable()\nexport class DomRendererFactory2 implements RendererFactory2, OnDestroy {\n private readonly rendererByCompId = new Map<\n string,\n EmulatedEncapsulationDomRenderer2 | NoneEncapsulationDomRenderer\n >();\n private readonly defaultRenderer: Renderer2;\n private readonly cssVarNamespace: string;\n\n constructor(\n private readonly eventManager: EventManager,\n @Inject(SHARED_STYLES_HOST) private readonly sharedStylesHost: SharedStylesHost,\n @Inject(APP_ID) private readonly appId: string,\n @Inject(REMOVE_STYLES_ON_COMPONENT_DESTROY) private removeStylesOnCompDestroy: boolean,\n @Inject(DOCUMENT) private readonly doc: Document,\n readonly ngZone: NgZone,\n @Inject(CSP_NONCE) private readonly nonce: string | null = null,\n @Inject(TracingService)\n @Optional()\n private readonly tracingService: TracingService<TracingSnapshot> | null = null,\n @Inject(CSS_VAR_NAMESPACE) @Optional() cssVarNamespace: string | null = null,\n ) {\n this.cssVarNamespace = cssVarNamespace ?? '';\n this.defaultRenderer = new DefaultDomRenderer2(\n eventManager,\n doc,\n ngZone,\n this.tracingService,\n this.cssVarNamespace,\n );\n }\n\n createRenderer(element: any, type: RendererType2 | null): Renderer2 {\n if (!element || !type) {\n return this.defaultRenderer;\n }\n\n if (\n typeof ngServerMode !== 'undefined' &&\n ngServerMode &&\n (type.encapsulation === ViewEncapsulation.ShadowDom ||\n type.encapsulation === ViewEncapsulation.ExperimentalIsolatedShadowDom)\n ) {\n // Domino does not support shadow DOM.\n type = {...type, 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\n return renderer;\n }\n\n private getOrCreateRenderer(element: any, type: RendererType2): Renderer2 {\n const rendererByCompId = this.rendererByCompId;\n let renderer = rendererByCompId.get(type.id);\n\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 tracingService = this.tracingService;\n\n switch (type.encapsulation) {\n case ViewEncapsulation.Emulated:\n renderer = new EmulatedEncapsulationDomRenderer2(\n eventManager,\n sharedStylesHost,\n type,\n this.appId,\n removeStylesOnCompDestroy,\n doc,\n ngZone,\n tracingService,\n this.cssVarNamespace,\n );\n break;\n case ViewEncapsulation.ShadowDom:\n return new ShadowDomRenderer(\n eventManager,\n element,\n type,\n doc,\n ngZone,\n this.nonce,\n tracingService,\n this.cssVarNamespace,\n sharedStylesHost,\n );\n case ViewEncapsulation.ExperimentalIsolatedShadowDom:\n return new ShadowDomRenderer(\n eventManager,\n element,\n type,\n doc,\n ngZone,\n this.nonce,\n tracingService,\n this.cssVarNamespace,\n );\n\n default:\n renderer = new NoneEncapsulationDomRenderer(\n eventManager,\n sharedStylesHost,\n type,\n removeStylesOnCompDestroy,\n doc,\n ngZone,\n tracingService,\n this.cssVarNamespace,\n );\n break;\n }\n\n rendererByCompId.set(type.id, renderer);\n }\n\n return renderer;\n }\n\n ngOnDestroy() {\n this.rendererByCompId.clear();\n }\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 protected componentReplaced(componentId: string) {\n this.rendererByCompId.delete(componentId);\n }\n}\n\nclass DefaultDomRenderer2 implements Renderer2 {\n data: {[key: string]: any} = Object.create(null);\n\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\n constructor(\n private readonly eventManager: EventManager,\n private readonly doc: Document,\n protected readonly ngZone: NgZone,\n private readonly tracingService: TracingService<TracingSnapshot> | null,\n private readonly cssVarNamespace: string = '',\n ) {}\n\n destroy(): void {}\n\n destroyNode = null;\n\n createElement(name: string, namespace?: string): any {\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\n return this.doc.createElement(name);\n }\n\n createComment(value: string): any {\n return this.doc.createComment(value);\n }\n\n createText(value: string): any {\n return this.doc.createTextNode(value);\n }\n\n appendChild(parent: any, newChild: any): void {\n const targetParent = isTemplateNode(parent) ? parent.content : parent;\n targetParent.appendChild(newChild);\n }\n\n insertBefore(parent: any, newChild: any, refChild: any): void {\n if (parent) {\n const targetParent = isTemplateNode(parent) ? parent.content : parent;\n // If something outside Angular removed or moved `refChild` (a browser extension, for\n // example), the native call below throws a `NotFoundError` with no useful info. Catch it\n // here so we can say what actually happened.\n if (refChild != null && refChild.parentNode !== targetParent) {\n throw new RuntimeError(\n RuntimeErrorCode.INSERT_BEFORE_NODE_NOT_FOUND,\n ngDevMode &&\n `Angular could not insert a node before ${describeDomNode(refChild)} because it is no longer a child of ${describeDomNode(targetParent)}. ` +\n `This can happen when code outside of Angular's control (for example, a browser extension or a script that directly manipulates the DOM) ` +\n `has moved or removed a node that Angular is still managing.`,\n );\n }\n targetParent.insertBefore(newChild, refChild);\n }\n }\n\n removeChild(_parent: any, oldChild: any): void {\n // child was removed\n oldChild.remove();\n }\n\n selectRootElement(selectorOrNode: string | any, preserveContent?: boolean): any {\n let el: any =\n typeof selectorOrNode === 'string' ? this.doc.querySelector(selectorOrNode) : selectorOrNode;\n if (!el) {\n throw new RuntimeError(\n RuntimeErrorCode.ROOT_NODE_NOT_FOUND,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `The selector \"${selectorOrNode}\" did not match any elements`,\n );\n }\n if (!preserveContent) {\n el.textContent = '';\n }\n return el;\n }\n\n parentNode(node: any): any {\n return node.parentNode;\n }\n\n nextSibling(node: any): any {\n return node.nextSibling;\n }\n\n setAttribute(el: any, name: string, value: string, namespace?: string): void {\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\n removeAttribute(el: any, name: string, namespace?: string): void {\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\n addClass(el: any, name: string): void {\n el.classList.add(name);\n }\n\n removeClass(el: any, name: string): void {\n el.classList.remove(name);\n }\n\n setStyle(el: any, style: string, value: any, flags: RendererStyleFlags2): void {\n const isVariable = style.startsWith('--');\n if (isVariable) {\n style = style.replace('%NS%', this.cssVarNamespace);\n }\n if (isVariable || 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\n removeStyle(el: any, style: string, flags: RendererStyleFlags2): void {\n const isVariable = style.startsWith('--');\n if (isVariable) {\n style = style.replace('%NS%', this.cssVarNamespace);\n }\n if (isVariable || 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\n setProperty(el: any, name: string, value: any): void {\n if (el == null) {\n return;\n }\n\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n this.throwOnSyntheticProps &&\n checkNoSyntheticProp(name, 'property');\n el[name] = value;\n }\n\n setValue(node: any, value: string): void {\n node.nodeValue = value;\n }\n\n listen(\n target: 'window' | 'document' | 'body' | any,\n event: string,\n callback: (event: any) => boolean,\n options?: ListenerOptions,\n ): () => void {\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n this.throwOnSyntheticProps &&\n checkNoSyntheticProp(event, 'listener');\n if (typeof target === 'string') {\n target = getDOM().getGlobalEventTarget(this.doc, target);\n if (!target) {\n throw new RuntimeError(\n RuntimeErrorCode.UNSUPPORTED_EVENT_TARGET,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `Unsupported event target ${target} for event ${event}`,\n );\n }\n }\n\n let wrappedCallback = this.decoratePreventDefault(callback);\n\n if (this.tracingService?.wrapEventListener) {\n wrappedCallback = this.tracingService.wrapEventListener(target, event, wrappedCallback);\n }\n\n return this.eventManager.addEventListener(\n target,\n event,\n wrappedCallback,\n options,\n ) as VoidFunction;\n }\n\n private decoratePreventDefault(eventHandler: Function): Function {\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: any) => {\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\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 =\n typeof ngServerMode !== 'undefined' && ngServerMode\n ? this.ngZone.runGuarded(() => eventHandler(event))\n : eventHandler(event);\n if (allowDefaultBehavior === false) {\n event.preventDefault();\n }\n\n return undefined;\n };\n }\n}\n\nexport function disableThrowOnSyntheticProps(renderer: Renderer2): void {\n if (renderer instanceof DefaultDomRenderer2) {\n renderer.throwOnSyntheticProps = false;\n }\n}\n\nconst AT_CHARCODE = (() => '@'.charCodeAt(0))();\n\nfunction checkNoSyntheticProp(name: string, nameKind: string) {\n if (name.charCodeAt(0) === AT_CHARCODE) {\n throw new RuntimeError(\n RuntimeErrorCode.UNEXPECTED_SYNTHETIC_PROPERTY,\n `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 }\n}\n\nfunction isTemplateNode(node: any): node is HTMLTemplateElement {\n return node.tagName === 'TEMPLATE' && node.content !== undefined;\n}\n\nclass ShadowDomRenderer extends DefaultDomRenderer2 {\n private readonly shadowRoot: ShadowRoot;\n\n constructor(\n eventManager: EventManager,\n private readonly hostEl: Element,\n component: RendererType2,\n doc: Document,\n ngZone: NgZone,\n nonce: string | null,\n tracingService: TracingService<TracingSnapshot> | null,\n cssVarNamespace: string,\n private sharedStylesHost?: SharedStylesHost,\n ) {\n super(eventManager, doc, ngZone, tracingService, cssVarNamespace);\n this.shadowRoot = hostEl.attachShadow({mode: 'open'});\n\n // SharedStylesHost is used to add styles to the shadow root by ShadowDom.\n // This is optional as it is not used by ExperimentalIsolatedShadowDom.\n if (this.sharedStylesHost) {\n this.sharedStylesHost.addHost(this.shadowRoot);\n }\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\n styles = shimStylesContent(component.id, styles).map((s) =>\n s.replace(/%NS%/g, cssVarNamespace),\n );\n\n for (const style of styles) {\n const styleEl = document.createElement('style');\n\n if (nonce) {\n styleEl.setAttribute('nonce', nonce);\n }\n\n styleEl.textContent = style;\n this.shadowRoot.appendChild(styleEl);\n }\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\n private nodeOrShadowRoot(node: any): any {\n return node === this.hostEl ? this.shadowRoot : node;\n }\n\n override appendChild(parent: any, newChild: any): void {\n return super.appendChild(this.nodeOrShadowRoot(parent), newChild);\n }\n\n override insertBefore(parent: any, newChild: any, refChild: any): void {\n return super.insertBefore(this.nodeOrShadowRoot(parent), newChild, refChild);\n }\n\n override removeChild(_parent: any, oldChild: any): void {\n return super.removeChild(null, oldChild);\n }\n\n override parentNode(node: any): any {\n return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(node)));\n }\n\n override destroy() {\n if (this.sharedStylesHost) {\n this.sharedStylesHost.removeHost(this.shadowRoot);\n }\n }\n}\n\nclass NoneEncapsulationDomRenderer extends DefaultDomRenderer2 {\n private readonly styles: string[];\n private readonly styleUrls?: string[];\n\n constructor(\n eventManager: EventManager,\n private readonly sharedStylesHost: SharedStylesHost,\n component: RendererType2,\n private removeStylesOnCompDestroy: boolean,\n doc: Document,\n ngZone: NgZone,\n tracingService: TracingService<TracingSnapshot> | null,\n cssVarNamespace: string,\n compId?: string,\n ) {\n super(eventManager, doc, ngZone, tracingService, cssVarNamespace);\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\n const shimmed = compId ? shimStylesContent(compId, styles) : styles;\n this.styles = shimmed.map((s) => s.replace(/%NS%/g, cssVarNamespace));\n this.styleUrls = component.getExternalStyles?.(compId);\n }\n\n applyStyles(): void {\n this.sharedStylesHost.addStyles(this.styles, this.styleUrls);\n }\n\n override destroy(): void {\n if (!this.removeStylesOnCompDestroy) {\n return;\n }\n if (allLeavingAnimations.size === 0) {\n this.sharedStylesHost.removeStyles(this.styles, this.styleUrls);\n }\n }\n}\n\nclass EmulatedEncapsulationDomRenderer2 extends NoneEncapsulationDomRenderer {\n private contentAttr: string;\n private hostAttr: string;\n\n constructor(\n eventManager: EventManager,\n sharedStylesHost: SharedStylesHost,\n component: RendererType2,\n appId: string,\n removeStylesOnCompDestroy: boolean,\n doc: Document,\n ngZone: NgZone,\n tracingService: TracingService<TracingSnapshot> | null,\n cssVarNamespace: string,\n ) {\n const compId = appId + '-' + component.id;\n super(\n eventManager,\n sharedStylesHost,\n component,\n removeStylesOnCompDestroy,\n doc,\n ngZone,\n tracingService,\n cssVarNamespace,\n compId,\n );\n this.contentAttr = shimContentAttribute(compId);\n this.hostAttr = shimHostAttribute(compId);\n }\n\n applyToHost(element: any): void {\n this.applyStyles();\n this.setAttribute(element, this.hostAttr, '');\n }\n\n override createElement(parent: any, name: string): Element {\n const el = super.createElement(parent, name);\n super.setAttribute(el, this.contentAttr, '');\n return el;\n }\n}\n"],"names":["RuntimeError","i1.EventManager","SHARED_STYLES_HOST","TracingService","describeDomNode","getDOM","allLeavingAnimations"],"mappings":";;;;;;;;;;MAqBsB,kBAAkB,CAAA;EAElB,IAAA;EAApB,WAAA,CAAoB,IAAS,EAAA;IAAT,IAAA,CAAA,IAAI,GAAJ,IAAI;AAAQ,EAAA;EAGhC,OAAO;AAgBR;;AC7BK,MAAO,eAAgB,SAAQ,kBAAkB,CAAA;EACrD,WAAA,CAA8B,GAAQ,EAAA;IACpC,KAAK,CAAC,GAAG,CAAC;AACZ,EAAA;EAIS,QAAQ,CAAC,SAAiB,EAAA;AACjC,IAAA,OAAO,IAAI;AACb,EAAA;EAES,gBAAgB,CACvB,OAAoB,EACpB,SAAiB,EACjB,OAAiB,EACjB,OAAyB,EAAA;IAEzB,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAwB,EAAE,OAAO,CAAC;AACtE,IAAA,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAwB,EAAE,OAAO,CAAC;AAC9F,EAAA;EAEA,mBAAmB,CACjB,MAAW,EACX,SAAiB,EACjB,QAAkB,EAClB,OAAyB,EAAA;IAEzB,OAAO,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAyB,EAAE,OAAO,CAAC;AAClF,EAAA;AA5BW,EAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA;AAAA,IAAA,UAAA,EAAA,QAAA;AAAA,IAAA,OAAA,EAAA,mBAAA;AAAA,IAAA,QAAA,EAAA,EAAA;AAAA,IAAA,IAAA,EAAA,eAAe;;aACN;AAAQ,KAAA,CAAA;AAAA,IAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA;AAAA,GAAA,CAAA;;;;;UADjB;AAAe,GAAA,CAAA;;;;;;QAAf,eAAe;AAAA,EAAA,UAAA,EAAA,CAAA;UAD3B;;;;;YAEc,MAAM;aAAC,QAAQ;;;;;MCgBjB,qBAAqB,GAAG,IAAI,cAAc,CACrD,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,GAAG,qBAAqB,GAAG,EAAE;MAU/D,YAAY,CAAA;EASb,KAAA;EARF,QAAQ;AACR,EAAA,kBAAkB,GAAG,IAAI,GAAG,EAA8B;AAKlE,EAAA,WAAA,CACiC,OAA6B,EACpD,KAAa,EAAA;IAAb,IAAA,CAAA,KAAK,GAAL,KAAK;AAEb,IAAA,OAAO,CAAC,OAAO,CAAE,MAAM,IAAI;MACzB,MAAM,CAAC,OAAO,GAAG,IAAI;AACvB,IAAA,CAAC,CAAC;AAEF,IAAA,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAE,CAAC,IAAK,EAAE,CAAC,YAAY,eAAe,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE;IAG9C,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAE,CAAC,IAAK,CAAC,YAAY,eAAe,CAAC;AACxE,IAAA,IAAI,cAAc,EAAE;AAClB,MAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;AACpC,IAAA;AACF,EAAA;EAYA,gBAAgB,CACd,OAAoB,EACpB,SAAiB,EACjB,OAAiB,EACjB,OAAyB,EAAA;AAEzB,IAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;IAC7C,OAAO,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC;AACtE,EAAA;AAKA,EAAA,OAAO,GAAA;IACL,OAAO,IAAI,CAAC,KAAK;AACnB,EAAA;EAGA,cAAc,CAAC,SAAiB,EAAA;IAC9B,IAAI,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;AACnD,IAAA,IAAI,MAAM,EAAE;AACV,MAAA,OAAO,MAAM;AACf,IAAA;AAEA,IAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ;AAC7B,IAAA,MAAM,GAAG,OAAO,CAAC,IAAI,CAAE,MAAM,IAAK,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM,EAAE;AACX,MAAA,MAAM,IAAIA,aAAY,CAAA,KAAA,EAEpB,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,KAC5C,CAAA,wCAAA,EAA2C,SAAS,EAAE,CACzD;AACH,IAAA;IAEA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;AAC9C,IAAA,OAAO,MAAM;AACf,EAAA;AAvEW,EAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA;AAAA,IAAA,UAAA,EAAA,QAAA;AAAA,IAAA,OAAA,EAAA,mBAAA;AAAA,IAAA,QAAA,EAAA,EAAA;AAAA,IAAA,IAAA,EAAA,YAAY;;aAQb;AAAqB,KAAA,EAAA;MAAA,KAAA,EAAA,EAAA,CAAA;AAAA,KAAA,CAAA;AAAA,IAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA;AAAA,GAAA,CAAA;;;;;UARpB;AAAY,GAAA,CAAA;;;;;;QAAZ,YAAY;AAAA,EAAA,UAAA,EAAA,CAAA;UADxB;;;;;YASI,MAAM;aAAC,qBAAqB;;;;;;;AC5BjC,MAAM,qBAAqB,GAAG,WAAW;AAezC,SAAS,cAAc,CAAC,QAA+B,EAAA;AACrD,EAAA,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;IAC9B,OAAO,CAAC,MAAM,EAAE;AAClB,EAAA;AACF;AAQA,SAAS,kBAAkB,CAAC,KAAa,EAAE,GAAa,EAAA;AACtD,EAAA,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC;EAC/C,YAAY,CAAC,WAAW,GAAG,KAAK;AAEhC,EAAA,OAAO,YAAY;AACrB;AAWA,SAAS,eAAe,CACtB,GAAa,EACb,KAAa,EACb,MAAkD,EAClD,QAAmD,EAAA;AAEnD,EAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,gBAAgB,CACzC,CAAA,MAAA,EAAS,qBAAqB,KAAK,KAAK,CAAA,QAAA,EAAW,qBAAqB,CAAA,EAAA,EAAK,KAAK,IAAI,CACvF;EAED,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;AAEpD,EAAA,KAAK,MAAM,YAAY,IAAI,QAAQ,EAAE;AACnC,IAAA,YAAY,CAAC,eAAe,CAAC,qBAAqB,CAAC;IACnD,IAAI,YAAY,YAAY,eAAe,EAAE;MAG3C,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;AAC5E,QAAA,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC,YAAY;AACxB,OAAA,CAAC;AACJ,IAAA,CAAA,MAAO,IAAI,YAAY,CAAC,WAAW,EAAE;AACnC,MAAA,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE;AAAC,QAAA,KAAK,EAAE,CAAC;QAAE,QAAQ,EAAE,CAAC,YAAY;AAAC,OAAC,CAAC;AAC5E,IAAA;AACF,EAAA;AAEA,EAAA,OAAO,IAAI;AACb;AAQM,SAAU,iBAAiB,CAAC,GAAW,EAAE,GAAa,EAAA;AAC1D,EAAA,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;AAC7C,EAAA,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC;AAC7C,EAAA,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;AAErC,EAAA,OAAO,WAAW;AACpB;MAGa,gBAAgB,CAAA;EAmBU,GAAA;EACF,KAAA;EACe,KAAA;AAhBjC,EAAA,MAAM,GAAG,IAAI,GAAG,EAAwD;AAMxE,EAAA,QAAQ,GAAG,IAAI,GAAG,EAAmD;AAKrE,EAAA,KAAK,GAAG,IAAI,GAAG,EAAQ;EAExC,WAAA,CACqC,GAAa,EACf,KAAa,EACE,KAAqB,EAGhD,UAAA,GAAqB,EAAE,EAAA;IALT,IAAA,CAAA,GAAG,GAAH,GAAG;IACL,IAAA,CAAA,KAAK,GAAL,KAAK;IACU,IAAA,CAAA,KAAK,GAAL,KAAK;AAKrD,IAAA,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;IACrE,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;AACrC,EAAA;AAEA,EAAA,SAAS,CAAC,MAAgB,EAAE,IAAe,EAAA;AACzC,IAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;MAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC;AACvD,IAAA;AAEA,IAAA,IAAI,EAAE,OAAO,CAAE,KAAK,IAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAClF,EAAA;AAMA,EAAA,YAAY,CAAC,MAAgB,EAAE,IAAe,EAAA;AAC5C,IAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;MAC1B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;AACtC,IAAA;AAEA,IAAA,IAAI,EAAE,OAAO,CAAE,KAAK,IAAK,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClE,EAAA;AAEU,EAAA,QAAQ,CAChB,KAAa,EACb,MAAmC,EACnC,OAA4C,EAAA;AAG5C,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AAGhC,IAAA,IAAI,MAAM,EAAE;AACV,MAAA,IAAI,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE;AAGzE,QAAA,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAE,OAAO,IAAK,OAAO,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AACnF,MAAA;MACA,MAAM,CAAC,KAAK,EAAE;AAChB,IAAA,CAAA,MAAO;AAEL,MAAA,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;AAChB,QAAA,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAE,IAAI,IAAK,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AACxF,OAAA,CAAC;AACJ,IAAA;AACF,EAAA;AAEU,EAAA,WAAW,CACnB,KAAa,EACb,MAAmC,EAAA;AAGnC,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AAIhC,IAAA,IAAI,MAAM,EAAE;MACV,MAAM,CAAC,KAAK,EAAE;AACd,MAAA,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE;AACrB,QAAA,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC/B,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AACtB,MAAA;AACF,IAAA;AACF,EAAA;AAEA,EAAA,WAAW,GAAA;AACT,IAAA,KAAK,MAAM,GAAG;AAAC,MAAA;AAAQ,KAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE;MAC/D,cAAc,CAAC,QAAQ,CAAC;AAC1B,IAAA;AACA,IAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;AACpB,EAAA;EAEA,OAAO,CAAC,QAAc,EAAA;IACpB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AAE9B,IAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;IAGxB,KAAK,MAAM,CAAC,KAAK,EAAE;AAAC,MAAA;AAAQ,KAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;AAC7C,MAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/E,IAAA;IACA,KAAK,MAAM,CAAC,GAAG,EAAE;AAAC,MAAA;AAAQ,KAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC7C,MAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,IAAA;AACF,EAAA;EAEA,UAAU,CAAC,QAAc,EAAA;AACvB,IAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;IAE3B,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE;MACzE,MAAM,SAAS,GAA8C,EAAE;AAC/D,MAAA,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE;AACrC,QAAA,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE;UACnC,OAAO,CAAC,MAAM,EAAE;AAClB,QAAA,CAAA,MAAO;AACL,UAAA,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;AACzB,QAAA;AACF,MAAA;MACA,MAAM,CAAC,QAAQ,GAAG,SAAS;AAC7B,IAAA;AACF,EAAA;AAEQ,EAAA,UAAU,CAAwB,IAAU,EAAE,OAAU,EAAA;IAE9D,IAAI,IAAI,CAAC,KAAK,EAAE;MACd,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;AAC3C,IAAA;AAGA,IAAA,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,YAAY,EAAE;MACvD,OAAO,CAAC,YAAY,CAAC,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC;AACzD,IAAA;AAGA,IAAA,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AAClC,EAAA;AA/IW,EAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA;AAAA,IAAA,UAAA,EAAA,QAAA;AAAA,IAAA,OAAA,EAAA,mBAAA;AAAA,IAAA,QAAA,EAAA,EAAA;AAAA,IAAA,IAAA,EAAA,gBAAgB;;aAmBjB;AAAQ,KAAA,EAAA;AAAA,MAAA,KAAA,EACR;AAAM,KAAA,EAAA;AAAA,MAAA,KAAA,EACN,SAAS;;;aAGT;AAAW,KAAA,CAAA;AAAA,IAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA;AAAA,GAAA,CAAA;;;;;UAxBV;AAAgB,GAAA,CAAA;;;;;;QAAhB,gBAAgB;AAAA,EAAA,UAAA,EAAA,CAAA;UAD5B;;;;;YAoBI,MAAM;aAAC,QAAQ;;;;;YACf,MAAM;aAAC,MAAM;;;;;YACb,MAAM;aAAC,SAAS;;YAAG;;;;;YAGnB,MAAM;aAAC,WAAW;;;;;AC7FhB,MAAM,cAAc,GAA2B;AACpD,EAAA,KAAK,EAAE,4BAA4B;AACnC,EAAA,OAAO,EAAE,8BAA8B;AACvC,EAAA,OAAO,EAAE,8BAA8B;AACvC,EAAA,KAAK,EAAE,sCAAsC;AAC7C,EAAA,OAAO,EAAE,+BAA+B;AACxC,EAAA,MAAM,EAAE;CACT;AAED,MAAM,eAAe,GAAG,SAAS;AACjC,MAAM,oBAAoB,GAAG,2CAA2C;AACxE,MAAM,eAAe,GAAG,UAAU;AAE3B,MAAM,kBAAkB,GAAG,QAAQ;AACnC,MAAM,SAAS,GAAG,CAAA,QAAA,EAAW,kBAAkB,CAAA,CAAE;AACjD,MAAM,YAAY,GAAG,CAAA,WAAA,EAAc,kBAAkB,CAAA,CAAE;AAK9D,MAAM,0CAA0C,GAAG,IAAI;MAS1C,kCAAkC,GAAG,IAAI,cAAc,CAClE,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,GAAG,2BAA2B,GAAG,EAAE,EAChF;AACE,EAAA,OAAO,EAAE,MAAM;AAChB,CAAA;MASU,iBAAiB,GAAG,IAAI,cAAc,CACjD,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,GAAG,mBAAmB,GAAG,EAAE;AAWpE,SAAU,wBAAwB,CAAC,SAAkB,EAAA;EACzD,OAAO,wBAAwB,CAAC,CAC9B;AACE,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,UAAU,EAAG,KAAa,IAAK,GAAG,SAAS,IAAI,KAAK,CAAA,CAAA,CAAG;IACvD,IAAI,EAAE,CAAC,MAAM;AACd,GAAA,CACF,CAAC;AACJ;AAEM,SAAU,oBAAoB,CAAC,gBAAwB,EAAA;AAC3D,EAAA,OAAO,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,gBAAgB,CAAC;AAChE;AAEM,SAAU,iBAAiB,CAAC,gBAAwB,EAAA;AACxD,EAAA,OAAO,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,gBAAgB,CAAC;AAC7D;AAEM,SAAU,iBAAiB,CAAC,MAAc,EAAE,MAAgB,EAAA;AAChE,EAAA,OAAO,MAAM,CAAC,GAAG,CAAE,CAAC,IAAK,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAC9D;AAoBM,SAAU,yBAAyB,CAAC,QAAgB,EAAE,MAAgB,EAAA;EAC1E,IAAI,CAAC,QAAQ,EAAE;AACb,IAAA,OAAO,MAAM;AACf,EAAA;EAEA,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC;AAEjE,EAAA,OAAO,MAAM,CAAC,GAAG,CAAE,UAAU,IAAI;AAC/B,IAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AAC7C,MAAA,OAAO,UAAU;AACnB,IAAA;IAEA,OAAO,UAAU,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,YAAY,KAAI;MAClE,IACE,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,IACvB,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,IAChC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,EAClC;QACA,OAAO,CAAA,qBAAA,EAAwB,YAAY,CAAA,GAAA,CAAK;AAClD,MAAA;MAEA,MAAM;AAAC,QAAA,QAAQ,EAAE;AAAoB,OAAC,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,mBAAmB,CAAC;MAEnF,OAAO,CAAA,qBAAA,EAAwB,oBAAoB,CAAA,GAAA,CAAK;AAC1D,IAAA,CAAC,CAAC;AACJ,EAAA,CAAC,CAAC;AACJ;MAGa,mBAAmB,CAAA;EASX,YAAA;EAC4B,gBAAA;EACZ,KAAA;EACmB,yBAAA;EACjB,GAAA;EAC1B,MAAA;EAC2B,KAAA;EAGnB,cAAA;AAjBF,EAAA,gBAAgB,GAAG,IAAI,GAAG,EAGxC;EACc,eAAe;EACf,eAAe;EAEhC,WAAA,CACmB,YAA0B,EACE,gBAAkC,EAC9C,KAAa,EACM,yBAAkC,EACnD,GAAa,EACvC,MAAc,EACa,QAAuB,IAAI,EAG9C,iBAAyD,IAAI,EACvC,kBAAiC,IAAI,EAAA;IAV3D,IAAA,CAAA,YAAY,GAAZ,YAAY;IACgB,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;IAC5B,IAAA,CAAA,KAAK,GAAL,KAAK;IACc,IAAA,CAAA,yBAAyB,GAAzB,yBAAyB;IAC1C,IAAA,CAAA,GAAG,GAAH,GAAG;IAC7B,IAAA,CAAA,MAAM,GAAN,MAAM;IACqB,IAAA,CAAA,KAAK,GAAL,KAAK;IAGxB,IAAA,CAAA,cAAc,GAAd,cAAc;AAG/B,IAAA,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,EAAE;AAC5C,IAAA,IAAI,CAAC,eAAe,GAAG,IAAI,mBAAmB,CAC5C,YAAY,EACZ,GAAG,EACH,MAAM,EACN,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,CACrB;AACH,EAAA;AAEA,EAAA,cAAc,CAAC,OAAY,EAAE,IAA0B,EAAA;AACrD,IAAA,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE;MACrB,OAAO,IAAI,CAAC,eAAe;AAC7B,IAAA;IAEA,IACE,OAAO,YAAY,KAAK,WAAW,IACnC,YAAY,KACX,IAAI,CAAC,aAAa,KAAK,iBAAiB,CAAC,SAAS,IACjD,IAAI,CAAC,aAAa,KAAK,iBAAiB,CAAC,6BAA6B,CAAC,EACzE;AAEA,MAAA,IAAI,GAAG;AAAC,QAAA,GAAG,IAAI;QAAE,aAAa,EAAE,iBAAiB,CAAC;OAAS;AAC7D,IAAA;IAEA,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC;IAGxD,IAAI,QAAQ,YAAY,iCAAiC,EAAE;AACzD,MAAA,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC;AAC/B,IAAA,CAAA,MAAO,IAAI,QAAQ,YAAY,4BAA4B,EAAE;MAC3D,QAAQ,CAAC,WAAW,EAAE;AACxB,IAAA;AAEA,IAAA,OAAO,QAAQ;AACjB,EAAA;AAEQ,EAAA,mBAAmB,CAAC,OAAY,EAAE,IAAmB,EAAA;AAC3D,IAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB;IAC9C,IAAI,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAE5C,IAAI,CAAC,QAAQ,EAAE;AACb,MAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG;AACpB,MAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;AAC1B,MAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY;AACtC,MAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB;AAC9C,MAAA,MAAM,yBAAyB,GAAG,IAAI,CAAC,yBAAyB;AAChE,MAAA,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc;MAE1C,QAAQ,IAAI,CAAC,aAAa;QACxB,KAAK,iBAAiB,CAAC,QAAQ;UAC7B,QAAQ,GAAG,IAAI,iCAAiC,CAC9C,YAAY,EACZ,gBAAgB,EAChB,IAAI,EACJ,IAAI,CAAC,KAAK,EACV,yBAAyB,EACzB,GAAG,EACH,MAAM,EACN,cAAc,EACd,IAAI,CAAC,eAAe,CACrB;AACD,UAAA;QACF,KAAK,iBAAiB,CAAC,SAAS;UAC9B,OAAO,IAAI,iBAAiB,CAC1B,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,GAAG,EACH,MAAM,EACN,IAAI,CAAC,KAAK,EACV,cAAc,EACd,IAAI,CAAC,eAAe,EACpB,gBAAgB,CACjB;QACH,KAAK,iBAAiB,CAAC,6BAA6B;UAClD,OAAO,IAAI,iBAAiB,CAC1B,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,GAAG,EACH,MAAM,EACN,IAAI,CAAC,KAAK,EACV,cAAc,EACd,IAAI,CAAC,eAAe,CACrB;AAEH,QAAA;UACE,QAAQ,GAAG,IAAI,4BAA4B,CACzC,YAAY,EACZ,gBAAgB,EAChB,IAAI,EACJ,yBAAyB,EACzB,GAAG,EACH,MAAM,EACN,cAAc,EACd,IAAI,CAAC,eAAe,CACrB;AACD,UAAA;AACJ;MAEA,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC;AACzC,IAAA;AAEA,IAAA,OAAO,QAAQ;AACjB,EAAA;AAEA,EAAA,WAAW,GAAA;AACT,IAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;AAC/B,EAAA;EAMU,iBAAiB,CAAC,WAAmB,EAAA;AAC7C,IAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC;AAC3C,EAAA;AA1IW,EAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA;AAAA,IAAA,UAAA,EAAA,QAAA;AAAA,IAAA,OAAA,EAAA,mBAAA;AAAA,IAAA,QAAA,EAAA,EAAA;AAAA,IAAA,IAAA,EAAA,mBAAmB;AAAA,IAAA,IAAA,EAAA,CAAA;MAAA,KAAA,EAAAC;AAAA,KAAA,EAAA;AAAA,MAAA,KAAA,EAUpBC;AAAkB,KAAA,EAAA;AAAA,MAAA,KAAA,EAClB;AAAM,KAAA,EAAA;AAAA,MAAA,KAAA,EACN;AAAkC,KAAA,EAAA;AAAA,MAAA,KAAA,EAClC;AAAQ,KAAA,EAAA;MAAA,KAAA,EAAA,EAAA,CAAA;AAAA,KAAA,EAAA;AAAA,MAAA,KAAA,EAER;AAAS,KAAA,EAAA;AAAA,MAAA,KAAA,EACTC,eAAc;;;aAGd,iBAAiB;AAAA,MAAA,QAAA,EAAA;AAAA,KAAA,CAAA;AAAA,IAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA;AAAA,GAAA,CAAA;;;;;UAnBhB;AAAmB,GAAA,CAAA;;;;;;QAAnB,mBAAmB;AAAA,EAAA,UAAA,EAAA,CAAA;UAD/B;;;;;;;YAWI,MAAM;aAACD,mBAAkB;;;;;YACzB,MAAM;aAAC,MAAM;;;;;YACb,MAAM;aAAC,kCAAkC;;;;;YACzC,MAAM;aAAC,QAAQ;;;;;;;YAEf,MAAM;aAAC,SAAS;;;;;YAChB,MAAM;aAACC,eAAc;;YACrB;;;;;YAEA,MAAM;aAAC,iBAAiB;;YAAG;;;;AA0HhC,MAAM,mBAAmB,CAAA;EAUJ,YAAA;EACA,GAAA;EACE,MAAA;EACF,cAAA;EACA,eAAA;AAbnB,EAAA,IAAI,GAAyB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAMhD,EAAA,qBAAqB,GAAG,IAAI;AAE5B,EAAA,WAAA,CACmB,YAA0B,EAC1B,GAAa,EACX,MAAc,EAChB,cAAsD,EACtD,eAAA,GAA0B,EAAE,EAAA;IAJ5B,IAAA,CAAA,YAAY,GAAZ,YAAY;IACZ,IAAA,CAAA,GAAG,GAAH,GAAG;IACD,IAAA,CAAA,MAAM,GAAN,MAAM;IACR,IAAA,CAAA,cAAc,GAAd,cAAc;IACd,IAAA,CAAA,eAAe,GAAf,eAAe;AAC/B,EAAA;AAEH,EAAA,OAAO,IAAU;AAEjB,EAAA,WAAW,GAAG,IAAI;AAElB,EAAA,aAAa,CAAC,IAAY,EAAE,SAAkB,EAAA;AAC5C,IAAA,IAAI,SAAS,EAAE;AAUb,MAAA,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,IAAI,CAAC;AAC/E,IAAA;AAEA,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC;AACrC,EAAA;EAEA,aAAa,CAAC,KAAa,EAAA;AACzB,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;AACtC,EAAA;EAEA,UAAU,CAAC,KAAa,EAAA;AACtB,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC;AACvC,EAAA;AAEA,EAAA,WAAW,CAAC,MAAW,EAAE,QAAa,EAAA;IACpC,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM;AACrE,IAAA,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC;AACpC,EAAA;AAEA,EAAA,YAAY,CAAC,MAAW,EAAE,QAAa,EAAE,QAAa,EAAA;AACpD,IAAA,IAAI,MAAM,EAAE;MACV,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM;MAIrE,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,UAAU,KAAK,YAAY,EAAE;QAC5D,MAAM,IAAIH,aAAY,CAAA,KAAA,EAEpB,SAAS,IACP,CAAA,uCAAA,EAA0CI,gBAAe,CAAC,QAAQ,CAAC,CAAA,oCAAA,EAAuCA,gBAAe,CAAC,YAAY,CAAC,IAAI,GACzI,CAAA,wIAAA,CAA0I,GAC1I,CAAA,2DAAA,CAA6D,CAClE;AACH,MAAA;AACA,MAAA,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAC/C,IAAA;AACF,EAAA;AAEA,EAAA,WAAW,CAAC,OAAY,EAAE,QAAa,EAAA;IAErC,QAAQ,CAAC,MAAM,EAAE;AACnB,EAAA;AAEA,EAAA,iBAAiB,CAAC,cAA4B,EAAE,eAAyB,EAAA;AACvE,IAAA,IAAI,EAAE,GACJ,OAAO,cAAc,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,cAAc;IAC9F,IAAI,CAAC,EAAE,EAAE;AACP,MAAA,MAAM,IAAIJ,aAAY,CAAA,KAAA,EAEpB,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,KAC5C,CAAA,cAAA,EAAiB,cAAc,8BAA8B,CAChE;AACH,IAAA;IACA,IAAI,CAAC,eAAe,EAAE;MACpB,EAAE,CAAC,WAAW,GAAG,EAAE;AACrB,IAAA;AACA,IAAA,OAAO,EAAE;AACX,EAAA;EAEA,UAAU,CAAC,IAAS,EAAA;IAClB,OAAO,IAAI,CAAC,UAAU;AACxB,EAAA;EAEA,WAAW,CAAC,IAAS,EAAA;IACnB,OAAO,IAAI,CAAC,WAAW;AACzB,EAAA;EAEA,YAAY,CAAC,EAAO,EAAE,IAAY,EAAE,KAAa,EAAE,SAAkB,EAAA;AACnE,IAAA,IAAI,SAAS,EAAE;AACb,MAAA,IAAI,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI;AAC7B,MAAA,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC;AAC9C,MAAA,IAAI,YAAY,EAAE;QAChB,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC;AAC9C,MAAA,CAAA,MAAO;AACL,QAAA,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;AAC9B,MAAA;AACF,IAAA,CAAA,MAAO;AACL,MAAA,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;AAC9B,IAAA;AACF,EAAA;AAEA,EAAA,eAAe,CAAC,EAAO,EAAE,IAAY,EAAE,SAAkB,EAAA;AACvD,IAAA,IAAI,SAAS,EAAE;AACb,MAAA,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC;AAC9C,MAAA,IAAI,YAAY,EAAE;AAChB,QAAA,EAAE,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC;AAC1C,MAAA,CAAA,MAAO;QACL,EAAE,CAAC,eAAe,CAAC,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,IAAI,EAAE,CAAC;AAC5C,MAAA;AACF,IAAA,CAAA,MAAO;AACL,MAAA,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;AAC1B,IAAA;AACF,EAAA;AAEA,EAAA,QAAQ,CAAC,EAAO,EAAE,IAAY,EAAA;AAC5B,IAAA,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;AACxB,EAAA;AAEA,EAAA,WAAW,CAAC,EAAO,EAAE,IAAY,EAAA;AAC/B,IAAA,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;AAC3B,EAAA;EAEA,QAAQ,CAAC,EAAO,EAAE,KAAa,EAAE,KAAU,EAAE,KAA0B,EAAA;AACrE,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;AACzC,IAAA,IAAI,UAAU,EAAE;MACd,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC;AACrD,IAAA;AACA,IAAA,IAAI,UAAU,IAAI,KAAK,IAAI,mBAAmB,CAAC,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,EAAE;AACxF,MAAA,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,mBAAmB,CAAC,SAAS,GAAG,WAAW,GAAG,EAAE,CAAC;AAC9F,IAAA,CAAA,MAAO;AACL,MAAA,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK;AACzB,IAAA;AACF,EAAA;AAEA,EAAA,WAAW,CAAC,EAAO,EAAE,KAAa,EAAE,KAA0B,EAAA;AAC5D,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;AACzC,IAAA,IAAI,UAAU,EAAE;MACd,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC;AACrD,IAAA;AACA,IAAA,IAAI,UAAU,IAAI,KAAK,GAAG,mBAAmB,CAAC,QAAQ,EAAE;AAEtD,MAAA,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;AAChC,IAAA,CAAA,MAAO;AACL,MAAA,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;AACtB,IAAA;AACF,EAAA;AAEA,EAAA,WAAW,CAAC,EAAO,EAAE,IAAY,EAAE,KAAU,EAAA;IAC3C,IAAI,EAAE,IAAI,IAAI,EAAE;AACd,MAAA;AACF,IAAA;AAEA,IAAA,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,KAC5C,IAAI,CAAC,qBAAqB,IAC1B,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC;AACxC,IAAA,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK;AAClB,EAAA;AAEA,EAAA,QAAQ,CAAC,IAAS,EAAE,KAAa,EAAA;IAC/B,IAAI,CAAC,SAAS,GAAG,KAAK;AACxB,EAAA;EAEA,MAAM,CACJ,MAA4C,EAC5C,KAAa,EACb,QAAiC,EACjC,OAAyB,EAAA;AAEzB,IAAA,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,KAC5C,IAAI,CAAC,qBAAqB,IAC1B,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC;AACzC,IAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AAC9B,MAAA,MAAM,GAAGK,OAAM,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;MACxD,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,MAAM,IAAIL,aAAY,CAAA,KAAA,EAEpB,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,KAC5C,CAAA,yBAAA,EAA4B,MAAM,CAAA,WAAA,EAAc,KAAK,EAAE,CAC1D;AACH,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;AAE3D,IAAA,IAAI,IAAI,CAAC,cAAc,EAAE,iBAAiB,EAAE;AAC1C,MAAA,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC;AACzF,IAAA;AAEA,IAAA,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CACvC,MAAM,EACN,KAAK,EACL,eAAe,EACf,OAAO,CACQ;AACnB,EAAA;EAEQ,sBAAsB,CAAC,YAAsB,EAAA;AAKnD,IAAA,OAAQ,KAAU,IAAI;MAMpB,IAAI,KAAK,KAAK,cAAc,EAAE;AAC5B,QAAA,OAAO,YAAY;AACrB,MAAA;MAIA,MAAM,oBAAoB,GACxB,OAAO,YAAY,KAAK,WAAW,IAAI,YAAA,GACnC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA,GAChD,YAAY,CAAC,KAAK,CAAC;MACzB,IAAI,oBAAoB,KAAK,KAAK,EAAE;QAClC,KAAK,CAAC,cAAc,EAAE;AACxB,MAAA;AAEA,MAAA,OAAO,SAAS;IAClB,CAAC;AACH,EAAA;AACD;AAEK,SAAU,4BAA4B,CAAC,QAAmB,EAAA;EAC9D,IAAI,QAAQ,YAAY,mBAAmB,EAAE;IAC3C,QAAQ,CAAC,qBAAqB,GAAG,KAAK;AACxC,EAAA;AACF;AAEA,MAAM,WAAW,GAAG,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG;AAE/C,SAAS,oBAAoB,CAAC,IAAY,EAAE,QAAgB,EAAA;EAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;IACtC,MAAM,IAAIA,aAAY,CAAA,IAAA,EAEpB,CAAA,qBAAA,EAAwB,QAAQ,IAAI,IAAI,CAAA;;+DAEiB,IAAI,iIAAiI,CAC/L;AACH,EAAA;AACF;AAEA,SAAS,cAAc,CAAC,IAAS,EAAA;EAC/B,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;AAClE;AAEA,MAAM,iBAAkB,SAAQ,mBAAmB,CAAA;EAK9B,MAAA;EAOT,gBAAA;EAXO,UAAU;AAE3B,EAAA,WAAA,CACE,YAA0B,EACT,MAAe,EAChC,SAAwB,EACxB,GAAa,EACb,MAAc,EACd,KAAoB,EACpB,cAAsD,EACtD,eAAuB,EACf,gBAAmC,EAAA;IAE3C,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,CAAC;IAThD,IAAA,CAAA,MAAM,GAAN,MAAM;IAOf,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;AAGxB,IAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC;AAAC,MAAA,IAAI,EAAE;AAAM,KAAC,CAAC;IAIrD,IAAI,IAAI,CAAC,gBAAgB,EAAE;MACzB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,IAAA;AACA,IAAA,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM;AAC7B,IAAA,IAAI,SAAS,EAAE;MAEb,MAAM,QAAQ,GAAGK,OAAM,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE;AAChD,MAAA,MAAM,GAAG,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC;AACtD,IAAA;IAEA,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CAAE,CAAC,IACrD,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CACpC;AAED,IAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,MAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAE/C,MAAA,IAAI,KAAK,EAAE;AACT,QAAA,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;AACtC,MAAA;MAEA,OAAO,CAAC,WAAW,GAAG,KAAK;AAC3B,MAAA,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC;AACtC,IAAA;AAQA,IAAA,MAAM,SAAS,GAAG,SAAS,CAAC,iBAAiB,IAAI;AACjD,IAAA,IAAI,SAAS,EAAE;AACb,MAAA,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;AAChC,QAAA,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC;AAC/C,QAAA,IAAI,KAAK,EAAE;AACT,UAAA,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;AACrC,QAAA;AACA,QAAA,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC;AACrC,MAAA;AACF,IAAA;AACF,EAAA;EAEQ,gBAAgB,CAAC,IAAS,EAAA;IAChC,OAAO,IAAI,KAAK,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI;AACtD,EAAA;AAES,EAAA,WAAW,CAAC,MAAW,EAAE,QAAa,EAAA;AAC7C,IAAA,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;AACnE,EAAA;AAES,EAAA,YAAY,CAAC,MAAW,EAAE,QAAa,EAAE,QAAa,EAAA;AAC7D,IAAA,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC;AAC9E,EAAA;AAES,EAAA,WAAW,CAAC,OAAY,EAAE,QAAa,EAAA;AAC9C,IAAA,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC1C,EAAA;EAES,UAAU,CAAC,IAAS,EAAA;AAC3B,IAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7E,EAAA;AAES,EAAA,OAAO,GAAA;IACd,IAAI,IAAI,CAAC,gBAAgB,EAAE;MACzB,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACnD,IAAA;AACF,EAAA;AACD;AAED,MAAM,4BAA6B,SAAQ,mBAAmB,CAAA;EAMzC,gBAAA;EAET,yBAAA;EAPO,MAAM;EACN,SAAS;AAE1B,EAAA,WAAA,CACE,YAA0B,EACT,gBAAkC,EACnD,SAAwB,EAChB,yBAAkC,EAC1C,GAAa,EACb,MAAc,EACd,cAAsD,EACtD,eAAuB,EACvB,MAAe,EAAA;IAEf,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,CAAC;IAThD,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;IAEzB,IAAA,CAAA,yBAAyB,GAAzB,yBAAyB;AAQjC,IAAA,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM;AAC7B,IAAA,IAAI,SAAS,EAAE;MAEb,MAAM,QAAQ,GAAGA,OAAM,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE;AAChD,MAAA,MAAM,GAAG,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC;AACtD,IAAA;IAEA,MAAM,OAAO,GAAG,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;AACnE,IAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAE,CAAC,IAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACrE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,iBAAiB,GAAG,MAAM,CAAC;AACxD,EAAA;AAEA,EAAA,WAAW,GAAA;AACT,IAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;AAC9D,EAAA;AAES,EAAA,OAAO,GAAA;AACd,IAAA,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;AACnC,MAAA;AACF,IAAA;AACA,IAAA,IAAIC,qBAAoB,CAAC,IAAI,KAAK,CAAC,EAAE;AACnC,MAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;AACjE,IAAA;AACF,EAAA;AACD;AAED,MAAM,iCAAkC,SAAQ,4BAA4B,CAAA;EAClE,WAAW;EACX,QAAQ;AAEhB,EAAA,WAAA,CACE,YAA0B,EAC1B,gBAAkC,EAClC,SAAwB,EACxB,KAAa,EACb,yBAAkC,EAClC,GAAa,EACb,MAAc,EACd,cAAsD,EACtD,eAAuB,EAAA;IAEvB,MAAM,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,SAAS,CAAC,EAAE;AACzC,IAAA,KAAK,CACH,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,yBAAyB,EACzB,GAAG,EACH,MAAM,EACN,cAAc,EACd,eAAe,EACf,MAAM,CACP;AACD,IAAA,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC;AAC/C,IAAA,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC;AAC3C,EAAA;EAEA,WAAW,CAAC,OAAY,EAAA;IACtB,IAAI,CAAC,WAAW,EAAE;IAClB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC/C,EAAA;AAES,EAAA,aAAa,CAAC,MAAW,EAAE,IAAY,EAAA;IAC9C,MAAM,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;IAC5C,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;AAC5C,IAAA,OAAO,EAAE;AACX,EAAA;AACD;;"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v22.2.0
2
+ * @license Angular v22.2.2
3
3
  * (c) 2010-2026 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -7,7 +7,7 @@
7
7
  import { DOCUMENT } from '@angular/common';
8
8
  import * as i0 from '@angular/core';
9
9
  import { InjectionToken, inject, Injector, ɵRuntimeError as _RuntimeError, ɵChangeDetectionScheduler as _ChangeDetectionScheduler, Injectable, ɵperformanceMarkFeature as _performanceMarkFeature, makeEnvironmentProviders, RendererFactory2, ANIMATION_MODULE_TYPE, NgZone } from '@angular/core';
10
- import { DomRendererFactory2 } from './_dom_renderer-chunk.mjs';
10
+ import { disableThrowOnSyntheticProps, DomRendererFactory2 } from './_dom_renderer-chunk.mjs';
11
11
 
12
12
  const ANIMATION_PREFIX = '@';
13
13
  class AsyncAnimationRendererFactory {
@@ -58,9 +58,7 @@ class AsyncAnimationRendererFactory {
58
58
  if (renderer.ɵtype === 0) {
59
59
  return renderer;
60
60
  }
61
- if (typeof renderer.throwOnSyntheticProps === 'boolean') {
62
- renderer.throwOnSyntheticProps = false;
63
- }
61
+ disableThrowOnSyntheticProps(renderer);
64
62
  const dynamicRenderer = new DynamicDelegationRenderer(renderer);
65
63
  if (rendererType?.data?.['animation'] && !this._rendererFactoryPromise) {
66
64
  this._rendererFactoryPromise = this.loadImpl();
@@ -92,7 +90,7 @@ class AsyncAnimationRendererFactory {
92
90
  }
93
91
  static ɵfac = i0.ɵɵngDeclareFactory({
94
92
  minVersion: "12.0.0",
95
- version: "22.2.0",
93
+ version: "22.2.2",
96
94
  ngImport: i0,
97
95
  type: AsyncAnimationRendererFactory,
98
96
  deps: "invalid",
@@ -100,14 +98,14 @@ class AsyncAnimationRendererFactory {
100
98
  });
101
99
  static ɵprov = i0.ɵɵngDeclareInjectable({
102
100
  minVersion: "12.0.0",
103
- version: "22.2.0",
101
+ version: "22.2.2",
104
102
  ngImport: i0,
105
103
  type: AsyncAnimationRendererFactory
106
104
  });
107
105
  }
108
106
  i0.ɵɵngDeclareClassMetadata({
109
107
  minVersion: "12.0.0",
110
- version: "22.2.0",
108
+ version: "22.2.2",
111
109
  ngImport: i0,
112
110
  type: AsyncAnimationRendererFactory,
113
111
  decorators: [{